码云链接

https://gitee.com/A5320/pair_programming_code

需求分析

  • 实现一个命令行程序,要求:
    1.自动生成小学四则运算题目(加、减、乘、除)
    2.支持整数
    3.支持多运算符(比如生成包含100个运算符的题目)
    4.支持真分数
    5.统计正确率
  • 从题目要求可知,我们需要实现以下几个功能:
    1.随机生成个四则运算题目,并可手动控制生成的题目数目
    2.能将计算的结果转化为分数
    3.自动计算生成题目的结果,并能判断用户输入是否与运算结果相同
  • 现阶段已实现要求2、3,要求4虽已初步实现但仍存在一些问题,我们将会在下一阶段中实现所有项目要求的功能,并可拓展以下功能:
    1.随机生成题目
    2.题目去重
    3.生成题目后从文件读入并判题

设计思路

  • 本周主要考虑要求2,3,4
  • 参考2016-2017-2 《Java 程序设计》课堂实践项目学习了如何对逆波兰式求值以及如何将输入的中缀表达式转化为后缀表达式
  • 借鉴教材上第100页的例子22封装了有理数类Rational,实现了对真分数的支持,并考虑到在分母为零时输出错误提示

UML类图

运行过程截图


结对感受

本次结对伊始,我跟搭档先各自独立研究项目,各有着重点,比如我主要研究分数运算,小伙伴着重于中缀式转换为后缀式,在后期将代码合成的时候,我们发现想要将数据类型整合在一起需要进行比较麻烦的修改,由此吸取教训,以后分配任务的时候应当提前规划好这些细节。

对结对的小伙伴做出评价

我的结对搭档是龚仕杰,在合作的过程中他是牵头人,他对小组做出了很大的贡献,在编程过程中我们互相学习,在遇到困难时不独自发愁,而是一起讨论解决办法。希望能在以后的任务中继续合作密切配合。

PSP

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 15 30
Development 开发
Analysis 需求分析 (包括学习新技术) 25 35
Design Spec 生成设计文档 30 30
Design Review 设计复审 (和同事审核设计文档) 20 30
Coding Standard 代码规范 (为目前的开发制定合适的规范) 35 45
Design 具体设计 60 80
Coding 具体编码 150 300
Test 测试(自我测试,修改代码,提交修改) 30 35
Size Measurement 计算工作量 10 20
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30 35
合计 435 670

2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结的更多相关文章

  1. 20175324王陈峤宇 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结

    20175324王陈峤宇 2018-2019-2<Java程序设计>结对编程项目-四则运算 第一周 阶段性总结 需求分析 这次的结对作业是要求我们利用栈来设计一个计算器. 自动生成四则运算 ...

  2. 20175229许钰玮 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结

    20175229许钰玮 2018-2019-2<Java程序设计>结对编程项目-四则运算 第一周 阶段性总结 需求分析 自动生成四则运算题目(加.减.乘.除). 既可以用前缀算法(波兰算法 ...

  3. 20175311胡济栋 2018-2019-2《Java程序设计》结对编程项目-四则运算 第二周 阶段性总结

    20175311胡济栋 2018-2019-2<Java程序设计>结对编程项目-四则运算 第二周 阶段性总结 需求分析 这是利用栈来设计一个计算器的第二阶段总结. 自动生成四则运算的题目( ...

  4. 20175316盛茂淞 2018-2019-2《Java程序设计》结对编程项目-四则运算 第二周(6)

    20175316与20175329 结对编程练习_四则运算(第二周) 1.需求分析 实现一个命令行程序,要求: 自动生成指定数量的小学四则运算题目(加.减.乘.除) 支持整数 统计正确率 支持多运算符 ...

  5. 结对编程项目——四则运算vs版

    结对编程项目--四则运算vs版 1)小伙伴信息:        学号:130201238 赵莹        博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...

  6. 20165223 结对编程之四则运算week1-阶段性总结

    目录 一.结对对象 二.需求分析 三.设计思路 四.功能截图 五.结对感受 一.结对对象 担任角色 驾驶员(Driver):20165223 蔡霓(是控制键盘输入的人) 领航员(Navigator): ...

  7. 20165223 结对编程之四则运算week2-整体总结

    目录 一.结对对象 二.需求分析 三.设计思路 四.核心代码 五.功能截图 六.结对感受 一.结对对象 担任角色(本周交换角色,流动学习) 驾驶员(Driver):20165218 赵冰雨(是控制键盘 ...

  8. 20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结

    20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: http://www.cnblogs.com/ ...

  9. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段

    2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段 最后的一周,时间越来越紧张,因为之前的拖沓和一些事情的耽误,导致了如今的紧张,这一周应该是我们小组效率最高 ...

随机推荐

  1. Python面试笔记一

    目录 一.MySQL(30题) 二.django(15题) 三.Python部分(46题) 四.RESTful API设计指南(7题) 五.补充 一.MySQL(30题) 1.mysql如何做分页 m ...

  2. 【笔记】Python集成开发环境——PyCharm 2018.3下载、注册、帮助文档

    [博客导航] [Python导航] 前言 使用好的开发环境将有效提高编程效率,在Python使用上我是小白,所以特意请教了从事语言处理的成同学,告知我,推荐使用Pycharm和IntelliJ. 目前 ...

  3. topjui中combobox使用

    1.创建combobox的方法 常用的一种是通过Js定义,一种是通过在input输入框中定义,还有一种通过在selete标签中定义,可以去看easyui的官方文档 http://www.jeasyui ...

  4. js 页面history.back()返回上一页,ios 不重新加载ready的解决办法

    参考自 http://blog.csdn.net/hbts_901111zb/article/details/76691900 项目中,主页面有很多输入字段,当由主页跳转到子页面, 将子页面的字段 s ...

  5. Java线程状态转换

    前言:对于Java线程状态方面的知识点,笔者总感觉朦朦胧胧,趁着最近整理资料,将Java线程状态方面的知识点总结归纳,以便加深记忆. 1.Java线程状态值 在Thread类源码中通过枚举为线程定义了 ...

  6. Arduino内部网页代理,网页穿透,公网访问Arduino内部网页

    #include <ESP8266WiFi.h> const char* id     = "id";  //http://www.mcunode.com/proxy/ ...

  7. css3学习系列之移动

    transform功能 放缩 使用sacle方法实现文字或图像的放缩处理,在参数中指定缩放倍率,比如sacle(0.5)表示缩小50%,例子如下: <!DOCTYPE html> < ...

  8. python对 if __name__=='__main__'的理解

    对于学过其他编程语言的人来说都知道程序都是从main函数开始执行的,而对于python来说他并没有主函数,他不像其他语言需要需要转化为二进制文件 然后才能执行,他时通过翻译器从第一行开始逐行执行,所以 ...

  9. java的List列表转成Tree(树形)结构列表

    直接看借鉴博客:https://blog.csdn.net/massivestars/article/details/53911620/ 由于我的业务没有父子级id两个字段,只有一个层级id字段来分层 ...

  10. CKEditor 4.5 filetools, XHR.withCredentials = true,

    var editor = CKEDITOR.replace( 'editor1', { extraPlugins: 'uploadimage,filetools', imageUploadUrl: ' ...