首页 > 其他分享 >结对项目

结对项目

时间:2023-09-28 17:24:21浏览次数:30  
标签:结对 项目 30 Product 40 生成 二叉树

小学四则运算

这个作业属于哪个课程 软件工程
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade21-34/homework/13025
这个作业的目标 1、尝试结对编程 2、深入熟悉开发过程 3、设计一个能自动生成小学四则运算题并批改题目的程序

合作者

姓名 学号
黄勇进 3121005169
陆俊聪 3121005177
GitHub仓库地址 https://github.com/sssscccchhhh/jieduixiangmu.git

PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 40 40
· Estimate · 估计这个任务需要多少时间 30 30
Development 开发 130 150
· Analysis · 需求分析 (包括学习新技术) 30 35
· Design Spec · 生成设计文档 40 45
· Design Review · 设计复审 (和同事审核设计文档) 30 35
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20 20
· Design · 具体设计 60 50
· Coding · 具体编码 400 450
· Code Review · 代码复审 50 60
· Test · 测试(自我测试,修改代码,提交修改) 60 80
Reporting 报告 80 90
· Test Report · 测试报告 30 40
· Size Measurement · 计算工作量 30 30
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 30
合计 1060 1185

效能分析

设计实现过程
本次设计程序我们采取了面向对象的方法进行编程,对于整个程序进行分析,我们以生成题目、计算答案、校对答案三个功能把它分为了三个模块构造了四个类,其中BinaryTree类主要服务于Product类实现生成题目的功能

第一个类: BinaryTree类

该类有两个功能:生成二叉树和检查两颗二叉树是否相同

生成二叉树: 是将传入的后缀表达式列表用二叉树进行存储

检查两颗二叉树是否相同:实现的方法是基于递归的方法进行遍历结点

本类是为了Product类的def isRepeat(self, express_set, expression)函数服务的,在Product类为了避免生成重复的表达式,采用了基于二叉树的形式进行查重!

第二个类: SuffixExpression类

该类的功能如下:

1、将中缀表达式转化为后缀表达式(def toSuffix(self))

2、 计算后缀表达式的值( def suffixToValue(self): )

第三个类:Product类

功能是生成要求的四则运算式子。

对于实现生成式子功能,我们把式子的各个要素分别构建方法进行生成,式子可能包含的要素分别为:整数、分数、括号、运算符。

其中分数的生成是较为复杂的,因为题目要求生成的都是真分数,所以在生成分数后我们有构建了一个方法把假分数转换为带分数

第四个类:Answer类

功能是:调用SuffixExpression类进行计算得出答案文档
校对提交的答案

代码说明
生成题目
实现思路:

代码:

计算
实现思路

代码:

测试运行

项目小结
1.开发前二人进行多次讨论,交流各自的想法,最终确定项目总体的思路,然后确定各种的任务和合作内容,
两人合作可以发现各自无法发现的bug,并互相促进更进进度。

2.遇到的困难主要是数组越界,通过严谨的检查以及步步验证的方式找出了错误并解决了。

3.总的来说,这次的结对项目对我们的帮助很大,令我们受益匪浅。

标签:结对,项目,30,Product,40,生成,二叉树
From: https://www.cnblogs.com/yongjinhuang/p/17736194.html

相关文章

  • 一个混乱千万级软件项目
    一个混乱千万级软件项目背景:公司接到一个亿级的项目,软件大概占到1/4的比例,整个项目包含了硬件和软件团队。软件团队是要实是一个软件产品,让其控制各种硬件设备做自动化运作,并打通上下游系统的数据。软件同时统计分析(包括机器学习和AI)整个项目设备的运作和任务执行情况,服务于......
  • 【案例分享】肥西县国有粮食企业“智慧皖粮”监管功能提升工程项目
    民以食为天,食物是保障人类生存和健康发展的基础,而粮仓则是确保国家粮食安全的重要组成部分。粮仓的储备也是国家重要的经济支柱之一。其重要性不言而喻,粮仓的安全与否,于国于民都是影响饭碗的大事,因此需要时刻关注粮仓的安全。在古代为保证粮仓的安全,需要投入大量的士兵把守,在科技发......
  • Kbaor_2023_9_28_Java第一次实战项目_ELM_V1_食品的实体类、工具类与实现类
    Kbaor_2023_9_28_Java第一次实战项目_ELM_V1_食品的实体类、工具类与实现类ELM_V1_食品的实体类packageelm_V1;/***[食品实体类]**@author秦帅*@date2023-9-25*/publicclassFood{privateIntegerfoodId;//食品编号privateStringfoodNam......
  • Django实战项目-学习任务系统-需求说明
    一,需求说明在我最近的阅读中,我深深被一些关于智能或系统的小说吸引。这些小说的主角意外获得某种神秘的智能或系统,然后通过完成系统发布的各种任务,逐渐提升自己的知识和能力。即使是普通的屌丝,也能在系统的管理和奖励下,一步步实现自己的梦想。这种情景让我深感兴趣,于是我......
  • npm 包从 ~/AppData 解析,而未从项目的 node_modules 中解析
    问题描述js文件import*asTHREEfrom"three";ctrl+点击three跳转到的文件为C:\Users\21632\AppData\Local\Microsoft\TypeScript\5.2\node_modules\@types\three\下的文件。而不是项目中根目录下的.\node_modules\three\build\three.js。参考为什么npm包从/AppD......
  • 从0到1的手把手教你配置项目git提交规范及其执行顺序
    从0到1的手把手教你配置项目git提交规范及其执行顺序这里以React项目为例初始化一个项目npxcreate-react-appmy-app--templatetypescriptcdmy-appnpmstart初始化gitgitinit安装husky并进行配置npmihusky#根据node_m......
  • 结对项目:实现自动生成小学四则运算题目
    软件工程计科21级2班作业要求结对项目-实现四则运算题目生成作业目标合作完成四则运算题目生成项目成员信息姓名学号杨恒3121005146游烽3121005148Github:https://github.com/wcng010/SoftwareWork2PSP表格PSP2.1PersonalSoftwarePr......
  • 结对项目
    结对项目——小学四则运算这个作业属于哪个课程软件工程这个作业要求在哪里结对项目这个作业的目标1、尝试结对编程2、深入熟悉开发过程3、设计一个能自动生成小学四则运算题并批改题目的程序一、合作者姓名学号冯逸华3121005162马传丞312100......
  • 结对项目:自动生成小学四则运算题目
    所属课程软件工程导论作业要求个人项目作业目标熟悉结对编程、完成小学四则运算题目的自动生成小组成员姓名班级学号林劲辰计科2班3121004707许庆阳计科2班3121004931Github链接:https://github.com/HsuQingYoung/PeerWork项目要求1、......
  • 结对项目:用python实现一个自动生成小学四则运算题目的命令行程序
    这个作业属于哪个课程计科21级12班这个作业的要求在哪里结对项目这个作业的目标了解结对项目的过程团队成员信息姓名学号肖兴明3121004712徐强3121004713Github链接GithubPSPPSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实......