一、Github项目地址:

 https://github.com/JakeYi/WC

二、PSP表格

PSP2.1Personal 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语言设计三个模块,分别实现下列功能:

    1. 主类common,在主类main方法中接受传入参数,并根据参数分类讨论,使用function类中各静态方法实现功能,或调用GUI类打开图形界面;
    2. MainFrm类,继承JFrame类,实现图形界面程序,通过按钮选择文件并调用function类中各静态方法统计信息;
    3. FileProfessorf类,在类中包含各静态方法,分别实现统计信息功能。
    4.    

四、设计实现

  1. 统计字符数
  2. 统计行数
  3. 统计单词数
  4. 统计空行数
  5. 统计注释数
  6. 统计代码行数
  7. 递归访问目录所有子文件夹,并记录文件路径

五、运行测试

1.测试空文件

 

 

 2.测试一个字符的文件

 

 

 3.测试一个词的文件

 

 

 4.返回更复杂的数据(代码行 / 空行 / 注释行)。

 

 

 5.递归处理目录下符合条件的文件。

 

 

 6.图形界面

 

a.字符数

 

 

 

 

 b.词数

 

 

 

c.行数

 

 

 4.-a

 

 

 

六、项目总结

 这几个星期学习了软件工程课程,了解在项目开发前期应做好需求分析和设计文档,了解项目的总体目标,然而在开发的过程中,由于家里面有点急事请假外出了,所以本次个人项目完成的比较仓促。本次项目不仅仅理由了软件工程作业个人项目的相关知识,而且温习了java的编码方式,WC项目开发,让我学到了软件工程知识在实际项目开发中的具体应用,非常感谢这门课程。