查看: 837|回复: 0

[ASP.NET教程] 第一章 需求概述

发表于 2018-3-22 08:00:01

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需求与其他软件项目过程的关系

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



回复

使用道具 举报