欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

第一章 需求概述

程序员文章站 2022-03-16 10:50:50
1.1 需求问题的提出 五个与需求有关的败因描述:(1)不完整的需求(2)缺乏用户参与(3)不切实际的用户期望(4)需求变更频繁(5)提供了不再需要的需求 1.2 不同项目的需求视图 不同的软件项目具有不同的特点,这对需求也带来了影响,在此主要从信息系统、嵌入式系统、软件产品等不同角度说明如何进行相 ......

1.1 需求问题的提出

五个与需求有关的败因描述:(1)不完整的需求(2)缺乏用户参与(3)不切实际的用户期望(4)需求变更频繁(5)提供了不再需要的需求

1.2 不同项目的需求视图

不同的软件项目具有不同的特点,这对需求也带来了影响,在此主要从信息系统、嵌入式系统、软件产品等不同角度说明如何进行相关的需求工作

(1)信息系统的需求试图(2)嵌入式系统的需求试图(3)软件产品的需求试图

1.3 需求的定义

软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。经过与客户的多次交流,并且收集、协商、修改产品需求后,软件开发人员将用户提出的要求变成软件需求,软件开发人员将在此基础上成功的开发软件系统,使其与用户最终的要求相适应

1.3.1几种主要的需求定义

1.3.2需求定义的一些基本原则

(1)并没有一个清晰、毫无歧义的“需求”术语的存在,真正的“需求”实际上在人们的脑海中(2)定义问题,而不是解决问题(3)定义系统,而不是项目(4)区分正式和非正式部分(5)避免重置(6)保持每个需求定义的大小在合适的范围是良好的做法

1.3.3优秀需求的特征

(1)完整性(2)正确性(3)无歧义性(4)可行性(5)有优先级(6)必要性(7)可验证性

1.4 需求定义的实践

1.4.1 需求定义任务概述

要想建立起清晰的项目目标,需要注意一下两个方面:(1)内部寻根(2)外部溯源

1.4.2问题分析五步法

(1)在问题定义上达成共识(2)分析问题背后的问题(3)确定相关人员和用户(4)定义解决方案的界限(5)确定加在解决方案上的约束

1.4.3需求定义的要素

问题定义的要素包括:目标、范围、相关人员与用户、相关事实与假定

1.4.4需求定义的范围

1.5需求的层次和分类

软件需求的层次:业务需求、用户需求、功能需求

(1)业务需求:代表了需求链中的最高的抽象,它为软件系统定义了项目视图和范围,反映了企业/组织对软件系统的最高层次目标要求

(2)用户需求:用户使用软件需要完成什么任务,怎么完成的需求

(3)功能需求:对用户需求进行分析,提炼,整理,因为用户需求具有林三、存在矛盾的特点。功能需求必须根据用户要求来考虑,且要与业务需求所设定的目标相一致

1.5.2 软件需求的分类:功能需求 非功能需求 设计约束

(1)功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求

(2)非功能需求:作为功能需求补充的非功能需求,它描述了系统展现给用户的行为和执行的操作。包括外部界面的具体细节、性能及质量属性。

(3)指对开发人员在软件产品设计和构造上的限制,产品必须遵从的标准、规范、合约。包括:非技术因素的技术选项,预期的软硬件环境和预期的使用环境。

1.6需求分析与其他软件项目过程的关系

1.6.1 软件的生命周期

软件开发的共有阶段:(1)问题定义和可行性研究(2)制定开发计划(3)需求捕获(4)分析(5)设计(6)规范(7)实现(8)测试(9)部署(10)维护

1.6.2需求与其他软件项目过程的关系

需求分析在系统开发的整个生命周期中处于基础、最重要的位置。需求分析用于软件项目的初始阶段,他的结果接着用于开发的下一阶段即设计阶段。