《软件工程》第5章 数据驱动的软件设计方法.ppt

《软件工程》第5章 数据驱动的软件设计方法.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《软件工程》第5章 数据驱动的软件设计方法.ppt

第 5 章 数据驱动的软件设计方法 邢承杰 北京大学计算中心管理信息中心 E-mail: xingcj@pku.edu.cn 数据驱动的软件设计方法 面向数据结构的设计方法,其核心思想是以输入/输出数据结构以及内部存储信息的结构作为设计的出发点,按照特定的变换规则,逐步将数据结构的描述变换为对软件结构的描述。 5.1面向数据结构的设计方法介绍 面向数据结构的设计方法是特殊的结构化的设计方法,它没有明确地划分总体设计和详细设计阶段,而是以数据结构为出发点来设计软件。 典型的面向数据结构的设计方法有: ⑴Jackson方法70年代英国人Jackson倡导的。 ⑵LCP方法:(逻辑构造程序方法)。70年代法国人Warnier首先倡导的—―Warnier图。 例如 处理一批订货单这个过程:订货单是一个数据结构,可表示为:订货单={商品号+商品名+定货数+金额}, 其中:商品号,商品名用于处理过程的归类;定货数,金额用于累计;{}表示结构是重复的,因而决定程序必须以循环方式来实现。 5.2 Jackson方法 一、Jackson图: 虽然程序中实际使用的数据结构繁多,但是它们的基本数据元素之间的逻辑关系却只有顺序、选择和重复三类。Jackson方法中把这三类基本逻辑关系表示成三种基本的层次结构,并用Jackson图给出表示。 1、三种基本结构的描述 Jackson图的优点如下: 表达层次结构的能力特别强,尤其适合对结构进行自顶向下地逐层分解表达。 用Jackson图表达的结构关系形象直观,可读性好 Jackson图不仅可以用来表达数据结构关系,还能用于表达程序的控制结构,因为结构程序设计也使用上述三种基本结构。 Jackson图的缺点在于,在表达选择或重复数据结构时,图中不能直接表示选择的条件或重复的条件,从而影响了图的表达能力,也影响了直接把图翻译成程序过程的能力。为了解决上述问题,有人提出了允许在图上直接标示相应的条件而给出了改进型的Jackson图。 改进的Jackon图: 2、数据结构的Jackson图 例:制作教职工名册: 数据描述如下:教职工名册 3、程序结构的表示方法 数据结构的Jackson图转化为程序结构的Jackson图 二、Jackson方法的设计步骤 步骤1、画出输入,输出结构的Jackson图。可省略与解题无关的信息。 请看例子:将高考后考生的基本情况文件和考生高考成绩文件合并成一个新文件。 从已知条件可以得出如右边的三个基本文件结构图 相应的Jackson图: 二、Jackson方法的设计步骤(续) 步骤2、从输入输出的数据结构中找出有对应关系的数据单元。所谓“对应关系”是指类型,结构相似并在程序中可以同时处理的数据单元。 本例中输出结构和输入结构完全可以找到对应的数据单元。 根据步骤2、3导出程序的Jackson图如下: 步骤3、导出程序结构的Jackson图,原则如下: ⅰ) 有对应关系的数据单元画一个处理框。 ⅱ) 为输入数据剩余的单元画一处理框。 ⅲ) 为输出数据剩余的单元画一处理框。 ⅳ) 所有的处理框应与它处理的数据单元在Jackson图的层次相对应。 如果输出结构与输入结构不存在对应关系。这种情况属结构冲突,这种情况就不能简单地使用Jackson方法。 二、Jackson方法的设计步骤(续) 步骤4、列出程序处理中将涉及到的操作和条件(包括分支条件和循环结束条件),并且把它们分配到程序结构中它们应该在的适当位置。 二、Jackson方法的设计步骤(续) 步骤5、按Jackson图的程序结构转换成伪代码。 Jackson方法中定义了一种称为伪代码的语句表达形式,这种伪码和Jackson图是完全对应的,下面给出三种基本结构的Jackson图对应的伪码表示: 三种基本结构的伪码表示 5.3 Jackson与SD方法的比较 比较说明 不同的出发点导出的目标不同 SD方法由DFD图导出SC图,目标是模块设计,分两个阶段进行,先结构设计,再作详细设计 Jackson方法是由数据结构导出程序结构,这种程序结构即可直接用伪代码描述,不分结构设计和详细设计,它只适合于规模较小的数据处理系统(如数据库系统)。 两种方法都遵循结构程序设计的原则:自顶而下逐步细化的策略。 结构化方法 结构化方法(Structured Method)是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。 结构化开发方法提出了一组提高软件结构合理性的准则,如抽象与分解、模块独立性、信息隐藏等。 针对软件生存周期各个不同的阶段,它有结构

文档评论(0)

资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档