版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 老式设计办法结构化设计模型结构化设计办法过程设计Jackson办法第1页第1页面向数据流设计和面向数据设计SD办法数据流是考虑一切问题出发点Jackson办法算法结构在很大程度上依赖于要处理数据结构第2页第2页将分析模型转换为软件设计数据字典数据流图E-R图状态变迁图加工规约控制规约数据对描 述象数 据 设 计体系结构设计接口设计过程设计分析模型设计模型第3页第3页5.2 结构化设计办法结构设计也称概要设计体系结构设计SC(结构)图接口设计SC图过程设计也称详细设计模块处理过程N-S图,PAD(问题分析图),IPO图,PDL等第4页第4页概要设计任务 把系统功效需求分派给软件结构,形成
2、软件模块结构图。 简明讲,就是把流程图中加工(处理)转化成模块,形成模块结构图。第5页第5页软件模块结构图第6页第6页概要设计表示形式层次(hierarchy)图HIPO图SC图第7页第7页正文加工系统层次图第8页第8页带编号层次图( HIPO ) 与层次图( H )中每个方框相相应(按编号),都有一张IPO图描述该框代表模块处理过程,称为HIPO图。第9页第9页IPO图一个例子第10页第10页SC图结构图是准确表示程序结构图形表示办法。它作为软件文档一部分,清楚地反应出程序中模块之间层次调用关系和联系:它不但严格地定义了各个模块名字、功效和接口,并且还集中地反应了设计思想。换句话说它以特定符
3、号表示模块、模块间调用关系和模块间信息传递。第11页第11页SC图允许使用六种模块普通地,在系统结构图中有6种类型模块; (1)传入模块从下属模块取得数据,通过一些处理,再将其结果传送给上级模块。它传送数据流叫逻辑输入数据流。(2)传出模块从上级模块取得数据,进行一些处理,再将其结果传送给下属模块。它传送数据流叫作逻辑输出数据流。(3)变换模块也叫加工模块。它从上级模块取得数据,进行特定处理,转换成其它形式,再传送回上级模块。它加工数据流叫作变换数据流。大多数计算模块(原子模块)属于这类。(4)源模块不调用其它模块传入模块。只使用于部分始端。 (5)漏模块不调用其它模块传出模块。仅用于传出部分
4、末端。 (6)控制模块只调用其它模块,不受其它模块调用模块。 在实际系统中有些模块属于上述某类型,有些模块是上述各种类型组合。 第12页第12页SC图构成符号(a)传入(b)传出(c)变换(d)源(f)控制XYYXXY图5.2 SC图使用模块符号X(e)漏XXY第13页第13页SC图模块调用简朴调用图5.3 简朴调用两种表示法B(a)X,YZACZB(b)1AC2入出X,YZZ第14页第14页选择调用ABCD注意:图中必须画出红线数据流第15页第15页循环调用ABC注意:图中必须画出红线数据流第16页第16页产生最佳解普通结构图产生最隹解得到最好输入计算最隹解输出结果读输入编辑输入结果格式化显
5、示结果好输入编辑结果格式化解好输入原始输入解格式化解数据原始输入解解第17页第17页数据流图类型在软件设计之前首先要分清数据流图特性,才干愈加有助于设计。在系统分析模型中数据流图,均可纳入两种典型形式,即变换型结构处理系统和事务型结构处理系统。第18页第18页变换型结构DFD变换中心传入传出信息传入流传出流 变换流时间第19页第19页变换型结构也叫变换流 信息通常以“外部世界”形式进入软件系统,通过处理后再以“外部世界”形式离开系统,因此变换性结构也能够用右图表示:第20页第20页事务型结构(事务流)DFD第21页第21页同时存在两类结构T传入变换传出事务中心接受部分发送部分第22页第22页结
6、构化设计办法设计由数据流模型导出系统(模块)结构图1、变换分析与变换设计计算最佳解取得好输入输出结果输入流变换中心输出流变换型数据流第23页第23页由变换型数据流映射得到程序结构问题求解计算最佳解输出结果显示结果格式化结果取得好输入读数据编辑数据数据输入数据输出数据变换变换型程序结构第24页第24页结构化设计办法设计2、事务分析与事务设计T数据输入流事务中心一组处理事务型数据流第25页第25页事务型程序结构事务处理事务1事务2事务4操作1操作2操作3操作4细节1细节2细节3细节4事务3事务层操作层细节层由事务型数据流映射得到程序结构第26页第26页结构化设计办法设计环节精化数据流流类型区别事务
7、中心和数据接受选路区别输入和输出分支映射成事务结构映射成变换结构用启发式设计规则精化软件导出接口描述和全局数据结复查详细设计事务分析变换分析事务型变换型第27页第27页变换分析第一步:划分DFD图边界 第二步:建立初始SC图框架顶层都只含一个用于控制主模块 第一层包括传入、传出和中心变换三个模块 第三步:分解SC图各个分支 分解实质上是“映射” 最后可构成初始SC图第28页第28页在形成SC图下应有模块简明阐明每个模块简明阐明应有: 进出该模块信息(接口描述); 模块内部信息(功效、数据) ; 过程陈说,包括主要鉴定点及任务等; 对约束、限制阐明。第29页第29页例子划分DFDPEDCBAWR
8、UVQabcdeprwuv传入部分变换中心传出部分图5.8 在DFD图上划分传入、传出和中心加工部分第一步:第30页第30页第一级分解MEMTMCMAc,ec,eu,wu,w图5.9 第一级分解后SC图第二步:第31页第31页第一级分解后SC(另一个画法)MCMA1ceuc,pQPReprrw,uw传入分支模块中心加工分支模块传出分支模块MA2ME1ME2第32页第32页传入分支分解(1)MACBAbacEDdec,e第三步:第33页第33页传入分支分解(2)Get EA to BRead DD to ERead AB to CGet BGet C MAc,ecebbcaabddb图5.12
9、传入分支分解之二第三步:第34页第34页传出分支分解MEWWrite Vuuw,uvvvPut UU to VMEUWrite Wwwuw,uV(1)(2)第35页第35页变换中心分解 MT R P Qepc,prrw,u图5.15 中心加工分支分解第36页第36页构成初始SC图 MC MT Q P R MEWrite W Put U U to VWrite V A to BRead A Get B D to ERead D B to C Get C Get E MA图5.16 从图5.8导出初始SC图第37页第37页事务分析第一步:在DFD图上拟定边界事务中心接受部分(包括接受路径)发送部分
10、(包括所有动作路径) 第二步:画出SC图框架 DFD图三个部分分别映射为事务控制模块,接受模块和动作发送模块 第三步:分解和细化接受分支和发送分支 第38页第38页例子划分DFD传入 T变换传出接受部分事务中心动作发送部分 + +第39页第39页事务型SC图顶层分解动作发送事务控制接受顶层第一层第40页第40页事务分析映射办法总控调度C路径B路径A路径A路径B路径C路径接受路径第41页第41页混合结构C1AC3BC2DLFGEKJabb1b2b3c1c2c3defghjklm第42页第42页数字仪表板系统需求分析通过模-数转换实现传感器和微处理器接口;在发光二级管面板上显示数据;批示每小时英里
11、数(mph),行驶里程,每加仑油行驶英里数(mpg)等等;批示加速或减速;超速警告:假如车速超出55公里/小时,则发出超速警报铃声。第43页第43页数字仪表板数据流图加仑/小时英里/小时英里/加仑转/分第44页第44页划分数据流图边界第45页第45页数字仪表板第一级分解第46页第46页未经细化输入结构数字仪表板第二级分解第47页第47页未经细化变换结构第48页第48页未经细化输出结构第49页第49页精化后数字仪表板系统软件结构数字仪表板控制 数据转换控制计算mph计算mpg计算里程 驱动仪表板 转换成rpm 计算gph 接受传感器信号显示mpg显示里程发出铃声显示mph 读旋转信号拟定加速/减
12、速读燃料流加速/减速显示发光二极管显示第50页第50页归纳假如数据流不含有明显事务特点,最好使用变换设计假如含有明显事务中心,应当采用事务设计办法不要机械遵循规则,依据实际情况将模块进行合并或分解事务型结构例子书本上“教材购销系统”第51页第51页教材购销系统举例第52页第52页教材购销系统举例第53页第53页教材购销系统举例第54页第54页教材购销系统举例第55页第55页教材购销系统举例第56页第56页教材购销系统举例第57页第57页教材购销系统举例第58页第58页教材购销系统举例第59页第59页教材购销系统举例第60页第60页5.2.5 优化结构设计指导规则 对模块分割、合并和变动调用关系
13、指导规则 提升模块独立性(按四项基本原则调整)模块大小适当 (可脱离DFD图进行调整)保持高扇入/低扇出(3-5不超出9)原则 提升公共(共享)模块使用率!作用域/控制域规则 作用域不要超出控制域范围 位置离受它控制模块越近越好 第61页第61页扇入和扇出MM M扇入M扇出第62页第62页例子:扇出计算实发工资取得工资数据编外人员扣款编外人员工资编外人员税收薪金制工资额计时制工资额常规扣款税收扣款煎饼形结构不可取!第63页第63页例子:扇出常规扣款编外人员实发工资 计算实发工资取得工资数据计时工人实发工资计薪工人实发工资编外人员扣款编外人员税收编外人员工资税收扣款计时制工资额薪金制工资额把煎饼
14、形结构转换成塔型结构第64页第64页有效模块化设计启发式原则:1.评估软件结构初始模型以减少耦合并提升内聚。2.高层高扇出使结构最小化;当深度增长时(尤其是底层)争取提升扇入。(图)3.将模块作用范围限制在模块控制范围内。作用范围:受模块内一个鉴定影响所有模块集合。控制范围:模块本身及其所有下属模块集合。 4.评估模块接口以减少复杂度和冗余并提升一致性。5.定义功效能够预测模块,(如对于相同输入,输出是恒定),但要避免过度限制模块(如数据结构大小、控制流选择、外部接口模式等限制)。第65页第65页作用域和控制域第66页第66页作用域和控制域TOP CD E FABTOP CD E FABTOP
15、 CD E FAB模块D作用域超出控制域模块TOP作用域在控制域内但距离太远,使模块B、D接口有冗余信息D作用域在控制域内第67页第67页结构改变 同一个问题各种软件结构 第68页第68页优化后数字仪表板系统设计第69页第69页总体(概要)设计阶段值得注意问题“一个不能工作最佳设计”价值是值得怀疑应当在设计早期阶段对软件结构进行精化结构简朴通常既表示设计风格优雅有表明效率高第70页第70页过程(详细)设计与概要设计不同在总体(概要)设计阶段,数据项和数据结构描述比较抽象,主要是:形成SC(模块结构)图详细设计要提供关于算法更多细节第71页第71页总体(概要)设计阐明书规范看Word文献概要设计
16、阐明书大纲第72页第72页5.3 过程设计 目的拟定模块采用算法和块内数据结构 任务:编写软件“过程设计阐明书” 为每个模块拟定采用算法 拟定每一模块使用数据结构 拟定模块接口细节 第73页第73页结构化程序设计概念理论提出最早是60年代中期提出Bohm和Jacopini在数学上证实了:只用三种基本控制结构就能实现单入口单出口程序实践发展1971年,IBM公司纽约时报信息库管理系统第74页第74页三种基本控制结构ABABexpTF顺序结构选择结构循环结构AexpTF第75页第75页结构化程序设计技术定义结构化程序设计技术是一个程序设计技术,它采用自顶向下逐步求精设计办法和单入口单出口控制结构,
17、并且只包括顺序、选择和循环三种结构第76页第76页结构化程序设计目的是程序控制流程线性化,即程序动态执行顺序符合静态书写结构。关于GOTO语句提议:当出现算法自然结构被破坏异常情况时,应保留GOTO语句。一个好原则是避免使用跳转表示正常循环和条件语句第77页第77页惯用算法表示形式图形、表格和语言基本要求:提供对设计无歧义描述,即能指明控制流程、处理功效、数据组织以及其它方面实现细节第78页第78页过程设计原则和办法清楚第一设计风格结构第一,效率第二结构化控制结构所有模块只使用单入口、单出口3种基本控制结构逐步细化实现办法把给定模块功效转换成详细过程性描述第79页第79页过程(详细)设计惯用工
18、具流程图N-S图伪代码和PDL语言PAD图第80页第80页程序流程图历史最悠久、使用最广泛描述软件设计办法长处对控制流程描绘很直观缺点本质上不是逐步求精好工具能够随意转移控制不易表示数据结构第81页第81页练习画程序流程图课堂练习: 某模块有两个输入a和b,一个输出c,当满足条件(a0)and(b0)and(b2)时,c=a+b,不然c=a-b。用所学知识画出该模块N-S图。 2、某模块有三个输入a、b和c,一个输出s,当a=1时,s=b+2c,当a=2时,s=2b-c,当a=3时,s=b。用所学知识画出该模块N-S图。第86页第86页伪代码和语言(PDL)在第三章讲分析模型加工阐明时已经用过
19、!用正文形式表示数据结构和处理过程PDL是一个“混合”语言含有严格关键字外部语法使用自然语言表示实际操作和鉴定条件第87页第87页PDL长处能够作为注释直接插在源程序中间能够使用普通正文编辑程序或文字处理系统完毕PDL书写和编辑已有自动处理程序存在,能够自动由PDL生成程序代码第88页第88页PDL缺点不如图形工具形象直观描述复杂条件组合与动作间相应关系时,不如鉴定表或鉴定树清楚简朴第89页第89页 过程设计语言PDL(Procedure design language)又称为结构化语言或伪代码,它采用一个结构化编程语言与另一个语言词汇混合形式。IF 一条或数条语句ELSEIF 一条或数条语句
20、ELSE 一条或数条语句ENDIF 伪代码和语言(PDL)第90页第90页PAD图(问题分析图)问题分析图PAD(Problem Analysis Diagram)用二维树形结构来表示程序控制流。 问题分析图主要特点是:(1)用PAD构成元素设计出来程序必定是结构化程序;(2)问题分析图所描绘程序结构十分清楚;(3)问题分析图表示程序逻辑易读、易懂、易记;第91页第91页PAD图(问题分析图)(4)PAD是二维树形结构图形,程序从图中最左竖线上端结点开始执行,自上而下,从左向右按顺序执行,遍历所有结点;(5)容易将PAD转换成高级语言源程序,该转换可由软件自动完毕,有助于提升软件可靠性和软件生
21、产;(6)既可用于表示程序逻辑,也可用于描绘数据结构;(7)PAD元素支持自顶向下、逐步求精办法使用。第92页第92页PAD图基本符号ABPAPABA1A2An.选择结构until PA顺序结构循环结构while PA12n第93页第93页PAD图基本符号输入框输出框处理框重复框(先鉴定,再重复)重复框(先执行,后鉴定,再重复)选择框子程序框或定义框第94页第94页使用PAD图定义功效实现逐步细化例子第95页第95页练习画PAD课堂练习: 1、某模块有两个输入a和b,一个输出c,当满足条件(a0)and(b2)时,c=a+b,不然c=a-b。用所学知识画出该模块PAD。 2、某模块有三个输入a
22、、b和c,一个输出s,当a=1时,s=b+2c,当a=2时,s=2b-c,当a=3时,s=b。用所学知识画出该模块PAD。第96页第96页详细设计规格阐明与复审详细设计阐明书规范详细设计阐明书是详细设计阶段文档,它是程序运营过程详细描述。第97页第97页详细设计规格阐明与复审2复审复审是指对设计文档复审。1)复审原则 复审目的是为了及早程序中错误,普通不请用户和其它领域代表参与。复审中提出问题应做详细统计,但不寻求当场处理。复审结束前,应做出本次复审能否通过结论。 第98页第98页2) 复审主要内容 审查模块设计是否满足功效和性能要求,选择算法和数据结构是否合理、是否符合编码语言特性,设计描述是否简朴清楚等。3) 复审方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度企业租赁个人车辆协议书样本
- 委托合同:项目委托管理协议
- 2024年商品房代理销售协议合同范本
- 2024年阅卷老师保密协议
- 标准工业产品买卖合同样本
- 电子购销合同范本2024年
- 建设工程石材供应合同法律风险
- 那个星期天公开课一等奖创新教学设计
- 试用合同范本
- 履约担保协议书
- JT-T 1488-2024 网络平台道路货物运输服务规范
- 苏教版四年级上册简单电路
- 手术室患者安全转运
- 《成渝金融科技师能力要求》(公开征求意见稿)
- 地面工程油气集输工艺介绍
- 出口退税“一本通”电子手册
- 2024年税务考试-税务稽查员笔试参考题库含答案
- 安全管理人员个人述职
- 小区消防演练方案流程
- MOOC 国际私法-暨南大学 中国大学慕课答案
- 2023-2024学年上海宝山区九年级上学期期中考试数学试卷含详解
评论
0/150
提交评论