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 |
项目 |
预计 |
实际 |
设计时间 |
|
|
编码时间 |
|
|
测试时间 |
|
|
代码行数 |
|
|
测试代码行数 |
|
|
错误数量 |
|
|
错误修复时间 |
|
|
开发总时间 |
|
2 实验步骤
2.1实验过程
2.1.1实验代码
我们结对编程选择的题目是:
题目1:我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
- 能够自动生成四则运算练习题
- 可以定制题目数量
- 用户可以选择运算符
- 用户设置最大数(如十以内、百以内等)
- 用户选择是否有括号、是否有小数
- 用户选择输出方式(如输出到文件、打印机等)
最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
根据实验报告的要求,我们已将实验二的代码上传到github网站上。
网址为:https://github.com/stayawaker/wwy/tree/main
2.1.2实验过程
(1) 本人角色
本人王唯伊,在此次实验担任的角色为领航员,能够完成全部代码工作,程序基本实现全部要求功能,并将代码上传至GitHub代码托管系统中。我的结对伙伴马超(223201062219),担任此次实验的驾驶员,负责辅助驾驶员完成全部代码工作,并且为关键函数选用合适的覆盖标准设计测试用例,并编写代码进行单元自动测试。
(2)
根据驾驶员和领航员的工作分工,分别撰写。
驾驶员:系统的实现过程、算法设计、结对工作照片等
领航员:代码测试覆盖标准、测试用例、代码检查表、工作记录表等。(本部分具体可以参照实验一的撰写方法)
3总结体会
这次的软工任务既不是单打独斗的个人任务,也不是集思广益的团队项目,而是人数为两人的结对编程。两个人合作的安排虽并非是第一次,但提出“结对编程”这个概念却是第一回。《移山之道》中对结对编程有这样的描述“在结对编程模式下,一对程序员肩并肩地、平等地、互补地进行开发工作。两个程序员并排坐在一台电脑前,面对同一个显示器,使用同一个键盘,同一个鼠标一起工作。他们一起分析,一起设计,一起写测试用例,一起编码,一起单元测试,一起集成测试,一起写文档等。”这和传统的两人一组写代码是有着明显的区别的。在我们完成任务的过程中,也逐渐体会到结对编程所带来的效率。一个人使用键盘编写代码,另一个人在一旁能够及时的发现和改正错误,这样下来能够发现不少一个人工作时发现不了的低级错误。而且,两个人结对编程时,可以随时进行讨论,当有概念模糊或是思路不清晰的时候,可以迅速寻求同伴的帮助,两个人慢慢理清思路,理清逻辑,这样的效率不是一个人工作时可以相比的。而且,两个人时还可以相互督促,能够更加全身心的投入,而且互相都能够学到很多东西。总之,结对编程使我俩都受益匪浅。
标签:结对,题目,代码,编程,工作,软件工程,实验 From: https://www.cnblogs.com/stayawake-wwy/p/16886096.html