软工网络15结对编程作业

小道消息 2018-03-25

1.结对信息:

  • 开发人员: 201521123064 郭炜埕,201521123066 郑晓丽
  • 项目地址: https://gitee.com/vicheng/four_operations/tree/master
  • 分析网络14部分现有程序代码,选择的项目为:
    • 个人博客地址5:http://www.cnblogs.com/NianQiFeng
    • 源代码:https://git.coding.net/qwx_hh/java-szys.git
  • 原题目要求:
    • http://www.cnblogs.com/happyzm/p/6472120.html
    • http://www.cnblogs.com/happyzm/p/6509116.html
    • http://www.cnblogs.com/happyzm/p/6558307.html
  • 结对照片:
    软工网络15结对编程作业

2.需求分析

  • 检查大部分主要类之间的关系,画出类图:
    软工网络15结对编程作业
  • 浏览所有代码考虑代码质量和测试覆盖率
    软工网络15结对编程作业
  • 单元测试
    软工网络15结对编程作业
  • 原有代码只能实现100以内两个随机数的随机四则运算,经过我们考虑,决定添加第三个随机数,进行三个数的随机四则运算。
  • 在此基础上,添加了随机增添括号的功能,加入括号并考虑其优先级,用中缀表达式实现其功能。

3.程序设计

  • 针对新开发功能做设计,建议使用思维导图。
    软工网络15结对编程作业

  • 新功能关键代码:
    • 随机产生四则运算符号:
      软工网络15结对编程作业

    • 随机产生括号:
      软工网络15结对编程作业

    • 新建Calculate等方法用来计算随机生成的算式:
      软工网络15结对编程作业
      软工网络15结对编程作业
      软工网络15结对编程作业
      软工网络15结对编程作业


4.代码展示

  • 展示每个功能的核心代码:
  • 随机产生题目:如上所示。
  • 语言切换功能:
    软工网络15结对编程作业

  • 计时功能:
    软工网络15结对编程作业

  • 创建错题集及做题记录:
    软工网络15结对编程作业


5.程序运行

  • 随机产生8道题:
    软工网络15结对编程作业
    软工网络15结对编程作业

  • 复习错题:
    软工网络15结对编程作业

  • 繁體中文:
    软工网络15结对编程作业
    软工网络15结对编程作业

  • English:
    软工网络15结对编程作业
    软工网络15结对编程作业

  • 做题记录及错题集:
    软工网络15结对编程作业

  • 改进后的代码覆盖率,有所提升:
    软工网络15结对编程作业


6.小结感受

  • 我认为结对编程能够带来1+1>2的效果,一个人的能力和精力都是有限的,我挺享受驾驶员和领航员两种角色在编程过程中共同交流配合的过程。
  • 虽然对原有代码有所改进,但还是存在许多为改进bug,比如在新增的功能中,对于无限小数没有指定小数点后的位数。

7.结对作业的PSP

PSP2.1个人开发流程预估耗费时间(分钟)
Planning计划18
· Estimate明确需求和其他相关因素,估计每个阶段的时间成本10
· Analysis需求分析 (包括学习新技术)6
· Design Review设计复审4
· Coding Standard代码规范5
· Design具体设计20
· Coding具体编码36
· Code Review代码复审7
· Test测试(自我测试,修改代码,提交修改)22
·并提出过程改进计划10

相关推荐