个人项目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类中,将一些功能比较多用的,比如字符匹配统计,以及有一个关于文档作为一个类文件,所以在覆盖率上挺高的。

原文地址:https://www.cnblogs.com/jezing/p/11570477.html

时间: 2024-08-03 02:41:54

个人项目Wc.exe(JAVA)的相关文章

个人项目WC(java实现)

WC个人项目(JAVA实现) 一.Github地址:https://github.com/Gvonte/WC.exe 二.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 28 · Estimate · 估计这个任务需要多少时间 30 28 Development 开发 1012 1001 · Analysis · 需求分析  52 45 · Design Spec · 生成设计文档 30

个人项目(wc.exe)【java】

一.Github项目地址 https://github.com/pollydeer/code 二.需求分析 实现一个统计程序,它能正确统计程序文件中的字符数.单词数.行数,以及还具备其他扩展功能,并能够快速地处理多个文件. 程序处理用户需求的模式为: wc.exe [parameter] [file_name] 功能列表: 基本功能:(已实现) wc.exe -c file.c     //返回文件 file.c 的字符数 wc.exe -w file.c    //返回文件 file.c 的词

个人项目(WC.exe)(java)(基于图形界面)

一.Github项目地址:https://github.com/Leungdc/ENhomework 二.PSP: PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) ·Planning ·计划 40 60 · Estimate · 估计这个任务需要多少时间 30 30 ·Development ·开发 1500 1860 · Analysis · 需求分析 30 70 · Design Spec · 生成设计文档 30 30 ·

小白のjava实现wc.exe功能

GitHub地址 项目完成情况 基本功能列表(已实现) wc.exe -c file.c     //返回文件 file.c 的字符数 wc.exe -w file.c    //返回文件 file.c 的词的数目 wc.exe -l file.c      //返回文件 file.c 的行数 扩展功能(已实现) -s   递归处理目录下符合条件的文件.    -a   返回更复杂的数据(代码行 / 空行 / 注释行). 空行:本行全部是空格或格式控制字符,如果包括代码,则只有不超过一个可显示的

Java实现WC.exe功能

1 WC 项目要求 项目地址:https://github.com/LIBULULU/yy wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数.单词数和行数. 实现一个统计程序,它能正确统计程序文件中的字符数.单词数.行数,以及还具备其他扩展功能,并能够快速地处理多个文件. 具体功能要求: 程序处理用户需求的模式为: wc.exe [parameter] [file_na

WC.exe 个人项目

一.GitHub地址: https://github.com/N006Unnamed/WC/tree/master 二.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 30 · Estimate · 估计这个任务需要多少时间 30 30 Development 开发 1500 1620 · Analysis · 需求分析  100 100 · Design Spec · 生成设计文档 3

个人项目 wc(java实现)

一.Github网址: https://github.com/Clarazhangbw/Wc.exe 二.PSP表 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 100 120 · Estimate · 估计这个任务需要多少时间 100 120 Development 开发 1080 1620 · Analysis · 需求分析 (包括学习新技术) 240 360 · Design Spec · 生成设

java实现wc.exe的基本功能

 版权声明:本文为博主原创文章,转载请声明. 今天用java实现了wc.exe的基本功能,感觉还是蛮简单的,重点是读取字符串时候,空格也会读取进去,如果不处理一下的话,空格也会算进字符里面.. 需要注意的是,如果是中文的话,java会算两个两个字节读取.所以这个代码只能统计英文. 代码如下: package demo2; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; impo

JAVA实现WC.EXE

Github项目地址:https://github.com/3116004667/testDemo 一.项目要求 1. 实现一个简单而完整的软件工具(源程序特征统计程序).2. 进行单元测试.回归测试.效能测试,在实现上述程序的过程中使用相关的工具.3. 进行个人软件过程(PSP)的实践,逐步记录自己在每个软件工程环节花费的时间. wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文