WC个人项目(Java)
Posted sigh2333
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WC个人项目(Java)相关的知识,希望对你有一定的参考价值。
1.GitHub项目地址
https://github.com/SIGH2333/Homework1
2.PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(min) | 实际耗时(min) |
Planning | 计划 | 30 | 55 |
Estimate | 估计耗时 | 30 | 30 |
Development | 开发 | 600 | 720 |
Analysis | 需求分析 | 50 | 60 |
Design Spec | 生成设计文档 | 30 | 43 |
Design Review | 设计复审 | 20 | 20 |
Coding Standard | 代码规范 | 20 | 20 |
Design | 具体设计 | 150 | 50 |
Coding | 具体编码 | 400 | 300 |
Code Review | 代码复审 | 60 | 50 |
Test | 测试 | 180 | 180 |
Reporting | 报告 | 120 | 120 |
Test Report | 测试报告 | 60 | 60 |
Size Measurement | 计算工作量 | 20 | 20 |
Postmortem&Process Improvement Plan |
事后总结,提出过程改进计划 | 30 | 40 |
合计 |
3.解题思路
我认为解题的关键是在于在脑海里模拟出WC应该具备的功能以及交互性。
确认其基础功能(字符计算):外界只需要确定查询的文件,读入便可进行计算。
拓展功能(对基础功能的深化,在正则表达式上进行设计):加深判定规则
以及高级功能(图形界面的设计运用):进行界面展示,并调用此前设计好的参数。
再者就是对错误情况的判断与提示。
4.设计实现过程
在分析中可以判断出,后面的高级功能是对前面基础功能与拓展功能的复用,故设计成三个类
1.MainOp类:程序的入口处,指引用户进行输入,并通过指令调用其他类进行响应。
2.function类:程序的核心算数逻辑,将一个个功能都设计成方法以便调用。
3.GuiX类:高级功能的图形界面以及图形界面的响应,文件选择器都在这一类
5.程序结果
1.基础功能
2.拓展功能
3.高级功能
4.异常情况
5.测试文件
6.总结
从这次的大作业中深刻的感受到前期对于程序逻辑结构的设计非常重要,直接决定了后面方法调用的复用性以及可拓展性。
只有一个良好的设计才能保证程序能好好维护并且迅速找出错误,同时我们编程者也可以对整个程序的结构了然于心。
与此同时也发现了自身的不足之处,对于功能的实现,在算法的设计上还是显得基本功不扎实,需要自身多加牢固!
以上是关于WC个人项目(Java)的主要内容,如果未能解决你的问题,请参考以下文章