Java achieve personal project

A, GitHub address: https://github.com/Mr-Gsh/individual-event-wc-


Two, PSP form

PSP2.1 Personal Software Process Stages Estimated time consuming (minutes) The actual time-consuming (minutes)
Planning plan  40 45 
· Estimate • Estimate how much time this task requires  40  45
Development Develop 1010   1125
· Analysis · demand analysis   60  50
· Design Spec Generate design documents  30  40
· Design Review · Design Review   20 20 
· Coding Standard · Code Specification  20  20
· Design · Specific design  30 45
· Coding · Specific coding  700 800 
· Code Review · Code Review  50  30
· Test · Test (self-test, modify the code, submit modifications)  100 120
Reporting report  120 140 
· Test Report · testing report  60  70
· Size Measurement · Computing workload  20  20
· Postmortem & Process Improvement Plan · Hindsight, and propose process improvement plan  40  50 
total    1170  1310

 

Third, the problems and solutions

1. When a start to see the subject, feel any great difference with the Java-school sophomore feature implemented useless, seriously read only to find there are still many differences, such as going out of the console graphical interface, recursive processing files that meet the conditions of the directory, and so, for a time did not know how to start, but unit testing and code coverage, I do not know how to solve. Read the first three chapters by "building law" as well as online access to introduce some concepts, I understand the code coverage plug-ins can be used to solve EclEmma, ​​unit testing short time not understand how to write test code, simply use tool to generate test framework.

2. review the regular expressions judgment method, in a recursive directory features online access to relevant code, to understand how to create some of the matcher to go through the file to achieve this functionality.

3.图形界面查找了如何通过命令行调出图形界面的方法,创建图形界面就相对简单,设置面板和按钮,加监听器,调用function类里面写好的基本和扩展功能。

4.暂时不知道怎么实现自动测试的方法,只是人工测试。


四、设计思路与实现

 

 

 本次项目共设计了三个类,命令行的Main,功能的function,图形界面GUI。先运行Main类,通过命令行,调用function类里面的方法,方法主要分为四个,通过I/O分别实现三个基础功能,还有一个扩展功能方法,通过Main类调出图形界面,实现图形界面需求。


五、测试

 1.一个空文件

 

2.只有一个字符的文件

 

3.只有一个词的文件

 

4.只有一行的文件

 

5.一个典型的源文件

 

 

 6.图形界面

 7.代码覆盖率

 

 

 因为还没学会如何写测试单元,所以代码覆盖率较低。


六、总结

通过这次的个人项目,我又重新温习了有些生疏的Java,新学习了如何测代码覆盖率,以及所代表的含义,创建单元测试的基本框架,详细代码仍需学习。更加了解了“软件工程”这四个字代表了什么,从第一步解题思路到最后项目总结,自己亲身体验过一遍流程才更加的了解以及熟悉。明白了开发一个软件其实最重要的是想明白如何去把一个大项目分成若干模块,然后一个一个的解决,想清楚其中的关系,到时候编写代码的时候就不会突然想起来什么又重新往里塞的困难。虽然基本完成了任务,但我还是对于软件开发的详细要求缺乏了解与认知,一些开发的规范我并没有做到,没有考虑其他因素等等,这些都需要我以后更加认真的学习这门课程。

 

Guess you like

Origin www.cnblogs.com/Mr-Gsh/p/11574308.html