一、项目地址:https://git.coding.net/wangzy111/work.git
二、估计将在程序的各个模块的开发上耗费的时间
PSP |
任务内容 |
计划时间(min) |
完成时间(min) |
Planning |
计划 |
5*60 |
|
Estimate |
估计这个任务需要多少时间,并规划大致工作步骤 |
20 |
|
Development |
开发 |
40*60 |
|
Analysis |
需求分析 |
2*60 |
|
Design Spec |
生成文档 |
0 |
|
Design Review |
设计复审 |
3*60 |
|
Coding Standard |
代码规范 |
4*60 |
|
Design |
具体设计 |
15*60 |
|
Coding |
具体编码 |
20*60 |
|
Code Review |
代码复审 |
5*60 |
|
Test |
测试 |
30 |
|
Reporting |
报告 |
6*60 |
|
Test Report |
测试报告 |
2*60 |
|
Size Measurement |
计算工作量 |
2*60 |
|
Postmortem& ProcessImprovement Plan |
事后总结, 并提出过程改进计划 |
1*60 |
三、接口设计
Information Hiding:信息隐藏指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。我们通过对函数封装,不可以改变函数内部封装。
Interface Design:接口设计原则,可以令面向对象的程序设计封装起来更加精简。模块化的程序中,每个模块(即每个类)只完成一个功能,然而有些时候我们需要许多“小”功能共同作用,完成一个大“功能”。这时候我们需要将所需的所有模块实例化,再取其中的方法,连续调用,过于冗杂。这个时候我们定义一个接口,将所需的方法封在里面,当需要完成“大功能”的时候,我们只需调用这个接口就可以了。当然,应该尽量减少通用接口,具体问题具体分析,多提供特定的接口给用户才更加人性化。我们项目没有用到。
loose coupling:松耦合高内聚。即模块之间尽可能独立,模块内部数据联系紧密。我们的设计:在开始写程序之前,将功能模块化,把要求实现的功能分析清楚,尽可能独立出各种功能。使可以完成这些功能的模块,并且不依赖于其它模块。
四、计算模块接口的设计与实现过程
awt.event.包含用于创建用户界面和绘制图形图像的所有类,创建出用户界面,ActionEvent。创建出选择选项,PrintStream 是打印输出流,它继承于FilterOutputStream。Command类:生成gui界面,获取算式和得数,输出到界面。PrintStream 是用来装饰其它输出流。ArrayList是一种可变长列表,基于数组实现。在这个类中,实现了List接口中定义的所有的可选方法,并且对其中可以放入的元素也没有限制。这些共同实现了输出模块。
五、计算模块接口部分的性能改进
六、单元测试
/** * 测试用例 */ public class ATest { @Test public void 测试功能1() { System.out.println("test success!"); } } /** *A的性能测试 */ public class APerfomanceTest { public static void main(String[] args) { new Thread() { public void run() { new JUnitCore().run(Request.method(ATest.class, "测试功能1")); } }.start(); } }
七、计算模块部分异常处理说明
八、界面模块的详细设计过程
九、界面模块与计算模块的对接
十、结对过程
由于我们什么都不会,只能恶补,寝室晚上没电,只能跑出去通宵
十一、结对评价
结对编程有好处:1.相对于个人项目,结对项目更让人有责任心:
2.相互鼓励,互相学习优点:
3.交流经验,取长补短:
结对编程有坏处:1.有时意见会不统一,需要花时间交流统一意见
2.1+1<2,无论是时间还是人力,都无法线性相加
3.后期整合较困难。
我的缺点与优点:缺点:1.基础知识掌握不牢靠
2.自学能力低
3.注意力不集中
优点:1.有集体责任心
2.愿意努力弥补自己不足
3.做事有耐心
队友的优点与缺点:优点:1.有创新,敢于尝试
2.对于项目一丝不苟
3.有集体责任
缺点:1.不主动
2.不喜欢沟通
3.敲代码喜欢听声音很大歌
由于两人很多东西都不会,所以熬夜通宵也没有能够完成结队任务,缺的东西太多,花时间也没有反向。
十二、PSP表格
PSP |
任务内容 |
计划时间(min) |
完成时间(min) |
Planning |
计划 |
5*60 |
4*60 |
Estimate |
估计这个任务需要多少时间,并规划大致工作步骤 |
20 |
2*60 |
Development |
开发 |
40*60 |
60*60 |
Analysis |
需求分析 |
2*60 |
1.5*60 |
Design Spec |
生成文档 |
0 |
0 |
Design Review |
设计复审 |
3*60 |
1*60 |
Coding Standard |
代码规范 |
4*60 |
1*60 |
Design |
具体设计 |
15*60 |
30*60 |
Coding |
具体编码 |
20*60 |
25*60 |
Code Review |
代码复审 |
5*60 |
1*60 |
Test |
测试 |
30 |
4*60 |
Reporting |
报告 |
6*60 |
8*60 |
Test Report |
测试报告 |
2*60 |
3*60 |
Size Measurement |
计算工作量 |
2*60 |
1*60 |
Postmortem& ProcessImprovement Plan |
事后总结, 并提出过程改进计划 |
1*60 |
3*60 |
awt.event.包含用于创建用户界面和绘制图形图像的所有类,创建出用户界面,