电梯调度 结对项目开发(郭林林&胡潇丹)
(一)需求分析:
- 上升,下降,开门,关门;
- 超过负载以后发出警报,下去乘客;
- 电梯出现故障后,电梯停止;
- 电梯楼层的输入框可以同时指定所要到的楼层,也是楼层的显示框;
- 电梯同时记录多个状态,即为到达多个楼层的信息,然后依次执行(若后按键的乘客所到的目的楼层与电梯的运行方向相同时,按照依次到达的楼层顺序来开关门,而不是按照按键的先后顺序开关门;若后按键的乘客所到的目的楼层与电梯的运行方向相反时,若电梯到达顶层或底层时,则未实现的按键作用消失,需要乘客重新按键);
6.调度算法的基本原则:模拟多人在不同楼层同时要求到各自目的地时电梯的响应顺序,在电梯内部的人和外部的人都有可能要求自己所要到达的楼层,两者之 间不可有冲突;
7. 在楼层停留的时间长短和乘客要求的时间要相符合;
(二)功能实现:
首先要定义两个类。
Class Elevator{}
属性:
- 承载的最大重量;
- 承载最大数量;
- 所在层数和所有层数;(区分上升和下降问题)
- 电梯有固定速度;
- 开门时间;
- 关门时间;
功能:
- 当乘客按上下键后,停止运行,打开门;
- 让人进去;
- 把门关上;
- 当到达相应楼层时,打开门;(此时,如果有人上电梯,则不用按键,直接进去)
- 上升;
- 下降;
- 超过负载以后发出警报,下去乘客。
- 若后按键的乘客所到的目的楼层与电梯的运行方向相同时,按照依次到达的楼层顺序来开关门,而不是按照按键的先后顺序开关门;若后按键的乘客所到的目的楼层与电梯的运行方向相反时,若电梯到达顶层或底层时,则未实现的按键作用消失,需要乘客重新按键;
- 电梯出现故障后,电梯停止;
四部电梯分四个不同的对象(线程)考虑!
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班
郭林林 胡潇丹
电梯调度 结对项目开发(郭林林&胡潇丹)的更多相关文章
- 结对开发训练(郭林林&胡潇丹)
此次编程题为:求一个整数数组最大子数组之和,要求时间复杂度为O(n). 首先,我们对题目做出分析,做出第一种预行方案,即定义一个数组,当数组中元素大于等于0时,进行累加:若小于0,则与后面的数作比较, ...
- 结对开发训练(续)(郭林林&胡潇丹)
本次题目:求二维数组最大连续的子数组之和. 通过前两次对问题的分析,这次在拿到题目时,我们首先与前两次题目做对比,尤其与第二次的题目相比较,这是在第二次题目上的扩展,第二次的题目是此次题目的一个特例. ...
- 求二维数组最大子数组的和。郭林林&胡潇丹
求二维数组子数组的最大值,开始思路不太清晰.先从最简单的开始. 以2*2的简单数组为例找规律, 假设最大数为a[0][0],则summax=a[0][0],比较a[0][0]+a[0][1].a[0] ...
- 4月17日 (PS:由于时间问题,现在才发,望老师见谅)疯狂猜成语-----第三次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜
疯狂猜成语-----第三次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜 会议内容: 组员依次汇报自己的工作进度,并且提出自己在进行任务的过程中遇到的问题,是否解决以及解决办法. 以下 ...
- 【软件工程】电梯调度的初步实现 李亚文&&郭莉莉
一.开门见山,代码粘 using System; using System.Collections.Generic; using System.Data; using System.Drawing; ...
- [2017BUAA软工]结对项目-数独程序扩展
零.github地址 GitHub地址:https://github.com/Liu-SD/SudoCmd (这个地址是命令行模式数独的仓库,包含了用作测试的BIN.DLL核心计算模块地址是:http ...
- 201871030118-雷云云 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客 班级链接 这个作业要求链接 作业链接 我的课程学习目标 (1)体验软件项目开发中的两人合作,练习结对编程(2)掌握Github协作开发程序的操作方法(3)学习遗传算法 这个作 ...
- BUAA 2020 软件工程 结对项目作业
Author: 17373051 郭骏 3.28添加:4.计算模块接口的设计与实现过程部分,PairCore实现的细节 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) ...
- 复利计算--结对项目<04-11-2016> 1.0.0 lastest 阶段性完工~
结对项目:Web复利计算 搭档博客地址:25江志彬 http://www.cnblogs.com/qazwsxedcrfv/ 个人摘要: (2016-04-09-12:00)补充:之前传送门没做好, ...
随机推荐
- Sequelize-nodejs-5-Querying
Querying查询 Attributes To select only some attributes, you can use the attributes option. Most often, ...
- 20165302 敏捷开发与XP实践作业
20165302 敏捷开发与XP实践实验报告 一.提交点一 1.实验要求 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD ...
- Redis(五)主从复制
本文转载自编程迷思,原文链接 深入学习Redis(3):主从复制 前言 在前面的两篇文章中,分别介绍了Redis的内存模型和Redis的持久化. 在Redis的持久化中曾提到,Redis高可用的方案包 ...
- PAT乙级1004
1004 成绩排名 (20 分) 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正 ...
- 美团热修复Robust的踩坑之旅-使用篇
最近需要在项目中使用热修复框架,在这里以美团的Robust为主写一篇文章总结一下学习的过程. 一直认为要学习一个框架的原理,首先需要让他跑起来,从效果反推回去,这样更容易理解. 一.美团Robust的 ...
- ios开发UI篇--UILabel
概述 UILabel类实现了一个只读文本视图.你可以使用这个类来画一个或多个静态文本.UILabel类支持既简单又复杂的样式标签文本,还可以控制外观,比如标签是否使用了一个影子或者处于高亮状态等等. ...
- BUAA_OO第一单元总结性博客作业——表达式求导
一.程序设计思路 在我的三次作业中都采用了类的分层结构,采用逐项匹配,分层求导的思路. (一). 第一次作业中构建了Polynimial(多项式)类,在类的构造器中就完成了对非法空格的判断并对合法表达 ...
- ruby的循环使用及区别(for、each等)
ruby的循环有以下几种: times方法 for语句 while语句 until语句(与while相反) each方法(与for极度相似,在ruby内部,for语句是用each实现的) loop方法 ...
- C语言学习记录_2019.02.23
char类型的输出: scanf("%d",&i);//i=49; char x=i; printf("x=%d\n",x); printf(" ...
- 大数据入门第五天——离线计算之hadoop(下)hadoop-shell与HDFS的JavaAPI入门
一.Hadoop Shell命令 既然有官方文档,那当然先找到官方文档的参考:http://hadoop.apache.org/docs/current/hadoop-project-dist/had ...