项目地址:https://github.com/lzzz7/PairProgramming.git
结对伙伴作业地址:https://www.cnblogs.com/wangxu3/p/11615736.html
作业链接:https://www.cnblogs.com/cherish599/p/11577268.html
Part1、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 20 |
Estimate | · 估计这个任务需要多少时间 | 20 | 20 |
Development | 开发 | 600 | 710 |
· Analysis | · 需求分析 (包括学习新技术) | 120 | 150 |
· Design Spec | · 生成设计文档 | 60 | 60 |
· Design Review | · 设计复审 (和同事审核设计文档) | 30 | 30 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 30 | 20 |
· Design | · 具体设计 | 60 | 60 |
· Coding | · 具体编码 | 150 | 230 |
· Code Review | · 代码复审 | 60 | 60 |
· Test | · 测试(自我测试,修改代码,提交修改) | 90 | 100 |
Reporting | 报告 | 105 | 125 |
· Test Report | · 测试报告 | 50 | 60 |
· Size Measurement | · 计算工作量 | 25 | 30 |
· · Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 35 |
. | 合计 | 725 | 855 |
Part2、流程图
Part3、 解题思路
a)一个程序首先要实现的是“能用”,程序能用之后就应该考虑让用户“喜欢用”,喜欢用可以通过不断的优化代码来实现,但是由于我和伙伴的还在努力学习,所以在这方面能做的有限;而程序使用的第一印象就是GUI,所以我们做好GUI的设计。
b)确定程序的基本功能:加载学生,随机点名学生;在程序的设计方面老师在课堂上讲了很多,设计分为1.DaoLayer 2.DataBase3.Entity4.DianMing四层,相互之间引用。接口是这个程序的重点,不然难以运行起来。
随机抽取学生方法:
private void timerCallName_Tick(object sender, EventArgs e)
{
Random ra = new Random();
int i = ra.Next(stuList.Count);
lblName.Text = stuList[i].Name;
label3.Text = stuList[i].Id;
}
Part4、代码互审及代码规范
代码互审:代码的互审在最后真的很有用,自己有时候不管检查多少遍,都不会很快的发现问题,但是互审真的很利于发现问题,因为是一些寝室结对的,所以互审很方便也很快,互审之后得出的结论,发现我们在接口的运用不能很快的把握住重点。
代码规范:代码规范主要是结合书上和网络的知识来学习代码规范:代码规范链接
Part5、代码编写
1.按照四个层来实现程序运行
2.新增“抽取学号功能”
Part6、代码测试
代码测试这方面花了我们很久的测试,在网络上学习到有一个查覆盖率的方法,就试了一试,之后我们也进行了简单的测试。
Part7、合作及总结
下面是我们合作编写的照片。
总结:
1.对代码方面还仍需继续努力,对接口的应用不能十分的熟练,有时候脑壳容易绕昏。
2.结对编程需要考虑的事情很多,比如任务的分配,时间的规划,很多方面需要去考虑,在这次结对编程的过程里,发现很多的问题;这还仅仅是两个人的结对编程,以后的大型工程需要一个完整的团队来设计 和完成,这需要考虑更多方面;通过这次结对的编程,我们应该有意识的去培养自己,锻炼自己成为项目里PM的这个角色。