结对项目
结对项目—自动生成小学四则运算题目
这个作业所属课程 | https://edu.cnblogs.com/campus/gdgy/Networkengineering1834 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/gdgy/Networkengineering1834/homework/11148 |
这个作业的目标 | 实现一个自动生成不重复的小学四则运算题目的命令行程序 |
项目成员
.陈鸿欣(3118005268)
.林楷耀(3118005282)
GitHub仓库
GitHub地址: https://github.com/Flying123haha/123/blob/master/isRepeat.py
PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 40 |
· Estimate | · 估计这个任务需要多少时间 | 30 | 40 |
Development | 开发 | 725 | 765 |
· Analysis | · 需求分析 (包括学习新技术) | 30 | 35 |
· Design Spec | · 生成设计文档 | 60 | 60 |
· Design Review | · 设计复审 | 70 | 70 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 20 | 25 |
· Design | · 具体设计 | 40 | 50 |
· Coding | · 具体编码 | 420 | 450 |
· Code Review | · 代码复审 | 60 | 60 |
· Test | · 测试(自我测试,修改代码,提交修改) | 25 | 25 |
Reporting | 报告 | 70 | 70 |
· Test Repor | · 测试报告 | 40 | 40 |
· Size Measurement | · 计算工作量 | 10 | 10 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 20 | 20 |
. Total | · 合计 | 825 | 865 |
整体设计过程
代码编写的思路如下:
题目的生成分为两大部分,整数运算与分数运算,且运算符的个数从一到三之间随机生成;
式子的生成过程为判断随机数是否符合条件,若符合则逐位加入,且为了保证运算顺序,先生成的每两位随机数之间都用括号括起。
为保证答案的全面性,还加入了可将分数(若运算结果为分数)化为整数,假分数,真分数的模块。
1.文件工程结构:
2.流程设计图:
效能分析
1.性能测试图:
2.模块调用图:
3.代码覆盖率:
单元测试展示结果
1.程序运行图:
2.题目文件:
3.答案文件:
4.整体答题情况:
项目总结
首先粗略地讨论了下本次结对项目开发的大概流程,由于本结对项目的规模较小,故决定采用python来实现,既方便又简单。
初步编写时毫无头绪,乱写一通后发现问题颇多,最终便先到网上搜了一些模板,再通过与合作者的探讨,然后选择其中较为
简洁的思路进行代码的编写。(磨刀不误砍柴工,毫无头绪时应先理清思路再进行编程,否则不但写不出好的代码,最终更可
能竹篮打水一场空。)