个人项目--作业2

github链接:点击此处

工程概论 计算21级 (集美大学)
作业要求 个人项目
作业目标 项目管理实践、进一步熟悉github、初见PSP表格

开发环境

操作系统:WIN10
IDE:Eclipse IDE for Java Developers - 2022-06

实现与测试

1. 将程序打包成jar包,在命令行运行(文件不存在时会自动创建)

image
image

2. 用JProfile集成到ecplise上,由于不是在命令行操作,手动为程序添加寻找的文件的路径

image
image

3. 单元测试覆盖率

利用ecplise的小插件coverage生成类覆盖率统计结果,如下图:
image

4. 其他计算方面

  • 计算模块接口的设计与实现过程:只有一个类,即Main类,它包含了两个方法,即main方法和getSimilarity方法。main方法负责接收命令行参数,读取文件内容,调用getSimilarity方法计算相似度,将结果格式化并写入答案文件。getSimilarity方法负责计算两个字符串之间的相似度,使用的算法是编辑距离算法,它是一种衡量两个字符串之间差异的方法,定义为将一个字符串转换为另一个字符串所需的最少编辑操作次数,编辑操作包括插入、删除和替换。算法的关键在于正确地定义和实现动态规划表格的状态转移方程,并注意边界条件的处理。
//程序大概流程
Start(开始) --> Input[输入字符串] --> Calc[计算编辑距离] --> Output[输出相似度]--> End(结束)
  • 计算模块接口部分的性能改进:使用更高效的算法或数据结构、减少不必要的内存分配或回收、优化循环或条件判断等。
  • 计算模块部分异常处理说明:使用Java内置的异常类IOException。

5. PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 20 20
Estimate 估计这个任务需要多少时间 5 5
Development 开发 120 120
Analysis 需求分析 (包括学习新技术) 10 10
Design Spece 生成设计文档 15 10
Design Review 设计复审 5 5
Coding Standard 代码规范 (为目前的开发制定合适的规范) 10 12
Design 具体设计 10 10
Coding 具体编码 5 5
Test 测试(自我测试,修改代码,提交修改) 10 9
Reporting 报告 30 20
Test Repor 测试报告 5 5
Size Measurement 计算工作量 10 7
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 5 5
合计 260 243
posted @ 2023-09-20 01:07  Hzhongsuper  阅读(58)  评论(0)    收藏  举报