【软件工程实践】结对项目-四则运算 “软件”之升级版

本次作业要求来自于: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.反复琢磨尝试,根据需求实现功能

注:思考时间很多,记录有所偏颇,实际时间可能比这个长。

  两个人的代码嵌套在一起,可能有些相似的功能被分成不同的函数,代码看起来会有点冗余。

部分程序截图:

工作照: 

收获和感悟:

  谈到软件工程有一点离不开的是,它是一个团队合作过程,开发软件分工合作至关重要,这不是一个人的王者,而是团队的荣耀。从本次结对子合作中与搭档交流讨论需求,分析以我们现阶段所学能实现的功能。其中最大的感受就是程序开发不觉得力量很薄弱,因为自己身旁还有一个队友、一个支持。每次我们遇到问题都会讨论一番,每一个人的见解或多或少都不一样的地方,有时候讨论完就感觉豁然开朗,比自己抓头挠脑要好。有些自己认为可能可以完成的方案会得到队友的认可,开发就变得有自信了。

  我们分工合作互相帮助,虽然问题重重却又迎刃而解,让乏味的开发增添了乐趣,本次结对子编程收益良多,感谢搭档周志勇的支持与帮助。

原文地址:https://www.cnblogs.com/leo0724/p/9846472.html