结对编程

软件工程网络15结对编程作业

安稳与你 提交于 2020-03-06 18:57:29
一.链接 学号:侯帅军201521123092博客链接: http://www.cnblogs.com/springbreezemiles/ 学号:张朝玮201521123106博客链接: http://www.cnblogs.com/paohui/ 结对编程码云项目链接: https://gitee.com/springbreezemiles/in_software_engineering_programming 二. 1、需求分析 本题要求设计一个程序,可以自动生成小学四则运算题目。这个程序可以方便小学的老师为学生布置题目,也可以为家长给孩子做测试提供便利,可以说是很实用的。做这个程序,我们当然是希望出题的难度可以适中,题目类型又多样,包含十位数以内的加、减、乘、除等基本的运算,可以处理用户的输入,检查结果是否正确并打分统计正确率,并且可以自定义题目个数。 2、思维导图 3、代码如下 四则运算 import java.math.BigDecimal; import java.text.DecimalFormat; public class Dj{ long sum; char a[]={'+','-','¡Á','¡Â'}; char b[]={'+','-','¡Á','¡Â'}; public void Dj(int b,int c,int d) throws Yc{ if

软件工程第四次作业---结对项目

橙三吉。 提交于 2020-03-04 07:27:58
(1)结对成员的博客链接地址: https://www.cnblogs.com/lllm/ (2)结对成员对四则运算项目进行代码互审,并给出代码审查结果表 内容 王婷 宋清雪 概要部分 代码是否符合需求和规格 符合 符合 代码设计是否考虑周全 是 是 代码可读性如何 易读懂 可读性高 代码容易维护么 易维护 易维护 代码的每一行都执行并检查过了吗 是 是 设计规范部分 设计是否遵从已知的设计模式或项目中常用的模式 是 是 有没有硬编码或字符串/数字等存在 有 有 代码有没有依赖于某一平台,是否会影响将来的移植 否 否 开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现? 否 否 否 否 有没有无用的代码可以清除? 没有 没有 代码规范部分 修改的部分符合代码标准和风格么? 符合 符合 具体代码部分 有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? 已处理 已检查 对错误进行处理,检查了异常 参数传递有无错误,字符串的长度的字节的长度还是字符的长度,是以0开始计数还是还是以1开始计数? 无错误 从0开始 无错误 从0开始 边界条件是如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环? 首先指定边界,没有死循环,符合条件继续执行

结对编程作业1

ぃ、小莉子 提交于 2020-03-04 04:25:12
1.改进现有代码 1.博客链接 201521123015 201521123017 2.码云 四则运算优化 使用图形界面实现四则运算 类图 JUnit单元测试 2.功能改进与扩展 代码 public void sqrt(String s)//根号 { String[] str=s.split("\\#"); if(str[0].indexOf("/")>-1 )//分数 { String[] str1=str[0].split("\\/"); if(Integer.parseInt(str1[1]) != 0 )//分母不为零 { int a=Integer.parseInt(str1[0]); int b=Integer.parseInt(str1[1]); double a1=Math.sqrt(a); double b1=Math.sqrt(b); a=(int)a1; b=(int)b1; result=simplefraction(a,b); }else{ throw new IllegalArgumentException("Divisor cannot be zero!");//除数为零时抛出异常 } } else{//整数 if( Integer.parseInt(str[0])<1000&&Integer.parseInt(str[1])<1000&

结对编程作业

断了今生、忘了曾经 提交于 2020-03-04 03:43:20
软件工程网络15结对编程作业 1.链接 学号:201521123069 博客链接: http://www.cnblogs.com/kzq-java-markdown/ 学号:201521123074 博客链接: http://www.cnblogs.com/guzhiling/ 结对编程码云项目链接: https://gitee.com/guzhiling/software_engineering/tree/master 2.改进现有代码 选择博客4进行改进: 个人博客地址4: http://www.cnblogs.com/shizhuangde 源代码: https://coding.net/u/lhl1212/p/work2/git 分析原始代码 类图: ) 覆盖率统计截图: 单元测试截图: 弱点: 1)无正确率统计 2)简英繁切换不完善(弹出错题框时,“错题”及“正确率”未切换) 3)不支持多操作符运算 4)不支持加入括号的四则运算题 5)固定为5个题目 功能改进与扩展 1)添加正确率统计 2)半完善简英繁切换(还有初始界面的按钮不支持切换) 3)支持多操作符运算 基本思路:在原有代码基础上又随机生成一个操作数以及一个运算符,先比较两个运算符的优先级,优先级较高的操作符两端算式优先算,将其结果存入,再将其与剩余操作数进行运算,调用相应的运算函数,即得出这个题目的正确答案。

软工结对作业

断了今生、忘了曾经 提交于 2020-03-04 03:35:55
1.本次作业项目github地址 项目地址 2.PSP表格,预计开发时间 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 · Estimate · 估计这个任务需要多少时间 5 Development 开发 2170 · Analysis · 需求分析 (包括学习新技术) 500 · Design Spec · 生成设计文档 150 · Design Review · 设计复审 (和同事审核设计文档) 100 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 80 · Design · 具体设计 200 · Coding · 具体编码 700 · Code Review · 代码复审 240 · Test · 测试(自我测试,修改代码,提交修改) 200 Reporting 报告 400 · Test Report · 测试报告 300 · Size Measurement · 计算工作量 20 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 80 合计 2590 3.看教科书和其它资料中关于Information Hiding, Interface Design, Loose

第三次作业-结对编程(wordcount)

ε祈祈猫儿з 提交于 2020-03-04 02:38:49
第三次作业-结对编程(wordcount) GIT地址 https://github.com/Decadeeeee/WordCount GIT地址 Decadeeeee 人员 梁江:201731062126 彭正杰:201731062125 博客地址 https://www.cnblogs.com/decade2019/ 二, PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 30 · Estimate · 估计这个任务需要多少时间 30 30 Development 开发 740 1650 · Analysis · 需求分析 (包括学习新技术) 50 30 · Design Spec · 生成设计文档 30 50 · Design Review · 设计复审 (和同事审核设计文档) 30 50 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20 5 · Design · 具体设计 60 100 · Coding · 具体编码 500 885 · Code Review · 代码复审 30 50 · Test · 测试(自我测试,修改代码,提交修改) 20 500 Reporting 报告 90 60 · Test Report · 测试报告 50

软件工程结对作业博客

筅森魡賤 提交于 2020-03-04 02:38:11
软件工程结对作业博客 Github项目原地址 ( https://github.com/BillDior/BUAA_SE_01 ) Github项目现地址 ( https://github.com/kenyin123/WordChains ) 作业介绍 项目 内容 作业所处课程 班级博客 作业要求介绍 作业要求 我在这个课程的目标 初步了解结对编程的规范,增加协作编程经验 这个作业在哪个具体方面帮助我实现目标 加深了对于C++的了解,学习了图论算法等 psp表格 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) 计划 60 · 估计这个任务需要多少时间 60 开发 2910 · 需求分析 (包括学习新技术) 600 · 生成设计文档 100 · 设计复审 (和同事审核设计文档) 30 · 代码规范 (为目前的开发制定合适的规范) 20 · 具体设计 240 · 具体编码 1500 · 代码复审 120 · 测试(自我测试,修改代码,提交修改) 300 报告 150 · 测试报告 60 · 计算工作量 30 · 事后总结, 并提出过程改进计划 60 合计 3120 接口设计 Information Hiding:设计了private参数 Interface Design:接口封装得还可以。 Loose Coupling:没有实现

软件工程网络15结对编程作业

狂风中的少年 提交于 2020-02-29 16:44:07
题目要求: 码云链接 201521123011祁泽文码云地址: https://gitee.com/jiaowoxiaotiancai/software-engineering 201521123009张晨晨码云地址: https://gitee.com/z1450429983/events 需求分析: 1.实现分数整数的四则运算。 2.实现错误排查,以及正确率的统计。 3.实现新增功能括号运算,减少重复题目。 4.进行代码的单元测试,检查覆盖率。 clone过程: [改]修改clone部分: 类图: 1.参考代码的不足之处: 1.改进现有代码 【参考】个人博客地址2: http://www.cnblogs.com/belong033 ,源代码: https://coding.net/u/Belong033/p/java-third/git 不足之一: 从以上可以看出这位同学已经有了main函数,又在类(这里有两个类createInteger创建整数类,createFraction创建分数类)中又写了main方法,使得整体代码的可读性不高。 不足之二: 并且在类的main方法中包含了所有的运算方法(加减乘除)导致: 1.测试时main方法出错却不知道哪一个代码块出现问题,不能分布排查。 2.有大量重复代码,使代码的冗长,降低运行效率。 不足之三: 这里的辗转相除法感觉出现了逻辑问题

每日站会、代码审查、结对编程 之开源中国实践

人走茶凉 提交于 2020-02-28 17:26:37
在我来到开源中国之后,尝试将每日站会、代码审查、结对编程这三种编程实践带入团队。而这个过程,我个人觉得是一项非常宝贵的体验。我觉得可以拿出来和大家分享。 先介绍下目前我们团队的结构:3名Java开发,1名前端,2名实习。 以下我不会详细介绍它们分别是什么,也无意讨论它们有什么好处坏处,本文侧重分享在实践它们的过程可能遇到的问题,以及我们是如何处理的。 每日站会 每日站会 ( Stand-up ) :是每天进行的会议旨在在组队成员之间进行状态更新。'半实时'的状态允许参与者了解到潜在的挑战以及用于处理一个困难或者耗时的问题的协调精力。它在一些敏捷软件开发过程中有着特定的价值,譬如Scrum,但是同样可以在任何开发方法论中被使用。术语 “站” 衍生于通过保持与会人员站立的状态(长时间站立会导致不适)从而帮助控制会议的时间的实践。 我们每天会早上花十几分钟(具体时长看团队大小),大家一起站(是 站 )在卡墙前过卡。卡墙其实就是 Team 中的任务看板。就这样,我们从“已验收”列到“待办中”列,从上往下,一张卡一张卡的过。这里的卡是指定义了一个小功能需求的卡片。 站会不过是向领导汇报 我在实践每日站会的时候,发现不少人把每日站会当成一种“向领导汇报”的过程。比如他们会习惯地汇报:我昨天做了1,2,3 blabla。一大串,仿佛说得少就是做的少。所以这个过程,我不断地指正

结对作业2

坚强是说给别人听的谎言 提交于 2020-02-27 08:21:06
软件工程结对作业2 小学生计算题系列 题目1: 我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求: 能够自动生成四则运算练习题 可以定制题目数量 用户可以选择运算符 用户设置最大数(如十以内、百以内等) 用户选择是否有括号、是否有小数 用户选择输出方式(如输出到文件、打印机等) 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主) #include <ctime> #include<iostream> #include<stdlib.h> #include <cstdlib> #include <sstream> #include<stdio.h> #include<string.h> #include <fstream> using namespace std; #define random(a,b)(rand()%(b-a+1)+a) const string filename="test000.txt"; char yunsuanfu(int a) { switch(a) { case 1:return '+' ; break; case 2:return '-' ; break; case 3:return '*' ; break; case 4:return '/' ; break; } } int main() { const