四章

  1. 需求获取的常见困难

软件需求定义: 
软件需求是一个为解决特定问题,而必须由被开发或被修改软件展示的特性。 
软件需求基本特征:可验证性、优先级、唯一性。 
软件需求分析的目的: 
检测和解决需求之间的冲突; 

  1. 需求获取内容,来源,方法,

 需求调查与问题定义:

在做需求调查时需要做到两WH WhatWhereHow

1What-----应该收集什么信息

2Where----从什么地方收集

3How-------用什么机制或技术来收集

需求分析通常包括个方面:

1绘制系统上下文范围关系图:主要用于定义系统与系统外部实体间的界限和接口的简单模型,他可以为需求确定一个范围。其实就是DFD0层图。

2创建用户接口原型:这里我们可以把他看成是用户操作的一个雏形,什么意思呢就是我们通常所说的界面用户通过一系列的操作完成他想达到的效果的接口。

3分析需求的可行性:这个需求我们应该用什么技术解决,他实现后的性能怎么样,是否与其他需求相重合或是矛盾,这里一定要注意不要把系统的这个需求怎么用代码实现想进去。在需求分析时应多注意需求本身是否有用不必考虑怎么实现

4确定需求的优先级:可采用满意度/不满意度指标来说明(满意度1-5 表示当需求被实现时用户的满意程度;不满意度取值同理)

5为需求建立模型:这里可以用UML创建用例图或是E-R图再加上少量的文字描述。

6使用质量功能调配(QFD):这里我的理解是分析员根据需求的理解发现隐藏需求而这些需求是用户也没有想到的需求,系统实现后会给用户一个惊喜,而没实现用户也不会有抱怨。

需求分析方法

现在比较流行的软件需求分析方法有4种,其中3种理论比较成熟

1结构化分析方:这个大家想必很熟悉了不在复述。

2软系统方法:这只是过度性的方法论他的出现只是证明结构化分析方法的一些不足。因为结构化分析方法采用的相对形式化的模型不仅与社会观格格不入,而且在解决“不确定性”时显得十分无力。

3面向对象分析方法(Object Oriented AnalysisOOA):这也是我下文想讲的分析方法

4面向问题域的分析(Problem Domain Oriented Analysis,PDOA):OOA也存在着很多不足,但PDOA现在正在研究中所以未被广泛应用

这里需要注意的是:在软件开发中有很多需求分析方法他们没有好坏之分只要你运用得当照样可以做出一个很好的系统,依据个人对某个方法的理解用自己最擅长的方法是最明智的选择。

5.       面向对象需求分析(OOA

面向对象这个概念很简单但也很复杂我在这里不做深入探讨。我将从实际出发来和大家一起探讨下在实际开发中我们应该怎么做。

OOA的精髓在于世间万物均为对象采用OOA方法在整个过程中包括2个工作任务:建立一个反应问题域静态关系的概念模型,就是我们通常所说的类图;另一个反应系统行为的动态模型,即用例模型

 

posted on 2018-01-17 23:30  似水似墨  阅读(166)  评论(0编辑  收藏  举报