(计算机)总体设计ppt培训课件

上传人:aa****6 文档编号:54464155 上传时间:2018-09-13 格式:PPT 页数:133 大小:2.93MB
返回 下载 相关 举报
(计算机)总体设计ppt培训课件_第1页
第1页 / 共133页
(计算机)总体设计ppt培训课件_第2页
第2页 / 共133页
(计算机)总体设计ppt培训课件_第3页
第3页 / 共133页
(计算机)总体设计ppt培训课件_第4页
第4页 / 共133页
(计算机)总体设计ppt培训课件_第5页
第5页 / 共133页
点击查看更多>>
资源描述

《(计算机)总体设计ppt培训课件》由会员分享,可在线阅读,更多相关《(计算机)总体设计ppt培训课件(133页珍藏版)》请在金锄头文库上搜索。

1、第四章 总体设计,第四章 总体设计,4.1 总体设计的任务 4.2 总体设计的概念和原理 4.3 设计准则 4.4 总体设计常用的方法和工具 4.5 数据库设计,4.1 总体设计的任务,软件设计 软件设计的任务是从软件需求规格说明书出发,形成软件的具体设计方案,即将需求模型转换为软件设计。 软件设计是一个把软件需求变换成软件表示的过程,即根据需求分析的“做什么”,确定系统应该“怎么做”。 软件设计的结果是软件设计规格说明书。 软件设计是后续开发步骤及软件维护工作的基础。 从技术观点来看,软件设计包括数据设计、体系结构设计、接口设计、过程设计。 通常将软件设计分为总体设计(概要设计)和详细设计(

2、过程设计)两个阶段。,软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构。,4.1 总体设计的任务,4.1 总体设计的任务,总体设计阶段,具体任务如下: (1)制定规范 为软件开发组制定设计时应共同遵守的标准。以便协调组内各成员工作。通常包括: 阅读理解软件需求说明书,确认用户需求能否实现,进而确定设计目标及其优先级。 根据目标确定最合适的方案。 规定设计文档编制标准,包括文档体系、用纸及排版样式、记述的详细途径、图形画法等。 规定编码的信息形式(代码体系)、与硬件/操作系统的接口规约等。 制定编程规范,如命名规则、注释要求、质量保证要求、可读性要求、测试要

3、求等。,4.1 总体设计的任务,(2)软件系统结构设计 软件系统结构设计即确定组成系统的程序及相互关系。具体内容为: 采用某种方法,将复杂系统按功能划分成模块。 确定每个模块的功能。 确定模块之间的调用关系。 确定模块之间的接口,即模块之间传递的信息。 评价模块结构的质量。 软件结构设计是以模块为基础的,需求分析阶段,已经把系统分解为层次结构,设计阶段要实现进一步的模块划分,并组成模块的层次结构。,4.1 总体设计的任务,(3)数据结构及数据库设计 数据结构设计 需求分析阶段,通过数据字典对数据的组成、操作约束、相互关系等方面进行描述,确定了数据的结构特征。 数据结构设计主要对数据字典的组成、

4、操作约束、数据之间的相互关系等方面进行描述,确定数据的结构特征。,4.1 总体设计的任务,数据库设计 概念结构设计:及数据库的概念模式设计,一般指构造实体关系模型(E-R,Entity-Relationship)模型。 逻辑结构设计:将E-R模型转换为DBMS支持的关系模型。 物理结构设计:设计数据库的物理细节,如存储形式、路径等。,4.1 总体设计的任务,(4)可靠性设计 质量设计,设计时考虑软件可靠性及其他质量指标,确保软件质量,易于修改维护。 (5)编写概要设计文档 概要设计说明书:集中于软件结构描述。 数据库设计说明书:主要内容为DBMS的选择、简介、数据库概念模型、逻辑设计结果等。

5、用户手册:对需求阶段编写的用户手册进行补充完善。 测试文档:修改需求分析阶段编写的测试文档,对测试策略、方法、步骤提出明确说明。 (6)设计审查和复审 对总体设计结果进行严格的技术审查,通过后再从管理角度进行严格审查。,4.2 总体设计的基本原理,4.2.1 软件结构和过程,总体设计主要是结构设计,而详细设计是过程设计。理解结构和过程的差别和特点,是进行软件设计的前提。,结构 软件结构是软件要求的各个元素及其相互关系的描述。 一般软件元素就是一些功能模块,通过调用关系,组合到一起即得到软件结构。 最普通的结构是树状结构和网状结构。,4.2 总体设计的基本原理,树状结构中,整个系统只有一个顶层模

6、块,下层模块只有一个上层模块,同一层模块之间不发生联系。 网状关系中,模块关系平等,自由调用。 网状关系模块之间联系的随意性使得系统结构复杂,难于处理,所以实际中一般采用树状结构。,4.2 总体设计的基本原理结构,软件求解问题 软件结构由问题定义开始导出,当问题划分的各部分,分别由一个或多个软件模块解决的时候,也就得到了软件结构。这个过程代表了软件需求分析到设计的转换。,4.2 总体设计的基本原理结构,不同结构的解法,4.2 总体设计的基本原理,结构的度量和术语,4.2 总体设计的基本原理过程,过程 软件结构隐含着控制层次的关系,但并不表示软件过程关系,不考虑处理和判断的顺序。,软件过程集中考

7、虑每个模块各自的处理细节。过程必须提供一个精确的处理规格说明,包括事件顺序、精确的判定、重复的操作、以及数据组织结构等。(详细设计阶段的工作),4.2 总体设计的基本原理模块化,4.2.2 模块化模块(Module),又称“构件”,一般指程序中的数据说明、可执行语句等程序对象的集合,还可以是单独命名和编址的元素,如高级语言中的过程、函数、子程序、类等。在软件的体系结构中,模块是可组合、分解和更换的单元,一般有如下基本属性: 接口:指模块的输入与输出。 功能:模块实现的功能,应注意这里的功能是模块本身的功能和它调用的所有子模块功能的集合。 逻辑:描述内部如何实现要求的功能及所需数据。 状态:该模

8、块的运行环境,即该模块的调用与被调用关系。,模块化是将系统划分为若干个模块, 每个模块完成一个子功能。 模块化的目的是将系统“分而治之”,因此能够降低问题的复杂性,使软件结构清晰,易阅读、易理解,易于测试和调试,因而也有助于提高软件的可靠性。,4.2 总体设计的基本原理模块化,(1)模块化降低软件复杂度的简单证明,令:C(X)表示问题 X 的复杂度函数; E(X)解决问题 X 所需工作量的复杂度函数; 若: 有问题 P1,P2,C(P1) C(P2) ; 显然: E(P1) E(P2) 由经验:C(P1+P2) C(P1)+ C(P2) 于是: E(P1+P2) E(P1)+ E(P2) 即将

9、问题(P1+P2)划分为两个问题P1 和 P2 后,其工作量和复杂度都降低。 但并非模块分得越小越好。模块数越多,模块之间接口的复杂度和工作量增加。所以模块化并非将系统划分为尽量多的模块,而是要求在模块化的过程中,同时考虑减少接口复杂性,提高模块独立性,有效降低软件的复杂度。,4.2 总体设计的基本原理模块化,(2)抽象与逐步求精 抽象 抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。 共同特征是指那些能把一类事物与他类事物区分开来的特征,又称本质特征。抽取事物的本质特征,舍弃不同特征。 软件工程过程中的每一步部可以看作是对软件解决方法的抽象层次的一次细化。 系统定义阶段

10、,将软件作为系统一个完整部件进行描述。 需求分析期间,使用在问题环境中熟悉的方式几术语来描述。 软件设计时,抽象与逐步求精、模块化密切相关,由抽象到具体地分析和构造出软件的层次结构。 编写出原程序后,达到了抽象的最底层。,4.2 总体设计的基本原理模块化,逐步求精 逐步求精是人类解决复杂问题的又一基本方法。 George Miller有项心理学法则(1956): “魔术数字7加减2” ,指出人一次能处理或记忆的资讯大概只有七项,多了也记不住,反而模糊了焦点。 将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能细化

11、,到最后一层都是功能单一、简单易实现的模块。 在搞抽象级别定义功能陈述,并不涉及功能内部实现及信息细节,设计者对陈述进行细化,逐步求精提供越来越多的细节,直至得到用程序语言表达的程序。,4.2 总体设计的基本原理模块化,(3)信息隐蔽与局部化 信息隐蔽 指在设计模块时,应该使模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。 局部化 指把一些关系密切的软件元素物理的放得彼此靠近。显然,局部化有助于实现信息隐蔽。,使用信息隐蔽原理作为模块化系统设计的标准使得独立模块之间仅仅交换为完成系统功能而必须交换的信息,而绝大多数数据和过程对于软件其他部分而言是隐蔽的,因此在修改期间

12、由于疏忽而引入的错误传播到软件的其他部分的可能性就很小。,4.2 总体设计的基本原理模块化,(4)模块独立 模块独立的概念是模块化、抽象、信息隐蔽的局部化概念的直接结果。 模块的独立程度可以用内聚和耦合这两标准来衡量。 模块独立是优秀软件设计的关键,设计是决定软件质量的关键。,开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。这样做有两个好处: 第一,有效的模块化(即具有独立的模块)的软件比较交易开发出来,这是由于能够将功能分割而且接口可以简化; 第二,独立的模块比较容易测试和维护。这是因为相对来说,修改设计和程序所需要的工作量较小,错误传播范围小,而且需要扩充功

13、能时能够“插入”模块。,4.2 总体设计的基本原理耦合,(5)耦合 耦合性是指软件结构中模块相互连接的紧密程度,是模块间相互连接性的度量。 方式 块间联系方式有“直接引用”或“过程语句调用” 。显然直接引用方式块间联系紧密。 作用 块间传送的共用信息(参数),可为“数据型” 、 “控制型”或“混合型” (数据/控制型) ,控制型信息使块间联系增高。 数量 块间传送的共用信息的数量越大,块间联系越紧密。,4.2 总体设计的基本原理耦合,耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。 一般模块之间可能的连接方式有七种,构成七种耦合:,4.2 总体设计的基本原理耦合

14、,非直接耦合(Non-direct coupling ) 两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。 模块从属于不同的模块控制或调用; 耦合程度最低,独立性最强。,4.2 总体设计的基本原理耦合,数据耦合(Data Coupling) 模块调用时,通过参数表(不是控制参数、公共数据结构或外部变量)来传递简单数据,则称这种耦合为数据耦合。 界面简单、安全可靠,属松散耦合,模块之间独立性强。 画直线的命令LINE:,p0 (x0, y0) p1 (x1, y1),数据耦合 LINE ( x0, y0, x1, y1),4.2 总体设计的基本原理

15、耦合,标记耦合(Stamp Coupling) 模块调用时,传递记录是某一数据结构的子结构,而不是简单变量,为标记耦合。 是数据耦合的变形,要求两个模块都要清楚数据结构,并按规定要求进行操作。设计中要尽量避免标记耦合,可将统一数据结构操作集中在同一模块中。,4.2 总体设计的基本原理耦合,控制耦合(Control coupling) 一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能。 实质是在单一接口上选择多功能模块中的某项功能。所以对被控制模块的任何修改,都会影响控制模块。 控制耦合也意味着控制模块必须知道所控制模块内部的一些逻辑关系,这些都会降低模块的独立性。,4.

16、2 总体设计的基本原理耦合,外部耦合(External coupling) 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。 外部耦合引起的问题类似于公共耦合,区别在于在外部耦合中不存在依赖于一个数据结构内部各项的物理安排。,4.2 总体设计的基本原理耦合,公共耦合(Common coupling) 若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。 这种耦合会引起下列问题 若修改公共数据环境某个数据,会影响到所有公共耦合模块。 无法控制各模块对公共数据的存取,严重影响软件模块的可靠性和适应性。 公共数据名的使用,明显降低了程序的可读性。,4.2 总体设计的基本原理耦合,公共耦合的复杂程度随耦合模块的个数增加而显著增加。若一个模块只是往公共数据环境里传送数据,而另一个模块只是从公共数据环境中取数据,则这种公共耦合叫做松散公共耦合。若两个模块都从公共数据环境中读写数据,则这种公共耦合叫做紧密公共耦合。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号