第三次作业
第三次作业——结对编程
一、项目地址
1.相关链接
| 作业地址: | https://www.cnblogs.com/cherish599/p/11577268.html |
| GitHub地址: | https://github.com/River-flows-in-you/PairProgramming |
| 结对伙伴博客地址: | https://www.cnblogs.com/jianmoxiao/ |
2.GitHub
这里是GitHub侯助的截图

具体详情在我的小伙伴的博客里
https://www.cnblogs.com/jianmoxiao/p/11615296.html
二、 PSP表格
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
| Planning | 计划 | 30 | 25 |
| · Estimate | · 估计这个任务需要多少时间 | 500 | 550 |
| Development | 开发 | 360 | 485 |
| · Analysis | · 需求分析 (包括学习新技术) | 60 | 40 |
| · Design Spec | · 生成设计文档 | 40 | 30 |
| · Design Review | · 设计复审 (和同事审核设计文档) | 20 | 10 |
| · Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 20 | 15 |
| · Design | · 具体设计 | 30 | 40 |
| · Coding | · 具体编码 | 150 | 230 |
| · Code Review | · 代码复审 | 60 | 40 |
| · Test | · 测试(自我测试,修改代码,提交修改) | 120 | 100 |
| Reporting | 报告 | 30 | 30 |
| · Test Report | · 测试报告 | 40 | 35 |
| · Size Measurement | · 计算工作量 | 20 | 20 |
| · Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 20 | 20 |
| . | 合计 | 1500 | 1670 |
三、原则体现
1.对于界面设计
在界面的设计上我和伙伴一致同意使用比较简洁的模板,注重他的使用性。在背景的选择上,要突出名字,不能稀释掉名字的颜色而导致后排无法看清的情况。
2.对于程序功能
在程序功能上,我和伙伴谈论过增加链接数据库,再设计一个考勤(旷课)或者答题加分的功能并将数据存入数据库保存。这个想法在实施过程中夭折了,由于我和伙伴电脑都无法成功连接上,所以还是回归原来的板块(即将所有的信息都编辑在代码中)。
3.对于程序信息加载
在信息加载上,我们保持较慢速度;在信息量方面,我们增加了专业和性别,以防出现同名的同学导致的乌龙。
4.Information Hiding
信息隐藏指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。
结对编程中:对于信息的保密性,我们使用了private和public两个字段,由于未连接数据库,所以没有采用interna等字段。
5.Loose Coupling 松耦合
想让对象与对象间松耦合,通过增加抽象类(Abstract Class)或者接口来做到 如何实现:软件设计的一条基本原则就是“低耦合,高内聚”,降低对象与对象之间的耦合性,便于代码设计与维护。在这个简单的程序我和伙伴并没有考虑到这样的情况。
四、代码复审
1.代码复审的标准我们采用了在CSDN看到了一篇文章的标准:
[博客地址](https://blog.csdn.net/kimylrong/article/details/7700311)
2.我的伙伴李朋珂完成了大部分的代码,我负责代码的复审,在一些类的命名问题和简洁度上讨论后保持了一致的意见。
五、单元测试
1.创建测试

2.单元测试过程:

3.单元测试结果:

六、结对的过程
1.结对图片

2.我和小伙伴写代码和编程时大部分是一起做的,李朋珂负责代码的书写,我在一旁负责复审代码和帮助他解决问题,这样的过程达到了1+1>2的效果,他的码力好而我的思维更加敏捷,所以相辅相成。
七、附加功能
1.效果图如下:

2.功能问题上面已经阐述过,主要是增加了两个信息列让点名同学的一一对应,不出现同名时两个同学起来回答问题的尴尬情况。
八、感想
| 1.对于结对的感想 | 1+1>2的效果在本次结对编程中切实的感受到了,两个伙伴的优劣互补让实验的进程显得更快。 |
|---|---|
| 2.对于代码复审的感想 | 在代码的复审中,我清晰的了解到了伙伴的代码特性,以及两个人之间的差异,所以后面我们统一了意见。这样解决问题的方法让给我受益良多。 |
| 3.对于作业的感想 | 本次作业相比前两次较为简单,可能是熟悉了软件和流程,在过程中也没有出现那么多问题,结对编程让很多个人的问题得到了解决。 |
| 4.对于伙伴的感想 | 我的小伙伴代码确实比我强多了。我属于了解但是缺乏操作的,但是我的伙伴就是操作能力强,所以组队很成功。 |
浙公网安备 33010602011771号