您的位置:首页 > 其它

软件工程 -- 需求分析

2012-11-04 13:25 169 查看



软件需求分为三大部分

1)功能需求:指系统需要完成那些事情,不应该做什么.

2)非功能需求:比如可靠性、扩展性、响应时间、性能等等...

3)设计约束:系统对操作系统的要求,硬件环境的要求,技术的可行性,操作的可信性,经济的可行性

需求调查与问题定义

在做需求调查时需要做到

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

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

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

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

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

2)创建用户接口原型

3)分析需求的可行性:这个需求我们应该用什么技术解决,他实现后的性能怎么样,是否与其他需求相重合或是矛盾

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

5)需求建立模型

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

优秀需求具有的特性(十二点)

1)完整性:每一项需求都必须将所要实现的功能描述清楚.

2)正确性:每一项需求都必须准确地陈述所要开发的功能

3)可行性:每一项需求都必须在已知系统和环境的技术、资源等限制范围内是可以实施的

4)必要性:每一项需求都必须和某项真正用户需求

5)与实现无关性:需求关注的是系统将要做些什么,其后的阶段如设计,关注该系统将怎样来实现

6)划分优先级:给每项需求分配一个可实施的优先级以指明特在产品中的重要程度.

7)无二义性:每项需求对所有相关的读者只能有一个明确统一的解

8)可验证性:每项需求都应能够被人或机器加以验证,否则将无法确定该项需求是否实现

9)正确的层面:每项需求或者一组需求都应包含相应的层面信息,以便据此足以导出下一层产品需求或设计,但不应提供对下一层活动如设计不必要的限制.

10)一致性:需求规格说明一致性是指软件需求不能与其它需求如系统需求、业务需求相矛盾.

11)简洁明了:每一需求都应清晰地对应某一系统功能或用户需要,

12)可跟踪性:应能在每项软件需求与它的根源和设计元素、源代码、测试用例之间建立起链接链.

不合格的需求派生的问题(七点)

1)没有足够用户参与 : 用户不多导致产品无法被接受

2)用户需求的不断增加 : 带来过度的耗费和产品质量的降低

3)模棱两可的需求说明 : 将导致时间的浪费和返工

4)用户增加一些不必要的特性和开发人员画蛇添足

5)过分简略的需求说明 : 以致遗漏某些关键需求

6)忽略用户分类 : 忽略某类用户的需求将导致众多客户的不满

7)不完善的需求说明 : 使得项目计划和跟踪无法准确进行

外包

1.技术外包: 将客户服务均外包给一家或多家公司来负责

2.咨询外包: 指用软件公司的技术为用户的特定需要而进一步地开发新系统,是双方在技术和市场方面的联盟合作

3.测试外包: 把原有的测试部门的大部分测试分到外面去做,仅保留部分和开发互动非常紧密的少数测试人员

4.维护外包: 把旧产品的维护工作交给别的公司,自己则专注新的产品的开发

5.编程外包: 在完成产品设计后,把代码编程的工作外包

6.设计外包: 几乎把所有的开发工作都外包给另一家公司,自己则集中精力做市场

用户体验

图释一:



图释二:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: