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类:高级功能的图形界面以及图形界面的响应,文件选择器都在这一类

WC个人项目(Java)_第1张图片

 

 

 

5.程序结果

1.基础功能

 

 

2.拓展功能

 

 

3.高级功能

WC个人项目(Java)_第2张图片

 

 WC个人项目(Java)_第3张图片

 

 

4.异常情况

 

 

5.测试文件

WC个人项目(Java)_第4张图片

 

 

6.总结

从这次的大作业中深刻的感受到前期对于程序逻辑结构的设计非常重要,直接决定了后面方法调用的复用性以及可拓展性。

只有一个良好的设计才能保证程序能好好维护并且迅速找出错误,同时我们编程者也可以对整个程序的结构了然于心。

与此同时也发现了自身的不足之处,对于功能的实现,在算法的设计上还是显得基本功不扎实,需要自身多加牢固!

你可能感兴趣的:(WC个人项目(Java))