软件需求——需求基础

文章目录

  • 基本概念
  • 需求层次
  • 需求类型
  • 书写需求

基本概念

需求定义(IEEE):
(1)用户为了解决问题或达到某些目标所需要的条件或能力。
(2)系统或系统部件为了满足合同、标准、规范或其他正式文档所规定的的要求而需要具备的条件或能力。
(3)对(1)或(2)中的条件或能力的一种文档化表述。

问题域:要解决问题,就需要改变现实中某些实体的状态或改变实体状态变化的演进顺序,使其达到期望的状态或演进顺序。
这些实体和状态构成了问题解决的基本范围,称为该问题的问题域。

解系统:软件系统通过影响问题域,能够帮助人们解决问题,称为解系统

共享现象:软件系统当中含有问题域某些部分的模型(或模拟),常见的模型包括数据模型、对象模型、处理模型等。 问题域中的某些信息能够和模型中的信息建立映射关系,这些通过映射建立的共同知识,就是问题域和解系统之间的共享现象。

需求规格说明:解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。

约束:问题域中有些特性完全不受共享现象(解系统)的影响,同时却可能很大程度上影响共享现象、解系统,甚至关乎解系统的成败。这些特性被认为是解系统对环境的依赖特性。特性非常明确时,称为约束;特性不明确时,称为假设。

需求层次

  • 明确其不同点:用户需求——任务;系统级需求——交互
  • 文本方式描述系统级需求,图像方式描述用户需求。
    可以说,系统级需求是专业人员对用户需求的一种功能性细分,以更具条理性的文本描述了如何实现用户需求。

需求类型

需求可以分为:项目需求、过程需求、硬件需求、人力需求(其他)。
另外,针对问题,还有一些有别于需求的问题,称为“不切实际的期望”。

比如:在使用系统时,收银员必须要在2个小时内完成一个销售处理的所有操作。(系统无法保证一个用户一定能做到在规定时间完成xxx)
不切实际的期望可以做改进,成为需求:
比如:如果一个销售处理任务在2个小时内没有完成,系统要撤销该任务的所有已执行操作。

软件需求的分类(IEEE):

  • 功能需求:和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。功能需求主要表现为系统和环境之间的行为交互。
  • 性能需求:速度、容量、吞吐率、负载、实时性
    速度:系统的响应时间。PR1:所有的用户查询都必须在10秒内完成。
    容量:系统所能存储的数据量。PR2:系统应该能够存储至少10万条销售记录。
    吞吐量:系统在连续的时间内完成的事务数量。PR3:解释器每分钟应该至少解析5000条没有错误的语句
    负载:系统可以承载的并发工作量。PR4:系统应该允许200个用户同时进行正常的?工作。
    实时性:严格的实时要求。PR5:监测到病人异常后,监控器必须在0.5秒内发出警
  • 质量属性:可靠性、可用性、可维护性、可移植性、安全性、易用性
    可靠性(Reliability):在规格时间间隔内和规定条件下,系统或部件执行所要求能力的能力。
    可用性(Availability):软件系统在投入使用时可操作和可访问的程度或能实现其指定系统功能的概率
    易用性(Usability):与用户使用软件所花费的努力及其对使用的评价相关的特性。
  • 对外接口:解系统和其他系统之间的软硬件接口。
  • 约束:系统开发运行环境、问题的相关标准(法律法规、行业规定、企业规章等)、商业规则。
  • 其他:安装需求、数据需求等。

书写需求

优秀需求所需要的特性:

  • 完备性
  • 正确性
  • 可行性
  • 必要性

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年10月17日
下一篇 2018年10月17日

相关推荐