首页 > 其他分享 >软件工程结对项目

软件工程结对项目

时间:2024-09-28 15:12:47浏览次数:1  
标签:结对 答案 项目 30 生成 软件工程 测试 answer 表达式

结对项目

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230
这个作业的目标 结对完成四则运算生成器

项目成员

  • 伍绍雄 学号 3122004753
  • 陈鸿航 学号 3122004732

Github

GitHub地址https://github.com/cywoo-1?tab=repositories

PSP表格

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

设计实现说明

函数设计

  • reset_ui:用于重置整个页面,重新获取输入的题目
  • input_num:获取输入的题目
  • input_answer:获取输入的答案
  • compare_answer:用于比较原答案和用户输入答案的对错
  • answer_table:用于生成答题的区域
  • get_last_framee:用于排版和美化界面
  • generate_question:调用外部函数生成题目,并展示
  • generate_answer: 获取文件中的答案并存入字典中
  • upload_file :获取上传的文件
  • submit_answers_file:用于上传答案文件比进行比对

效能分析




代码说明

random_generation:
作用:用于生成四则运算题目,并确保生成的题目符合要求‘没有负数,题目中的算术符不超过三个,生成数值大小可以控制,随机产生括号’
实现:使用python库中的random.randint函数控制生成数的大小,random.choice函数控制算术符和括号的生成

calculation:
作用:用于将后缀表达式计算出对应的数值大小,并确保e1÷ e2的子表达式,其结果应是真分数
实现:通过使用栈的结构,按顺序弹出对应的算术符号和数值,并且使用Fraction函数进行分数之间的运算

infix_converts_suffixes:
作用:用于将输入的中缀表达式转化为后缀表达式
实现:使用字典将运算符号进行分级,只有比栈中的运算符号更高一级才可以压栈,否则将弹栈,而遇到数值则直接进栈

read_file:
作用:读取用户上传的问题文件并且计算出对应的结果后输出到答案文件中

测试运行

1.这个测试确保了compare_answer方法在各种情况下都能正确地比较答案并给出正确的结果。

2.这个测试确保了reset_ui方法能够正确地将界面重置为子组件数量不超过特定值的状态,并且保证了相关方法的可调用性。

3.这个测试确保了input_num方法能够正确处理整数输入并给出适当的反馈。

4.这个测试保证了input_answer方法能够正确地获取和处理多个答案输入。

5.这个测试确保了answer_table方法能够根据输入数据正确地创建相应数量的输入框和标签,并正确地管理界面中的框架。

6.这个测试确保了get_last_frame方法能够正确地找到根窗口中的最后一个框架,如果没有框架则返回None。

7.这个测试保证了generate_answer方法能够正确地生成答案字典,并且与外部文件的内容相关联。

8.这个测试保证了test_infix_converts_suffixes方法能够将中缀表达式正确的转化为后缀表达式。

9.这个测试保证了test_calculation方法能够将后缀表达式的算术值正确的输出。

10.这个测试保证了random_generation方法能够正确的随机生成算术表达式

测试结果

界面:

生成题目:

生成答案:

核对答案:

代码覆盖率

通过python安装的coverage进行代码覆盖率测试

项目小结

通过这次结对项目,懂得了如何事先进行交流和沟通,来进行合理的任务分配,再编写各自任务的过程中,对于一些细节要进行沟通,方便在后面进行代码的整合,对于个人的代码书写要更具有独立性。

标签:结对,答案,项目,30,生成,软件工程,测试,answer,表达式
From: https://www.cnblogs.com/chhc/p/18425379

相关文章

  • 结队项目
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230这个作业的目标实现四则运算程序,掌握结对合作完成项目的技巧成员一王佳伟3122004880成员二范圣......
  • 项目实战:Qt+OSG爆破动力学仿真三维引擎测试工具v1.1.0(加载.K模型,子弹轨迹模拟动画,支持
    若该文为原创文章,转载请注明出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/142454993长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…Qt开发专栏:项目实战......
  • 结对项目
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230这个作业的目标1.加深对项目开发流程的理解2.学会在团队中沟通与合作3.进一步提升编码能力......
  • 9--苍穹外卖-SpringBoot项目中Redis的介绍及其使用实例 详解
    目录Redis入门Redis简介Redis服务启动与停止服务启动命令Redis数据类型5种常用数据类型介绍各种数据类型的特点Redis常用命令字符串操作命令哈希操作命令列表操作命令集合操作命令有序集合操作命令通用命令在java中操作RedisRedis的Java客户端SpringDataRe......
  • Vue3 + Pinia 仿抖音项目:移动端最佳实践,体验原生App般流畅
    嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法摘要:在移动端开发领域,Vue.js一直以其轻量级和易用性著称。今天,我们要介绍的是一个将Vue3和Pinia结合使用的开源项目——Douyin-Vue,这是一个模仿抖音(TikTok)的移动端短视频应用,展现了......
  • 结对项目——小学四则运算题目自动生成器
    这个作业属于哪个课程<计科22级34班>这个作业要求在哪里<结对项目>这个作业的目标<实现一个自动生成小学四则运算题目的命令行程序(也可以用图像界面,具有相似功能)>团队成员<杨富国(3122004587)、李思柔(3222004638)>Github项目地址https://github.com/wWchao-111......
  • 结对项目
    结对项目这个作业属于哪个课程计科22级12班软件工程这个作业要求在哪里作业要求这个作业的目标尝试结对编程,深入熟悉开发过程,并设计一个能自动生成小学四则运算题,还能批改题目计算分数的程序队伍成员林楦(3222004851)徐嘉炜(3122004838)Github链接:https://g......
  • Java/Spring项目中包名以“com”开头的原因分析
    一、包名的基本概念1.1什么是包名?包名是Java中用来组织类和接口的一种机制,它为类提供了一个命名空间,防止命名冲突。通过包名,开发者可以更好地管理和结构化代码。1.2包名的结构Java的包名通常遵循以下结构:反向域名:包名通常使用公司的域名的反向形式作为前缀。例如,如果......
  • 系统集成项目管理工程师笔记1 - 第一章 信息化发展
    基础知识第一章信息化发展1.1信息与信息化1.1.1信息基础信息物质、能量以及其属性的标示的集合,是确定性的增加。以物质介质为载体,传递和反映世界各种事物存在方式、运动状态等的表征。信息不是物质,也不是能力。以一种普遍形式,表达物质运动规律,在客观世界中大量存在、产......
  • Wincc7.5sp2使用VBA6-全局模板、项目模板和页面模板
    这一篇博客在新浪发表过,那边还在审核,为了避免关闭服务,在这里再次发一遍。那边的博客发表后审核期间,如果想修改是不允许的,审核时间比较长,有点不合理。前面的VBA练习,都是针对具体的项目的具体画面进行编程,在wincc项目还可以全局VBA编程和具体项目VBA编程。我边看技术文档边做练习,......