资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章 基于结构化方法的需求分析,本章要点:,1.,需求分析的任务和原则,2.,结构化分析的基本过程,3.,数据流程图的构建,4.,数据字典,4.1,需求分析简述,4.1.1,何为需求分析,需求分析也称为系统分析或需求分析工程,是系统开发人员从软件的角度对用户提出的系统功能、性能和特殊约束等要求进行全面分析,确定软件与其它系统的接口细节,并将分析结果抽象为软件模型的过程。,需求分析阶段对软件开发具有决定性的作用。,4.1,需求分析简述,需求分析的目的,1,),利用合适的技术和工具,将软件功能和性能的总体概念转化为具体的、量化的并且适合利用计算机完成的软件需求规格定义与说明;,2,)最大程度地缩小和避免用户和开发人员认识上的差异,为需求的变更提供法律约束;,3,)减少开发风险,提高任务实现的成功率,为后续开发奠定基础,。,4.1,需求分析简述,4.1.2,主要任务,回答并确定,“,系统必须做什么,”,的问题,。,执行角色:系统分析员,目标系统推导过程,4.1,需求分析简述,工作步骤,(1),确定系统的综合需求和总体目标。,综合需求包括功能需求、性能需求、环境需求、接口需求及用户界面需求;,(2),分析用户业务流程和数据变化,构建功能模型;,(3),分析业务正常启动的基础数据和工作后的结果数据,抽象出系统的输入输出数据及特性,进行规格描述与定义;,(,4,),编写需求规格说明书,完善开发计划;,(,5,),对需求分析的结果进行评审。,4.1,需求分析简述,4.1.3,需求分析的原则,(1),正确认识和理解问题的功能域和数据域;,功能域是指系统必须完成的任务,也是系统投入运行能够为用户提供的服务。,数据域是指完成各项任务时的初始数据和结果数据。,(2),对问题采取先抽象、再具体细化的方法;,(3),将分析结果模型化表示;,(,4,),模型构建采取分层描述、逐步细化的方法。,4.1,需求分析简述,4.1.4,需求分析的一般方法,(1)功能分解法:,以功能为核心,通过对各功能的具体分析,规划整体系统构成。,(2)数据流法:,以用户需要处理的数据为分析核心,以数据库或文件的形式存储。,(3)信息建模法:,以实体为核心,分析实体间的联系和具体形式,然后确定系统的框架。,(4)面向对象的分析方法:,以对象为核心,分析对象具有的属性和操作行为,对具有相同属性和操作的对象抽象为类,然后将类作为基本要素构成和描述系统。,4.2,结构化分析,4.2.,1,结构化分析的简述,1.,特点,1,)适合于以数据处理为重点内容的软件系统的实现,,2,)强调逻辑分析和逻辑模型的构建,不涉及任何物理功能的设计。,3,)本质是面向数据流的分析方法,融合了功能分解法和信息建模法。,2.,指导思想,自顶向下、逐层分解、逐步求精,。,4.2,结构化分析,3.,分析过程,(,1,),分析目标系统的业务模型,抽象并明确本质操作。,(,2,),分析现行系统或工作中存在的问题,保证待开发的目标系统功能健全。,(,3,),抽象出目标系统的上层逻辑模型,体现系统任务和功能的总体概貌。,(,4,),细化、完善上层逻辑模型,体现各功能的内部变化与控制操作。,(,5,),对逻辑模型做详细并且规范的数据和操作描述。,4.2,结构化分析,4.2.2,主要工具,(1),建模工具:,数据流程图、实体-关系图,实体-关系图(,E,ntity,R,elationship,D,iagr,m,,,ERD),:,用于描述系统中的数据对象及其之间的关系,,,属于半形式化的数据建工具,在数据库设计技术中广泛使用。,图示,(2),数据描述工具,:,数据字典、判定树、判定表、结构化语言,4.2,结构化分析,实体,间的,关联关系具体有三种形式,:,(1)一对一关联(1:1),如学生和身份证的关系。,(2)一对多关联(1:N),如班级和学生的关系。,(3),多对多关联(N:M),如学生和课程的关系。,4.3,数据流程图的构建,4.3.1,构建数据流程图的作用,数据流程图(Data Flow Diagram,DFD)是结构化分析的典型工具,全面展现数据在系统中的流向和变化,也称为逻辑模型。,描绘与用户相关的初始数据的接收过程以及这些数据转变为输出结果的内部加工过程,,构建原则,自顶向下,、,逐层分解细化,。,优点,使问题的复杂度得到控制和降低,有利于系统逻辑功能的清晰描述,方便功能的分工实现。,4.3,数据流程图的构建,4.3.2,基本符号,4.3,数据流程图的构建,例,:,处理报名信息的数据流程图。,问题分析,:,4.3,数据流程图的构建,修改结果,:,4.3,数据流程图的构建,4.3.3,构建步骤,(,1,)构建顶层数据流程图,顶层,数据流程图体现系统的应用领域及系统与外界的,主要接口,。具体内容由以下三部分组成:,一个加工,体现系统名称,与,系统有关的全部外部实体。,与,外部实体相关的系统主要输入、输出数据流。,4.3,数据流程图,的构建,(,2,)构建,0,层数据流程图,0,层数据流程图体现系统主体功能及各项功能与外部的,接口情况,,主体功能体现系统框架,。由四部分组成:,加工,。每个主体功能用一个加工表示。,主体,功能相关,的输入、输出数据流。,外部,实体。这些外部实体分别通过输入数据流引发各,主体功能,执行,并接收执行后的输出结果。,数据,存储。体现主体功能执行后产生的、需要保留在,系统内部,的结果数据的,去处。,特别说明:,0,层图中各主体功能通常无,直接关联,,相互,之间基本上通过,数据存储进行,联系,,保证主体,功能,的独立性,4.3,数据流程图的构建,(,3,),细化,0,层图,将,一个主体加工分解为不同的加工,每个操作环节分别由一个加工表示。如果主体功能复杂,难于在一层图中全部细化完成,则可以再次细化,产生二层图。如此下去,直到内部的执行逻辑十分简明、确定为止。,4.3,数据流程图的构建,4.3.4,需要注意的问题,(1),逐层分解细化,(2),外部实体是初始数据的直接提供者和最终接收者。,(3),除顶层加工以外,每个加工都必须要有编号,但编号原则上不体现执行的次序。,(4),对每个加工的细化独立成图,即为一张图,且图名可以,取,被细化的加工编号,为名称。不能将所有细化的结果出现在一张图中。,(5),外部实体之间、数据存储之间、外部项和存储之间不能直接发生联系。,4.3,数据流程图的构建,错误举例,(6),每张图中的加工数最多不超过10个,7个以内比较好,但也不要少于3个,尽可能遵循8,2原则。,(7),同一层图中的加工进行细化应尽可能保持同步扩展,即细化层次为,1的差异。,4.3,数据流程图的构建,(8),保持父子图数据流(正常/有效)的平衡,非正常操作引发的错误提示数据流除外,。,4.3,数据流程图,的构建,(9),图,中只体现各加工的一次执行过程,不反映循环过程,也不能出现实物流和,控制流。,实物流,:,指,计算机能够接收和处理的数据以外,的实物。,(10),避免,黑洞的出现。所谓黑洞指与某个加工或数据存储相关的数据流为单一流向而形成的结果,即全部为输入流或全部为输出,流,,要,判定某个数据存储是否存在黑洞,需要分析所有数据流程图,若全部是被写入数据,从未提供数据给任何加工,则存在黑洞,反之亦然。,4.4,数据字典,数据字典(Data Dictionary,DD)是系统中全部信息的,有组织的描述集合,,,是对数据流程图的辅助说明。,用途,对抽象的数据流程图中没有清楚,的细节内容进行详细说明。,主要内容,(1)数据项条目,也称为数据元素,是系统中数据的最小单位,不可再,分解,直接体现事务对象某一方面的属性特征。,内容,:名称、别名、简述、取值类型、长度、范围,4.4,数据字典,(2)数据流条目,内容,:编号与名称、简述、组成、来源、去处,、,流通量、峰值。,(,3)数据存储条目,内容,:编号与名称、简述、组成、存储方式。,(4)外部实体条目,内容,:名称、简述、提供的数据流、接收的数据流。,(5)加工条目,内容,:名称、简述、提供的数据流、接收的数据流。,4.4,数据字典,构建数据字典使用的符号,符号,含义,举例,=,定义为 或 由.组成,成绩单,=,学号,+,姓名,+,课程名,+,成绩,+,和,同上,|,或(必选其中之一),政治面貌,=,党员,|,团员,|,群众,mn,重复,星级,=35,(),可选,曾用名,=(,姓名,),,并非每个人都有曾用名,.,连接,表示范围,学期,=1.8,4.5,综合,举例,1.,影碟租借与销售系统顶层图,4.5,综合,举例,2.,影碟租借与销售系统,0,层图,4.5,综合,举例,3,.,系统0层图各加工细化,会员管理的1层细化,影碟管理的1层细化,4.5,综合,举例,查询,打印处理的,1,层细化,4.5,综合,举例,4.,系统,数据字典,(,1,),数据项条目,名称:影碟编号,别名:无。,意义简述:唯一标识每张影碟,取值类型:字符串型,长度:,6,位:,X X X X X X,,第,1,位表示类别,第,2,位表示性质,后,4,位为递增序号,取值范围:第,1,位,1,为故事片,,2,为音乐,与其它数据项的关系:确定影碟的其它数据值。,4.5,综合,举例,(,2,),数据流条目,编号与名称:,f11,新影碟信息,作用简述:新购入的影碟基本信息,组成:报名表,=,片名,+,类别,+,产地,+,性质,+,发行日期,+,购入日期,+,购入价格,来源:管理员,去处:加工,2.1“,影碟信息登记”,流通量:,100,峰值:,500,4.5,综合,举例,(,3,)数据,存储条目,编号与名称:,S1,影碟信息,作用简述:储存店中所有的影碟信息,组成:影碟信息,=,影碟编号,+,片名,+,类别,+,产地,+,性质,+,发行日期,+,购入日期,+,购入价格,+,租借价格,/,天,+,销售价格,+,被借次数,+,当前状态,存储方式:按影碟编号的索引顺序存储,(,4,)外部,实体条目,名称:店员,作用简述:影碟租借业务的具体办理者,提供的数据流:,F3,、,F5,、,F7,接收的数据流:无,需求分析是系统开发人员从软件的角度对用户提出的功能、性能等要求进行全面分析,确定软件基本功能、与其它系统的接口细节等,并将分析结果抽象为软件模型的过程,。,需求分析阶段是软件生存周期中的关键环节。,数据流程图是结构化分析的主要工具,,是,系统的逻辑模型,,,用于展示系统的逻辑功能,数据字典则是对数据流程图的辅助说明,是系统数据的详细描述。,本章小结,
展开阅读全文