结对项目

结对作业

这个作业属于哪个课程 软件工程
这作业要求在哪里 结对项目
这个作业的目标 实现一个自动生成小学四则运算题目的命令行程序;学会与同学合作完成项目

一、项目成员及GitHub项目地址

1.项目成员

罗桂珊 3219005492

宋旭清 3219005494

2.GitHub项目地址

GitHub

二、PSP2.1表格

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

三、效能分析

1. 展示性能分析图

结对项目

2. 展示消耗最大的函数

结对项目

3. 改进程序性能所花费时间和改进思路描述

一开始由于条件设置错误导致题目生成数目出错,后来修改了循环条件才生成了相应数目的题目。

四、设计实现过程

1. 生成随机数

​ 1.1 生成随机数组成a/b形式

2. 在num数值范围中随机生成fuhao的值

​ 2.1 判断fuhao的值

​ 2.2 计算对应表达式

3. 将表达式所得的分子分母进行约分

4. 生成题目文件、答案文件

5. 计算错误题数、正确题数

五、代码说明

1. 所用类

1.1 ReductionofFraction类:计算结果约分成带分数

1.2 Biaodashi类:判断假分数,并化假分数为带分数

1.3 sizeyunsuan类:随机生成数字,进行组合并打印表达式、答案

结对项目

2. 所用函数

2.1 ReductionofFraction():将表达式所运算出来的新分子、分母进行约分。

结对项目

2.2 biaodashi():将随机生成的分数化为带分数

结对项目

2.3 main主函数

2.3.1 生成题目:

结对项目

结对项目

2.3.2 生成题目文件:

结对项目

2.3.3 生成答案文件:

结对项目

2.3.4 统计并计算正确题数和错误题数:

结对项目

3. 流程图

结对项目

六、测试运行

1. 题目文件Exersies.txt

结对项目

2. 答案文件Answer.txt

结对项目

3. 学生答案文件answers.txt

结对项目

4. 校对文件Grade.txt

结对项目

七、项目小结

成员:宋旭清

1.第一次结对项目,比起一个人埋头苦干,两个人实现程序的过程会顺利很多,想法也不会过于局限,发现问题也能互相提出并且一起进行改正,一千个人眼中有一千个哈姆雷特,两个人一开始对项目的想法有所不同,最后经过讨论以及上网查阅相关资料确定了所使用的方法;
2.同伴较为细心,能注意到一些比较细节的问题,发现了很多比较容易被忽略的问题,在实现程序过程中,也互相加油打气;
3.本次结对项目总的来说收获颇丰,自己的打码能力有了一定的提升,本身这方面就比较弱,还在不断学习努力中,因为以我们的能力有限,查重功能实现还有点难度对于我们来讲,在有限的时间内,我们只能先不考虑查重功能的实现,会在之后不断尝试以及最终争取实现并且完善我们的程序。

成员:罗桂珊

1.在本次作业中,我负责写主要的main函数,但由于没有和合作成员及时仔细地沟通以及去收集查阅的资料很少,所以按照自己最直接的思路写了一个很简单但是有些耗时的程序,导致程序跑起来很慢。通过这次合作,我发现了如何与合作伙伴沟通是一个非常重要的技能,这也让我在接下来的团队作业中有所准备。
2.一开始在判断语句那里缺少了条件,导致题目数量出现问题,后来通过合作伙伴的排查,把遗漏的条件补了上去,发现两个人的合作所带来的效率会比个人完成的效率高,因为合作双方会用不同的思路来找出对方的错误。
3.由于自己当时写的代码是按照最直接的判断语句去选择运算表达式,所以导致我们在思考查重的时候,不知道从哪里下手,以至于最后的查重功能没能实现。

上一篇:结对项目


下一篇:前端经典面试题60道,附答案!