结构化分析方法
被考次数: 20次
被考频率: 高频率
答错率:    51%
知识难度:
考试要求: 掌握     
知识路径:  > 嵌入式系统的项目开发与维护知识  > 结构化分析与设计方法


本知识点历年真题试卷分布
>> 试题列表    
 

 
       结构化分析方法是由美国Yourdon公司在20世纪70年代提出的,其基本思想是将系统开发看成工程项目,有计划、有步骤地进行工作,是一种应用很广泛的开发方法,适用于分析大型信息系统。结构化分析方法采用“自顶向下,逐层分解”的开发策略。按照这种策略,再复杂的系统也可以有条不紊地进行,只要将复杂的系统适当分层,每层的复杂程度即可降低。
       结构化分析的结果由以下几部分组成:
       .一套分层的数据流图(Data Flow Diagram,DFD)。用来描述数据流从输入到输出的变换流程。
       .一本数据字典(Data Dictionary,DD)。用来描述DFD中的每个数据流、文件以及组成数据流或文件的数据项。
       .一组小说明(也称加工逻辑)。用来描述每个基本加工(即不再分解的加工)的加工逻辑。
       结构化分析的过程
       结构化分析的过程可以分为以下4个步骤:
       (1)理解当前的现实环境,获得当前系统的具体模型(物理模型)。
       (2)从当前系统的具体模型抽象出当前系统的逻辑模型。
       (3)分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型。
       (4)为目标系统的逻辑作补充。
       数据流图
       数据流图(Data Flow Diagram,DFD)是结构化方法中用于表示系统逻辑模型的一种工具,描述系统的输入数据流如何经过一系列的加工,逐步变换成系统的输出数据流。这些数据流的加工实际上反映了系统的某种功能或子功能。数据流图中的数据流、文件、数据项、加工等应在数据字典中描述。由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
       数据流图的基本成分及其图形表示方法如下图所示。
       
       DFD的基本成分
          数据流
          数据流由一组固定成分的数据组成,表示数据的流向。在DFD中,数据流的流向可以有以下几种:从一个加工流向另一个加工;从加工流向数据存储(写);从数据存储流向加工(读);从外部实体流向加工(输入);从加工流向外部实体(输出)。
          DFD中的每个数据流用一个定义明确的名字表示。除了流向数据存储或从数据存储流出的数据流不必命名外,每个数据流都必须有一个合适的名字,以反映该数据流的含义。
          数据流或者由具体的数据属性(也称为数据结构)构成,或者由其他数据流构成。组合数据流是由其他数据流构成的数据流,它们用于在高层的数据流图中组合相似的数据流,以使数据流图更便于阅读。
          控制流是对数据流图的补充,采用虚线表示,是对由触发系统功能的事件进行描述。
          另外,一个加工可以有多个输入数据流和多个输出数据流,此时可以加上一些扩充字符符号或图形元素来描述多个数据流之间的关系。如:
          (1)星号(*)。星号表示数据流之间存在“与”关系。如果是输入流则表示所有输入数据流全部到达后才能进行加工处理;如果是输出流则表示加工结束将同时产生所有的输出数据流。
          (2)加号(+)。加号表示数据流之间存在“或”关系。如果是输入流则表示其中任何一个输入数据流到达后就能进行加工处理;如果是输出流则表示加工处理的结果是至少产生其中一个输出数据流。
          (3)异或(⊕)。异或表示数据流之间存在“互斥”关系。如果是输入流则表示当且仅当其中一个输入流到达后才能进行加工处理;如果是输出流则表示加工处理的结果是仅产生这些输出数据流中的一个。
          加工
          加工描述了输入数据流到输出数据流之间的变换,也就是输入数据流经过什么处理后变成了输出数据流。每个加工都有一个名字和编号。编号能反映出该加工位于分层DFD中的哪个层次和哪张图中,也能够看出它是哪个加工分解出来的子加工。
          一个加工可以有多个输入数据流和多个输出数据流,但至少有一个输入数据流和一个输出数据流。
          数据存储
          数据存储用来表示存储数据。通常,一个流入加工的数据流经过加工处理后就消失了,而它的某些数据(或全部数据)可能被加工成输出数据流,流向其他加工或外部实体。除此之外,在软件系统中还常常要把某些信息保存下来以供以后使用,这时可以使用数据存储。每个数据存储都有一个定义明确的名字标识。可以有数据流流入数据存储,表示数据的写入操作;也可以有数据流从数据存储流出,表示数据的读操作;还可以用双向箭头的数据流指向数据存储,表示对数据的修改。
          外部实体
          外部实体是指存在于系统之外的人员或组织,它指出系统所需数据的发源地(源)和系统所产生的数据的归宿地(宿)。在许多系统中,某个源和某个宿可以是同一个人员或组织,此时,源和宿采用相同的图形符号表示,当数据流从该符号流出时,表示它是源;当数据流流向该符号时,表示它是宿;当两者皆有时,表示它既是源又是宿。
          分层数据流图
          根据自顶向下逐层分解的思想,可以将数据流图按照层次结构来绘制,每张图中的加工个数可大致控制在“7加减2”的范围内,从而构成一套分层数据流图。图的逐层分解也就构成父图与子图。即,如果某图(记为A)中的某一个加工分解成一张子图(记为B),则称A是B的父图,B是A的子图。若父图中有n个加工,则它可以有0~n张子图,但每张子图只对应一张父图。
          分层数据流图的顶层只有一张图,其中只有一个加工,代表整个软件系统,该加工描述了软件系统与外界之间的数据流,称为顶层图。顶层图中的加工(即系统)经分解后的图称为0层图,也只有一张。处于分层数据流图最底层的图称为底层图或事件图,在底层图中,所有的加工不再进行分解。分层数据流图中的其他图称为中间层,其中至少有一个加工(也可以是所有加工)被分解成一张子图。在整套分层数据流图中,凡是不再分解成子图的加工称为基本加工。建模分层数据流图时要注意分层数据流图的一致性和完整性。
       数据字典
       数据流图仅描述了系统的“分解”,并没有对各个数据流、加工、数据存储进行详细说明。数据字典就是用来定义数据流图中各个成分的具体含义的,它以一种准确的、无二义性的说明方法为系统的分析、设计及维护提供了有关元素一致的定义和详细的描述。
       数据字典有4类条目:数据流、数据项、数据存储和基本加工。
       数据流条目给出了DFD中数据流的定义,通常列出该数据流的各组成数据项。在定义数据流或数据存储组成时,使用下表给出的符号。
       
       在数据字典的定义式中出现的符号
       数据存储条目是对数据存储的定义;数据项条目是不可再分解的数据单位;加工条目是用来说明DFD中基本加工的处理逻辑。
       加工逻辑的描述
       加工逻辑也称为“小说明”,常用结构化语言、判定表和判定树描述加工逻辑。
       1)结构化语言。结构化语言是介于自然语言和形式语言之间的一种半形式语言,是自然语言的一个受限子集。结构化语言没有严格的语法,它的结构通常可分为内层和外层。外层有严格的语法,内层的语法比较灵活,可以接近于自然语言的描述。
       (1)外层。用来描述控制结构,采用顺序、选择和重复3种基本结构。
       ①顺序结构。一组祈使语句、选择语句、重复语句的顺序排列。祈使语句是指至少包含一个动词及一个名词,指出要执行的动作及接受动作的对象。
       ②选择结构。一般用IF-THEN-ELSE-ENDIF、CASE-OF-ENDCASE等关键词。
       ③重复结构。一般用DO-WHILE-ENDDO、REPEAT-UNTIL等关键词。
       (2)内层。一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其动词含义要具体,尽量不用形容词和副词来修饰,还可使用一些简单的算法运算和逻辑运算符号。
       2)判定表
       在有些情况下,数据流图中某个加工的一组动作依赖于多个逻辑条件的取值。这时,用自然语言或结构化语言都不易于清楚地描述出来,而用判定表能够清楚地表示复杂的条件组合与应做的动作之间的对应关系。
       判定表由4个部分组成,用双线分割成4个区域,如下图所示。
       
       判定表结构
       3)判定树
       判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有