《软件工程-第8章第2-3节.pptx

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

8.2结构化分析

结构化分析是面向数据流的需求分析的方法,是20世纪70年代后期由Yourdon、Constantine及DeMarco等人提出和发展起来并得到广泛应用的。像所有的软件分析方法(如面向对象分析方法、IDEF方法等)一样,SA也是一种建模活动,该方法使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。

8.2.1自顶向下逐层分解的分析策略面对一个复杂的问题,分析人员不可能一开始就考虑到问题的所有方面以及全部的细节,采取的策略往往是分解,把一个复杂的问题划分成若干小问题,然后再分别解决,将问题的复杂性降低到人可以掌握的程度。分解可分层进行,先考虑问题最本质的方面,忽略细节,形成问题的高层概念,然后再逐层添加细节,即在分层过程中采用不同程度的“抽象”级别,最高层的问题最抽象,而低层的较为具体。图8.1是自顶向下逐层分解的示意图。

图8.1对一个问题的逐层分解

8.2.1自顶向下逐层分解的分析策略顶层的系统X很复杂,可以把它分解为0层的1、2、3三个子系统,若0层的子系统仍很复杂,则再分解为下一层的子系统1.1、1.2、1.3和3.1、3.2、3.3……直到子系统都能被清楚的理解为止。图8.1的顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐步过渡,这种层次分解使分析人员分析问题时不至于一下子陷入细节,而是逐步地去了解更多的细节,如在顶层,只考虑系统外部的输入和输出,其他各层反映系统内部情况。

8.2.2描述工具(1)数据流图。数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等。(2)数据字典。数据字典定义了数据流图中的数据和加工。它是数据流条目、数据存储条目、数据项条目和基本加工条目的汇集。(3)描述加工逻辑的结构化语言、判定表及判定树。结构化语言、判定表及判定树则详细描述数据流图中不能被再分解的每一个基本加工的处理逻辑。

8.2.3SA分析步骤1.建立当前系统的物理模型当前系统(也称现行系统)指目前正在运行的系统,可能是需要改进的正在计算机上运行的软件系统,也可能是人工的处理系统。通过对当前系统的详细调查,了解当前系统的工作过程,同时收集资料、文件、数据及报表等,将看到的、听到的、收集到的信息和情况用图形描述出来。也就是用一个模型来反映自己对当前系统的理解,如画系统流程图(参见2.1.3小节)。这一模型包含了许多具体因素,反映现实世界的实际情况。

8.2.3SA分析步骤2.抽象出当前系统的逻辑模型物理模型反映了系统“怎么做”的具体实现,去掉物理模型中非本质的因素(如物理因素),抽取出本质的因素。所谓本质的因素,是指系统固有的、不依赖运行环境变化而变化的因素,任何实现均这样做。非本质因素不是固有的,随环境不同而不同,随实现不同而不同。对物理模型进行分析,区别本质因素和非本质因素,去掉非本质因素,就形成当前系统的逻辑模型,反映了当前系统“做什么”的功能。

8.2.3SA分析步骤3.建立目标系统的逻辑模型目标系统指待开发的新系统。分析、比较目标系统与当前系统逻辑上的差别,即在当前系统的基础上决定变化的范围,把那些要改变的部分找出来,将变化的部分抽象为一个加工,这个加工的外部环境及输入/输出就确定了。然后对“变化的部分”重新分解,分析人员根据自己的经验,采用自顶向下逐步求精的分析策略,逐步确定变化部分的内部结构,从而建立目标系统的逻辑模型。

8.2.3SA分析步骤4.作进一步补充和优化为了完整地描述目标系统,还要作一些补充:说明目标系统的人机界面,它所处的应用环境及它与外界环境的相互联系,决定人机界面;说明至今尚未详细考虑的细节,如出错处理、输入/输出格式、存储容量和响应时间等性能要求与限制。

8.3数据流图数据流图(DataFlowDiagram,DFD),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程。由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

8.3数据流图图8.2是一个飞机机票预订系统的数据流图,其功能为旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、旅行时间及目的地等)输入机票预订系统。系统为旅客安排航班,打印出取票通知单(付有应交的账款)。旅客在飞机起飞的前一天凭取票通知等交款取票,系统检验无误后输出机票给旅客。

图8.2飞机机票预订系统

8.3.1基本图形符号数据流图有以下4种基本图形符号:→:箭头,表示数据流。○:圆或椭圆,表示加工。?=?:双杠,表示数据存储。□:方框,表示数据的源点或终点

文档评论(0)

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

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

1亿VIP精品文档

相关文档