软件工程第四次作业
博客信息 | 沈阳航空航天大学计算机学院2020软件工程作业 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/sau/Computer1701-1705/homework/10685 |
课程目标 | 熟悉一个“高质量”软件的开发过程 |
作业目标 | 结对编程练习 |
1.题目介绍
- 现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示,其使用规定如下:
- 楼层号为0~20,其中0号为地下一层
- 有楼层限制的电梯不在相应楼层停靠,如单双层
- 所有电梯采用统一按钮控制
- 请根据上述要求设计并实现一个电梯控制程序,使得用户平均等待时间尽可能小,如果有图形显示就更好了。
- 算法设计方面问题,大家也可以咨询助教,或者参考这篇文章
- 另外大家也可以参考邹老师的这篇文章
电梯编号 | 可服务楼层 | 最大乘客数量 | 最大载重量 |
---|---|---|---|
1 | 全部楼层 | 10 | 800 kg |
2 | 单层 | 10 | 800 kg |
3 | 双层 | 10 | 800 kg |
4 | 全部楼层 | 20 | 2000 kg |
2.角色分配
驾驶员:1704班邱欣野
领航员:1705班穆可鑫
3.开发介绍
(1)图形化操作界面
采用web图形化操作界面
(2)访问路径
运行elevatorRun.jar后访问http://localhost:8080
(3)算法
仿照look算法
4.功能介绍
介绍:
- 实时状态:可以在实时状态中监听每个电梯目前的属性,如总人数,总重量,当前层数,运行状态。
- 电梯信息:可以在不同序号对应的不同电梯信息中获取具体信息。
- 操作:
- 总控制开关:控制所有电梯的运行和使用。
- 清除数据/停:清除所有当前已添加的数据。
- 楼层信息:获取每层楼已添加的总信息,包括层数,总人数,总质量。
- 添加/删除乘客:添加/删除乘客信息。
- 电梯运行动画:观察电梯的运行路径。
5.合作讨论照片:
6.运行结果样例:
7.总结:
在本次结对编程作业中,我担任驾驶员角色完成代码的编写工作,穆可鑫同学在本次作业中担任领航员工作。在领航方面,穆可鑫同学给出了很好的解决问题的方针和思想,并画出了相应的流程图,在进行共同的讨论和研究后,我完成了本次作业的代码编程任务。完成本次任务后,穆可鑫同学对我的程序进行了严谨的审查和大量的数据测试,提醒我修改了代码中的不安全语句,提醒我优化了一些复杂的逻辑,以及提醒我补充了一些不完整难以理解的注释。我认为此次结对编程领航员发挥的作用很大,不仅能辅助驾驶员完成代码,还能提升驾驶员的工作效率,并省去了驾驶员的测试和修改时间,优化一些复杂的逻辑。虽然在设计和编写过程中我们遇到了很多的问题,但我们两个人配合默契,相互监督,成功的完成了本次结对编程的作业,实现了所有的基本功能。