(一)需求分析:

  1. 上升,下降,开门,关门;
  2. 超过负载以后发出警报,下去乘客;
  3. 电梯出现故障后,电梯停止;
  4. 电梯楼层的输入框可以同时指定所要到的楼层,也是楼层的显示框;
  5. 电梯同时记录多个状态,即为到达多个楼层的信息,然后依次执行(若后按键的乘客所到的目的楼层与电梯的运行方向相同时,按照依次到达的楼层顺序来开关门,而不是按照按键的先后顺序开关门;若后按键的乘客所到的目的楼层与电梯的运行方向相反时,若电梯到达顶层或底层时,则未实现的按键作用消失,需要乘客重新按键);

6.调度算法的基本原则:模拟多人在不同楼层同时要求到各自目的地时电梯的响应顺序,在电梯内部的人和外部的人都有可能要求自己所要到达的楼层,两者之      间不可有冲突;

7. 在楼层停留的时间长短和乘客要求的时间要相符合;

(二)功能实现:

首先要定义两个类。

Class Elevator{}

属性:

  1. 承载的最大重量;
  2. 承载最大数量;
  3. 所在层数和所有层数;(区分上升和下降问题)
  4. 电梯有固定速度;
  5. 开门时间;
  6. 关门时间;

功能:

  1. 当乘客按上下键后,停止运行,打开门;
  2. 让人进去;
  3. 把门关上;
  4. 当到达相应楼层时,打开门;(此时,如果有人上电梯,则不用按键,直接进去)
  5. 上升;
  6. 下降;
  7. 超过负载以后发出警报,下去乘客。
  8. 若后按键的乘客所到的目的楼层与电梯的运行方向相同时,按照依次到达的楼层顺序来开关门,而不是按照按键的先后顺序开关门;若后按键的乘客所到的目的楼层与电梯的运行方向相反时,若电梯到达顶层或底层时,则未实现的按键作用消失,需要乘客重新按键;
  9. 电梯出现故障后,电梯停止;

四部电梯分四个不同的对象(线程)考虑!

Class Passengers{}

属性:乘客数量,重量

功能:

1. 进电梯前按上升键;

2. 进电梯前按下降键;

3. 在电梯内按开门键;

4. 在电梯内按关门键;

5. 按上升到m层键;

6. 按下降到n层键;

7. 进电梯门;

8. 出电梯门;

9. 当电梯出现故障时,按报警键,与电梯管理员进行沟通;

10. 乘客进电梯时遵循后进者在电梯超员或超重时,离开电梯;

定义乘客类的对象(一个或多个),总重量,总人数,按键功能也是上该层楼梯的乘客们集体发出的多个动作;

若电梯内仍有乘客,而又有新乘客要上时,新定义出前后对象的动态和,加入到原有的对象中。

当有人下去后,乘客数量和重量自动减少。或者新定义一个动态对象,带功能完成后,自动撤销该对象体的存在。

内部接口:函数调用

外部接口:(1)用户界面(2)软件接口(3)硬件接口

(三)界面实现:

1. 用C#编程技术实现windows可视化界面;

2. 设计电梯的按钮,显示电梯的开关门,运行,停滞,上下等可视化效果;

(四)性能分析:

1.自动中开门电梯开关时间不超过3.2秒;

2.客用电梯额定速率为2.5米至6米;

3.拥挤时自动延长开门时间;

开发日志:2014.3.7  19:20-20:17  个人构思

2014.3.8  20:17-20:48  结组讨论

2014.3.12  8:30-9:35   参考资料设计调度方案

信1205班

郭林林 胡潇丹

电梯调度 结对项目开发(郭林林&胡潇丹)的更多相关文章

  1. 结对开发训练(郭林林&胡潇丹)

    此次编程题为:求一个整数数组最大子数组之和,要求时间复杂度为O(n). 首先,我们对题目做出分析,做出第一种预行方案,即定义一个数组,当数组中元素大于等于0时,进行累加:若小于0,则与后面的数作比较, ...

  2. 结对开发训练(续)(郭林林&胡潇丹)

    本次题目:求二维数组最大连续的子数组之和. 通过前两次对问题的分析,这次在拿到题目时,我们首先与前两次题目做对比,尤其与第二次的题目相比较,这是在第二次题目上的扩展,第二次的题目是此次题目的一个特例. ...

  3. 求二维数组最大子数组的和。郭林林&胡潇丹

    求二维数组子数组的最大值,开始思路不太清晰.先从最简单的开始. 以2*2的简单数组为例找规律, 假设最大数为a[0][0],则summax=a[0][0],比较a[0][0]+a[0][1].a[0] ...

  4. 4月17日 (PS:由于时间问题,现在才发,望老师见谅)疯狂猜成语-----第三次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜

    疯狂猜成语-----第三次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜 会议内容: 组员依次汇报自己的工作进度,并且提出自己在进行任务的过程中遇到的问题,是否解决以及解决办法. 以下 ...

  5. 【软件工程】电梯调度的初步实现 李亚文&&郭莉莉

    一.开门见山,代码粘 using System; using System.Collections.Generic; using System.Data; using System.Drawing; ...

  6. [2017BUAA软工]结对项目-数独程序扩展

    零.github地址 GitHub地址:https://github.com/Liu-SD/SudoCmd (这个地址是命令行模式数独的仓库,包含了用作测试的BIN.DLL核心计算模块地址是:http ...

  7. 201871030118-雷云云 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客 班级链接 这个作业要求链接 作业链接 我的课程学习目标 (1)体验软件项目开发中的两人合作,练习结对编程(2)掌握Github协作开发程序的操作方法(3)学习遗传算法 这个作 ...

  8. BUAA 2020 软件工程 结对项目作业

    Author: 17373051 郭骏 3.28添加:4.计算模块接口的设计与实现过程部分,PairCore实现的细节 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) ...

  9. 复利计算--结对项目<04-11-2016> 1.0.0 lastest 阶段性完工~

    结对项目:Web复利计算 搭档博客地址:25江志彬  http://www.cnblogs.com/qazwsxedcrfv/ 个人摘要: (2016-04-09-12:00)补充:之前传送门没做好, ...

随机推荐

  1. 2.2 IPython基础

    2.2 IPython基础 1 Running the IPython Shell (运行IPython Shell) 可以通过命令行启动IPython,就像启动标准的Python解释器一样,直接在t ...

  2. Oracle-本地连接没问题,远程连接有问题解决方式

    1. 问题 我的环境是oracle11gr2,本地用plsql还是toad连接都没有不论什么问题,而用别的机器远程连接就提示 无监听程序等错误. 2. 原因 oracle安装路径  --- 比如: F ...

  3. 20145203盖泽双 《Java程序设计》第十周学习总结

    20145203盖泽双 <Java程序设计>第十周学习总结 教材学习内容总结 一.网络概述 1.网络编程就是两个或多个设备(程序)之间的数据交换. 2.识别网络上的每个设备:①IP地址②域 ...

  4. Python的多线程和多进程

    (1)多线程的产生并不是因为发明了多核CPU甚至现在有多个CPU+多核的硬件,也不是因为多线程CPU运行效率比单线程高.单从CPU的运行效率上考虑,单任务进程及单线程效率是最高的,因为CPU没有任何进 ...

  5. 集合之Map总结

    在前面LZ详细介绍了HashMap.HashTable.TreeMap的实现方法,从数据结构.实现原理.源码分析三个方面进行阐述,对这个三个类应该有了比较清晰的了解,下面LZ就Map做一个简单的总结. ...

  6. python range函数与numpy arange函数,xrange与range的区别

    转自:https://www.cnblogs.com/ymjyqsx/p/6426764.html 1.range()返回的是range object,而np.arange()返回的是numpy.nd ...

  7. sql查询以及常见问题理解解析

    推荐w3挺好的基础网站:https://www.w3cschool.cn/t_sql/t_sql_date_functions.html =,<,>,> =,<=,IN,BET ...

  8. P1414 又是毕业季II

    题目描述 彩排了一次,老师不太满意.当然啦,取每位同学的号数来找最大公约数显然不太合理.于是老师给每位同学评了一个能力值.于是现在问题变为,从n个学生中挑出k个人使得他们的默契程度(即能力值的最大公约 ...

  9. ZOJ 3981 && 2017CCPC秦皇岛 A:Balloon Robot(思维题)

    A - Balloon Robot Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Sub ...

  10. CANOPEN开发问题

    我是一名研二的学生,现在教研室要开发canopen,我已经看了几个月了,在网上找了canopen的开源代码CANfestival,现在想做移植,有几个问题想要请教:1,开发主站,只买beckhoff的 ...