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

posted @ 2018-01-19 00:15  骑猪看日出。  Views(153)  Comments(0)    收藏  举报