zoukankan      html  css  js  c++  java
  • 软件工程第四个程序:结对项目 —— 电梯调度问题(分析)

    软件工程第四个程序:结对项目 —— 电梯调度问题

    题目

    情景设置:现有一新建办公大厦,共有21层,共有四部电梯。

    基本参数:电梯编号,可服务楼层,最大乘客数量与最大载重量。

    使用规定:
    1、楼层号为0~20,其中0号为地下一层;
    2、有楼层限制的电梯不在响应楼层停靠,如单双层;
    3、所有电梯采用统一按钮控制。

    分析

    这是一个有4部电梯的办公大厦,楼层为地下1层,1层到20层;电梯有编号,有楼层限制,并有超重报警;
    我们要设计一款软件,实现电梯的合理调度,满足用户的电梯使用的需求;

    实际问题分析:很多写字楼都有多部电梯,他们在排一起,一部电梯负责1到20层,另一部电梯负责20层到30层,再来部电梯负责30层往上;
    每部电梯的门旁边都有上下按钮,你到哪层按哪部电梯。

    我们这题有4部,不可能在门外只有一个上下按钮。也就是说:电梯之间应该是相互独立的;

    至少单双层限制的电梯肯定是分开的,不然你要去15层,按下电梯按钮后,只停双层的电梯门开了,你上还是不上?

    在大型综合医院的电梯大厅里左边的电梯是只停单层的,右边的只停双层。

    为了求证,清明假期第一天,我还去了八院。住院楼那里有个电梯大厅,共有六部电梯,三部三部对着的,左手边的只停单层,右手边的只停双层,左右两边都是三部电梯中间夹着两套上下按钮。但是两边的电梯各有一个是暂停服务的(留着紧急时使用,我觉着)。按下其中一个按钮,同侧的另一套相应的按钮也会亮起。表示两套按钮不管按哪个,系统都会识别此层有人要叫电梯。

    我们的这栋办公楼里有四部电梯,二号电梯只停单层,三号电梯只停双层,我们可以把一号和二号电梯划为一组,三号和四号电梯划为一组,各用一套上下按钮,即各自为一个小系统。

    建立好了电梯的布局,再来熟悉一下电梯的使用规则:

    1.乘客在电梯外按上或下按钮,等待电梯,电梯来了进入电梯;

    2.乘客进入电梯后,按电梯内部楼层按键,电梯到达指定楼层后,走出电梯。

    这是对乘客而言的电梯使用规则,而对电梯系统而言的乘客运送规则为:

    1.某一楼层的上下按钮被按下,上下按传给电梯系统信息(包括:哪一组,哪一层,哪个按钮);
    //传递“哪一组”是没有必要的,真正电梯运行的时候,两组电梯毛关系没有,这里想要把四部电梯都显示在一起才加这么一项。

    2.电梯系统接收消息,初步处理,转由该组的电梯调度程序处理,调度程序将楼层和方向通知所辖的电梯;

    3.多部电梯都接到了信息,先到的电梯完成了该任务,告知调度程序任务已经完成,调度程序随即通知所辖的电梯取消该任务。

    4.之后,到达指定楼层的电梯,内部的楼层按键被按下,电梯运行程序记录所有被按下的楼层按键,逐一抵达。

                                                                                                                                                              J.X.Dinosaur

  • 相关阅读:
    《maven实战》笔记(5)----maven的版本
    《maven实战》笔记(4)----maven的仓库
    《maven实战》笔记(2)----一个简单maven项目的搭建,测试和打包
    《maven实战》笔记(1)----maven的初识
    web项目jsp出现The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path错误
    如何在国内使用google
    js实现仿购物车加减效果
    关于行内元素之间有空隙的问题,例如span与input之间
    jquery遍历DOM方法总结
    左侧手风琴下拉菜单导航(网页常用功能)
  • 原文地址:https://www.cnblogs.com/duasonir/p/5348456.html
Copyright © 2011-2022 走看看