软件设计ZhouSu第4章需求建模:流程、模式与Web应用教程

上传人:我** 文档编号:117423660 上传时间:2019-12-05 格式:PPT 页数:83 大小:2.41MB
返回 下载 相关 举报
软件设计ZhouSu第4章需求建模:流程、模式与Web应用教程_第1页
第1页 / 共83页
软件设计ZhouSu第4章需求建模:流程、模式与Web应用教程_第2页
第2页 / 共83页
软件设计ZhouSu第4章需求建模:流程、模式与Web应用教程_第3页
第3页 / 共83页
软件设计ZhouSu第4章需求建模:流程、模式与Web应用教程_第4页
第4页 / 共83页
软件设计ZhouSu第4章需求建模:流程、模式与Web应用教程_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《软件设计ZhouSu第4章需求建模:流程、模式与Web应用教程》由会员分享,可在线阅读,更多相关《软件设计ZhouSu第4章需求建模:流程、模式与Web应用教程(83页珍藏版)》请在金锄头文库上搜索。

1、软件体系结构与设计软件体系结构与设计 浙江大学城市学院浙江大学城市学院 周苏周苏 教授教授 QQQQ:8150505081505050 第第4 4章章 需求建模:流程、模式与需求建模:流程、模式与WebWeb应用应用 第第4 4章章 需求建模:流程、模式与需求建模:流程、模式与WebWeb应用应用 面向数据流建模面向数据流建模 生成行为模型生成行为模型 需求建模的模式需求建模的模式 WebWeb应用系统的需求建模应用系统的需求建模 需求建模有很多不同的维度。对于某种类型软件,用例可需求建模有很多不同的维度。对于某种类型软件,用例可 能是唯一可行的需求建模表示方法,而其他类型的软件,能是唯一可行

2、的需求建模表示方法,而其他类型的软件, 则需要选择面向对象的方法开发基于类的模型。但在另外则需要选择面向对象的方法开发基于类的模型。但在另外 一些情形下,复杂应用需求甚至必须做个检测,查看当数一些情形下,复杂应用需求甚至必须做个检测,查看当数 据对象在系统中移动时是如何转换的;查看作为外部事件据对象在系统中移动时是如何转换的;查看作为外部事件 的后果一个应用系统是如何工作的;查看现存知识领域能的后果一个应用系统是如何工作的;查看现存知识领域能 否解决当前问题;或者在基于否解决当前问题;或者在基于WebWeb系统和应用中,如何将系统和应用中,如何将 内容和功能融合在一起,并提供给最终用户成功导向

3、一个内容和功能融合在一起,并提供给最终用户成功导向一个 WebWeb应用的能力,以便达到适用目标。应用的能力,以便达到适用目标。 第第4 4章章 需求建模:流程、模式与需求建模:流程、模式与WebWeb应用应用 4.1 4.1 面向数据流建模面向数据流建模 面向数据流建模仍然是当前使用最广泛的需求分析表达方面向数据流建模仍然是当前使用最广泛的需求分析表达方 式之一(在结构化分析中,数据建模是核心建模活动)。式之一(在结构化分析中,数据建模是核心建模活动)。 数据流图(数据流图(Data Flow DiagramData Flow Diagram,DFDDFD)及相关的图和信)及相关的图和信 息

4、不是息不是UMLUML的正式成分,但可以作为的正式成分,但可以作为UMLUML图的补充,来图的补充,来 完善对系统需求和流程的认识。完善对系统需求和流程的认识。 4.1 4.1 面向数据流建模面向数据流建模 DFDDFD采取了系统的输入采取了系统的输入- -处理处理- -输出观点,也就是说,流入输出观点,也就是说,流入 软件的数据对象,经由处理元素变换,最后以结果数据对软件的数据对象,经由处理元素变换,最后以结果数据对 象的形式流出软件。带标记的箭头表示数据对象,圆圈(象的形式流出软件。带标记的箭头表示数据对象,圆圈( 也称作泡泡)表示转换。也称作泡泡)表示转换。DFDDFD使用分层的方式表示

5、,即第使用分层的方式表示,即第 一个数据流模型(有时也称作第一个数据流模型(有时也称作第0 0层层DFDDFD或环境图)表示或环境图)表示 整个系统,随后的数据流图改进环境图,在每个后续层提整个系统,随后的数据流图改进环境图,在每个后续层提 供更多的细节。供更多的细节。 4.1.1 4.1.1 创建数据流模型创建数据流模型 数据流图有助于软件工程师开发信息域的模型,并同时开数据流图有助于软件工程师开发信息域的模型,并同时开 发功能域的模型。当把发功能域的模型。当把DFDDFD逐步细化时,分析师同时也就逐步细化时,分析师同时也就 完成了系统功能分解。与此同时,当数据在应用系统的多完成了系统功能分

6、解。与此同时,当数据在应用系统的多 个处理间流动时,个处理间流动时,DFDDFD的细化结果导致了相应的数据细化的细化结果导致了相应的数据细化 。 4.1.1 4.1.1 创建数据流模型创建数据流模型 导出数据流图时有一些简单而有用的指导原则:导出数据流图时有一些简单而有用的指导原则: 第第0 0层层 的数据流图应将软件或系统描述为一个泡泡;的数据流图应将软件或系统描述为一个泡泡; 应仔细标应仔细标 记主要的输入和输出;记主要的输入和输出; 通过把选定的处理、数据对象和通过把选定的处理、数据对象和 数据存储分离为下一层表示而开始细化过程;数据存储分离为下一层表示而开始细化过程; 应使用有应使用有

7、 意义的名称标记所有的箭头和泡泡;意义的名称标记所有的箭头和泡泡; 当从一个层转到另当从一个层转到另 一个层时要保持信息流连续性,也就是说,流入系统或流一个层时要保持信息流连续性,也就是说,流入系统或流 入某一层变换的数据对象必须与流入更细化层的变换具有入某一层变换的数据对象必须与流入更细化层的变换具有 相同的数据对象(或其组成部分);相同的数据对象(或其组成部分); 一次细化一个泡泡一次细化一个泡泡 。 4.1.1 4.1.1 创建数据流模型创建数据流模型 图图4-14-1显示了显示了SafeHomeSafeHome安全功能的第安全功能的第0 0层层DFDDFD,主要的外部,主要的外部 实体

8、(方框)产生系统所使用的信息并使用系统产生的信实体(方框)产生系统所使用的信息并使用系统产生的信 息,带标记的箭头代表数据对象或数据对象类型的层次。息,带标记的箭头代表数据对象或数据对象类型的层次。 例如,例如,“ “用户指令和数据用户指令和数据” ”包括了所有的配置命令、所有的包括了所有的配置命令、所有的 激活或解除命令、所有各式各样的交互活动以及所有限定激活或解除命令、所有各式各样的交互活动以及所有限定 或扩展某命令的输入数据。或扩展某命令的输入数据。 图图4-1 4-1 SafeHomeSafeHome安全功能的环境层安全功能的环境层DFDDFD 4.1.1 4.1.1 创建数据流模型创

9、建数据流模型 把第把第0 0层的层的DFDDFD扩展到第扩展到第1 1层数据流模型。根据语法解析,层数据流模型。根据语法解析, 动词是动词是SafeHomeSafeHome系统的处理,在后续的系统的处理,在后续的DFDDFD中用泡泡表中用泡泡表 示;名词是外部实体(方框)、数据或控制对象(箭头)示;名词是外部实体(方框)、数据或控制对象(箭头) 、数据存储(双横线),名词和动词之间可以互相连接起、数据存储(双横线),名词和动词之间可以互相连接起 来。因此,在任何来。因此,在任何DFDDFD层次中对某个泡泡的处理叙述文字层次中对某个泡泡的处理叙述文字 进行语法解析,可以产生许多关于如何细化到下一

10、个层次进行语法解析,可以产生许多关于如何细化到下一个层次 的有用信息。使用这些信息生成第的有用信息。使用这些信息生成第1 1层的层的DFDDFD如图如图4-24-2所示所示 。 图图4-2 4-2 SafeHomeSafeHome安全功能的第安全功能的第1 1层层DFDDFD 4.1.1 4.1.1 创建数据流模型创建数据流模型 图图4-14-1中显示环境层的处理被扩展为图中显示环境层的处理被扩展为图4-24-2的的6 6个处理,这些个处理,这些 处理来自于语法解析检查。类似地,也通过解析获得第处理来自于语法解析检查。类似地,也通过解析获得第1 1 层处理之间的信息流。此外,在第层处理之间的信

11、息流。此外,在第0 0层和第层和第l l层之间要保持层之间要保持 信息流的连续性。信息流的连续性。 在在DFDDFD第第1 1层中表示的处理可以被进一步细化到更低的层层中表示的处理可以被进一步细化到更低的层 次。例如,细化监测传感器处理如图次。例如,细化监测传感器处理如图4-34-3所示的第所示的第2 2层层DFDDFD 并保持信息流的连续性。并保持信息流的连续性。 图图4-3 4-3 细化监测传感器处理的第细化监测传感器处理的第2 2层层DFDDFD 4.1.1 4.1.1 创建数据流模型创建数据流模型 持续进行持续进行DFDDFD的求精,努力细化的求精,努力细化DFDDFD,直到每个泡泡都

12、是,直到每个泡泡都是 “ “功能单一的功能单一的” ”,并且该功能可以很容易地成为一个程序构,并且该功能可以很容易地成为一个程序构 件。件。 4.1.2 4.1.2 创建控制流模型创建控制流模型 对于很多类应用问题来说,为了获得关于软件需求的有益对于很多类应用问题来说,为了获得关于软件需求的有益 理解,使用数据模型和数据流图是很有必要的。然而,有理解,使用数据模型和数据流图是很有必要的。然而,有 一大类应用问题是事件驱动而不是数据驱动的;这类问题一大类应用问题是事件驱动而不是数据驱动的;这类问题 产生控制信息而不是报告或显示信息,并且处理信息时非产生控制信息而不是报告或显示信息,并且处理信息时

13、非 常关注时间和性能。因此,这样的应用系统除了数据流建常关注时间和性能。因此,这样的应用系统除了数据流建 模外还需要使用控制流建模。模外还需要使用控制流建模。 4.1.2 4.1.2 创建控制流模型创建控制流模型 事件或控制项可以实现为布尔值(例如,真或假、开或关事件或控制项可以实现为布尔值(例如,真或假、开或关 、1 1或或0 0)或条件的离散列表(空、拥挤、满)。为了选择)或条件的离散列表(空、拥挤、满)。为了选择 潜在的候选事件,建议使用如下的指导原则:潜在的候选事件,建议使用如下的指导原则: 列出所有被软件列出所有被软件“ “读读” ”的传感器。的传感器。 列出所有的中断条件。列出所有

14、的中断条件。 列出操作人员能够启动的所有列出操作人员能够启动的所有“ “开关开关” ”。 列出所有的数据条件。列出所有的数据条件。 回顾对处理叙述所进行的名词或动词的语法解析,考察所有可能作回顾对处理叙述所进行的名词或动词的语法解析,考察所有可能作 为控制规格说明输入为控制规格说明输入/ /输出的输出的“ “控制项控制项” ”。 4.1.2 4.1.2 创建控制流模型创建控制流模型 通过标识其状态来描述系统的行为,标识如何达到这些状态,并定通过标识其状态来描述系统的行为,标识如何达到这些状态,并定 义状态间的迁移。义状态间的迁移。 关注可能的疏忽,即关注那些描述控制中非常普遍的错误;例如,关注

15、可能的疏忽,即关注那些描述控制中非常普遍的错误;例如, 提问提问“ “有什么其他途径可以达到或离开这个状态吗?有什么其他途径可以达到或离开这个状态吗?” ” 4.1.3 4.1.3 控制规格说明控制规格说明 控制规格说明(控制规格说明(Control SpecificationControl Specification,CSPECCSPEC)(在被引)(在被引 用的层次上)使用两种不同的方式表现系统的行为,包含用的层次上)使用两种不同的方式表现系统的行为,包含 一个行为序列说明的状态图,也可能包括程序激活表即行一个行为序列说明的状态图,也可能包括程序激活表即行 为的组合说明。为的组合说明。 图

16、图4-44-4为为SafeHomeSafeHome的第的第l l层控制流模型描述了一个初步的状层控制流模型描述了一个初步的状 态图,图中显示了当系统在这个层次上定义的态图,图中显示了当系统在这个层次上定义的4 4个状态之个状态之 间来回移动的时候,系统如何对事件作出响应。通过考察间来回移动的时候,系统如何对事件作出响应。通过考察 状态图,软件工程师可以确定系统的行为,而且更重要的状态图,软件工程师可以确定系统的行为,而且更重要的 是可以确定所描述的行为中是否存在是可以确定所描述的行为中是否存在“ “空洞空洞” ”(holesholes)。)。 图图4-4 4-4 SafeHomeSafeHome安全功能的状态图安全功能的状态图 4.1.3 4.1.3 控制规格说明控制规格说明 例如,状态图(图例如,状态图(图4-44-4)指明:当系统重置

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号