2016012035+小学四则运算练习软件项目报告

代码仓库地址:https://git.coding.net/yachuan22/four.git

一、需求分析

(1)需求:设计编写一个程序适用于小学生的四则运算练习的出题软件

(2)分析:

·设计约束:

①采用Java语言编程设计软件

②软件所出练习题在运算过程中没有负数与非整数的出现

③运算数字限制在0~100之间,运算符在3至5个之间,且每道练习题至少要包含两个运算符

·功能性需求:

①程序可接收一个输入参数n,然后随机产生n道加减乘除(分别用+、-、*、/运算符来表示)练习题

②练习题生成后,将学号与生成的n道练习题及其对应的正确的答案输出到文件“result.txt”中,不要输出额外信息,文件目录与程序目录一致

二、功能设计

·基本功能:

①实现100以内正数的四则混合运算,运算符在3至5个之间,且每道练习题至少要包含两种运算符

②每道练习题在运算过程中没有负数与非整数的出现

③练习题生成后,将学号与生成的n道练习题及其对应的正确的答案输出到文件“result.txt”中

·扩展功能(未实现)

①支持有括号运算,包括出题与求解正确的答案,算式中存在的括号必须大于两个,且不得超过运算符的个数

②支持真分数的加减运算,且能支持运算时分数的自动化简,运算过程与结果都需为真分数

三、设计实现

①生成四则运算表达式→判断第一个运算符是什么→判断第二个运算符是什么→进行计算

②若运算符号为减号→判断该运算符前面的数是否大于该运算符后面的数→是,则进行计算;否,则表达式个数加一,计算下一个表达式

③若运算符号为除号→判断该运算符前面的数能否被后面的数整除,且除数不为零→是,则进行计算;否,则表达式个数加一,计算下一个表达式

④若运算符号为加号或减号,这里不做过多阐述

⑤判断加减乘除各级运算符的优先级

四、算法详解

①生成随机数与随机运算符

②以第一个运算符“/”为例

五、测试运行

   由于时间有限,我还暂未查出我的代码哪里出现疏漏,所以现在的运行结果与预想还是存在很大的偏差

 

 

六、总结

    对于前期落下太多的我来说,这个软件程序设计项目,超出了我能力范围太多,但也总不能就这样放弃这次的作业。重拾起《Java语言程序设计》这本书,不断地上网查相关知识点,也去观摩了各位大佬的“超级”代码···对于这次作业也有了自己的一点理解和思路,之后便自己一点一点的把代码敲出来,在这过程中不断出错不断修改,并且只做出运算式只包含三个算数和两个运算符的,而且最后做出的运行结果与预想还是存在较大的偏差。虽然有点气馁,但是把自己所想的敲出来还是有一点点的满足的。

七、PSP展示

 

PSP 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 15 13
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 15 13
Development 开发 360 588
Analysis 需求分析(包括学习新技术) 30 43
Design Spec 生成设计文档 30 38
Design Review 设计复审(和同事审核设计文档) 10 8
Coding Standard 代码规范(为目前的开发制定合适的规范) 15 16
Design 具体设计 30 45
Coding 具体编码 200 370
Code Review 代码复审 30 55
Test 测试(自我测试,修改代码,提交修改) 15 13
Reporting 报告 120 135
Test Report 测试报告 45 60
Size Measurement 计算工作量 35 30
Postmortem&Process Improvement Plan 事后总结,并提出过程改进计划 40 45
posted @ 2018-03-25 22:47  zhoust  阅读(364)  评论(4编辑  收藏  举报