博客信息 | 沈阳航空航天大学计算机学院2020软件工程作业 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/sau/Computer1701-1705/homework/10583 |
课程目标 | 熟悉一个“高质量”软件的开发过程 |
作业目标 | 单元测试练习 |
一、题目要求
我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
- 能够自动生成四则运算练习题
- 可以定制题目数量
- 用户可以选择运算符
- 用户设置最大数(如十以内、百以内等)
- 用户选择是否有括号、是否有小数
- 用户选择输出方式(如输出到文件、打印机等)
- 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
二、源码地址
三、运行结果
1.首页
2.生成算式
网页端:
答案校验,答案储存在本地文件中:
本地文件:
四、评价
- 本次结对作业中,我担任驾驶员,负责完成代码整体编写工作,使程序基本实现全部要求功能;
- 安秋霖同学担任领航员,主要负责代码的测试环节,主要使用了Juint工具,并帮助我找出并修改了bug。
- 此次结对编程作业让我明白了合作的好处,两个人可以良好的交流自己的想法,完成了整个系统的编写工作。
在设计四则运算程序的过程中,总是出现一些小细节上的问题,比如,在生成算式时,总是发现有一部分算式没有符号,在生成小数时,如何将小数规范为一位小数进行字符串的传递,但这些问题在两个人的交流下,很快得以解决,也让我明白了合作的重要性。在代码编写时,主要使用二叉树进行算式节点的存储,前端主要使用HTML编写用户界面,使用Jsp进行前端和后端的交互功能,并使用Servlet进行后端数据的处理功能,服务端主要部署在Tomcat上进行。领航员同学主要使用了Juint测试,在测试过程中发现了很多生成算式的bug,例如在生成算式时会抛出异常等等。在项目完成后,他测试了各个模块的功能,并对我的代码进行了详细地检查,基本解决了所有问题。 - 在本次作业中,基本完成了所需功能,但还存在着不足,首先在算法方面,生成整数算式和小数算式时,有一定的代码冗余,其次使用Jsp导致页面响应速度过慢,整个项目还有很大的优化空间,希望通过以后的学习可以对代码进行重构。
- 总体来说,整个项目完成的比较顺利,这是我和领航员同学第二次合作,在结对编程期间我们互相交流,相互学习,增加了我们的能力,整体的合作也很愉快,希望以后可以继续合作。
五、合作照片
在项目部署时出现问题,我们合作并解决问题。