第四章 软件设计概述2014简化版.ppt
《第四章 软件设计概述2014简化版.ppt》由会员分享,可在线阅读,更多相关《第四章 软件设计概述2014简化版.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 软件设计概述软件设计概述4.1 4.1 软件设计的任务软件设计的任务4.24.2软件设计的基本原理概念软件设计的基本原理概念4.34.3模块化设计模块化设计4.3.1分解和模块化4.3.2模块独立性内聚耦合 需求分析:对目标系统的数据、功能和行为建模需求分析:对目标系统的数据、功能和行为建模v设计:把分析阶段的需求说明转换成设计文档。设计:把分析阶段的需求说明转换成设计文档。根据设计结果可进行下一步的编制代码工作了根据设计结果可进行下一步的编制代码工作了 将需求将需求 软件的表现形式软件的表现形式v输出文档:输出文档:软件设计文档软件设计文档v两种主流设计方法:两种主流设计方法:
2、结构化软件设计结构化软件设计面向对象的软件设计面向对象的软件设计4.1 4.1 软件设计的阶段和任务软件设计的阶段和任务v两阶段四任务:两阶段四任务:概要设计文档概要设计文档详细设计文档详细设计文档详细设计详细设计(4.过程设计过程设计详细设计每个模块的算法和数据结构详细设计每个模块的算法和数据结构)概要设计概要设计(总体设计总体设计根据需求确定软件和数据总体框架根据需求确定软件和数据总体框架1.总体结构设计(体系结构总体结构设计(体系结构设计)设计)2.数据设计数据设计3.接口设计接口设计 4.24.2软件设计的基本概念软件设计的基本概念1)1)模块(模块(modulemodule)与构件与
3、构件(component)(component)模块:定义输入、输出和特性的程序实体模块:定义输入、输出和特性的程序实体构件:可重复使用的软件组件构件:可重复使用的软件组件2)2)抽象(抽象(abstractabstract)与细化与细化(refinement)(refinement)抽象:分层次考虑和处理问题抽象:分层次考虑和处理问题(数据和过程数据和过程)细化:从高到低的逐步分解过程细化:从高到低的逐步分解过程3)3)信息隐藏信息隐藏对其它模块隐藏模块内部的数据和过程对其它模块隐藏模块内部的数据和过程一个模块内部(信息数据和过程)对于不需要了解这些信息的模一个模块内部(信息数据和过程)对于
4、不需要了解这些信息的模块来说,是不能访问的块来说,是不能访问的只有为了完成软件的总体功能而必须在模块间交换的信息,才容只有为了完成软件的总体功能而必须在模块间交换的信息,才容许在模块间交换许在模块间交换4 4)软件复用)软件复用充分利用已有的现成构件,不必一切从头开始充分利用已有的现成构件,不必一切从头开始Design with reuse,design for reuse4.34.3模块化设计模块化设计(module design)(module design)4.3.14.3.1模块化模块化4.3.24.3.2分解(分解(decompositiondecomposition)4.3.34.
5、3.3模块独立性(模块独立性(module independencemodule independence)4.3.44.3.4自顶向下(自顶向下(topdown design)自底向上(自底向上(bottomup design)4.3.14.3.1模块模块modulemodulev模块化:模块化:把大型软件划分成一个个小的,相对独立又互相关联把大型软件划分成一个个小的,相对独立又互相关联的模块的模块每个模块完成一个子功能,这些模块集成起来就是构每个模块完成一个子功能,这些模块集成起来就是构成一个整体成一个整体v模块:模块:一个由编辑元素限定的,拥有明确定义的输入,输出特生的程序实体v分解分解
6、v模块化模块化4.3.24.3.2分解分解PartitioningPartitioningv启发:启发:将一个复杂问题分解为几个小问题,减少问题复杂度将一个复杂问题分解为几个小问题,减少问题复杂度v问题的复杂度:问题的复杂度:C(PC(P1 1+P+P2 2)C(P)C(P1 1)+C(P)+C(P2 2)v解题需要的工作量:解题需要的工作量:E(P1+PE(P1+P2 2)E(P)E(P1 1)+E(P)+E(P2 2)v无限制的分解问题,工作量是否越来越小?无限制的分解问题,工作量是否越来越小?模块数模块数接口成本接口成本最小成本区最小成本区M软软件件开开发发工工作作量量总成本总成本模块成
7、本模块成本n解决:权衡合理分解模块!P1P2v分解分为两个方向分解分为两个方向水平分解(水平分解(Horizontal partitioning)垂直分解(垂直分解(Vertical partitioning)模块模块 2 22.12.12.22.2模块模块 1 11.21.21.11.11.31.3模块模块 3 33.13.13.23.2主控模块水平分解垂直分解“Worker”modulesDecisionmakingmodules4.3.24.3.2模块独立性模块独立性module independencemodule independencev模块独立性模块独立性模块分解所必须遵循的准则
8、!模块分解所必须遵循的准则!v内涵:内涵:设计软件结构时,使每个模块具有一个相对独立的子设计软件结构时,使每个模块具有一个相对独立的子功能功能且与其他模块没有过多联系且与其他模块没有过多联系v模块独立性的度量模块独立性的度量内聚(cohesion)模块内部各成分之间的联系耦合(coupling)模块与其它模块间的联系v模块的独立性高模块的独立性高 高内聚,低耦合块内联系强 块间联系弱(一一)内聚内聚弱 强低内聚低内聚 中内聚中内聚 高内聚高内聚 偶然偶然性内性内聚聚逻辑逻辑性内性内聚聚时间时间性内性内聚聚过程过程性内性内聚聚通信通信性内性内聚聚顺序顺序性内性内聚聚功能功能性内性内聚聚n内聚度:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 软件设计概述2014简化版 第四 软件设计 概述 2014 简化
限制150内