软件工程软件需求分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北科技学院计算机系Leabharlann Baidu软件工程课程
19
组成联合小组
• 便利的应用规约技术(Facilitated Application Specification Techniques , FAST) :打破用户(需 方)和开发者(供方)的界限,共同组 成一个联合小组,发挥各自的长处,共 同负责项目的推进,这样有助于发挥各 自优势并增进解和协调
华北科技学院计算机系 软件工程课程
12
内容摘要
• 需求工程概述 • 需求获取 • 需求分析、协商与建模 • 需求规约与验证 • 需求管理
华北科技学院计算机系 软件工程课程
13
软件需求包括
• 功能需求 • 性能需求 • 用户或人的因素 • 环境需求 • 界面需求 • 文档需求
• 数据需求 • 资源使用需求 • 安全保密要求 • 可靠性需求 • 软件成本消耗与开
华北科技学院计算机系 软件工程课程
5
需求获取
• 系统分析人员通过与用户的交流、对现有 系统的观察及对任务进行分析,确定系统 或产品范围的限制性描述、与系统或产品 有关的人员及特征列表、系统的技术环境 的描述、系统功能的列表及应用于每个需 求的领域限制、一组描述不同运行条件下 系统或产品使用状况的应用场景以及为更 好地定义需求而开发的任意原型。
• 需求获取的工作产品为进行需求分析提供 了基础
华北科技学院计算机系 软件工程课程
6
需求分析与协商
• 需求获取结束后,分析活动对需求进行分 类组织,分析每个需求其它需求的关系来, 检查需求的一致性、重叠和遗漏的情况, 并根据用户的需要对需求进行排序。
• 在需求获取阶段,经常出现以下问题:
– 用户提出的要求超出软件系统可以实现的范围 或实现能力;
发进度需求
• 其他非功能性要求
华北科技学院计算机系 软件工程课程
14
需求获取方法与策略
• 建立顺畅的通信途径 • 访谈与调查 • 观察用户操作流程 • 组成联合小组 • 用况(Use Case)
华北科技学院计算机系 软件工程课程
15
建立顺畅的通信途径
• 建立分析所需要的通信途径,以保证能 顺利地对问题进行分析。
– 不同的用户提出了相互冲突的需求
华北科技学院计算机系 软件工程课程
7
系统建模
• 建模工具的使用在用户和系统分析人员之 间建立了统一的语言和理解的桥梁,同时 系统分析人员借助建模技术对获取的需求 信息进行分析,排除错误和弥补不足,确 保需求文档正确反映用户的真实意图。
• 常用的分析和建模方法有面向数据流方法、 面向数据结构方法和面向对象的方法。
时间:2005-6-5
地点:对方场地
确定基本问题。
确定DR的角色――还涉及其它人员吗?
主要问题
调查财物方面事宜。 系统(大致上)是如何运作的?
当前存在的问题是什么?
他们都希望做些什么?
华北科技学院计算机系 软件工程课程
18
观察用户操作流程
• 到用户的实际工作环境中对用户的工作流 程进行观察,了解用户实际的操作环境、 操作过程和操作要求,对照用户提交的问 题陈述,对用户需求可以有更全面、更细 致的认识。
不会是线性地、顺序地完成。实际上, 这些活动是交叉的、递增的和反复的。
重新评估
获取
分析与建模
编写规约
验证
证实
更正并减小误差
重写
华北科技学院计算机系 软件工程课程
11
需求管理
• 需求工程包括获取、分析、规定、验证和 管理软件需求,而“软件需求管理”则是 对所有相关活动的规划和控制。
• 需求管理就是:一种获取、组织并记录系 统需求的系统化方案,以及一个使用户与 项目团队对不断变更的系统需求达成并保 持一致的过程。
华北科技学院计算机系 软件工程课程
20
FAST基本原则
① 在中立的地点举行由开发者和用户出席会议; ② 建立准备和参与会议的规则; ③ 建议一个足够正式的议程以便进行自由交流; ④ 一个“协调者” 来控制会议; ⑤ 使用一种“定义机制”(它可以是工作表、图表、
– 提问和回答在汇总后应能够反映用户需求的全貌。
华北科技学院计算机系 软件工程课程
17
• 例子:“赛艇比赛成绩计算系统”的第 一次面谈的准备计划
初次与Dartchurch航行俱乐部的航行秘书(DR)接触,面谈有关 事宜。(在电话交谈时,了解到他们希望得到的是一个“价廉”的, 基于PC的系统,以用于计算赛艇比赛成绩)
9
需求验证
• 作为需求开发阶段工作的复查手段,需求 验证对功能的正确性、完整性和清晰性, 以及其它需求给予评价。为保证软件需求 定义的质量,评审应以专门指定的人员负 责,并按规程严格进行。
华北科技学院计算机系 软件工程课程
10
• 在实际的开发过程中,获取、分析、建 模、编写规约和验证这些需求开发活动
3
内容摘要
• 需求工程概述 • 需求获取 • 需求分析、协商与建模 • 需求规约与验证 • 需求管理
华北科技学院计算机系 软件工程课程
4
• Davis把需求工程定义为:直到 (但不包括)把软件分解为实际 架构和构件之前的所有活动。
• 本书将软件需求工程细分为:需 求获取、需求分析与协商、系统 建模、需求规约、需求验证和需 求管理六个阶段。
华北科技学院计算机系 软件工程课程
8
需求规约
• 软件需求规约是分析任务的最终产物,通 过建立完整的信息描述、详细的功能和行 为描述、性能需求和设计约束的说明、合 适的验收标准,给出对目标软件的各种需 求。
• 需求规约作为用户和开发者之间的一个协 议,在之后的软件工程各个阶段发挥重要 作用。
华北科技学院计算机系 软件工程课程
华北科技学院计算机系 软件工程课程
16
访谈与调查
• 在具体的实践中,通常采用折衷的方法,即适当 地计划好面谈,但不要过于详细,允许有一定的 灵活性。一般按照如下原则进行准备:
– 所提问的问题应该循序渐进,从整体的方面开始提问, 接下来的问题应有助于对前面的问题更好的理解和细 化;
– 不要限制用户对问题的回答,这有可能会引出原先没 有注意的问题;
• 系统工程的任务
– 识别用户的要求 – 系统建模和模拟 – 成本估算及进度安排 – 可行性分析 –生成系统规格说明
华北科技学院计算机系 软件工程课程
1
软件工程
第3章 软件需求分析
内容摘要
• 需求工程概述 • 需求获取 • 需求分析、协商与建模 • 需求规约与验证 • 需求管理
华北科技学院计算机系 软件工程课程