第5章面向数据流的软件设计方法课件

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

【文档说明】第5章面向数据流的软件设计方法课件.ppt,共(41)页,782.574 KB,由小橙橙上传

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

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

第5章面向数据流的软件设计方法内容5.1数据流图与数据字典5.2实体关系图5.3面向数据流的分析过程5.4面向数据流的设计过程5.5启发式设计策略2(1)数据流图3外部实体位于软件系统边界之外的信息产生者或信息接收者转换转换数据流的处理过程,又称为

泡(Bubble)数据流在转换之间有向流动的数据项或数据项集合数据源为一个或多个转换提供数据源或数据存储服务的缓冲区、文件或数据库数据流图的层次数据流图就是用来刻画数据流和转换的信息系统建模技术。它提供层次结构让分析人员能够方便地表示任意抽象级别上的信息系统或其子部分,并支持问题分解

、逐步求精的分析方法。初始时,整个信息处理系统可以用顶级(第0级)数据流图表示。在数据流方法中,对数据(数据流)的精化是伴随着对转换的精化而同步进行的。4顶级数据流图5外部实体软件系统外部实体外部实体外部实体输入数据流输入数据流输出数据流输出数据

流数据流图的精化在进行逐层精化的过程中,必须维持层间数据流图的平衡,即,被精化的转换的输入、输出流必须与精化它的数据流子图的初始输入流和最终输出流严格一致。要注意逐层精化必须适可而止,因为设计之前的分析活动只求对问题的全面、清晰的理解,并不关心软件的设计细

节。6(2)数据字典数据流图机制并不足以完整地描述软件需求,因为没有描述数据流的内容。数据流图必须与描述并组织数据条目的数据字典配套使用。数据条目的定义必须遵循以下原则:精确、简洁,并且能为用户方和软件开发方共同理解。7数据字典的内容在数据流图中标识数据流、数据源或外部实体的名称与别名;

数据类型;所有以它作为输入流或输出流的转换的列表;如何使用该数据条目的简要说明;数据条目的解释性说明;其它补充说明,例如取值范围与缺省值,有关的设计约束等。8数据字典示例-电话号码《电话号码》∷=《分机号》|《外线号码》《分机号》∷=3501|3502|……|3599

《外线号码》∷=2+(《市话号码》|《长话号码》)《长话号码》∷=0+(《区号》+《市话号码》)《区号》∷=任何长度为2或3的数字串《市话号码》∷=《局号》+《分局号》《局号》∷=455|448|888|552《

分局号》∷=任何长度为4的数字串9内容5.1数据流图与数据字典5.2实体关系图5.3面向数据流的分析过程5.4面向数据流的设计过程5.5启发式设计策略10引入实体关系图的原因在数据密集型应用问题中,对复杂数据及数据之间复杂关系的分析和建模将成为需求分析

的重要任务。显然,这项任务是简单的数据字典机制无法胜任的。所以,有必要在数据流分析方法中引进适宜于复杂数据建模的实体关系图。11数据对象、属性与关系数据对象是现实世界中实体的数据侧面;或者说,数据对象是现实世界中省略了功能和行为的实体。数据对象由其属

性刻画。通常,属性包括:命名性属性描述性属性引用性属性应用问题中的任何数据对象都不是孤立的,它们与其它数据对象一定存在各种形式的关联。12实体关系图实体关系图是表示数据对象及其关系的图形语言机制,具体包括标识

系统输入/输出的数据对象、定义对象的属性、描述对象间的关系。130:11:10:多1:多建立实体关系图的过程1)客户列出业务过程中的事物,它对应一组输入/输出数据对象,及生产/消费信息的外部实体。2)系统分析员和客户逐个定义对象及对象

间的连接。3)根据对象间的连接标识对象-关系偶。4)确定对象-关系偶的数量关系。5)重复2)-4)直至创建所有的对象-关系偶。6)描述实体属性。7)复审实体-关系图。8)重复1)-7)完成数据建模。14内容5.1数据流图与数据字典5.2实体关系图5.3面向数据流的分析过程5.4面向数据

流的设计过程5.5启发式设计策略15(1)建立数据流模型在创建用户需求的数据流模型的过程中,分析人员应遵循以下规则:1.首先建立顶级数据流图,其中只含有一个代表目标软件系统整体处理功能的转换。2.对用户需求的文字描述进行语法分析,其中的名词和名词短语构成潜在的外部实体、数据源或数据流,动词构成潜

在的处理功能。3.采用通常的功能分解方法,按照“强内聚、低耦合”原则逐个对处理功能进行精化;与此同时逐步完成对数据流的精化,并针对被精化的处理功能生成下一级数据流图。4.在精化过程中必须维持各级数据流图的平衡。5.精化过程应适可而止,避免涉及软件设计细节。16示例:ATM顶级数据流图17用户控制

面板银行ATM系统存款器显示器取款器用户命令存入款项信息取出款项信息显示信息管理员控制开关管理员命令读卡器银行卡信息银行系统打印机账户变更信息银行系统账户信息打印信息示例:一级数据流图18用户控制面板命令处理存款器显示器取款器用户命令存款数额取款数额显示信息管理员控制开关启动

/停止命令读卡器银行卡信息银行系统打印机账户变更信息银行系统帐户和密码信息打印信息密码核对启动/停止取款查询余额存款信息显示凭条打印转帐存款命令查询命令取款命令转帐命令启动/停止状态交易记录存款交易记录查询交易记录转帐交易记录

取款交易记录需显示的交易信息账户和用户输入密码有效/无效打印信息银行系统账户信息账户信息银行系统账户信息账户信息启动/停止命令示例:二级数据流图19取款数额获取账户余额取款命令取款交易记录账户余额余额比

较账户余额正常取款处理余额不足处理余额满足余额不足生成交易记录处理结果处理结果取款命令分析取款数额(2)过程规格说明对于数据流图中不再分解的处理功能,分析人员要借助结构化的自然语言对其功能进行精确、简洁的描述。例如,余额比较:(1)参数:取款数额;类别:整数(

2)处理步骤:(a)从银行系统中获取账户的余额信息;(b)比较账户余额和取款金额之间的大小;(c)如果账户余额大于等于取款金额,则进入“正常取款处理”(d)如果账户余额小于取款金额,则进入“余额不足处理”;(3)约束条件:每次的取款金额不能超过2000元。20内容

5.1数据流图与数据字典5.2实体关系图5.3面向数据流的分析过程5.4面向数据流的设计过程5.5启发式设计策略21(1)基本概念和设计过程面向数据流的方法能方便地将数据流图转换为软件结构,其过程分为五步:1.确定信息流的类型;2.划定流界;3.将数据流图映射为程

序结构;4.提取层次控制结构;5.通过设计复审和使用启发式策略进一步精化所得到的结构。22变换流入信息流沿传入路径进入系统,同时由外部形式变换为内部形式,经系统变换中心加工、处理,作为输出信息流又沿传出路径离开系统,并还原为外

部形式。23事务流单个数据项称为事务(Transaction)沿传入路径(也称接受通道)进入系统,由外部形式变换为内部形式后到达事务中心,事务中心根据数据项计值结果从若干动作路径中选定一条继续执行。24设计过程25流的类型精化数据流图确定事务中心和各

动作路径“事务流”确定输入、输出流界“变换流”映射为事务结构映射为变换结构提取控制结构利用启发式策略精化软件结构描述接口和全局数据结构复审未通过通过详细设计事务分析变换分析变换分析的步骤步骤一:复审基本系统模型步骤二:复审和精化软件数据流图步骤三:

确定数据流图的特性,判定它为变换流还是事务流步骤四:通过划定输入流和输出流的边界来孤立变换中心26确定变换中心27变换分析的步骤步骤五:执行“一级分解”28输入流变换流输出流主控模块变换流控制模块输入流控制模块输出流控制模块变换分析的步骤步骤六:执行“二级分解”29主控模块输入流

控制模块DBCAABCD“存款”子系统的程序结构“雏形”30主控模块更新账户信息控制模块存款信息输入控制模块生成交易记录控制模块获取账户余额核对存款命令分析获取存款器数额更新账户余额生成交易记录提交交易记录变换分析的步骤步骤七:采用启发式设计策略,精化所得

程序结构雏形,以求改良软件质量31主控模块存款信息输入控制模块获取账户余额核对存款命令分析获取存款器数额更新账户余额生成交易记录提交交易记录(3)事务分析事务分析法的步骤与变换分析方法基本类似,主要差别在于从数据流图到程序结构的

映射。事务分析法可概括为七个步骤,其中前三个步骤与变换分析法相同,即:步骤一:复审基本系统模型步骤二:复审并精化软件数据流图步骤三:确定数据流图的特性,判定它为变换流还是事务流32事务分析的过程步骤四:指出事务中心,确定由事务中心

发出的每一动作路径的数据流特性33启动命令处理用户命令存款数额取款数额启动/停止命令银行卡信息帐户密码密码比较启动/停止取款查询余额存款转帐存款命令查询命令取款命令转帐命令启动/停止状态存款交易记录查询交易记录转帐交易记录取款交易记录账户和用户输入密码有效/无效账

户信息账户信息账户信息账户信息启动/停止命令读入外部命令命令分析命令信息命令读用户密码用户输入密码生成输出信息核对结果事务分析的过程步骤五:把数据流图映射为事务处理型的程序结构34ABDPQRSBAQPDC1RS流

C1接收路径事务控制散转“命令处理”的一级分解35外部命令处理主控模块转帐控制模块命令分析启动命令处理存款控制模块读入外部命令查询余额控制模块取款控制模块密码核对控制模块启动/停止控制模块事务分析的过程步骤六:分解并精化事务结构以及每条动作路径所对应的结构36外部命令处理主控模块转帐控制模

块命令分析启动命令处理存款控制模块读入外部命令查询余额控制模块取款控制模块密码核对控制模块启动/停止控制模块生成输出信息读用户密码密码比较事务分析的过程步骤七:使用启发式设计策略,精化所得程序结构雏形,改良软件质量37内容5.1数据流图与数据字典5.2实体关系图5.3面向数据流的分

析过程5.4面向数据流的设计过程5.5启发式设计策略38启发式设计策略是人们从长期的大量软件开发过程中积累总结的经验:改造程序结构,减小耦合度,提高内聚度。改造程序结构,减少高扇出,在增加程序深度的前提下追求高扇入。改造程序结构,使任一模块的作用域在其控制域之

内。改造程序结构,减少接口的复杂性和冗余程度,提高协调性。模块功能应该可预言,避免对模块施加过多限制。改造程序结构,追求单入口单出口的模块。为满足设计或可移植性的要求,把某些软件用包的形式封装起来。39本章完

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