- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
总体设计小结整理
* * * * 总体设计 设计任务 概念和原理 设计准则 常用的方法和工具 数据库设计 总体设计是软件设计的一部分 通常将软件设计分为总体设计(概要设计)和详细设计(过程设计)两个阶段。 更准确的说,总体设计是软件设计的开始 好的开始是成功的一半 总体设计的任务 软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构。 测试 编码 维护 设计 编码 测试 维护 有软件设计 没有软件设计 总体设计的任务 总体设计阶段,具体任务如下: (1)制定规范 为软件开发组制定设计时应共同遵守的标准。以便协调组内各成员工作。 (2)软件系统结构设计 软件系统结构设计即确定组成系统的程序及相互关系。 (3)数据结构及数据库设计 数据结构设计 数据库设计 (4)可靠性设计 质量设计,设计时考虑软件可靠性及其他质量指标,确保软件质量,易于修改维护。 总体设计的任务 (5)编写概要设计文档 概要设计说明书:集中于软件结构描述。 数据库设计说明书:主要内容为DBMS的选择、简介、数据库概念模型、逻辑设计结果等。 用户手册:对需求阶段编写的用户手册进行补充完善。 测试文档:修改需求分析阶段编写的测试文档,对测试策略、方法、步骤提出明确说明。 (6)设计审查和复审 对总体设计结果进行严格的技术审查,通过后再从管理角度进行严格审查。 总体设计的基本原理 软件结构和过程 总体设计主要是结构设计,而详细设计是过程设计。理解结构和过程的差别和特点,是进行软件设计的前提。 结构 软件结构是软件要求的各个元素及其相互关系的描述。 一般软件元素就是一些功能模块,通过调用关系,组合到一起即得到软件结构。 最普通的结构是树状结构和网状结构。 总体设计的基本原理 树状结构中,整个系统只有一个顶层模块,下层模块只有一个上层模块,同一层模块之间不发生联系。 网状关系中,模块关系平等,自由调用。 网状关系模块之间联系的随意性使得系统结构复杂,难于处理,所以实际中一般采用树状结构。 A B C D E F G H 0层 1层 2层 A B C D E A B C D E 总体设计的基本原理——结构 软件求解问题 软件结构由问题定义开始导出,当问题划分的各部分,分别由一个或多个软件模块解决的时候,也就得到了软件结构。这个过程代表了软件需求分析到设计的转换。 P1 P2 P3 P4 P5 软件求解的“问题” S1 S2 S4 S5 S3 软件“解法” S S1 S2 S3 S4 S5 软件结构 总体设计的基本原理 结构的度量和术语 宽度 深度 统帅 从属 扇出 扇入 深度:控制的层数; 宽度:控制的总分布; 扇出:一模块直接控制的模块数; 扇入:一个模块的直接上属模块数; 统帅:一模块控制另外的模块; 从属:模块被另外的模块所控制; 每个方框代表一个模块 总体设计的基本原理——模块化 模块化 接口:指模块的输入与输出。 功能:模块实现的功能,应注意这里的功能是模块本身的功能和它调用的所有子模块功能的集合。 逻辑:描述内部如何实现要求的功能及所需数据。 状态:该模块的运行环境,即该模块的调用与被调用关系。 模块化是将系统划分为若干个模块, 每个模块完成一个子功能。 模块化的目的是将系统“分而治之”,因此能够降低问题的复杂性,使软件结构清晰,易阅读、易理解,易于测试和调试,因而也有助于提高软件的可靠性。 总体设计的基本原理——模块化 (1)模块化降低软件复杂度的简单证明 模块数目 软件成本 最小 成本区 总体设计的基本原理——模块化 (2)抽象与逐步求精 自顶向下 逐步求精 (3)信息隐蔽与局部化 (4)模块独立 使用信息隐蔽原理作为模块化系统设计的标准使得独立模块之间仅仅交换为完成系统功能而必须交换的信息,而绝大多数数据和过程对于软件其他部分而言是隐蔽的,因此在修改期间由于疏忽而引入的错误传播到软件的其他部分的可能性就很小。 开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。这样做有两个好处: 第一,有效的模块化(即具有独立的模块)的软件比较交易开发出来,这是由于能够将功能分割而且接口可以简化; 第二,独立的模块比较容易测试和维护。这是因为相对来说,修改设计和程序所需要的工作量较小,错误传播范围小,而且需要扩充功能时能够“插入”模块。 总体设计的基本原理——耦合 (5)耦合 耦合性是指软件结构中模块相互连接的紧密程度,是模块间相互连接性的度量。 方式 块间联系方式有“直接引用”或“过程语句调用” 。显然直接引用方式块间联系紧密。 作用 块间传送的共用信息(参数),可为“数据型” 、 “控制型”或“混合型” (数据/控制型) ,控制型信息使块间联系增高。
文档评论(0)