软件工程第五章电子教案大同大.ppt

上传人:小飞机 文档编号:6610908 上传时间:2023-11-17 格式:PPT 页数:104 大小:1.06MB
返回 下载 相关 举报
软件工程第五章电子教案大同大.ppt_第1页
第1页 / 共104页
软件工程第五章电子教案大同大.ppt_第2页
第2页 / 共104页
软件工程第五章电子教案大同大.ppt_第3页
第3页 / 共104页
软件工程第五章电子教案大同大.ppt_第4页
第4页 / 共104页
软件工程第五章电子教案大同大.ppt_第5页
第5页 / 共104页
点击查看更多>>
资源描述

《软件工程第五章电子教案大同大.ppt》由会员分享,可在线阅读,更多相关《软件工程第五章电子教案大同大.ppt(104页珍藏版)》请在三一办公上搜索。

1、第五章 传统的设计方法,结构化设计模型结构化设计方法过程设计Jackson方法,面向数据流设计和面向数据设计,SD方法数据流是考虑一切问题的出发点Jackson方法算法的结构在很大程度上依赖于要处理的数据结构,将分析模型转换为软件设计,数据字典,数据流图,E-R图,状态变迁图,加,工,规,约,控制规约,数,据,对,描 述,象,数 据 设 计,体系结构设计,接口设计,过程设计,分析模型,设计模型,5.2 结构化设计方法,结构设计也称概要设计体系结构设计SC(结构)图接口设计SC图过程设计也称详细设计模块的处理过程N-S图,PAD(问题分析图),IPO图,PDL等,概要设计的任务,把系统的功能需求

2、分配给软件结构,形成软件的模块结构图。简要的讲,就是把流程图中的加工(处理)转化成模块,形成模块结构图。,软件的模块结构图,概要设计的表示形式,层次(hierarchy)图HIPO图SC图,正文加工系统的层次图,带编号的层次图(HIPO),与层次图(H)中每个方框相对应(按编号),都有一张IPO图描述该框代表的模块的处理过程,称为HIPO图。,IPO图的一个例子,SC图,结构图是精确表达程序结构的图形表示方法。它作为软件文档的一部分,清楚地反映出程序中模块之间的层次调用关系和联系:它不仅严格地定义了各个模块的名字、功能和接口,而且还集中地反映了设计思想。换句话说它以特定的符号表示模块、模块间的

3、调用关系和模块间信息的传递。,SC图允许使用的六种模块,一般地,在系统结构图中有6种类型的模块;(1)传入模块从下属模块取得数据,经过某些处理,再将其结果传送给上级模块。它传送的数据流叫逻辑输入数据流。(2)传出模块从上级模块获得数据,进行某些处理,再将其结果传送给下属模块。它传送的数据流叫作逻辑输出数据流。(3)变换模块也叫加工模块。它从上级模块取得数据,进行特定的处理,转换成其它形式,再传送回上级模块。它加工的数据流叫作变换数据流。大多数计算模块(原子模块)属于这类。(4)源模块不调用其他模块的传入模块。只使用于部分的始端。(5)漏模块不调用其他模块的传出模块。仅用于传出部分的末端。(6)

4、控制模块只调用其他模块,不受其他模块调用的模块。在实际系统中有些模块属于上述某类型,有些模块是上述各种类型的组合。,SC图的组成符号,(a)传入,(b)传出,(c)变换,(d)源,(f)控制,X,Y,Y,X,X,Y,图5.2 SC图使用的模块符号,X,(e)漏,X,X,Y,SC图的模块调用,简单调用,图5.3 简单调用的两种表示法,B,(a),X,Y,Z,A,C,Z,B,(b),1,A,C,2,选择调用,A,B,C,D,注意:图中必须画出红线的数据流,循环调用,A,B,C,注意:图中必须画出红线的数据流,产生最佳解的一般结构图,产生最隹解,得到最好输入,计算最隹解,输出结果,读输入,编辑输入,

5、结果格式化,显示结果,好输入,编辑结果,格式化解,好,输,入,原始输入,解,格式化解,数据,原始输入,解,解,数据流图的类型,在软件设计之前首先要分清数据流图的特征,才能更加有利于设计。在系统分析模型中的数据流图,均可纳入两种典型的形式,即变换型结构处理系统和事务型结构处理系统。,变换型结构的DFD,传入,传出,信息,传入流,传出流,变换流,时间,变换型结构也叫变换流,信息通常以“外部世界”的形式进入软件系统,经过处理后再以“外部世界”的形式离开系统,所以变换性结构也可以用右图表达:,事务型结构(事务流)DFD,同时存在两类结构,传入,变换,传出,事务中心,接收部分,发送部分,结构化设计方法的

6、设计,由数据流模型导出系统(模块)结构图1、变换分析与变换设计,由变换型数据流映射得到的程序结构,问题求解,计算最佳解,输出结果,显示结果,格式化结果,获得好的输入,读数据,编辑数据,数据输入,数据输出,数据变换,变换型的程序结构,结构化设计方法的设计,2、事务分析与事务设计,事务型数据流,事务型程序结构,由事务型数据流映射得到的程序结构,结构化设计方法的设计步骤,精化数据流,流类型,区分事务中心和数据接受选路,区分输入和输出分支,映射成事务结构,映射成变换结构,用启发式设计规则精化软件,导出接口描述和全局数据结,复查,详细设计,事务分析,变换分析,事务型,变换型,变换分析,第一步:划分DFD

7、图的边界 第二步:建立初始SC图的框架顶层都只含一个用于控制的主模块 第一层包括传入、传出和中心变换三个模块 第三步:分解SC图的各个分支 分解实质上是“映射”最后可组成初始SC图,在形成的SC图下应有模块的简要说明,每个模块的简要说明应有:进出该模块的信息(接口描述);模块内部的信息(功能、数据);过程陈述,包括主要判定点及任务等;对约束、限制的说明。,例子划分DFD,a,b,c,d,e,p,r,w,u,v,传入部分,变换中心,传出部分,图5.8 在DFD图上划分传入、传出和中心加工部分,第一步:,第一级分解,图5.9 第一级分解后的SC图,第二步:,第一级分解后的SC(另一种画法),MC,

8、MA1,c,e,u,c,p,Q,P,R,e,p,r,r,w,u,w,传入分支模块,中心加工分支模块,传出分支模块,MA2,ME1,ME2,传入分支的分解(1),MA,C,B,A,b,a,c,E,D,d,e,c,e,第三步:,传入分支的分解(2),c,e,c,e,b,b,c,a,a,b,d,d,b,图5.12 传入分支的分解之二,第三步:,传出分支的分解,ME,W,Write V,u,u,w,u,v,v,v,Put U,U to V,ME,U,Write W,w,w,u,w,u,V,(1),(2),变换中心的分解,e,p,c,p,r,r,w,u,图5.15 中心加工分支的分解,组成初始SC图,M

9、C,MT,Q,P,R,ME,Write W,Put U,U to V,Write V,A to B,Read A,Get B,D to E,Read D,B to C,Get C,Get E,MA,图5.16 从图5.8导出的初始SC图,事务分析,第一步:在DFD图上确定边界事务中心接收部分(包括接收路径)发送部分(包括全部动作路径)第二步:画出SC图框架 DFD图的三个部分分别映射为事务控制模块,接受模块和动作发送模块 第三步:分解和细化接收分支和发送分支,例子划分DFD,事务型SC图的顶层分解,动作发送,事务控制,接收,顶层,第一层,事务分析的映射方法,总控,调度,B路径,C路径,接收路径

10、,混合结构,数字仪表板系统需求分析,通过模-数转换实现传感器和微处理器的接口;在发光二级管面板上显示数据;指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等;指示加速或减速;超速警告:如果车速超过55公里/小时,则发出超速警报铃声。,数字仪表板数据流图,加仑/小时,英里/小时,英里/加仑,转/分,划分数据流图的边界,数字仪表板的第一级分解,未经细化的输入结构,数字仪表板的第二级分解,未经细化的变换结构,未经细化的输出结构,精化后的数字仪表板系统的软件结构,归纳,如果数据流不具有显著的事务特点,最好使用变换设计如果具有明显的事务中心,应该采用事务设计方法不要机械遵循规则,

11、根据实际情况将模块进行合并或分解事务型结构例子课本上的“教材购销系统”,教材购销系统举例,教材购销系统举例,教材购销系统举例,教材购销系统举例,教材购销系统举例,教材购销系统举例,教材购销系统举例,教材购销系统举例,教材购销系统举例,5.2.5 优化结构设计的指导规则,对模块分割、合并和变动调用关系的指导规则 提高模块独立性(按四项基本原则调整)模块大小合适(可脱离DFD图进行调整)保持高扇入/低扇出(3-5不超过9)的原则 提高公共(共享)模块的使用率!作用域/控制域规则 作用域不要超出控制域的范围 位置离受它控制的模块越近越好,扇入和扇出,M的扇入,M的扇出,例子:扇出,煎饼形结构不可取!

12、,例子:扇出,把煎饼形结构转换成塔型结构,有效模块化设计的启发式原则:,1.评估软件结构的初始模型以降低耦合并提高内聚。2.高层高扇出使结构最小化;当深度增加时(特别是底层)争取提高扇入。(图)3.将模块的作用范围限制在模块的控制范围内。作用范围:受模块内一个判定影响的所有模块的集合。控制范围:模块本身及其所有下属模块的集合。4.评估模块接口以降低复杂度和冗余并提高一致性。5.定义功能可以预测的模块,(如对于相同的输入,输出是恒定的),但要避免过分限制模块(如数据结构的大小、控制流的选择、外部接口的模式等限制)。,作用域和控制域,作用域和控制域,结构变化,同一个问题的各种软件结构,优化后的数字

13、仪表板系统设计,总体(概要)设计阶段值得注意的问题,“一个不能工作的最佳设计”的价值是值得怀疑的应该在设计的早期阶段对软件结构进行精化结构简单通常既表示设计风格优雅有表明效率高,过程(详细)设计与概要设计的不同,在总体(概要)设计阶段,数据项和数据结构的描述比较抽象,主要是:形成SC(模块结构)图详细设计要提供关于算法的更多细节,总体(概要)设计说明书规范,看Word文件概要设计说明书大纲,5.3 过程设计,目的确定模块采用的算法和块内数据结构 任务:编写软件的“过程设计说明书”为每个模块确定采用的算法 确定每一模块使用的数据结构 确定模块接口的细节,结构化程序设计的概念,理论的提出最早是60

14、年代中期提出的Bohm和Jacopini在数学上证明了:只用三种基本的控制结构就能实现单入口单出口的程序实践的发展1971年,IBM公司的纽约时报信息库管理系统,三种基本控制结构,顺序结构,选择结构,循环结构,结构化程序设计技术的定义,结构化程序设计技术是一种程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构,并且只包含顺序、选择和循环三种结构,结构化程序设计的目标,是程序的控制流程线性化,即程序的动态执行顺序符合静态书写结构。关于GOTO语句的建议:当出现算法的自然结构被破坏的异常情况时,应保留GOTO语句。一个好的原则是避免使用跳转表达正常的循环和条件语句,常用的算法表

15、示形式,图形、表格和语言基本要求:提供对设计的无歧义的描述,即能指明控制流程、处理功能、数据组织以及其它方面的实现细节,过程设计的原则和方法,清晰第一的设计风格结构第一,效率第二结构化的控制结构所有的模块只使用单入口、单出口的3种基本控制结构逐步细化的实现方法把给定的模块功能转换成详细过程性描述,过程(详细)设计常用工具,流程图N-S图伪代码和PDL语言PAD图,程序流程图,历史最悠久、使用最广泛的描述软件设计的方法优点对控制流程的描绘很直观缺点本质上不是逐步求精的好工具可以随意转移控制不易表示数据结构,练习画程序流程图,课堂练习:某模块有两个输入a和b,一个输出c,当满足条件(a0)and(

16、b2)时,c=a+b,否则c=a-b。用所学知识画出该模块的程序流程图。,N-S图,设计初衷:表示形式不允许违背结构程序设计精神同流程图相比,严格地限制从一个处理到另一个处理的控制转移,N-S图又称为盒图,其目标是构造一种不允许破坏结构化程序设计的图形。盒图的基本特征是:(1)功能域定义明确,表示清晰;(2)不允许随意更改控制;(3)局部和全局数据的作用域很容易确定;(4)表示递归算法很方便。,N-S图又称盒图,N-S图表达的基本程序结构,顺序结构,选择结构,循环结构,练习画N-S图,课堂练习:1、某模块有两个输入a和b,一个输出c,当满足条件(a0)and(b2)时,c=a+b,否则c=a-

17、b。用所学知识画出该模块的N-S图。2、某模块有三个输入a、b和c,一个输出s,当a=1时,s=b+2c,当a=2时,s=2b-c,当a=3时,s=b。用所学知识画出该模块的N-S图。,伪代码和语言(PDL),在第三章讲分析模型的加工说明时已经用过!用正文形式表示数据结构和处理过程PDL是一种“混合”语言具有严格的关键字外部语法使用自然语言表示实际操作和判定条件,PDL的优点,可以作为注释直接插在源程序中间可以使用普通的正文编辑程序或文字处理系统完成PDL的书写和编辑已经有自动处理程序存在,可以自动由PDL生成程序代码,PDL的缺点,不如图形工具形象直观描述复杂的条件组合与动作间的对应关系时,

18、不如判定表或判定树清晰简单,过程设计语言PDL(Procedure design language)又称为结构化的语言或伪代码,它采用一种结构化编程语言与另一种语言词汇的混合形式。,IF 一条或数条语句ELSEIF 一条或数条语句ELSE 一条或数条语句ENDIF,伪代码和语言(PDL),PAD图(问题分析图),问题分析图PAD(Problem Analysis Diagram)用二维树形结构来表示程序的控制流。问题分析图的主要特点是:(1)用PAD构成元素设计出来的程序必然是结构化程序;(2)问题分析图所描绘的程序结构十分清晰;(3)问题分析图表示的程序逻辑易读、易懂、易记;,PAD图(问题

19、分析图),(4)PAD是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右按顺序执行,遍历所有结点;(5)容易将PAD转换成高级语言源程序,该转换可由软件自动完成,有利于提高软件可靠性和软件生产;(6)既可用于表示程序逻辑,也可用于描绘数据结构;(7)PAD的元素支持自顶向下、逐步求精方法的使用。,PAD图的基本符号,选择结构,顺序结构,循环结构,1,2,n,PAD图的基本符号,输入框,输出框,处理框,重复框(先判定,再重复),重复框(先执行,后判定,再重复),选择框,子程序框,或,定义框,使用PAD图的定义功能实现逐步细化的例子,练习画PAD,课堂练习:1、某模块有

20、两个输入a和b,一个输出c,当满足条件(a0)and(b2)时,c=a+b,否则c=a-b。用所学知识画出该模块的PAD。2、某模块有三个输入a、b和c,一个输出s,当a=1时,s=b+2c,当a=2时,s=2b-c,当a=3时,s=b。用所学知识画出该模块的PAD。,详细设计规格说明与复审,详细设计说明书规范详细设计说明书是详细设计阶段的文档,它是程序运行过程的详细描述。,详细设计规格说明与复审,2复审复审是指对设计文档的复审。1)复审原则 复审的目的是为了及早程序中的错误,一般不请用户和其他领域的代表参加。复审中提出的问题应做详细记录,但不谋求当场解决。复审结束前,应做出本次复审能否通过的

21、结论。,2)复审的主要内容 审查模块的设计是否满足功能和性能要求,选择的算法和数据结构是否合理、是否符合编码语言特性,设计描述是否简单清晰等。3)复审的方式 复审分正式和非正式两种方式,非正式复审的特点是参加人员少,均为同行,方便灵活。“走查”就是一种非正式复审,复审时有一名设计人员逐行宣读设计资料,由到会同行跟随他指出的次序一行行的往下审查,发现问题就做好记录,然后根据多数参加者的意见,决定是否通过该设计资料。正式复审除软件开发人员外,还邀请用户代表和领域专家参加,通常采用答辩方式,回答与会者的问题并记录各种重要的评审意见。,详细设计说明书规范,看Word文件详细设计说明书大纲例1:看Wor

22、d文件 详细设计说明书例1例2:看Word文件 网络安全监控系统通讯模块详细 设计说明书,5.4 Jackson 方法,实体动作实体结构初始建模系统功能系统时间系统实现,Jackson表示法,Jackson图Jackson伪代码,A,B*,顺序,选择,重复,A seq A select cond1 A iter until 或while cond B B C or cond2 Bend A C end A end A(a)顺序(b)选择(c)重复,Jackson方法和SD方法,Jackson方法,数据结构,映射,程序结构,程序的过程性表示,(Jackson图),(Jackson图),(Jackson伪代码),程序分析,程序设计,SD 方法,问题结构,映射,软件结构,各模块的过程描述,(DFD图),(SC图),(PDL等工具),概要设计,过程设计,作业,习 题 P122123 2.5.6.10.另:将原来各小组的结构化分析模型利用传统的设计方法进行设计(含概要和详细),并写出概要设计与详细设计说明书,不提交。谢谢同学们!,1,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号