第三次作业--结对编程
一、地址
GiitHub项目地址 | 项目地址 |
---|---|
伙伴地址 | 博客 |
作业地址 | 作业 |
二、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 60 |
· Estimate | · 估计这个任务需要多少时间 | 1690 | 2730 |
Development | 开发 | 720 | 1040 |
· Analysis | · 需求分析 (包括学习新技术) | 30 | 30 |
· Design Spec | · 生成设计文档 | 30 | 60 |
· Design Review | · 设计复审 (和同事审核设计文档) | 60 | 80 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范 | 60 | 60 |
· Design | · 具体设计 | 60 | 100 |
· Coding | · 具体编码 | 360 | 720 |
· Code Review | · 代码复审 | 60 | 100 |
· Test | · 测试(自我测试,修改代码,提交修改) | 80 | 160 |
Reporting | 报告 | 100 | 130 |
· Test Report | · 测试报告 | 60 | 80 |
· Size Measurement | · 计算工作量 | 20 | 30 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 60 | 80 |
合计 | 1690 | 2730 |
三、项目
项目架构图
四、解题思路
这一次主要是结对编程的作业,可能是上一次的太难了,所以这一次老师给了模板,我们主要是在老师的模板的基础上面进行的改动。
主要增加了排序和自动点名的功能。
- 排序(正、逆序排列)
思路是:每点击一次排序按钮,就进行排序,并且更改flag的值(flag主要控制排序的规则——学号正序排序还是逆序排序)
progressName.Value =0;
//获取学生数据源
StudentDAO stuDao = new StudentDAO();
stuList = stuDao.getAllStudents();
if (flag)
{stuList.Sort((x, y) =>{if (int.Parse(x.Id) < int.Parse(y.Id)) {return -1;}else if (int.Parse(x.Id) > int.Parse(y.Id)){return 1;}elsereturn 0;}); flag = false;
}
else {stuList.Sort((x, y) =>{if (int.Parse(x.Id) > int.Parse(y.Id)){return -1;}else if (int.Parse(x.Id) < int.Parse(y.Id)){return 1;}elsereturn 0;});flag = true;
}
效果图:
- 三秒自动随机点名
思路是:先开始随机显示学生姓名,新建一个线程,在3秒后停止随机显示学生姓名
private void autoButton_Click(object sender, EventArgs e)
{timerCallName.Start();Thread thread3 = new Thread(() => {string curTime = (DateTime.Now.Second + 3).ToString();while (DateTime.Now.Second.ToString() != curTime){}timerCallName.Stop();});thread3.Start();
}
效果图:
- PS:还将老师在界面进入加载学生的时候过慢的效果改变了了
老师的效果是加载一个人进度条前进一点,往往根据实际情况来说是很耗时间的,所以我们直接改成了瞬间加载,直接全部显示出来,加载速度就只跟网络状况或者是计算机性能有关了,更加方便
//数据加载以进度条方式展现
foreach(Student stu in stuList)
{dt.Rows.Add(stu.Id,stu.Name)progressName.Value += 1;//一个学生,进度条加1;Thread.Sleep(500);}
(搞不来加入动图,这里的加载过程就没有了,嘻嘻嘻?)
- 显示学生总人数
点击加载按钮后,给名为studentsNum 的Label赋值为学生人数
//显式学生人数
this.studentsNum.Text = "学生人数:" + stuDao.getStudentRecordsNums();
效果图:
五、克隆、修改、提交代码
- 克隆赵荣泽创建的项目(先fork,再克隆)
- 修改代码后进行提交
- 请求赵荣泽拉取
- 赵荣泽同意拉取我的请求
六、代码复审
- 代码规范:代码规范简书
- 复审操作:复审细节
(PS:我们这里做的只是一个比较小的项目,所以我们的复审环节只做了100mins,是比较简单的,大体时间还是花在了熟悉复审环节上面)
七、测试
- 单元测试
测试代码:主要测试StudentDAO的
using System;
using Xunit;
using DaoLayer;namespace XUnitTestProject1
{public class UnitTest1{[Fact]public void Test1(){DaoLayer.StudentDAO dao = new DaoLayer.StudentDAO();Assert.Equal(dao.getStudentRecordsNums(), 84);}}
}
效果图:
2. 效能测试
这里主要是对于三秒的自动点名的 测试
八、提交
九、总结和思考
先放结对丑图:
总结:
- 这一次是两人的结对编程任务,是一个新的方式,主要的时间就花在了熟悉规则和完成所有细节要求上
- 这次主要是抱大腿了,伙伴牛皮嗷?,我们主要是增加了一些功能,排序和三秒的自动点名,还有就是加载速度的改变
- 结对编程最难得部分在于两个人的相互沟通,最好是确定一个C位,有的放矢,不然两人在那边为了用谁的方法就可以耽误很长时间,不过我们处于初级阶段,必要的讨论可以促进我们的学习
- 这次在git 上面提交就比行一次好多了,不过我们把顺序搞错了,最开始没有在助教的里面去搞,而是自己新建了一个仓库,就无法在提交的里面找到我们两的,返工很难受啊?
- 总的来说,受到水平的限制,我们的作业都用时较长,希望下次可以快一点,更好点!
第三次作业--结对编程相关推荐
- ASE第三次作业——结对编程
ASE第三次作业--结对编程 成员:张贺 杨涛 石恩升 github地址:https://github.com/ThomasMrY/ASE-project-MSRA 题目简介: 此次编程的题目是--统 ...
- 第三次作业-结对编程
Github项目地址:https://github.com/WHYNOTEN/WordCount.git 合作同学作业地址:https://www.cnblogs.com/Mchandu/p/1065 ...
- 北航2022软件工程第三次作业——结对编程(最长英语单词链)
软件工程第三次结对编程作业 项目 内容 这个作业属于哪个课程 北京航空航天大学2022春季软件工程(罗杰 任健) 这个作业的要求在哪里 结对编程项目-最长英语单词链 我在这个课程的目标是 学习软件工程 ...
- 软工第三次作业-结对编程
结对项目-最长英语单词链 哈哈,这次记住了,来,初始化! 项目 内容 这个作业属于哪个课程 2023年北航敏捷软件工程社区 这个作业的要求在哪里 结对项目-最长英语单词链 我在这个课程的目标是 学习软 ...
- 罗杰软工第三次作业——结对编程
BUAA-2023软件工程结对编程博客作业 项目 这个作业属于哪个课程 2023北航敏捷软件工程 这个作业的要求在哪里 结对项目-最长英语单词链 我在这个课程的目标是 学习并实践软件工程开发的方法论. ...
- 软工第三次作业——结对编程之最长单词链
项目 内容 这个作业属于哪个课程 2023北航敏捷软工 这个作业的要求在哪里 结对项目-最长单词链 我在这个课程的目标是 学习软件工程理论,在实践中体会并运用软件工程理论,收获团队开发和软件工程实践经 ...
- [2022软工第三次作业]结对编程项目——最长英语单词链
项目 内容 本作业所属课程 2022年北航敏捷软件工程教学实践 本作业要求 结对编程项目-最长英语单词链 个人课程目标 学习到软件工程的方法论,了解整个过程,并进行亲自实践 本作业在哪个具体方面帮助我 ...
- 软件工程第三次作业 结对编程
结对编程 小组成员: 201521123055 林一心 博客地址 201521123046 张杭镖 博客地址 项目地址 一.分析改进现有代码 1.单元测试: 2.覆盖率: 3.确定当前设计的一个弱点, ...
- 第三次作业——结对编程
一.地址 GITH地址:https://github.com/haveadate/WordCount.git 结对伙伴的作业地址:https://www.cnblogs.com/haveadate/p ...
- 20172303 20172322 2017-2018-2 暑假作业 结对编程项目-舒尔特方格(及获小黄衫感想)...
20172303 20172322 2017-2018-2 暑假作业 结对编程项目-舒尔特方格(及获小黄衫感想) 项目介绍 结对伙伴 姓名:张昊然 学号:20172322 舒尔特方格简介 舒尔特方格是 ...
最新文章
- 【Unity】5.1 3D坐标系基础知识
- pmp matlab 代码,【welch功率谱估计】C语言实现的代码与matlab计算结果不同
- 人工智能时代下的“烦恼”:美国国会探讨“深度伪造”风险及对策
- python的输出方式_Python--输出方式
- 【ArcGIS遇上Python】Python使用栅格数据
- php正规则表达式学习笔记(几个常用函数的区别)
- Hemberg-lab单细胞转录组数据分析(七)-导入10X和SmartSeq2数据Tabula Muris
- PAT甲级——1099 Build A Binary Search Tree (二叉搜索树)
- Django视图层:视图函数、视图类
- C#_基础,初始化器
- init.d文件夹 2012-02-09
- python机器人方向怎么学_学习如何使用 Python 构建你自己的 Twitter 机器人
- 编译出错 recompile with -fPIC
- 【优化算法】蜜獾优化算法(HBA)【含Matlab源码 1437期】
- .mmap文件用什么软件可以打开?
- C# Xamarin For Android移动开发基础进修篇
- eclipse优化设置
- linux系统软件包下载
- Rstudio 设置工作路径
- 【实验分享】通过Console口登录到Cisco设备