0
点赞
收藏
分享

微信扫一扫

软件构造三个迭代版本

猫er聆听没落的旋律 2022-03-19 阅读 80
java

软件构造总体报告

老师您好!,这篇报告主要是针对期末考察的算式案例的迭代版本介绍,如何去实现,设计思路,设计模式,怎么测试等等
本次考察的作业是使用Java实现的,如果需要观看效果,需要配置全局环境。
1.第一个版本(面向对象)
第一个版本采取面向对象的思想编写,简单易懂,方便进行重构拓展
文件目录如下
在这里插入图片描述

1.1算式类
首先就是对算式类的编写,用来产生各个算式
在这里插入图片描述

如图所示定义了加减法约束,左右操作数,操作符,运算结果,calculate算式的计算方法,检验结果方法checkingCalculation,及产生操作数方法generateBinaryOperatio,判断两个算式结果是否相等的equals方法等
在这里插入图片描述

1.2加法算式子类AdditionOperation
在这里插入图片描述

1.3减法算式子类SubstractOperation

在这里插入图片描述

1.3习题类Exercise
让Exercise类包含ArrayList,提供next()和hasNext()公共方法,能够遍历ArrayList里面的元素
在这里插入图片描述

产生加法算式习题
在这里插入图片描述

产生减法算式习题

在这里插入图片描述

产生加减法算式习题

在这里插入图片描述

及判断是否含有下一个算式

在这里插入图片描述

1.4习题类测试ExerciseSheet
首先定义格式化输出
在这里插入图片描述

接着产生算式
在这里插入图片描述

运行结果如下
在这里插入图片描述

2.第二个版本(算式基)
通过算式基提前生成好算式,到时候就可以通过下标获取到算式,这样就不用每次都去调用算式类生成,减少了性能消耗。
项目目录如下

在这里插入图片描述

2.1BinaryOperation
对BinaryOperation进行重构,进行直接插入算式
在这里插入图片描述

2.2AdditionOperation
对AdditionOperation重构,将加法约束分离
在这里插入图片描述

2.3AdditionConstraint加法
分离出的加法约束
这样使得代码更简洁,容易维护,分工更加明确,提高效率.

在这里插入图片描述

2.4SubstractConstraint方法

在这里插入图片描述

2.5减法约束

在这里插入图片描述

2.6 Constraints类
加减法约束继承Constraints约束类
在这里插入图片描述

2.7 GenerateBinaryOperation
对BinaryOperation类中的操作数方法进行重构
在这里插入图片描述

2.8BinaryOperationTest
对算式类BinaryOperation类进行测试的测试类BinaryOperationTest

在这里插入图片描述

运行结果如下:
在这里插入图片描述

2.9OperationBase
OperationBase算式基类
在这里插入图片描述

定义加减算式基,题目道术,文件储存位置文件名
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

以上完成了算式基的生成,存储读取
然后进行测试
在这里插入图片描述

在这里插入图片描述

2.10Judgement
校验算式结果类
在这里插入图片描述

在这里插入图片描述

首先创建一个存储空间,在进行判断算式类是否含有下一个算式,然后将结果获取,添加到存储空间里.
在这里插入图片描述
在这里插入图片描述

批改打印完成
将一个产生的算式题文件打开,则会批改显示正确率。

在这里插入图片描述
在这里插入图片描述

2.11 Exercise算式类
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

测试显示算式
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

设置答案并且判断对错
存储算式对象
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

将算式写入文件
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.12算式类测试类
ExerciseSheet测试代码
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.第三个版本(菜单界面)
将页面展示出来,让用户体验更好
较二版本之间,添加了两个类菜单类
在这里插入图片描述

在这里插入图片描述

将执行步骤全部存储在数组
在这里插入图片描述

采取了循环switch case进行选择执行步骤
在这里插入图片描述

利用递归的方法来判断用户是否退出,打印选择菜单,执行菜单等

在这里插入图片描述
在这里插入图片描述

利用递归判断是否输入的是数字,是则返回数字,不是则重新输入
在这里插入图片描述
在这里插入图片描述

测试成功,得到菜单返回
MenuText类测试类
在这里插入图片描述

与menu_mian一样采用递归的方式,看菜单选项输入是否正确,判断用户是否退出

继而使用while判断用户没有退出,接着使用switch循环输出下一个菜单供用户选择
在这里插入图片描述

填写生成算式的类型数量,每行多少个
在这里插入图片描述

调用算式基再使用switch循环生成习题,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后从main方法中调用菜单,测试成功效果如下:
在这里插入图片描述

在这里插入图片描述

举报

相关推荐

0 条评论