1.项目源代码地址:https://git.coding.net/weijn/Calculate.git
结对成员:韦佳妮 范彦澜
2.PSP展示:
PSP | 任务内容 | 计划共完成需要的时间(min) | 实际完成需要的时间(min) |
Planning | 计划 | 20 | 30 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 40 | 40 |
Development | 开发 | 360 | 480 |
Test | 测试 | 10 | 10 |
Algorithm Optimization | 算法优化 | 20 | 30 |
Interface Design | 接口设计 | 10 | 10 |
Coding Standard | 代码规范 | 5 | 10 |
Design | 具体设计 | 20 | 20 |
Coding | 具体编码 | 240 | 320 |
Code Review | 代码复审 | 20 | 30 |
Test | 测试 | 20 | 40 |
Reporting | 报告 | 15 | 20 |
Test Report | 测试报告 | 5 | 10 |
Size Measurement | 计算工作量 | 3 | 5 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 5 | 5 |
3.结对编程对接口的设计
&关于信息隐藏:信息隐藏是指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),
对于不需要这些信息的其他模块来说,是不可访问的。
&接口设计:是传统的后勤保障的一种要素也是一种后勤功能。
&松耦合: 松耦合系统通常是基于消息的系统,此时客户端和远程服务并不知道对方是如何实现的。客户
端和服务之间的通讯由消息的架构支配。只要消息符合协商的架构,则客户端或服务的实现
就可以根据需要进行更改,而不必担心会破坏对方。
4.计算模块接口的设计与实现过程:
①计算结果正误判断:
②智能出题的条件判断:
5.性能分析:
记录在改进计算模块性能上所花费的时间,描述你改进的思路,并展示一张性能分析图,并展示你程序中消耗最大的函数。
6.计算模块接口的设计与实现过程展示:
a.在ShowGridLayout类输入符合题目的要求后,跳到Frame类生成题目界面,进行答题,代码如下:
b.用户进行答题,对答案进行判断,判断后跳到Statistics类进行统计,代码如下:
c.与此同时,在答题过程中,还具备计时的功能,代码如下:
7.程序类图:
8.程序运行
9.描述结对的过程:
(1) 在结对的过程中,我觉得结对编程可以大幅度提高工作效率,想要走神比较困难,我们相互之间取长补短,虽然在这一
过程遇到很多困难,但是我们也充分的感受到了合作的重要性。
(2)对结对编程的看法: 通过结对编程,程序员互相帮助,互相教对方,可以得到能力上的互补,也可以增强代码和产品质量,并有效的减
少BUG。当然,结队编程也会有一些不好的地方,比如对于有不同习惯的编程人员,可能在起工作会产生麻烦,甚至矛盾。有时候,程序员们会对一个
问题各执己见,争吵不休,反而产生重大内耗。
10.自我总结:
我的java很薄弱,本次作业是用GUI来完成的,之前大一学习JAVA时也没有掌握GUI这一部分的知识,通过这一次的作业,
自己也能够掌握一些了。这一次的项目也是去网上查阅了很多资料,参考了一些代码,并在理解的基础上和队友一起完成了这
一次的作业的,同时舍友也帮助了我很多,我希望自己能够有越来越多的进步。