1 / 43
文档名称:

电梯控制系统(Java课程设计)内容.doc

格式:doc   大小:2,601KB   页数:43页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

电梯控制系统(Java课程设计)内容.doc

上传人:zxwziyou8 2018/7/17 文件大小:2.54 MB

下载得到文件列表

电梯控制系统(Java课程设计)内容.doc

文档介绍

文档介绍:A1 系统描述
功能描述
本电梯系统用来控制一台运行于一个具有N层的大楼电梯,它具有上升、下降、开门、关门、载客的基本功能。
大楼的每一层都有:
两个指示灯这两个指示灯分别用于指示当前所在的层数和电梯的当前状态(上行、下行或停止);
电梯锁用于将本层的电梯门锁住,并使本楼层的电梯按钮失效,电梯里相应的按钮也失效,使得电梯不能也不可能停在本层;
按钮除了第一层和顶层,每一层都有两个按钮(上行、下行),乘客可以呼叫上楼或下楼,顶楼只有一个下楼按钮,而第一层只有一个上楼按钮。
电梯里面具有:
标示从“1”到“N”的N个按钮,用于让乘客选择所要的层数;
关门按钮当乘客按下此按钮时,电梯门如果开着将关上,否则不执行任何操作;
开门按钮当乘客按下此按钮时,电梯如果停在某一层,电梯门将打开,否则不执行任何操作;
超重测试和警报装置电梯的地面有超重感应装置,当电梯载重达到某一个值时,电梯“超重警报铃”发出超重警报,并且不执行关门命令。
关键实现方法描述
用“最大距离循环”来说明电梯的运行方式。也说是说,电梯处于上行状态时就一直上行直到不再有上行任务,电梯处于下行状态时就一直下行直到不再有下行任务。
用两个队列来实现电梯的调度,电梯根据这两个队列发送来的楼层号作为目的地进行运行。在上行队列中保存了所有的上行请求的楼层号(包括楼层的呼叫和电梯里的楼层按钮请求),即保存电梯上行时需要停的楼层号。队列排列规则是:高于或等于电梯当前所地楼层的上行请求的楼层号从小到大排在队列的前部分,低于电梯当前所地楼层的上行请求的楼层号从小到大排在队列后部分。如果新请求的楼层号被插在队列头时同时将这个楼层号发送给电梯作为它的目的地。在下行队列中保存了所有的下行请求的楼层号(包括楼层的呼叫和电梯里楼层按钮请求),即保存电梯下行时需要停的楼层号。队列排列规则是:低于或是等于电梯当前所在楼层的下行请求的楼层从大到小排在队列前部分,高于电梯当前所在楼层的下行请求的楼层号从大到小排在队列后部分。
当电梯正在上行时,如果上行队列的队列头改变时,系统将同时将这个新的队列头发送给电梯作为它的新目的地。有两种原因引起队列头的改变。
新的请求插入到上行队列头。
电梯到达某个楼层将这个楼层的请求从上行队列的队列头删除,后继的更高楼层号成为对列头。
当电梯正在下行时,如果下行队列的队列头改变时,系统将同时将这个新的队列头发送给电梯作为它的新目的地。有两种原因引起下行队列头的改变。
(1) 新的请求插入到下行队列头。
(2) 电梯到达某个楼层将这个楼层的请求从下行队列的队列头删除,后继的更高楼层号成为对列头。
在电梯上行过程中,当上行队列中没有比电梯当前所在的楼层更高的楼层号时,发送电梯目的地的开始从下行队列中取得。同样,在电梯下行过程中,当下行队列中没有比电梯当前所在的楼层更低的楼层号时,发送电梯目的地的开始从上行队列中取得。如此反复,当两个队列中都没有数据时,电梯暂停。
当电梯到达某层时,此层的所有请求按钮全部复位(包括楼层和电梯里的按钮),电梯门自动开启,在一段时间内如果乘客没有按下开门或关门的按钮,电梯将自动关门。
为了保证电梯系统的安全,在任何不安全的情况下,紧急制动就会被促发,电梯被强制停止。
A2 用例模型
角色识别
根据前面系统的描述,可以确定与该系统交互的两个角色:电梯管理员(elevator manager)和乘客(passenger),其中乘客是电梯的主要使用者,电梯管理员的责任是对电梯进行维护(见图A1)。
角色:乘客
角色职责:
乘电梯上下楼
开电梯门
关电梯门
角色识别问题:
使用系统主要部分
(2)对系统运行结果感兴趣
角色:电梯管理员
角色职责:
开电梯锁
关电梯锁
处理电梯紧急事故
角色识别问题:
(1)维护管理,保持系统正常运行
(2)对系统运行结果感兴趣
图A1
用例识别
在角色的基础上,可以确定系统的用例,做法是针对每一个角色考查它要求系统提供的功能,它使用系统的哪些功能,经过分析,可得到如下的用例。
乘客相关的用例:
按下某楼层的上行按钮(go up stair)。
按下某楼层的下行按钮(go down stair)。
按下某电梯内的某一层楼按钮(go to floor request)。
按下关门按钮(close door)。
按下开门按钮(open door)。
超重测试(overweight test)。
电梯管理员的用例:
锁住某层电梯锁(lock floor)。
打开某层电梯锁(open floor)。
用例的描述如下:
用例1 按下某楼层的上行按钮(go up stair)
乘客按下第M层的上行按钮。
M被插入到上行队列的合