现代软件工程系列 结对编程 (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) 你的电梯调度算法应该做什么改进?  

 

转载于:https://www.cnblogs.com/xinz/archive/2010/12/12/1903759.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值