- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章_体系结构设计
§面向数据流的设计方法例子(又称为SD:Structural Design) 基本思想: DFD ? System Hierarchy 1、Data Flow 的分类 ⑴ 变换流(Transform Flow): §面向数据流的设计方法 ⑵ 事务流(Transaction Flow) §面向数据流的设计方法 2、分析设计 ⑴ 变换分析 §面向数据流的设计方法 第一步:DFD的分界,先分出I、P、O三块 §面向数据流的设计方法 一般问题的一级分解方法: §面向数据流的设计方法 第二步:映射 §面向数据流的设计方法 例: §面向数据流的设计方法 第三步:修改 —— 本着高内聚、低耦合的原则 例:图5.19精化后的数字仪表板系统的软件结构 §面向数据流的设计方法 ⑵ 事务分析 §面向数据流的设计方法 3、SD的总体过程 事务映射 考虑用户交互子系统的数据流,步骤5的第1级分解如图8-21所示.变换”读用户命令”和”激活/关闭系统”可以直接映射到程序结构中,无需中间的控制模块。事务中心“调用命令处理”直接映射成同名的调度器模块;建立系统配置和密码处理的控制器,如图8-21所示。 SAFEHOME实例[48] 图8-21 用户交互子系统的第2级DFD 事务映射 步骤6:分解并精化事务结构和每条动作路径的结构。数据流图的每条动作路径都有自己的信息流特征,它可以是变换流也可以是事务流。与动作路径相关的“子结构”可以根据本节和上节讨论的设计步骤进行开发。 步骤7:使用提高软件质量的设计启发式方法,精化第一次迭代得到的体系结构 SAFEHOME实例[49] 图8-22 用户交互子系统的第一次迭代体系结构 精化体系结构设计 在讨论设计求精之前,应首先遵循这句话:“记住,不能工作的‘优化设计’是很值得怀疑的。“基于设计度量和启发式方法,软件设计人员应该始终考虑开发一个满足所有功能和性能需求以及值得信任的软件表示。 应该鼓励在设计早期阶段就对软件体系结构进行精化。对选择的体系结构风格导出、精化和评估以达到”最好“。这种优化方法也是开发软件体系结构表示的一个重要收益。 重要的是注意,结构上的简单往往反映出程序的优雅和高效。设计求精应在满足模块化要求的前提下尽量减少构件的数量,在满足信息需求的前提下尽量减少复杂的数据结构。 小结 作业 P193页 8.1 注:每个模块应附一简要说明描述 ① 进出该模块的信息(接口描述); ② 模块内部的信息; ③ 过程陈述,包括主要判定点及任务等; ④ 对约束和特殊特点的简短讨论。 M II I S A B C … … … I II S B A C … … … “变换” “事务” 精化数据流图 流类型 区分事务中心和数据接收通路 区分输入和 输出分支 映射成事务结构 映射成变换结构 用启发式设计规则精化软件结构 导出接口描述和 全程数据结构 复 查 详细设计 变换分析 事务分析 优化的前题是:“Get it to work, then make it fast.” DFD的两种类型 为了实现从DFD到体系结构的映射(需求模型?设计模型),需要仔细区分DFD中数据流的性质,并分别学习相应的映射方法。 变换型结构(变换流) 变换型结构(变换流) 事务型结构(事务流) 事务型结构(事务流) 变换映射 变换映射是一组设计步骤,可以将具有变换流特征的DFD映射为某个特定的体系结构风格。 步骤1:评审基本系统模型 基本系统模型或者环境图把安全功能描述为一个单一的变换,描述了流入和流出安全功能的数据的生产者和消费者。图8-11刻画了一个0层模型,图8-12描述了初步精化后的安全功能数据流。 SAFEHOME实例[39] 图8-11 SafeHome的环境级DFD SAFEHOME实例[40] 图8-12 SafeHome安全功能的第一层DFD 步骤2:评审和精化软件的数据流图 对从分析模型获得的信息进行精化,以获得更多的细节。例如,检查第2层监控传感器的DFD(如图8-13),并导出第3层数据流图(如图8-14)。在第3层,数据流图中的每个变换都展示了高内聚性,即变换所包含的过程完成单一的、清楚的功能,该功能可被实现为SafeHome软件中的一个构件。图8-14中的DFD包含了设计监控传感器子系统体系结构所需的细节信息,不需要再进一步精化。 SAFEHOME实例[41] 图8-13 精化“监控传感器”变换的第2层DFD SAFEHOME实例[42] 图8-14 具有流边界的监控传感器的第3层DFD 步骤3:确定DFD是否含有变换流或事务流特征 通过评估DFD(图8-14),可以看出,数据通过一条输入路径进入软件,沿三条输出路径流出,没有明显的事务中心。信息流将呈现出一个从头
文档评论(0)