一、地址

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();

效果图:

五、克隆、修改、提交代码

  1. 克隆赵荣泽创建的项目(先fork,再克隆)

  1. 修改代码后进行提交

  2. 请求赵荣泽拉取

  3. 赵荣泽同意拉取我的请求

六、代码复审

  1. 代码规范:代码规范简书
  2. 复审操作:复审细节
    (PS:我们这里做的只是一个比较小的项目,所以我们的复审环节只做了100mins,是比较简单的,大体时间还是花在了熟悉复审环节上面)

七、测试

  1. 单元测试

测试代码:主要测试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. 效能测试
这里主要是对于三秒的自动点名的 测试

八、提交

九、总结和思考

先放结对丑图:

总结:

  1. 这一次是两人的结对编程任务,是一个新的方式,主要的时间就花在了熟悉规则和完成所有细节要求上
  2. 这次主要是抱大腿了,伙伴牛皮嗷?,我们主要是增加了一些功能,排序和三秒的自动点名,还有就是加载速度的改变
  3. 结对编程最难得部分在于两个人的相互沟通,最好是确定一个C位,有的放矢,不然两人在那边为了用谁的方法就可以耽误很长时间,不过我们处于初级阶段,必要的讨论可以促进我们的学习
  4. 这次在git 上面提交就比行一次好多了,不过我们把顺序搞错了,最开始没有在助教的里面去搞,而是自己新建了一个仓库,就无法在提交的里面找到我们两的,返工很难受啊?
  5. 总的来说,受到水平的限制,我们的作业都用时较长,希望下次可以快一点,更好点!

第三次作业--结对编程相关推荐

  1. ASE第三次作业——结对编程

    ASE第三次作业--结对编程 成员:张贺 杨涛 石恩升 github地址:https://github.com/ThomasMrY/ASE-project-MSRA 题目简介: 此次编程的题目是--统 ...

  2. 第三次作业-结对编程

    Github项目地址:https://github.com/WHYNOTEN/WordCount.git 合作同学作业地址:https://www.cnblogs.com/Mchandu/p/1065 ...

  3. 北航2022软件工程第三次作业——结对编程(最长英语单词链)

    软件工程第三次结对编程作业 项目 内容 这个作业属于哪个课程 北京航空航天大学2022春季软件工程(罗杰 任健) 这个作业的要求在哪里 结对编程项目-最长英语单词链 我在这个课程的目标是 学习软件工程 ...

  4. 软工第三次作业-结对编程

    结对项目-最长英语单词链 哈哈,这次记住了,来,初始化! 项目 内容 这个作业属于哪个课程 2023年北航敏捷软件工程社区 这个作业的要求在哪里 结对项目-最长英语单词链 我在这个课程的目标是 学习软 ...

  5. 罗杰软工第三次作业——结对编程

    BUAA-2023软件工程结对编程博客作业 项目 这个作业属于哪个课程 2023北航敏捷软件工程 这个作业的要求在哪里 结对项目-最长英语单词链 我在这个课程的目标是 学习并实践软件工程开发的方法论. ...

  6. 软工第三次作业——结对编程之最长单词链

    项目 内容 这个作业属于哪个课程 2023北航敏捷软工 这个作业的要求在哪里 结对项目-最长单词链 我在这个课程的目标是 学习软件工程理论,在实践中体会并运用软件工程理论,收获团队开发和软件工程实践经 ...

  7. [2022软工第三次作业]结对编程项目——最长英语单词链

    项目 内容 本作业所属课程 2022年北航敏捷软件工程教学实践 本作业要求 结对编程项目-最长英语单词链 个人课程目标 学习到软件工程的方法论,了解整个过程,并进行亲自实践 本作业在哪个具体方面帮助我 ...

  8. 软件工程第三次作业 结对编程

    结对编程 小组成员: 201521123055 林一心 博客地址 201521123046 张杭镖 博客地址 项目地址 一.分析改进现有代码 1.单元测试: 2.覆盖率: 3.确定当前设计的一个弱点, ...

  9. 第三次作业——结对编程

    一.地址 GITH地址:https://github.com/haveadate/WordCount.git 结对伙伴的作业地址:https://www.cnblogs.com/haveadate/p ...

  10. 20172303 20172322 2017-2018-2 暑假作业 结对编程项目-舒尔特方格(及获小黄衫感想)...

    20172303 20172322 2017-2018-2 暑假作业 结对编程项目-舒尔特方格(及获小黄衫感想) 项目介绍 结对伙伴 姓名:张昊然 学号:20172322 舒尔特方格简介 舒尔特方格是 ...

最新文章

  1. 【Unity】5.1 3D坐标系基础知识
  2. pmp matlab 代码,【welch功率谱估计】C语言实现的代码与matlab计算结果不同
  3. 人工智能时代下的“烦恼”:美国国会探讨“深度伪造”风险及对策
  4. python的输出方式_Python--输出方式
  5. 【ArcGIS遇上Python】Python使用栅格数据
  6. php正规则表达式学习笔记(几个常用函数的区别)
  7. Hemberg-lab单细胞转录组数据分析(七)-导入10X和SmartSeq2数据Tabula Muris
  8. PAT甲级——1099 Build A Binary Search Tree (二叉搜索树)
  9. Django视图层:视图函数、视图类
  10. C#_基础,初始化器
  11. init.d文件夹 2012-02-09
  12. python机器人方向怎么学_学习如何使用 Python 构建你自己的 Twitter 机器人
  13. 编译出错 recompile with -fPIC
  14. 【优化算法】蜜獾优化算法(HBA)【含Matlab源码 1437期】
  15. .mmap文件用什么软件可以打开?
  16. C# Xamarin For Android移动开发基础进修篇
  17. eclipse优化设置
  18. linux系统软件包下载
  19. Rstudio 设置工作路径
  20. 【实验分享】通过Console口登录到Cisco设备

热门文章

  1. 【Python数据科学】多表关联 merge、join、concat
  2. (Neighbourhood Components Analysis) NCA 近邻成分分析的学习
  3. 侦探系列-照片隐藏信息提取
  4. 入手域名的渠道介绍!
  5. 云计算数据中心网络安全的实现原理
  6. sersync+rsync的热备份研究(热备+断点续传)
  7. javac: 无效的标记
  8. python游戏书籍推荐_有什么好的自学 Python 的书籍推荐?
  9. php加密---六种加密方式
  10. java web后台生成随机数字字母验证码