结对作业1

MathExamLv2

一、预估与实际

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 600 720
• Estimate • 估计这个任务需要多少时间 600 720
Development 开发 570 690
• Analysis • 需求分析 (包括学习新技术) 30 40
• Design Spec • 生成设计文档 30 40
• Design Review • 设计复审 30 40
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 30 40
• Design • 具体设计 60 60
• Coding • 具体编码 280 350
• Code Review • 代码复审 20 30
• Test • 测试(自我测试,修改代码,提交修改) 30 40
Reporting 报告 30 30
• Test Repor • 测试报告 10 10
• Size Measurement • 计算工作量 10 10
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 10 10
合计 720

二、需求分析

我通过网上调查的方式了解到,小学三年级数学有如下的几个特点:

  • 特点1:加减乘除四则混合运算
  • 特点2:四则运算中除法不能有余数
  • 特点3:优先算带括号的
  • 特点4:乘除运算为100以内的乘除

经过分析,我认为,这个程序应当:

  • 使用的数字小于100
  • 排除一些超出三年级学生的结果
  • 运算符与括号的优先级问题
  • 三年级学生也要做一二年级的题目

三、设计

1. 设计思路

  • 根据老师的提示先去学习一下逆波兰算法
  • 将逆波兰算法运用到代码中
  • 思考运算符的优先级问题
  • 分类排除异常状况

2. 实现方案

  • 准备工作:先在Github上创建仓库,克隆到本地...
  • 技术关键点:
    1.random函数的运用
    2.输出题目与答案到指定文件
    3.年级的选择及题库的选择
    4.逆波兰算法的实现(理解,外加各种空栈异常判断)
    5.随机出题目的逻辑,以及加括号时的逻辑判断

由于代码方面尚未与同伴讨论完毕,下面的部分将于本周之内修改提交,还请见谅。

四、编码

请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程

1. 调试日志

记录编码调试的日志,请记录下开发过程中的 debug 历程

2. 关键代码

请展示一段程序的关键代码,并解释代码的作用

3. 代码规范

请给出本次实验使用的代码规范:

  • 第一条...
  • 第二条...

并人工检查代码是否符合规范

五、测试

请思考并记录你认为必要的测试点,并记录测试用例与测试结果

六、总结

请总结过程中的教训和经验,思考

  • 是否使用了“软件开发的基本策略:分而治之”,是否需要重构
  • “高质量的设计、规范的编码以及有效的测试是保证软件产品质量的三个重要方面”,你是否采用了相关的手段,是否需要重构
posted @ 2018-09-19 11:16  止念  阅读(128)  评论(0编辑  收藏  举报