软件工程教学第4章概要设计课件.ppt
《软件工程教学第4章概要设计课件.ppt》由会员分享,可在线阅读,更多相关《软件工程教学第4章概要设计课件.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4章章 概要设计概要设计软件设计概述软件设计概述4.1概要设计的图形描述工具概要设计的图形描述工具4.2结构化设计方法概述结构化设计方法概述4.3本章小结本章小结4.44.1 4.1 软件设计概述软件设计概述4.1.1 软件设计的任务、目标和过程软件设计的任务、目标和过程4.1.2 软件设计原则软件设计原则4.1.1 软件设计的任务、目标和过程软件设计的任务、目标和过程1软件设计的任务软件设计的任务2软件设计的目标软件设计的目标3.软件设计的过程软件设计的过程1软件设计的任务软件设计的任务软件设计的输入是软件分析模型。软件分软件设计的输入是软件分析模型。软件分析模型中通过数据、功能和行
2、为模型所展析模型中通过数据、功能和行为模型所展示的软件需求的信息被传送给设计阶段,示的软件需求的信息被传送给设计阶段,产生数据产生数据/类设计、体系结构设计、接口设类设计、体系结构设计、接口设计、部件级设计。计、部件级设计。数据数据/类设计将分析模型变换成类的实现和软件实类设计将分析模型变换成类的实现和软件实现所需要的数据结构。数据结构是数据的各个元现所需要的数据结构。数据结构是数据的各个元素之间逻辑关系的一种表示。数据结构设计应确素之间逻辑关系的一种表示。数据结构设计应确定数据的组织、存取方式、相关程度以及信息的定数据的组织、存取方式、相关程度以及信息的不同处理方法。数据设计的过程包括:不同
3、处理方法。数据设计的过程包括:为在需为在需求分析阶段所确定的数据对象选择逻辑表示,需求分析阶段所确定的数据对象选择逻辑表示,需要对不同结构进行算法分析;要对不同结构进行算法分析;确定对逻辑数据确定对逻辑数据结构所必需的那些操作的程序模块,以便限制或结构所必需的那些操作的程序模块,以便限制或确定各个数据设计决策的影响范围。确定各个数据设计决策的影响范围。(1)数据)数据/类设计类设计体系结构设计定义了软件的整体结构,由软件部体系结构设计定义了软件的整体结构,由软件部件、外部可见的属性和它们之间的关系组成。体件、外部可见的属性和它们之间的关系组成。体系结构设计为软件工程师提供了程序结构的全局系结构
4、设计为软件工程师提供了程序结构的全局视图。视图。(2)体系结构设计)体系结构设计接口设计描述了软件内部、软件和协作系统之间接口设计描述了软件内部、软件和协作系统之间以及软件同人之间的通信方式。接口设计主要包以及软件同人之间的通信方式。接口设计主要包括括3方面内容:设计软件模块间的接口、设计模方面内容:设计软件模块间的接口、设计模块与其他非人的信息生产者和消费者之间的外部块与其他非人的信息生产者和消费者之间的外部即可以及用户与计算机间的人机接口。即可以及用户与计算机间的人机接口。(3)接口设计)接口设计部件级设计将软件体系结构的结构性元素变换为部件级设计将软件体系结构的结构性元素变换为对软件部件
5、的过程性描述。类为基础的模型、流对软件部件的过程性描述。类为基础的模型、流模型、行为模型等模型中得到的信息是部件设计模型、行为模型等模型中得到的信息是部件设计的基础。的基础。(4)部件级设计)部件级设计2软件设计的目标软件设计的目标软件设计过程的目标包括:设计必须实现软件设计过程的目标包括:设计必须实现分析模型中描述的所有显式需求,必须满分析模型中描述的所有显式需求,必须满足用户希望的所有隐式需求;设计必须是足用户希望的所有隐式需求;设计必须是可读、可理解的,使得将来易于编程、易可读、可理解的,使得将来易于编程、易于测试、易于维护;设计应从实现角度出于测试、易于维护;设计应从实现角度出发,给出
6、与数据、功能、行为相关的软件发,给出与数据、功能、行为相关的软件全貌。全貌。3软件设计的过程软件设计的过程(1)制定规范。)制定规范。(2)体系结构和接口设计。)体系结构和接口设计。(3)数据)数据/类设计。类设计。(4)部件级(过程)设计。)部件级(过程)设计。(5)编写设计文档。)编写设计文档。(6)设计评审。)设计评审。4.1.2 软件设计原则软件设计原则在将软件的需求规约转换为软件设计的过在将软件的需求规约转换为软件设计的过程中,软件的设计人员通常采用模块化、程中,软件的设计人员通常采用模块化、抽象、信息隐藏和模块独立等原则。抽象、信息隐藏和模块独立等原则。1模块化模块化模块化即把软件
7、按照规定原则,划分为一模块化即把软件按照规定原则,划分为一个个较小的、相互独立的但又相互关联的个个较小的、相互独立的但又相互关联的部件,是系统分解和抽象的过程。模块,部件,是系统分解和抽象的过程。模块,又称构件,是能够单独命名并独立地完成又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合。例如高级语一定功能的程序语句的集合。例如高级语言中的过程、函数、子程序等都可作为模言中的过程、函数、子程序等都可作为模块。块。2抽象抽象抽象是在软件设计的规模逐渐增大的情况抽象是在软件设计的规模逐渐增大的情况下,控制复杂性的基本策略。抽象的过程下,控制复杂性的基本策略。抽象的过程是从特殊到一般的过程
8、,上层概念是下层是从特殊到一般的过程,上层概念是下层概念的抽象,下层概念是上层概念的精化概念的抽象,下层概念是上层概念的精化和细化。当我们采用模块化的方法来解决和细化。当我们采用模块化的方法来解决问题时,可以提出不同层次的抽象。问题时,可以提出不同层次的抽象。软件设计中的主要抽象手段有:过程抽象软件设计中的主要抽象手段有:过程抽象和数据抽象。和数据抽象。3信息隐藏信息隐藏信息隐藏原理认为:模块所包含的信息信息隐藏原理认为:模块所包含的信息(过程和数据)对于其他模块来说应该是(过程和数据)对于其他模块来说应该是隐藏的。通过信息隐藏,则可以定义和实隐藏的。通过信息隐藏,则可以定义和实施对模块的过程
9、细节和局部数据结构的存施对模块的过程细节和局部数据结构的存取限制。取限制。4模块独立模块独立所谓模块独立是指:模块完成独立的功能所谓模块独立是指:模块完成独立的功能并且与其他模块的接口简单,符合信息隐并且与其他模块的接口简单,符合信息隐藏,模块间关联和依赖程度尽可能小。模藏,模块间关联和依赖程度尽可能小。模块独立性是模块化、抽象和信息隐藏的直块独立性是模块化、抽象和信息隐藏的直接结果。接结果。(1)内聚)内聚内聚是一个模内聚是一个模块内部各个元素彼此内部各个元素彼此结合的合的紧密程度的度量,它是信息密程度的度量,它是信息隐藏概念的一藏概念的一种自然种自然扩展。一个内聚程度高的模展。一个内聚程度
10、高的模块应当当只完成只完成软件件过程中的一个程中的一个单一的任一的任务。一。一般模般模块的内聚性分的内聚性分为7种种类型。型。图4-2 内聚的种类(2)耦合)耦合耦合是模耦合是模块之之间的相的相对独立性(互相独立性(互相连接接的的紧密程度)的度量。耦合取决于各个模密程度)的度量。耦合取决于各个模块之之间接口的复接口的复杂程度、程度、调用模用模块的方式的方式以及通以及通过接口的信息接口的信息类型。型。一般模一般模块直接可能的耦合方式有直接可能的耦合方式有7种种类型。型。图4-3 耦合的种类4.2 4.2 结构化分析方法结构化分析方法4.2.1 层次图层次图4.2.2 HIPO图图4.2.3 结构
11、图结构图4.2.1 层次图层次图层次图用来描绘软件的层次结构,特别适层次图用来描绘软件的层次结构,特别适合于在自顶向下设计时使用。层次图采用合于在自顶向下设计时使用。层次图采用树状层次结构来描述系统中各个组成部分树状层次结构来描述系统中各个组成部分之间的关系。之间的关系。3.2.2 HIPO图图HIPO(Hierarchy Plus Input/Processing/Output)图是美国)图是美国IBM公司在公司在20世纪世纪70年代发展起来的表示软件系统结构的工年代发展起来的表示软件系统结构的工具。它既可以描述软件总的模块层次结构具。它既可以描述软件总的模块层次结构H图(层次图),又可以描
12、述每个模块输入图(层次图),又可以描述每个模块输入/输出数输出数据、处理功能及模块调用的详细情况据、处理功能及模块调用的详细情况IPO图。图。HIOP图是以模块分解的层次性以及模块内部输图是以模块分解的层次性以及模块内部输入、处理、输出三大基本部分为基础建立的。入、处理、输出三大基本部分为基础建立的。1HIPO图的图的HH图实际上就是层次图。与上面介绍的层次图稍图实际上就是层次图。与上面介绍的层次图稍有不同的是,在有不同的是,在H图中除了最顶层的方框之外,图中除了最顶层的方框之外,其余方框都加了编号。第一层各模块的编号依次其余方框都加了编号。第一层各模块的编号依次为为1.0,2.0,3.0,;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 教学 概要 设计 课件
限制150内