网站大量收购闲置独家精品文档,联系QQ:2885784924

概要设计专用课件.ppt

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

第4章 总体(概要)设计 对软件需求有了完整、准确、具体的理解之后, 就要通过设计来实现该需求。 传统的软件工程方法学采用结构化设计技术, 完成软件设计工作。 结构化设计可分为两个阶段:概要设计和详细 设计。 概要设计主要解决的问题: 从黑盒级划分出组成系统的物理元素(程序, 文件,数据库,文档等); 设计出组成软件的主要模块及其之间的关系. 详细设计主要解决的问题: 设计实现模块的算法和数据结构. 4.1软件体系结构 4.1.1概述 软件体系结构(Software Architecture,SA)定义软件系统实现的蓝图,从一个较高抽象层次考虑组成系统的构件及其之间的交互,以及构件及其交互形成的拓扑结构关系。 体系结构的设计过程 1)系统结构化:分解成子系统,划分子系统之间的通信. 2)控制建模:建立各部分之间的控制关系的一般模型. 3)模块分解:子系统进一步分解成模块. 常见软件体系结构风格 以数据为中心的体系结构; 数据流体系结构; 调用和返回体系结构; 面向对象体系结构; 层次式体系结构。 体系结构设计的定量分析 目前在体系结构设计质量定量分析方面的研究尚处于起步阶段。 Asada提出了伪定量技术的简单模型帮助设计者确定体系结构满足预定义的“好”标准的程度.这些标准称为设计量纲(Design Dimension),包括软件的质量属性:可靠性、安全性、可维护性、可测试性、可移植性、可复用性等。 Asada提出的简单模型可分为: 频谱分析(Spectrum analysis)模型 设计选择分析(Design selection analysis)模型 贡献分析(Contribution analysis)模型 Belady将软件设计分为两个阶段: 多样化(Diversification):获得所有可选事物和未加工的设计材料,如构件、解决方案和知识; 收敛(convergence):设计者从设计材料中选择和组合合适元素,以满足设计目标。这是一个不断删除的过程。 4.1.2系统构成 体系结构的三个标准模型 : 1.容器模型:适合于数据是由一个子系统产生而由其他子系统使用的情形。 2.客户机/服务器模型:是一个分布式系统模型,数据和处理过程可分配在多个处理器之中。 3.抽象机模型:有时叫做分层模型,是用来建立子系统的接口模型。 4.1.2控制模型 1.集中式控制:一个子系统被指定为系统控制器来负责管理其他系统的执行。 调用返回模型:自上而下的子过程模型,控制始于子程序层次的顶层,在调用过程中,控制逐步传递到更低的层次中。该模型只适用于顺序执行的系统。 管理者模型:一个系统组件被指定为系统管理者,它控制其他系统过程的启动、终止和协调。一个过程就是一个能和其他过程并发执行的子系统或模块。 2.事件驱动系统:通过外部产生的事件来驱动系统 。 广播模型:在这些模型中,理论上事件是广播到所有子系统的。任何能处理该事件的子系统都会响应。 中断驱动模型:该模型专门用于实时系统中,由中断处理器对来自外部的中断进行检测,然后在其他组件中处理这些中断。 1.概要设计的主要任务 系统分析员审查软件计划、需求分析,提出最佳推荐方案。 确定模块结构,划分功能模块。 编写概要设计说明书、用户手册、测试计划,选用相关的软件工具来描述软件结构,选择分解功能与划分模块的设计原则。 概要设计过程分两个主要阶段: 系统设计阶段:确定系统的具体实现方案; 结构设计阶段:确定软件结构。 2.典型的总体设计过程包括9个步骤: 1)设想供选择的方案 2)选取合理的方案 通常至少选取低成本、中等成本和高成本的 三种方案。 对每个合理的方案都应该准备下列4份资料: (1) 系统流程图; (2) 组成系统的物理元素清单; (3) 成本/效益分析; (4) 实现这个系统的进度计划。 3)推荐最佳方案 综合分析对比各种合理方案的利弊,推荐一 个最佳方案,并制定详细实现计划。 用户和有关技术专家应该认真审查分析员所 推荐的最佳方案。 4.)功能分解 对程序(特别是复杂的大型程序)的设计,通常 分为结构设计和过程设计。 结构设计确定程序由哪些模块组成,以及这些 模块之间的关系; 过程设计确定每个模块的处理过程。 结构设计是总体设计阶段的任务,过程设计是 详细设计阶段的任务。 为确定软件结构需要从实现角度把复杂功能进 一步分解为一系列简单功能。 5.)设计软件结构 一个模块完成一个适当的子功能。 应该把模块组织成良好的层次系统,软件结 构(即由模块组成的层次系统)可以用层次图或 结构图来描绘,第5.4节将介绍这些图形工具。 从数据流图映射出软件结构,这就是第5.5节 中将要讲述的面向数据流的设计方法。 6)设计数据库与文件结构 7

文档评论(0)

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

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

1亿VIP精品文档

相关文档