[工学]软件工程—第4章 软件设计概述_lyh.ppt

[工学]软件工程—第4章 软件设计概述_lyh.ppt

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]软件工程—第4章 软件设计概述_lyh

第四章 软件设计概述 讨论要点 如何将分析模型转换成软件设计? 作为软件工程师在软件设计方面应使用哪些基本原则和概念? 教学内容: §4.1 软件设计的目标和任务 §4.2 软件设计基本概念 §4.3 模块化设计 §4.4 其他设计问题的处理 §4.5 设计文档及其复审 教学目的及要求: 深刻理解软件设计阶段的概念和任务; 掌握模块化设计的思想; 软件设计的任务 问题结构(软件需求) 从软件需求规格说明书出发,形成软件的具体设计方案。 1.软件的总体结构主要回答的问题 软件的组成部分 软件的层次关系 模块的内部处理逻辑 模块之间的界面 2. 软件设计的问题 Jackson方法 1 概述 ? ? ?Jackson方法是面向数据结构的设计方法。Jackson方法定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适用于详细设计阶段。 2 Jackson结构图 ? ? 由于Jackson方法面向数据结构设计,所以提供了自己的工具——Jackson结构图。Jackson指出,无论数据结构还是程序结构,都限于三种基本结构及它们的组合,因此,他给出了三种基本结构的表示。 ? ?1. 顺序结构 ? ?2. 选择结构 ? ?3. 重复结构 3 Jackson方法设计步骤 ? ?(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图来表示这些数据结构。 ? ?(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。 ? ?(3)按一定的规则由输入、输出的数据结构导出程序结构。 ? ?(4)列出基本操作与条件,并把它们分配到程序结构图的适当位置。 ? ?(5)用伪码写出程序。 4. 软件设计分为两个阶段: (1)概要设计(总体设计) 确定软件的结构以及各组成成分(子系统或模块) 之间的相互关系。 (2)详细设计 确定模块内部的算法和数据结构,产生描述各模 块程序过程的详细文档。 PDL(程序设计语言) §4.2 软件设计的基本概念 1.模块与构件 2.抽象与细化 3.信息隐蔽 4.软件复用 1.模块与构件 1.模块与构件 模 块 模块是具有一定功能的可以用名词调用的程序语句集合,如: 独立的汇编程序 COBOL的段和节 Pascal过程 FORTRAN的子程序 结构化设计的适用范围 尤其适用于采用结构化程序设计实现的系统; 结构化设计并不是一种广泛适用的系统设计技术; 结构化设计的结果。 SA与SD的关系 SD来源于SA 概要设计的基本概念 将系统划分成模块 决定每个模块的功能 决定模块的调用关系 决定模块的界面,即模块间传递的数据 结构化设计(SD方法)概要 相对独立、单一功能的模块 块间联系和块内联系 描述方法 步骤 2. 抽象(Abstraction)与细化 抽象:解决问题时只考虑与问题有关的方面,不考虑与问题无关的方面。即抽出事物的本质特性而不考虑细节。 抽象(Abstraction) 抽象原则应用举例 Windows NT一体化的I/O系统设计 在逐步细化中,特别强调这种分解的“逐步”性质,即每一部分仅较其前一部增加“少量”的细节。这样,在相邻两部之间就只有微小的变化,不难验证它们的内容是否等效。 3.信息隐蔽(Information Hiding) 信息隐蔽的含义:有效的模块化可以通过定义一组独立模块来实现,这些模块相互之间只交流软件功能必需的信息。 换句话说:模块所包含的信息,不允许其它不需要这些信息的模块访问,独立的模块间仅仅交换为完成系统功能而必须交换的信息。 §4.3 模块化设计 1.分解 2.模块独立性 内聚 耦合 自顶向下与自底向上设计 模块化(Modularity) 1.分解 "各个击破"理论 模块数与开发工作量的关系 2. 模块的独立性 模块独立性的概念 模块完成独立的功能 符合信息隐蔽和信息局部化原则 模块间关连和依赖程度尽量小 模块独立性的度量 模块独立性取决于模块的内部和外部特征。 SD方法提出的定性的度量标准: 模块自身的内聚性 模块之间的耦合性 2. 模块独立性的度量之一:内聚性 一个模块内部各成分之间相互关联的强度 设计目标:高内聚(一模块的所有成分都直接参与并且对于完成同一功能来说都是最基本的) 软件设计的概念和原理 模块的内聚性类型 (4) 过程内聚 模块内各处理成分相关,且必须以特定次序执行。 过程内聚模块 (5) 通信内聚 模块内各部分使用相同的输入数据,或产生 相同的输出结果。 通信内聚模块例 (6)顺序内聚 一个内部成分的输出是另一个内部成分的输入,将它们合

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档