需求工程复习
-
1.2.1需求工程简介
-
定义
简单地说,需求工程是所有需求处理活动的总和,它收集信息,分析问题,整合观点,记录需求并验证其正确性
从细节上说,需求工程是软件工程的一个分支,它关注软件系统所应实现的现实目标,软件系统的功能和软件系统应当遵守的规约
3个任务:
- 必须说明软件系统将应用的环境与目标,‘“做什么”,“怎么做”
- 必须将目标,功能,约束反映到系统软件中
- 妥善处理目标,功能和约束随着时间的演化
-
基本活动
需求工程分为 需求开发 与 需求管理
-
需求管理:需求管理是对需求开发所建立的需求基线的管理。它在需求基线完成后正式开始,在需求工程结束之后继续存在
-
需求开发
-
需求获取:从项目战略规划开始建立的最初原始需求
-
需求分析:保证需求的完整性与统一性
-
需求规格说明:将完整性,一致性的需求与能够满足需求的软件行为以文档方式明确固定下来
-
需求验证:保证需求及其文档的正确性,完整性与一致性,最后统一意见,得出需求规格文档
-
-
-
-
2.2.2 问题与与解系统
-
2.3 需求和问题都有层次性
需求层次三角形(p29)
-
(目标)业务需求:描述组织为什么要开发该类型系统,描述系统的目标与效益(来自决策者)
-
(任务)用户需求:描述了系统能够帮助用户做什么,描述具体任务 如:xx用户可以使用系统完成xx任务(来自 用户(超市收银员))
-
(系统行为)系统需求:关注软件系统的行为,如:在xxx用户提出xxx请求时,系统可以xxx(来自 软件开发者)
-
-
2.4 严格意义上的软件需求分类
-
功能需求:和系统主要工作相关的需求
-
性能需求:系统性能:CPU使用率和内存使用率
-
质量属性:系统完成工作质量:可靠性层度和可维护性程度
-
对外接口:系统环境与其他系统需要建立的接口:硬件接口,软件接口,数据库接口
-
约束:对系统构造的约束:编程语言和硬件设施
-
-
2.5 优秀需求特性
-
完备性
-
正确性
-
可行性
-
必要性
-
无歧义
-
可验证
-
-
3.1需求工程过程
需求获取—>需求分析—>需要规格说明 —>需求验证
产生的文档:
-
项目前景和范围文档:定义系统业务需求,明确了系统开发努力方向
-
用户需求文档:定义系统的用户需求,以用户立场表达对系统行为的期望(用例文档)
-
需求规格文档:定义系统级需求,指出开发者应该完成的任务
-
-
3.3 需求开发过程是迭代与并发的
需求开发过程是并发与迭代的
如何并发与迭代? 比如说:需求的基本活动,活动之间没有明显的界限。比如:需求验证的过程,需求验证的过程我们持续在所有的过程当中都在做,为什么要一边获取,一边理解,一遍建立分析模型,就是在持续不断地在做,在验证它
-
5.2 问题分析(p96)
-
问题分析过程
-
获取问题(收集背景资料与涉及沟通来实现)
-
明确问题(对问题达成共识;收集背景资料,判断问题的明确性;分析不明确的问题,发现问题背后的问题)
-
(根据问题来)发现业务需求
-
(根据业务需求来)定义系统解决方案及系统特性
-
(根据业务需求来)确定解决方案的边界 (用例图【 面向对象解决方案】 或者 上下文图 【结构化解决方案】)
-
-
5.3 目标分析(109) 重要
-
目标精化
例子:比如 可以把目标分成不同的类型,接下来可以用一个目标精化图来表示
与或树: 实心黑点(And精化 同时要求) ,空心白点(OR精化 或者 ),可以识别出目标规格的关系
-
目标的规格与关系
- 实现(achieve)
- 终止 (cease)
- 保持 (maintain)
- 避免 (avoid)
- 优化 (maximize) 最大优化 , (minimize)最小优化
-
-
目标分析过程(113)
实验报告三
-
7.1 用例/场景模型,需求获取
属于中间部分
场景的定义:
场景是具有重点描述真实世界的特征,它利用情景,行为者之间的交互,事件随世界的演化方式来叙述性地 描述系统的使用
用例的定义:
每个用例是对相关场景集合(同一个目标下的多个场景的叙述性的文本描述)
(191图)
-
8.2.2 面谈 问题的类型(199)
-
问题的分类有哪些
- 开放式问题:会见者对答复的选择可以是开发的,不受限制的(XXX是什么?)
- 封闭式问题:对答案有基本形式(几个?几次? 等)
-
-
9.1 原型及原型法 (218)
原型及原型法用于解决不确定性
- 不确定性:有风险,对未来知识了解有限而无法确定某些行为或事件的后果
- 原型及原型法: 原型是真实系统中的模型,可以让人们可以了解到未来的物件的某一方面
- 书面描绘,场景描述,故事板,幻灯演示,动画模拟,屏幕快照和代码等再能都是原型法
-
9.2 原型的用途
- 演示原型
- 严格意义上的原型
- 试验原型
- 引示系统原型
-
9.3 抛弃需求原型
- 探索式
- 实验式
- 演化式
-
10.2 文档审查
- 需求重用
- 文档分析
- 需求剥离
-
11.1.需求分析
-
模型
模型: 模型是对事物的抽象,帮助人们在创建一个事物之前有更好的理解
-
两个世界三种模型(252)
需求获取信息 —>业务模型—>分析模型—>计算模型
问题世界—> 计算世界 —>机器世界
- 计算机世界与计算模型
- 问题世界与业务模型
- 软件分析模型
半形式化的特征 : 不像计算模型那么严格,又比业务模型更严谨
-
结构化方法—>信息工程方法—>面向对象方法
-
12 过程建模
- 数据流图
-
13 数据建模
-
实体关系图
-
找出实体
-
确定实体标识符
-
简化实体之间的关系
-
添加详细的描述信息
-
-
14 UML
-
领域模型
- 识别候选对象的类
- 确定概念类
- 建立类之间的关系
- 添加类的重要属性
-
行为模型
- 交互图
-
顺序图
-
通信图
-
系统顺序图
-
状态图
-
活动图
-
-
-
15 需求规格说明
-
需求规格说明文档
整个系统功能分配给软件部分的详细描述
-
硬件需求规格说明文档
是对整个系统功能中分配给硬件部分的详细描述
-
接口需求规格说明文档
是对整个系统中需要软,硬件协同实现部分的详细描述
-
人机交互文档
-
对整个系统功能中需要进行人机交互部分的详细描述
来源:CSDN
作者:韩who
链接:https://blog.csdn.net/chenhanhao0000/article/details/103829991