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

华兴观点 2018-03-25

代码:https://coding.net/u/Thomaskang/p/sizeyunsuan/git?public=true

先来一张图片缓解下鸭力。

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

1、需求分析

做一个小学生四则运算

(1)接受需要的题目数量

(2)0到100之间的整数

(3)每个题至少两种运算符

(4)不能出现负数和非整数

(5)输出到一个txt文件中

2、功能设计

用户交互功能:用于用户输入题目数量和获得运行后的题目文件(包括答案)的文件下载按钮

后台功能:实现各类实际的需求分析得用户需求

接受需要的题目数量

0到100之间的整数

每个题至少两种运算符

不能出现负数和非整数

前后台交互功能:怎样连接前后台

错误提示功能:在用户输入不规范等情况下提示错误信息

3、设计实现

用户交互功能:简单的前台页面html+css

后台功能:

(1)接受题目数量,前台jsp传递通过servlet跳转传递到后台,java类通过参数接收

(2)产生四个随机数类,得保证在0到100之间,不能有负数和非整数

(3)产生四个随机字符类,并且对个数和种类得有限制

(4)计算类,运用Java的String中的eval方法进行计算,避免优先级判断

(5)运用io流文件输出到一个txt文件中

前后台连接:jsp+servlet

错误提示功能:用前台js正则表达式进行限制提醒

4、算法详解:

对于优先级问题没必要去讨论,java提供了对于Sting里面的数字运算的方法,自动处理里面的优先级,eval()方法,把计算表达式转换成string进行计算出结果再输出。这是我原本的想法。接下来,想讲下我的辛酸历程。

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

有一句话是理想很丰满,现实很骨感。最后我没有实现这个功能的全部,仅仅实现了它的一部分,因为在我测试运行的时候出错了。

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

在这儿我纠结了将近半天,翻了各种博客,做各种测试,最后的结果是,在一到两条数据的时候是可以运算的,但当数据循环多了反而不行了,真的很懵。

简述下关于这点的想法,引入JavaScript的 各种包,然后用eval方法。

将每次拼接的表达式放在字符串里面。用ArrayList包容,然后遍历的去计算,计算后再用ArrayList去接收。

之后用io类进行输出。

5、测试运行

1、接收题目数量和学号:通过servlet传递跳转,有点多次一举,原本是想要为了更好的用户体验。

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

2、产生四个随机数;

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

3、运算符,这点我觉得写得不错,我考虑到了每个运算符出现的概率应该相等。

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

4.计算结果,虽然没有完全做完,但我认为我的想法是没错的。也贴一些我的运行结果。

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

5、出题:2016012066+小学四则运算练习软件项目报告

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

7、io输出:

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

6、满意代码片段

敲了的代码都挺满意的。

最满意的可能就是考虑到了运算符的出现概率和用户体验那一块。

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

7、总结

总得来说,整个敲代码的过程其实不是很难,有想法,而且做起来逻辑挺清晰的。

但最后没有完成的原因,一是因为忙工作室和其他事情把作业拖到了最后时间不够,二是自己对于某些函数的了解程度和编码程度都还不够。

也算是给自己一个警示吧,做一个东西得做好准备,而且得要对面临的问题又应对措施。

在计算那一步花了很多时间还没弄出来的时候就应该换思路了,不能钻牛角尖下次。

给自己留够时间。

8、展示PSP

任务内容

计划共完成需要的时间(小时)

实际完成需要的时间(小时)

计划

0.5

1

·估计这个任务需要多少时间,并规划大致工作步骤

10

15

开发

8

15

·需求分析 (包括学习新技术)

0.5

1

·生成设计文档

0.6

0.6

·设计复审(和同事审核设计文档)

·代码规范(为目前的开发制定合适的规范)

0.2

·具体设计

0.5

0.5

·具体编码

10

12

·代码复审

1

·测试(自我测试,修改代码,提交修改)

2

5

报告

0.5

2

·测试报告

·计算工作量

16

18

·事后总结,并提出过程改进计划

15

相关推荐

BlockheadLS / 0评论 2012-07-21