




已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 需求工程 第三讲需求分析与建模 2 内容 需求分析概述结构化需求分析方法面向对象需求分析方法 3 需求分析的过程 4 需求分析成功的条件 乙方正确的方法论 甲方明确的建设目标 5 需求分析 6 系统建模 系统模型描述了系统的某个特殊方面 在需求文档中对自然语言描述的系统需求加入补充信息 系统模型的界定需求规格说明中应该包含的高层次的模型表示系统运行环境的模型说明系统如何分解为子系统的体系结构模型系统建模需要注意的事项 7 需求分析前的工作 需求 系统 分析与建模理解真实世界中的问题和用户的需要并提出满足这些需要的解决方案的过程 分析前的准备确认系统的参与者确认系统的运行环境确认系统的约束 8 内容 需求分析概述结构化需求分析方法面向对象需求分析方法 9 需求分析与建模 结构化方法 结构化方法是一种系统分析和设计的方法 包括定义 开发和确认系统模型过程中用到的表示法 指南和规则 功能需求分析与建模方法功能需求说明数据的用途 以及如何记录 计算 转换 修改及传输数据等 数据需求分析与建模方法数据需求指定系统的存储数据 10 结构化开发方法 StructuredDevelopingMethod 是现有的软件开发方法中最成熟 应用最广泛的方法 主要特点是快速 自然和方便 结构化开发方法由结构化分析方法 SA法 结构化设计方法 SD法 及结构化程序设计方法 SP法 构成的 结构化分析方法是面向数据流的需求分析方法 是20世纪70年代末由Yourdon Constaintine及DeMarco等人提出和发展 并得到广泛的应用 它适合于分析大型的数据处理系统 特别是企事业管理系统 SA法也是一种建模的活动 主要是根据软件内部的数据传递 变换关系 自顶向下逐层分解 描绘出满足功能要求的软件模型 结构化分析方法 11 分解 对于一个复杂的系统 为了将复杂性降低到可以掌握的程度 可以把大问题分解成若干小问题 然后分别解决 如右图 结构化分析方法的基本思想是 分解 和 抽象 抽象 分解可以分层进行 即先考虑问题最本质的属性 暂把细节略去 以后再逐层添加细节 直至涉及到最详细的内容 这种用最本质的属性表示一个系统的方法就是 抽象 SA法的基本思想 12 需求分析的方法 绘制系统关联图创建用户接口原型分析需求可行性确定需求的优先级别为需求建立模型 模型包括数据流图 实体关系图 状态变换图 对话框图 对象类及交互作用图 创建数据字典使用质量功能调配 13 需求分析方法 细节 采用SRS模板指明需求的来源为每项需求注上标号记录业务规范创建需求跟踪能力矩阵审查需求文档以需求为依据编写测试用例编写用户手册确定合格的标准 14 分析1 定义系统的边界 评估原始需求 定义将要开发的计算机系统的边界 确定哪些是系统需求哪些是和系统相关的操作过程的需求哪些在系统范围之外的需求原则 15 分析2 系统环境建模 环境模型是系统将要使用的语境模型 应该是最先开发的系统模型之一 效益 记录必须说明接口的外部系统模型包括 和正在说明的系统直接交互的其他系统其他有可能和本系统共存并发生交互的系统系统所在的业务过程 定义涉及的行为 它们的输入和输出 负责这些过程的人以及支持这些过程的软件 16 系统环境建模 上下文图 作用 上下文图能很好地概括产品的必要接口 初步确新产品包含了哪些内容 产品之外又包含哪些内容 即说明产品及其环境的图示说明产品的范围优点 上下文图为开发人员概括了所有的接口 在开发中或开发后 方便地验证是否已处理了所有接口用户能不费力地理解上下文图 并发现遗漏的接口 17 系统环境建模案例 邮件传阅系统环境建模企业OA办公系统图书管理系统操作管理员一般工作人员 18 分析3 系统体系结构建模 效益体系结构模型有助于划分系统需求体系结构模型说明了系统功能的概况体系结构模型有助于需求工程师找出那些涉及多个子系统的需求体系结构模型描述方式 方框图 19 系统体系结构 标准 模式 客户机 服务器通用服务器提供共享的系统功能分层系统系统功能通过调用更低层次所提供的功能来实现基于库的系统子系统通过一个共享库进行通信管道系统系统中的每个部件都进行一定的计算 并将结果传给其他部件以进行进一步的操作 20 体系结构建模举例 21 分析4 开发互补的系统建模 互补的系统模型可以解释系统规格说明的不同方面 系统模型用来表达系统规格说明的行为视图或者结构视图 系统模型的例子数据处理模型组合模型分类模型刺激 响应模型过程模型 22 分析5 事件列表与功能列表 事件就是要求系统执行某项功能的请求业务事件与产品事件对复杂的业务任务采用任务说明 用例说明或数据流图等方法进行解释 对复杂的功能采用数据流图 算法描述 活动图 数学说明等进行解释 23 事件列表与功能列表 续 事件及功能列表的优点主要作为核对清单 以说明应开发什么 而其中对这些功能的详细说明构成了功能需求的主要部分开发人员可以方便的检查产品是否实现每一个功能用户能够在某种程度上确认业务事件和任务列表通过一致性检查确定列表是否完备 24 功能需求举例 活动图 25 分析6 数据需求 数据模型数据流图 状态图 活动图 数据字典虚拟窗口 原型界面 26 数据需求 数据模型 数据模型说明了系统所要存储的数据以及数据之间的关系提供了对数据的高级 体系结构 视图 也可以描述信息的细节 模型 E R模型 概念模型数据模型的优缺点 27 数据需求 数据模型 28 数据流图 数据流图 DataFlowDiagram DFD 是描述系统中数据流程的图形工具 它标识了一个系统的逻辑输入和逻辑输出 以及把逻辑输入转换为逻辑输出所需的加工处理 还有一些辅助的图例 一 数据流图的图符四种基本图形符号 29 顾客 出版社 验证订单 汇总订单 图书目录文件 正确订单 一批订单 出版社档案文件 举例 图书预订系统 画图步骤 1 确定外部实体 顾客 出版社 及输入 输出数据流 订单 出版社订单 2 确定分解顶层的加工 验证订单 汇总订单 3 确定使用的文件 图书目录文件 顾客档案等5个文件 4 用数据流将各部分连接起来 形成数据封闭 加工和文件还有其他一些图例 注意 标注各加工框及数据流名称 30 经过初步的需求分析 得到系统功能要求 1 监视病员的病症 血压 体温 脉搏等 2 定时更新病历 3 病员出现异常情况时报警 4 随机地产生某一病员的病情报告 实例 医院病房监护系统 监视病情 更新病历 31 监护系统分层DFD图 顶层 医院病房监护系统分层DFD图 顶层确定了系统的范围 其外部实体为病员和护士 护士 病员 护士 医院病房监护系统顶层 32 监护系统分层DFD图 医院病房监护系统分层DFD图 第一层分解为局部监视 生成报告 中央监视 更新日志4个加工 这层的分解是关键 以4个加工中最重要的加工 中央监视 为例 进行第二层分解 33 数据流图的用处 系统分析员用这种工具可以自顶向下分析系统信息流程 可在图上划出需要计算机处理的部分和需要修改的部分 根据逻辑存储 进一步作数据分析 向数据库数据过渡 根据数据流向 定出存取方式 对应一个处理过程 用相应的语言 判定表等工具来表达处理方法 34 数据需求 数据字典 数据字典是一个系统组织的 叙述性的数据说明效益保证名字使用的一致性 避免名字重复使用和误解 有助于提高系统需求 设计和实现维护过程中的可跟踪性 35 数据需求 数据字典 续 数据字典应具有的信息模型中的实体的名字名字的别名或其它变体命名的实体类型命名实体和为何将它引入系统模型的描述对于命名实体的约束指向相关实体的联接 36 分层数据流图只是表达了系统的 分解 为了完整地描述这个系统 还需借助 数据词典 datadictionary 和 小说明 对图中的每个数据和加工给出解释 对数据流图中包含的所有元素的定义的集合构成了数据词典 它有四类条目 数据流 数据项 文件及基本加工 在定义数据流或文件时 使用表2 1给出的符号 将这些条目按照一定的规则组织起来 构成数据词典 数据词典 DD 表2 1 37 数据流条目给出了DFD图中数据流的定义 通常列出该数据流的各组成数据项 例如 数据流 乘客名单 由若干 乘客姓名 单位名 和 等级 组成 则词典中的 乘客名单 条目是 乘客名单 乘客姓名 单位名 等级 又如 报名单 姓名 单位名 年龄 性别 课程名 数据词典类型 加工条目加工条目就是 加工小说明 一般应单独列出 数据项条目给出某个数据单项的定义 通常是该数据项的值类型 允许值等 例如 账号 00000 99999 存款期 1 3 5 单位 年 文件条目给出某个文件的定义 文件的定义通常是列出文件记录的组成数据流 例如 某销售系统的订单文件 订单文件 订单编号 顾客名称 产品名称 订货数量 交货日期 38 加工逻辑说明 对数据流图中每一个不能再分解的基本加工都必须有一个加工小说明给出这个加工的精确描述 小说明中应精确地描述加工的激发条件 加工逻辑 优先级 执行频率和出错处理等 加工逻辑是其中最基本的部分 是指用户对这个加工的逻辑要求 对基本加工说明有三种描述方式 结构化语言 判定表 判定树 一 结构化语言结构化语言是介于自然语言和形式语言之间的一种半形式语言 它是自然语言的一个受限制的子集 一般分为两层结构 外层语法较具体 为控制结构 顺序 选择 循环 内层较灵活 表达 做什么 例如 外层可为以下结构 1 顺序结构2 选择结构IF THEN ELSE CASE OF ENDCASE 3 循环结构WHILE DO REPEAT UNTIL 39 例二 确定能否供货 的加工逻辑 根据库存记录IF订单项目的数量 该项目库存量的临界值THEN可供货处理ELSE此订单缺货 登录 待进货后再处理ENDIF 例一根据当前流动资金值确定贬值数 IFtheCurrent Capital Valueislessthen 1000ThenSetDepreciated AmounttoCurrent Capital Value SetCurrent Capital Valuetozero OtherwiseSetDepreciated Amountto10 ofCurrent Capital Value ReduceCurrent Capital Valueby10 一 结构化语言 结构化语言特点 简单 易学 少二义性 不好处理组合条件 结构化语言举例 40 判定表是一种二维的表格 常用于较复杂的组合条件 与结构化语言比较 通常由四部分组成 判定表 判定表的特点 可处理较复杂的组合条件 但不易理解 不易输入计算机 条件框 条件定义 操作框 操作的定义 条件条目 各条件的取值及组合 操作条目 在各条件取值组合下所执行的操作 例如 对商店每天的营业额所收税率 41 例 一图书销售系统 其中一加工为 优先处理 条件是 顾客的营业额大于1000元 同时必须信誉好 或者虽然信誉不好 但是20年以上的老主顾 判定表应用举例 分析 共有3个判定条件 有8种可能的组合情况 图a 对图a进行化简后 得到图b 42 特点 描述一般组合条件较清晰 易理解 不易输入计算机 好的支付信誉优惠处理坏的支付信誉 判定树 43 数据需求 虚拟窗口 虚拟窗口是理想化的屏幕图像 形同真实的屏幕图像 但不具备功能或菜单 虚拟窗口的目的 虚拟窗口的优缺点 44 需求分级 关注最重要的需求划分优先级可以帮助项目相关人员判断系统的核心需求需求优先级之间明显的关联可以帮助设计者决定系统体系结构 还可以帮助解决可能发生的设计冲突 45 使用多维方法进行需求分级 效益需求分级是发现需求之间的共性和例外关系的依据 有助于发现需求重叠和冲突 需求分级提高需求文档的跟踪能力需求分级可以帮助你找到遗漏的需求实施需求分级最简单的方法就是使用刻面方法 定义一系列的维度或者说是刻面 并用相应的关键词描述它们 46 评估需求风险 对每一项需求或者一系列相关的需求进行风险分析 指出在实现需求过程中可能会发生的问题 这些问题发生的机率及其影响 47 内容 需求分析概述结构化需求分析方法面向对象需求分析方法 48 采用面向对象分析建模 首先是描述需求 其次根据需求建立系统的静态模型 以构造系统的结构 第三步是描述系统的行为 其中在第一步与第二步中所建立的模型都是静态的 包括用例图 类图 包含包 对象图 组件图和配置图等五个图形 是标准建模语言UML的静态建模机制 49 采用面向对象分析建模 续 其中第三步中所建立的模型或者可以执行 或者表示执行时的时序状态或交互关系 它包括状态图 活动图 顺序图和合作图等四个图形 是标准建模语言UML的动态建模机制 50 OO分析师与设计师的任务 找出参与者和用例详述用例组织用例模型 注意 用例仅能获取功能需求 需求工程师任务找出功能性需求找出非功能性需求优先排序需求跟踪用例和需求 51 用例过程描述 用例 52 用例建模活动的输出 用例建模活动的输出是用例模型该模型具有四个部分 参与者 人们所扮演的角色或者使用系统的事物 用例 参与者与系统交互的物件 关系 参与者和用例之间有意义的联系 系统边界 包围用例的方框 说明正在建模系统的边界 53 关于 用例 的误解 用例模型就是指 UML用例图 用例模型包括用例图和用例描述用例分析技术是一项分解技术 用例分析技术是一项合成技术 54 用例是什么 用例实例是在系统中执行的一系列动作 这些动作将生成特定参与者可见的价值结果特点用例实例也就是 使用场景 用例应该给参与者带来可见的价值用例是在系统中 55 典型的用例建模活动 找出系统边界识别参与者合并需求找出用例详述用例 56 用例建模 找出系统边界 系统边界是定义由谁或什么 即参与者 使用系统 系统能够为哪些参与者提供什么特定的利益 即用例 57 用例建模 参与者 参与者是直接与系统交互的事物所扮演的角色 参与者角色人其它系统硬件系统时钟 58 如何识别参与者 谁或什么使用该系统 交互中 它们扮演什么角色 谁安装系统 谁启动和关闭系统 谁维护系统 与该系统交互的是其它什么系统 谁从该系统获取信息 谁提供信息给系统 有什么事情发生在固定时间 59 在识别参与者需要注意的 参与者对于系统而言总是外部的 参与者直接同系统交互 参与者表示人和事物同系统发生交互时所扮演的角色 而不是特定的人和特定的事物 一个人或事物在与系统发生交互时 同时或不同时扮演多种角色 每个参与者需要一个具有业务意义的简短名称 每个参与者必须有简短描述 它从业务角度描述参与者是什么 像类一样 参与者可以具有分栏 表示参与者属性和它可能接收的事件 60 用例建模 用例 用例定义为 系统 子系统或类能够与外部参与者交互所执行的动作序列 包括各种序列以及出错序列的规格说明 用例是参与者想要系统做的事情 61 识别用例 特定参与者希望系统提供什么功能 系统存储和检索信息吗 如果有 哪个参与者触发这个行为 当系统改变状态时 通知参与者吗 存在影响系统的外部时间吗 是谁通知系统这些事件的 62 用例图 邮件订阅系统 PlaceOrder CancelOrder CheckOrderStatus SendCatalog ShipProduct Customer Dispatcher ShippingCompany 63 详述用例 用例模型 补充需求 项目词汇表 用例 详述用例 用例阐述员 64 在编写事件流需要注意的 使用简单的语法 主语明确 语义易于理解 明确写出 谁控制球 从俯视的角度来编写显示过程向前推移显示参与者的意图而非动作包括 合理的活动集 带数据的请求 系统确认 更改内部 返回结果 用 确认 而非 检查是否 可选择地提及时间限制 65 用例技术的优点 用例相对容易写用例是用用户的语言写的用例为行为或场景提供相关线索 用户和开发人员都能够理解用例的图形表示提高对复杂软件系统的可理解性用例描述的场景在确认阶段几乎可以直接用作测试脚本 66 用例方法的适用场合 适用场合系统是面向功能的 具有多种类型的用户和功能行为团队采用UML和面向对象 OO 方法实现系统不太适用场合系统用户很少或没有并且接口也很少系统中非功能性需求和设计约束占主导地位 67 用例建模实战 调研后的功能特性 FEAT01 新增学生信息FEAT02 修改已有的学生信息FEAT03 学生信息按统招生 工程硕士 学位进修分别建档FEAT04 录入新生信息时能够自动按规则生成学生号号FEAT05 统招生 工程硕士与学位进修生采用不同的书号规则FEAT06 录入新生信息时如果重名将自动提示FEAT07 按入学时间 所在学院 学生类别等关键字组合查询学生信息FEAT08 列出所有学生信息FEAT09 记录学生休学 退学 转学和留级情况FEAT10 学生状态能够自动反应在学生信息中FEAT11 按姓名 学号查询学生成绩情况 交费情况 奖惩情况FEAT12 列出所有的获得奖惩情况学生名单及所在学院FEAT13 按特定时间段统计学生学习成绩和学分FEAT14 所有查询 列表 统计功能应可以单独对统招生 工程硕士 学位进修类别进行 也可以按照学院进行 68 学生老师 用例建模实战 识别参与者 69 用例建模实战 合并需求获得用例 70 用例建模实战 绘制用例图 邮件订阅系统 新增学生信息 修改学生信息 查询学生信息 改变学生状态 查询学生状态 teacher student 统计学生成绩 71 1 用例名称 应该与用例图相符 并写上其相应的编号 2 简要说明 该用例对参与者所传递的价值结果进行描述 3 前置条件 是执行用例之前必须存在的系统状态4 后置条件 用例执行完毕系统可能处于的一组状态 5 扩展点 如果包括扩展或包含用例 则写出扩展或包含用例名 并说明在什么情况下使用 如果有 则应该在编写事件流的同时进行编写 6 优先级 说明用户对该用例的期望值 可以为今后开发时制定先后顺序 用例建模实战 细化用例描述 72 用例建模实战 用例粒度 思辨 四轮马车 如何整理用例的层次 73 把建立原型系统作为一种可能采取的策略的主要理由 由于人类认识能力的局限 不能预先指定所有要求 在用户和系统分析员之间存在固有的交流鸿沟 用户需要一个 活的 系统模型 以便获得实践经验 在开发过程中重复和反复是必要的和不可避免的 目前有快速建立原型系统的工具可供选用 由于成本的增加 过去很少采用样机策略 但是 由于正确地提出用户需求是软件开发工程成功的基础 近来主张采用样机策略的人也多起来 原型需求分析 74 按照传统的瀑布模型进行软件开发 由于将软件开发这样一个充满回朔的过程硬性地割裂开 虽然强调各个阶段的复审 而用户所提出的需求往往是模糊的 因此很难得到一个完整精确的规格说明 直接影响到后期的开发 针对其主要缺点推出了原型化方法 2 3原型化方法 什么是原型化方法 PrototypingMethod 原型是软件开发过程中 软件的一个早期可运行的版本 它反映了最终系统的部分重要特性 原型化方法的基本思想是花费少量代价建立一个可运行的系统 使用户及早获得学习的机会 原型化方法又称速成原型法 RapidPrototyping 强调的是软件开发人员与用户的不断交互 通过原型的演进不断适应用户任务改变的需求 将维护和修改阶段的工作尽早进行 使用户验收提前 从而使软件产品更加适用 75 由于软件项目的特点和运行原型的目的不同 原型有两种不同的类型 软件原型的分类 2 追加 addon 型也称为快速建立渐进原型RCP法 RapidCyclicPrototyping 法采用循环渐进的开发方式 对系统模型作连续精化 即先构造一个功能简单而且质量要求不高的模型系统 作为最终系统的核心 将系统需要具备的性质逐步添加上去 通过不断地扩充修改 逐步追加新的要求 直至所有性质全部满足 此时的原型模型也就是最终的产品 1 废弃
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 柔性版印刷员创新方法模拟考核试卷含答案
- 人教版化学九年级上册第三单元课题3《元素》说课稿
- 增值税留抵退税政策对就业的影响研究
- 半导体芯片制造工安全技能测试竞赛考核试卷含答案
- 钙处理工艺对含硫钢中夹杂物演变影响研究
- 2025年高级增材制造设备操作员三级技能认定理论考试题及答案
- 第10课 三维徽章轻松做说课稿-2025-2026学年小学信息技术(信息科技)五年级下册人教·内蒙古版
- 2025年超低频振动标准项目合作计划书
- 2015一年级品生下册《“六一”大行动》说课稿 北师大版
- PLC在机床中的应用说课稿-2025-2026学年中职专业课-工厂电气控制设备-机械制造技术-装备制造大类
- 用车登记表(标准模版)
- GB/T 9871-2008硫化橡胶或热塑性橡胶老化性能的测定拉伸应力松弛试验
- GB/T 12190-1990高性能屏蔽室屏蔽效能的测量方法
- 中共一大会址
- 01第一章-稻谷的加工汇总课件
- 六年级LOGO小海龟编程
- 非ST段抬高心肌梗塞指南课件
- 驻足思考-瞬间整理思路并有力表达
- 【QC成果】提高预制梁吊装一次就位合格率2018
- Unit 2 Lesson 3 Running and Fitness 课件 高中英语新北师大版必修第一册(2022-2023学年)
- 炸药库建设方案
评论
0/150
提交评论