个人项目Wc.exe(JAVA)

1.个人项目WC.exe的github地址:https://github.com/jezing/WC-in-software


 

 2.PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 35 50
· Estimate · 估计这个任务需要多少时间 35 50
Development 开发 900 1300
· Analysis · 需求分析  30 60
· Design Spec · 生成设计文档 30 40
· Design Review · 设计复审  30 40
· Coding Standard · 代码规范 30 40
· Design · 具体设计 60 70
· Coding · 具体编码 700 900
· Code Review · 代码复审 20 30
· Test · 测试(自我测试,修改代码,提交修改) 60 120
Reporting 报告 120 150
· Test Report · 测试报告 60 75
· Size Measurement · 计算工作量 25 20
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 35 55
合计    1055  1500

    

 


 

3.解题思路

  使用GUI图形界面,以基础功能,拓展功能等功能界面为核心,根据项目要求,分为界面设计,功能设计,以及测试单元文件。

  集成功能界面和GUI界面设计。

  a.流程图

  个人项目Wc.exe(JAVA)_第1张图片

 

 

   b.流程简介

   Mymain.java里面包含了图形界面的设计,以及主要的监听器以及相应的响应事件,把字符的检测以及统计个数的功能心生成了一个charfinder类,通过主类调用该类来使用字符统计的功能。主类中,主要功能逻辑为先去勾选想要的功能,然后打开相应的文件选择器,使用该功能。

    1.Mymain首先依托于图形界面设计监听器和响应事件

    个人项目Wc.exe(JAVA)_第2张图片

 

 

 

    2.以监听器为设计的一开始内容,在响应事件中响应的添加功能。菜单功能中包括了选择文件,选择文件夹功能,打开之后会弹出相应的文件选择器。基本功能中则包括基本功能中-C,-W,-L的三个基本功能。拓展功能则是有文件夹操作中的-s,-a功能,关于则是解释。

    3.响应事件中,主要为菜单栏中的两个功能添加对应的操作,在获取文件或者文件夹的路径之后,对该路径下的文件进行统计,于此同时会使用到功能选择界面下的勾选功能,来进行操作。

   c.界面截图

个人项目Wc.exe(JAVA)_第3张图片   个人项目Wc.exe(JAVA)_第4张图片 

 个人项目Wc.exe(JAVA)_第5张图片  个人项目Wc.exe(JAVA)_第6张图片  个人项目Wc.exe(JAVA)_第7张图片

 

 

 


 

 4.测试运行

   测试文件包括:一个空文件、一个只有一个字符的文件、一个只有一个单词的文件、一个标准的java源文件、一个多目录嵌套的文件

1.测试基本功能(-c,-w,-l)

个人项目Wc.exe(JAVA)_第8张图片   个人项目Wc.exe(JAVA)_第9张图片 

 

 

 

 

 单词文档

个人项目Wc.exe(JAVA)_第10张图片

 

 

 

 单行文档

个人项目Wc.exe(JAVA)_第11张图片

 

 

 

单字符文档

个人项目Wc.exe(JAVA)_第12张图片

 

 

 

典型源文件

 个人项目Wc.exe(JAVA)_第13张图片

 

 

空文档

 个人项目Wc.exe(JAVA)_第14张图片

 

 

2.测试拓展功能

个人项目Wc.exe(JAVA)_第15张图片  个人项目Wc.exe(JAVA)_第16张图片

 

得到数据

C:\Users\holowar\Desktop\TEXT\a\b\空文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:0
数字符个数:0
特殊符个数:0
总的字符个数为:0
英文词数:0
总词数:0
总行数:0
空行数:0
代码行数:0
注释行数:0
C:\Users\holowar\Desktop\TEXT\a\典型源文件.c
数据信息统计结果如下:
汉字数目:12
英文字母个数:39
数字符个数:3
特殊符个数:25
总的字符个数为:79
英文词数:9
总词数:21
总行数:9
空行数:1
代码行数:4
注释行数:4
C:\Users\holowar\Desktop\TEXT\a\单字符文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:1
数字符个数:0
特殊符个数:0
总的字符个数为:1
英文词数:1
总词数:1
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\a\单行文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:7
数字符个数:0
特殊符个数:4
总的字符个数为:11
英文词数:2
总词数:2
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\a\单词文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:4
数字符个数:0
特殊符个数:0
总的字符个数为:4
英文词数:1
总词数:1
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\a\空文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:0
数字符个数:0
特殊符个数:0
总的字符个数为:0
英文词数:0
总词数:0
总行数:0
空行数:0
代码行数:0
注释行数:0
C:\Users\holowar\Desktop\TEXT\b\典型源文件.c
数据信息统计结果如下:
汉字数目:12
英文字母个数:39
数字符个数:3
特殊符个数:25
总的字符个数为:79
英文词数:9
总词数:21
总行数:9
空行数:1
代码行数:4
注释行数:4
C:\Users\holowar\Desktop\TEXT\b\单字符文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:1
数字符个数:0
特殊符个数:0
总的字符个数为:1
英文词数:1
总词数:1
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\b\单行文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:7
数字符个数:0
特殊符个数:4
总的字符个数为:11
英文词数:2
总词数:2
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\b\单词文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:4
数字符个数:0
特殊符个数:0
总的字符个数为:4
英文词数:1
总词数:1
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\b\空文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:0
数字符个数:0
特殊符个数:0
总的字符个数为:0
英文词数:0
总词数:0
总行数:0
空行数:0
代码行数:0
注释行数:0
C:\Users\holowar\Desktop\TEXT\c\典型源文件.c
数据信息统计结果如下:
汉字数目:12
英文字母个数:39
数字符个数:3
特殊符个数:25
总的字符个数为:79
英文词数:9
总词数:21
总行数:9
空行数:1
代码行数:4
注释行数:4
C:\Users\holowar\Desktop\TEXT\c\单字符文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:1
数字符个数:0
特殊符个数:0
总的字符个数为:1
英文词数:1
总词数:1
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\c\单行文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:7
数字符个数:0
特殊符个数:4
总的字符个数为:11
英文词数:2
总词数:2
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\c\单词文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:4
数字符个数:0
特殊符个数:0
总的字符个数为:4
英文词数:1
总词数:1
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\c\空文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:0
数字符个数:0
特殊符个数:0
总的字符个数为:0
英文词数:0
总词数:0
总行数:0
空行数:0
代码行数:0
注释行数:0
C:\Users\holowar\Desktop\TEXT\典型源文件.c
数据信息统计结果如下:
汉字数目:12
英文字母个数:39
数字符个数:3
特殊符个数:25
总的字符个数为:79
英文词数:9
总词数:21
总行数:9
空行数:1
代码行数:4
注释行数:4
C:\Users\holowar\Desktop\TEXT\单字符文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:1
数字符个数:0
特殊符个数:0
总的字符个数为:1
英文词数:1
总词数:1
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\单行文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:7
数字符个数:0
特殊符个数:4
总的字符个数为:11
英文词数:2
总词数:2
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\单词文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:4
数字符个数:0
特殊符个数:0
总的字符个数为:4
英文词数:1
总词数:1
总行数:1
空行数:0
代码行数:1
注释行数:0
C:\Users\holowar\Desktop\TEXT\空文档.c
数据信息统计结果如下:
汉字数目:0
英文字母个数:0
数字符个数:0
特殊符个数:0
总的字符个数为:0
英文词数:0
总词数:0
总行数:0
空行数:0
代码行数:0
注释行数:0

 

 

部分数据截图

个人项目Wc.exe(JAVA)_第17张图片

 

 

以上测试数据均符合实际情况


 

5.总结与回顾

  在本次的项目过程中,首先比较明显的问题就是一开始做的方向与出发点有点偏,是通过图形界面为基本,在图形界面的基础上去开发相关的功能。而且缺乏项目的开发经验,导致后期对于功能的实现使得将很多东西的集中到了Mymain类中,这样子会导致后期的维护,以及升级等有很大的问题,这是一个比较严重的错误,使得我的代码封装性不高。会使用在一个比较封闭的类文件里面去创建很多方法来完善自己的功能。所以在后期会继续改进自己的代码。本次的开发时长和预计时长有一些很大的出入,主要是因为不清楚怎么去介入设计,导致一直在做一些无用功,希望在后面的项目开发中能够加强这一点。

附:代码覆盖率

个人项目Wc.exe(JAVA)_第18张图片

 

 在代码覆盖率上,因为将很多功能都集成到了Mymain类中,将一些功能比较多用的,比如字符匹配统计,以及有一个关于文档作为一个类文件,所以在覆盖率上挺高的。

 

你可能感兴趣的:(个人项目Wc.exe(JAVA))