1 软件需求获取的任务
软件需求:是为了解决用户的问题和实现用户的目标,用户所需的软件必须满足的能力和条件。
每种人员对需求的描叙是不同的。
不同的抽象层次或角度列举的需求:
业务需求:描叙使用软件系统要达到什么目标。例如,使用软件系统要提高工作效率多少倍,节省多少费用等。
用户需求:描述用户要求系统必须能完成的任务,或者说描述能用系统做什么。
系统需求:为了满足需求,系统或系统成分必须满足或具有的条件或能力。该项需求中通常包括软件和硬件需求,且对需求的描述层次是顶级的。
功能需求:规定软件必须实现的功能性需求。该项需求规定开发人员必须要实现的软件功能,供用户使用。该项需求基于系统需求得到。
非功能需求
2 软件需求的获取与确认过程
获取:
协商:
说明与定义:
确认:需求间无冲突、内容一致。
3 快速原型化方法
先实现一部分软件,展现需求提出方的要求,往往会减少软件供需双方对需求理解上的差异,而且会提高需求提出方交流需求的积极性。
演示原型
技术验证原型:该原型在技术层上实现软件的部分功能,以验证技术上的可行性。在不能确定所要实现的需求项是否可行时,或者要优化算法、评估所要采用的技术时,就可以开发技术验证原型,以减少开发风险
4 基于用况的方法
在建立用况模型时,要确定系统边界,找出在系统边界以外与系统交互的事物,然后从这些事物与系统交互的角度,通过用况来描述这些事物怎样使用系统,以及系统向它们提供什么功能。
系统边界
系统的所有内部成分与系统以外各种事物的分界线。
参与者
一组在功能上密切相关的角色,当一个事物与系统交互时,该事务可以扮演这样的角色。————>人员、外部系统、设备。(启动系统的参与者。)
用况:是描述系统的一项功能的一组动作系列,这样的动作序列表示参与者与系统间的交互
包含 基用况在它内部说明的某一(些)位置上显式的使用供应者用况的行为的结果。
扩展
<执行完扩展用况后,其用况继续执行扩展点下面的行为。>
<可选的交互行为、例外处理建模>
继承
5 需求管理
需求标识和分类
变更管理
需求基线是经过正式评审与同意、用作下一步开发的基础的软件需求。后续的需求变更必须遵循正式的变更控制过程。
需求跟踪:建立需求跟踪矩阵