软件工程结对编程

软件工程结对编程作业

博客要求:

  1. 结对信息
    1.1 结对编程成员:
    黄晓杨:201521123071
    秦贞一:201521123072
    1.2 项目开发的码云地址:https://gitee.com/HXY071/four_operations.git
    1.3 结对照片:
    1109951-20180324000902729-792988526.png
    1.4 选择修改的程序代码:
    个人博客地址5:http://www.cnblogs.com/NianQiFeng ,源代码:https://git.coding.net/qwx_hh/java-szys.git
    1.5 码云提交记录:
    1109951-20180325163506792-387832796.png

  2. 需求分析:针对现有代码的改进分析,新开发功能的分析。
    2.1 现有代码改进分析
    目前就发现了两个bug,一个是功能键“复习”,他会回到主页面再次进行做题,功能键与实际内容不符,所以修改了功能键名称为“继续”。
    另一个是他的正确率的计算有误,第一次运行程序的时候,计算出来的正确率结果是正确的,当点击了“继续”并再次做题之后,他的正确题数rn会累加,导致正确率计算出错,因此,我们在显示正确率之后令“rn=0.0”,避免他的累加。
    图片展示:
    原功能:
    1109951-20180324000956007-581426065.png
    1109951-20180324001057162-743993409.png
    1109951-20180324001111393-1535912414.png
    修改后功能:(具体代码后续会体现)
    1109951-20180324001134055-1538579081.png
    1109951-20180324001147148-1465395193.png

    2.2 新开发功能分析
    在原功能上,我们在随机的算数题中加入了括号。

  3. 程序设计:针对新开发功能做设计,建议使用思维导图。
    原本打算用二叉树来做随机算术题的产生。但后来观察了源代码,如果要使用二叉树的话要把他们的源代码全部推翻重来,如此一来,将耗费大量的时间与精力,于是后来还是放弃了,选择了一个较为简单,而且契合恶源代码的方法。在源代码的基础上进行了小范围的修改。源代码是将加减乘除作为四种情况,用if语句进行选择。我们在这个基础上,对整数和分数运算分别加入带括号的运算。
    核心代码:
    算术式为整数时:
    1109951-20180325132349188-1648752190.png
    1109951-20180325132356597-999176145.png
    算术式为分数时:
    1109951-20180325132423353-1727839737.png
    1109951-20180325132435363-1006181233.png
    结果显示:
    1109951-20180325132453841-2098342469.png

  4. 代码展示:展示每个功能的核心代码。(此处仅展示部分)
    4.1 语言切换功能
    1109951-20180324001301067-306001320.png
    1109951-20180324001309069-1886883977.png

    4.2 计时功能
    1109951-20180324001323380-497999450.png
    1109951-20180324001332412-571165996.png
    1109951-20180324001340476-925543694.png

    4.3 题目的产生并计算(此处仅展示部分代表性代码)
    1109951-20180324142523461-1279423437.png
    1109951-20180324142531417-679690167.png
    1109951-20180324142539847-1498879033.png
    1109951-20180324142622545-2103355189.png

    4.4 题目对错的判断
    1109951-20180324001443755-861547702.png
    1109951-20180324001454935-1174540496.png

    4.5 正确率计算
    1109951-20180324001514711-942311494.png

    4.6 题数累计
    1109951-20180324001525706-256565699.png

  5. 程序运行:程序运行及每个功能的使用截图。
    5.1 语言切换功能
    1109951-20180324001644088-941165774.png

    5.2 计时功能,题目的产生并计算,题目对错的判断,正确率计算,题数累计(一个页面便可展示完全)
    1109951-20180324001705993-624691454.png
    1109951-20180324001716132-116691376.png
    1109951-20180324001723148-873790577.png

     5.2.1 计时上实现了动态计时,并在做题结束后显示所使用的时间;
     5.2.2 点击“开始”键,题目自行产生并显示,并开始计时;
     5.2.3 将答案输入文本框后,按回车,程序会对答案进行判断,并在文本框后显示是否正确;
     5.2.4 答题结束后,会根据单次答题总数和单次答题正确数进行计算,并得出正确率;
     5.2.5 每次的答题都会记录在文件中,主要是单次答题总数和单次答题正确数,随着做题次数的增加,记录也会随之增加,并在答题页面显示题数;
     5.2.6 点击“继续”会回到主页面,进行下一次答题。
  6. 类图
    1109951-20180324111016184-185514030.png

  7. PSP表格
    1109951-20180324100439784-670965471.png

  8. 小结感受:结对编程真的能够带来1+1>2的效果吗?通过这次结对编程,请谈谈你的感受和体会。
    通过这次编程,切实感受到了所谓的结对编程,在我看来,结对编程要比自己编程难多了,它考验的不是个人的编程能力,而是你在这个队伍中的协调能力,沟通交流能力,就好比代码规范,每个人的编码习惯不同,而我们在组队之后就要制定出一套需要相互配合的规则,相互制约,相互交流合作。
    在我看来,这种结对编程模式也是有利有弊,利在于学到了如何去相互沟通合作,直到最后做出成果。弊在于这种模式过于浪费时间,每个人都有自己的事情要去做,想要协调到两个人都有空的时间去沟通交流就比较麻烦,也很耗时间,相较于自己编程就是自由度比较大,时间能自己把控,完成度也会比较高。

转载于:https://www.cnblogs.com/HXY071/p/8635944.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值