这周我阅读的是软件需求模式的第三章------需求模式概念。

  需求模式是定义一种特定类型需求的方法。首先我们要注意的是,需求模式是应用于单个需求的,一旦编写完需求,模式的任务就没有了。需求模式的好处有提供指导,节省时间,促进同种类型需求的一致性。

  需求模式具有9项固定的要素,包括基本细节、适用性,讨论,内容、模板、实例、额外需求、开发考虑、测试考虑,在这些前面是唯一标识一个需求模式的模式名称。基本细节包括模式声明、所属领域、相关模式、预期频率、模式作者几个方面的内容,简要地介绍了一个需求模式的基本信息。于适用性而言,需求模式只适用一种明确的环境,两种不同的环境通常要求使用两种不同的模式。需求模板的目的是可以复制它作为需求描述的出发点。模板可以包含可选部分,这些信息并不是在所有情况下都需要。需求模式可能有不同的模板,每一种适合不同的情况。额外需求包括跟随性需求和普遍性需求。最后的测试考虑需要传达三类信息:1.评审这些需求是需要注意的地方;2.总体上知道如何测试这种类型的需求;3.提醒一些应该注意的事项以及提示如何处理。

  为了有条理的组织需求模式,我们需要给每一个需求分配一个领域,每个领域都有一个主题。领域包括基础,信息,数据实体,用户功能,性能,灵活性访问控制,以及商业。需求模式依赖于基础架构,每个基础架构分为目的,调用需求,实现需求几个小节。需求模式组是为了应对当几个需求模式有着共同的特性。领域和需求模式组的区别在于领域中的模式都有一个共同的主题,而在模式组中的模式有共同的特性。

  需求模式之间的关系主要有两种:一是引用,即一个需求模式可以在定义中提到另一个模式;二是扩展,也就是一个需求模式以另一个需求模式为基础开发。需求模式分类的方法有许多种,如果对模式分类,自动就会对使用这些模式的需求分类,这也是使用需求模式的一个优点。每个分类需要定义名称,读者,目的,允许值,缺省值这几方面的内容。提炼需求的主要要求是保持最初的需求,但是分割成多个部分,使它们变成附加需求。根据不同的系统特性,可能有四分之一的需求是其他需求的提炼。需求模式和方法的多样性体现在对于给定的系统,没有唯一一套完美的需求。如果存在两套需求模式覆盖同样的范围,有两种组织的方法:一是一个领域可以包括两套需求模式,而是领域规格可以有两种声明,每种声明可以包括一套需求模式。

  通过学习需求模式概述这一章,我学到的需求模式的概念,特性等多方面的内容,加上深了我对软件需求的学习。

转载于:https://www.cnblogs.com/my1204/p/6014253.html

软件需求阅读笔记之三相关推荐

  1. 构建之法阅读笔记之三

    构建之法阅读笔记之三 本章为团队和流程,主要介绍了典型的软件团队模式和开发流程以及它们的优缺点.TSP.MVP.MBP.RUP 团队:并不是几个人凑到一起就叫团队,称之为团队 1.应该有一致的集体目标 ...

  2. 《深入实践Spring Boot》阅读笔记之三:核心技术源代码分析

    为什么80%的码农都做不了架构师?>>>    刚关注的朋友,可以回顾前两篇文章: 基础应用开发 分布式应用开发 上篇文章总结了<深入实践Spring Boot>的第二部 ...

  3. 软件需求分析阅读笔记

    阅读文章<我们应该怎样做需求分析>我了解到,软件需求分析需要掌握以下的内容: 需求调研:对自己需要开发的软件进行调查,了解好用户的需求,针对需求做好准备.需求调研对于一个软件开发来说,是一 ...

  4. 05构建之法阅读笔记之三

    今天看的构建之法的第10章"典型用户和场景",书上开始举了一个很好理解的例子,是一个理发师给顾客剪头发的例子,由例子可见,你光看用户的表面语言是不够的,我们应该理解的是用户语言背后 ...

  5. 03构建之法阅读笔记之三

    老师在课堂上讲解了敏捷开发之后,第一次了解到一个软件开发的模式,而现在我们做的课堂项目也是在敏捷开发的方式下进行的,通过实践感觉到了这个方法的有效性,当然也会让你觉得很麻烦,但确实能带来好的结果. 敏 ...

  6. 《需求工程》阅读笔记之三

    需求工程师是涉众和开发之间的桥梁.如果没有需求工程师的工作,设计师.程序员等开发者就会在深入并准确理解涉众的想法上出现困难,涉众在见到最终的软件之前也无法把握软件是否满足了他们的想法,最终会导致涉众与 ...

  7. 02实例化需求阅读笔记之二

    一个系统开发的成败,好的需求是必要条件,这一点毋庸置疑.我们都知道文档是需求最好的载体,我们离不了它.作为一个软件开发人员,我们不可能说让客户去看我们的代码,因为客户根本就不是我们这一行的人,那看代码 ...

  8. 快速软件开发 学习笔记 之三

    第4章 风险管理 软件经理必须悉心学习风险管理,才能在项目中避免项目失控.正如Tom Gilb所说:"如果你不主动击败风险,它们就会主动击败你."一个成功的软件项目,应该着眼于事前 ...

  9. 02软件需求读书笔记(二)

    故事二:项目语言的选择.书中提到的项目经过了大家无数次的讨论,最终决定使用:Python.但是在项目的后期,另外一个Python高手加入后,曾经隐晦的说过,其实大家在用编写Java代码的方法编写Pyt ...

最新文章

  1. web前端环境搭建以及vue-cli搭建启动vue项目
  2. MySQL分区的限制(最多有多少个分区)
  3. sscanf简单用法
  4. 向SharePoint页面添加后台代码
  5. FK JavaScript之:ArcGIS JavaScript API之地图动画
  6. c语言复化求积公式程序,第六章 函数与宏定义实验2
  7. 本地数据库与mysql同步软件下载_SyncNavigator数据库同步软件
  8. 微软建议Windows 10开发人员升级到Visual Studio 2017
  9. 线性查找法java代码_Java线性查找和二分查找
  10. C#中的委托是什么?事件是不是一种委托?
  11. 基于Discuz的原生态MVC框架Uxf
  12. java 清空文件夹_java 删除文件夹中的所有文件及文件夹
  13. 安徽大学线性代数习题册(第三章详细解答)
  14. C语言排序的几种算法
  15. 初入编程 - HTML + CSS
  16. 【微信授权登录】uniapp开发小程序,实现获取微信授权登录功能
  17. JSAPI支付——H5网页端调起支付接口
  18. SQLite 数据库操作
  19. Win10家庭版打不开gpedit.msc如何处理【解决方法】
  20. 输入子系统(1)——框架认识

热门文章

  1. axi dma 常见的中断报错源码
  2. 趋势修改服务器地址,趋势客户端修改连接服务器
  3. Matlab学习笔记——数据文件定位
  4. MapReduce 中文版论文(转载)
  5. Vue 路由 过渡动效 数据获取
  6. cocospod 安装和使用
  7. MySQL--5子查询与连接小结
  8. ScaleIO 1.32现在可以免费下载安装使用了(除生产环境之外)
  9. 烂泥:nginx同时支持asp.net与php
  10. 多线程Java服务器简单实现