代码地址:https://git.oschina.net/cococok2/No1.homework/tree/master
需求分析:
能按照用户的要求自动生成四则混合运算的程序。
功能设计:
基本功能:基础的加减乘除计算
扩展功能:输入生成题目的个数,并统计正确题目的个数
设计实现:
程序由三个部分组成,分别为题目的生成、主函数和运算部分。本程序采用生成随机数的方法生成计算数字和运算符号,再通过运算部分读出具体算式,在进行计算。代码如下:
题目的生成
主函数
运算部分功能较为复杂,可以直接运算一个已经生成的表达式。具体代码请见博客开头代码链接。
运行结果:
PSP:
PSP2.1 |
Personal Software Process Stages |
Time (%) Senior Student |
Time (%) |
Planning |
计划 |
8 |
6 |
· Estimate |
估计这个任务需要多少时间 |
8 |
6 |
Development |
开发 |
83 |
90 |
· Analysis |
需求分析 (包括学习新技术) |
6 |
8 |
· Design Spec |
生成设计文档 |
4 |
5 |
· Design Review |
设计复审 |
4 |
5 |
· Coding Standard |
代码规范 |
3 |
2 |
· Design |
具体设计 |
10 |
10 |
· Coding |
具体编码 |
36 |
50 |
· Code Review |
代码复审 |
7 |
7 |
· Test |
测试(自我测试,修改代码,提交修改) |
25 |
30 |
Reporting |
报告 |
10 |
10 |
· |
测试报告 |
3 |
2 |
· |
计算工作量 |
2 |
1 |
· |
并提出过程改进计划 |
3 |
3 |
小结:
1.具体编码过程中,由于部分java内容的遗忘,导致具体编码时间过长,需要多练习。
2.这个程序的题目生成部分还有待改进,可以加入括号等计算。(考虑到小学生题目的难度,特意将算式设计成两个乘式或除式相加减,以减少计算难度)后期还会继续改进,改掉一些小的错误。
3.在设计师要考虑Java面向对象的特点,进行模块化的设计,这样即使修改了题目生成部分,运算部分也无需较大改动。