家庭保安系统案例.ppt

上传人:小飞机 文档编号:5963822 上传时间:2023-09-09 格式:PPT 页数:54 大小:411.50KB
返回 下载 相关 举报
家庭保安系统案例.ppt_第1页
第1页 / 共54页
家庭保安系统案例.ppt_第2页
第2页 / 共54页
家庭保安系统案例.ppt_第3页
第3页 / 共54页
家庭保安系统案例.ppt_第4页
第4页 / 共54页
家庭保安系统案例.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《家庭保安系统案例.ppt》由会员分享,可在线阅读,更多相关《家庭保安系统案例.ppt(54页珍藏版)》请在三一办公上搜索。

1、家庭保安系统的分析与设计,第一部分 需求获取与需求分析,这里以“家庭保安系统”为例,简要说明初步需求的获取过程。假设用户的原始需求描述如下:,根据家庭保安市场的增长趋势,我们希望建立一种基于微处理器的家庭保安系统,它能够识别异常事件并采取相应的报警措施。这些异常事件有:非法进入、火灾、水淹,等等。当传感器一旦探测出相应的异常事件时,系统应自动用电话向监控中心报警。此外,系统应允许户主对其行为实施程序式控制。,“家庭保安系统”初步需求的获取(2),为进行初步的需求分析,这里采用开发方和用户方组成联合小组的方法。为此,联合小组应制定工作制度:每次会议开始前必须有确定的议程,小组成员必须针对议程进行

2、充分准备并应形成文字。联合小组会议首先应明确问题的范围、问题与环境的关系,并就开发软件产品的必要性达成共识。,“家庭保安系统”初步需求的获取(3),之后的会议,小组负责人要求每位参加者根据负责的范围列出应用问题及环境中有关的对象、对象的操作及对象间的关系。如市场营销人员列出控制面板、电话机、监控中心等对象和用户编程控制、电话拨号、报警等操作;负责传感器的用户可能列举烟雾传感器、门窗监视器、警报器等对象。,“家庭保安系统”初步需求的获取(4),接着,将对这些列举的对象和操作进行更详细的讨论和描述,比如,详细地描述接收传感器事件、用户编程控制、电话报警等操作等。之后,用户可能提出一些约束条件。比如

3、,造价不应超过3000元,对传感器事件的响应时间不得超过1秒,事件必须按优先级顺序进行处理等等。会后,小组负责人应对这些信息加以整理并形成文档,该文档应能反映“家庭保安系统”的全貌。,“家庭保安系统”初步需求的获取(4),之后,根据“家庭保安系统”的特点,将联合小组分成两个小组,并行处理用户编程控制和传感器检测两个子系统,以便使子问题的软件需求进一步细化,这时可能又会增加新对象、新操作、新约束条件。在子系统的需求基本明确并形成文档后,还应就子系统的整合及需求验证标准等进行初步的讨论。最后,初步需求分析应形成结论性文档。比如,经过初步的需求分析,“家庭保安系统”的部分初步需求文档如下:,“家庭保

4、安系统”的部分初步需求文档(1),“家庭保安系统”的软件允许用户在安装时进行系统配置,实施对传感器的监控并通过控制面板与户主进行信息交互。系统开机后,软件系统负责显示系统当前的工作状态,接收并处理户主的命令。当系统处于配置状态,软件系统允许户主进行配置操作。配置操作包括:指定每一传感器的种类和编号;设置开、关机密码;指定报警电话号码;指定报警延迟和电话重拨延迟时间(以秒为单位)。,“家庭保安系统”的部分初步需求文档(2),当系统处于监视状态时,软件系统即开始对所有传感器实施监控。当软件系统接收到传感器发出的数据后,判别是否出现异常事件,如果是,则经过指定的延迟时间即开始拨报警电话号码,拨号操作

5、将按照重拨延迟反复进行,直至电话接通。此时软件系统负责向监控中心报告异常事件发生的地点、时间和性质。,“家庭保安系统”的部分初步需求文档(3),以上文档没有包括约束条件、测试标准等方面的内容。初步需求文档将是后续详细需求分析的基础。在此基础上,就可以采用某种需求分析方法进行详细的需求分析。,图1“家庭保安系统”顶级数据流图,警报类别,显示信息,电话拨号音频,传感数据,用户命令,家庭保安系统,控制面板,传感器,显示器,电话机,警报器,数据流图,图2“家庭保安系统”1级数据流图,警报类别,电话拨号音频,传感信息,配置数据,传感数据,配置数据,原口令,口令有效/口令无效,口令,配置数据,配置命令,显

6、示信息,启动/停止时的显示信息,口令有效,启动/停止命令,用户命令,配置信息,控制面板,用户命令处理,系统配置,口令核对,信息显示,启动/停止处理,显示面板,传感器监测,传感器,警报器,电话机,图3“家庭保安系统”2级数据流图:对“传感器监测”的分解,传感器ID,类别传感数据(内部表示),传感数据,报警信息,电话拨号音频,配置数据,报警类别,电话号码,传感信息,配置信息,读取传感数据,生成报警信号,异常数据判别,电话拨号,过程规格说明举例“设置口令”子功能,1参数:口令;类别:字符串2处理步骤:1)检查系统是否已有口令。若有,则验证用户输入口令的有效性。如果有效,则显示提示信息要求输入新口令;

7、否则,显示失败信息并退出。2)检查口令长度是否合法。如果非法,则显示提示信息要求重新输入。3)要求用户再次键入合法口令,以便用户确认和记忆。如果两次键入的口令不符,则返回。4)将确认后的口令按某种加密方法转换为另一字符串存放于系统配置文件中。显示成功信息并退出。3约束条件:在上述1)、2)、3)步骤中,用户重试的机会不超过3次。,第二部分软件设计,SD方法的设计过程和有关概念,SD方法能方便地将数据流图转换为软件结构,其过程分为五步:1 确定信息流的类型;2 划定流界;3 将数据流图映射为程序结构;4 提取层次控制结构;5 通过设计复审和使用启发式策略进 一步精化所得到的结构。,1)变换流,变

8、换流 在基本系统模型(即顶级数据流图)中信息通常以“外部世界”所具有的形式进入系统,经过处理后又以这种形式离开系统。,输入流,外部表示,内部表示,信息,时间,图3 信息流,输出流,变换流,1)变换流,图4 典型的变换流变换流的特点是:经过变换B的数据流一部分先经过变换C到达变换E,然后另一部分经过变换D到达E;即C和D是顺序结构。,2)事务流,事务流单个数据项称为事务(transaction)沿传入路径(也称接受通道)进入系统,由外部形式变换为内部形式后到达事务中心,事务中心根据数据项计值结果从若干动作路径中选定一条继续执行。可见它是一个选择结构。,事务中心,T,B,事务,C,A,图5 事务流

9、,图6 面向数据流 的设计,1 变换分析,下面以“家庭保安系统”的传感器监测子系统为例说明变换分析的各个步骤。步骤一、复审基本系统模型 基本系统模型指顶级DFD和所有由外部提供的信息。这一设计步骤是对系统规格说明书和软件需求规格说明书进行评估。这两个文档描述软件界面上信息的流程和结构。,图6“家庭保安系统”的顶级数据流图,警报类别,家庭保安系统软件,控制面板,显示器,警报器,电话线,传感器,用户命令,显示信息,传感数据,电话拨号音频,图7“家庭保安系统”的第一级DFD,电话拨号音频,配置数据,配置 数据,配置数据,用户命令处理,显示信息和状态,传感器监测,系统配置,控制面板,显示器,警报器,电

10、话线,传感器,配置信息,配置 命令,启动/停止命令,原口令,有效口令,传感器信息,报警类别,传感数据,显示 信息,用户命令,口令,启动/停止系统和状态,启动或停止消息,口令核对,用户交互子系统,1.变换分析,步骤二、复审和精化软件数据流图 这一步主要是对软件需求规格说明书中的分析模型进行精化,直至获得足够详细的DFD。例如,由“传感器监测子系统”的第一级(图6的局部)和第二级DFD进一步推导出第三级数据流图,此时,每个变换对应一个独立的功能,可以用一个具有较高内聚度的模块实现,至此已有足够的信息可用于设计“传感器监测子系统”的程序结构,精化过程亦可结束。,图8“传感器监测子系统”的第二级DFD

11、,传感器信息,传感器标志的类型和位置,传感数据,警报类别,警报数据,显示格式,产生警报信号,电话拨号,异常数据判别,读取传感数据,配 置 信 息,配置数据,传感器标识类型,电话号码,电话拨号音频,图9“传感器监测子系统”的第三级DFD,配 置 信 息,警报条件码传感器标志定时信息,传感数据,电话号码对应的音频,电话拨号音频,传感器信息,号码表,电话号码,读取传感数据,获取响应信息,建立警报条件,选择电话号码,连通电话网,产生拨号脉冲,产生警报信号,格式化显示,产生显示,传感器标志的类型和位置,格式化标志的类型和位置,置传感器标识,警报数据,警报类别,配 置 数 据,1.变换分析,步骤三、确定D

12、FD的特性,判定它为变换流还是事务流。以图9所示DFD为例,数据沿一个传入路径进来,沿三个传出路径离开,没有明显的事务中心,因此,该信息流应属变换流。步骤四、划定输入流和输出流的边界,孤立变换中心。,变换分析,步骤五、执行“一级分解”(first level factoring)一级分解的目标是导出具有三个层次的程序结构,顶层为主控模块;底层模块执行输入、计算和输出功能;中层模块控制、协调底层的工作。,变换分析,程序结构可用Yourdon结构图表示。结构图中,方框代表模块,框内名称表示模块的功能;方框之间的有向边(无二义时也可用无向边)表示模块间的调用关系。调用模块上无标志表示顺序调用:从左至

13、右;菱形表示选择调用;弧形箭头表示循环调用。但本书后面除了顺序调用外,并没有遵循这些规定。,a,c,b,a,c,b,a,b,a)顺序调用 b)选择调用 c)循环调用,变换分析,图10所示的结构图对应于一级分解的上两层模块,即主控模块和下面几个中层控制模块:输入流控制模块,接收所有输入数据;变换流控制模块,对内部形式数据进行加工、处理;输出流控制模块,产生输出数据。,变换分析,图10 一级分解,输入流,变换流,变换流控制模块,输入流控制模块,输出流,主控模块,输出流控制模块,A,B,C,D,E,F,G,H,变换分析,图10展示的是一个简单三叉结构,实际处理大型系统的复杂数据流时,可能需要多个模块

14、对应图10中一个模块的功能。“一级分解”总的原则是,在完成控制功能并保持低耦合度、高内聚度的前提下尽可能地减少模块的数量。“传感器监测子系统”一级分解如图11所示,其中控制模块的名字概括了所有下属模块的功能。,图11 传感器监测子系统一级分解结果,警报条件控制模块,传感器输入控制模块,主控模块,警报输出控制模块,配 置 信 息,变换分析,步骤六、执行“二级分解”。二级分解的任务是把数据流图中每个处理框映射为结构图中的一个模块。其过程是从变换中心的边界开始沿输入、输出通道向外移动;从变换中心的输入(出)边界向外移动,把遇到的每个处理框映射为结构图中相应控制模块下的一个模块。,图12 二级分解,输

15、入流,变换流,输入流控制模块,输出流,主控模块,A,B,C,D,E,F,G,H,B,D,A,C,变换流控制模块,输出流控制模块,E,F,G,H,变换分析,DFD的处理框与程序结构模块一一对应,但按照软件设计原则进行设计时,可能需要把几个处理框聚合为一个模块,或者把一个处理框裂变为几个模块。总之,应根据“良好”设计的标准,进行二级分解。二级分解后得到的仅仅是程序结构的“雏形”(firstcut),后续的复审和精化会反复修改。,变换分析,程序结构的模块名已隐含了模块功能,但仍有必要为每个模块写一个简要的处理说明,它应当包括:1进出模块的信息(接口描述);2模块的局部信息;3处理过程陈述,包括任务和

16、主要的判 断点的位置、条件;4对有关限制和一些专门特性的简要说 明(例如,文件I/O,独立于硬件的 特性,特殊的实时要求等)。这些描述构成第一版设计规格说明书。,变换分析,步骤七、采用启发式设计策略,精化所得程序结构雏形,改良软件质量 对于程序结构的雏形,以“模块独立”为指导思想,对模块进行整合或分解,旨在追求高内聚、低耦合,以及易实现、易测试、易维护的软件结构。,图9-2-8 结构的优化,输入流控制模块,主控模块,B,D,A,C,变换流控制模块,输出流控制模块,E,F,G,H,输入流控制模块,主控模块,B,D,A,C,E,F,G,H,变换分析,上述七个设计步骤的目标是给出软件的一个整体描述。

17、一旦有了这样一个描述,设计人员即可从整体角度评价和精化软件的总体结构,此时修改所需耗费不多,却能大大提高软件质量。,2.事务分析,当数据流具有明显的事务特征时,即能找到一个事务(亦称触发数据项)和一个事务中心,采用事务分析法更为适宜。下面以“家庭保安系统”中“用户交互子系统”为例,说明事务分析法。该子系统的第一级数据流图精化后得到如图13 所示第二级数据流图。图中“用户命令数据”流入系统后,沿三条动作路径之一离开系统,若将数据项“命令类型”看作事务,该子系统的信息流具有明显的事务特征。,图13 用户交互子系统的二级数据流图,无效口令,启动/停止命令,口令,启动/停止消息,配置数据,配置数据,配

18、置命令,显示信息,“再试”信息,读取用户命令,启动命令处理,启动/停止系统,产生无效的信息,读取系统数据,读取配置文件,读取口令,显示信息和状态,比较口令与文件,配 置 信 息,用户命令数据,系统参数和数据,原始配置项,格式化的配置数据,命令类型,确认口令,四位数,有效口令,事务分析,事务分析法可概括为七个步骤:步骤一、复审基本系统模型;步骤二、复审并精化软件数据流图;步骤三、确定数据流图的特征;显然,前三步与变换分析法相同。,步骤4,指出事务中心,确定由事务中心发出的每一动作路径的数据流特性。数条动作路径的公共源头即为事务中心,如图 所示,事物中心定位为“启动命令处理”框。事务中心一经确定,

19、即可划定接受路径与所有动作路径的界限,随后判定每一动作路径上数据流的特征。例如,图“口令处理”路径具有明显变换特征,可立即划定输入、变换和输出的边界,当进行自顶向下设计时再具体实施映射。,步骤5,把数据流图映射为事务处理型的程序结构。事务处理型的程序结构由“输入”和“散转”两部分组成,输入部分的构成方法如变换分析法,即从事务处理中心开始,沿输入通路向外推进,每个处理框映射为一个模块。“散转”部分顶层为一“散转”模块,它总控所有对应于每一动作路径的控制模块,每条动作路径都根据它的信息流特征映射为一个程序子结构。,图14 映射系统上层结构模块,9,8,6,1,2,5,4,3,7,10,11,事务中

20、心,接收部分,发送部分,SYSTEM,输入 1,散转 2,SUBSYS1,SUBSYS2,SUBSYS3,“用户交互子系统”一级分解的结果,事务分析,步骤六、分解并精化事务结构以及每条动作路径所对应的结构。这些子结构是根据流经每一动作路径的数据流特征,采用本节或上节所述设计步骤逐一导出的。,图14 设计系统下层模块结构,9,8,6,1,2,5,4,3,7,10,11,事务中心,接收部分,发送部分,SUBSYS2,7,10,4,11,输入控制,变换控制,输出控制,事务分析,图15 将模块结构组合,得到程序结构雏形,SYSTEM,输入 1,散转 2,SUBSYS1,SUBSYS2,SUBSYS3,7,10,4,11,输入控制,变换控制,输出控制,3,6,5,8,9,事务分析,步骤七、使用启发式设计策略,精化所得程序结构雏形,改良软件质量。这一步骤与变换分析法相同。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号