【软件工程实践】结对项目-四则运算 “软件”之升级版
本次作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213
我们的项目GitHub远程仓库地址:https://github.com/numtozzy/Twinning
我的github地址:https://github.com/leo0620
作业要求:
(1)基本要求
- 自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。
- 用户可以输入答案
- 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。
(2)我们是在IDEA和Chrome浏览器下开发调试的,主要拓展的方向有:
3.用户答题结束以后,程序可以显示用户答题所用的时间
6.程序可以出单个整数阶乘的题目:如:4!=24
7.程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。
8.程序可以设置皮肤功能,可以改变界面的颜色即可。
第四个方向(4.用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数)有所涉及,但没有完善好。
(3)结对成员
姓名:周志勇 学号:201606120025 博客园地址:https://www.cnblogs.com/me-zzy/
姓名:李耀强 学号:201606120027 博客园地址:http://www.cnblogs.com/leo0724/
结对子项目粗略的过程记录:
分工:我做的主要是6和7方向,算法实现
搭档做的主要是3和8方向,页面
遇到的问题:1.按钮之间的互斥关系、2.bootstrap布局问题、3.算法的实现、4.需要使用到Stack()函数,js中没有定义、5.鼠标、时间监听事件的功能实现、
如何解决:1.利用正则表达式检测、2.反复查看学习bootstrap文档、3.多思考多尝试互相讨论、4.利用数组自主实现了Stack()函数,5.反复琢磨尝试,根据需求实现功能
注:思考时间很多,记录有所偏颇,实际时间可能比这个长。
两个人的代码嵌套在一起,可能有些相似的功能被分成不同的函数,代码看起来会有点冗余。
部分程序截图:
工作照:
收获和感悟:
谈到软件工程有一点离不开的是,它是一个团队合作过程,开发软件分工合作至关重要,这不是一个人的王者,而是团队的荣耀。从本次结对子合作中与搭档交流讨论需求,分析以我们现阶段所学能实现的功能。其中最大的感受就是程序开发不觉得力量很薄弱,因为自己身旁还有一个队友、一个支持。每次我们遇到问题都会讨论一番,每一个人的见解或多或少都不一样的地方,有时候讨论完就感觉豁然开朗,比自己抓头挠脑要好。有些自己认为可能可以完成的方案会得到队友的认可,开发就变得有自信了。
我们分工合作互相帮助,虽然问题重重却又迎刃而解,让乏味的开发增添了乐趣,本次结对子编程收益良多,感谢搭档周志勇的支持与帮助。