结对编程加强版四则运算器

本人学号:201421122043  coding.net:https://coding.net/u/int__Sherlock/p/YunCalculate/git

队友学号:201421122045

一、需求分析:

  1. 本次作业要求在作业1的基础上,把作业1做成GUI。与队友商讨之后我们决定采用web做一个公共使用的的四则运算网页。
  2. 智能推送难题,商讨过程中我提出加入微型云计算,统计所有用户出错频率较多的题目,以及错误较多的题型(二元运算或者三元运算)对用户进行智能推送。
  3. 计时功能记录小学生答题耗时。
  4. 生成运行日志,方便后期维护。
  5. 由于我们页面中几乎没有涉及中文,即使不懂中文也可以轻松的使用本系统。所有没有涉及中英转换

二、程序设计:

  1. 搭建程序架构。涉及的几个简单的模块如下图。
  2. 有计时功能,能显示用户开始答题后的消耗时间:用户请求生成相应类型的题目题目,跳转到答题页面即开始计时,提示用户答题消耗的时间。
  3. 智能推送,将所用用户的错误题目记录到文档中,统计文档中出现概率大于0.02的题目作为难题,当用户需要时进行推送。
  4. 日志,写一个日志工具类,从切面切入,记录每一个方法执行的状态和时间。

三、思维导图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

四、分工

   在目标很明确的,框架已经搭好,接下来的工作就是写代码了。

  这一块我和主要负责的是

  1.将第一次作业集成到这个项目中,将其设计成工具类。提供简单的接口以供使用。

  2.将用户错误的题目写入文档,并对错题进行统计,获取出错频率比较高的题目。由于错题数量太多了,这里使用了多线程加快程序执行效率。

  3,.实现log日志工具类,也是一些对文档的读写。

 

五、运行展示

用户模式

管理员模式

 

五、小结感受:

  1. 团队开发需要一定协商的成本,但是可以集中两个人的思路头脑风暴往往可以的商量出很多自己一个人想不出来的东西,在这方面1+1>2的。
  2. 结对编程过程中联系不够紧密,部分模块出现了没有当初想的那么美好,都能够完美的适配,往往在参数还是会出错要在做调整。

 

六、伙伴评价:

尽职尽责,属于他负责的部分都能完成。能力强,有经验,在讨论过程中提出很多好的想法,但是编码风格比较随意。

七、结对过程:

1.开发前先商讨架构的实现,讨论双方实验1 里面有什么是实现好的,有没有什么类是可以直接复用的。

2.商讨编写代码的一些习惯,比如要遵循驼峰命名法,变量名包名等要尽量语义化。

3.讨论双方的每一个模块要如何做才能是模块模块之间降低耦合度。

4.将功能模块整合在一起。

 

 

八、PSP:

PSP2.1 Personal Software Process Stages Time Senior Student Time
Planning 计划 30 10
· Estimate 估计这个任务需要多少时间 24 24
Development 开发 700 1200
· Analysis 需求分析 (包括学习新技术) 30 3
· Design Spec 生成设计文档 NaN 1
· Design Review 设计复审 NaN 0
· Coding Standard 代码规范 NaN 5
· Design 具体设计 NaN 20
· Coding 具体编码 NaN 20
· Code Review 代码复审 NaN 10
· Test 测试(自我测试,修改代码,提交修改) NaN 3
Reporting 报告 NaN 6
· 测试报告 NaN 0
· 计算工作量 NaN 0
· 并提出过程改进计划 NaN 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

九、增量开发

  由于我们编码的时间基本都是在断网之后,每次开发都不能马上提交,只能直接导出,所以如下图,如果老师需要检查可另行上传。

 

posted on 2017-10-22 18:24  Sherlock.K  阅读(284)  评论(3编辑  收藏  举报

导航