223201062522刘晋-软件工程基础Y- 实验二 结对项目报告
软 件 工 程 基 础
实 验 报 告
实验名称:实验二
实验题目:结对项目
专 业 | 软件工程 |
学 号 | 223201062522 |
姓 名 | 刘晋 |
结对伙伴 | 赵德龙 |
指导教师 | 孟桂英 |
成 绩 |
完成时间: 2022 年 11 月
目 录
沈阳航空航天大学 I
1 实验内容及要求 1
1.1 教学内容及要求 1
1.2 实验要求 1
1.2.1 实验题目 1
1.2.2实验要求 2
1.2.3选做题 3
2 实验步骤 1
2.1实验过程 1
2.1.1实验代码 1
2.1.2实验过程 1
2.2选做题实验过程 1
3 总结与体会 1
1 实验内容及要求
1.1 教学内容及要求
完成结对项目,实现代码复审。
1.2 实验要求
首先在同学中找一个同伴,范围不限,可以在1~3班中随意组合,不要找同组的成员,女同学尽量找男同学结对,但是不做强制要求。
1.2.1 实验题目
本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换,这里会布置两个题目,请各组成员根据自己的爱好任选一题。
题目1:
我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
- 能够自动生成四则运算练习题
- 可以定制题目数量
- 用户可以选择运算符
- 用户设置最大数(如十以内、百以内等)
- 用户选择是否有括号、是否有小数
- 用户选择输出方式(如输出到文件、打印机等)
- 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
题目2
现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示,其使用规定如下:
- 楼层号为0~20,其中0号为地下一层
- 有楼层限制的电梯不在相应楼层停靠,如单双层
- 所有电梯采用统一按钮控制
- 请根据上述要求设计并实现一个电梯控制程序,使得用户平均等待时间尽可能小,如果有图形显示就更好了。
电梯编号 | 可服务楼层 | 最大乘客数量 | 最大载重量 |
---|---|---|---|
1 | 全部楼层 | 10 | 800 kg |
2 | 单层 | 10 | 800 kg |
3 | 双层 | 10 | 800 kg |
4 | 全部楼层 | 20 | 2000 kg |
1.2.2实验要求
- 驾驶员
- 能够完成全部代码工作,程序基本实现全部要求功能,并将代码上传至GitHub代码托管系统中。
- 能够对导航员在本次编程工作中起到的作用给出客观评价,并完成500字以上的总结,并且上传和队友工作时的照片。
- 领航员
- 能够辅助驾驶员完成全部代码工作,并且为关键函数选用合适的覆盖标准设计测试用例,并编写代码进行单元自动测试。
- 利用结对编程作业的代码检查表(表1.2)对驾驶员的本次工作进行评价,并同时填写PSP 0.1工作记录表。
- 能够对本次工作完成500字以上的总结。
表1.1工作记录表
项目 | 预计 | 实际 |
---|---|---|
设计时间 | ||
编码时间 | ||
测试时间 | ||
代码行数 | ||
测试代码行数 | ||
错误数量 | ||
错误修复时间 | ||
开发总时间 |
1.2.3选做题
从以往个人完成的项目中选择一个作品,例如:以往的具有比较完整功能的小系统,代码至少要大于100行。
- 将代码上传至个人GitHub系统中,并将代码地址交给对方;
- 对同伴的作品进行代码复审,并参照C/C++代码审查表和 Java代码审查表 这两篇博文的内容将检查内容填入以下代码审查表中;
表1.2代码审查表
序号 | 重要性 | 审查项 | 结论 |
---|---|---|---|
1 | 重要/不重要 | 审查表中待检查内容 | 填写是/否/无(是代表符合规范,否代表不符合规范,无代表代码不涉及该项内容) |
2 |
- 将对伙伴审查的结果以表格的形式写到自己的作业里,作业中应该附有伙伴作业的GitHub代码地址。
- 对同伴的代码写一篇500字以上的评论,介绍同伴的优缺点
2 实验步骤
2.1实验过程
2.1.1实验代码
https://github.com/liujin-chaoshuai/sizeyunsuan.git
2.1.2实验过程
驾驶员:刘晋
领航员:赵德龙
实验截图:
合作照片:
项目 | 预计 | 实际 |
---|---|---|
设计时间 | 1h | 2h |
编码时间 | 6h | 10h |
测试时间 | 1h | 1h |
代码行数 | 300 | 783 |
错误数量 | 5 | 15 |
错误修复时间 | 1h | 2h |
开发总时间 | 9h | 15h |
2.2选做题实验过程
撰写选做题的代码复审过程。
3 总结与体会
此次我担任的是驾驶员的角色,负责代码的编写。赵德龙扮演的是领航员的角色,这次是我们的第一次合作,我们还是手忙脚乱的,但是这次我们已经可以取长补短,对我们的工作效率有了很大的提升,相信在下一次的时候我们一定会更加的娴熟、默契。在选题的时候,我们认为小学生四则运算生成系统是我们比较擅长的,因为之前在做课设的时候做过类似的。但是让我们没想到的是,这次的题和上次有很大的出入,本以为是很简单的,但实际上做起来是很困难的,我们花费了很多的时间。通过此次作业意识到自己对编程掌握的还不是很深,编程的能力远不如其他人,所以在这一次的总结中,我认识到了我恒多不足的是地方,各种细节的地方还需要很大的改进,在我们的一起开会讨论下,明确了设计理念之后,各自分工,我辅助他完成代码的敲定,帮助他查阅资料,遇到编码难题时提供建议,帮忙找出程序中的bug,以至最终代码顺利完成。在我完成代码的过程中,我的伙伴给予了我非常多的帮助,没有他的帮助,我完成不了这一项作业,所以在这一次作业中,让我深深的感受到了软件工程队伍中结对的意义和结对对软件工程的最重要的一部分,是不可缺少的。我们花费了很多的时间。但最终还是完成了这次作业。通过这次结对作业我和赵德龙都有很大的收获,为以后更好的完成作业提供了宝贵的经验,但是经验的欠缺和基础的不扎实,距离一个程序员的距离还很远,我相信通过我们的努力一定也可以变得优秀。