软件工程第五章 概要设计

上传人:伴*** 文档编号:240455811 上传时间:2024-04-11 格式:PPT 页数:16 大小:100.50KB
返回 下载 相关 举报
软件工程第五章 概要设计_第1页
第1页 / 共16页
软件工程第五章 概要设计_第2页
第2页 / 共16页
软件工程第五章 概要设计_第3页
第3页 / 共16页
点击查看更多>>
资源描述
第五章第五章 概要设计概要设计5.1 概要设计的任务及目标概要设计的任务及目标5.2 概要设计的概念和原理概要设计的概念和原理5.3 设计准则设计准则5.4 概要设计的常用方法及工具概要设计的常用方法及工具5.1 概要设计的任务及目标概要设计的任务及目标5.1.1概要设计的任务概要设计的任务把总任务分解为许多基本的、具体的任务。这些具体任务合把总任务分解为许多基本的、具体的任务。这些具体任务合理地组织起来构成总任务,称为总体设计结构,又称为概要理地组织起来构成总任务,称为总体设计结构,又称为概要设计结构,其基本任务是设计结构,其基本任务是:将系统划分为模块,决定每个模块将系统划分为模块,决定每个模块的功能,决定模块的调用关系,决定模块的界面,以及模块的功能,决定模块的调用关系,决定模块的界面,以及模块间信息的传递。间信息的传递。概要结构设计是系统开发过程中很重要的一步。系统的质量概要结构设计是系统开发过程中很重要的一步。系统的质量及一些整体特性基本上就是在这个阶段决定的。系统越大,及一些整体特性基本上就是在这个阶段决定的。系统越大,概要结构设计的影响越大。概要结构设计的影响越大。下一页返回5.1 概要设计的任务及目标概要设计的任务及目标5.1.2概要设计的目标概要设计的目标McGlanghlin给出在将需求转换为设计时判断设计好坏的给出在将需求转换为设计时判断设计好坏的3条特征。条特征。(1)设计必须实现分析模型中描述的所有显式需求,必须满足设计必须实现分析模型中描述的所有显式需求,必须满足用户希望的所有隐式需用户希望的所有隐式需(2)设计必须是可读、可理解的,使得将来易于编程、易于测设计必须是可读、可理解的,使得将来易于编程、易于测试并易于维打试并易于维打。(3)设计应从实现角度出发,给出与数据、功能、行为相关的设计应从实现角度出发,给出与数据、功能、行为相关的软件全貌。软件全貌。上一页返回5.2 概要设计的概念和原理概要设计的概念和原理5.2.1软件结构和过程软件结构和过程概要设计过程要完成的工作概要设计过程要完成的工作(1)制定规范。制定规范。(2)软件系统结构的总体设计。软件系统结构的总体设计。(3)处理方式设计。处理方式设计。(4)数据结构设计。数据结构设计。(5)可靠性设计。可靠性设计。(6编写概要设计阶段的文档。编写概要设计阶段的文档。(7)概要设计评审。概要设计评审。下一页返回5.2 概要设计的概念和原理概要设计的概念和原理(1)概要设计的概念概要设计的概念自顶向下,逐步细化。自顶向下,逐步细化。(2)软件结构。软件结构包括两部分软件结构。软件结构包括两部分:程序的模块结构和数据程序的模块结构和数据的结构。的结构。(3)程序结构。程序结构表明了程序各个部件程序结构。程序结构表明了程序各个部件(模块模块)的组织情的组织情况,是软件的过程表示。况,是软件的过程表示。软件总体设计的过程如下。软件总体设计的过程如下。从从DFD出发进行任务分解,不同的划分方法即对应不同的出发进行任务分解,不同的划分方法即对应不同的方案。方案。选择最佳方案并制订详细的实现计划。选择最佳方案并制订详细的实现计划。上一页 下一页返回5.2 概要设计的概念和原理概要设计的概念和原理5.2.2模块化模块化1.模块化设计原理模块化设计原理模块是指具有相对独立性的,由数据说明,执行语句等程序模块是指具有相对独立性的,由数据说明,执行语句等程序对象构成的集合。程序中的每个模块都击要单独命名,通过对象构成的集合。程序中的每个模块都击要单独命名,通过名字可实现对指定模块的访问。软件系统的层次结构正是模名字可实现对指定模块的访问。软件系统的层次结构正是模块化的具体体现。就是说,整个软件被划分成若十单独命名块化的具体体现。就是说,整个软件被划分成若十单独命名和可编址的部分,称之为模块。和可编址的部分,称之为模块。一个系统,即使不能按模块划分,必须以整体实现,但仍然一个系统,即使不能按模块划分,必须以整体实现,但仍然可以按照模块化的概念进行设计,只是程序可以逐行编写,可以按照模块化的概念进行设计,只是程序可以逐行编写,不划分成了程序。虽然从程序上看不出模块,但在程序设计不划分成了程序。虽然从程序上看不出模块,但在程序设计上应用了模块化原理,这样的程序具有模块化的优点。上应用了模块化原理,这样的程序具有模块化的优点。上一页 下一页返回5.2 概要设计的概念和原理概要设计的概念和原理2.抽象抽象抽象抽象:忽略细节,分层理解问题,自顶向下层逐层加细。忽略细节,分层理解问题,自顶向下层逐层加细。(1)过程的抽象。过程的抽象。(2)数据抽象。数据抽象。(3)控制抽象。控制抽象。3.信息隐蔽信息隐蔽由由painas方法提倡的信息隐蔽是指,每个模块的实现细节对方法提倡的信息隐蔽是指,每个模块的实现细节对于其他模块来说是隐蔽的。于其他模块来说是隐蔽的。上一页 下一页返回5.2 概要设计的概念和原理概要设计的概念和原理4.模块独立性模块独立性模块的独立性,是指软件系统中每个模块只涉及软件要求的模块的独立性,是指软件系统中每个模块只涉及软件要求的具体的了功能,而和软件系统中其他的模块的接口是简单的。具体的了功能,而和软件系统中其他的模块的接口是简单的。一般采用两个准则度量模块独立性,即模块间的藕合和模块一般采用两个准则度量模块独立性,即模块间的藕合和模块的内聚。的内聚。(1)藕合性。耦合是模块之间的相对独立性的度量,它取决于藕合性。耦合是模块之间的相对独立性的度量,它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。息通过接口。(2)内聚性。内聚是模块功能强度内聚性。内聚是模块功能强度(一个模块内部各个元素彼一个模块内部各个元素彼此结合的紧密程度此结合的紧密程度)量量。上一页返回5.3 设计准则设计准则1.抽象化抽象化对软件进行模块设计的时候,可以有不同的抽象层次。在最对软件进行模块设计的时候,可以有不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言描述问题的高的抽象层次上,可以使用问题所处环境的语言描述问题的解法。而在较低的抽象层次上,则采用过程化的方法。解法。而在较低的抽象层次上,则采用过程化的方法。2.自顶向下,逐步细化自顶向下,逐步细化这是由这是由Niklaus Wirth提出的设计策略。将软件的体系结构提出的设计策略。将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确化,直到用程序设计语言的语句能够实现为止,从而最后确立整个体系结构。立整个体系结构。下一页返回5.3 设计准则设计准则3.模块化模块化 软件系统的层次结构正是模块化的具体体现。就是说,整个软件系统的层次结构正是模块化的具体体现。就是说,整个软件被划分成若十单独命名和可编址的部分,称之为模块。软件被划分成若十单独命名和可编址的部分,称之为模块。这些模块可以被组装起来以满足整个问题的需求。这些模块可以被组装起来以满足整个问题的需求。4.控制层次控制层次控制层次也叫做程序结构,它表明了程序构件控制层次也叫做程序结构,它表明了程序构件(模块模块)的组织的组织情况。情况。5.结构划分结构划分程序结构可以按水平方向或垂直方向进行划分。程序结构可以按水平方向或垂直方向进行划分。上一页 下一页返回5.3 设计准则设计准则6.数据结构数据结构数据结构是数据的各个元素之间的逻辑关系的一种表示。数数据结构是数据的各个元素之间的逻辑关系的一种表示。数据结构设计应确定数据的组织、存取方式、相关程度以及信据结构设计应确定数据的组织、存取方式、相关程度以及信息的不同处理方法。息的不同处理方法。7.软件过程软件过程程序结构描述了整个程序的控制层次关系和各个部分的接口程序结构描述了整个程序的控制层次关系和各个部分的接口清况。清况。上一页返回5.4 概要设计的常用方法及工具概要设计的常用方法及工具5.4.1面向数据流的设计方法面向数据流的设计方法结构化设计方法是在模块化、自顶向下细化以及结构化程序结构化设计方法是在模块化、自顶向下细化以及结构化程序设计等程序设计技术基础上发展起来的。该方法实施的要点设计等程序设计技术基础上发展起来的。该方法实施的要点是是:建立数据流的类型建立数据流的类型;指明流的边界指明流的边界;将数据流图映射将数据流图映射到程序结构到程序结构;用用“因子化因子化”方法定义控制的层次结构方法定义控制的层次结构;用用设计测量和一些启发式规则对结构进行细化。设计测量和一些启发式规则对结构进行细化。1.在系统结构图在系统结构图(sc)中的模块中的模块在系统结构图中不能再分解的底层模块为原子模块。如果一在系统结构图中不能再分解的底层模块为原子模块。如果一个软件系统的全部实际加工个软件系统的全部实际加工(数据计算或处理数据计算或处理)都由底层的原都由底层的原子模块来完成,而其他所有非原子模块仅执行控制或协调功子模块来完成,而其他所有非原子模块仅执行控制或协调功能,这样的系统就是完全因子分解的系统。能,这样的系统就是完全因子分解的系统。下一页返回5.4 概要设计的常用方法及工具概要设计的常用方法及工具2.变换流与变换型系统结构变换流与变换型系统结构变换型数据处理问题的工作过程大致分为变换型数据处理问题的工作过程大致分为3步,即取得数据,步,即取得数据,变换数据和给出数据。变换数据和给出数据。3.事务流与事务型系统结构图事务流与事务型系统结构图事务型数据处理问题的工作机理是接受一项事务,根据事务事务型数据处理问题的工作机理是接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。出结果。4.变换映射变换映射变换映射是体系结构设计的一种策略。运用变换映射方法建变换映射是体系结构设计的一种策略。运用变换映射方法建立初始的变换型系统结构图,然后对它做进一步的改进,最立初始的变换型系统结构图,然后对它做进一步的改进,最后得到系统的最终结构图。后得到系统的最终结构图。上一页 下一页返回5.4 概要设计的常用方法及工具概要设计的常用方法及工具5.事务映射事务映射在很多应用中,存在某种作业数据流,它可以引发一个或多在很多应用中,存在某种作业数据流,它可以引发一个或多个处理。这种数据流就叫做事务。与变换映射类似,事务映个处理。这种数据流就叫做事务。与变换映射类似,事务映射也是从分析数据流图开始,自顶向下,逐步分解,建立系射也是从分析数据流图开始,自顶向下,逐步分解,建立系统结构图。所不同的是由数据流图映射成的系统结构图不同。统结构图。所不同的是由数据流图映射成的系统结构图不同。5.4.2面向数据结构的分析设计方法面向数据结构的分析设计方法Jackson方法是一种典型的面向数据结构的分析与设计方法。方法是一种典型的面向数据结构的分析与设计方法。早期的早期的Jackson方法用于小系统的设计,称为方法用于小系统的设计,称为Jackson结结构程序设计方法,简称构程序设计方法,简称JSP方法。方法。上一页 下一页返回5.4 概要设计的常用方法及工具概要设计的常用方法及工具1.JSD方法的步骤方法的步骤Jackson系统开发方法把分析的重点放在构造与系统相关联系统开发方法把分析的重点放在构造与系统相关联的现实世界,并建立现实世界的信息域的模型上。使用的现实世界,并建立现实世界的信息域的模型上。使用JSD方法的步骤如下。方法的步骤如下。(1)实体动作分析实体动作分析(2)实体结构分析实体结构分析(3)定义初始模型定义初始模型(4)功能描述功能描述(S)决定系统时间特性决定系统时间特性(6)实现实现上一页 下一页返回5.4 概要设计的常用方法及工具概要设计的常用方法及工具2.Jackson程序设计方法程序设计方法JSPJSP的本质就是的本质就是“问题应当被分解为可以用问题应当被分解为可以用3种结构形式表示种结构形式表示的构件的层次结构。的构件的层次结构。”Jackson所说的所说的“结构形式结构形式”就是指顺就是指顺序、选择和重复,实际上,它们就是过程性构造,并成为结序、选择和重复,实际上,它们就是过程性构造,并成为结构化程序设计方法的基础。构化程序设计方法的基础。用用JSP方法得到的程序或进程结构图,一般都需要求精和优方法得到的程序或进程结构图,一般都需要求精和优化。因为这种方法是从输入、输出数据结构导出程序结构图,化。因为这种方法是从输入、输出数据结构导出程序结构图,因此,有些中间处理过程在结构图中反映不出来。在求精过因此,有些中间处理过程在结构图中反映不出来。在求精过程中,可以对结构图进行改进和细化,使之完整和易于实现。程中,可以对结构图进行改进和细化,使之完整和易于实现。上一页返回
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!