需求工程第三讲需求分析与建模.ppt
《需求工程第三讲需求分析与建模.ppt》由会员分享,可在线阅读,更多相关《需求工程第三讲需求分析与建模.ppt(80页珍藏版)》请在三一文库上搜索。
1、需求工程,第三讲 需求分析与建模,内容,需求分析概述 结构化需求分析方法 面向对象需求分析方法,需求分析的过程,需求分析成功的条件,乙方正确的 方法论,甲方明确的 建设目标,需求分析,系统建模,系统模型描述了系统的某个特殊方面,在需求文档中对自然语言描述的系统需求加入补充信息。 系统模型的界定 需求规格说明中应该包含的高层次的模型 表示系统运行环境的模型 说明系统如何分解为子系统的体系结构模型 系统建模需要注意的事项,需求分析前的工作,需求(系统)分析与建模 理解真实世界中的问题和用户的需要并提出满足这些需要的解决方案的过程。 分析前的准备 确认系统的参与者 确认系统的运行环境 确认系统的约束
2、,内容,需求分析概述 结构化需求分析方法 面向对象需求分析方法,需求分析与建模结构化方法,结构化方法是一种系统分析和设计的方法,包括定义、开发和确认系统模型过程中用到的表示法、指南和规则。 功能需求分析与建模方法 功能需求说明数据的用途,以及如何记录、计算、转换、修改及传输数据等。 数据需求分析与建模方法 数据需求指定系统的存储数据,结构化开发方法(Structured Developing Method) 是现有的软件开发方法中最成熟、应用最广泛的方法,主要特点是快速、自然和方便。结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD法)及结构化程序设计方法(SP法)构成的。 结构化
3、分析方法是面向数据流的需求分析方法,是20世纪70年代末由Yourdon,Constaintine及DeMarco等人提出和发展,并得到广泛的应用。它适合于分析大型的数据处理系统,特别是企事业管理系统。 SA法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。,结构化分析方法,分解:对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决(如右图)。,结构化分析方法的基本思想是“分解”和“抽象”。,抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细
4、的内容,这种用最本质的属性表示一个系统的方法就是“抽象”。,SA法的基本思想,需求分析的方法,绘制系统关联图 创建用户接口原型 分析需求可行性 确定需求的优先级别 为需求建立模型 (模型包括数据流图、实体关系图、状态变换图、对话框图、对象类及交互作用图 ) 创建数据字典 使用质量功能调配,需求分析方法(细节),采用SRS模板 指明需求的来源 为每项需求注上标号 记录业务规范 创建需求跟踪能力矩阵 审查需求文档 以需求为依据编写测试用例 编写用户手册 确定合格的标准。,分析1:定义系统的边界,评估原始需求,定义将要开发的计算机系统的边界。 确定哪些是系统需求 哪些是和系统相关的操作过程的需求 哪
5、些在系统范围之外的需求 原则,分析2:系统环境建模,环境模型是系统将要使用的语境模型,应该是最先开发的系统模型之一。 效益:记录必须说明接口的外部系统 模型包括: 和正在说明的系统直接交互的其他系统 其他有可能和本系统共存并发生交互的系统 系统所在的业务过程(定义涉及的行为、它们的输入和输出、负责这些过程的人以及支持这些过程的软件),系统环境建模-上下文图,作用: 上下文图能很好地概括产品的必要接口,初步确新产品包含了哪些内容,产品之外又包含哪些内容。即说明产品及其环境的图示 说明产品的范围 优点: 上下文图为开发人员概括了所有的接口,在开发中或开发后,方便地验证是否已处理了所有接口 用户能不
6、费力地理解上下文图,并发现遗漏的接口。,系统环境建模案例,邮件传阅系统环境建模 企业OA办公系统 图书管理系统 操作管理员 一般工作人员,分析3:系统体系结构建模,效益 体系结构模型有助于划分系统需求 体系结构模型说明了系统功能的概况 体系结构模型有助于需求工程师找出那些涉及多个子系统的需求 体系结构模型描述方式-方框图,系统体系结构“标准”模式,客户机-服务器 通用服务器提供共享的系统功能 分层系统 系统功能通过调用更低层次所提供的功能来实现 基于库的系统 子系统通过一个共享库进行通信 管道系统 系统中的每个部件都进行一定的计算,并将结果传给其他部件以进行进一步的操作,体系结构建模举例,分析
7、4:开发互补的系统建模,互补的系统模型可以解释系统规格说明的不同方面。系统模型用来表达系统规格说明的行为视图或者结构视图。 系统模型的例子 数据处理模型 组合模型 分类模型 刺激-响应模型 过程模型,分析5:事件列表与功能列表,事件就是要求系统执行某项功能的请求 业务事件与产品事件 对复杂的业务任务采用任务说明、用例说明或数据流图等方法进行解释。 对复杂的功能采用数据流图、算法描述、活动图、数学说明等进行解释,事件列表与功能列表(续),事件及功能列表的优点 主要作为核对清单,以说明应开发什么。而其中对这些功能的详细说明构成了功能需求的主要部分 开发人员可以方便的检查产品是否实现每一个功能 用户
8、能够在某种程度上确认业务事件和任务列表 通过一致性检查确定列表是否完备,功能需求举例-活动图,分析6:数据需求,数据模型 数据流图(状态图、活动图) 数据字典 虚拟窗口(原型界面),数据需求数据模型,数据模型说明了系统所要存储的数据以及数据之间的关系 提供了对数据的高级“体系结构”视图,也可以描述信息的细节。 模型:E-R模型、概念模型 数据模型的优缺点,数据需求数据模型,数据流图,数据流图(Data Flow Diagram,DFD)是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理。,还有一些辅助的图例:,一、数据流图的图符 四
9、种基本图形符号:,顾客,出版社,验证 订单,汇总 订单,图书目录文件,正确 订单,一批 订单,出版社档案文件,举例:图书预订系统,画图步骤 : 1、确定外部实体(顾客、出版社)及输入、输出数据流(订单、出版社订单)。 2、确定分解顶层的加工(验证订单、汇总订单)。 3、确定使用的文件(图书目录文件、顾客档案等5个文件)。 4、用数据流将各部分连接起来,形成数据封闭。,加工和文件还有 其他一些图例:,注意:标注各加工框及数据流名称。,经过初步的需求分析,得到系统功能要求: 1、监视病员的病症(血压、体温、脉搏等)。 2、定时更新病历。 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报
10、告。,实例:医院病房监护系统,监视病情,更新病历,监护系统分层DFD图,顶 层,医院病房监护系统分层DFD图,顶层确定了系统的范围,其外部实体为病员和护士。,护士,病员,护士,医院病房监护系统顶层,监护系统分层DFD图,医院病房监护系统分层DFD图,第一层分解为局部监视、生成报告、中央监视、更新日志4个加工。这层的分解是关键。,以4个加工中最重要的加工“中央监视”为例,进行第二层分解。,数据流图的用处,系统分析员用这种工具可以自顶向下分析系统信息流程; 可在图上划出需要计算机处理的部分和需要修改的部分; 根据逻辑存储,进一步作数据分析,向数据库数据过渡; 根据数据流向,定出存取方式; 对应一个
11、处理过程,用相应的语言,判定表等工具来表达处理方法。,数据需求数据字典,数据字典是一个系统组织的、叙述性的数据说明 效益 保证名字使用的一致性,避免名字重复使用和误解。 有助于提高系统需求、设计和实现维护过程中的可跟踪性。,数据需求数据字典(续),数据字典应具有的信息 模型中的实体的名字 名字的别名或其它变体 命名的实体类型 命名实体和为何将它引入系统模型的描述 对于命名实体的约束 指向相关实体的联接,分层数据流图只是表达了系统的“分解”,为了完整地描述这个系统,还需借助“数据词典”(data dictionary)和“小说明”对图中的每个数据和加工给出解释。 对数据流图中包含的所有元素的定义
12、的集合构成了数据词典。它有四类条目:数据流、数据项、文件及基本加工。在定义数据流或文件时,使用表2-1给出的符号。将这些条目按照一定的规则组织起来,构成数据词典。,数据词典(DD),表 2-1,数据流条目 给出了DFD图中数据流的定义,通常列出该数据流的各组成数据项。 例如,数据流“乘客名单”由若干“乘客姓名”、“单位名”和“等级”组成,则词典中的“乘客名单”条目是: 乘客名单乘客姓名单位名等级 又如, 报名单姓名单位名年龄性别课程名,数据词典类型,加工条目 加工条目就是“加工小说明”。一般应单独列出。,数据项条目 给出某个数据单项的定义,通常是该数据项的值类型、允许值等。 例如:账号= 00
13、000 99999 ; 存款期= 1 | 3 | 5 (单位:年),文件条目 给出某个文件的定义,文件的定义通常是列出文件记录的组成数据流。例如,某销售系统的订单文件: 订单文件订单编号顾客名称产品名称订货数量交货日期,加工逻辑说明,对数据流图中每一个不能再分解的基本加工都必须有一个加工小说明给出这个加工的精确描述。小说明中应精确地描述加工的激发条件、加工逻辑、优先级、执行频率和出错处理等。加工逻辑是其中最基本的部分,是指用户对这个加工的逻辑要求。 对基本加工说明有三种描述方式:结构化语言,判定表,判定树。,一、 结构化语言 结构化语言是介于自然语言和形式语言之间的一种半形式语言,它是自然语言
14、的一个受限制的子集。一般分为两层结构:外层语法较具体,为控制结构(顺序、选择、循环),内层较灵活,表达“做什么”。 例如:外层可为以下结构: 1、顺序结构 2、选择结构 IFTHEN-ELSE; CASE-OF-ENDCASE; 3、循环结构 WHILE-DO; REPEAT-UNTIL,例二 “确定能否供货”的加工逻辑:根据库存记录 IF 订单项目的数量该项目库存量的临界值 THEN 可供货处理 ELSE 此订单缺货,登录,待进货后再处理 ENDIF,例一 根据当前流动资金值确定贬值数。 IF the CurrentCapitalValue is less then $1000 Then S
15、et DepreciatedAmount to CurrentCapitalValue. Set CurrentCapitalValue to zero. Otherwise Set DepreciatedAmount to 10% of CurrentCapitalValue. Reduce Current Capital-Value by 10%.,一、结构化语言,结构化语言特点: 简单,易学,少二义性。不好处理组合条件。,结构化语言举例,判定表是一种二维的表格,常用于较复杂的组合条件(与结构化语言比较),通常由四部分组成。,判定表,判定表的特点: 可处理较复杂的组合条件,但不易理解.不易
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 工程 三讲 分析 建模
链接地址:https://www.31doc.com/p-2681898.html