20172316 结对编程-四则运算 第一周 阶段总结

20172316 结对编程-四则运算 第一周 阶段总结


1.项目内容

以结对小组形式编写代码,实现以下功能:

1.自动生成题目
可独立使用(能实现自己编写测试类单独生成题目的功能)
可生成不同等级题目,类似于:
1级题目:2 + 5 =
10 - 5 =
之类的两个数,一个运算符的题目

2.题目运算(判题)
可独立使用
实现中缀表达式转为后缀表达式并计算
判断用户答题正误,并输出正确结果

3.支持真分数
可独立使用
实现分数算式的计算

4.题目去重(扩展需求,加分项)
可独立使用
实现对自动生成表达式的去重:如下
若生成:2 + 5 =
5 + 2 =
为同一题目


需求分析

  • 由上到下进行分析,依次判断,可以看出,每个需求都要求实现 “可独立使用” ,具有一定的独立性,这要求每一个程序都不要过于依赖另一个。 于是我们决定每个人确立好任务分工,做自己的那一部分。然后串联起来。

  • 1.生成题目,根据题目等级生成拥有多个运算符的运算式,这一步很简单,利用循环和判断语句可以解决。

  • 2.题目运算,运用栈(stack)解决,基本方法都写在PPT中。

  • 3.支持真分数,第一反应是借用第四周做到过的RationalNumber类,进行适应性改造即可。

  • 4.加分项,去重部分,我还没有与队友进行交流,但目前的想法是通过重写equal方法判断是否重复。


设计思路

根据分工,我的任务为,设计“自动生成题目”部分,
作为实验第一步,必须迅速完成,拖沓必将连累往后进展。

  • Day1: 心急地做出了1~4级的运算式,
    具体过程:利用随机生成九个数字,其中五个直接作为数字按顺序放入运算式,另外四个分别对应“+”“-”“*”“/”四个运算符,这时候有一个小问题,怎样尽可能简单地让1~4级运算式利用一个方法实现,突然想起switch语句在不使用break;时会从符合项直接执行下一项,于是设置了这样4条case由上到下依次是case 4:~case 1:当需要1级运算时,从最后一项生成一个一级式;当为2级运算时,在一级式前方加上一个数字和一个符号,进化为二级式,以此类推。

  • Day2: 发现干脆设计成n级的运算式更方便,进行改进,生成以及运算式地部分不变,在前方增加数字和符号的部分运用for循环。

  • Day3:Water Skiing(划水)

  • Day4: 查找相关资料进一步了解“栈”的原理以及运用实例解析,为之后的设计进行学习。

1334032-20180501223152413-1501437255.png


相关过程截图

1334032-20180501220053579-1813641732.png1334032-20180501220129100-605796939.png


PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划6060
Estimate估计这个任务需要多少时间100100
Development开发800
Analysis需求分析 (包括学习新技术)10060
Coding Standard代码规范 (为目前的开发制定合适的规范)3020
Design UML设计项目UML类图5030
Coding具体编码30
Code Review代码复审50
Test测试(自我测试,修改代码,提交修改)30
Size Measurement计算工作量(实际时间)30
Postmortem & Process Improvement Plan事后总结, 并提出过程改进计划30
合计1240

结对评价

王文彬同学唐才铭同学 和我都存在着一个问题,那就是在产生新的想法和思路后没有及时与队友取得联系、及时交流,导致设想中“将各自负责部分轻易结合”的情况没有实现。


遇到的困难及解决方法

没有重大问题,因为分配的任务较为简单。

转载于:https://www.cnblogs.com/zhaoqianchen/p/8977875.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值