电梯控制系统需求分析说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电梯控制系统需求分析说明书
课程名称:软件工程
班级:
组长:*******
组员:*******
*******
*******
指导老师:
编写日期:年月
目录
1.引言 (1)
1.1编写的目的 (2)
1.2软件产品的作用范围 (2)
1.3定义 (2)
1.4参考资料 (3)
2、一般性描述 (3)
2.1、产品与其环境之间的关系 (3)
2.2、产品功能 (3)
2.3、用户特征 (3)
2.4、限制与约束 (4)
2.5、假设与前提条件 (4)
3.数据流图和数据描述 (4)
3.1数据流图 (4)
3.1.1实体关系图 (4)
3.1.2一级数据流图 (5)
3.1.3二级数据流图(命令处理) (6)
3.1.4二级数据流图(优先处理) (6)
3.1.5二级数据流图(电梯控制) (7)
3.1.6二级数据流图(信息显示) (8)
3.1.7状态转换图 (9)
3.2数据字典 (9)
4.特殊需求 (10)
4.1功能或行为需求 (10)
4.1.1功能或行为需求:上下楼请求 (10)
4.1.2功能或行为需求:电梯上下运动控制 (10)
4.1.3功能或行为需求:电梯的延迟关门、提前关门控制 (11)
4.1.4功能或行为需求:优先级控制 (11)
4.1.5功能或行为需求:报警控制 (12)
4.1.6功能或行为需求:超重处理 (12)
4.2外部界面需求 (13)
4.2.1用户界面 (13)
4.2.2软件界面 (13)
4.3性能需求 (13)
4.3.1精度 (13)
4.3.2时间特征 (13)
4.3.3灵活性 (14)
4.4属性 (14)
4.4.1可用性 (14)
4.4.2安全性 (14)
4.4.3可维护性 (14)
4.4.4可移植性 (14)
1.引言
在开发任何一种项目的前阶段,用户都会向开发方提交需求描述,一般都会包括产品的工作环境描述及用户对目标产品的初步期望,以便更好地向开发人员解释自己的需求。
而需求规格说明书是由开发人员经过需求分析后形成的软件文档,使内容更加系统、精确和全面,因此需求规格说明书必须满足以下的条件:
(1)更便于用户、分析人员和软件设计人员进行理解和交流。
客户通过需求规格说明书在分析阶段即可初步判定目标软件能否满足其原来的期望,设计人员则将需求规格说明书作为软件设计的基本出发点。
(2)能够支持目标软件系统的确认。
软件开发目的是否达到不应该由系统测试阶段的人为因素决定。
因此,需求分析中的各项需求都应该是可测试的。
(3)可以控制系统的进化过程。
在需求分析完成之后,如果客户追加需求,那么需求规格说明书将用于确定追加需求是否为新需求。
如果是,开发人员必须针对新需求进行需求分析,扩充需求规格说明书,再进行软件设计。
需求分析明确客户的需求,是对要解决的问题的彻底理解。
在解决问题之前要理解问题,只有真正的理解问题才能更好的解决问题。
要弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
需求分析就是给系统分析、设计人员一个和客户交流来理解问题的机会,了解客户究竟需要什么。
需求分析是介于系统分析和软件设计阶段之间的重要桥梁。
一方面,需求分析以系统说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件涉及、实现、测试直至维护的主要基础。
良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低软件开发成本,改进软件质量。
需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位.大家一定要对需求分析具有足够的重视.在一个大型软件系统的开发中,他的作用要远远大于程序设计。
总之,需求分析就是整个项目开发的核心内容,需求分析规格说明说做得好那下面要做的工作就能够按部就班的进行了,它是贯穿用户—开发人员—软件设计人员三者之间的重要桥梁,用户可以通过需求分析规格说明书了解目标软件是否满足他的要求,开发人员可以根据用户的需求对需求分析说明书进行改善,软件设计人员也能很明确的对软件进行相对应的编写。
因此,一份好的需求分析说明书必不可少。
正是由于需求分析说明书的重要性,由此设计了以下的电梯控制系统应用软件的需求分析说明书,它详细地介绍了电梯控制系统需求分析的各个阶段以及分析方法。
1.1编写的目的
编写这份需求分析说明书的目的是:
(1)、希望用户能够对电梯的控制系统有个初步的了解,了解电梯逻辑控制的基本方法。
(2)、软件设计人员可以通过该说明书编写出预期的软件设计;
(3)、能够作为电梯购买商的参考资料,从而对性价比进行分析;
(4)、能够提供给维护人员作为维修说明工具,以便更简便的对电梯进行操作,提高
维修效率;
(5)、能够作为电梯制造商的制造参考说明手册,从而生产出符合广大社会需要的电
梯类型;
(6)、可以作为电梯开发者的交流资料,对电梯控制系统进行更好的完善;
因此,该说明书的预期读者有电梯使用者、设计人员、开发人员、维护人员、制造商、购买商还有就是对电梯控制系统感兴趣的学习者。
1.2软件产品的作用范围
近年来,随着计算机技术日新月异的发展,编程语言及自动控制都有了很大的进步。
这为人们的学习和生活提供了极大的便利。
电梯技术的发展也离不开这一切。
现在无论是在办公大楼或者是企业,或者是公司内部,都离不开电梯的身影。
对于电梯的自动控制技术的研究也越来越多。
本软件产品主要是针对小型的电梯,具有n个楼层的结构,主要应用在学校,医院,小型企业等。
1.3定义
优先处理:在遇到有冲突请求的情况下,如果两楼层同时发出请求,可以让电梯正常运行,按照优先级的高低进行排序,从而按照排序执行相应的请求。
电梯控制系统:根据电梯的控制逻辑编写的应用软件,从而实现对电梯运行和控制过程管理。
命令反馈:指将系统的输出返回到输入端并以某种方式改变输入,进而影响系统功能的过程
方向检测:是通过电梯开始所在楼层和首目的楼层来确定电梯的运动方向的检测
暂停控制:当电梯接收到超重信号时,发出报警信号,同时电梯保持开门,直到超重信号消失才会恢复正常的这样一种状态
首目的楼层:将多用户所请求的楼层按照优先级的高低进行排序所得到的电梯当前要执行的楼层
楼层按钮:每个电梯里面都有一些按钮,每个按钮对应一个楼层。
例如:1、2、3……
向上按钮和向下按钮:除低层和顶层只有一个按钮外,每个按钮都还有两个按钮,分别指示上楼请求和下楼请求。
开门和关门按钮:在电梯内部有开门和关门的按钮,开门按钮能够延迟关门时间让乘客进入或走出电梯,关门按钮可以加速电梯关门让电梯进入运行状态,节省时间。
紧急按钮:发生紧急情况的时候按下该按钮后可以向管理人员发出报警信号,然后电梯被置为“不可用”状态。
电梯驱动电机:与本电梯控制系统向关联的接口,包括了大量的线路,保证电梯能够正常运转。
1.4参考资料
《软件工程(第二版)》齐治昌谭庆平宁洪编著高等教育出版社
《软件工程》钟珞袁景凌编著清华大学出版社
2、一般性描述
2.1、产品与其环境之间的关系
该系统要求在windows环境下运行,如Windows95、Windows98、Windows XP等。
2.2、产品功能
实现运载功能,满足乘客的要求,当有不同的请求时,系统以事件驱动方式响应请求
2.3、用户特征
(1)维护人员需要了解自动化的基本知识,并且具备基本的电梯逻辑控制的编程
知识。
(2)管理人员需要掌握电梯的基本运行情况,熟悉电梯的工作条件,如电压等。
(3)乘客需要知道电梯显示面板各个按钮的功能,上下楼时该如何操作。
2.4、限制与约束
(1)、该电梯控制系统要求在windows环境下运行;
(2)、每次电梯里乘客的重量不能超过1000Kg
(3)、如果两个楼层同时发出请求,则只能取消其中一个
2.5、假设与前提条件
本电梯控制系统在开发的过程中,分为软件工程与技术实现两大部分。
若软件工程陈述出现问题,需求分析不透彻,部分描述含混不清,则会影响系统的完整性与可继承性。
若技术支持出现故障或疑难问题无法解决、程序开发出现偏差,会延误工程进度,影响工程的按期完工。
在管理方面,如管理者没有预见性,对出现的问题无法采用可行的解决手段,会影响该电梯系统的寿命,从而造成经济的损失。
因此,在本电梯控制系统中
(1)假设条件:
在软件工程方面,需要项目经理组织开发团队通过使用工程经济学的手段对软件开发的各个阶段进行实时的表述、规划和计算。
技术实现的方面,主要是决定优先次序的算法,即在遇到有冲突的请求时,如果两楼层同时发出请求,则只能取消其中一个请求。
此时,决定优先次序的算法应尽量减少两个请求的等待时间。
(2)前提条件:
需要分析人员要有丰富的经验,充分理解分析该系统要实现的功能;开发人员要具备丰富的编程经验,尽量做到让系统能够满足客户的需求;再者,队员之间要互相沟通,有很好的团队合作精神。
3.数据流图和数据描述
3.1数据流图
3.1.1实体关系图
实体关系图:简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。
通过实体关系图,我们可以清楚了解实体之间的
启动
机
对应关系,图如下:
乘客
体重
超重
触发
管理员
乘坐
报警
电梯门
管理
电梯
激活
显示 按钮
实体关系图
3.1.2 顶级数据流图
根据需求,我们得出的一个简单的电梯系统即顶级流图如下:
管理员
管理命令 触发信号 报警系统
电梯内部 按钮
电梯外部 内部命令
外部命令
电梯驱动 系统
驱动方式
当前状态信息2
电梯驱动 电机
按钮
乘客
体重命令 显示信息
各楼层的 显示面板
顶级数据流图
3.1.2 一级数据流图
在顶级流图的基础上,我们把电梯驱动系统细化。
电梯驱动系统主要的工作就是处理
外部实体的输入命令,而我们把这些处理分块,主要分成了命令处理,优先处理,信息显
5
信息显示
示,报警信号处理,还有电梯控制等,因此我们得到的一级数据流图如下:
当前状态信息1
电梯当前状态
当前状态信息
显示信息
各楼层的
显示面板
管理员 管理命令
电梯开始所在楼层
当前状态信息2
电梯内部 运动方向 命令反馈信息
按钮
内部命令
命令处理
内部请求 目的楼层
优先处理
首目的楼层
电梯控制
驱动方式
电梯驱动 电机
电梯外部 按钮 外部命令
发出请求的楼 层与上下楼标志
旧队列
超 乘客
体重命令
新队列
电梯运行目的队列
重 信 号
直接控制命令
报警信号 触发信号
报警类别
处理
一级数据流图
报警系统
3.1.3 二级数据流图(命令处理)
因为外部实体中有四个输入命令,所以我们对四种命令分别处理,于是便得到了下
面的命令处理模块
电梯控
制
管理员管理命令管理命令
处理
电梯当前状态
当前状态信息
电梯内部电梯外部内部命令
外部命令
内部命
令
处理
外部命
令
处理
命令反馈信息
优先处
内部请求的目的楼层
理
发出请求的楼层与上下楼标志
命令反馈信息
信息显
示
触发信号
乘客体重命令体重命令
处理触发信号
报警信
号处理
二级数据流图(命令处理)
3.1.4二级数据流图(优先处理)
根据需求,在优先处理中要达到以下条件:在遇到有冲突请求的情况下,如果两楼层同时发出请求,可以让电梯正常运行,按照优先级的高低进行排序,从而按照排序执行相应的请求。
所以我们是用了队列,它可以将用户的请求进行优先排序,得到首目的楼层,通过电梯开始所在楼层和首目的楼层来确定电梯的运动方向,从而控制电梯的运动方向。
同时还可以检测电梯是否到达,得到的优先处理模块如下图:
7
3.1.5二级数据流图(电梯控制)
该电梯控制命令中,,我们把它分为几种命令,从而得到了几种控制模块,包括电梯停启用控制,开关门控制,上下运动控制,还有暂停控制,图如下:
3.1.6二级数据流图(信息显示)
在信息显示模块中,有几种显示结果,包括当前楼层显示,上下运动显示,可用不可用显示,还有按钮的背景灯显示,所得图如下:
3.1.7状态转换图
电梯的主要状态如下图所示:
3.2数据字典
针对以上电梯控制系统的需求,通过对电梯工作过程的内容和数据流程分析,数据条目定义如下:
<管理命令>::=<启用电梯>|<停用电梯>+<电梯开始所在楼层>
<内部命令>::=<开门>|<关门>|<目的楼层>|<报警>
<目的楼层>::=1|2|3|4|…|N
<外部命令>::=<发出请求的楼层>+(<上楼>|<下楼>)
<触发信号>::=<报警>|<超重>
<驱动方式>::=<开门>|<关门>|<运动方向>|<停止>|<停用>|<启用>
<当前状态信息1>::=<电梯能否使用>+(<开门>|<关门>)+<电梯开始所在楼层>
<当前状态信息2>::=<电梯门状态>+<运动状态>+<电梯当前所在楼层>
<当前状态>::=<电梯能否使用>+<电梯门状态>+<运动状态>+<电梯当前所在楼层> <电梯能否使用>::=<可用>|<不可用>
<电梯门状态>::=<正在开门>|<关门完毕>|<正在开门>|<开门完毕>
<运动状态>::=<运动方向>|<暂停中>|<停止中>
<运动方向>::=<向上运动>|<向下运动>
<显示信息>::=<当前电梯所在楼层>|<电梯能否使用>|<各按纽的背景灯>
4.特殊需求
4.1功能或行为需求
4.1.1功能或行为需求:上下楼请求
(1)引言
为了满足用户的上下楼的请求,我们让电梯的外部除了底层和顶层只有一个按钮外,每个楼层有两个按钮,分别指示上楼和下楼请求。
(2)输入
用户按下向上或向下请求的按钮
(3)处理过程描述
当用户在某层楼按下按钮后,按钮灯亮,系统接到用户指令后将指令传递到应用接口,根据决定服务优先次序的算法做出响应,然后通过电梯上下运动控制系统来实现用户上下楼的请求。
(4)输出
电梯的运行结果即为输出结果,在到达该楼层后电梯门自动开启,如果电梯的运行结果错误,则需要通知管理人员、维护人员进行检查和维护。
4.1.2功能或行为需求:电梯上下运动控制
(1)引言
为了满足用户的上楼或下楼请求、用户正确到达目的楼层,系统通过响应用户的请求指令,进而驱动电梯驱动电机来控制电梯的上下运动
(2)输入
用户通过电梯内部的按钮——1~n层的数字按钮、向上或向下请求的按钮
(3)处理过程描述
系统获得多用户的请求后,将指令传递到应用接口,在系统的规定等待时间段里,如果没有特殊请求(开门、关门按钮),电梯门则自动关闭,然后将获得的请求经过优先处理
得到当前电梯所要去的首目的楼层,结合电梯当前楼层判断出电梯要做向上还是向下运动,进而将指令传递给上下运动控制系统,从而驱动电梯上下运动来实现上下楼的目的。
当电梯到达该楼层后,按钮灯熄灭。
如果电梯已到达该楼层,或者电梯正在沿所请求的方向运动,或者遇到有冲突的请求时,按钮灯灭。
在遇到有冲突请求的情况下,如果两楼层同时发出请求,则只能取消其中一个请求。
决定服务优先次序的算法应该尽量减少两个请求的等待时间。
(4)输出
电梯的运行结果即为输出结果,在到达该楼层后电梯门自动开启,自动开启后在系统的规定等待时间段里,如果没有特殊请求,电梯门则自动关闭。
如果电梯的运行结果错误,则需要通知管理人员、维护人员进行检查和维护。
4.1.3功能或行为需求:电梯的延迟关门、提前关门控制
(1)引言
为了解决用户在上下楼之前出现的忙碌状态的时候,能体现出该系统的人性化,用户可以通过按下延迟关门控制按钮来延迟电梯的自动关门或按下提前关门控制按钮提前电梯的自动关门时间
(2)输入
电梯内部的按钮——开门按钮、关门按钮
(3)处理过程描述
用户在系统的规定有效等待时间段里按下延迟关门或提前关门按钮后,系统接到指令后,通过增加或减少电梯的自动关门时间来控制电梯的延迟关门、提前关门(4)输出
电梯的运行结果即为输出结果,如果电梯的运行结果错误,则需要通知管理人员、维护人员进行检查和维护。
4.1.4功能或行为需求:优先级控制
(1)引言
电梯很多时候都会接到两个或两个以上的请求,为了减少多个请求的等待时间,系统需要对多个请求进行优先级的判断
(2)输入
按钮的选择相当于输入
(3)处理过程描述
在多用户使用电梯的时候,即系统接到多个请求后,或系统在接到一个请求后又接到别的请求。
系统将当前的首目的楼层与新的请求相比较,根据减少请求间的等待时间为原则判断哪个请求优先,从而系统先响应优先请求,即将优先的请求更新为电梯新的首目的
楼层,如果中途再有新请求,则做一样的处理。
(4)输出
电梯的运行结果即为输出结果,如果电梯的运行结果错误,则需要通知管理人员、维护人员进行检查和维护。
4.1.5功能或行为需求:报警控制
(1)引言
为了保证电梯的乘客的人身财产安全,每个电梯内部都设有一个紧急按钮,在遇到紧急事件时,用户可按下按钮,按下后系统向管理人员发出报警信号,然后电梯被置为为“不可用”状态。
每个电梯都设有取消“不可用”状态的机制。
(2)输入
报警按钮
(3)处理过程描述
系统通过响应用户的按钮请求,将报警信号传递到报警控制系统,将暂停信号传递给电梯上下运动控制系统,即让电梯变成“不可用”状态。
(4)输出
电梯的运行结果即为输出结果,如果电梯的运行结果错误,则需要通知管理人员、维护人员进行检查和维护。
4.1.6功能或行为需求:超重处理
(1)引言
为了保证乘客的人身财产安全以及电梯的使用寿命,电梯本身能承受的总重量有一个上限,如果电梯运载的总重量超过上限,则为超重状态
(2)输入
电梯运载的总重量
(3)处理过程描述
如果电梯的运载总重量超过上限,系统则发出超重命令,系统响应超重命令后将激活电梯的暂停控制处理系统,当且仅当电梯的运载总重量不超过上限时电梯才恢复正常运作状态。
(4)输出
电梯的运行结果即为输出结果,如果电梯的运行结果错误,则需要通知管理人员、维护人员进行检查和维护。
4.2外部界面需求
4.2.1用户界面
(1)乘客操作界面
上下楼请求按钮
1~n层的楼层按钮
关门按钮、关门按钮
报警按钮
(2)电梯管理人员操作界面
电梯不可用状态控制
电梯停启用控制
(3)维护人员操作界面
查看源代码
修改源代码
4.2.2软件界面
界面需求分析必须围绕用户为中心,不同于客观功能需求分析,具有很大的主观性。
虽然,界面设计人员可以按照通行的原则来设计,但是用户个体的文化、背景、知识水平、个人喜好等是千差百异的,其界面需求也是相差很大。
不同的用户,对软件界面有不同的要求,表达自己要求的方式也尽不相同。
而且用户的界面要求通常不像业务功能需求那样容易明确、有据可查、可以利用专门工具进行分析。
多数用户往往并不能提出明确的、全局的界面需求,其需求同自身主观因素联系紧密,是模糊、变化的。
调查用户的界面需求,必须先从调查用户自身特征开始,将不同特征用户群体的要求进行综合处理,再有针对性地分析其界面需求。
本电梯控制系统为普通用户,因此界面应该简单明了,避免为了追求华丽而影响界面的整洁和清晰。
对于按钮的操作应尽可能的方便,精确度高。
可以满足用户的平时习惯。
4.3性能需求
4.3.1精度
由于本电梯控制系统属于对按钮的选择,通过控制按钮选择楼层,因此对所需精度无特殊的要求。
4.3.2时间特征
本电梯控制系统属于实时系统,虽不及那些特殊的实时系统诸如用于军事、航空领域的等等对时间有很特殊的要求,但是也对响应时间、处理时间上有较强的要求。
需要:
a.响应时间迅速
b.更新处理时间相对比较快
c.数据的转换和传送时间迅速
因此对时间特性的要求如下:
响应时间:<=3s
处理时间:<=1s
更新处理时间:<=5s
梯内关门时间:<=3s
梯内开门时间:<=3s
4.3.3灵活性
a.能在多种运行环境下运行,如windows xp,Unix,Linux;
b.编写代码模块化,以保证修改时同其他软件的接口变化不大;
c.在时间响应速度上可以做到更高的效率;
d.计划发生变化或改进时能方便软件的开发人员和维护人员灵活的增减、修改该系统的功能、代码等。
4.4属性
4.4.1可用性
向客户提供详细的操作手册,和数据字典等。
使用户能够对电梯的控制系统有个初步的了解
4.4.2安全性
只有开发人员和维护人员才有权限查看和修改该系统的源代码,以防止程序和数据受到意外的或蓄意的存取、使用、修改、毁坏或泄密。
4.4.3可维护性
代码有足够的注释,清晰的结构,变量、函数等的命名具有较高的易理解性,以便修改潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化
4.4.4可移植性
本电梯控制系统采用windows操作系统下的VC++6.0编译环境,在通用的程序设计语言和运行支撑环境下,有较高的可移植性。