- 3
- 0
- 约6.18千字
- 约 46页
- 2016-08-21 发布于河南
- 举报
4.0_软件设计概述
第四章 软件设计 软件设计概述 概要设计 详细设计 目录 4.1 软件设计的任务 4.2软件设计的基本原理概念 4.3模块化设计 4.3.1分解和模块化 4.3.2模块独立性 (一)内聚 (二耦合 4.4 软件设计基础 4.4.0自顶向下和自底向上设计 4.4.1软件总体结构设计 4.4.2数据结构设计 4.4.3软件过程设计 4.5设计需要处理的问题 4.6设计文档及其复审 需求分析:对目标系统的数据、功能和行为建模 设计:把分析阶段的需求说明转换成设计文档。 根据设计结果可进行下一步的编制代码工作了 将需求-软件的表现形式 输出文档:软件设计文档 两种主流设计方法: 结构化软件设计 面向对象的软件设计 软件的设计阶段是软件开发时期中最富有活力、 最需要发挥创造精神的阶段。 4.1 软件设计的阶段和任务 从工程管理的角度看分为两阶段, 从技术层面分为四个任务: 概要设计(总体设计): 根据需求确定软件和数据的总体框架 总体结构设计(体系结构设计) 数据设计. 接口设计 详细设计(过程设计): 详细设计每个模块的算法和数据结构.. 过程设计 软件设计的任务 总体结构设计 按功能划分成模块的层次结构 确定每个模块的功能 确定软件各主要部件之间的关系和模块间的接口 数据结构设计 信息模型 ? 软件数据结构 接口设计 软件内部、外部及与人之间的通信——界面设计 过程设计 对每一个软件部件的过程化描述 (1)模块module 模块化: 把大型软件划分成一个个小的,相对独立又互相关联的模块 每个模块完成一个子功能,这些模块集成起来就是构成一个整体 模块: 一个由编辑元素限定的,拥有明确定义的输入,输出特生的程序实体 (2)抽象细化abstractionrefinement 抽象使控制复杂性的基本策略之一 抽象是分层次的,越高层抽象程度越高,越到细节抽象层次越低 (3)信息隐藏information hiding 问题: 为了得到最好的一组模块,该如何分解呢? 原则:——信息隐藏 一个模块内部(信息数据和过程)对于不需要了解这些信息的模块来说,是不能访问的 只有为了完成软件的总体功能而必须在模块间交换的信息,才容许在模块间交换 目的: 提高模块的独立性,维护、修改模块时尽可能避免把错误扩散到其他模块 (4)软件复用 充分利用已有的现成构件,不必一切从头开始 Design with reuse, design for reuse 4.3模块化设计(module design) 4.3.1分解(decomposition) 4.3.2模块独立性(module independence) 4.3.3 自顶向下(top—down design) 自底向上(bottom—up design) 4.3.1分解和模块化(Partitioning and Modularity) 背景: 7 2原理 普通人分辩或记忆同一类信息的不同品种或等级的数量一般不超过5~9项 启发: 将一个复杂问题分解为较小的几个问题,能够减小问题的复杂度 问题的复杂度: C (P1+P2)C (P1)+C (P2) 解题需要的工作量: E (P1+P2)E (P1)+E (P2) 无限制的分解问题,工作量是否越来越小? 分解分为两个方向 水平分解(Horizontal partitioning) 垂直分解(Vertical partitioning) 水平分解——功能分解 为系统每个主要功能定义一个分支,称为控制模块如黄色的模块 最简单的水平分解是分为以下三部分: Input,data transformation,output 优点: 使系统易于测试、维护,扩展 减少边界影响的传播(side effects,内部的修改,对整体结构的影响小) 缺点: 会引起大量的数据通过模块接口传递,因为主要功能彼此分离,彼此要传递数据 使程序的整体控制复杂一些,在系统需要迅速从一个模块移动到另一个模块时 垂直分解 控制(决策))和具体工作自顶向下分配 顶层的模块执行控制功能和一小部分处理 底层的模块象worker一样完成全部的输入、计算和数据处理工作 高低模块彼此影响程度 高层控制模块的变动容易把边界影响传播到低级从属模块 低级模块却很少向高层控制模块传播边界影响 如:底层模块具体的输入,输出和计算的变更很难影响到 整体的程序结构 4.3.2模块独立性module independence 模块独立性——模块分解所必须遵循的准则! 内涵: 设计软件结构时,使每个模块具有一个相对独立的子功能 且与其他模块没有过多联系 模块独立性的度量 内聚(cohesion)——模块内部各成分之间的联系
您可能关注的文档
最近下载
- 2025《麻江县蓝莓产业发展现状调研分析报告》4900字.docx
- 2026年国网安全管理方案.docx VIP
- 2025年北京师范大学学科教学培养方案 .pdf VIP
- 初级消防试题及答案大全.docx VIP
- 核医学教学课件:血液和淋巴显像.ppt VIP
- 重庆市各地方周氏支族源流(1-170支族).doc VIP
- 建筑工程质量管理体系流程图.docx
- 淋巴系统核医学检查课件.ppt VIP
- (高清版)B-T 6003.1-2022 试验筛 技术要求和检验 第1部分:金属丝编织网试验筛.pdf VIP
- (已压缩)TUCST007-2020房屋建筑与市政基础设施工程施工安全风险评估技术标准.docx VIP
原创力文档

文档评论(0)