欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    【教学课件】第四章总体设计(SystemDesign).ppt

    • 资源ID:5665029       资源大小:465.97KB        全文页数:34页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【教学课件】第四章总体设计(SystemDesign).ppt

    第四章 总体设计(System Design),开始考虑“How”,但仍属高层设计(确定黑盒关系)1.过程1、确定最佳方案:从DFD出发进行任务分解,不同的划分方法即对应不同的方案。每个合理的方案应配备下列4份资料:系统流程图组成系统的物理元素清单成本/效益分析进度计划 选择最佳方案并制定详细的实现计划(主要技术详见第十三章),1.过程,2、结构设计 模块化思想:将DFD细化,至每个子功能都明白易懂;每个模块完成一个子功能;每层模块合成一个高一级的功能。主要工具有 System Design Hierarchy及HIPO图等。,3、数据库设计(略),5、文档、审查,4、测试计划(详见第七章),2.模块化原理(Modularization),1、原理:经验1:E(P1+P2)E(P1)+E(P2)经验2:P.58 图4.1,2.模块化原理,2、抽象(Abstraction):忽略细节,分层理解问题,自顶向下层层加细。,例:开发一个CAD软件,实现一个二维绘图系统的全部功能,供低级计算机辅助设计使用。,抽象层次I:用问题所处环境的术语来描述这个软件。该软件包括一个计算机绘图界面,向绘图员显示图形,以及一个数字化仪界面,用以代替绘图板和丁字尺。所有直线、折线、矩形、圆及曲线的描画、所有的几何计算、所有的剖面图和辅助视图都可以用这个CAD软件实现。,2.模块化原理,抽象层次II:任务需求的描述。列出“What”而不是“How”。CAD SOFTWARE TASKS:user interaction task;2-D drawing creation task;graphics display task;drawing file management task;END,2.模块化原理,抽象层次III:程序过程表示。以2-D绘图生成任务为例:PROCEDURE 2-D drawing creation REPEAT UNTILE(drawing creation task terminates)DO WHILE(digitizer interaction occurs)Digitizer interface task;DETERMINE drawing request CASE Line:line drawing task;Rectangle:rectangle drawing task;Circle:circle drawing task;END;DO WHILE(keyboard interaction occurs)keyboard interaction task;PROCESS analysis/computation CASE View:auxiliary view task;Section:cross sectioning task;END;END REPETITION;END PROCEDURE.,2.模块化原理,3、信息隐蔽(Information hiding)The clients of a module know about its services only through its interface;the implementation is hidden from them(hence may change without affecting the clients).4、模块独立性(Module independence)好设计的关键:每个模块完成一个相对独立的子功能,并且与其它模块间的接口简单。,在这个抽象层次上,给出了初步的过程表示,所用的术语都已面向软件,而且模块化的工作已经开始显露。,2.模块化原理,耦合(Coupling),独立性的度量:耦合(Coupling)&内聚(Cohesion)(Yourdon&Constantine,1978),2.模块化原理,例1:A访问C的内部数据或不通过正常入口而转入C的内部。,独立性由弱到强排列为:内容耦合(Content Coupling):One module modifies another.,2.模块化原理,例2:部分代码重叠(常出现在汇编程序中),例3:一个模块有多个入口(功能),The least desirable,2.模块化原理,公共耦合(Common coupling):Data are accessible from a common data store.,问题:公共部分的改动将影响所有调用它的模块;公共部分的数据存取无法控制;复杂程度随耦合模块的个数增加而增加。,2.模块化原理,控制耦合(Control coupling):One module passes parameters to control the activity of another module.,接口单一,但仍然影响被控模块的内部逻辑。,数据耦合(Data coupling):Only data are passed.It is easy to trace data and make changes.,The most desirable.,原则:尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,完全不用内容耦合。,2.模块化原理,低内聚:巧合内聚(Coincidental cohesion):Unrelated functions,processes,or data are found in the same module(for convenience).,逻辑内聚(Logical cohesion):Logically related functions or data are placed in the same module.例如:,内聚(Cohesion):The elements of a module are directed to perform the same task.Goal:as cohesive as possible.,2.模块化原理,时间内聚(Temporal cohesion):The functions are related only by the timing involved.例如:系统的初始化问题:不同功能混在一个模块中,有时共用部分编码,使局部功能的修改牵动全局。,中内聚:过程内聚(Procedural cohesion):Functions are grouped together in a module to ensure a certain order of performance.例如:,2.模块化原理,通信内聚(Communicational cohesion):All the functions in a module operate on or produce the same data set.例如:从同一磁带上读取不相干的数据 可能破坏独立性。,高内聚:顺序内聚(Sequential cohesion):The output from one part of a module is the input to the next part.功能内聚(Functional cohesion):Every processing element is essential to the performance of a single function.,3.启发式规划,2.模块规模适中:过大不易理解;太小则接口开销过大。注意分解后不应降低模块的独立性。3.适当控制 深度=分层的层数。过大表示分工过细。宽度=同一层上模块数的最大值。过大表示系统复杂度大。,1.争取低耦合、高内聚(增加内聚 减少耦合),3.启发式规划,扇出=一个模块直接调用控制的模块数。3 fan-out 9,扇入=直接调用该模块的模块数在不破坏独立性的前提下,fan-in 大的比较好。,3.启发式规划,4、作用域在控制域内 控制域,M的控制域为 M,A,B,C,作用域:M中的一个判定所影响的模块。例如:,上例中A的作用超出了控制域。改进方法之一,可以把A中的 if 移到M中;方法之二,可以把C移到A下面。,3.启发式规划,5、降低接口的复杂程度:接口复杂可能表明模块的独立性差。6、单出单入,避免内容耦合。7、模块功能可预测 相同输入必产生相同输出。反例:模块中使用全局变量或静态变量,则可能导致不可预测。作业:你自己负责设计的HDIS界面中可能遇到哪些类型的耦合和内聚?对列出的每种类型试举一例。,4.图形工具,1、Hierarchy和HIPO例:P.65 图4.4例:,4.图形工具,注意:这里的hierarchy表现软件的结构,而非数据结构;每个矩形框代表一个模块,连线表示“调用”而非“组成”;所谓HIPO,即对每个模块附一张IPO图。每个IPO图中应明确标出对应模块的编号。,2、结构图(Structured Diagram)符号:,4.图形工具,例:,注:此图一般不入文档,仅用于检查设计的正确性和模块独立性。,须检查;每个传递的数据是否必须?完成模块功能所必须的数据是否都传递了?传输的数据是否只与单一的功能有关?是否目的明确?,5.面向数据流的设计方法(又称为SD:Structural Design),基本思想:DFD System Hierarchy1、Data Flow 的分类 变换流(Transform Flow):,事实上所有信息流都可归结为变换流,5.面向数据流的设计方法,事务流(Transaction Flow),T=Call one of the several subroutines depending on the type of the incoming transaction request.当信息流具有明显的“发射中心”时,可归结为事务流。,5.面向数据流的设计方法,2、分析设计 变换分析,例:P.68-69 汽车数字仪表板的设计,功能:通过模-数转换实现传感器和微处理机接口;在发光二极管面板上显示数据;指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等;指示加速或减速;如果车速超过55mph,则发出警告铃声。,5.面向数据流的设计方法,第一步:DFD的分界,先分出I、P、O三块,5.面向数据流的设计方法,一般问题的一级分解方法:,5.面向数据流的设计方法,第二步:映射,5.面向数据流的设计方法,例:(与P.70 图4.12 对照),5.面向数据流的设计方法,第三步:修改 本着高内聚、低耦合的原则。例:P.73 图4.19精化后的数字仪表板系统的软件结构。,注:每个模块应附一简要说明描述 进出该模块的信息(接口描述);模块内部的信息;过程陈述,包括主要判定点及任务等;对约束和特殊特点的简短讨论。,5.面向数据流的设计方法,事务分析,5.面向数据流的设计方法,3、SD的总体过程:,优化的前题是:“Get it to work,then make it fast.”,Project Part“总体设计报告”分组演讲,演讲内容:分组任务简介;精化的DFD讲解;System Hierarchy 讲解;选择有代表性的3个模块,给出HIPO图并讲解。演讲时间:下一次课时,每组10分钟演讲+2分钟听众提问。演讲顺序:抽签决定。评分方法:与第一次演讲相同。,评 分 标 准,

    注意事项

    本文(【教学课件】第四章总体设计(SystemDesign).ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开