一、Github项目地址:
二、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 28 | 25 |
Estimate | 估计这个任务需要多少时间 | 12 | 13 |
Development | 开发 | 580 | 460 |
Analysis | 需求分析 | 140 | 170 |
Design Spec | 生成设计文档 | 30 | 60 |
Design Review | 设计复审 | 50 | 65 |
Coding Standard | 代码规范 | 20 | 40 |
Design | 具体设计 | 60 | 40 |
Coding | 具体编码 | 470 | 470 |
Code Review | 代码复审 | 30 | 20 |
Test | 测试(自我测试,修改代码,提交修改) | 60 | 120 |
Reporting | 报告 | 60 | 120 |
Test Report | 测试报告 | 20 | 30 |
Size Measurement | 计算工作量 | 10 | 15 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 120 | 60 |
合计 | 1690 | 1708 |
三、解题思路
使用Java语言设计三个模块,分别实现下列功能:
- 主类common,在主类main方法中接受传入参数,并根据参数分类讨论,使用function类中各静态方法实现功能,或调用GUI类打开图形界面;
- MainFrm类,继承JFrame类,实现图形界面程序,通过按钮选择文件并调用function类中各静态方法统计信息;
- FileProfessorf类,在类中包含各静态方法,分别实现统计信息功能。
四、设计实现
- 统计字符数
- 统计行数
- 统计单词数
- 统计空行数
- 统计注释数
- 统计代码行数
- 递归访问目录所有子文件夹,并记录文件路径
五、运行测试
1.测试空文件
2.测试一个字符的文件
3.测试一个词的文件
4.返回更复杂的数据(代码行 / 空行 / 注释行)。
5.递归处理目录下符合条件的文件。
6.图形界面
a.字符数
b.词数
c.行数
4.-a
六、项目总结
这几个星期学习了软件工程课程,了解在项目开发前期应做好需求分析和设计文档,了解项目的总体目标,然而在开发的过程中,由于家里面有点急事请假外出了,所以本次个人项目完成的比较仓促。本次项目不仅仅理由了软件工程作业个人项目的相关知识,而且温习了java的编码方式,WC项目开发,让我学到了软件工程知识在实际项目开发中的具体应用,非常感谢这门课程。