个人项目Wc.exe(JAVA)
Posted jezing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人项目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.流程图
b.流程简介
Mymain.java里面包含了图形界面的设计,以及主要的监听器以及相应的响应事件,把字符的检测以及统计个数的功能心生成了一个charfinder类,通过主类调用该类来使用字符统计的功能。主类中,主要功能逻辑为先去勾选想要的功能,然后打开相应的文件选择器,使用该功能。
1.Mymain首先依托于图形界面设计监听器和响应事件
2.以监听器为设计的一开始内容,在响应事件中响应的添加功能。菜单功能中包括了选择文件,选择文件夹功能,打开之后会弹出相应的文件选择器。基本功能中则包括基本功能中-C,-W,-L的三个基本功能。拓展功能则是有文件夹操作中的-s,-a功能,关于则是解释。
3.响应事件中,主要为菜单栏中的两个功能添加对应的操作,在获取文件或者文件夹的路径之后,对该路径下的文件进行统计,于此同时会使用到功能选择界面下的勾选功能,来进行操作。
c.界面截图
4.测试运行
测试文件包括:一个空文件、一个只有一个字符的文件、一个只有一个单词的文件、一个标准的java源文件、一个多目录嵌套的文件
1.测试基本功能(-c,-w,-l)
单词文档
单行文档
单字符文档
典型源文件
空文档
2.测试拓展功能
得到数据
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
部分数据截图
以上测试数据均符合实际情况
5.总结与回顾
在本次的项目过程中,首先比较明显的问题就是一开始做的方向与出发点有点偏,是通过图形界面为基本,在图形界面的基础上去开发相关的功能。而且缺乏项目的开发经验,导致后期对于功能的实现使得将很多东西的集中到了Mymain类中,这样子会导致后期的维护,以及升级等有很大的问题,这是一个比较严重的错误,使得我的代码封装性不高。会使用在一个比较封闭的类文件里面去创建很多方法来完善自己的功能。所以在后期会继续改进自己的代码。本次的开发时长和预计时长有一些很大的出入,主要是因为不清楚怎么去介入设计,导致一直在做一些无用功,希望在后面的项目开发中能够加强这一点。
附:代码覆盖率
在代码覆盖率上,因为将很多功能都集成到了Mymain类中,将一些功能比较多用的,比如字符匹配统计,以及有一个关于文档作为一个类文件,所以在覆盖率上挺高的。
以上是关于个人项目Wc.exe(JAVA)的主要内容,如果未能解决你的问题,请参考以下文章