软件工程第七章结构化方法幻灯片.ppt
《软件工程第七章结构化方法幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件工程第七章结构化方法幻灯片.ppt(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程课件第七章结构化方法第1页,共95页,编辑于2022年,星期三第七章第七章 结构化方法结构化方法l l7.1 7.1 概述概述l l7.2 7.2 结构化分析结构化分析l l7.3 7.3 数据流图数据流图l l7.4 7.4 数据字典数据字典l l7.5 7.5 加工逻辑的描述加工逻辑的描述l l7.6 7.6 结构化设计结构化设计第2页,共95页,编辑于2022年,星期三第八章第八章 结构化方法结构化方法l l课程的任务、目的和基本要求课程的任务、目的和基本要求 了解结构化的思想、结构化分析步骤了解结构化的思想、结构化分析步骤了解结构化的思想、结构化分析步骤了解结构化的思想、结构化
2、分析步骤 掌握数据流图、数据字典、加工逻辑、结掌握数据流图、数据字典、加工逻辑、结掌握数据流图、数据字典、加工逻辑、结掌握数据流图、数据字典、加工逻辑、结构化设计方法构化设计方法构化设计方法构化设计方法第3页,共95页,编辑于2022年,星期三 结构化开发方法结构化开发方法(Structured Developing(Structured Developing Method)Method)是现有的软件开发方法中最成熟是现有的软件开发方法中最成熟,应应用最广泛的方法用最广泛的方法,主要特点是快速、自然和方主要特点是快速、自然和方便。便。结构化开发方法由结构化分析方法(结构化开发方法由结构化分析方
3、法(SASA法)法)、结构化设计方法(、结构化设计方法(SDSD法)及结构化程序设法)及结构化程序设计方法(计方法(SPSP法)构成。法)构成。第七章第七章 结构化方法结构化方法7.1 7.1 概述概述第4页,共95页,编辑于2022年,星期三第七章第七章 结构化方法结构化方法7.2 7.2 结构化分析结构化分析l l7.2.1 7.2.1 自顶向下逐层分解的分析策略自顶向下逐层分解的分析策略l l7.2.2 7.2.2 描述工具描述工具l l7.2.3 SA7.2.3 SA分析步骤分析步骤第5页,共95页,编辑于2022年,星期三1.1.结构化分析法结构化分析法 结构化分析简称结构化分析简称
4、SASA,是面向数据流进行需,是面向数据流进行需求分析的方法,遵循自顶向下、逐步求精原求分析的方法,遵循自顶向下、逐步求精原则。则。第七章第七章 结构化方法结构化方法7.2.1 7.2.1 自顶向下逐层分解的分析策略自顶向下逐层分解的分析策略第6页,共95页,编辑于2022年,星期三2.SA2.SA法的基本思想法的基本思想 结构化分析方法的基本思想是结构化分析方法的基本思想是“分解分解”和和“抽象抽象”。第七章第七章 结构化方法结构化方法7.2.1 7.2.1 自顶向下逐层分解的分析策略自顶向下逐层分解的分析策略第7页,共95页,编辑于2022年,星期三3.3.3.3.分解分解分解分解 对于一
5、个复杂对于一个复杂对于一个复杂对于一个复杂的系统,为了将的系统,为了将的系统,为了将的系统,为了将复杂性降低到可复杂性降低到可复杂性降低到可复杂性降低到可以掌握的程度,以掌握的程度,以掌握的程度,以掌握的程度,可以把大问题分可以把大问题分可以把大问题分可以把大问题分解成若干小问题,解成若干小问题,解成若干小问题,解成若干小问题,然后分别解决。然后分别解决。然后分别解决。然后分别解决。第七章第七章 结构化方法结构化方法7.2.1 7.2.1 自顶向下逐层分解的分析策略自顶向下逐层分解的分析策略第8页,共95页,编辑于2022年,星期三4.4.抽象抽象 分解可以分层进行,即先考虑问题最本分解可以分
6、层进行,即先考虑问题最本质的属性,暂把细节略去质的属性,暂把细节略去,以后再逐层添以后再逐层添加细节,直至涉及到最详细的内容,这加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个系统的方法种用最本质的属性表示一个系统的方法就是就是“抽象抽象”。第七章第七章 结构化方法结构化方法7.2.1 7.2.1 自顶向下逐层分解的分析策略自顶向下逐层分解的分析策略第9页,共95页,编辑于2022年,星期三1 1、分层的、分层的数据流图数据流图DFDDFD图形工具图形工具2 2、数据词典数据词典DDDD3 3、描述加工逻辑的、描述加工逻辑的结构化语言结构化语言、判定表判定表及及判定树判定树第七章第七
7、章 结构化方法结构化方法7.2.2 7.2.2 描述工具描述工具第10页,共95页,编辑于2022年,星期三1 1、建立当前系统的物理模型、建立当前系统的物理模型 系统的物理模型就是现实环境的忠实写系统的物理模型就是现实环境的忠实写照,即将当前系统照,即将当前系统用系统流程图描述用系统流程图描述出来。出来。这样的表达与当前系统完全对应,因此用这样的表达与当前系统完全对应,因此用户容易理解。户容易理解。第七章第七章 结构化方法结构化方法7.2.3 SA7.2.3 SA分析步骤分析步骤第11页,共95页,编辑于2022年,星期三2 2、抽象出当前系统的逻辑模型、抽象出当前系统的逻辑模型 分析系统的
8、物理模型,抽象出其本质分析系统的物理模型,抽象出其本质的因素,排除次要因素,抽象出当前系的因素,排除次要因素,抽象出当前系统的逻辑模型。统的逻辑模型。第七章第七章 结构化方法结构化方法7.2.3 SA7.2.3 SA分析步骤分析步骤第12页,共95页,编辑于2022年,星期三3 3、建立目标系统的逻辑模型、建立目标系统的逻辑模型 分析目标系统与当前系统逻辑上的差别,分析目标系统与当前系统逻辑上的差别,找出需要改变的部分,将其抽象为找出需要改变的部分,将其抽象为“加工加工”,确定这个加工的外部环境和输入、,确定这个加工的外部环境和输入、输出。输出。第七章第七章 结构化方法结构化方法7.2.3 S
9、A7.2.3 SA分析步骤分析步骤第13页,共95页,编辑于2022年,星期三4 4、作进一步补充和优化、作进一步补充和优化 为了对目标系统作完整的描述,还需为了对目标系统作完整的描述,还需考虑人机界面、输入考虑人机界面、输入/输出格式和其它一输出格式和其它一些问题。些问题。第七章第七章 结构化方法结构化方法7.2.3 SA7.2.3 SA分析步骤分析步骤第14页,共95页,编辑于2022年,星期三第七章第七章 结构化方法结构化方法7.3 7.3 数据流图数据流图l l7.3.1 7.3.1 基本图形符号基本图形符号l l7.3.2 7.3.2 画数据流图画数据流图l l7.3.3 SA7.3
10、.3 SA方法的应用方法的应用第15页,共95页,编辑于2022年,星期三数据流图简称数据流图简称数据流图简称数据流图简称DFDDFDDFDDFD图图图图1 1 1 1、描述逻辑模型的图形工具、描述逻辑模型的图形工具、描述逻辑模型的图形工具、描述逻辑模型的图形工具 2 2 2 2、从数据传递和加工的角度,以图形的方式刻画、从数据传递和加工的角度,以图形的方式刻画、从数据传递和加工的角度,以图形的方式刻画、从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的传输变换过程。数据流从输入到输出的传输变换过程。数据流从输入到输出的传输变换过程。数据流从输入到输出的传输变换过程。3 3 3 3、
11、表示系统内部信息的流向,并表示系统的逻、表示系统内部信息的流向,并表示系统的逻、表示系统内部信息的流向,并表示系统的逻、表示系统内部信息的流向,并表示系统的逻辑处理功能。辑处理功能。辑处理功能。辑处理功能。4 4、可以用来表示一个系统或软件在任何层次、可以用来表示一个系统或软件在任何层次上的抽象。上的抽象。第七章第七章 结构化方法结构化方法7.3 7.3 数据流图数据流图第16页,共95页,编辑于2022年,星期三数据源点和终点数据源点和终点加工加工数据存储数据存储数据流数据流第七章第七章 结构化方法结构化方法7.3.1 7.3.1 基本图形符号基本图形符号第17页,共95页,编辑于2022年
12、,星期三1.1.数据流数据流 数据流是数据在系统内传播的路径,由数据流是数据在系统内传播的路径,由一组固定的数据项组成。除了与数据存储一组固定的数据项组成。除了与数据存储之间的数据流不用命名外,数据流应该用之间的数据流不用命名外,数据流应该用名词或名词短语名词或名词短语命名。命名。第七章第七章 结构化方法结构化方法7.3.1 7.3.1 基本图形符号基本图形符号第18页,共95页,编辑于2022年,星期三2.2.加工加工 加工也称为数据处理,加工也称为数据处理,它对数据流进行某些操作它对数据流进行某些操作或变换。每个加工也要有或变换。每个加工也要有名字,通常是名字,通常是动词短语动词短语,简明
13、地描述完成什么加工。简明地描述完成什么加工。在分层的数据流图中,加在分层的数据流图中,加工还应工还应有编号有编号。第七章第七章 结构化方法结构化方法7.3.1 7.3.1 基本图形符号基本图形符号第19页,共95页,编辑于2022年,星期三3.3.数据存储数据存储 数据存储指暂时保存数据存储指暂时保存的数据,它可以是数据的数据,它可以是数据库文件或任何形式的数库文件或任何形式的数据组织。流向数据存储据组织。流向数据存储的数据流可理解为写入的数据流可理解为写入文件,或查询文件,从文件,或查询文件,从数据存储流出的数据可数据存储流出的数据可理解为从文件读数据或理解为从文件读数据或得到查询结果。得到
14、查询结果。第七章第七章 结构化方法结构化方法7.3.1 7.3.1 基本图形符号基本图形符号第20页,共95页,编辑于2022年,星期三4.4.数据源点和终点数据源点和终点 数据源点和终点是软数据源点和终点是软件系统外部环境中的实件系统外部环境中的实体(包括人员、组织或体(包括人员、组织或其他软件系统),统称其他软件系统),统称为外部实体。为外部实体。一般只出一般只出现在数据流图的顶层图现在数据流图的顶层图中中。第七章第七章 结构化方法结构化方法7.3.1 7.3.1 基本图形符号基本图形符号第21页,共95页,编辑于2022年,星期三第22页,共95页,编辑于2022年,星期三1.1.数据流
15、图的分层数据流图的分层 对于复杂系统,无法一次描述所有的对于复杂系统,无法一次描述所有的细节。所以必须用分层的方法,将一个细节。所以必须用分层的方法,将一个复杂流程图分解成几个流程图分别表示。复杂流程图分解成几个流程图分别表示。第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第23页,共95页,编辑于2022年,星期三2.2.分层的方式分层的方式l l顶层:说明系统的边界,系统的输入输出数顶层:说明系统的边界,系统的输入输出数据流。只有一张。据流。只有一张。l l底层:由基本处理(不必再分解的处理逻辑)底层:由基本处理(不必再分解的处理逻辑)组成。组成。l l中间
16、层:处于顶层和底层之间,描述了某个中间层:处于顶层和底层之间,描述了某个加工的分解加工的分解,而它的组成部分又要进一步分,而它的组成部分又要进一步分解。解。第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第24页,共95页,编辑于2022年,星期三第25页,共95页,编辑于2022年,星期三3.3.分层分层DFDDFD图画法图画法l l画出顶层的画出顶层的DFDDFD图图l l逐层分解顶层逐层分解顶层DFDDFD图,获得若干中图,获得若干中间层间层DFDDFD图图l l画出底层的画出底层的DFDDFD图图第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画
17、数据流图画数据流图第26页,共95页,编辑于2022年,星期三4.4.父图与子图父图与子图l l父图父图 上层图称为下层图的父图上层图称为下层图的父图l l子图子图 下层图称为上层图的子图下层图称为上层图的子图第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第27页,共95页,编辑于2022年,星期三5.5.5.5.绘图步骤绘图步骤绘图步骤绘图步骤(1)(1)(1)(1)画系统的输入画系统的输入画系统的输入画系统的输入/输出(顶层数据流图)输出(顶层数据流图)输出(顶层数据流图)输出(顶层数据流图)先画顶层数据流图,只包含一个加工,用来标识被开发的系先画顶层数据流
18、图,只包含一个加工,用来标识被开发的系先画顶层数据流图,只包含一个加工,用来标识被开发的系先画顶层数据流图,只包含一个加工,用来标识被开发的系统,然后找出系统输入数据源点和输入数据,找出系统数据统,然后找出系统输入数据源点和输入数据,找出系统数据统,然后找出系统输入数据源点和输入数据,找出系统数据统,然后找出系统输入数据源点和输入数据,找出系统数据终点和输出数据终点和输出数据终点和输出数据终点和输出数据(2)(2)(2)(2)画内部系统(下层数据流图)画内部系统(下层数据流图)画内部系统(下层数据流图)画内部系统(下层数据流图)从从从从0 0 0 0层图开始编号,按系统功能分解顶层数据流图,按
19、加层图开始编号,按系统功能分解顶层数据流图,按加层图开始编号,按系统功能分解顶层数据流图,按加层图开始编号,按系统功能分解顶层数据流图,按加工分解工分解工分解工分解0 0 0 0层图,依次得到层图,依次得到层图,依次得到层图,依次得到1 1 1 1层图、层图、层图、层图、2 2 2 2层图层图层图层图。数据流的组成。数据流的组成。数据流的组成。数据流的组成和值发生变化的需要设置加工。和值发生变化的需要设置加工。和值发生变化的需要设置加工。和值发生变化的需要设置加工。第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第28页,共95页,编辑于2022年,星期三6.6.
20、绘图原则绘图原则(1 1)数据流图上所有数据仅限于)数据流图上所有数据仅限于数据流图基本数据流图基本符号符号(2 2)主图上必须包含前述四种基本元素,缺一)主图上必须包含前述四种基本元素,缺一不可。不可。(3 3)封闭原则)封闭原则 数据流必须封闭在外部实体之数据流必须封闭在外部实体之间,间,不允许出现无源的输入数据和无目标的不允许出现无源的输入数据和无目标的输出数据输出数据。第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第29页,共95页,编辑于2022年,星期三(4 4)守恒原则)守恒原则 加工的输入输出数据流要匹配,即每一个加工加工的输入输出数据流要匹配,
21、即每一个加工既有输入数据流又有输出数据流。或者说一个既有输入数据流又有输出数据流。或者说一个加工至少有一个输入数据流,一个输出数据流。加工至少有一个输入数据流,一个输出数据流。第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第30页,共95页,编辑于2022年,星期三(5 5)加工分解的原则)加工分解的原则l l自然性:概念上合理、清晰;自然性:概念上合理、清晰;l l均匀性:理想的分解是将一个问题分解成大均匀性:理想的分解是将一个问题分解成大小均匀的几个部分;小均匀的几个部分;l l分解度:一般每一个加工每次分解最多不要分解度:一般每一个加工每次分解最多不要超过
22、个子加工超过个子加工,应分解到基本加工为止。应分解到基本加工为止。l l易理解性:简化加工之间的联系(加工间的易理解性:简化加工之间的联系(加工间的数据流越少,独立性越强,易理解性越好)。数据流越少,独立性越强,易理解性越好)。第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第31页,共95页,编辑于2022年,星期三(6 6)合理编号)合理编号l l子图的编号是父图相应处理逻辑的编号。子图的编号是父图相应处理逻辑的编号。l l子图处理逻辑的编号由子图号、小数点和子图处理逻辑的编号由子图号、小数点和局部编号组成。局部编号组成。l l按层给加工编号,编号表明该加工处
23、于哪按层给加工编号,编号表明该加工处于哪一层。一层。第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第32页,共95页,编辑于2022年,星期三(7 7)子图与父图)子图与父图“平衡平衡”原则原则原则原则 加工分解过程中输入与输出不能丢失。应该加工分解过程中输入与输出不能丢失。应该加工分解过程中输入与输出不能丢失。应该加工分解过程中输入与输出不能丢失。应该保证所有输入输出在父层、子层出现一一对应。保证所有输入输出在父层、子层出现一一对应。保证所有输入输出在父层、子层出现一一对应。保证所有输入输出在父层、子层出现一一对应。第七章第七章结构化方法结构化方法7.3.2画
24、数据流图画数据流图第33页,共95页,编辑于2022年,星期三子图与父图不平衡子图与父图不平衡第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第34页,共95页,编辑于2022年,星期三如果有如下数据条目:如果有如下数据条目:订货单订货单 =客户客户+帐号帐号+数量数量则子、父图平衡则子、父图平衡第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第35页,共95页,编辑于2022年,星期三(8 8)合理使用数据存储)合理使用数据存储 当数据存储作为某些加工之间的交界面时,当数据存储作为某些加工之间的交界面时,数据存储必须画出来,一旦数据
25、存储作为数数据存储必须画出来,一旦数据存储作为数据流图中的一个独立成份画出来了,那么它据流图中的一个独立成份画出来了,那么它同其它成份之间的联系也应同时表达出来。同其它成份之间的联系也应同时表达出来。第七章第七章 结构化方法结构化方法7.3.2 7.3.2 画数据流图画数据流图第36页,共95页,编辑于2022年,星期三(9 9)合理命名)合理命名 为每个元素取的名字要能够反映该元素为每个元素取的名字要能够反映该元素的整体内容,无二义性、准确、具体。的整体内容,无二义性、准确、具体。若是给某个数据流或处理命名比较困难,若是给某个数据流或处理命名比较困难,说明数据流图分解不甚合理,可以考虑重说明
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第七 结构 方法 幻灯片
限制150内