四则运算
1代码地址:https://git.coding.net/hahahahaoleng/calc_demo.git
2. PSP分享
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
30 |
60 |
· Estimate |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
300 |
660 |
Development |
开发 |
240 |
300 |
· Analysis |
· 需求分析 (包括学习新技术) |
40 |
100 |
· Design |
· 具体设计 |
250 |
300 |
· Coding |
· 具体编码 |
180 |
342 |
· Code Review |
· 代码复审 |
70 |
90 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
20 |
50 |
Reporting |
报告 |
30 |
60 |
· Test Report |
· 测试报告 |
20 |
50 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
10 |
30 |
3.接口设计方法
信息隐藏:指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的,是一种重要的软件开发手段,它与对象的封装与模块化密切相关。由于时间关系,我没有做信息隐藏。
在结构设计方面,我使用了模块化设计,分成每一个类,不同的类使用不同的方法,分开使用,便于维护。
松耦合:松耦合系统通常是基于消息的系统,此时客户端和远程服务并不知道对方是如何实现的。客户端和服务之间的通讯由消息的架构支配。只要消息符合协商的架构,则客户端或服务的实现就可以根据需要进行更改,而不必担心会破坏对方。松耦合通讯机制提供了紧耦合机制所没有的许多优点,并且它们有助于降低客户端和远程服务之间的依赖性。但是,紧耦合性通常可以提供性能好处,便于在客户端和服务之间进行更为紧密的集成(这在存在安全性和事务处理要求时,可能是必需的。
4. 计算模块接口的实现与设计过程
定义一个类arithmetic,在该类中的定义相关成员,随机产生的题目以及答案用数组承接,在第一个jsp里面用户输入题目数量以及设置做题时间,将这两个数传到第二个jsp页面,在此页面定义类对象,调用相关类函数,进行出题
5.计算模块接口部分的性能改进
在大体上和之前没有太多的改进,整体上的差别不大。
6.计算模块部分单元测试展示
7.计算模块部分异常处理说明
8.界面模块的详细设计过程
没有太多的页面设计经验,只是简单设计了一个有基本功能的界面。首页确定题目数量和预计时间,第二页出现题目,第三页显示结果及分数 。
9.界面模块与设计模块的对接
10.描述结对的过程
在结对的过程中花了很多时间在代码编写上,在分析的阶段确定了各自的需要分工的范围。
11.
优点:解决问题更快,出错率更低,而且对一些细节可以进行分工,加快我们的实现进程,但是结对的过程容易产生分歧,达成共识需要时间。
成员优缺点:
代码能力强,能钻研,有上进心,有时会钻牛角尖;
12.
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
30 |
60 |
· Estimate |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
300 |
660 |
Development |
开发 |
240 |
300 |
· Analysis |
· 需求分析 (包括学习新技术) |
40 |
100 |
· Design |
· 具体设计 |
250 |
300 |
· Coding |
· 具体编码 |
180 |
342 |
· Code Review |
· 代码复审 |
70 |
90 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
20 |
50 |
Reporting |
报告 |
30 |
60 |
· Test Report |
· 测试报告 |
20 |
50 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
10 |
30 |