现代软件工程系列 结对编程 (II) 电梯调度程序新需求
原来布置的作业在这里:
http://www.cnblogs.com/xinz/archive/2010/11/28/1890300.html
正如在现实生活中一样, 软件项目的需求也会经常发生变化. 原题假设所有电梯都停靠所有楼层, 我们改成各个电梯停靠的楼层不尽相同。这在实际生活中也很常见。
例如原来:
Elevator name |
Service floor list |
Passenger limit |
Weight limit |
1 |
All floors |
10 |
800 kg |
2 |
All floors |
10 |
800 kg |
3 |
All floors |
20 |
1600 kg |
4 |
All floors |
20 |
2000 kg |
现在 (注意粗体字的变化):
Elevator name |
Service floor list |
Passenger limit |
Weight limit |
1 |
floors (1-15) |
10 |
800 kg |
2 |
floor (1, 15-20) |
10 |
800 kg |
3 |
All floors |
20 |
1600 kg |
4 |
floors (1, 10-20) |
20 |
2000 kg |
那么, 乘客的行为是否有变化? 例如, 我是一个乘客, 打算从一楼到16楼。 我来到一楼, 按了 [向上] 的按钮, 一会儿之后, 电梯1 的门开了, 我知道这个电梯是到1-15 楼, 但是我不能等了(万一调度程序脑残, 直达的电梯总也不来, 怎么办?), 我先进了这个电梯, 按15楼, 到了15楼, 出电梯, 再按[向上] , 等能到 16 楼的电梯 。
上面我们做了一个假设: 乘客如果发现目前开门的电梯能让自己更靠近目的地, 他应该乘坐这个电梯, 而不会死等直达的电梯. 这是最符合实际的假设么?
在实际生活中, 当电梯是从1楼直达15楼的时候, 电梯运行的速度会大大加快,如何在测试框架中体现这一可以帮助优化的情况?
现在的问题是:
1) 原来设计的测试框架应该改变么? 应该做什么样的改变, 才能模拟并测试这样的情况? 测试数据应该改变么?
2) 你的电梯调度算法应该做什么改进?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!