河北经贸软件工程——结构化设计方法.ppt
《河北经贸软件工程——结构化设计方法.ppt》由会员分享,可在线阅读,更多相关《河北经贸软件工程——结构化设计方法.ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、河北经贸软件工程河北经贸软件工程结构化设计方法结构化设计方法引言引言引言引言 结构化开发方法(结构化开发方法(结构化开发方法(结构化开发方法(Structured Developing MethodStructured Developing Method)是现有是现有是现有是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点的软件开发方法中最成熟,应用最广泛的方法,主要特点的软件开发方法中最成熟,应用最广泛的方法,主要特点的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。是快速、自然和方便。是快速、自然和方便。是快速、自然和方便。结构化开发方法由结构化分析方法(结构化开
2、发方法由结构化分析方法(结构化开发方法由结构化分析方法(结构化开发方法由结构化分析方法(SASA法)、结构化设计法)、结构化设计法)、结构化设计法)、结构化设计方法(方法(方法(方法(SDSD法)及结构化程序设计方法(法)及结构化程序设计方法(法)及结构化程序设计方法(法)及结构化程序设计方法(SPSP法)构成的。法)构成的。法)构成的。法)构成的。结构化设计方法结构化设计方法结构化设计方法结构化设计方法(SD SD 法法法法 Structured Design Structured Design)是结构化开发)是结构化开发)是结构化开发)是结构化开发方法的核心,与方法的核心,与方法的核心,与
3、方法的核心,与SASA法,法,法,法,SPSP法密切联系,法密切联系,法密切联系,法密切联系,主要完成软件系统主要完成软件系统主要完成软件系统主要完成软件系统的总体结构设计。的总体结构设计。的总体结构设计。的总体结构设计。面向数据流的设计方法又称结构化设计。面向数据流的设计方法又称结构化设计。面向数据流的设计方法又称结构化设计。面向数据流的设计方法又称结构化设计。传统的结构化软件设计有两种基本方法:(1)面向行为的设计 如:面向数据流的设计方法基于数据处理过程建立软件结构,也称为结构化设计方法(SD)。(2)面向数据的设计 如:Jackson(JSD)设计方法基于输入/输出数据结构设计软件结构
4、。结构化设计方法概述设计先于编码”,这是软件工程“推迟实现”基本原则的又一体现。结构化设计方法(Structured Design,SD)是基于模块化、自顶向下细化、结构化程序设计等程序设计技术基础上发展起来的。结构化设计方法用模块结构图来表达程序模块之间的关系。软件设计分为两个阶段:概要设计详细设计概要设计概要设计也称总体设计,确定软件的结构以及各组成成分(子系统或模块)之间的相互关系。概要设计的主要任务是:将系统划分成模块;决定每个模块的功能;决定模块的调用关系;决定模块的界面,即模块间传递的数据。概要设计阶段的主要任务是通过数据流图来确定系统的结构图,并且对这些结构图进行分析和细化。在概
5、要设计阶段,结构化设计主要采用面向数据流的设计方法。详细设计详细设计就是在概要设计的基础上决定如何具体实现各模块的内部细节,直到对系统中的每个模块给出足够详细的过程描述。在编码实现阶段就可以完全按照详细设计的细节过程来映射到代码,最终实现整个系统。一般使用结构化程序设计工具来描述,如程序流程图(B-S流程图)、盒图(N-S流程图)、PAD图等。v数据流类型根据基本系统模型,数据信息必须以“外部”信息形式进入软件系统,经过内部处理以后再以“外部”的形式离开系统。基本思想:基本思想:基本思想:基本思想:将系统设计成由相对独立、单一功能的模块组成的结构。有三种数据流类型:变换型数据流事务型数据流混合
6、型数据流变换型数据流信息可以通过各种路径进入系统,信息在“流”入系统的过程中由外部形式变换成内部数据形式,这被标识为输入流。在软件的核心,输入数据经过一系列加工处理,这被标识为变换流。通过变换处理后的输出数据,沿各种路径转换为外部形式“流”出软件,这被标识为输出流。整个数据流体现了以输入、变换、输出的顺序方式,沿一定路径前行的特征,这就是变换型数据流,简称变换流。变换型数据流时间输入流 输出流变换流信息 信息沿输入通路进入系统,信息沿输入通路进入系统,同时由外部形式变换成内同时由外部形式变换成内部形式;部形式;进入系统的信息通过变换进入系统的信息通过变换中心;中心;经加工处理以后再沿输出经加工
7、处理以后再沿输出通路变换成外部形式离开通路变换成外部形式离开软件系统;软件系统;当数据流图具有这些特征当数据流图具有这些特征时,这种信息流就叫作变时,这种信息流就叫作变换流。换流。2023/4/3010变换流变换流变换流变换流输入输入输入输入变换变换变换变换输出输出输出输出事务型数据流当数据流经过一个具有“事务中心”特征的数据处理时,它可以根据事务类型从多条路径的数据流中选择一条活动通路。这种具有根据条件选择处理不同事务的数据流,就是事务型数据流,简称事务流。活动通路事务中心事务型数据流事务流事务流 原则上所有信息流都可以归结为变换流。当数据流图具有如图所示的形状时,这种数据流是“以事务为中心
8、的”。数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这类特殊的数据流,称为事务流,处理T称为事务中心,它完成下述任务:(1)接收输入数据(事务);(2)分析每个事务确定它的类型;(3)根据事务类型选取一条活动通路。混合型数据流在一个大型系统的DFD中,变换流和事务流往往会同时出现。例如,在一个事务型的DFD中,分支动作路径上的信息流也可能会体现出变换流的特征。这种具有将事务流和变换流组合出现,就是混合型数据流,简称混合流。混合型数据流1混合型数据流2变换3变换2传出数据传入数据事务中心变换1结果9.3 数据流设计方法面向数据流分析(DFA,Data
9、Flow Analysis)的设计是一种结构化的软件体系结构设计方法。面向数据流分析的设计能与大多数需求规格说明技术配合,可以使模块达到高内聚性(顺序性内聚)。这一设计技术是从数据流图(DFD)分析模型映射为软件模块组成结构设计的描述,所以也称为结构化设计(SD,Structured Design)方法。通常所说的结构化通常所说的结构化设计方法设计方法(简称简称SD方法方法),也就是基于,也就是基于数据流的设计方法。数据流的设计方法。目标系统的目标系统的DFD SD目标系统的目标系统的SC数据流映射步骤复查基本系统模型,并精化系统数据流图;分析数据流类型,确定数据流具有变换流特征还是事务流特征
10、:如果是变换流特征,确定输入流和输出流的边界(也分别称为最高输入/输出抽象点),输入流边界和输出流边界之间就是变换流,也称为“变换中心”。变换流加工处理的是某些形式的内部数据;如果是事务流特征,则可确定一个接收分支和一个发送分支。其中发送分支包含一个“事务中心”和各个事务动作流;采用自顶向下、逐步求精的方式完成模块分解,确定相应的软件组成结构;根据模块独立性原理和运用设计度量标准,对导出的软件结构进行优化。从 DFD 图导出 SC图的步骤开 始细化修改SRS中的DFD图判断DFD图的结构类型 是变换型吗?F事务分析变换分析完善SC 图T对最终的SC 图进行评审结束变换流设计(变换分析)变换分析
11、是一系列设计步骤的总称,经过这些步骤把具有变换流特点的数据流图按预先确定的模式映射成软件结构。变换流设计的要点是分析数据流图,确定输入流、输出流边界,根据输入、变换、输出三个数据流分支将软件映射成一个标准的“树型”体系结构。在有多个输入流和多个输出流时,应分别找出各个输入流和输出流的边界,即最高抽象点,然后分别连接这些输入流的最高抽象点和输出流的最高抽象点,分别形成输入边界和输出边界。检查顺序(物理输入)检查合理性扩充代码核对检查和修改压缩代码配检查和(逻辑输入)(逻辑输出)输输 入入主加工主加工输输 出出卡 片 旧文件(物理输出)新文件中心变换型中心变换型(transform center(
12、transform center)变换分析变换分析变换分析变换分析其特点是:其特点是:DFDDFD图可以明显分为图可以明显分为“输入输入-处理处理-输出输出”三部分。三部分。确定主加工及逻辑输入确定主加工及逻辑输入确定主加工及逻辑输入确定主加工及逻辑输入/输出输出输出输出 主主加加工工 描描述述了了系系统统的的主主要要功功能能、特特征征。其其特特点点是是:输输入入/输出数据流较多,往往主加工不止一个。输出数据流较多,往往主加工不止一个。逻辑输入逻辑输入/输出输出 是指输入是指输入/输出主加工的数据流。输出主加工的数据流。输入流输入流 是把物理输入转换为逻辑输入的数据流。是把物理输入转换为逻辑输
13、入的数据流。输出流输出流 是将逻辑输出转换为物理输出的数据流。是将逻辑输出转换为物理输出的数据流。进行一级分解进行一级分解进行一级分解进行一级分解,设计上层模块设计上层模块设计上层模块设计上层模块 为为每每个个输输入入设设计计一一个个输输入入模模块块,为为每每个个输输出出设设计计一一个个输输出出模模块,同时为每个主加工设计一个处理模块。块,同时为每个主加工设计一个处理模块。FDC中心中心加工加工2号号加工加工3号号加工加工1号号加工加工4号号加工加工ABE 输输 入入流流转换流转换流输输 出出 流流 输输 入入流流转换流转换流输输 出出 流流MCICTCOCCDDCICTCO 变换分析技术变换
14、分析技术变换分析 进行二级分解,设计中下层模块进行二级分解,设计中下层模块进行二级分解,设计中下层模块进行二级分解,设计中下层模块 这这一一步步的的工工作作是是自自顶顶向向下下,逐逐步步细细化化,为为第第一一层层的的每每一一个个输输入入模模块块、输输出出模模块块、处处理理模模块块设设计计它它们们的的从从属属模模块块,设设计计下下层层模模块块的的顺序是任意的。但一般是先设计输入模块的下层模块。顺序是任意的。但一般是先设计输入模块的下层模块。处理C取B转换B转换D送EDDCCMCICTCOCCDDDCCDBBEE 进一步细化进一步细化进一步细化进一步细化取A转换A转换E送FAABFFEDC中心中心
15、加工加工2号号加工加工3号号加工加工1号号加工加工4号号加工加工AB E 输输 入入流流转换流转换流输输 出出 流流转换流转换流F 利用启发规则优化结构利用启发规则优化结构利用启发规则优化结构利用启发规则优化结构第一级分解的方法第一级分解的方法第二级分解的方法第二级分解的方法第一次分解文件单词数目统计读取和验证文件名统计单词数目格式化和显示单词数实例:实例:输入流边界 输出流边界有效的文件名单词总数格式化单词数验证文件名统计单词数格式化单词数读文件名文件名单词总数显示单词数文件名文件单词数目统计读取和验证文件名统计单词数目格式化和显示单词数格式化单词数显示单词数读文件名验证文件名第二次分解事务
16、流设计(事务分析)事务流分析设计是把事务流映射成包含一个接收分支和一个发送分支的软件结构。接收分支的映射方法和变换流设计映射出输入结构的方法相似,即从事务中心的边界开始,把沿着接收流通路的处理映射成一个个模块。发送分支结构包含了一个分类控制模块和它下层的各个动作模块。数据流图的每一个事务动作流路径应映射成与其自身信息流特征相一致的结构。分类报名付款注销查询复审事务处理型事务处理型(transaction)(transaction)事务分析事务分析事务分析事务分析这类数据流图可看成是对一个数据经过某种这类数据流图可看成是对一个数据经过某种加工后,按加工的结果选择一个输出数据流继续加工后,按加工的
17、结果选择一个输出数据流继续执行的处理。执行的处理。确确确确定定定定流流流流界界界界;首首先先从从数数据据流流图图中中找找出出事事务务流流、事事务务处处理理中中心心和和事事务路径。务路径。对对 应应 模模 块块 图图原原 始始 的的 数数 据据 流流 图图IP1P2P3事物流事物流事务中心事务中心 事务处理事务处理事务控制接受事务发送事务P1P2P3进进进进行行行行一一一一级级级级分分分分析析析析,设设设设计计计计上上上上层层层层模模模模块块块块;对对事事务务中中心心设设计计“事事物物控控制制”模模块块;对对事事物物流流应应设设计计“接接受受事事物物”模模块块;对对事事务务路路径径,应应设设计计
18、“发发送控制送控制”模块。模块。进进进进行行行行二二二二级级级级分分分分解解解解,设设设设计计计计中中中中下下下下层层层层模模模模块块块块;接接受受分分支支,用用类类似似于于变变换换处处理理型型数数据据流流图图中中对对输输入入数数据据流流的的方方法法设设计计中中下下层层。对对于于发发送送分分支支,在在发发送送控控制制模模块块下下为为每每条条事事务务路路径径设设计计一一个个事事务务处处理理模模块块,这这一一层层称称为事务层。为事务层。事务分析技术事务分析技术事务分析事务分析的映射方法事务流设计事务选择确定事务类型审计记录 事务1事务2 事务3 事务4审计信息事务5更新事务v有效事务查询更新事务w
19、有效事务存款更新事务x有效事务取款更新事务y有效事务转账更新事务z有效事务修改密码ATM机处理事务主控调度器更新文件查询编辑事务分析器事务选择存款转账取款修改密码ATM机系统结构映射成映射成混合流设计读入数据判别 订货处理 订货输入 提货发票 进货输入 库存修改 进货票据 订单记录 分析统计生成统计表映射成映射成 设计优化应该力求做到在有效的模块化的前提下使用最少量的模块,以及在能够满足信息要求的前提下使用最简单的数据结构。对于时间是决定性因素的应用场合,可能有必要在详细设计阶段,也可能在编写程序的过程中进行优化。软件开发人员应该认识到,程序中相对说比较小的部分(典型地,10%20%),通常占
20、用全部处理时间的大部分(50%80%)。设计优化用下述方法对时间起决定性作用的软件进行优化是合理的:在不考虑时间因素的前提下开发并精化软件结构;在详细设计阶段选出最耗费时间的那些模块,仔细地设计它们的处理过程(算法),以求提高效率;使用高级程序设计语言编写程序;在软件中孤立出那些大量占用处理机资源的模块;必要时重新设计或用依赖于机器的语言重写上述大量占用资源的模块的代码,以求提高效率。上述优化方法遵守了一句格言:“先使它能工作,然后再使它快起来。”9.4 面向数据的设计大多数软件本质上都是数据信息处理系统,而数据信息都有清楚的层次结构,即输入数据、内部存储信息、输出数据都可能有独特的数据结构。
21、面向数据的设计原理就是根据软件操作的数据结构设计软件。适合于总体设计和详细设计“合而为一”的软件设计。面向数据的设计技术最常用的有Jackson方法(Jackson Structured Design,JSD)由数据结构导出它的程序结构是Jackson方法的基本思想。Jackson图Jackson图是Jackson方法分析和设计最有效的表达手段,用它既可以描述问题的数据结构,也可以描述软件的程序结构。Jackson图的优点是便于表示层次结构,利于结构自顶向下分解,形象直观、可读性好。Jackson方法用某种形式的伪码给出程序的过程性描述。(a)顺序结构 (b)选择结构 (c)可选结构 (d)重
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 河北 经贸 软件工程 结构 设计 方法
限制150内