网站大量收购独家精品文档,联系QQ:2885784924

软件工程 (第二版)第8章结构化方法.ppt

  1. 1、本文档共109页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 结构化方法 8.1 概述 1. 结构化方法 结构化方法是指根据某种原理,使用一定的工具,按照特定步骤工作的软件开发方法。它遵循的原理是自顶向下、逐步求精,使用的工具有数据流图(DFD)、数据字典、判定表、判定树和结构化语言等。 结构化方法是从分析、设计到实现都使用结构化思想的软件开发方法,实际上它由三部分组成:结构化分析(Structured Analysis,简称SA),结构化设计(Structured Design ,简称SD)和结构化程序设计(Structured Pergramming, 简称SP)。 2. 发展历程 在结构化方法的发展历程上,它是随着SP方法的提出、SD方法的出现直至SA方法提出才逐渐形成的。 1) 结构化程序设计 首先出现的是SP,它是20世纪60年代末首先由Dijkstra提出的,旨在控制程序编制中的复杂性问题。SP被称为软件发展中的第三个里程碑,Dijkstra提出“GOTO语句可以从高级语言中取消”,1969年Bohm和Jacopini首次证明了只要三种控制结构(顺序、选择、重复)就能表达用一个入口和一个出口的流程图所能表达的任何程序逻辑。他们的工作为结构程序设计提供了理论基础,验证该方法的最著名的例子是纽约时报的信息库管理系统。在当时该系统共有83 000行高级语言代码,只花了11人年,在22个月内就完成了这一复杂的软件系统,按时交付使用。使用证明,该系统是高度可靠的。结构化程序设计的基本要点已在3.5.2节介绍了。 2) 结构化设计 20世纪70年代中期L.L.Constantine和E.Yourdon提出和倡导了结构化设计。在SP取得重大成功的影响下,Yourdon等人把结构化和逐步求精的思想由编码阶段应用推广到设计阶段,后来又扩充到分析阶段,形成了包括SD和SA在内的基于数据流的系统设计方法。SD的目标在于控制系统体系结构一级的复杂性,实施原则是基于功能分解,验证技术是人工复审测试。 3) 结构化分析 20世纪70年代末期,由Demarco等人提出了SA方法。该方法旨在减少分析活动中的错误,产生系统的逻辑模型,其分析的对象是结构化的功能说明;它实施的原则是面向数据流,基于功能分解,靠人工复审测试进行验证。 3. 基本思想 结构化方法总的指导思想是自顶向下,逐步求精, 它的两个基本原则是抽象与分解。 4. 特点 结构化方法具有以下特点: (1)它是使用最早的开发方法,使用时间也最长。 (2)它应用最广,特别适合于数据处理。 (3)相应的支持工具多,发展较为成熟。 5. 优点 结构化方法一经问世,就显示出了它的以下几大优点: (1) 简单、实用。 (2) 适合于瀑布模型,易为开发者掌握。 (3) 成功率较高,据美国1000家公司统计,该方法的成功率高达90.2%,名列第二,仅次于面向对象的方法。 (4) 特别适合于数据处理领域中的应用,对其他领域的应用也基本适用。 6. 存在问题 结构化方法存在以下一些问题: (1) 对于规模大的项目,特别复杂的应用不太适应。 (2) 难于解决软件重用的问题。 (3) 难于适应需求的变化。 (4) 难于彻底解决维护问题。 8.2 结构化分析 8.2.1 自顶向下逐层分解的分析策略 面对一个复杂的问题,分析人员不可能一开始就考虑到问题的所有方面以及全部的细节,采取的策略往往是分解,把一个复杂的问题划分成若干小问题,然后再分别解决,将问题的复杂性降低到人可以掌握的程度。分解可分层进行,先考虑问题最本质的方面,忽略细节,形成问题的高层概念,然后再逐层添加细节,即在分层过程中采用不同程度的“抽象”级别,最高层的问题最抽象,而低层的较为具体。图8.1是自顶向下逐层分解的示意图。 顶层的系统X很复杂,可以把它分解为0层的1, 2, 3三个子系统,若0层的子系统仍很复杂,再分解为下一层的子系统1.1, 1.2, 1.3和3.1, 3.2, 3.3 ……直到子系统都能被清楚的理解为止。 图8.1的顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐步过渡,这种层次分解使分析人员分析问题时不至于一下子陷入细节,而是逐步地去了解更多的细节,如在顶层,只考虑系统外部的输入和输出,其他各层反映系统内部情况。 依照这个策略,对于任何复杂的系统,分析工作都可以有计划、有步骤及有条不紊地进行。 8.2.2 描述工具 SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。这些描述工具有以下几种: (1) 数据流图。数据流图描述系

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档