(计算机)总体设计

上传人:豆浆 文档编号:48495184 上传时间:2018-07-16 格式:PPT 页数:133 大小:3.14MB
返回 下载 相关 举报
(计算机)总体设计_第1页
第1页 / 共133页
(计算机)总体设计_第2页
第2页 / 共133页
(计算机)总体设计_第3页
第3页 / 共133页
(计算机)总体设计_第4页
第4页 / 共133页
(计算机)总体设计_第5页
第5页 / 共133页
点击查看更多>>
资源描述

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

1、第四章 总体设计第四章 总体设计p4.1 总体设计的任务p4.2 总体设计的概念和原理p4.3 设计准则p4.4 总体设计常用的方法和工具p4.5 数据库设计4.1 总体设计的任务p软件设计软软件设计设计 的任务务是从软软件需求规规格说说明书书出发发,形成 软软件的具体设计设计 方案,即将需求模型转换为软转换为软 件设计设计 。软软件设计设计 是一个把软软件需求变换变换 成软软件表示的过过程, 即根据需求分析的“做什么”,确定系统应该统应该 “怎么做” 。软软件设计设计 的结结果是软软件设计规设计规 格说说明书书。软软件设计设计 是后续续开发发步骤骤及软软件维护维护 工作的基础础。从技术观术观

2、 点来看,软软件设计设计 包括数据设计设计 、体系结结构 设计设计 、接口设计设计 、过过程设计设计 。通常将软软件设计设计 分为为总总体设计设计 (概要设计设计 )和详细详细 设计设计 (过过程设计设计 )两个阶阶段。软软件设计设计 是后续续开发发步骤骤及软软件维护维护 工作的基础础。 如果没有设计设计 ,只能建立一个不稳稳定的系统结统结 构。测试编码维护设计编码测试维护有软件设计4.1 总体设计的任务没有软件设计4.1 总体设计的任务p总体设计阶段,具体任务如下:(1)制定规规范为软件开发组制定设计时应共同遵守的标准。以便协 调组内各成员工作。通常包括:阅读阅读 理解软软件需求说说明书书,

3、确认认用户户需求能否实现实现 , 进进而确定设计设计 目标标及其优优先级级。根据目标标确定最合适的方案。规规定设计设计 文档编编制标标准,包括文档体系、用纸纸及排版 样样式、记记述的详细详细 途径、图图形画法等。规规定编码编码 的信息形式(代码码体系)、与硬件/操作系统统 的接口规约规约 等。制定编编程规规范,如命名规则规则 、注释释要求、质质量保证证要 求、可读读性要求、测试测试 要求等。4.1 总体设计的任务(2)软软件系统结统结 构设计设计软件系统结构设计即确定组成系统的程序及相互关系 。具体内容为:采用某种方法,将复杂杂系统统按功能划分成模块块。确定每个模块块的功能。确定模块块之间间的

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

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

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

7、系统只有一个顶层模块,下层模块 只有一个上层模块,同一层模块之间不发生联系。网状关系中,模块关系平等,自由调用。网状关系模块之间联系的随意性使得系统结构复杂, 难于处理,所以实际中一般采用树状结构。ABCD E FG H0层1层2层ABCDEABCDE4.2 总体设计的基本原理结构软软件求解问题问题软件结构由问题定义开始导出,当问题划分的各部分,分别由一个或多个软件模块解决的时候,也就得到了软件结构。这个过程代表了软件需求分析到设计的转换。P1P2P3P4P5软件求解的“问题”S1S2S4S5S3软件“解法”SS1S2S3S4S5 软件结构4.2 总体设计的基本原理结构不同结结构的解法问题S1

8、S2S3S4S5软件结构1S1S2S3S4S5软件结构2S1S3S2S4S5软件结构34.2 总体设计的基本原理结结构的度量和术语术语宽度深 度统 帅从 属扇出扇入深度:控制的层数;宽度:控制的总分布;扇出:一模块直接控制的模块数;扇入:一个模块的直接上属模块数;统帅:一模块控制另外的模块;从属:模块被另外的模块所控制;每个方框代表一个模块4.2 总体设计的基本原理过程过过程软件结构隐含着控制层次的关系,但并不表示软件过程关 系,不考虑处理和判断的顺序。模块软件过程集中考虑每个 模块各自的处理细节。 过程必须提供一个精确 的处理规格说明,包括 事件顺序、精确的判定 、重复的操作、以及数 据组织

9、结构等。(详细 设计阶段的工作)4.2 总体设计的基本原理模块化p4.2.2 模块化模块(Module),又称“构件”,一般指程序中的数据说明、可 执行语句等程序对象的集合,还可以是单独命名和编址的元素,如高级 语言中的过程、函数、子程序、类等。在软件的体系结构中,模块是可 组合、分解和更换的单元,一般有如下基本属性:接口:指模块块的输输入与输输出。功能:模块实现块实现 的功能,应应注意这这里的功能是模块块本身的功能和它调调 用的所有子模块块功能的集合。逻辑逻辑 :描述内部如何实现实现 要求的功能及所需数据。状态态:该该模块块的运行环环境,即该该模块块的调调用与被调调用关系。模块化是将系统划分

10、为若干个模块, 每个模块完成一个子功能。 模块化的目的是将系统“分而治之”,因此能够降低问题的复杂性,使软件结构清晰,易阅读、易理解,易于测试和调试,因而也有助于提高软件的可靠性。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) 即将问题(P1+P2)划分为两个问题P1 和 P2 后,其

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

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

13、法实现问题实现问题 。即将 系统统功能按层层次进进行分解,每一层层不断将功能细细化, 到最后一层层都是功能单单一、简单简单 易实现实现 的模块块。在搞抽象级别级别 定义义功能陈陈述,并不涉及功能内部实现实现 及信息细节细节 ,设计设计 者对陈对陈 述进进行细细化,逐步求精提供 越来越多的细节细节 ,直至得到用程序语语言表达的程序。4.2 总体设计的基本原理模块化(3)信息隐隐蔽与局部化信息隐蔽指在设计设计 模块时块时 ,应该应该 使模块块内包含的信息(过过程和 数据)对对于不需要这这些信息的模块块来说说,是不能访问访问 的。局部化指把一些关系密切的软软件元素物理的放得彼此靠近。 显显然,局部化

14、有助于实现实现 信息隐隐蔽。使用信息隐隐蔽原理作为为模块块化系统设计统设计 的标标准 使得独立模块块之间仅仅间仅仅 交换为换为 完成系统统功能而必 须须交换换的信息,而绝绝大多数数据和过过程对对于软软件 其他部分而言是隐隐蔽的,因此在修改期间间由于疏忽 而引入的错误传错误传 播到软软件的其他部分的可能性就很 小。 4.2 总体设计的基本原理模块化(4)模块块独立模块独立的概念是模块化、抽象、信息隐蔽的局部化 概念的直接结果。 模块的独立程度可以用内聚和耦合这两标准来衡量。模块独立是优秀软件设计的关键,设计是决定软件质 量的关键。开发具有独立功能而且和其他模块之间没有过多的相 互作用的模块,就可

15、以做到模块独立。这样做有两个 好处:第一,有效的模块块化(即具有独立的模块块)的软软 件比较较交易开发发出来,这这是由于能够够将功能分割 而且接口可以简简化;第二,独立的模块块比较较容易测试测试 和维护维护 。这这是因 为为相对对来说说,修改设计设计 和程序所需要的工作量较较 小,错误传错误传 播范围围小,而且需要扩扩充功能时时能够够 “插入”模块块。4.2 总体设计的基本原理耦合(5)耦合耦合性是指软件结构中模块相互连接的紧密程度,是 模块间相互连接性的度量。方式l块间联系方式有“直接引用”或“过程语句调用” 。显 然直接引用方式块间联系紧密。 作用l块间传送的共用信息(参数),可为“数据型

16、” 、 “ 控制型”或“混合型” (数据/控制型) ,控制型信息 使块间联系增高。 数量l块间传送的共用信息的数量越大,块间联系越紧密 。4.2 总体设计的基本原理耦合耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。 一般模块之间可能的连接方式有七种,构成七种耦合:非直接耦合 数据耦合 标记耦合 控制耦合 外部耦合 公共耦合 内容耦合低高强弱耦合性模块独立性4.2 总体设计的基本原理耦合非直接耦合(Non-direct coupling )两个模块块之间间没有直接关系,它们们之间间的联联系完全是通过过主模块块的控制和调调用来实现实现 的,这这就是非直接耦合。模块块从属于不同的模块块控制或调调用;耦合程度最低,独立性最强。主模块ABCEFGXYZ4.2 总体设计的基本原理耦合数据耦合(Dat

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

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

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