软件设计(第四章).ppt

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

第四章 结构化设计 需求分析是软件工程过程中的第一个技术步骤,通过该步骤,软件需求被描述为具体的规约,为软件设计奠定了基础; 需求分析旨在描述 “做什么”,必须关注问题的信息域、功能域和行为域。用创建模型、划分问题、描述需求要素的方法来表示需求细节; 结构化分析依赖于数据建模和流建模来创建全面的需求分析模型。 ERD描述系统中的数据对象,DFD描述控制转换,它们共同创建系统的功能模型。STD创建行为模型,DD描述数据内容。 开发阶段的工作流程是: 设计阶段完成:数据与结构设计和过程设计; 设计阶段的任务是回答:怎么做? 本章要解决的问题: 软件需要“怎么做”? 如何描述“怎么做”? 如何衡量软件设计的质量? 即:软件设计的基本概念、任务、原则、方法和标准是什么? 第四章 软件设计 软件设计的目标与任务 软件设计的概念与原理 模块独立 启发规则 软件结构的图形工具 面向数据流的设计方法 人机界面设计 过程设计及工具 面向数据结构的设计方法 §4-1 软件设计的目标和任务 根据分析模型(数据、功能、行为)所描述的软件需求,以及功能和性能需求,使用某一种设计方法进行: 数据设计 系统结构设计 接口设计 过程设计。 数据设计:将分析时创建的信息域模型(ERD)变换成实现软件所需的数据结构。 体系结构设计:定义程序的主要结构元素之间的关系。 接口设计:描述了软件内部、软件和协作系统之间的以及软件同人之间如何通信。 过程设计:将程序体系结构元素变换为对软件构件的过程描述。 将分析模型转换为软件设计 软件设计过程 从工程管理的角度来看,软件设计分两步完成。 概要设计,将软件需求转化为数据结构和软件的系统结构。 详细设计,即过程设计。通过对结构表示进行细化,得到软件的详细的数据结构和算法。 软件设计的重要性:软件工程过程的技术核心 软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构 基本概念:为“使程序正确”提供了框架 模块化 抽象化 逐步求精 信息隐蔽 一、模块化 软件系统的模块化是指整个软件被划分成若干单独命名和可编址的部分,称之为模块(构件)。这些模块可以被组装起来以满足整个问题的需求。 优点:降低复杂度、方便修改、并行开发 模块用矩形框表示,并用模块的名字标记它。 模块定义的五个标准: 模块的可分解性 模块的可组装性 模块的可理解性 模块的连续性 模块的保护性 模块化是好的软件设计的一个基本准则 高层模块——从整体上把握问题, 隐蔽细节 复杂问题 分解 较小问题 构造 低层模块 二、抽象 什么是抽象? 概念:抽象出事物的本质特性而暂时不考虑它们的细节。 软件设计为什么要用抽象概念? 处理复杂系统的惟一有效的方法是用层次的方法构造和分析它。 软件系统进行模块设计时,可有不同的抽象层次。 模块化与抽象 用自顶向下由抽象到具体的方式分配控制,其优点: 简化了设计与实现; 提高了软件的可理解性和可测试性; 使软件更易于维护。 三、逐步求精 四、信息隐蔽 信息隐蔽(parnas)方法:每个模块的实现细节对于其它模块来说是隐蔽的。也就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。 §4-3 模块的独立性 如何度量模块的独立性? 如何设计具有独立性的模块? 一、模块的基本概念 模块(Module) “模块”,又称“组件”。它一般具有如下三个基本属性: 功能:描述该模块实现什么功能 逻辑:描述模块内部怎么做 状态:该模块使用时的环境和条件 模块的特性描述 模块的外部特性 模块的模块名、参数表、其中的输入参数和输出参数,以及给程序以至整个系统造成的影响。 模块的内部特性 完成其功能的程序代码和仅供该模内 部使用的数据 基本概念 模块的独立性 例如:若一个模块只具有单一的功能且与其它模块没有太多的联系, 则称此模块具有模块独立性。 基本概念 模块独立的优点: 易于开发 易于测试和维护 度量模块独立性的两个质量标准: 耦合 内聚 耦合是模块之间的互相连接的紧密程度的度量。 内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。 模块独立性比较强的模块应是高内聚低耦合的模块。 二、模块间的耦合 (1)非直接耦合(Nondirect Coupling) (2)数据耦合 (Data Coupling) 如果一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数) 来交换输入、输出信息的,则称这种耦合为数据耦合。 (3)标记耦合 (Stamp Coupling) 如果一组模块通

文档评论(0)

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

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

1亿VIP精品文档

相关文档