2014211306 班 F 组
李俊宁 董星彤 张有杰 赵亮 左旭彤
2017 年 05 月 11 日
[heading-numbering]
[TOC]
- v0.1 | 2017/5/11 | John Lee | 创建文档
- v0.2 | 2017/5/11 | 董星彤 左旭彤 | 添加 数据流、数据元素
- v0.3 | 2017/5/11 | 董星彤 | 添加 数据流图
- v0.4 | 2017/5/11 | 董星彤 左旭彤 | 修改 数据流和数据元素的对应
- v0.5 | 2017/5/13 | John Lee | 添加 引言、系统概述、业务背景描述、系统性能要求、系统的数据采集接口、其他需求分析
- v0.6 | 2017/5/13 | 赵 亮 | 添加 数据文件、外部实体、ER 图
- v0.7 | 2017/5/13 | 张有杰 | 添加 加工
- v1.0 | 2017/5/13 | John Lee | 发布文档
该文档主要的目的明确软件需求规格。根据已经确定的需求分析来描述软件的系统功能需求(数据流图)、系统数据模型(实体关系图)、系统性能要求和系统的数据采集接口等,软件开发人员根据此模型来进行软件的详细设计与开发。
读者对象为参与系统设计、实现的用户、设计人员、编码人员和测试人员等。
系统是 分布式温控系统软件,主要有控制和调度中央空调系统、响应不同房间空调的请求、计算空调能耗和费用以及生成报表等功能。项目由 06 班 F 组开发,由酒店管理人员管理、验收。
术语 | 解释 |
---|---|
系统 | 分布式温控系统 |
项目 | 分布式温控系统软件 |
文档 | 分布式温控系统软件需求规格说明书 |
主控机、主机 | 中央空调 |
从控机、从机 | 房间空调 |
文档采用结构化需求分析方法,主要分析:系统功能需求(数据流图)、系统数据模型(实体关系图)、系统性能要求和系统的数据采集接口等。
文档内容分为三部分:系统概述([sec|系统概述])、系统功能需求分析([sec|系统功能需求分析])和其他需求分析([sec|其他需求分析])。其中,系统概述部分包括:系统建设目标、系统运行环境及条件和限制。系统功能需求分析包括:业务背景描述、系统功能需求、系统数据模型、系统性能要求和系统的数据采集接口。
根据如下需求,设计分布式温控系统:
- 空调系统由中央空调(主控机)和房间空调(从控机)两部分构成。中央空调由特定的管理人员操控,房间空调由用户来操控。
- 中央空调具备开关按钮,只可人工开启和关闭,正常开启后处于待机状态。有冷暖两种工作模式,每种模式有特定的缺省温度以及温度区间,可根据季节进行工作模式的调整。中央空调能够实时监测个房间的温度和状态,并且能够根据实时刷新的频率进行配置。
- 从控机只能人工方式开闭,可以通过控制面板设置目标温度,目标温度有上下限制。控制面板的温度调节可以连续变化也可以断续变化。每个从控机内有一个温度传感器,可以实时监测房间的温度。
- 从控机的控制面板能够发送高、中、低风速的请求,各小组可以自定义高、中、低三种风速下的温度变化值。中央空调可以根据从控机的请求时长及高中低风速的供风量计算每个房间所消耗的能量以及所需支付的金额,并将对应信息发送给每个从控机进行在线显示,以便客户查询。
- 中央空调监控具备统计功能,可以根据需要给出日报表、周报表和月报表;报表内容如下:房间号、从控机开关机的次数、温控请求起止时间(列出所有记录)、温控请求的起止温度及风量大小(列出所有记录)、每次温控请求所需费用、每日(周、月)所需总费用。
- 中央空调同时只能处理三台从控机的请求,为此主机要有负载均衡的能力。如果有超过三台从控机请求,则需要对所有请求机器进行调度,调度算法自行定义。
系统分为主控机、从控机两部分。主控机运行在一台 Linux 服务器上,并使用守护进程保证其可靠性;每个从控机运行在一个 Windows 10 设备上,要求设备有:显示器、麦克风、扬声器、鼠标或触摸板 和 温度传感器。
根据系统阶段性建设目标,系统建设和运行的前提条件有:
- 主机能和中央空调系统进行通信,并控制中央空调系统
- 主机能通过 Web 方式进行管理
- 从机能采集房间温度信息
- 从机能通过语音和鼠标或触摸板方式与房客交互
当今社会,市场竞争激烈,旅客对于酒店的选择也五花八门。快捷廉价酒店以低价位吸引着旅客,但同时,要想留住顾客,就必须要提供高质量的服务。正是在这种需求下,催生了该分布式温控系统。该产品绿色节能环保,同时也能提供高质量的服务。凭借这独有的特色,定能在市场上拥有一席之地。
借助本系统,酒店管理人员可以很方便的进行中央空调系统的调度和控制(如中央空调温度控制、负载均衡);房客可以很方便的控制自己房间的空调运行情况;另外,系统还提供了能耗计算、费用统计、报表生成等功能。使用本系统,可以大大减少酒店的中央空调维护管理开支。
根据业务背景,系统的数据流图自顶向下分为三个层次。本部分将给出各个层次的数据流图和对应的数据词典。
[th=width:140px]
外部实体名称 | 酒店前台 |
---|---|
简要描述 | 负责录入房客信息的前台管理人员 |
有关数据流 | 房客信息 |
备注 |
[th=width:140px]
外部实体名称 | 酒店后台 |
---|---|
简要描述 | 负责维护运行中央空调系统的管理人员 |
有关数据流 | 查询请求、日志、配置信息 |
备注 |
[th=width:140px]
外部实体名称 | 房客 |
---|---|
简要描述 | 空调系统的使用者 |
有关数据流 | 状态信息、登录信息、目标状态 |
备注 |
[th=width:120px]
数据流名称 | 房客信息 |
---|---|
简要描述 | 前台人员从房客处获取房客信息,录入系统 |
数据流来源 | 外部实体“前台” |
数据流去向 | 加工“中央空调系统” |
数据流组成 | 房间号 + 房客身份证号 + 入住日期 + 退房日期 |
备注 |
[th=width:120px]
数据流名称 | 日志查询请求 |
---|---|
简要描述 | 后台人员请求查询日志信息 |
数据流来源 | 外部实体“后台” |
数据流去向 | 加工“中央空调系统” |
数据流组成 | 请求报表类型 |
备注 |
[th=width:120px]
数据流名称 | 日志 |
---|---|
简要描述 | 后台人员请求查询日志信息后,“管理日志”加工返回日志信息 |
数据流来源 | 加工“中央空调系统” |
数据流去向 | 外部实体“后台” |
数据流组成 | 房间号 + 从控机开关机的次数 + { 温控请求开始时间 + 温控请求停止时间 + 温控请求的起止温度 + 风量大小 + 每次温控请求所需费用 } + [ 每日,每周,每月所需总费用 ] |
备注 |
[th=width:120px]
数据流名称 | 主控机配置信息 |
---|---|
简要描述 | 后台人员对配置信息进行修改 |
数据流来源 | 外部实体“后台” |
数据流去向 | 加工“中央空调系统” |
数据流组成 | (主控机开关) + (工作模式) + (缺省工作温度) + (刷新频率) |
备注 |
[th=width:120px]
数据流名称 | 登录信息 |
---|---|
简要描述 | 房客将自己的房间号和身份信息输入到中央空调系统 |
数据流来源 | 实体“房客” |
数据流去向 | 加工“中央空调系统” |
数据流组成 | 房间号+房客身份证号 |
备注 |
[th=width:120px]
数据流名称 | 状态信息 |
---|---|
简要描述 | 中央空调系统将当前房间信息显示给房客 |
数据流来源 | 加工“中央空调系统” |
数据流去向 | 实体“房客” |
数据流组成 | 房间号+房间温度+风速+能耗+费用 |
备注 |
[th=width:120px]
数据流名称 | 目标状态 |
---|---|
简要描述 | 房客将希望调节的风速和温度信息发给中央空调系统 |
数据流来源 | 实体“房客” |
数据流去向 | 加工“中央空调系统” |
数据流组成 | 房间号+房间目标温度+风速 |
备注 |
[th=width:141px]
数据元素名称 | 房间号 |
---|---|
简要描述 | 空调从控机所在的房间号,位于“日志” “房客信息” “登录信息” “状态信息” “目标状态”数据结构内 |
类型 | 数字 |
长度 | 4位数字 |
取值范围 | 0101-1020 |
备注 |
[th=width:141px]
数据元素名称 | 从控机开关机的次数 |
---|---|
简要描述 | 某房间内从控机开关机次数,位于“日志”数据结构内 |
类型 | 数字 |
长度 | 整数 |
取值范围 | 大于0 |
备注 |
[th=width:141px]
数据元素名称 | 时间 |
---|---|
简要描述 | 某一请求的时间,位于“日志”,“房客信息”数据结构内 |
类型 | 年 + 月 + 日 + 时 + 分 + 秒 |
长度 | 14 |
取值范围 | 年="0000".."9999"; 月="01".."12"; 日="01".."31"; 时="00".."23"; 分="01".."60"; 秒="01".."60"; |
备注 |
[th=width:141px]
数据元素名称 | 费用 |
---|---|
简要描述 | 某一请求的总费用,位于“日志” “状态信息” 数据结构内 |
类型 | 浮点数 |
长度 | 小数点后最多两位,小数点前不限 |
取值范围 | 大于0.00 |
备注 |
[th=width:141px]
数据元素名称 | 总费用 |
---|---|
简要描述 | 每日,每周,每月所需总费用,位于“日志”数据结构内 |
类型 | 浮点数 |
长度 | 小数点后最多两位,小数点前不限 |
取值范围 | 大于0.00 |
备注 | 总费用等于所有请求的费用之和 |
[th=width:141px]
数据元素名称 | 请求报表类型 |
---|---|
简要描述 | 请求查看年报表,月报表或日报表,位于“请求日志”数据结构内 |
类型 | 整型 |
长度 | 1 |
取值范围 | 年报表=1;月报表=2;日报表=3; 请求报表类型=[ 年报表,月报表,日报表 ] |
备注 |
[th=width:141px]
数据元素名称 | 主控机开关状态 |
---|---|
简要描述 | 主控机当前运行状态,位于“配置信息”数据结构内 |
类型 | 布尔型 |
长度 | 1 |
取值范围 | 开启=1;关闭=0; 主控机开关状态=[ 开启,关闭 ] |
备注 |
[th=width:141px]
数据元素名称 | 工作模式 |
---|---|
简要描述 | 主控机当前工作模式,位于“配置信息”数据结构内 |
类型 | 布尔型 |
长度 | 1 |
取值范围 | 制热=1;制冷=0; 工作模式=[ 制热,制冷 ] |
备注 |
[th=width:141px]
数据元素名称 | 刷新频率 |
---|---|
简要描述 | 主控机获取房间信息的频率,位于“配置信息”数据结构内 |
类型 | 整型 |
长度 | 2 |
取值范围 | "1".."99" |
备注 | 单位:秒 |
[th=width:141px]
数据元素名称 | 房间温度 |
---|---|
简要描述 | 可以反映此时房间的温度,位于“状态信息” “日志”数据结构内 |
类型 | 数字 |
长度 | 两位数字 |
取值范围 | "00".."99" |
备注 | 单位:摄氏度 |
[th=width:141px]
数据元素名称 | 房间目标温度 |
---|---|
简要描述 | 可以反映房客需要调节的温度,位于“目标状态” “日志” “主控机配置信息”数据结构内 |
类型 | 数字 |
长度 | 两位数字 |
取值范围 | "18".."30" |
备注 | 单位:摄氏度 |
[th=width:141px]
数据元素名称 | 房客身份证号 |
---|---|
简要描述 | 输入以完成房客身份认证,位于“登录信息”“房客信息”数据结构内 |
类型 | 数字 |
长度 | 十八位字符 |
取值范围 | "000000000000000000".."999999999999999999" |
备注 |
[th=width:141px]
数据元素名称 | 风速 |
---|---|
简要描述 | 反映房间的风速信息,位于“状态信息” “日志” “目标状态”数据结构内 |
类型 | 数字 |
长度 | 一位数字 |
取值范围 | 高风速=0,中风速=1,低风速=2,风速=[0,1,2] |
备注 |
[th=width:142px]
数据文件名称 | 房客信息 |
---|---|
简要描述 | 存储房客入住信息 |
输入数据 | 姓名、身份证号码、入住日期、退房日期 |
输出数据 | 姓名、身份证号码、入住日期、退房日期 |
数据文件组成 | 姓名+身份证号码+入住日期+退房日期 |
存储方式 | 存放在数据库中,关键字:姓名+身份证号码 |
备注 |
[th=width:142px]
数据文件名称 | 日志 |
---|---|
简要描述 | 记录空调系统的整个运行过程 |
输入数据 | 房间号、从控机开关机的次数、温控请求开始时间、温控请求的起止温度、风量大小 |
输出数据 | 房间号、从控机开关机的次数、温控请求开始时间、温控请求停止时间、温控请求的起止温度、风量大小、每次温控请求所需费用、 [每日,每周,每月所需总费用 ] |
数据文件组成 | 房间号 + 从控机开关机的次数 + { 温控请求开始时间 + 温控请求停止时间 + 温控请求的起止温度 + 风量大小 + 每次温控请求所需费用 } + [ 每日,每周,每月所需总费用 ] |
存储方式 | 存储在数据库中,关键字:房间号 |
备注 |
[th=width:142px]
数据文件名称 | 主控机配置信息 |
---|---|
简要描述 | 存储主控机配置的相关参数 |
输入数据 | 工作模式、缺省温度、风速大小、刷新频率 |
输出数据 | 工作模式、缺省温度、风速大小、刷新频率 |
数据文件组成 | 工作模式+缺省温度+风速大小+刷新频率 |
存储方式 | 存放在数据库中,关键字:工作模式 |
备注 |
[th=width:142px]
数据文件名称 | 从控机配置信息 |
---|---|
简要描述 | 存储从控机调节请求 |
输入数据 | 房间信息、房客认证信息、温度调节请求、风速调节请求 |
输出数据 | 房间信息、房客权限、温度请求响应、风速请求响应 |
数据文件组成 | 房间信息+房客认证信息+温度调节请求+风速调节请求 |
存储方式 | 存放在数据库中,关键字:房间号+房客信息 |
备注 |
[th=width:101px]
加工名称 | 中央空调系统 |
---|---|
简要描述 | 中央空调系统能够使用前台人员录入的房客信息对房客身份进行认证,处理房客的温控请求并完成房间温度的控制,统计各房间费用及能耗并生成相应的报表 |
加工编号 | 0 |
输入数据流 | 房客信息、登录信息、目标状态、咨询请求、配置信息 |
输出数据流 | 状态信息、日志 |
加工逻辑
- IF 收到配置系统请求 THEN
- IF 收到开机指令 THEN
- 启动中央空调系统
- 身份认证
- 校正系统时钟
- ELSE IF 收到关机指令 THEN
- 记录日志
- 关闭中央空调系统
- ELSE IF 后台人员发出设置系统配置请求 THEN
- 选择具体配置选项
- 设置工作模式
- 设置温度范围
- 设置计费信息
- 设置状态信息心跳频率
- 输入目标参数
- 完成参数配置
- ENDIF
- ENDIF
- IF 房客入住 THEN
- 录入房客信息
- ENDIF
- IF 房客发出温控请求 THEN
- 系统接收请求
- IF 确认请求合法 THEN
- 处理温控请求
- 返回状态信息
- 统计计费与耗能信息并记录日志
- ELSE
- 返回错误信息
- ENDIF
- IF 收到查询报表请求 THEN
- 选择报表类别
- 日报表
- 月报表
- 年报表
- 返回报表
- 选择报表类别
- ENDIF
- IF 收到结账请求 THEN
- 选择所查询房客
- 返回计费信息
- 房客付费
- ENDIF
[th=width:140px]
外部实体名称 | 酒店前台 |
---|---|
简要描述 | 负责录入房客信息的前台管理人员 |
有关数据流 | 房客信息 |
备注 |
[th=width:140px]
外部实体名称 | 酒店后台 |
---|---|
简要描述 | 负责维护运行中央空调系统的管理人员 |
有关数据流 | 查询请求、日志、配置信息 |
备注 |
[th=width:140px]
外部实体名称 | 房客 |
---|---|
简要描述 | 空调系统的使用者 |
有关数据流 | 状态信息、登录信息、目标状态 |
备注 |
[th=width:140px]
外部实体名称 | 温度传感器 |
---|---|
简要描述 | 实时记录房间的温度 |
有关数据流 | 房间温度 |
备注 |
[th=width:120px]
数据流名称 | 房客信息 |
---|---|
简要描述 | 前台人员从房客处获取房客信息,录入系统 |
数据流来源 | 外部实体“前台” |
数据流去向 | 加工“主控机子系统” |
数据流组成 | 房间号 + 房客身份证号 + 入住日期 + 退房日期 |
备注 |
[th=width:120px]
数据流名称 | 日志查询请求 |
---|---|
简要描述 | 后台人员请求查询日志信息 |
数据流来源 | 外部实体“后台” |
数据流去向· | 加工“主控机子系统” |
数据流组成 | 请求报表类型 |
备注 |
[th=width:120px]
数据流名称 | 日志 |
---|---|
简要描述 | 后台人员请求查询日志信息后,“管理日志”加工返回日志信息 |
数据流来源 | 加工“主控机子系统” |
数据流去向 | 外部实体“后台” |
数据流组成 | 房间号 + 从控机开关机的次数 + { 温控请求开始时间 + 温控请求停止时间 + 温控请求的起止温度 + 风量大小 + 每次温控请求所需费用 } + [ 每日,每周,每月所需总费用 ] |
备注 |
[th=width:120px]
数据流名称 | 主控机配置信息 |
---|---|
简要描述 | 后台人员对配置信息进行修改 |
数据流来源 | 外部实体“后台” |
数据流去向 | 加工“主控机子系统” |
数据流组成 | (主控机开关) + (工作模式) + (缺省工作温度) + (刷新频率) |
备注 |
[th=width:120px]
数据流名称 | 费用能耗信息 |
---|---|
简要描述 | 主控机根据空调当前状态计算出能耗和费用,并将信息发给从控机 |
数据流来源 | 加工“主控机子系统” |
数据流去向 | 加工“从控机子系统” |
数据流组成 | 房间号 + 费用 + 能耗 |
备注 |
[th=width:120px]
数据流名称 | 空调运行状态 |
---|---|
简要描述 | 空调运行的状态 |
数据流来源 | 加工“主控机子系统” |
数据流去向 | 加工“从控机子系统” |
数据流组成 | 房间号 + 温度 + 风速 |
备注 |
[th=width:120px]
数据流名称 | 调节请求 |
---|---|
简要描述 | 从控机将调节请求发送给主控机 |
数据流来源 | 加工“从控机子系统” |
数据流去向 | 加工“主控机子系统” |
数据流组成 | 房间号 + 房间目标温度 + 风速 |
备注 |
[th=width:120px]
数据流名称 | 房间温度 |
---|---|
简要描述 | 温度传感器可以将获得的温度发给主控机 |
数据流来源 | 实体“温度传感器” |
数据流去向 | 加工“从控机子系统” |
数据流组成 | 房间号+房间温度 |
备注 |
[th=width:120px]
数据流名称 | 登录信息 |
---|---|
简要描述 | 房客将自己的房间号和身份信息输入到从控机房客身份认证界面 |
数据流来源 | 实体“房客” |
数据流去向 | 加工“从控机子系统” |
数据流组成 | 房间号+房客身份证号 |
备注 |
[th=width:120px]
数据流名称 | 状态信息 |
---|---|
简要描述 | 从控机显示界面将当前房间信息显示给房客 |
数据流来源 | 加工“从控机子系统” |
数据流去向 | 实体“房客” |
数据流组成 | 房间号+房间温度+风速+能耗+费用 |
备注 |
[th=width:120px]
数据流名称 | 目标状态 |
---|---|
简要描述 | 房客将希望调节的风速和温度信息发给从控机子系统 |
数据流来源 | 实体“房客” |
数据流去向 | 加工“从控机子系统” |
数据流组成 | 房间目标温度+风速 |
备注 |
[th=width:120px]
数据流名称 | 身份认证信息 |
---|---|
简要描述 | 从控机将所获取的身份认证信息发给主控机,主控机进行认证,判断是否可以完成空调使用的授权 |
数据流来源 | 加工“从控机子系统” |
数据流去向 | 加工“主控机子系统” |
数据流组成 | 房间号+房客身份证号 |
备注 |
[th=width:120px]
数据流名称 | 房间状态 |
---|---|
简要描述 | 从控机将所获取的房间状态发给主控机 |
数据流来源 | 加工“从控机子系统” |
数据流去向 | 加工“主控机子系统” |
数据流组成 | 房间号+房间温度+风速 |
备注 |
[th=width:141px]
数据元素名称 | 房间号 |
---|---|
简要描述 | 空调从控机所在的房间号,位于“状态信息” “房间状态” “房间温度” “日志”,“房客信息”,“空调运行状态”,“费用能耗信息”,“调节请求” “身份认证信息” “登录信息”数据结构内 |
类型 | 数字 |
长度 | 4位数字 |
取值范围 | 0101-1020 |
备注 |
[th=width:141px]
数据元素名称 | 从控机开关机的次数 |
---|---|
简要描述 | 某房间内从控机开关机次数,位于“日志”数据结构内 |
类型 | 数字 |
长度 | 整数 |
取值范围 | 大于0 |
备注 |
[th=width:141px]
数据元素名称 | 时间 |
---|---|
简要描述 | 某一请求的时间,位于“日志”,“房客信息”数据结构内 |
类型 | 年 + 月 + 日 + 时 + 分 + 秒 |
长度 | 14 |
取值范围 | 年="0000".."9999"; 月="01".."12"; 日="01".."31"; 时="00".."23"; 分="01".."60"; 秒="01".."60"; |
备注 |
[th=width:141px]
数据元素名称 | 费用 |
---|---|
简要描述 | 某一请求的总费用,位于“日志”,“费用能耗信息”数据结构内 |
类型 | 浮点数 |
长度 | 小数点后最多两位,小数点前不限 |
取值范围 | 大于0.00 |
备注 |
[th=width:141px]
数据元素名称 | 总费用 |
---|---|
简要描述 | 每日,每周,每月所需总费用,位于“日志”数据结构内 |
类型 | 浮点数 |
长度 | 小数点后最多两位,小数点前不限 |
取值范围 | 大于0.00 |
备注 | 总费用等于所有请求的费用之和 |
[th=width:141px]
数据元素名称 | 请求报表类型 |
---|---|
简要描述 | 请求查看年报表,月报表或日报表,位于“请求日志”数据结构内 |
类型 | 整型 |
长度 | 1 |
取值范围 | 年报表=1;月报表=2;日报表=3; 请求报表类型=[ 年报表,月报表,日报表 ] |
备注 |
[th=width:141px]
数据元素名称 | 主控机开关状态 |
---|---|
简要描述 | 主控机当前运行状态,位于“主控机配置信息”数据结构内 |
类型 | 布尔型 |
长度 | 1 |
取值范围 | 开启=1;关闭=0; 主控机开关状态=[ 开启,关闭 ] |
备注 |
[th=width:141px]
数据元素名称 | 工作模式 |
---|---|
简要描述 | 主控机当前工作模式,位于“主控机配置信息”数据结构内 |
类型 | 布尔型 |
长度 | 1 |
取值范围 | 制热=1;制冷=0; 工作模式=[ 制热,制冷 ] |
备注 |
[th=width:141px]
数据元素名称 | 刷新频率 |
---|---|
简要描述 | 主控机获取房间信息的频率,位于“主控机配置信息”数据结构内 |
类型 | 整型 |
长度 | 2 |
取值范围 | "1".."99" |
备注 | 单位:秒 |
[th=width:141px]
数据元素名称 | 能耗 |
---|---|
简要描述 | 空调运行能耗,位于“状态信息”,“费用能耗信息”数据结构内 |
类型 | 整型 |
长度 | 8 |
取值范围 | "1".."99999999" |
备注 |
[th=width:141px]
数据元素名称 | 房间温度 |
---|---|
简要描述 | 可以反映此时房间的温度,位于“房间温度” “状态信息” “房间状态”数据结构内 |
类型 | 数字 |
长度 | 两位数字 |
取值范围 | "00".."99" |
备注 | 单位:摄氏度 |
[th=width:141px]
数据元素名称 | 房间目标温度 |
---|---|
简要描述 | 可以反映房客需要调节的温度,位于“目标状态”“日志”“空调运行状态”“调节请求”数据结构内 |
类型 | 数字 |
长度 | 两位数字 |
取值范围 | "18".."30" |
备注 | 单位:摄氏度 |
[th=width:141px]
数据元素名称 | 房客身份证号 |
---|---|
简要描述 | 输入以完成房客身份认证,位于“登录信息” “身份认证信息”“房客信息”数据结构内 |
类型 | 数字 |
长度 | 十八位字符 |
取值范围 | "000000000000000000".."999999999999999999" |
备注 |
[th=width:141px]
数据元素名称 | 风速 |
---|---|
简要描述 | 反映房间的风速信息,位于“状态信息” “日志” “目标状态” “房间状态” “调节请求”“空调运行状态”数据结构内 |
类型 | 数字 |
长度 | 一位数字 |
取值范围 | 高风速=0,中风速=1,低风速=2,风速=[0,1,2] |
备注 |
[th=width:142px]
数据文件名称 | 房客信息 |
---|---|
简要描述 | 存储房客入住信息 |
输入数据 | 姓名、身份证号码、入住日期、退房日期 |
输出数据 | 姓名、身份证号码、入住日期、退房日期 |
数据文件组成 | 姓名+身份证号码+入住日期+退房日期 |
存储方式 | 存放在数据库中,关键字:姓名+身份证号码 |
备注 |
[th=width:142px]
数据文件名称 | 日志 |
---|---|
简要描述 | 记录空调系统的整个运行过程 |
输入数据 | 房间号、从控机开关机的次数、温控请求开始时间、温控请求的起止温度、风量大小 |
输出数据 | 房间号、从控机开关机的次数、温控请求开始时间、温控请求停止时间、温控请求的起止温度、风量大小、每次温控请求所需费用、 [每日,每周,每月所需总费用 ] |
数据文件组成 | 房间号 + 从控机开关机的次数 + { 温控请求开始时间 + 温控请求停止时间 + 温控请求的起止温度 + 风量大小 + 每次温控请求所需费用 } + [ 每日,每周,每月所需总费用 ] |
存储方式 | 存储在数据库中,关键字:房间号 |
备注 |
[th=width:142px]
数据文件名称 | 主控机配置信息 |
---|---|
简要描述 | 存储主控机配置的相关参数 |
输入数据 | 工作模式、缺省温度、风速大小、刷新频率 |
输出数据 | 工作模式、缺省温度、风速大小、刷新频率 |
数据文件组成 | 工作模式+缺省温度+风速大小+刷新频率 |
存储方式 | 存放在数据库中,关键字:工作模式 |
备注 |
[th=width:142px]
数据文件名称 | 从控机配置信息 |
---|---|
简要描述 | 存储从控机调节请求 |
输入数据 | 房间信息、房客认证信息、温度调节请求、风速调节请求 |
输出数据 | 房间信息、房客权限、温度请求响应、风速请求响应 |
数据文件组成 | 房间信息+房客认证信息+温度调节请求+风速调节请求 |
存储方式 | 存放在数据库中,关键字:房间号+房客信息 |
备注 |
[th=width:101px]
加工名称 | 主控机子系统 |
---|---|
简要描述 | 前台录入房客信息;后台人员查询日志并配置主控机参数;接收并按照一定的负载均衡策略处理从控机请求 |
加工编号 | 1.1 |
输入数据流 | 房客信息、咨询请求、配置信息、身份认证信息、调节请求、房间状态 |
输出数据流 | 日志、空调运行状态、计费能耗信息 |
加工逻辑
- IF 收到配置系统请求 THEN
- IF 收到开机指令 THEN
- 启动主控机系统
- 身份认证
- 校正主控机时钟
- ELSE IF 收到关机指令 THEN
- 记录日志
- 关闭主控机
- ELSE IF 后台人员发出设置主控机配置请求 THEN
- 选择具体配置选项
- 设置工作模式
- 设置温度范围
- 设置计费信息
- 设置状态信息心跳频率
- 选择具体配置选项
- 输入目标参数
- 完成主控机参数配置
- ENDIF
- IF 收到开机指令 THEN
- ENDIF
- IF 新房客到来 THEN
- 前台录入房客信息
- 存入数据文件 房客信息 中
- ENDIF
- IF 接收从控机状态汇报 THEN
- 提取从控机状态
- IF 从控机状态异常 THEN
- 异常警告
- ELSE
- IF 从控机当前温度达到目标温度 THEN
- 停止送风
- ELSE
- 继续送风
- ENDIF
- IF 从控机当前温度达到目标温度 THEN
- ENDIF
- 从控机状态输出到日志
- ENDIF
- IF 接收从控机身份认证请求 THEN
- 提取从控机身份认证信息
- 查询房客信息进行验证
- IF 验证通过 THEN
- 返回使用授权
- ELSE
- 返回认证失败
- ENDIF
- ENDIF
- IF 接收从控机风控请求 THEN
- 提取从控机目标风速及房间号
- IF 目标风速合法 THEN
- 请求加入处理队列
- ELSE
- 拒绝当前请求,返回错误信息
- ENDIF
- ENDIF
- IF 接收从控机温控请求 THEN
- 提取从控机目标温度及房间号
- IF 目标温度合法 THEN
- 请求加入处理队列
- ELSE
- 拒绝当前请求,返回错误信息
- ENDIF
- ENDIF
[th=width:101px]
加工名称 | 从控机子系统 |
---|---|
简要描述 | 输入房客信息,对房客身份进行验证;向主控机发出风控及温控请求;显示当前计费及能耗信息 |
加工编号 | 1.2 |
输入数据流 | 房间温度、登录信息、目标状态、空调运行状态、计费能耗信息 |
输出数据流 | 身份认证信息、调节请求、房间状态、状态信息 |
加工逻辑
- IF 房客进行身份认证 THEN
- 从界面获取身份信息
- 房客登录认证
- IF 认证通过 THEN
- 得到从控机使用授权
- ELSE
- 显示认证失败信息
- ENDIF
- ENDIF
- IF 接收当前房间温度 THEN
- 从传感器获取当前房间温度
- 显示当前温度
- ENDIF
- IF 接收主控机计费能耗信息 THEN
- 从控机显示当前计费及能耗信息
- ENDIF
- IF 房客调整风速 THEN
- 房客输入目标风速
- 从从控机界面获取目标风速
- 发送调整风速请求
- ENDIF
- IF 房客调整温度 THEN
- 房客输入目标温度
- 从从控机界面获取目标温度
- 发送调整温度请求
- ENDIF
[th=width:140px]
外部实体名称 | 酒店前台 |
---|---|
简要描述 | 负责录入房客信息的前台管理人员 |
有关数据流 | 房客信息 |
备注 |
[th=width:140px]
外部实体名称 | 酒店后台 |
---|---|
简要描述 | 负责维护运行中央空调系统的管理人员 |
有关数据流 | 查询请求、日志、配置信息 |
备注 |
[th=width:140px]
外部实体名称 | 房客 |
---|---|
简要描述 | 空调系统的使用者 |
有关数据流 | 状态信息、登录信息、目标状态 |
备注 |
[th=width:140px]
外部实体名称 | 温度传感器 |
---|---|
简要描述 | 实时记录房间的温度 |
有关数据流 | 房间温度 |
备注 |
[th=width:120px]
数据流名称 | 日志查询请求 |
---|---|
简要描述 | 后台人员请求查询日志信息 |
数据流来源 | 外部实体“后台” |
数据流去向 | 加工“管理日志” |
数据流组成 | 请求报表类型 |
备注 |
[th=width:120px]
数据流名称 | 日志 |
---|---|
简要描述 | 后台人员请求查询日志信息后,“管理日志”加工返回日志信息 |
数据流来源 | 加工“管理日志” |
数据流去向 | 外部实体“后台” |
数据流组成 | 房间号 + 从控机开关机的次数 + { 温控请求开始时间 + 温控请求停止时间 + 温控请求的起止温度 + 风量大小 + 每次温控请求所需费用 } + [ 每日,每周,每月所需总费用 ] |
备注 |
[th=width:120px]
数据流名称 | 主控机配置信息 |
---|---|
简要描述 | 后台人员对配置信息进行修改 |
数据流来源 | 外部实体“后台” |
数据流去向 | 加工“配置空调参数” |
数据流组成 | (主控机开关) + (工作模式) + (缺省工作温度) + (刷新频率) |
备注 |
[th=width:120px]
数据流名称 | 房客信息 |
---|---|
简要描述 | 前台人员从房客处获取房客信息,录入系统 |
数据流来源 | 外部实体“前台” |
数据流去向 | 加工“管理房客信息” |
数据流组成 | 房间号 + 房客身份证号 + 入住日期 + 退房日期 |
备注 |
[th=width:120px]
数据流名称 | 费用能耗信息 |
---|---|
简要描述 | 根据空调当前状态计算出能耗和费用 |
数据流来源 | 加工“能耗费用计算” |
数据流去向 | 加工“生成日志”,“显示信息” |
数据流组成 | 房间号 + 费用 + 能耗 |
备注 |
[th=width:120px]
数据流名称 | 空调运行状态 |
---|---|
简要描述 | 空调运行的状态 |
数据流来源 | 加工“负载均衡” |
数据流去向 | 加工“能耗费用计算”,“显示信息”,“生成日志” |
数据流组成 | 房间号 + 温度 + 风速 |
备注 |
[th=width:120px]
数据流名称 | 使用授权 |
---|---|
简要描述 | 房客登录成功后授权给调节模块,此时调节模块才能接受从控机的调节请求,否则不接受 |
数据流来源 | 加工“房客登录认证” |
数据流去向 | 加工“接收温度调节信息”,“接收风速调节信息” |
数据流组成 | 房间号 + 使用权限 |
备注 |
[th=width:120px]
数据流名称 | 风速调节请求 |
---|---|
简要描述 | 从控机将风速调节请求发送给主控机 |
数据流来源 | 加工“界面调节风速” |
数据流去向 | 加工“接收风速调节信息” |
数据流组成 | 房间号 + 风速 |
备注 |
[th=width:120px]
数据流名称 | 风速调节请求 |
---|---|
简要描述 | 主控机接收到风速调解请求后将请求信息发送到日志生成模块,若该房间房客有使用权限,则再将请求发送到负载均衡模块 |
数据流来源 | 加工“接收风速调节信息” |
数据流去向 | 加工“生成日志”,“负载均衡” |
数据流组成 | 房间号+风速 |
备注 |
[th=width:120px]
数据流名称 | 房间温度 |
---|---|
简要描述 | 温度传感器可以将获得的温度发给从控机 |
数据流来源 | 实体“温度传感器” |
数据流去向 | 加工“发送房间信息” |
数据流组成 | 房间温度 |
备注 |
[th=width:120px]
数据流名称 | 房间信息 |
---|---|
简要描述 | 从控机将获取的房间温度传给主控机,主控机根据温度和房间号将房间信息进行更新 |
数据流来源 | 加工“发送房间信息” |
数据流去向 | 加工“房间信息更新” |
数据流组成 | 房间温度+房间号 |
备注 |
[th=width:120px]
数据流名称 | 房间温度调节信息 |
---|---|
简要描述 | 根据房间信息更新日志 |
数据流来源 | 加工“房间信息更新” |
数据流去向 | 加工“生成日志” |
数据流组成 | 房间温度+房间号 |
备注 |
[th=width:120px]
数据流名称 | 目标温度 |
---|---|
简要描述 | 用户将所要调节的目标温度输入到从控机温度控制界面 |
数据流来源 | 实体“房客” |
数据流去向 | 加工“界面调节温度” |
数据流组成 | 目标温度 |
备注 |
[th=width:120px]
数据流名称 | 登录信息 |
---|---|
简要描述 | 房客将自己的房间号和身份信息输入到从控机房客身份认证界面 |
数据流来源 | 实体“房客” |
数据流去向 | 加工“界面房客身份认证” |
数据流组成 | 房间号+房客身份证号 |
备注 |
[th=width:120px]
数据流名称 | 状态信息 |
---|---|
简要描述 | 从控机显示界面将当前房间信息显示给房客 |
数据流来源 | 加工“显示信息” |
数据流去向 | 实体“房客” |
数据流组成 | 房间号+房间温度+风速+能耗+费用 |
备注 |
[th=width:120px]
数据流名称 | 身份认证信息 |
---|---|
简要描述 | 从控机将所获取的身份认证信息发给主控机,主控机进行认证,判断是否可以完成空调使用的授权 |
数据流来源 | 加工“界面房客身份认证” |
数据流去向 | 加工“房客登录认证” |
数据流组成 | 房间号+身份证号 |
备注 |
[th=width:120px]
数据流名称 | 温度调节请求 |
---|---|
简要描述 | 主控机接收来自从控机的用户选择的目标温度的信息 |
数据流来源 | 加工“界面调节温度” |
数据流去向 | 加工“接收温度调节信息” |
数据流组成 | 房间号+房间目标温度 |
备注 |
[th=width:120px]
数据流名称 | 温度调节请求 |
---|---|
简要描述 | 用来自主控机的温度调节请求更新日志 |
数据流来源 | 加工“接收温度调节信息” |
数据流去向 | 加工“生成日志” |
数据流组成 | 房间号+房间目标温度 |
备注 |
[th=width:120px]
数据流名称 | 温度调节请求 |
---|---|
简要描述 | 使得来自主控机的温度调节请求满足负载均衡 |
数据流来源 | 加工“接收温度调节信息” |
数据流去向 | 加工“负载均衡” |
数据流组成 | 房间号+房间目标温度 |
备注 |
[th=width:141px]
数据元素名称 | 房间号 |
---|---|
简要描述 | 空调从控机所在的房间号,位于“日志”,“登录信息”,“身份认证信息”,“使用授权”,“空调运行状态”,“费用能耗信息”,“风速调节请求”,“温度调节请求”“房间信息”“房间温度调节信息”“状态信息”数据结构内 |
类型 | 数字 |
长度 | 4位数字 |
取值范围 | 0101-1020 |
备注 |
[th=width:141px]
数据元素名称 | 从控机开关机的次数 |
---|---|
简要描述 | 某房间内从控机开关机次数,位于“日志”数据结构内 |
类型 | 数字 |
长度 | 整数 |
取值范围 | 大于0 |
备注 |
[th=width:141px]
数据元素名称 | 时间 |
---|---|
简要描述 | 某一请求的时间,位于“日志”,“房客信息”数据结构内 |
类型 | 年 + 月 + 日 + 时 + 分 + 秒 |
长度 | 14 |
取值范围 | 年="0000".."9999"; 月="01".."12"; 日="01".."31"; 时="00".."23"; 分="01".."60"; 秒="01".."60"; |
备注 |
[th=width:141px]
数据元素名称 | 费用 |
---|---|
简要描述 | 某一请求的总费用,位于“日志”,“费用能耗信息” “状态信息” 数据结构内 |
类型 | 浮点数 |
长度 | 小数点后最多两位,小数点前不限 |
取值范围 | 大于0.00 |
备注 |
[th=width:141px]
数据元素名称 | 总费用 |
---|---|
简要描述 | 每日,每周,每月所需总费用,位于“日志”数据结构内 |
类型 | 浮点数 |
长度 | 小数点后最多两位,小数点前不限 |
取值范围 | 大于0.00 |
备注 | 总费用等于所有请求的费用之和 |
[th=width:141px]
数据元素名称 | 请求报表类型 |
---|---|
简要描述 | 请求查看年报表,月报表或日报表,位于“请求日志”数据结构内 |
类型 | 整型 |
长度 | 1 |
取值范围 | 年报表=1;月报表=2;日报表=3; 请求报表类型=[ 年报表,月报表,日报表 ] |
备注 |
[th=width:141px]
数据元素名称 | 主控机开关状态 |
---|---|
简要描述 | 主控机当前运行状态,位于“主控机配置信息”数据结构内 |
类型 | 布尔型 |
长度 | 1 |
取值范围 | 开启=1;关闭=0; 主控机开关状态=[ 开启,关闭 ] |
备注 |
[th=width:141px]
数据元素名称 | 工作模式 |
---|---|
简要描述 | 主控机当前工作模式,位于“主控机配置信息”数据结构内 |
类型 | 布尔型 |
长度 | 1 |
取值范围 | 制热=1;制冷=0; 工作模式=[ 制热,制冷 ] |
备注 |
[th=width:141px]
数据元素名称 | 刷新频率 |
---|---|
简要描述 | 主控机获取房间信息的频率,位于“主控机配置信息”数据结构内 |
类型 | 整型 |
长度 | 2 |
取值范围 | "1".."99" |
备注 | 单位:秒 |
[th=width:141px]
数据元素名称 | 能耗 |
---|---|
简要描述 | 空调运行能耗,位于“状态信息”,“费用能耗信息”数据结构内 |
类型 | 整型 |
长度 | 8 |
取值范围 | "1".."99999999" |
备注 |
[th=width:141px]
数据元素名称 | 使用权限 |
---|---|
简要描述 | 调节空调的权限,位于“使用授权”数据结构内 |
类型 | 布尔型 |
长度 | 1 |
取值范围 | 允许调节=1;禁止调节=0; 使用权限=[ 允许调节,禁止调节 ] |
备注 |
[th=width:141px]
数据元素名称 | 房间温度 |
---|---|
简要描述 | 可以反映此时房间的温度,位于“房间温度” “房间温度调节信息”数据结构内 |
类型 | 数字 |
长度 | 两位数字 |
取值范围 | "00".."99" |
备注 | 单位:摄氏度 |
[th=width:141px]
数据元素名称 | 房间目标温度 |
---|---|
简要描述 | 可以反映房客需要调节的温度,位于“房间目标温度” “日志”“主控机配置信息”“空调运行状态”“房间温度调节信息”“状态信息”“温度调节请求”数据结构内 |
类型 | 数字 |
长度 | 两位数字 |
取值范围 | "18".."30" |
备注 | 单位:摄氏度 |
[th=width:141px]
数据元素名称 | 房客身份证号 |
---|---|
简要描述 | 输入以完成房客身份认证,位于“登录信息” “房客信息” “身份认证信息”数据结构内 |
类型 | 数字 |
长度 | 十八位字符 |
取值范围 | "000000000000000000".."999999999999999999" |
备注 |
[th=width:141px]
数据元素名称 | 风速 |
---|---|
简要描述 | 反映房间的风速信息,位于“状态信息” “日志”“空调运行状态”“风速调节请求”数据结构内 |
类型 | 数字 |
长度 | 一位数字 |
取值范围 | 高风速=0,中风速=1,低风速=2,风速=[0,1,2] |
备注 |
[th=width:142px]
数据文件名称 | 房客信息 |
---|---|
简要描述 | 存储房客入住信息 |
输入数据 | 姓名、身份证号码、入住日期、退房日期 |
输出数据 | 姓名、身份证号码、入住日期、退房日期 |
数据文件组成 | 姓名+身份证号码+入住日期+退房日期 |
存储方式 | 存放在数据库中,关键字:姓名+身份证号码 |
备注 |
[th=width:142px]
数据文件名称 | 日志 |
---|---|
简要描述 | 记录空调系统的整个运行过程 |
输入数据 | 房间号、从控机开关机的次数、温控请求开始时间、温控请求的起止温度、风量大小 |
输出数据 | 房间号、从控机开关机的次数、温控请求开始时间、温控请求停止时间、温控请求的起止温度、风量大小、每次温控请求所需费用、 [每日,每周,每月所需总费用 ] |
数据文件组成 | 房间号 + 从控机开关机的次数 + { 温控请求开始时间 + 温控请求停止时间 + 温控请求的起止温度 + 风量大小 + 每次温控请求所需费用 } + [ 每日,每周,每月所需总费用 ] |
存储方式 | 存储在数据库中,关键字:房间号 |
[th=width:142px]
数据文件名称 | 主控机配置信息 |
---|---|
简要描述 | 存储主控机配置的相关参数 |
输入数据 | 工作模式、缺省温度、风速大小、刷新频率 |
输出数据 | 工作模式、缺省温度、风速大小、刷新频率 |
数据文件组成 | 工作模式+缺省温度+风速大小+刷新频率 |
存储方式 | 存放在数据库中,关键字:工作模式 |
备注 |
[th=width:142px]
数据文件名称 | 从控机配置信息 |
---|---|
简要描述 | 存储从控机调节请求 |
输入数据 | 房间信息、房客认证信息、温度调节请求、风速调节请求 |
输出数据 | 房间信息、房客权限、温度请求响应、风速请求响应 |
数据文件组成 | 房间信息+房客认证信息+温度调节请求+风速调节请求 |
存储方式 | 存放在数据库中,关键字:房间号+房客信息 |
备注 |
[th=width:101px]
加工名称 | 管理房客信息 |
---|---|
简要描述 | 前台录入房客信息,存入数据文件 房客信息 中 |
加工编号 | 2.1 |
输入数据流 | 房客信息 |
输出数据流 | 房客信息 (数据文件) |
加工逻辑
- IF 新房客到来 THEN
- 前台录入房客信息
- 存入数据文件 房客信息 中
- ENDIF
[th=width:101px]
加工名称 | 生成日志 |
---|---|
简要描述 | 在不同的事件发生时记录日志 |
加工编号 | 2.2 |
输入数据流 | 房间信息、温度调节请求、风速调节请求、空调运行状态、费用能耗 |
输出数据流 | 日志 (数据文件) |
加工逻辑
- IF 接收外部信息 THEN
- IF 房间信息更新 THEN
- 输出记录 (当前时刻,房间号,温度) 到日志
- ELSE IF 温度调节请求 THEN
- 输出记录 (当前时刻,房间号,目标温度) 到日志
- ELSE IF 风速调节请求 THEN
- 输出记录 (当前时刻,房间号,目标风速) 到日志
- ELSE IF 空调运行状态 THEN
- 输出记录 (当前时刻,房间号,温度,风速) 到日志
- ELSE IF 费用能耗 THEN
- 输出记录 (当前时刻,房间号,费用,能耗) 到日志
- ENDIF
- IF 房间信息更新 THEN
- END IF
[th=width:101px]
加工名称 | 管理日志 |
---|---|
简要描述 | 接收并响应后台查询日志的请求 |
加工编号 | 2.3 |
输入数据流 | 查询请求 |
输出数据流 | 日志 |
加工逻辑
- IF 接收后台查询请求 THEN
- IF 查询要求合法 THEN
- 按照查询要求返回日志中存储的记录
- ELSE
- 返回错误信息
- ENDIF
- IF 查询要求合法 THEN
- ENDIF
[th=width:101px]
加工名称 | 配置空调参数 |
---|---|
简要描述 | 配置空调工作模式、工作温度等信息 |
加工编号 | 2.4 |
输入数据流 | 配置信息 |
输出数据流 | 主控机配置信息(数据文件) |
加工逻辑
- IF 接收配置参数请求 THEN
- 按照请求内容选择要进行的配置选项
- 工作模式
- 温度范围
- 计费标准
- 从控机心跳频率
- 使用请求信息中的参数进行配置
- IF 参数处于合理范围 THEN
- 进行配置
- ELSE
- 返回失败信息
- ENDIF
- IF 参数处于合理范围 THEN
- 配置完成
- 按照请求内容选择要进行的配置选项
- ENDIF
[th=width:101px]
加工名称 | 负载均衡 |
---|---|
简要描述 | 按照不同的负载均衡策略均衡处理主控机负载,合理应对从控机请求 |
加工编号 | 2.5 |
输入数据流 | 温度调节请求、风速调节请求、主控机配置信息 |
输出数据流 | 空调运行状态 |
加工逻辑
- IF 接收从控机温度调节请求 THEN
- IF 目标温度处于合法范围 THEN
- 将温控请求加入处理队列
- 按照主控机配置信息选择负载均衡策略
- 按照负载均衡策略从处理队列中调度温控请求进行处理
- 调整空调运行状态
- ELSE
- 返回错误信息
- IF 目标温度处于合法范围 THEN
- ENDIF
- IF 接收从控机风速调节请求 THEN
- IF 目标温度处于合法范围 THEN
- 将风控请求加入处理队列
- 按照主控机配置信息选择负载均衡策略
- 按照负载均衡策略从处理队列中调度风控请求进行处理
- 调整空调运行状态
- ELSE
- 返回错误信息
- IF 目标温度处于合法范围 THEN
- ENDIF
[th=width:101px]
加工名称 | 能耗费用计算 |
---|---|
简要描述 | 根据从控机空调运行状态计算从控机耗能及其费用信息 |
加工编号 | 2.6 |
输入数据流 | 空调运行状态 |
输出数据流 | 费用能耗 |
加工逻辑
- IF 接收从控机空调运行状态 THEN
- 统计从控机耗能
- 根据主控机收费标准计算从控机费用
- 输出记录 (当前时刻,房间号,费用,耗能) 到日志中
- 将当前费用及耗能信息返回给从控机进行显示
- ENDIF
[th=width:101px]
加工名称 | 接收调节温度请求 |
---|---|
简要描述 | 接收从控机调节温度请求,进行授权验证后进一步处理 |
加工编号 | 2.7 |
输入数据流 | 使用授权、温度调节请求 |
输出数据流 | 温度调节请求 |
加工逻辑
- IF 接收从控机调节温度请求 THEN
- 验证房客身份授权信息
- IF 验证通过 THEN
- 处理温控请求,记录日志
- 风控请求进入处理队列按照负载均衡策略进行处理
- ELSE
- 返回错误信息
- ENDIF
- ENDIF
[th=width:101px]
加工名称 | 接收调节风速信息 |
---|---|
简要描述 | 接收从控机调节风速请求,进行授权验证后进一步处理 |
加工编号 | 2.8 |
输入数据流 | 使用授权、风速调节请求 |
输出数据流 | 风速调节请求 |
加工逻辑
- IF 接收从控机调节风速请求 THEN
- 验证房客身份授权信息
- IF 验证通过 THEN
- 处理风控请求,记录日志
- 风控请求进入处理队列按照负载均衡策略进行处理
- ELSE
- 返回错误信息
- ENDIF
- ENDIF
[th=width:101px]
加工名称 | 房客登录认证 |
---|---|
简要描述 | 使用前台录入的房客信息对从控机使用者进行身份认证 |
加工编号 | 2.9 |
输入数据流 | 身份认证信息、房客信息 |
输出数据流 | 使用授权 |
加工逻辑
- IF 收到从控机身份认证请求 THEN
- 从房客信息中获得权威信息
- 对身份认证请求中的身份信息进行验证
- IF 验证通过 THEN
- 返回使用授权密钥
- ELSE
- 认证失败,返回相关信息
- ENDIF
- ENDIF
[th=width:101px]
加工名称 | 房间信息更新 |
---|---|
简要描述 | 向主控机发送心跳信息,汇报当前状态 |
加工编号 | 2.10 |
输入数据流 | 房间温度 |
输出数据流 | 房间信息 |
加工逻辑
- IF 达到心跳时间间隔 THEN
- 从传感器获取当前温度
- 发送当前房间温度以及从控机配置等信息以汇报从控机当前状态
- ENDIF
[th=width:101px]
加工名称 | 发送房间信息 |
---|---|
简要描述 | 获取当前从控机状态及配置信息并发送 |
加工编号 | 2.11 |
输入数据流 | 房间温度、从控机配置信息 (数据文件) |
输出数据流 | 从控机信息 |
加工逻辑
- IF 达到心跳时间间隔 THEN
- 从传感器获取当前温度
- 从从控机配置信息文件获取当前从控机配置
- 整合从控机状态信息并发送
- ENDIF
[th=width:101px]
加工名称 | 界面房客身份认证 |
---|---|
简要描述 | 房客在从控机界面输入身份信息进行身份认证 |
加工编号 | 2.12 |
输入数据流 | 登录信息 |
输出数据流 | 身份认证信息 |
加工逻辑
- IF 房客进行身份认证 THEN
- 房客从从控机界面输入身份信息
- 发送身份认证请求给主控机
- ENDIF
[th=width:101px]
加工名称 | 界面调节温度 |
---|---|
简要描述 | 房客输入目标温度后产生温度调节请求 |
加工编号 | 2.13 |
输入数据流 | 目标温度 |
输出数据流 | 温度调节请求 |
加工逻辑
- IF 房客调节温度 THEN
- 房客在从控机界面输入目标温度
- 发送温度调节请求给主控机
- ENDIF
[th=width:101px]
加工名称 | 界面调节风速 |
---|---|
简要描述 | 房客输入目标风速后产生风速调节请求 |
加工编号 | 2.14 |
输入数据流 | 目标风速 |
输出数据流 | 风速调节请求 |
加工逻辑
- IF 房客调节风速 THEN
- 房客在从控机界面输入目标风速
- 发送风速调节请求给主控机 ENDIF
[th=width:101px]
加工名称 | 显示信息 |
---|---|
简要描述 | 显示从控机当前温度、风速及费用能耗信息 |
加工编号 | 2.15 |
输入数据流 | 空调运行状态、费用能耗 |
输出数据流 | 状态信息 |
加工逻辑
- IF 到达心跳间隔时间长度 THEN
- 接收当前空调运行状态及费用能耗
- 显示当前时刻从控机状态信息
- ENDIF
条目 | 精度 |
---|---|
时间 | 1s |
温度 | 1℃ |
风速 | 高、中、低 |
能耗 | 0.1 标准功率 |
费用 | 0.1 元 |
条目 | 时间 |
---|---|
从控机发送房间温度 | 0.5s |
从控机允许的用户请求间隔 | < 1s |
从控机响应用户请求 | < 0.05s |
主控机允许的从控机请求间隔 | < 1s |
主控机响应从控机请求 | < 0.5s |
系统运行时间 | 24 小时 / 天 |
系统故障时间 | < 8 小时 / 年 |
[th=width:102px]
条目 | 说明 |
---|---|
运行环境 | 主机发生故障后,能自动重启 |
操作方式 | 从机允许触摸、鼠标两种方式进行交互 |
错误处理 | 主机(和从机)能检测到中央空调系统、从机(和主机)、(传感器)等外部接口发生的错误,并进行对应的错误处理 |
数据 | 来源 |
---|---|
时间 | 系统内部时钟 |
房间信息 | 从控机发送房间温度 |
目标状态 | 从控机发送目标状态(温度、风速) |
房客信息 | 用户(酒店前台)录入 |
配置信息 | 用户(酒店后台)录入 |
数据 | 来源 |
---|---|
时间 | 系统内部时钟 |
房间信息 | 温度传感器 |
目标状态 | 用户(房客)调节温度、风速 |
房客信息 | 用户(房客)录入 |
其他需求分析横向从主控机、从控机两个方面展开,纵向从用户友好性、安全性、健壮性、易用性、可靠性、可维护性、可配置性、可移植性、可重用性、可扩展性等维度进行具体化描述。
[th=width:100px]
需求类型 | 描述 |
---|---|
用户友好性 | 主控机界面简洁美观,实用性强,各个按钮在界面中合理分布,方便管理员管理、监控。主控机应该能够清楚、简洁地显示各个从控机的状态,各机器的能耗统计数据及费用报表。 |
安全性 | 主控机应提供管理员身份认证、授权控制、以及系统安全性等方面的保证。同时监控分布式温控系统内部的流量情况,发现异常流量情况时及时警报。对系统外部及内部的潜在攻击有一定的防御能力。 |
健壮性 | 主控机应具有应对可能的并发大规模请求的能力,保证系统不会在大量用户的同时请求下崩溃。 |
易用性 | 主控机的使用应尽可能地保持简单,并且对主控机的使用应该提供尽可能详细的使用说明及培训资料,保证管理员能够尽可能简单、快捷地使用主控机。 |
可靠性 | 系统需要 7 X 24 小时连续运行,年计划宕机时间不能高于 8 小时,并且要求能快速部署,特别是在系统出现故障时,能够快速告知管理员,并能够提供应急服务,保证酒店温控系统的正常工作。 |
可维护性 | 主控机系统应保证良好的可维护性。主控机应保证定时或在事件驱动下输出日志,保证维护人员可以监控和观察系统状态,在故障发生时及时的监测、诊断以及修复温控系统。 |
可配置性 | 主控机的参数应该是可配置的,以使其可以通过不同的配置文件灵活部署于不同的平台及系统。 |
可移植性 | 系统应能够在不同平台及操作系统下使用,具有良好的兼容性。在少量修改或者不作修改的基础上就可以方便、快捷地部署在不同的硬件及软件平台上。 |
可重用性 | 分布式温控系统应该具备良好的可重用性,即在可配置性和可移植性的基础上,能够在不同的酒店及平台上应用,避免重复开发。 |
可扩展性 | 分布式温控系统应具有对技术和业务需求变化的支持能力。当技术变化或业务变化时,不可避免将带来系统的改变。所以系统不仅可能面临进行设计实现的修改,甚至面临着进行产品定义的修改。因此,系统的设计应在系统架构上考虑能以尽量少的代价适应这种变化。 |
[th=width:100px]
需求类型 | 描述 |
---|---|
用户友好性 | 要求从机界面简洁美观,具有很强的实用性,各按钮合理配置区域,方便用户使用。各基本功能应该清楚地显示在界面中,包括开关、温度及风速调节、模式、控制方式等。 |
安全性 | 从控机应提供住客及客房打扫人员等的身份认证及控制授权,保证从机不会被非法控制。 |
健壮性 | 从控机在面对住客非正常使用时(如在短时间内多次按下模式切换键)能够正常地响应用户,保证系统不会崩溃。 |
易用性 | 从控机的界面应该清晰,并对新用户有足够的引导及帮助,保证用户能够正确地使用从控机以发出温控请求。 |
可靠性 | 从控机应能保证较低的故障率,并且在故障发生时能够及时地告知主控机及工作人员进行故障修复。 |
可维护性 | 从控机应该能够记录每一条发出的请求及来自主控机的控制命令,允许在管理员的操控下输出运行日志,记录系统运行状态。当发生故障时,保证维护人员可以监控和观察主、从控机状态,在故障发生时准确定位故障原因进行修复。 |
可配置性 | 从控机的参数应该是可配置的,以使得从控机通过不同的配置文件适应不同客户的需求。从控机系统可以记录不同用户的使用习惯,使得用户再次入住时不需要重复设置。 |
可移植性 | 从控机软件应该能够方便快捷地部署在不同的平台上。如手机、壁挂面板等,以使得用户可以更方便地操控从控机。 |
可重用性 | 从控机在可配置性和可移植性的基础上,能够在不同的酒店及平台上应用,避免重复开发。 |
可扩展性 | 在面对技术及需求不断的更新时,从控机应该能够方便快捷地进行升级扩展。这要求从控机与主控机架构上解耦,从软硬件两方面能够以尽可能小的成本升级修改。 |