标签:网址 rev 窗口 启动 line sign 选择 高级 打开文件
一、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 |
· 生成设计文档 |
60 |
60 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
15 |
15 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
30 |
40 |
· Design |
· 具体设计 |
40 |
40 |
· Coding |
· 具体编码 |
720 |
1020 |
· Code Review |
· 代码复审 |
30 |
25 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
30 |
60 |
Reporting |
报告 |
145 |
175 |
· Test Report |
· 测试报告 |
90 |
120 |
· Size Measurement |
· 计算工作量 |
25 |
25 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
30 |
30 |
合计 |
|
1325 |
1915 |
三、遇到的困难及解决办法
困难描述:
做过哪些尝试:
是否解决:
对于java的重温还有代码框架上,都在自己不断学习的过程中找到了感觉,先规划后写,这样在后期打码当中也会思路比较清晰;但是由于到最后时间的不充分以及自己知识储备不充分,对单元测试还是没有理解太清晰。
有何收获:
重温了很多关于java的内容,比如构建图形界面,输入输出流等;对自己未来打码有大体的规划,知道应该先计划,再实施,而不是兴冲冲就干。然后虽然了解了挺多关于单元测试的知识,但是运用起来还是有困难。
四、解题思路
五、设计实现过程
wc类:包括一个函数wc(File file),该函数实现统计字符数,行数,单词书,特殊行的基本和扩展功能。调用该函数能够得出所有的统计结果。
gui0类:包括函数gui0()函数,用户高级功能-x,当用户输入-x,命令时,会出现选择文件框,用户可以选择文件获得相应统计结果。
gui类:有gui0类衍生出来的一个类,当用户选择文件后,所弹出来的选择想要获得的统计数据的界面,该界面允许调用gui0函数重新选择文件。
test类:该类为主类,获取用户指令,判断是否进入图形界面,若不进入则通过获取用户选择的统计条件,来调用wc方法去显示统计结果。
总的来说,由于设计的时候对Java类和函数这些掌握的不清晰,所以很多方功能都是放在一个类的一整个函数里头,所以实现起整个程序的时候,会出现很多没必要的复杂调用。以下是我各个类之间的调用关系:
六、测试运行
1.测试目录
2.程序启动
3.基本功能
测试基本功能-c,测试文件为只有一个字符“c"的文档
测试基本功能-l,测试文件为只有一行”you are so cute“的文档
测试基本功能-w,测试文件为只有一个词”cute"的文档
测试扩展功能-a,测试文件为基本源代码文件
测试多个功能一起出现统计结果,测试文件为只有一行”you are so cute“的文档
测试高级功能-x,图形界面打开文件并点击显示统计结果, 测试文件为只有一行”you are so cute“的文档
六、总结
在本次项目完成前期,我因为对java的学习不够充分,很多java语法还有一些类,构造函数之类的都忘了,所以面对这个项目是手无足措的,面对详细的需求也没有想法。比如说看到统计字数,脑海里只有一些以前做过的比较模糊的记忆,不知道应该具体怎么写。最后通过查阅资料和翻看以前自己写过的代码找回了一些感觉。在重新学习java上也花了不少时间,也警醒了自己之后要经常练习,保持对代码的熟悉感。
本次项目我学到了很多,首先当然是java的运用,通过实操项目,找回了一些比如说I/O流,函数调用,图形界面设计的知识。同时也从0到1实现了一个程序,从预估,设计,编码,开发,测试,文档等流程中锻炼自己。在Debug当中找自己的问题,最主要的就是,在开始项目之前要规划好项目期间每天的计划,每天要规划好当天内需要解决的事情。在开发的过程中,随时记录自己出现的问题,以便后续解决。总的来说,项目不仅增加了我对代码的熟悉感,而且也吸取了很多流程要点问题。
在这次个人项目中,我还有不足之处,那就是由于我对递归处理文件这个知识点学习的不充分,导致于在临近截止的时候才想出解决方案,但是由于程序框架已经构建好,而且不够灵活,使得这个函数无法再插入我的程序里,修改起来很麻烦,因此没有实现-s功能。也是一个遗憾。另外一点就是,在做项目初期,对程序整体架构没有构建好,所以导致后面经常出现大幅度的修改,耗费时间长,这是非常不好的习惯。经过这次项目,我也意识到自己的不足。往后的项目中会先计划,边测试边开发,提高代码质量。
标签:网址 rev 窗口 启动 line sign 选择 高级 打开文件
原文地址:https://www.cnblogs.com/clarazhang/p/11588221.html