结对项目开发-电梯调度 (刘博&徐梦迪)

电梯调度设计

2014年3月4日 星期二(18:00--21:30) 我们讨论并设置了电梯的初始状态,及一些常量数据,如下: (1)办公楼内部设有四部电梯,编号分别为A梯、B梯、C梯、D梯。 (2)因为办公楼共有21层,其中含有地下一层(地下一层为停车场)。平时如若没有请求信号,A梯自动停在2层,B梯自动停在7层,C梯自动停在12层,D梯自动停在17层。 (3)电梯内部有23个按钮,其中包括开门按钮、关门按钮和楼层按钮,编号为0,1,2,3,4……20。 (4)电梯外部含有两个按钮,即向上运行按钮和向下运行按钮。建筑顶层与地下一层例外,建筑顶层只设置有向下运行按钮,地下一层只设置有向上运行按钮。电梯外部显示电梯的状态(向上运行还是向下运行,停在第几楼层)。 (5)电梯开关门完成时间设定为1秒。电梯到达每层后上下人的时间设定为8秒。电梯从静止开始运行到下一层的时间设置为2秒,而运行中通过一层的时间为1秒。

2014年3月5日 星期三(14:30--17:30)

我们讨论并确定了电梯按钮功能及所选用的环境与界面的设计,如下:

1、电梯按钮功能:

(1)电梯内部的楼层按钮:电梯内部对应每一个楼层的按钮成为楼层按钮,编号为0,1,2,3,4……20的按钮。当乘客进入电梯后按所要到达的楼层按钮,此按钮显示黄色,其余的编号按钮为灰色。这样就表示乘客将要去往此层,电梯将开往相应层。当电梯到达该层后,按钮恢复可以使用状态。

(2)电梯内部开门按钮:当电梯达到乘客想要去往的某楼层后,乘客需要准备离开电梯,当电梯停稳后,乘客可以按下开门按钮,电梯门将打开,让用户离开。如若电梯到了乘客曾经按下的楼层,但是无乘客按开门按钮,电梯将自动在停稳后1秒后自动开门。

(3)电梯内部关门按钮:当所有想要乘坐电梯的乘客都进入电梯以后,准备让电梯开始运行的时候,乘客需要按下关门按钮,让电梯门关闭,使电梯进入运行状态。设置电梯的自动关门时间为8秒。

(4)电梯外部向上按钮:此按钮表示上楼请求,当按下此按钮时,如果电梯到达按下此按钮的楼层,且电梯运行方向是向上的,那么电梯响将停下,并在电梯停稳之后自动开门,此请求被响应后,取消此请求信号。

(5)电梯外部向下按钮:此按钮表示下楼请求,当按下此按钮时,如果电梯到达按下此按钮的楼层,且电梯运行方向是向下的,那么电梯响将停下,并在电梯停稳之后自动开门,此请求被响应后,取消此请求信号。

2、电梯调度所需要的环境及界面:

因为需要界面我们选择了C#的环境,因为水平有限,我们做比较简单的界面。

2014年3月6日 星期四(19:30--22:00)

我们讨论并确定了电梯调度的设计的基本思想及变量,如下:

(1)四部电梯分别用四个数组来实现,命名为floorA[],floorB[],floorC[],floorD[]。里面有21个变量,当电梯为空闲状态的时候,21个变量全为0,当有需要到达的楼层的时候,乘客按下按钮,相应的数字变为1,当电梯到达后,1变为0.

(2)电梯门用两个label来实现,开关利用控制它们的长度及方位来实现,左边的只需要利用时间控制它们的宽度,右边的门利用时间控制它们的长度及方位来实现。

(3)设计思想是采用了扫描算法,它是一种按照楼层顺序依次服务请求,它让电梯在最底层和最顶层之间连续往返运行,在运行过程中响应处在于电梯运行方向相同的各楼层上的请求。它进行寻找楼层的优化,效率比较高。这种情况下,每个电梯响应乘客请求使乘客获得服务的次序是由其发出请求的乘客的位置与当前电梯位置之间的距离来决定的,所有的与电梯运行方向相同的乘客的请求在一次向上运行或向下运行的过程中完成,免去了电梯频繁的来回移动。

2014年3月7日 星期五(14:30--18:00) 我们讨论并确定了电梯调度的基本流程框图,如下:

2014年3月8日 星期六(14:30--18:00) 我们讨论并确定了电梯调度的需求分析,如下:

电梯调度需求分析

一、电梯调度设计背景:

        在一个办公大楼,配置:大厦有21层,电梯4部,很多乘客(乘客重量:平均70公斤,最大120公斤,最小45公斤)日常使用这些电梯 。21层的大厦,从地面0,1,2,3... ...20。地板0是地下停车场水平,1楼是大堂的水平,大多数人进出这栋大厦都要经过这两层。

二、电梯调度设计要求:

2.1设计一套接口和类定义这样一种算法,提供者可以提供他/她实现“电梯调度程序”类。 2.2 避免出现 “公共汽车”最坏情况的算法。该算法把电梯作为总线,它从底部到顶部,停在每一层楼,打开门,让人们进出,然后把门关上,继续前进。之后到达顶层,它会下去。该算法能够满足所有的要求,但它显然不是最快的算法。 2.3 代码要求:它具有生成0 (零)的代码分析警告和错误。它必须是正确的。 2.4一个关于电梯调度提示:当总重量在45公斤的最大限制,或乘客的数量已经在最大,电梯不需要更多的外部请求停止。 2.5具有良好人机交互界面的电梯运行系统,实现上下楼的快捷、安全、方便。

三、电梯调度功能要求:

模拟多人在不同楼层同时要求到各自目的地时电梯的响应顺序

3.1客户(上楼、下楼及目的地所到楼层)信息的输入 3.2用户将其将要上楼、下楼(目的地所到楼层)的信息输入,系统要求做即能够将该请求输入,并分享到各层。  3.3 当前电梯的状态显示。  3.4 客户要求信息的存储,以便于电梯的运作。 3.5 电梯的限重报警,防止电梯因载人过多而损害造成一定的危险。

四、电梯调度性能要求:

为了保证系统能够长期、安全、稳定、可靠、高效的运行,电梯系统应该满足以下的性能要求:

4.1.系统处理的准确性和及时性  系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。   4.2.系统的易用性和维护性  电梯系统是直接面对使用人员的,而使用人员对电梯内部构造并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的的人机交互界面。要实现这一点,就要求系统应该劲量的使用用户熟悉的术语和中文信息的界面,系统要提供方便的手段宫维护人员日常的安全管理,系统意外崩溃时数据的恢复工作。 

4.3系统的响应速度         电梯系统在日常处理中响应速度为分级,达到实时要求,并及时反馈信息。 在进行系统分析时,根据所需数据量的不同进行状态显示,原则是电梯响应时间不会因为速度问题而影响工作效率。

五、电梯调度数据流及数据字典:

系统中的数据元素 名字:客户请求 描述:客户需求的录入,确定电梯是否在该层响应 定义:上下楼请求 位置:每层的电梯外部   名字:楼层信息 描述:客户想去的楼层 定义:楼层数据信息 位置:电梯箱体的内部

2014年3月9日 星期日(14:30--18:00) 我们讨论并确定了电梯调度的设计并修订。提交了这个完整的设计文档。

原文地址:https://www.cnblogs.com/liubobo/p/3590344.html