软件工程专业课程设计项目-电梯控制课程设计报告.doc_第1页
软件工程专业课程设计项目-电梯控制课程设计报告.doc_第2页
软件工程专业课程设计项目-电梯控制课程设计报告.doc_第3页
软件工程专业课程设计项目-电梯控制课程设计报告.doc_第4页
软件工程专业课程设计项目-电梯控制课程设计报告.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课课 程程 设设 计计 课程名称_专业课程设计项目 _ 学生学院_计算机学院_ 专业班级_软件工程 0804_ 学号、姓名_ 2012 年 1 月 2 日 1 目录目录 1引言引言 .3 1.1 编写的目的3 1.2 软件产品的作用范围3 1.3 背景3 2、一般性描述、一般性描述 .4 2.1、产品与其环境之间的关系.4 2.2、产品功能.4 2.3、用户特征.4 2.4、限制与约束.4 2.5、假设与前提条件.4 4.详细需求详细需求 5 4.1 功能需求5 4.1.1 功能需求:电梯上下运动控制.5 4.1.2 功能或行为需求:优先级控制.6 4.2 外部界面需求.6 4.2.1 用户界面.6 4.3 性能需求.7 4.3.1 精度.7 4.3.2 时间特征.7 4.3.3 灵活性.8 4.4 属性.8 4.4.1 可用性8 4.4.2 安全性8 4.4.3 可维护性8 4.4.4 可移植性.8 5.代码设计代码设计 9 5.1 概要设计9 5.2 详细设计.12 6.6.运行结果运行结果 .15 7.7.总结总结 .18 参考资料参考资料 .18 2 1引言引言 1.1 编写的目的编写的目的 1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识, 编写程序求解指定问题。 2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4.训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识, 提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。 1.2 软件产品的作用范围软件产品的作用范围 近年来,随着计算机技术日新月异的发展,编程语言及自动控制都有了很大的进步。 这为人们的学习和生活提供了极大的便利。电梯技术的发展也离不开这一切。 现在无论是在办公大楼或者是企业,或者是公司内部,都离不开电梯的身影。对于电 梯的自动控制技术的研究也越来越多。 本软件产品主要是针对小型的电梯,具有 4 部 40 层楼的结构,主要应用在学校,医院, 小型企业等。 1.3 背景背景 名称:电梯控制系统 开发者: 3 2、一般性描述、一般性描述 2.1、产品与其环境之间的关系、产品与其环境之间的关系 该系统要求在 windows 环境下运行,如 windows95、windows98、windows xp、windows 7 等。 2.2、产品功能、产品功能 实现运载功能,满足乘客的要求,当有不同的请求时,系统以事件驱动方式响应请 求 2.3、用户特征、用户特征 (1)维护人员需要了解自动化的基本知识,并且具备基本的电梯逻辑控制的编程 知识。 (2)管理人员需要掌握电梯的基本运行情况,熟悉电梯的工作条件,如电压等。 (3)乘客需要知道电梯显示面板各个按钮的功能,上下楼时该如何操作。 2.4、限制与约束、限制与约束 该电梯控制系统要求在 windows 环境下运行; 2.5、假设与前提条件、假设与前提条件 本电梯控制系统在开发的过程中,分为软件工程与技术实现两大部分。若软件工程 陈述出现问题,需求分析不透彻,部分描述含混不清,则会影响系统的完整性与可继承 性。若技术支持出现故障或疑难问题无法解决、程序开发出现偏差,会延误工程进度, 影响工程的按期完工。在管理方面,如管理者没有预见性,对出现的问题无法采用可行 的解决手段,会影响该电梯系统的寿命,从而造成经济的损失。因此,在本电梯控制系 统中 (1)假设条件: 4 在软件工程方面,需要项目经理组织开发团队通过使用工程经济学的手段对软件开 发的各个阶段进行实时的表述、规划和计算。 技术实现的方面,主要是决定优先次序的算法,即在遇到有冲突的请求时,如果两 楼层同时发出请求,则只能取消其中一个请求。此时,决定优先次序的算法应尽量减少 两个请求的等待时间。 (2)前提条件: 需要分析人员要有丰富的经验,充分理解分析该系统要实现的功能;开发人员要具备 丰富的编程经验,尽量做到让系统能够满足客户的需求;再者,队员之间要互相沟通,有 很好的团队合作精神。 4.详细需求详细需求 4.1 功能需求功能需求 4.1.1 功能需求:电梯上下运动控制功能需求:电梯上下运动控制 (1 1)引言)引言 为了满足用户的上楼或下楼请求、用户正确到达目的楼层,系统通过响应用户的请求 指令,进而驱动电梯驱动电机来控制电梯的上下运动 (2 2)输入)输入 用户通过电梯内部的按钮140 层的数字按钮、向上或向下请求的按钮 (3 3)处理过程描述)处理过程描述 系统获得多用户的请求后,将指令传递到应用接口,在系统的规定等待时间段里,如 果没有特殊请求(开门、关门按钮) ,电梯门则自动关闭,然后将获得的请求经过优先处理 得到当前电梯所要去的首目的楼层,结合电梯当前楼层判断出电梯要做向上还是向下运动, 进而将指令传递给上下运动控制系统,从而驱动电梯上下运动来实现上下楼的目的。当电 梯到达该楼层后,按钮灯熄灭。 如果电梯已到达该楼层,或者电梯正在沿所请求的方向运动,或者遇到有冲突的请求 时,按钮灯灭。在遇到有冲突请求的情况下,如果两楼层同时发出请求,则只能取消其中 5 一个请求。决定服务优先次序的算法应该尽量减少两个请求的等待时间。 (4 4)输出)输出 电梯的运行结果即为输出结果,在到达该楼层后电梯门自动开启,自动开启后在系统 的规定等待时间段里,如果没有特殊请求,电梯门则自动关闭。如果电梯的运行结果错误, 则需要通知管理人员、维护人员进行检查和维护。 4.1.2 功能或行为需求:优先级控制功能或行为需求:优先级控制 (1 1)引言)引言 电梯很多时候都会接到两个或两个以上的请求,为了减少多个请求的等待时间,系统 需要对多个请求进行优先级的判断 (2 2)输入)输入 按钮的选择相当于输入 (3 3)处理过程描述)处理过程描述 在多用户使用电梯的时候,即系统接到多个请求后,或系统在接到一个请求后又接到 别的请求。系统将当前的首目的楼层与新的请求相比较,根据减少请求间的等待时间为原 则判断哪个请求优先,从而系统先响应优先请求,即将优先的请求更新为电梯新的首目的 楼层,如果中途再有新请求,则做一样的处理。 (4 4)输出)输出 电梯的运行结果即为输出结果,如果电梯的运行结果错误,则需要通知管理人员、维 护人员进行检查和维护。 4.2 外部界面需求外部界面需求 4.2.1 用户界面用户界面 乘客操作界面乘客操作界面 6 4.3 性能需求性能需求 4.3.1 精度精度 由于本电梯控制系统属于对按钮的选择,通过控制按钮选择楼层,因此对所需精度无 特殊的要求。 4.3.2 时间特征时间特征 本电梯控制系统属于实时模拟系统,对响应时间、处理时间上有一定的要求。需要: a.响应时间迅速 b.更新处理时间相对比较快 c数据的转换和传送时间迅速 因此对时间特性的要求如下: 响应时间:state=free) | (m_elevatori-state=state) if(abs(m_elevatori-nowfloor-f)nowfloor-f); select=i;/选择这部电梯 else continue; if(select=5)/如果当前选择状态为,循环检测直到找到合适的电梯 do if(signal=1) signal=0; if(!chead) chead=team(chead,f,state); 12 else chead=cadd(chead,f,state); settimer(3,20,0); signal=1; while(signal=0); else/已经找到合适的电梯 do if(m_elevatorselect-nowfloor!=f) /m_elevatorselect-request=state; if(m_elevatorselect-head=null) m_elevatorselect-head=m_elevatorselect-cteam(m_elevatorselect- head,f,state); else m_elevatorselect-tail=m_elevatorselect-add(m_elevatorselect- tail,f,state); m_elevatorselect-settimer(1,20,0); m_elevatorselect-signal=1; while(m_elevatorselect-nowfloor!=f) void celevatorsystemdlg:onup1() /在楼按上按钮 getdlgitem(idc_button22)-enablewindow(false); for(int i=0;inowfloor=f1 call(up,f1); void celevator:on1() 13 /在电梯内按楼按钮 celevator:floor=f1; do if(nowfloor!=floor) if(head=null) head=celevator:cteam(celevator:head,celevator:floor); else tail=celevator:add(celevator:tail,celevator:floor); getdlgitem(idc_button2)-enablewindow(false); if(!flag) settimer(1,20,0); signal=1; while(nowfloor!=floor) 6.6.运行结果运行结果 电梯全在一楼时: 14 在 30 楼按上时: 在 8 楼按上时: 15 在 20 楼按下时: 在 2 号电梯按 40 楼时: 16 在 4 楼按下: 17 7.7.总结总结 本设计对于现在的学习程度来说比较难,当初因为考虑不够成熟,以为有提示会简单 一点,可这大大超出目前编程能力,思考不严谨,以至于程序层次十分混乱。 当参考有关资料后发现思路相当重要,将程序分块,划分基本类型,分析各模块的基 本操作,这些均可独立开来做。在编译时发现了错误也可以方便修改。这些基本功其实在 实用时才会发现自己掌握得并不牢靠,许多依然会犯低级错误,输入时若不根据设计的程序 所规定的方式就容易发生错误。 由于开始按照实现提示来做就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论