资源预览内容
第1页 / 共80页
第2页 / 共80页
第3页 / 共80页
第4页 / 共80页
第5页 / 共80页
第6页 / 共80页
第7页 / 共80页
第8页 / 共80页
第9页 / 共80页
第10页 / 共80页
亲,该文档总共80页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第三章 结构化分析,第一节 结构化分析的主要工具 第二节 结构化分析方法的实现步骤 第三节 结构化分析规格说明书 第四节 结构化分析实例,第一节结构化分析的主要工具,结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。为了能够准确、清晰地描述数据的流向人们使用数据流程图;为了明确地定义数据的组成和数据项的含义使用数据字典;为了对数据处理的描述使用IPO模块说明 。,1系统流程图,系统流程图是描述一个系统物理模型的图形工具,使用一些图形符号以黑盒子的形式描绘系统的每个部件,如设备、文件、数据库、程序、通讯和人工过程等。通常可以在需求调研阶段使用它来描绘用户当前系统的物理模型,需求分析时在物理模型的基础上获得系统的逻辑模型,在设计阶段根据系统的逻辑模型设计出新系统的物理模型。,见讲义系统流程图的常见符号表:,注意:,系统流程图和程序流程图的区别,系统流程图是反映系统物理结构的概貌,它主要描绘信息在系统各个物理部件之间的流动情况,每个部件都是一个未打开的黑盒子;程序流程图是反映系统中具体模块或算法的处理过程,也可以理解为对打开的黑盒子中内容的描述 。,系统流程图有两个作用,一是可以用系统流程图描述系统的组成元素; 二是用来描述信息在各个元素之间的流动情况。 例如,我们可以在分析阶段用系统流程图展示当前系统的物理结构,将现系统的设备、接口、通讯等情况一一描绘出来。在设计阶段,将新系统的设备、接口、通讯以及软件元素也都描绘在系统流程图中,并且可以由此生成系统的软硬件初始配置清单。然后根据系统的运行环境要求和具体性能要求、投入成本等综合因素对软硬件设备进行具体选型。,软件系统的物理模型应该反映软件元素在各个硬件元素上的分布、以及各个软硬件元素之间的信息通信。软件元素包括文件、数据库、模块等。硬件元素包括客户机、服务器、网络设备、通信设备、信息采集设备等,画系统流程图的步骤:,首先找出可能的系统硬件元素,如果是人工系统则找出各个相关的业务部门或组织;接着寻找各个硬件元素上分布的软件元素,如果是人工系统则寻找各个部门或组织的职责(任务);然后,找出各个元素之间的通信或连接方式;最后仔细研究各个元素,对于比较复杂的软件元素需要描述主要处理步骤(不要过于详细)和信息流,如果是人工系统,需要对处理复杂的过程进行简要描述,对于硬件元素需要说明规格和型号。,图书馆信息管理系统流程图,借还书部分的系统流程图实例,2 数据流程图,数据流程图是描绘系统逻辑模型的图形工具,只描绘信息在系统中的流动和处理情况,不反映系统中的物理部件,数据流程图使用四个标准的基本符号。,数据的源点或终点,数据的源点和终点可能是相同,为了保持图形的清晰,最好重复画一个相同的符号,将它们分别表示。源点和终点的名称直接写在图形符号里,处理,处理是数据流程图的核心,一个处理可以表示一个程序、一个模块、多个程序、也可以是人工处理过程。为了使系统清晰,便于管理,每个处理应该给予一个编号,这个编号与处理说明中的编号是对应的,非常便于查找。每个处理的名称写在图形符号中,使得数据流程图易于理解。,数据流,数据流是在处理与数据存储、处理与数据源/数据终点、处理与处理之间流动的信息。通常在实际开发中,不提倡处理之间直接传递的数据流,最好是在处理之间经过数据存储来传递信息,这样系统的安全性会更好。数据流程图中的每个数据流都需要给予一个编号或名称。,数据存储,数据存储是保存数据的地方,它可以是一个文件、一张数据库表、也可以是文件或数据库表的一部分。,注意:,数据流程图是描绘信息在系统中的流动和处理,在数据流程图中不能反映控制流,许多人画数据流程图时总是想加入分支判断或循环,这类控制性的流程属于程序流程图描绘的内容,不要放入数据流程图中,层次数据流图,注意,数据流程图上所有图形符号只限于前述四种基本图形元素。数据流程图必须包括前述四种基本元素,缺一不可。 数据流程图上的数据流必须封闭在外部实体之间。 每个加工至少有一个输入数据流和一个输出数据流。,注意,在数据流程图中,需按层给加工框编号,编号表明该加工所处层次及上下层的亲子关系。 一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。数据流程图上每个元素都必须有名字和编号。 数据流图中不可夹带控制流。 初画时可以忽略琐碎的细节,以集中精力于主要数据流,然后通过不断细化添加必要的细节 。,3数据字典,在结构化分析时所定义的数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和外部实体。数据字典中所有的定义必须是严密的、精确的、无二义性的。数据字典把数据的最小组成单位看成是数据元素或者叫做基本数据项,若干个数据元素可以组成一个数据结构也叫做组合数据项。,数据流词条的定义,数据流是数据结构在系统内的传播路径,一个数据流词条的主要内容如下: 数据流名称:给数据流起一个有意义的名称。 编号:与数据流图中的编号相对应。 说明:简要介绍它的作用 数据流来源:来自哪里 数据流去向:流向哪里 数据流组成:数据结构 数据流量和数据量:流通量、数据量,数据元素词条的定义,数据元素是数据处理中最小的、不可再分解的单位。它直接反映事物某个属性,它的描述如下: 数据元素名称:给数据元素起一个有意义的名称,便于交流和记忆。 简称:数据元素的简称可以作为数据元素在程序中的名称。 类型:数据元素的类型,例如:字符型、数字型、布尔型等。,长度:数据元素的长度。例如:身份证号的长度18位。 取值范围:数据元素的取值范围,例如,职工年龄的去值范围定义为18至60岁,表示为1860。 初始值:数据元素的初始值,例如,为了操作简便,软件定义借书日期的初始值默认为系统的当前日期。 相关的数据元素及数据结构:如果一个数据元素有相关的数据元素和数据结构可在此说明。,数据存储词条的定义,数据文件是保存数据的载体,数据文件的描述格式如下: 名称:给数据存储起一个有意义的名称。 编号:数据存储在数据流图中的编号。 简述:简单描述数据存储的作用。 数据存储的组成:数据结构。 存储方式:文件/数据库表 访问频率:该数据存储的访问频率,用于数据设计时考虑优化。,数据加工处理词条的定义,数据的加工处理描述比较复杂,对它的具体描述一般用专门的工具,例如:IPO图、结构化英语、判定表等。在数据字典中一般只列出数据加工处理的名称和编号。例如:借书处理,编号:IPO1001。分析和设计人员能够用编号找到IPO1001,获得详细的描述,数据源点及终点词条的定义,数据源点和终点的描述内容: 名称:数据源点或终点的名称,可以是一个组织、一个部门或一个外部系统等等。 简要说明:简单描述数据源点或终点在系统中的作用和地位,对系统的影响和要求。 有关的数据流:与该点有关的输入和输出数据流 。,数据流/数据存储字典表,图书基本信息的数据字典,4 IPO图,数据流程图中的加工处理本应该放在数据字典中进行定义,但是由于处理与数据是有一定区别的两类事物,它们各自有独立的描述格式,因此在实际项目中通常将处理说明用另外的格式描述。下面是项目中常用的加工处理说明模板。,加工处理说明表,5层次方框图,层次方框图这种工具应用非常普遍。它不仅可以反映系统的功能组成关系,也可以反映现实世界中的信息组成关系。如果严格按照结构化方法的步骤进行的话,功能层次方框图应该是在概要设计阶段由数据流程图转化而来的软件结构图。在需求分析阶段可以将层次方框图用于帮助理解和分析现实世界的数据关系。,层次方框图是种树形结构,树上的每个节点都是一个方框。如果是软件功能结构方框图,则每个方框表示一个功能模块。例如图所示,功能A由子功能B、C、D实现,其中功能C由E和F子功能实现,而功能F又由子功能G、H、I、J实现。,6实体关系图,需求分析的一项重要任务是弄清系统将要处理的数据和数据之间的关系,主要内容包括:要处理的主要数据对象是什么?每个数据对象的组成如何?这些对象当前位于何处?每个对象与其他对象有哪些关系?对象和变换它们的处理之间有哪些关系? 为回答这些问题,在结构化需求分析方法中使用实体关系图。实体关系图最初是由Peter ChenCHE77为关系数据库系统的设计提出的,并被其他人进行了扩展。它给出了一组基本的构件:数据对象、属性、关系和各种类型指示符,主要目的是表示数据对象及其关系。,7状态变迁图,状态变迁图在需求分析阶段用于描述系统的行为。传统的结构化分析方法中没有这个工具,只有结构化分析的扩展版本才提供。状态变迁图通过描述系统状态以及导致系统改变状态的事件来表示系统的行为。 并不是所有的系统需求分析都要做状态变迁图,只有当系统行为模式变化比较复杂的情况下才使用。,状态是可观察的行为模式,例如,在图书馆信息管理系统中,图书的状态有:“正在采购中”、“正在编辑中”、“在书库中”、“借出”、“注销”,在状态变迁图中,矩形代表状态,箭头代表状态间的“变迁”。每个箭头用规则表达式标记,箭头上方指明导致变迁发生的事件,箭头下方指明此事件引发的行为。例如,当图书“在书库中”状态下,发生“借书”事件,引发系统的“借书处理”行为,导致图书变为“借出”状态。,第二节 结构化分析方法 实现步骤,任务 1) 确定系统的功能要求 2) 确定系统的数据要求 3) 确定系统的操作要求和界面要求 4) 确定系统的性能要求 5) 确定系统的运行要求 6) 获得当前系统的物理模型 7) 抽象出当前系统的逻辑模型 8) 建立目标系统的逻辑模型。 9) 修正开发计划 10)如果需要则开发系统原型,结构化分析的原则,原则一:必须要理解问题的数据域和功能域。事实上一个软件从外部可以将其看成是一个黑盒子,信息从一端流入,从另一端流出,信息的变化就是软件的功能所为。计算机程序所处理的数据域的描述不外乎就是:数据内容、数据结构和数据流。数据内容就是数据项,数据结构就是数据项的组织形式,数据流是数据通过系统时的变化方式。在需求分析阶段的功能描述通常是用文字说明要“做什么”,不必具体展开怎样做。,原则二:按自顶向下、逐层分解的方式对问题进行分解和细化。如果将一个要解决的问题不拆开分析,而是从整体上考虑解决方案通常是困难的。特别是一些复杂的问题,如果将其分解成一个个小的、容易控制和理解的子问题,除了便于理解,还可以将子问题划分给不同的小组,分别完成,然后在装配起来形成一个完成的系统。最重要的是通过拆分,可以使软件开发走向组件开发的道路。因为划分的小问题中有些是常见问题,有些是特殊问题。对常见问题可以重用已有的软件构件,开发人员只对特殊问题提供解决方案。这样不仅提高软件开发的效率,更主要的是使软件开发向着“工程化”方向迈进。,横向分解,纵向分解,结构化分析方法具体实现步骤,1、信息分析:根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明。因为,初始的数据流程图还要进行修改,随着需求分析的深入,数据流程图的修改量很大,所以,开始时的说明不要涉及太多的细节,以免不必要的返工。,2、回溯:以初始数据流程图为基础,从数据流程图的输出端开始回溯。首先确定系统的输出是什么?将输出的信息在数据字典中说明。为了获得这个输出,要进行那些加工处理,输入信息是什么?也就是说,对这个输入信息进行加工处理,便可以获得需要的输出信息。这个输入可能是用户的原始输入,也可能是其它加工处理的输出,如果是其它处理的输出,那么继续向前回溯找它的处理和处理的输入。这样不断地回溯直到所有的输出都沿数据流图回溯到原始输入端为止。在回溯过程中将所有的输入输出数据流和数据存储都放到数据字典中定义,完善初始的数据字典。每个处理的详细说明放在加工处理说明表中说明,3、补充:在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,将数据流程图补充完善。对于模糊不清的问题要通过进一步的调研进行确认。,4、确定非功能需求:对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。用户对软件的质量属性可能会提出很多要求,有时实现全部质量属性是不现实的,因此开发人员和用户要根据软件的特点,有侧重地实现某些质量属性。接口包括硬件接口、软件接口、用户接口、通讯接口。有时,设计和实现的约束会对开发人员形成较大的压力,所以,要讨论这些约束的合理性和必要性。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号