结对项目

结对项目—自动生成小学四则运算题目

这个作业所属课程 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来实现,既方便又简单。
初步编写时毫无头绪,乱写一通后发现问题颇多,最终便先到网上搜了一些模板,再通过与合作者的探讨,然后选择其中较为
简洁的思路进行代码的编写。(磨刀不误砍柴工,毫无头绪时应先理清思路再进行编程,否则不但写不出好的代码,最终更可
能竹篮打水一场空。)

posted @ 2020-10-13 00:00  崇光  阅读(91)  评论(0编辑  收藏  举报