在学了大概一个月的《软件需求》的课程后,我理解的软件需求就是从用户了解到的想要软件有什么功能,通过需求分析人员分析整理出来用户的哪些需求可以实现,哪些是无法实现的。最近通过读《软件需求十步走》这本书,书中给出来软件需求的定义,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)可验证性:检查每项需求是否能通过设计测试用例或其他验证方法。

转载于:https://www.cnblogs.com/qilin20/p/8933550.html

《软件需求十步走》读书笔记02相关推荐

  1. 《软件需求十步走》阅读笔记06

    开发因需求而来,需求开发以需求规划的成果为主要依据.软件需求开发首先要做的是获取需求,得到目标,系统关联情况以及用例的分析:其次是需求分析,软件系统的可行性,用户接口,系统功能,数据,优先级等在这些需 ...

  2. 《软件需求十步走》阅读笔记5

    第五篇介绍的是需求工程的开发篇,需求的思路,获取,分析,编写,认证是这一部分的关键. 需求开发的思路和过程 需求开发工作是"以技术为核心.以业务为辅助"作为指导思想,以要说清楚软件 ...

  3. 《软件需求十步走》阅读笔记一

    新一代软件需求工程由需求规划.需求开发.需求管理三个分项工程构成. 软件需求的业务活动由需求规划的业务研究.应用建模.系统规划.分析计算.报告编制.规划评审6项业务活动和需求开发的需求获取.需求分析. ...

  4. 阅读笔记:软件需求十步走(三)

    软件需求的验证工作的目的是保证需求分析成果的完整性和正确性,保证软件开发后的软件产品是用户所需要的.软件需求验证的工作的重要性是在于发现修复需求分析中存在的问题.软件需求验证的主要工作是自我验证,用户 ...

  5. 《软件需求最佳实践》阅读笔记02

    第4章 需求定义的最佳实践 需求定义,顾名思义,就是要确定项目的宏观需求.换句话说,就是定义项目的业务需求,就是明确项目的目的和范围. 需求定义的时机,应该是项目启动时要解决的问题,也就是在项目立项是 ...

  6. 推荐系统实践读书笔记-02利用用户行为数据

    推荐系统实践读书笔记-02利用用户行为数据 为了让推荐结果符合用户口味,我们需要深入了解用户.如何才能了解一个人呢?<论语·公冶长>中说"听其言,观其行",也就是说可以 ...

  7. 《淘宝技术这十年》读书笔记 (三). 创造技术TFS和Tair

    前面两篇文章介绍了淘宝的发展历程和Java时代的变迁:             <淘宝技术这十年>读书笔记 (一).淘宝网技术简介及来源             <淘宝技术这十年&g ...

  8. 《淘宝技术这十年》读书笔记 (二).Java时代的脱胎换骨和坚若磐石

    马云说过"一个好的东西往往是是说不清楚的",姑且不论这句话的对与错.但我真的很佩服<淘宝技术这十年>这本书的作者子柳,能够通过淘宝的一些故事,按照时间顺序和IT发展的各 ...

  9. 《淘宝技术这十年》读书笔记 (四). 分布式时代和中间件

    前面两篇文章介绍了淘宝的发展历程.Java时代的变迁和淘宝开始创新技术:              <淘宝技术这十年>读书笔记 (一).淘宝网技术简介及来源              &l ...

最新文章

  1. NHibernate2.1新特性之entity-name
  2. 早上醒来收获一个Surprise,成为CSDN博客专家了
  3. Spring Cloud构建微服务架构-服务网关
  4. 深度学习-线性回归基础-02
  5. linux环境没有bzip2,Linux系统中安装使用Bzip2来压缩文件的方法讲解
  6. Web App 和 Native App,哪个是趋势?
  7. java与html关联_java-如何在HTML文件中搜索某些标签?
  8. 现代软件工程系列 创新靠学分
  9. 微服务跨数据库联合查询_数据库跨库查询
  10. 图像局部特征(十二)--BRISK特征
  11. 【渝粤题库】陕西师范大学210024 学前儿童科学教育 作业 (专升本)
  12. Ubuntu18.04下隐藏桌面硬盘图标
  13. ps界面为啥突然变大了_PS修图教程,如何把把照片变得更有质感
  14. 猫哥教你写爬虫 045--协程
  15. python变量的使用_python变量赋值的几种形式细节
  16. 教你九招防电脑辐射的方法!
  17. 13个小众有趣的网站,只有程序员才看得懂
  18. 第四部分 查找:两个经典二分查找算法
  19. 网站长期被挂马 访问者屡遭木马侵害
  20. Flutter dio 文件上传下载

热门文章

  1. php 得到服务器的数据$_SERVER
  2. 解决访问被拒绝:Microsoft.Web.UI.WebControls的问题
  3. 忘记VSS admin密码了
  4. 小程序入门学习17--springboot环境配置01
  5. 设计模式13_享元模式
  6. 真传x深度学习第一课:环境配置搭建
  7. 从入门到进阶,这10本高分书籍,优秀数据分析师越早读完越好
  8. 10年老分析师最终抛弃Excel,它不是最好的数据分析工具
  9. 1核1g java_wordpress博客1核1G1M够用吗
  10. 使用python对文档的所有词组统计