20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

时间:2023-03-09 02:00:06
20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

结对伙伴

  • 学号:20172306
  • 姓名:刘辰
  • 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技术上提供了很多帮助。但是不足之处还是在于和结对伙伴沟通较少,使我不能准确的把握进程以及他的设计思路。

小组结对编程照片

20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

小组成员感想

  • 邓煜坤:
    (1)首先要说的是,在这个项目的完成过程中,我在节奏的掌控方面没有做的很好,导致时间过于紧张,有些部分没有顺利完成,没有做到最好。
    (2)在收获上面有较多的发现,首先我知道了在完成一个项目之前需要做的准备过程,包括类图的设计,时间的预估等,每一步都代表着精细的设计过程,体现了编程的核心思想;
    (3)其次,在整个项目的完成过程中,对于知识点的串联,新知识的及时运用,旧知识的深度钻研,都使我受益匪浅,锻炼了编程的能力;
    (4)同时,在项目的修复过程中,反复的推敲每一个步骤,在每一个方法的运用上,给了我极大地感触,在编程的逻辑思维上得到的锻炼;
    (5)最后,与结对伙伴的合作过程中,我体会到合作的重要性,在未来我们将面临大量的程序设计,这就需要我们学会如何与人合作,提高编程效率,促进知识的交流。
  • 刘辰:
    (1)首先我觉得第一次的结对编程对于我和他来说都是一个很具挑战性的内容,我们两个的基础都不是很好,但是可以做到这,我还是很有成就感的,也觉得我的伙伴真的也很棒。
    (2)在为期三周的编程中,其实我也应该有个反思,就是因为很多事情的堆积,我没有花大量的时间去更加用心的实践,我觉得如果我们再多花些时间,一定会更好的。
    (3)在这次的编程中,我遇到问题会上网找一些用法和解决方案,我觉得在这个过程中自己学到了很多,也掌握了一些以前不知道的东西。
    (4)对于最开始的阶段,我们两个都很拖沓,而且确实缺少很多的沟通,所以以后的结对项目,我会更积极些,争取做得更好。

进度回顾

已完成部分

  • 生成题目,划分了等级,能够生成指定数量的题目;
  • 能够将实现带分数的题目生成、转换和计算;
  • 能够正确的将中缀表达式转换成后缀表达式;
  • 能够对后缀表达式进行计算;
  • Test文件中能够将以上部分结合在一起,完成整改过程;
  • 对UML类图进行了修改和完善,使其能够准确的体现整个项目的思路和概念。

未完成部分

  • 在后缀表达式计算的部分还存在BUG,在某次计算中可能得不到计算结果;
  • 因为BUG还没有修复好,Junit测试也就还没有能够完成;
  • 对正确率的统计还没有完成;
  • 还没有实现写入文件。

项目UML类图

20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

PSP

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 60 70
Estimate 估计这个任务需要多少时间 60 60
Development 开发 1680 2100
Analysis 需求分析 (包括学习新技术) 30 45
Coding Standard 代码规范 (为目前的开发制定合适的规范) 30 20
Design UML 设计项目UML类图 120 100
Coding 具体编码 180 720
Code Review 代码复审 180 120
Test 测试(自我测试,修改代码,提交修改) 120 180
Size Measurement 计算工作量(实际时间) 30 60
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 60 60
合计 2550 3535

测试过程中遇到的困难及解决方法

  • 问题一:在编写后缀表达式的计算时,我定义的变量为一个字符串,也就是String类型,但是,中缀转后缀的结果是一个数组,于是在Test的结合上出现了问题。20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结
  • 问题一解决方法:在这个问题上首先我想到的是运用利用空格将每个元素连起来,如下图,20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结
    但是后来发现行不通,发现是在实践时过于依赖上面的格式,每个程序都有自己的一套规则,需要根据实际情况作出相应的改变,于是我重新声明了一个字符串,将数组里的元素赋值给这个字符串,然后在Test里添加这个字符串,于是成功了。20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

相关代码截图

· 生成题目部分

20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结
20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

· 能够加入真分数

20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结
20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

· 中缀表达式转为后缀表达式

20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结
20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

· 后缀表达式的计算

20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结
20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

· Test类的完成与运行

20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

个人贡献度划分

我认为我们的贡献度划分是“ 50% :50% ” ;我们有两个成员,然后任务分配也比较容易,必做部分有四个,我们一人两个部分,因为每一个部分的完成都需要投入时间和精力,所以我认为没有难易之分,五五开,而且在Test的编写过程中我们进行了很多的讨论,并且一起对问题的发现与解决景象了努力,所以团结就是力量。

项目码云连接

项目链接

参考连接

结对编程项目-四则运算
结对编程和两人合作
用java实现四则运算(这篇博客给了我们小组很大的帮助,在项目进行初期发挥了极大作用)
逆波兰表示法
调度场算法