软件工程结对项目
前言:按照结对编程的原则,我和邻宿舍的小伙伴进行了两人结对编程,我们开发的结对项目的是小学生四则运算练习软件,具体就是随机生成n道题,供学生答题并返回正误记录答题结果,进行多轮。具体需求分析以及功能设计与实现如下。
github代码地址:https://github.com/wmajun/Demo3/tree/master/src
一、需求分析
本次实验采用结对编程方式,设计开发一个小学生四则运算练习软件,使之具有以下功能:
- 由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,程序检查答案是否正确,每道题正确计5分,错误不计分,20道题测试结束后给出测试总分;
- 题库文件可采用实验二的方式自动生成,也可以手工编辑生成,文本格式如
- 程序为用户提供三种进阶四则运算练习功能选择:百以内整数算式(必做)、带括号算式、真分数算式练习;
- 程序允许用户进行多轮测试,提供用户多轮测试分数柱状图,示例如下
- 程序记录用户答题结果,当程序退出再启动的时候,可为用户显示最后一次测试的结果,并询问用户可否进行新一轮的测试;
- 测试有计时功能,测试时动态显示用户开始答题后的消耗时间。
- 程序人机交互界面是GUI界面(WEB页面、APP页面都可),界面支持中文简体(必做)/中文繁体/英语,用户可以进行语种选择。
软件设计:使用类图。、
. 核心功能代码展示:展示核心功能代码。
程序运行:程序运行时每个功能界面截图。
.描述结对的过程,提供两人在讨论、细化和编程 时的结对照片。
f.提供此次结对作业的PSP。
PSP2.1 |
任务内容 |
计划共完成需要的时间(min) |
实际完成需要的时间(min) |
Planning |
计划 |
8 |
12 |
· Estimate |
· 估计这个任务需要多少时间,并规划大致工作步骤 |
8 |
10 |
Development |
开发 |
82 |
120 |
·· Analysis |
需求分析 (包括学习新技术) |
6 |
15 |
· Design Spec |
· 生成设计文档 |
5 |
9 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
4 |
8 |
· Coding Standard |
代码规范 (为目前的开发制定合适的规范) |
3 |
8 |
· Design |
具体设计 |
10 |
16 |
· Coding |
具体编码 |
36 |
45 |
· Code Review |
· 代码复审 |
7 |
10 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
13 |
25 |
Reporting |
报告 |
9 |
15 |
·· Test Report |
· 测试报告 |
3 |
6 |
· Size Measurement |
计算工作量 |
2 |
5 |
· Postmortem & Process Improvement Plan |
· 事后总结 ,并提出过程改进计划 |
3 |
15 |