- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二部分 软件系统分析与设计6.4 结构化设计概述 重点:设计任务、设计原理与原则 难点:设计任务、设计原理与原则 知识点: 6.4.1 任务与步骤 6.4.2 设计原则与原理 常用的软件设计方法有: 面向数据流的结构化设计方法((SD,Structured Design)、 面向对象设计方法(OOD,Object-Oriented Design) 面向数据结构的Jackson系统开发(JSD,Jackson System Development)方法。JSD方法现在相对比较少用,本书不做介绍,需要时请查阅参考文献[1],面向对象设计方法将在第7章介绍,本章针对结构化设计方法作详细介绍。 结构化设计方法是将结构化分析得到的数据流图映射成软件结构的一种设计方法,是一种面向数据流的方法,如图6-12所示。结构化方法强调模块化、自顶而下逐步求精、信息隐蔽和低藕合高内聚等设计原则。SA、SD和SP(结构化程序设计)构成完整的结构化方法体系。 结构化设计的工作内容大致依次为制定规范、软件结构和接口设计、数据/类设计、过程(部件级)设计、测试计划制定、文档编写和审查与复审等。 1.概要设计(总体设计) 确定软件的结构以及各组成成分(子系统或模块)之间的相互关系。 也就是,将系系统分解成模块,确定每个模块的功能、接口(模块间转递的数据)技巧调用关系,并用模块及模块之间的调用关系来构建软件的体系结构。 表示软件结构的图形工具:详见“6.5 软件结构设计” 表示模块内部算法的工具:详见“6.7 过程设计” 软件(体系)结构的内涵 软件的组成部分 软件的层次关系 模块的内部处理逻辑 模块之间的界面 软件体系结构的风格 从物理位置的角度来看,常见的有单主机结构、C/S(Client/Server)结构、B/S(Browser/Server)结构等; 从内部逻辑角度来看,常见的有以数据为中心、数据流、调用和返回、面向对象和层次式等风格的体系结构。 软件结构度量术语 软件结构的层次规则 只有一个顶层(0层)模块 0层外任一模块都会在它 的邻层存在一模块与它有关 同层模块间不发生联系 2.详细设计 确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。 也就是,对模块实现细节的设计,采用结构化程序设计(Structured Programming,SP)。 SA、SD和SP构成完整的结构化方法体系。 2.设计原理 (1)模块化 模块化是好的软件设计的一个基本准则。自上而下: 高层模块 从整体上把握 问题,隐蔽细节 复杂问题 较小问题 分解 不但可降低解决问题的难度,而且可减小解题所需的总的工作量。 模块化和软件成本 (2)抽象与逐步求精 抽象原则应用举例:Windows NT一体化的I/O系统设计 (2)逐步求精 逐步求精就是把问题的求解过程分解成若干步骤或阶段,每步都比上一步更精化,更接近问题的解法,下一步是上一步中概念的精化和细化。软件工程过程的每一步都是对较高一级抽象的解作一次具体化的描述。 抽象与逐步求精是一对相反、互补的思维过程,实际上是软件工程中最为核心的思维方式。抽象使得设计者能够描述过程和数据而忽略低层的细节,而求精有助于设计者在设计过程中揭示低层的细节。 (3)信息隐蔽(Information Hiding) 模块所包含的信息,不允许其它不需要这些信息的模块访问,独立的模块间仅仅交换为完成系统功能而必须交换的信息。 软件质量因素: 可维护性 可靠性 可理解性 效率 信息隐蔽的目的: 提高模块的独立性,减少修改或维护时的影响面。 (4)信息局部化 把关系密切的软件元素物理地放得彼此靠近。 优点:可维护性好 可靠性好 可理解性好 (5)模块的独立性 模块独立性的概念 模块独立的含义: 模块完成独立的功能 符合信息隐蔽和信息局部化原则 模块间关连和依赖程度尽量小 模块独立性的度量 模块独立性取决于模块的 内部和外部特征。 SD方法中的定性的度性指标: 模块之间的耦合性 模块自身的内聚性 1)耦合性 模块间相对独立性(相互依赖程度)的度量。 耦合性越高,模块独立性越弱。 影响耦合强度依赖的因素: 一模块对另一模块的引用 一模块向另一模块传递的数据量 一模块施加到另一模块的控制的数量 模块间接口的复杂程度 模块间耦合的类型 低 无直接耦合 耦 数据耦合 合 标记耦合 性
您可能关注的文档
- 新实用经济法教程 教学课件 裴斐 辛丽燕 第五章课件.ppt
- 新实用经济法教程 教学课件 裴斐 辛丽燕 第一章课件.ppt
- 新实用经济法教程 教学课件 裴斐 辛丽燕 首页.ppt
- 新实用口才技巧与训练 教学课件 罗爽 第二章 基础口才技.ppt
- 新实用口才技巧与训练 教学课件 罗爽 第三章 演讲口才技.ppt
- 新实用口才技巧与训练 教学课件 罗爽 第四章 社交口才技.ppt
- 新实用口才技巧与训练 教学课件 罗爽 第五章 职场口才技.ppt
- 新实用口才技巧与训练 教学课件 罗爽 第一章 口才基础训.ppt
- 新实用口才交际训练 教学课件 王光华 主编第七、第八、第九章 公关口才交际训练 7.ppt
- 新实用口才交际训练 教学课件 王光华 主编第七、第八、第九章 求职口才交际训练8.ppt
- 新实用软件工程教程 教学课件 陈雄峰 第6章6.5节 软件结构设计.ppt
- 新实用软件工程教程 教学课件 陈雄峰 第6章6.6节 人机界面设计.ppt
- 新实用软件工程教程 教学课件 陈雄峰 第6章6.7 6.8节 过程设计.ppt
- 新实用软件工程教程 教学课件 陈雄峰 第7章7.1节 面向对象分析与设计.ppt
- 新实用软件工程教程 教学课件 陈雄峰 第7章7.2节 面向对象分析.ppt
- 新实用软件工程教程 教学课件 陈雄峰 第7章7.3节 面向对象设计.ppt
- 新实用软件工程教程 教学课件 陈雄峰 第8章 编码与实现.ppt
- 新实用软件工程教程 教学课件 陈雄峰 第9章 软件测试.ppt
- 新实用软件工程教程 教学课件 陈雄峰 第10章 软件维护.ppt
- 新实用统计 教学课件 樊培茗1 第1章.ppt
文档评论(0)