20165214 实验三 敏捷开发与XP实践
一、实验报告封面
课程:Java程序设计 班级:1652班 姓名:朱文远 学号:20165214
指导教师:娄嘉鹏 实验日期:2018年4月28日
实验时间:15:35 - 17:15 实验序号:三
实验名称: 敏捷开发与XP实践
实验要求:
1、完成实验、撰写实验报告,注意实验报告重点是运行结果,遇到的问题以及分析。
2、实验报告中统计自己的PSP(Personal Software Process)时间;
3、掌握使用IDEA完成基础编程与程序调试的能力。
二、实验内容:
- XP基础
- XP核心实践
- 相关工具
三、实验步骤
(一)代码格式化
1、在IDEA中新建一个项目“Exp3”,在该项目下创建“CodeStandard”类,输入用来测试用的代码(格式未调):

2、在IDEA中安装alibaba 插件,安装后右键点击类名,再点击“编码规约扫描”

3、发现代码中不规范的地方:

4、点击Code目录下的Reformate Code,格式化代码:

5、我觉得Code目录下最好用的是Override Methods

里面提供了Java.lang包中的一些类的方法重写,在我们进行方法重写时很方便。
(二)邀请搭档加入码云项目,对搭档的代码进行Junit测试。
1、在我的码云中创建“teamwork”项目,邀请自己的搭档成为“开发者”。
2、引入搭档在实验二中的Complex代码,加入多个Junit测试用例并编译:

出现“绿条”,通过测试。
3、在命令行中使用git语句将代码传到我和搭档新建的共同项目,然后输入git log并截图:

4、我们的码云链接
(三)重构的练习
1、下载一个搭档的代码。我选择的代码:

- 2、代码中存在的问题与分析
- 问题一:类名LYK不能体现程序的功能,本程序是计算组合数,我觉得应当改成Combination;
- 问题二:递归函数名也不能体现出相应的功能,可以改成Caculate;
- 问题三:缺乏对输入是不合法字符情况的处理。
3、根据以上问题,我对代码进行了如下重构:

4、对修改的代码进行Junit测试:

出现“绿条”,结果正确。
(四)Java密码学算法的学习
1、仔细阅读娄老师的博客Java密码学算法
2、编写一个实现MD5加密的程序并且运行,输入abc,得到如下结果

3、阅读并运行娄老师的DES算法程序并且运行,得到如下结果

4、阅读并运行娄老师的RSA算法程序并且运行,得到如下结果

5、码云链接
6、PSP时间
| 步骤 | 耗时 | 百分比 |
|---|---|---|
| 需求分析 | 5min | 7.7% |
| 设计 | 20min | 30.8% |
| 代码实现 | 30min | 46.2% |
| 测试 | 10min | 15.4% |
| 分析总结 | 10min | 15.4% |
四、遇到的问题与解决
- 问题1:在实验的步骤(三)中,我下载的搭档的代码是需要在命令行输入的,但是运行IDEA时它就直接运行完了,没有让我输入命令行参数。
问题1解决:发现了一个解决办法,在IDEA中的run目录下方有一个Edit Configurations

里面的Program arguments那一栏就可以定义命令行的参数了~

- 问题2:在写密码学的算法的过程中,我想使用Console类的对象来使得输入的密码不显示出来,但是不知道为什么,同样的代码,在IDEA中不能运行出来,到了输入密码这一行就报错,而Linux中就可以运行。
问题2解决:现在还没有找到原因。
五、心得体会
这次实验相比上一次实验较为简单一些,不过学到的也是很多的,特别是了解了Java里面强大的关于密码的功能。这与我们的专业紧密地连接到了一起。出于兴趣,我又找到了一篇写关于Java里面关于加盐哈希函数的使用及其扩展(点击这里),看了之后感觉很涨知识,所以分享一下~
之前觉得Java好像与我们的专业没什么关系,经过这次实验后我改变了想法。我发现,Java可以很容易地实现很多密码算法,十分方便。今后可以多学学这块的内容,向我们的专业靠拢~
20165214 实验三 敏捷开发与XP实践的更多相关文章
- 20145213《Java程序设计》实验三敏捷开发与XP实践
20145213<Java程序设计>实验三敏捷开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 1.敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法 ...
- 20145308刘昊阳 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
20145308刘昊阳 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 统计的PSP(Personal ...
- JAVA课程实验报告 实验三 敏捷开发与XP实践
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- 20145225《Java程序设计》 实验三 "敏捷开发与XP实践"
20145225<Java程序设计> 实验三 "敏捷开发与XP实践" 实验报告 实验内容 使用 git 上传代码 使用 git 相互更改代码 实现代码的重载 git 上 ...
- 20145215实验三 敏捷开发与XP实践
20145215实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软 ...
- 20145325张梓靖 实验三 "敏捷开发与XP实践"
20145325张梓靖 实验三 "敏捷开发与XP实践" 程序设计过程 实验内容 使用 git 上传代码 git上传中遇到的问题 使用 git 相互更改代码 实现代码的重构 git ...
- 20162311 实验三 敏捷开发与XP实践 实验报告
20162311 实验三 敏捷开发与XP实践 实验报告 实验内容 一.研究学习IDEA中的Code菜单 使用Code ->Reformate Code功能将以下代码格式化 public clas ...
- 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告
2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...
- 20175314 实验三 敏捷开发与XP实践
20175314 实验二 Java面向对象程序设计 一.实验内容 XP基础 XP核心实践 相关工具 二.实验步骤 (一)代码格式化 创建"175314.exp3"项目,在该项目下创 ...
随机推荐
- Spring Batch 体系结构
Spring Batch 设计的时候充分考虑了可扩展性和各类终端用户. 下图显示了 Spring Batch 的架构层次示意图,这种架构层次为终端用户开发者提供了很好的扩展性与易用性. 上图显示的是 ...
- 架构探险笔记11-与Servlet API解耦
Servlet API解耦 为什么需要与Servlet API解耦 目前在Controller中是无法调用Servlet API的,因为无法获取Request与Response这类对象,我们必须在Di ...
- python记录_day05 字典
字典 字典由花括号表示{ },元素是key:value的键值对,元素之间用逗号隔开 特点:1.字典中key是不能重复的 且是不可变的数据类型,因为字典是使用hash算法来计算key的哈希值,然后用哈希 ...
- python模块安装报错大全
报错 环境 解决 手动安装pip install mysqlclient 报错: _mysql.c(29) : fatal error C1083: Cannot open include file: ...
- javaee登录界面
首先在此之前我们应该正确安装数据库,以及eclipse(javaee)文件包. 1.首先在javaee中建立新的项目 2.右键点击WebContent-New-JSP File,新建jsp(动态)文件 ...
- Opatch使用细则
Patch 21352635 - Database Patch Set Update 11.2.0.4.8 一.OPatch工具检查及升级 OPatch工具包,在安装目录$ORACLE_HOME下,P ...
- Oracle 11.2.0.4.0 Dataguard部署和日常维护(6)-Dataguard Snapshot篇
1. 检查当前主备库同步状态 on primary select ads.dest_id,max(sequence#) "Current Sequence", max(log_se ...
- hadoop -- fsck
hadoop -- fsck shell命令: hdfs fsck /1708a1 -files -blocks -locations -racks /1708a1:是hdfs 中的文件 查看hdfs ...
- kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归
使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...
- weblogic启动比一般机器慢原因
weblogic启动慢一般先看setDomainEnv.sh中分配给JVM的内存大小,如果分配足够(没部应用一般也要1G以上)那么再用free -g看本机剩余内存是否充足.如果都没问题还是比一般机器启 ...