一、Fork仓库的Github项目地址
github项目地址 | 网址链接 |
---|---|
结对伙伴作业地址 | 网址 |
二、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 15 | 15 |
· Estimate | · 估计这个任务需要多少时间 | 20 | 20 |
Development | 开发 | 30 | 40 |
· Analysis | · 需求分析 (包括学习新技术) | 50 | 80 |
· Design Spec | · 生成设计文档 | 20 | 20 |
· Design Review | · 设计复审 (和同事审核设计文档) | 15 | 20 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 15 | 20 |
· Design | · 具体设计 | 40 | 80 |
· Coding | · 具体编码 | 150 | 250 |
· Code Review | · 代码复审 | 60 | 70 |
· Test | · 测试(自我测试,修改代码,提交修改) | 100 | 120 |
Reporting | 报告 | 70 | 120 |
· Test Report | · 测试报告 | 60 | 120 |
· Size Measurement | · 计算工作量 | 25 | 25 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 30 |
合计 | 合计 | 700 | 1030 |
# 三、解题思路
拿到题目后,感觉和自己过去所作的项目有很大不同。这次项目要求是做一个课堂点名系统。这个项目的两个基本功能点是,加载学生名单、随机抽取学生,该项目依靠WinForm实现。
此次项目,老师在课堂上给予了我们很大的帮助。该项目的主要功能由以下几个类共同实现:
1、DaoLayer(实现操作)
2、DataBase(数据)
3、Entity(操作)
接口的名字,功能,接口与接口间的继承关系进行设计;好的接口设计可以增强代码可读性和易用性,便于操作。
实践界面如下所示:
# 三、代码复审
1、代码规范
参考:https://wenku.baidu.com/view/b5be911b6bd97f192279e9bd.htm
2、代码互审
编程和添加创新设计是我们共同参与的,因此没有发现什么大的问题,合并时只修改了不同的参数,并按照代码规范做了一定的修改。
# 四、单元测试
该项目单元测试的思路是根据学生名单人数进行,最后测试学生名单总人数。此部分由我的结对伙伴负责,结果如图:
# 五、代码说明
本次项目,大部分初始代码都是老师在课堂上介绍的,此处仅用照片的形式作部分展示:
1、Winform主窗口:
2、Entity类:
3、DataBase类:
4、DaoLayer类:
进一步创新
此外,我们在老师给予的主要代码的基础上,我们添加了登录窗口,我负责登录窗口的设计和初步代码。我的结对伙伴负责进一步完善和功能完全。这里仅展示我所负责的部分:
六、结对过程及照片
此次和我结对的是郑博同学,我们共同讨论决定在老师主要代码的基础上,加入创新设计。即设计登录界面,设置合法的登录用户,便于该项目后续的开发。此外,我们共同讨论了psp表格,然后按计划分工,最后合并代码。
七、总结和感想
1、此次项目,因为老师的帮助和指导,比较顺利,非常感谢老师。
2、结对编程可以提高效率,但是正确处理结对伙伴之间的不同想法是提高效率的关键。
3、psp表格除合理规范了时间外,还利用时间给予了紧迫感,从而提高了一定的效率,但是也有手忙脚乱的感觉。
4、git和github的操作仍需要进一步熟练和学习,目前我们没有很好的提前了解和预习掌握。每次作业都要现学,感觉很麻烦,尤其是我的英语底子不是很好的情况。