需求工程第三讲-需求分析与建模

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

需求工程第三讲需求分析与建模内容需求分析概述结构化需求分析方法面向对象需求分析方法分类筛选合并排序需求分析的过程需求分析成功的条件乙方正确的方法论甲方明确的建设目标需求分析分析什么?业务流程优化关键问题结构化分析法面向对象分析法怎么分析?系统建模系统模型描述了系统的某个特殊方面,在需求文档中对自然语言描述的系统需求加入补充信息。系统模型的界定需求规格说明中应该包含的高层次的模型表示系统运行环境的模型说明系统如何分解为子系统的体系结构模型系统建模需要注意的事项需求分析前的工作需求(系统)分析与建模理解真实世界中的问题和用户的需要并提出满足这些需要的解决方案的过程。分析前的准备确认系统的参与者确认系统的运行环境确认系统的约束内容需求分析概述结构化需求分析方法面向对象需求分析方法需求分析与建模—结构化方法结构化方法是一种系统分析和设计的方法,包括定义、开发和确认系统模型过程中用到的表示法、指南和规则。功能需求分析与建模方法功能需求说明数据的用途,以及如何记录、计算、转换、修改及传输数据等。数据需求分析与建模方法数据需求指定系统的存储数据结构化开发方法(StructuredDevelopingMethod)是现有的软件开发方法中最成熟、应用最广泛的方法,主要特点是快速、自然和方便。结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD法)及结构化程序设计方法(SP法)构成的。结构化分析方法是面向数据流的需求分析方法,是20世纪70年代末由Yourdon,Constaintine及DeMarco等人提出和发展,并得到广泛的应用。它适合于分析大型的数据处理系统,特别是企事业管理系统。SA法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。结构化分析方法分解:对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决(如右图)。结构化分析方法的基本思想是“分解”和“抽象”。抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个系统的方法就是“抽象”。1.11.21.3x2132.12.22.31.11.3SA法的基本思想需求分析的方法绘制系统关联图创建用户接口原型分析需求可行性确定需求的优先级别为需求建立模型(模型包括数据流图、实体关系图、状态变换图、对话框图、对象类及交互作用图)创建数据字典使用质量功能调配需求分析方法(细节)采用SRS模板指明需求的来源为每项需求注上标号记录业务规范创建需求跟踪能力矩阵审查需求文档以需求为依据编写测试用例编写用户手册确定合格的标准。分析1:定义系统的边界评估原始需求,定义将要开发的计算机系统的边界。确定哪些是系统需求哪些是和系统相关的操作过程的需求哪些在系统范围之外的需求原则分析2:系统环境建模环境模型是系统将要使用的语境模型,应该是最先开发的系统模型之一。效益:记录必须说明接口的外部系统模型包括:和正在说明的系统直接交互的其他系统其他有可能和本系统共存并发生交互的系统系统所在的业务过程(定义涉及的行为、它们的输入和输出、负责这些过程的人以及支持这些过程的软件)系统环境建模-上下文图作用:上下文图能很好地概括产品的必要接口,初步确新产品包含了哪些内容,产品之外又包含哪些内容。即说明产品及其环境的图示说明产品的范围优点:上下文图为开发人员概括了所有的接口,在开发中或开发后,方便地验证是否已处理了所有接口用户能不费力地理解上下文图,并发现遗漏的接口。系统环境建模案例邮件传阅系统环境建模企业OA办公系统图书管理系统操作管理员一般工作人员分析3:系统体系结构建模效益体系结构模型有助于划分系统需求体系结构模型说明了系统功能的概况体系结构模型有助于需求工程师找出那些涉及多个子系统的需求体系结构模型描述方式-方框图系统体系结构“标准”模式客户机-服务器通用服务器提供共享的系统功能分层系统系统功能通过调用更低层次所提供的功能来实现基于库的系统子系统通过一个共享库进行通信管道系统系统中的每个部件都进行一定的计算,并将结果传给其他部件以进行进一步的操作体系结构建模举例浏览器WEB服务器应用服务器、、HTMLActiveXScript、ASPXML数据库服务器HTTP请求HTTP应答用户界面层应用逻辑层数据层输入数据输出数据请求按钮业务处理开始数据存取请求业务处理结束SQL请求开始SQL请求结束DBMS执行SQL业务处理开始数据存取请求业务处理结束业务处理请求和业务处理所需的全部输入数据全部处理结束数据登录/更新/读取的请求数据登录/更新/读取的结果业务处理程序数据存取程序表示层数据层分析4:开发互补的系统建模互补的系统模型可以解释系统规格说明的不同方面。系统模型用来表达系统规格说明的行为视图或者结构视图。系统模型的例子数据处理模型组合模型分类模型刺激-响应模型过程模型分析5:事件列表与功能列表事件就是要求系统执行某项功能的请求业务事件与产品事件对复杂的业务任务采用任务说明、用例说明或数据流图等方法进行解释。对复杂的功能采用数据流图、算法描述、活动图、数学说明等进行解释事件列表与功能列表(续)事件及功能列表的优点主要作为核对清单,以说明应开发什么。而其中对这些功能的详细说明构成了功能需求的主要部分开发人员可以方便的检查产品是否实现每一个功能用户能够在某种程度上确认业务事件和任务列表通过一致性检查确定列表是否完备功能需求举例-活动图从文档中找到需求引用从文档中得到需求文本把需求从数据库中移走从文档中移走需求不空空还有没有了开始退出分析6:数据需求数据模型数据流图(状态图、活动图)数据字典虚拟窗口(原型界面)数据需求—数据模型数据模型说明了系统所要存储的数据以及数据之间的关系提供了对数据的高级“体系结构”视图,也可以描述信息的细节。模型:E-R模型、概念模型数据模型的优缺点数据需求—数据模型客人入住客房状态客房服务服务类别数据流图数据流图(DataFlowDiagram,DFD)是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理。数据存储数据源点或终点加工加工名数据流数据流名文件名实体名箭头圆或椭圆单或双杠矩形框还有一些辅助的图例:一、数据流图的图符四种基本图形符号:TAB*CTAB*CTAB+CTAB+CTABC+TABC+*与+或互斥+顾客出版社验证订单汇总订单订单图书目录文件顾客档案待处理订单文件正确订单一批订单出版社档案文件出版社订单订货存根文件举例:图书预订系统画图步骤:1、确定外部实体(顾客、出版社)及输入、输出数据流(订单、出版社订单)。2、确定分解顶层的加工(验证订单、汇总订单)。3、确定使用的文件(图书目录文件、顾客档案等5个文件)。4、用数据流将各部分连接起来,形成数据封闭。加工和文件还有其他一些图例:加工加工名编号加工名编号文件名文件名文件注意:标注各加工框及数据流名称。经过初步的需求分析,得到系统功能要求:1、监视病员的病症(血压、体温、脉搏等)。2、定时更新病历。3、病员出现异常情况时报警。4、随机地产生某一病员的病情报告。实例:医院病房监护系统产生病情报告监视病情更新病历监护系统分层DFD图病员护士护士病员监护系统病员日志要求报告病症报告报警顶层医院病房监护系统分层DFD图顶层确定了系统的范围,其外部实体为病员和护士。护士病员护士医院病房监护系统顶层监护系统分层DFD图计算超过极限值否病员数据超过极限值报警开解信号产生报警信息病员极限格式化病员数据体温生理信号极限值时间脉搏血压日期时钟格式化病员数据3.13.23.33.4第二层:加工“中央监视”分解医院病房监护系统分层DFD图第一层格式化病员数据生理信号极限值病员护士护士中央监视病员日志病症报告局部监视生成报告病员极限更新日志病员数据1324日志数据第一层分解为局部监视、生成报告、中央监视、更新日志4个加工。这层的分解是关键。以4个加工中最重要的加工“中央监视”为例,进行第二层分解。数据流图的用处系统分析员用这种工具可以自顶向下分析系统信息流程;可在图上划出需要计算机处理的部分和需要修改的部分;根据逻辑存储,进一步作数据分析,向数据库数据过渡;根据数据流向,定出存取方式;对应一个处理过程,用相应的语言,判定表等工具来表达处理方法。数据需求—数据字典数据字典是一个系统组织的、叙述性的数据说明效益保证名字使用的一致性,避免名字重复使用和误解。有助于提高系统需求、设计和实现维护过程中的可跟踪性。数据需求—数据字典(续)数据字典应具有的信息模型中的实体的名字名字的别名或其它变体命名的实体类型命名实体和为何将它引入系统模型的描述对于命名实体的约束指向相关实体的联接分层数据流图只是表达了系统的“分解”,为了完整地描述这个系统,还需借助“数据词典”(datadictionary)和“小说明”对图中的每个数据和加工给出解释。对数据流图中包含的所有元素的定义的集合构成了数据词典。它有四类条目:数据流、数据项、文件及基本加工。在定义数据流或文件时,使用表2-1给出的符号。将这些条目按照一定的规则组织起来,构成数据词典。数据词典(DD)表2-1X=1••8表示X可取1到8中的任意一个值连接符••X=“a”表示X是取值为字符a的数据元素基本数据元素“•••”X=(a)表示a可在X中出现,也可不出现可选(•••)X=2{a}6或x={a}表示重复2~5次a重复m{•••}n或{•••}X={a}表示X由0个或多个a组成重复{•••}X=[a|b]表示X由a或b组成或[•••|•••]X=a+b表示X由a和b组成与+被定义为=例及说明含义符号Nm62数据流条目给出了DFD图中数据流的定义,通常列出该数据流的各组成数据项。例如,数据流“乘客名单”由若干“乘客姓名”、“单位名”和“等级”组成,则词典中的“乘客名单”条目是:乘客名单={乘客姓名+单位名+等级}又如,报名单=姓名+单位名+年龄+性别+课程名数据词典类型加工条目加工条目就是“加工小说明”。一般应单独列出。数据项条目给出某个数据单项的定义,通常是该数据项的值类型、允许值等。例如:账号=00000~99999;存款期=[1|3|5](单位:年)文件条目给出某个文件的定义,文件的定义通常是列出文件记录的组成数据流。例如,某销售系统的订单文件:订单文件=订单编号+顾客名称+产品名称+订货数量+交货日期加工逻辑说明对数据流图中每一个不能再分解的基本加工都必须有一个加工小说明给出这个加工的精确描述。小说明中应精确地描述加工的激发条件、加工逻辑、优先级、执行频率和出错处理等。加工逻辑是其中最基本的部分,是指用户对这个加工的逻辑要求。对基本加工说明有三种描述方式:结构化语言,判定表,判定树。一、结构化语言结构化语言是介于自然语言和形式语言之间的一种半形式语言,它是自然语言的一个受限制的子集。一般分为两层结构:外层语法较具体,为控制结构(顺序、选择、循环),内层较灵活,表达“做什么”。例如:外层可为以下结构:1、顺序结构2、选择结构IF–THEN-ELSE;CASE-OF-ENDCASE;3、循环结构WHILE-DO;REPEAT-UNTIL例二“确定能否供货”的加工逻辑:根据库存记录IF订单项目的数量该项目库存量的临界值THEN可供货处理ELSE此订单缺货,登录,待进货后再处理ENDIF例一根据当前流动资金值确定贬值数。IFtheCurrent–Capital–Valueislessthen$1000ThenSetDepreciated–AmounttoCurrent–Capital–Value.SetCurrent–Capital–Valuet

1 / 80
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功