码云链接

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. linux-arm 安装 dotnetcore

    X86或者X64 安装.net core runtime  可以参照   https://www.cnblogs.com/nnhy/p/netcore_centos.html#4122354 而   ...

  2. 【Linux基础】mount报错:mount.nfs: Remote I/O error

    问题描述:mount 报错:mount.nfs: Remote I/O error 挂载时需要指明版本,由于NFS服务器有多个版本,V2.V3.V4.而且各版本同时运行,因此挂载时需要说明版本号. 由 ...

  3. .NET CORE学习笔记系列(2)——依赖注入[7]: .NET Core DI框架[服务注册]

    原文https://www.cnblogs.com/artech/p/net-core-di-07.html 包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IS ...

  4. IIS出现The specified module could not be found的解决方法

       1.打开IIS 信息服务,在左侧找到自己的计算机,点右键,选择属性,在主属性中选编辑,打开“目录安全性”选项卡,单击“匿名访问和验证控制”里的“编辑”按钮,在弹出的对话框中确保只选中了“匿名访问 ...

  5. Ambari Metrics 详解

    Ambari Metrics 原理 Ambari Metrics System 简称为 AMS,它主要为系统管理员提供了集群性能的监察功能.Metrics 一般分为 Cluster.Host 以及 S ...

  6. SpringCloud 学习网址记录

    SpringCloud Gateway https://www.cnblogs.com/ityouknow/p/10141740.html 熔断降级的概念 https://blog.csdn.net/ ...

  7. (一) Getting Started

    Elasticsearch is a highly scalable open-source full-text search and analytics engine. It allows you ...

  8. 8个Python高效数据分析的技巧

    一行代码定义List 下面是使用For循环创建列表和用一行代码创建列表的对比. x = [1,2,3,4] out = [] for item in x: out.append(item**2) pr ...

  9. CF438E The Child and Binary Tree 生成函数、多项式开根

    传送门 设生成函数\(C(x) = \sum\limits_{i=0}^\infty [\exists c_j = i]x^i\),答案数组为\(f_1 , f_2 , ..., f_m\),\(F( ...

  10. Python是如何实现生成器的原理

    python中函数调用的实质原理: python解释器(即python.exe)其实是用C语言编写的, 在执行python代码时,实际上是在用一个叫做Pyeval_EvalFramEx(C语言的函数) ...