《软件需求十步走》读书笔记02

  在学了大概一个月的《软件需求》的课程后,我理解的软件需求就是从用户了解到的想要软件有什么功能,通过需求分析人员分析整理出来用户的哪些需求可以实现,哪些是无法实现的。最近通过读《软件需求十步走》这本书,书中给出来软件需求的定义,IEEE软件标准词汇表(1997)中把传统软件需求定义为:(1)用户解决问题或达到目标所需的条件或权能;(2)系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能;(3)一种反映上面(1)或(2)所描述的条件或权能的文档说明。此外书中还给出来另外几位资深工作者给出的关于软件需求的定义,在此就不一一列举。但是,虽然他们的表述方式并不相同,但是都指出了软件需求中应包括对用户需要的描述、系统功能、性能、约束的描述内容。

  在一个系统或软件的开发中,以前我认为是功能的实现占大部分,技术人员应该是一个团队中比较重要的角色,所以在以前的学习中,比较看重自己的编码能力,但是,通过学习《软件需求》以及阅读相关书籍后,才明白,软件需求才是重要的那一部分,一个系统或软件能不能成功取决与需求的精准与否。而且需要分辨的是,软件工程和需求工程是既相对独立又相互关联的两个工程,软件工程是以需求工程为核心,需求工程的产物是软件需求,软件需求是需求工程和软件工程的纽带。分清软件工程和需求工程以及明白它们之间的联系也是非常重要的。

  书中给出了新一代的软件需求的定义为:(1)站在顶层和全局的角度从问题和目标开始全面细致地对业务进行分析和描述;(2)在业务分析的基础上将信息系统的宏观设计也纳入到分析中并描述出业务与信息系统的关系;(3)用户解决问题或达到目标所需的条件或权能;(4)系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能;(5)一种反映上面4部分所描述的条件或权能的文档说明。新一代的软件需求比起以前的更能全面照顾到软件开发过程中所有的风险承担者。

  我认为,一个成功的项目很大程度上取决于一个优秀的软件需求团队,一名优秀的需求分析人员则最基本需要保证软件需求可以满足以下特性:

  (1)完整性:每一个软件需求都必须将所需要实现的功能描述清楚,因为即使99.9%的需求都正确,只有0.1%的错误都可能引起重大的失误导致项目的失败。

  (2)正确性:每一个软件需求都必须准确的描述其开发功能。

  (3)第一性:业务分析的工作是软件需求的第一重要工作。

  (4)前置性:软件需求中将信息系统

  (5)可行性:

  (6)必要性:

  (7)等级性:

  (8)无二义性:

  (9)可验证性:

猜你喜欢

转载自www.cnblogs.com/qilin20/p/8933550.html
今日推荐