个人项目

一、GitHub项目地址:https://github.com/Panlake/WordCount

二、PSP表格:

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 40 50
Estimate 估计这个任务需要多少时间 30 40
Development 开发 600 840
Analysis 需求分析 (包括学习新技术) 300 150
Design Spec 生成设计文档 30 30
Design Review 设计复审 (和同事审核设计文档) 30 30
Coding Standard 代码规范 (为目前的开发制定合适的规范) 15 10
Design 具体设计 60 60
Coding 具体编码 240 300
Code Review 代码复审 30 30
Test 测试(自我测试,修改代码,提交修改) 60 90
Reporting 报告 90 90
Test Report 测试报告 60 45
Size Measurement 计算工作量 15 15
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 15 10
Summary 合计 1615 1790

三、解题思路描述

浏览完项目需求后,发现有一些功能可以参考以前做过的Java课设,但是有一些功能例如单词数统计功能,刚开始并没有一个特别清晰的思路,通过查阅资料之后发现可以使用正则表达式去完成这些功能,所以在做项目的过程中花了点时间学习一下正则表达式。除此之外,为了完成项目的需要,还去学习了String类的一些方法。

四、设计实践过程

  •  功能模块介绍:

          CharCount类实现“-c”功能——统计指定文件的字符数;

          WordCount类实现“-w”功能——统计指定文件的单词数;

          LineCount类实现“-l”功能——统计指定文件的行数;

          SpecialLineCount类实现“-a”功能——统计指定文件的代码行数、空行数以及注释行数;

          FileHandler类实现“-s”功能——递归处理指定目录下符合条件的文件;

          GUI类实现“-x”功能——图形界面;

  • 流程图:

  •  代码说明:

          WC类:获取命令和文件路径,并根据获取到的命令调用相关的函数。

          CharCount类: 

          WordCount类:

          LineCount类:

          SpecialLineCount类:

 

          FileHandler类:

          GUI类:

图形界面的基本构建详细代码略,下图分别为为界面的“打开文件”和“统计字符数”按钮的对应活动的设置。

  • 测试结果:

测试所用的文件如下,分别为:

空文件
只有一个字符的文件
只有一个词的文件
只有一行的文件
一个典型的源文件

 

“TypicalFile.c"的详细内容:

 “-c”测试结果:

“-w”测试结果:

“-l”测试结果:

“-s”和“-a”的测试结果:

“-x”的测试结果:

  • 代码覆盖率:

posted @ 2019-09-24 21:45  .PAN  阅读(155)  评论(0)    收藏  举报