2017软件工程第3次2人作业(黄智+王圣奇)
$Github$链接: https://github.com/hz5612777/Calculator_task3
$PSP2.1$表格:
|
$PSP2.1$ |
$Personal\ Software\ Process\ Stages$ |
预估耗时(分钟) |
实际耗时(分钟) |
|
$Planning$ |
计划 |
$20$ |
$20$ |
|
$· Estimate$ |
· 估计这个任务需要多少时间 |
$3300$ |
$2435$ |
|
$Development$ |
开发 |
$2990$ |
$2350$ |
|
$· Analysis$ |
· 需求分析 (包括学习新技术) |
$10$ |
$10$ |
|
$· Design\ Spec$ |
· 生成设计文档 |
$240$ |
暂无 |
|
$· Design\ Review$ |
· 设计复审 (和同事审核设计文档) |
$420$ |
暂无 |
|
$· Coding\ Standard$ |
· 代码规范 (为目前的开发制定合适的规范) |
$60$ |
$60$ |
|
$· Design$ |
· 具体设计 |
$430$ |
$430$ |
|
$· Coding$ |
· 具体编码 |
$430$ |
$430$ |
|
$· Code\ Review$ |
· 代码复审 |
$100$ |
$120$ |
|
$· Test$ |
· 测试(自我测试,修改代码,提交修改) |
$1300$ |
$1300$ |
|
$Reporting$ |
报告 |
$290$ |
$65$ |
|
$· Test Report$ |
· 测试报告 |
$200$ |
暂无 |
|
$· Size Measurement$ |
· 计算工作量 |
$30$ |
$20$ |
|
$· Postmortem\ Process\ Improvement\ Plan$ |
· 事后总结, 并提出过程改进计划 |
$60$ |
$45$ |
|
合计 |
|
$3300$ |
$2435$ |
1 设计
根据我在命令行编出的程序,我想将计算器软件的模块分为三部分,分别是练习模式、测试模式、和考试模式。
(1)用户注册和登录
我设计了计算器使用的三种模式,首先在使用计算器软件之前,要登录用户账户,账户名没有注册的需要先注册。登录后弹出软件主界面,分为练习模式、测试模式和考试模式。如下图所示:



(2)练习模式
练习模式的界面如下:




用户首先被要求输入题目数量,进入后单击开始作答按钮作答,完成作答后,会给出本次练习的答题正确率,单击保存按钮可以保存本次练习信息。
(3)测试模式
测试模式的界面如下:



用户被要求输入答题时间,进入后单击开始作答按钮作答,同时软件开始计时,答题结束后,会给出本次测试的答题正确率,单击保存按钮可以保存本次测试信息。
(4)考试模式





该模式下,用户被要求给出答题的数量和时间,进入后单击开始考试按钮,软件会给出考试说明,在答题框输入ok并单击提交按钮后,软件会给出所有试题,用户可以根据题目,按照考试说明的正确格式在答题框输入答案,输入答案后,对应题号的题目完成作答,当然,重新输入答案,对应题号的答案会被更新。用户没有回答的题目,会被标注为该题未作答。
考试时间到后,软件停止作答,这时在答题框键入outputscore可以得到各题的分值、用户该题是否做对、以及用户的总得分,当用户单击保存本次考试的时候,本次考试的相关信息会被保存。
2 测试
(1)测试方法
根据设计的思路,总共有8个界面,本次测试通过运行程序,然后在各个界面上观察程序运行情况来进行调试。
(2)测试内容
各个界面是否能够按照预定的功能运行、是否会发生闪退。
(3)测试结果
起初的测试里面有各种导致程序闪退、功能异常的情况发生,经过调整后,目前程序不会发生闪退,各个界面的功能正常运行,不会出现由于用户胡乱操作而导致软件奔溃的现象发生。
(4)需要改进的地方
①本软件没有增加错题本的功能,只是单单输出成了txt文本,但是基本的错题本设计思路是设计好的,用户的数据被我存储成“名字_模式_data”的格式,当某一用户登录的时候,进入错题本功能后,软件可以指定打开对应用户名的txt文本,可以输出该用户所有的错题记录或者根据日期,读取某一日期的做题记录。


3 结论
这次2人合作给我的压力很大,因为后来同学有事,没有拍结对编程的照片。这也导致很多工作量压在自己身上,没法按时完成预定的工作,真真正正的感受到人月神话的描述,一个人的力量确实太有限了。这期间我有一些体会,要想编一个用户真真能用的软件,真的要付出比原来的程序多好几倍的工作量,而为了保证用户不在使用软件的时候犯错,又需要设置各式各样的限制,这无形中都增加了做软件的难度,也更能理解软件工程的意义了。

浙公网安备 33010602011771号