20172325《结对编程——四则运算》第一周总结

本文记录了一次结对编程经历,详细介绍了项目需求分析、设计思路、遇到的问题及解决方法等关键信息。项目主要包括生成数学题目、中缀转后缀表达式、计算后缀表达式等功能。

结对编程——四则远算(20172325)

本周总结

我的结对伙伴是刘辰20172306,第一周的任务是设计整体思路,构建UML类图。在拿到这个项目的时候,真的是像她说的一脸懵^,对于建几个类,每一个类里面放那些方法,定义那些变量等等都完全没有思路。但是很多的查询之后,求同存异,一步一步理清了思路,与目标也越来越接近。在这一周的任务中,我们有争论,意见出现过分歧,但是在良好的沟通交流下,最终还算完整地完成了这一周的任务,为什么这样说呢,因为在设计类图的时候总觉得要把每一步都考虑好,但是如果不实践出来,根本不知道应该要注意哪些点,所以就很纠结。

需求分析

题目运算(判题)

要求:可独立使用
实现中缀表达式转为后缀表达式并计算
判断用户答题正误,并输出正确结果

  • 针对第一个需求,我们选择建一个类,这个类里面首先能够对题目等级进行划分,确定用户所需等级;其次能够随机生成操作符合运算数,形成一个普通的算式;

自动生成题目

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

  • 第二个需求,主要是表达式转换和后缀表达式运算。建立两个类,一个用于中缀转后缀,一个用于后缀表达式的计算以及答案的判断。

支持真分数

可独立使用
实现分数算式的计算

  • 第三个需求,能独立使用的真分数题目和答案,原本只考虑到在答案中体现真分数,只需要考虑求余运算,但是后来在学长给了一些提示之后才发现,还需要在题目中出现真分数,于是又将考虑如何使栈能够识别分数形式的数,问题比较复杂,后期慢慢琢磨,先把它纳入生成题目的类里面。

题目去重(扩展需求,加分项)

要求:可独立使用
实现对自动生成表达式的去重:如下
若生成:2 + 5 =
5 + 2 =
为同一题目

  • 第五个需求为拓展题,加分项,我们也在考虑这个问题,一开始我想到的是运用数组来搞两个集合,一个存放操作符,一个存放运算数,识别题目中操作符和运算数的个数和位置,相同则为重复,但是这个想法要实践起来可能就会遇到很多问题,所以先待定。

设计思路

  • 1、设计三个类,一个Test文件。三个类分别是生成题目、中缀转后缀、后缀表达式的计算;
  • 2、在生成题目的类里面声明各种算法、真分数的加入;
  • 3、在中缀转后缀的类里面运用栈进行操作,按照老师上课讲的内容,由于两个人一组,不加入括号;
  • 4、在后缀表达式计算的类里面,通过添加参数吧第二个类最后生成的后缀表达式导入,然后进行计算,同时,在这个类里面加上答案的判断,有用户输入一个值,将它和系统生成的值进行比较,然后输出不同的信息。
  • 5、在Test文件里我将会吧三个类串联起来,然后在最后加上是否继续(Y/N ?)的循环语句。

UML截图

1333648-20180501164149909-985871255.png

遇到的问题及解决方法

  • 问题1:项目已开始,我们在继承上纠结了很久,为此还设计了很多类以为将要继承一个大的父类。
  • 问题1解决方案:学长讲解之后意识到,这次的项目和学到那没有关系,是综合能力的考察,也就是说不一定用到刚学完的继承,于是豁然开朗,我们要根据需求设计不同的类,都能够各自独立完成自己的那一部分任务,然后将他们在Test文件里一起引用。

  • 问题2:我是负责UML类图的设计和中缀转后缀,后缀表达式的计算,在一开始,我的设计就存在问题,UML类图是一个类似提纲的存在,我需要的仅仅是将大致的思路构建在UML类图里面,但是我一直都觉得要将整个项目搞出来,具体实践,才能知道在每一个类里面需要用到什么方法,声明什么变量,很纠结,浪费了不少时间。
  • 问题2解决方案:经过结对同学的提醒,以及和她的良好沟通,我们发现我们的设计思路完全一样,只是在实践的过程中有一些小问题,在相互的提醒下就解决了问题,最后完成任务。

对结对伙伴20172306的评价

有些急躁,在完成一件任务的时候不会有一个先思考的过程,大局意识比较弱,感觉只要在做这件任务就够了,但是这样的队友能够促使我尽快的着手去做,而不是一味的只知道想而不去付诸实践。

参照网站

PSP

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

转载于:https://www.cnblogs.com/20172325DYK/p/8977971.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值