软件的设计结构化的设计课件

PPT
  • 阅读 57 次
  • 下载 0 次
  • 页数 44 页
  • 大小 402.570 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
软件的设计结构化的设计课件
可在后台配置第一页与第二页中间广告代码
软件的设计结构化的设计课件
可在后台配置第二页与第三页中间广告代码
软件的设计结构化的设计课件
可在后台配置第三页与第四页中间广告代码
软件的设计结构化的设计课件
软件的设计结构化的设计课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 44
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
文本内容

【文档说明】软件的设计结构化的设计课件.ppt,共(44)页,402.570 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-45333.html

以下为本文档部分文字说明:

软件设计福州大学·软件学院张舒结构化设计•结构化设计(SD)的概念源于70年代,它认为程序或系统是由一组功能操作(模块)构成的。–软件设计者首先应该将需要实现的系统看作是逻辑功能(功能模块)的抽象集合,只分析模块之间关系,“无视”模块内部的情况。•模块本身可

以供其他程序使用,也可以是其他程序已编好的模块,模块按一定的层次结构组织起来。结构化设计方法1.总体设计–从DFD导出初始模块结构–按SD设计原则改进初始的模块结构图2.详细设计–选用多种工具对模块图中每个模块的过程进行描述。

体系结构图中的模块•传入模块–从下属模块取得数据,经过某些处理,再将其传送给上级模块。它传送的数据流叫做逻辑输入数据流。•传出模块–从上级模块获得数据,进行某些处理,再将其传送给下属模块。它传送的数据流叫做逻辑输出数据流。•变换模块–它从上级模块取得数据,进行特定的处理,转换成

其它形式,再传送回上级模块。它加工的数据流叫做变换数据流。•协调模块–对所有下属模块进行协调和管理的模块。数据流图分类•数据流图决定问题的类型。•数据处理问题典型的类型有两种:–变换型–事务型–针对两种不同的类型分别进行

分析处理。变换型数据流图•具有较明显的输入、处理(或主加工)和输出的数据流图称为变换型数据流图。•在变换型数据流图中,主加工是系统的中心。变换型体系结构图•通过变换分析技术,将变换型DFD转换为变换型体系结构图.•例如:–对于下图,–可以转换系统

结构图为变换分析•变换分析方法由以下四步组成:1.分析变换型数据流图,区分有效(逻辑)输入、有效(逻辑)输出和中心变换部分标出界限。AFDECBakhfedcbj物理输入物理输出逻辑输出逻辑输入信息处理中心变换型数据流图(加工或变换)2.进行一级分解,设计上层模块–顶层是

主模块设计–第一层是输入、输出及处理设计。SystemGetbbintojOutjbbjjSystemGetbbintojOutjInaaintobBCDEjintokOutkbbjjbaakbh,fe,fcc,dhd,ekjj3.

进行二级分解,设计输入、输出和中心变换部分的中、下层模块。4.进一步细化–对中下层模块继续细化,一直分解到物理的输入和输出为止。注意:①在选择模块设计的次序时,必须对一个模块的全部直接下属模块都设计完成之后,才能转向另一个模块的下层模块的设计。②在设计下层模块时,

应考虑模块的耦合和内聚问题,以提高初始结构图的质量。③使用“黑箱”技术:–在设计当前模块时,先把这个模块的所有下层模块定义成“黑箱”,在设计中利用它们时,暂时不考虑其内部结构和实现。–在这一步定义好的“黑箱”,在下一步就可以对它们进行设计和加工。这样,又

会导致更多的“黑箱”。最后,全部“黑箱”的内容和结构应完全被确定。④在模块划分时,一个模块的直接下属模块一般在5个左右。如果直接下属模块超过10个,可设立中间层次。⑤如果出现了以下情况,就停止模块的功能分解:当模块不能再细分为明显的子任务时;当分解成用户提供的模块或

程序库的子程序时;当模块的界面是输入/输出设备传送的信息时;当模块不宜再分解得过小时。事务型数据流图•在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能。这种数据流就叫做事务。•某个加工将它的输入分离成一串发散的数

据流,形成许多活动路径,并根据输入的值选择其中一条路径,•具有这样特征的数据流图是事务型数据流图。事务型体系结构图•对事务处理型的DFD采用事务分析技术能转换为事务型体系结构图。事务分析•与变换分析一样,事务分析也是

从分析数据流图开始,自顶向下,逐步分解,建立系统到结构图。①确定流界首先从数据流图中找出事物流、事务处理中心和事物路径。事务中心前是接受事物,事务中心后是事物路径。进行一级分解,设计顶层模块。IP1P2P3事物流事务中心事务处理事务控制原始的数据流图对应模块图事务分析过程IP1P2P3事物

流事务中心事务处理事务控制接受事务发送事务②进行二级分解,设计上层模块事务分析的任务是从数据流图中导出具有接受分支和发送分支的软件结构。对事务中心应设计“事务控制”模块;对事务流应设计“接受事务”模块;对事务路径,应设计“

发送事务”模块。原始的数据流图对应模块图事务分析技术(续一)IP1P2P3事物流事务中心事务处理事务控制接受事务发送事务P1P2P3原始的数据流图对应模块图③进行三级分解,设计中下层模块对于接受分支,可用类似于变换处理型数据流图中对输入数据流的方法设计中下层。对于发送分支,在发送事务模块下

为每条事务路径设计一个事务处理模块,这一层称为事务层。在事务层模块下,沿各事务路径进行进一步细化。事务分析技术(续二)Tips•变换分析是软件体系结构设计的主要方法。–一般,一个大型的软件系统是变换型结构和事务型结构的混

合结构。所以,我们通常利用以变换分析为主,事务分析为辅的方式进行软件结构设计。修改记录写记录卡片编辑卡片检查顺序检查次序比较帐号错误顺序卡片修改信息旧记录顺序记录要修改的记录不修改的记录已修改的记录新记录新记录报告报告顺序记录修改信息实例:银行贷款文件管理(MFUP

)修改分类抽出修改顺序卡片修改信息2345679需求分析结果—DFD图编辑卡片加工分解主加工是??将DFD图转换为模块结构图贷款文件管理系统取顺序记录修改记录打印报告打印记录比较帐号取修改信息读旧记录检查顺序取卡片编辑卡片读卡片检查

顺序卡片卡片顺序卡片旧记录旧记录顺序记录顺序记录顺序卡片顺序卡片已修改“编辑卡片”应继续向下分解,是典型的“事务处理”型的DFD图。写记录修改记录写记录卡片编辑卡片检查顺序检查次序比较帐号错误顺序卡片修改信息旧记录顺序记录要修改的记录

不修改的记录已修改的记录新记录报告结构化设计方法的设计过程精化数据流流类区分事务中心和数据接受选路区分输入和输出分支映射成事务结构映射成变换结构用启发式设计规则精化软件导出接口描述和全局数据结复查详细

设计事务分析变换分析软件模块结构的改进•模块功能的完善化•一个完整的模块应当有以下几部分:1.执行规定的功能的部分;2.出错处理的部分。当模块不能完成规定的功能时,必须回送出错标志,出现例外情况的原因。3.如果需要返回数据给它的调用者,在完成数据加工或结

束时,应当给它的调用者返回一个状态码。•消除重复功能,改善软件结构1.完全相似:在结构上完全相似,可能只是在数据类型上不一致。此时可以采取完全合并的方法。2.局部相似:找出其相同部分,分离出去,重新定义成一个独立的下一层模块。还可以与它的上级模块合并。•模块的作用范围应在控制范围之内–

模块的控制范围包括它本身及其所有的从属模块。–模块的作用范围是指模块内一个判定的作用范围,凡是受这个判定影响的所有模块都属于这个判定的作用范围。–如果一个判定的作用范围包含在这个判定所在模块的控制范围之内,则这种结构是简单的,否则,它的结构是不简单的.•尽可能减少高扇出结构

,随着深度增大扇入。如果一个模块的扇出数过大,就意味着该模块过分复杂,需要协调和控制过多的下属模块。应当适当增加中间层次的控制模块。•避免或减少使用病态联接应限制使用如下三种病态联接:①直接病态联接即模块A直接从模块B内部取出某些数据,或者把某些数据直接送到模块B内

部。②公共数据域病态联接–模块A和模块B通过公共数据域,直接传送或接受数据,而不是通过它们的上级模块。–这种方式将使得模块间的耦合程度剧增。它不仅影响模块A和模块B,而且影响与公共数据域有关联的所有模块。③通信模块联接–即模块A和模块B通过通信模块TABLEIT传送数据。–从表面看

,这不是病态联接,因为模块A和模块B都未涉及通信模块TABLEIT的内部。–然而,它们之间的通信(即数据传送)没有通过它们的上级模块。从这个意义上讲,这种联接是病态的。•模块的大小要适中–模块的大小,可以用模块中所含语句的数量的多少来衡量。–把模块的大小限制在

一定的范围之内。–例如:规定其语句行数在50~100左右,保持在一页纸之内,最多不超过500行。•设计功能可预测的模块,但要避免过分受限制的模块–一个功能可预测的模块,不论内部处理细节如何,但对相同的输入数据,总能产生同样的结果。–但是,如果模块内部蕴藏有一些特殊的鲜

为人知的功能时,这个模块就可能是不可预测的。–对于这种模块,如果调用者不小心使用,其结果将不可预测。–如果一个模块的局部数据结构的大小、控制流的选择或者与外界(人、硬软件)的接口模式被限制死了,则很难适应用户新的要求或环境的变更。–为了能够适应将来的变更,软件模块中局部数据结构的大小应当

是可控制的,控制流的选择对于调用者来说,应当是可预测的。而与外界的接口应当是灵活的。•软件包应满足设计约束和可移植性–为了使得软件包可以在某些特定的环境下能够安装和运行,对软件包提出了一些设计约束和可移植的要求。–例如,设计约束有时要求一个程序段在存储器中覆盖自身。当这种

情况出现时,设计出来的软件程序结构不得不根据重复程度、访问频率、调用间隔等等特性,重新加以组织。设计的后处理•为每一个模块写一份处理说明•为每一个模块提供一份接口说明•确定全局数据结构和局部数据结构•指出所有

的设计约束和限制•进行概要设计的评审•进行设计的优化(如果需要和可能的话)

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?