第五章-传统的设计方法2课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第五章-传统的设计方法2课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 传统 设计 方法 课件
- 资源描述:
-
1、n本章介绍了传统的设计模型,以及从分析模本章介绍了传统的设计模型,以及从分析模型导出设计模型的一般方法。重点讲述了面型导出设计模型的一般方法。重点讲述了面向数据流设计的结构化设计方法(包括结构向数据流设计的结构化设计方法(包括结构设计和过程设计)和面向数据结构设计的设计和过程设计)和面向数据结构设计的Jackson设计方法。设计方法。n重点掌握:重点掌握:结构化设计模型,结构化设计结构化设计模型,结构化设计方法。方法。1uhiukun结构化设计模型结构化设计模型n结构化设计方法结构化设计方法n过程设计过程设计nJackson方法方法2uhiukun本章内容本章内容n介绍了传统的设计模型,以及从
2、分析模型导出设计模介绍了传统的设计模型,以及从分析模型导出设计模型的一般方法。型的一般方法。n重点讲述了面向数据流设计的结构化设计方法(包括重点讲述了面向数据流设计的结构化设计方法(包括结构设计和过程设计)和面向数据结构设计的结构设计和过程设计)和面向数据结构设计的Jackson设计方法。设计方法。n重点掌握重点掌握n结构化设计模型,结构化设计方法。结构化设计模型,结构化设计方法。3uhiukun面向数据流设计和面向数据设计面向数据流设计和面向数据设计n从分析模型导出设计模型从分析模型导出设计模型4uhiukun面向数据流设计面向数据流设计n将信息流映射成软件结构将信息流映射成软件结构n数据流
3、是考虑一切问题的出发点数据流是考虑一切问题的出发点n最终目的最终目的n给出设计软件结构的一个系统化的途径给出设计软件结构的一个系统化的途径n数据流的类型决定映射方法数据流的类型决定映射方法n变换流变换流n事务流事务流n该方法适用于概要设计阶段该方法适用于概要设计阶段n常称为结构化设计(常称为结构化设计(SD)方法)方法5uhiukun面向数据设计面向数据设计n该方法不明显的使用软件结构的概念,模块是设该方法不明显的使用软件结构的概念,模块是设计过程的副产品。对于模块独立性也没有给予应计过程的副产品。对于模块独立性也没有给予应有的重视。有的重视。n以数据结构作为分析和设计的基础以数据结构作为分析
4、和设计的基础n最终目标最终目标n得出程序的过程性描述得出程序的过程性描述n该方法适用于过程设计该方法适用于过程设计/详细设计阶段详细设计阶段n主要设计方法主要设计方法nJackson方法方法nWarnier方法方法6uhiukun结构化设计与结构化分析的关系结构化设计与结构化分析的关系n软件设计必须依据对软件的需求来进行,结构软件设计必须依据对软件的需求来进行,结构化分析的结果为结构化设计提供了最基本的输化分析的结果为结构化设计提供了最基本的输入信息。入信息。n分析模型的每个元素都提供了创建设计模型时分析模型的每个元素都提供了创建设计模型时所需要的信息。所需要的信息。7uhiuku图图5.1
5、将分析模型转换为软件的设计模型将分析模型转换为软件的设计模型8uhiuku 数据设计把分析阶段创建的信息域模型转变成实现数据设计把分析阶段创建的信息域模型转变成实现软件所需要的数据结构。软件所需要的数据结构。体系结构设计确定了程序的主要结构元素体系结构设计确定了程序的主要结构元素(即程序构即程序构件件)之间的关系。之间的关系。接口设计的结果描述了软件内部、软件与协作系统接口设计的结果描述了软件内部、软件与协作系统之间以及软件与使用者之间的通信方式。之间以及软件与使用者之间的通信方式。过程设计把程序体系结构中的结构元素,变换成对过程设计把程序体系结构中的结构元素,变换成对软件构件的过程性描述。软
6、件构件的过程性描述。在软件设计期间我们所做出的决策,将最终决定软在软件设计期间我们所做出的决策,将最终决定软件开发能否成功,更重要的是,这些设计决策将决定软件开发能否成功,更重要的是,这些设计决策将决定软件维护的难易程度。件维护的难易程度。9uhiukunSD方法的中心任务方法的中心任务n把用把用DFD图表示的系统分析模型方便地转换图表示的系统分析模型方便地转换为软件结构的设计模型。为软件结构的设计模型。n软件结构的描述工具软件结构的描述工具nH图(层次图)图(层次图)nSC图(软件结构图)图(软件结构图)10uhiuku层次图层次图 通常使用层次图描绘软件的层次结构。在层通常使用层次图描绘软
7、件的层次结构。在层次图中一个矩形框代表一个模块,框间的连线表次图中一个矩形框代表一个模块,框间的连线表示调用关系。示调用关系。11uhiukuHIPOHIPO图图 HIPO HIPO图是美国图是美国IBMIBM公司发明的公司发明的“层次图层次图+输入输入/处处理理/输出图输出图”的英文缩写。为了使的英文缩写。为了使HIPOHIPO图具有可追踪图具有可追踪性,在性,在H H图图(即层次图即层次图)里除了顶层的方框之外,每个里除了顶层的方框之外,每个方框都加编号。方框都加编号。12uhiuku基本的基本的IPO图图13uhiuku表格式的表格式的IPO图(图(IPO表)表)14uhiukunSC图
8、的组成符号图的组成符号n矩形框矩形框来表示模块来表示模块 n带箭头的连线表示模块间的带箭头的连线表示模块间的调用关系调用关系n在调用线的两旁标出传入和传出模块的在调用线的两旁标出传入和传出模块的数据流数据流 nSC图中的模块符号图中的模块符号n传入传入n传出传出n变换变换n源源n漏漏n控制控制 P88实物投影解释用于表达软件的组成模块及其调用关系。用于表达软件的组成模块及其调用关系。15uhiukunSC图中的模块调用图中的模块调用n简单调用:调用线的箭头指向被调用模块简单调用:调用线的箭头指向被调用模块n选择调用:图中用菱形符号表示选择选择调用:图中用菱形符号表示选择 n循环调用:用叠加在调
9、用线始端的环形箭头表示循环循环调用:用叠加在调用线始端的环形箭头表示循环ABCDABCACBX,YZZ简单调用简单调用 选择调用选择调用 循环调用循环调用 16uhiuku在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息。如果希望进一步标明传递的信息是数据还是控制信息,则可以利用注释箭头尾部的形状来区分:尾部是空心圆表示传递的是数据,实心圆表示传递的是控制信息 17uhiuku注意:注意:层次图和结构图并不严格表示模块的调用次序。层次图和结构图并不严格表示模块的调用次序。层次图和结构图并不指明什么时候调用下层模层次图和结构图并不指明什么时候调用下层模块。块。通常用层次图作为描绘软
10、件结构的文档。结通常用层次图作为描绘软件结构的文档。结构图作为文档并不合适。但是,利用构图作为文档并不合适。但是,利用IPOIPO图和数图和数据字典中的信息得到模块调用时传递的信息,从据字典中的信息得到模块调用时传递的信息,从而由层次图导出结构图的过程,却可以作为检察而由层次图导出结构图的过程,却可以作为检察设计正确性和评价模块独立性的好方法。设计正确性和评价模块独立性的好方法。18uhiukun数据流图的类型数据流图的类型n变换型结构变换型结构n事务型结构事务型结构19uhiuku组成组成n传入路径传入路径n变换中心变换中心n传出路径传出路径 数据流数据流n传入流传入流n变换流变换流n传出流
11、传出流变换中心:通过计算或处理,将变换中心:通过计算或处理,将系统的传入流变为传出流。又称系统的传入流变为传出流。又称加工中心。加工中心。传入流:离输入始端最远但仍可传入流:离输入始端最远但仍可被看作系统输入的那些数据流。被看作系统输入的那些数据流。传出流:离输出末端最远但仍可传出流:离输出末端最远但仍可被看作系统输出的那些数据流。被看作系统输出的那些数据流。变换中心传入传出信息传入流 传出流 变换流时间20uhiukun组成组成n一条接受路径一条接受路径n一个事务中心一个事务中心n若干条动作路径若干条动作路径n特征特征n具有在多种事务中具有在多种事务中执行某类事务的能执行某类事务的能力。力。
12、事务事务 中心中心接受路径接受路径动作路径动作路径21uhiukun复审复审DFD图,必要时可再次进行修改或细化图,必要时可再次进行修改或细化n鉴别鉴别DFD图的结构特征图的结构特征:事务?变换?事务?变换?n按照规则,把按照规则,把DFD图为初始的图为初始的SC图图 n改进初始的改进初始的SC图,获得最终图,获得最终SC图。图。22uhiukun两种映射方法两种映射方法n变换映射变换映射n事务映射事务映射变换型变换型DFD图图事务型事务型DFD图图初始初始SC图图初始初始SC图图变换映射变换映射事务映射事务映射23uhiuku 适用于将变换型结构的适用于将变换型结构的DFDDFD图转换为初始
13、软图转换为初始软件结构图。步骤如下:件结构图。步骤如下:1 1、区分传入、传出和变换中心三个部分,在、区分传入、传出和变换中心三个部分,在DFDDFD图上标明它们的分界线图上标明它们的分界线(1)(1)变换中心的任务:通过计算或处理,把系统变换中心的任务:通过计算或处理,把系统的逻辑输入变换的逻辑输入变换(或加工或加工)为系统的逻辑输出。为系统的逻辑输出。(2)(2)逻辑输入逻辑输入(传入数据项传入数据项):离物理输入端:离物理输入端(输入输入始端始端)最远,但仍可以被看作系统输入的那些数最远,但仍可以被看作系统输入的那些数据流。据流。24uhiuku(3)(3)逻辑输出逻辑输出(传出数据项传
14、出数据项):离物理输出端:离物理输出端(输出末输出末端端)最远,但仍可以被看作系统输出的那些数据流。最远,但仍可以被看作系统输出的那些数据流。(4)(4)数据在系统中流动时,不仅在通过变换中心时要数据在系统中流动时,不仅在通过变换中心时要被变换,在传入路径和传出路径上,其内容和形式被变换,在传入路径和传出路径上,其内容和形式也可能发生变化。故变换中心又称为也可能发生变化。故变换中心又称为“中心加工中心加工”,以区别于数据在传入传出过程中的其它加工。以区别于数据在传入传出过程中的其它加工。(5)(5)划分的结果可能会受经验的影响,但必须从实际划分的结果可能会受经验的影响,但必须从实际情况出发,对
15、情况出发,对DFDDFD图作认真和细致的分析图作认真和细致的分析(6)(6)几种可能遇到的情况及其处理方法几种可能遇到的情况及其处理方法25uhiuku有些系统没有中心加工,系统的逻辑输入和逻有些系统没有中心加工,系统的逻辑输入和逻辑输出是完全相同的数据流,应将辑输出是完全相同的数据流,应将DFDDFD划分为传划分为传入和传出两部分,不要强求一律硬分成三个部分。入和传出两部分,不要强求一律硬分成三个部分。除传入部分外,在变换中心甚至传出部分也可除传入部分外,在变换中心甚至传出部分也可能从系统外接受某些输入数据流,称为二次传入能从系统外接受某些输入数据流,称为二次传入数据。该数据不应当作传入部分
16、的一部分。数据。该数据不应当作传入部分的一部分。有些有些DFDDFD图可能失之太粗,缺少应有的细节,可图可能失之太粗,缺少应有的细节,可考虑对自己用于分析的考虑对自己用于分析的DFDDFD进行补充。进行补充。26uhiuku27uhiuku2 2、完成、完成“第一级分解第一级分解”,建立初始,建立初始SCSC图的框架。图的框架。包括顶层控制模块和第一层模块。包括顶层控制模块和第一层模块。两种画法:两种画法:a.a.顶层控制模块顶层控制模块+传入、传出和中心变换传入、传出和中心变换3 3个一层个一层模块模块b.b.顶层控制模块顶层控制模块+按照传入、传出实际数据流数按照传入、传出实际数据流数和中
17、心变换模块数确定数量的模块和中心变换模块数确定数量的模块28uhiukuM Mc cM MT TM MA AM ME Ec,ew,uc,ew,uM Mc cP PcR RM ME1E1M ME2E2M MA1A1M MA2A2Q Qeepc,prrw,uwu29uhiuku3 3、完成、完成“第二级分解第二级分解/分支分解分支分解”,分解,分解SCSC图的各图的各个分支。对初始个分支。对初始SCSC图的框架继续进行由顶向下的分图的框架继续进行由顶向下的分解,直至画出每个分支所需要的全部模块。解,直至画出每个分支所需要的全部模块。传入路径的处理传入路径的处理:由变换中心外移,把传入路径中由变换中
18、心外移,把传入路径中每个处理映射成软件结构中输入处理的低一层模块每个处理映射成软件结构中输入处理的低一层模块 传出路径的处理传出路径的处理:由变换中心外移,通路中各处理由变换中心外移,通路中各处理直接映射成输出处理的低一层模块直接映射成输出处理的低一层模块30uhiukuM MA Ac,eC CB BA AE ED DedcbaM MA Ac,eGetCGetCGetBGetBReadAReadAGetEGetEAtoBAtoBecbaBtoCBtoCabbcReadDReadDdDtoEDtoEde为了显式的表示在传入为了显式的表示在传入/传出路径上的数据变换,传出路径上的数据变换,在分支分
19、解中可考虑增加变换模块,功能为在分支分解中可考虑增加变换模块,功能为 Read/Get Read/Get 和和 Write/PutWrite/Put。传传入入路路径径处处理理31uhiukuM ME EW WU UV Vuvwu,wM ME EWriteWWriteWuvwu,wPutUPutUUtoVUtoVuWriteVWriteVv传传出出路路径径处处理理32uhiukuM MT TP PR RQ Qepc,p r rw,u变变换换中中心心的的处处理理33uhiukuMcMcM MA Ac,eGetCGetCGetBGetBReadAReadAGetEGetEAtoBAtoBecbaBt
20、oCBtoCabbcReadDReadDdDtoEDtoEdeM ME EWriteWWriteWuvwu,wPutUPutUUtoVUtoVuWriteVWriteVvM MT Tc,ew,u合合成成34uhiuku 虽然在任何情况下都可以使用变换分析方法虽然在任何情况下都可以使用变换分析方法设计软件结构,但是在数据流具有明显的事务特设计软件结构,但是在数据流具有明显的事务特点时,也就是有一个明显的点时,也就是有一个明显的“发射中心发射中心”(事务事务中心中心)时,还是以采用事务分析方法为宜。时,还是以采用事务分析方法为宜。事务:事务:引发、触发或启动某一动作或一串动引发、触发或启动某一动作
21、或一串动作的任何数据、控制、信号、事件或状态变化作的任何数据、控制、信号、事件或状态变化35uhiuku事务分析步骤:事务分析步骤:1 1、在、在DFDDFD图上确定事务中心、接受部分图上确定事务中心、接受部分(包包括接受路径括接受路径)和发送部分和发送部分(包含全部动作路径包含全部动作路径)事务中心事务中心通常位于通常位于DFDDFD图中多条动作路径的起点;图中多条动作路径的起点;向事务中心提供信息的路径,是系统的向事务中心提供信息的路径,是系统的接受路径接受路径;动作路径动作路径通常不止一条,切每条均具有自己的结通常不止一条,切每条均具有自己的结构特性构特性(变换或事务型变换或事务型)。3
22、6uhiuku37uhiuku2 2、画出、画出SCSC图框架,把图框架,把DFDDFD图的三个部分分别映射图的三个部分分别映射为事务控制模块、接受模块和动作发送模块为事务控制模块、接受模块和动作发送模块事务控制事务控制接收接收发送发送事务控制事务控制 事务事务 分析发送分析发送38uhiuku3 3、分解和细化接受和发送、分解和细化接受和发送分支,完成初始的分支,完成初始的SCSC图图接受分支接受分支一般具有变换特性,一般具有变换特性,可对其进行变换分析;可对其进行变换分析;动作分支动作分支典型的可映射为典型的可映射为4 4层:层:P-P-处理层、处理层、T-T-事务层、事务层、A-A-操作
23、层、操作层、D-D-细节层。细节层。A A、D D常可被常可被P P、T T共享。共享。PT1T2A2A1AjA3TiD2D1Dk39uhiuku 在大型系统的在大型系统的DFDDFD中,变换型和事务型两类中,变换型和事务型两类结构往往同时存在。对于一个大系统,常常把变结构往往同时存在。对于一个大系统,常常把变换分析和事务分析应用到同一个数据流图的不同换分析和事务分析应用到同一个数据流图的不同部分,由此得到的子结构形成部分,由此得到的子结构形成“构件构件”,可以利,可以利用它们构造完整的软件结构。用它们构造完整的软件结构。40uhiukuC1AC3BC2DLFGEKJabb1b2b3c1c2c
24、3defghjklm总体为变换型结构总体为变换型结构传入路径为事务型结构传入路径为事务型结构41uhiuku面面向向数数据据流流方方法法的的设设计计过过程程42uhiuku 软件工程师们在开发计算机软件的长期实践软件工程师们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得出了一些中积累了丰富的经验,总结这些经验得出了一些启发规则。这些启发规则在许多场合能给软件工启发规则。这些启发规则在许多场合能给软件工程师有益的启示,往往能帮助他们找到改进软件程师有益的启示,往往能帮助他们找到改进软件设计提高软件质量的途径,因此有助于实现有效设计提高软件质量的途径,因此有助于实现有效的模块化。的模
25、块化。下面介绍几条常用的启发规则。下面介绍几条常用的启发规则。43uhiuku一、改进软件结构提高模块独立性一、改进软件结构提高模块独立性 通过模块分解或合并,力求降低耦合提高内聚。通过模块分解或合并,力求降低耦合提高内聚。二、模块规模应该适中二、模块规模应该适中 一页纸内一页纸内(60(60行行)。过大,可考虑继续分解模块功能;过小,可考虑合过大,可考虑继续分解模块功能;过小,可考虑合并到上层模块。并到上层模块。44uhiuku三、深度、宽度、扇出和扇入都应适当三、深度、宽度、扇出和扇入都应适当1 1、概念、概念深度:深度:软件结构中控制的层数,往往粗略的标志一个系软件结构中控制的层数,往往
展开阅读全文