什么是需求工程:*
是一个不断反复的需求定义、文档记录、需求演进的过程,并最终在验证的基础上冻结需求。
需求工程有哪几个阶段:*
需求获取、需求分析与协商、系统建模、需求规约、需求验证、需求管理
需求获取:
有什么需求:
1.软件成本消耗 与开发进度需求:是否有时间表、软硬件投资有无限制
软件方面:
2.功能需求:要做什么,何时做,何时修改或升级
3. 界面需求:其他系统的输入,到其他系统的输出,对数据格式的特殊规定
4.资源使用需求:软件运行时锁需要的数据,其他软件,内存空间
硬件方面:
5.性能需求:考虑开发的性能指标
人员方面:
6.用户或人的因素:考虑用户类型
数据方面:
7.数据需求:考虑输入输出数据的格式,接受和发送数据的频率
文档方面:
8 .文档需求:需要哪些文档,针对哪些读者
9.安全保密需求:是否要对访问系统 或系统信息加以控制
10.可靠性需求:系统是否必须检测和隔离错误
11.环境需求:考虑未来软件应用的环境,包括硬件和软件
12.其他非功能需求
如何获取需求:方法和途径
1.建立顺畅的通信途径
2.访谈和调查
3.观察用户操作和流程
4.组成联合小组
5.用况
获得需求后需要对需求进行分析
需求的分析、协商与建模
分析的原则:
1.必须能够表示和理解问题的信息域
2.能够定义软件将完成的功能
3.表示软件的行为
4.划分描述数据、功能和行为的模型
5.分析过程应该从要素信息移向细节信息
需求分析阶段的基本任务是什么?*
需求分析阶段的基本任务是:
(1.问题识别:
双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求.
(2.分析与综合,导出软件的逻辑模型.
(3.编写文档
什么是信息域:*
组成:信息内容,信息流,信息结构
信息内容:表示单个数据和控制对象
信息流:数据和控制再系统中流动时的变化方向,输入对象变换为中间值然后转化为输出
信息结构:数据和控制在内部的组织形式
需求协商:
复杂的系统有许多相关人员,他们之间的需求会产生冲突,协商就是解决冲突找到每个人都折衷的方案,要注意组织和行政方面的因素:
1.不一致目标
2.责任的丧失或转移
3.组织文化
4.组织管理态度和士气
5.部门差异
需求建模:
观察和研究某一事物的时候,往往把它抽象成模型,帮助分析员理解系统的信息,功能和行为,着重于要做什么,而不是如何去做。
常用的分析方法:
面向数据流的结构化分析方法SA
面向数据结构的分析方法
面向对象的分析方法OOA
建立模型之后分析之后的输出就是需求规约
需求规约的原则:
1.从现实中分离功能,描述作什么
2.面对外界的各种刺激,系统应该如何去做
3.如果只是包含计算机的系统的一个元素,还应包含大系统和环境
所有的需求以规约的方式输出,呈现给用户之前需要验证,验证需求是否能够反应用户的意愿
需求验证
需求管理
需求会发生变更,不仅存在于项目开发过程中。项目付诸应用之后也有可能,需求管理用于帮助项目组在项目进展中的任何时候去标识,控制和跟踪需求的活动