需求的分类

522 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第30天

需求的分类

需求需要被文档化表述,要求需求工程师搞清楚需求有哪些类型以及每种类型如何进行表述。

分类的目的是为了区别对待,否则分类就失去了意义。需求分类是将其划分成不同类型,区别对待,每种类型会被文档化到不同的部分,服务于不同的读者、不同的目的。

image.png

项目需求:例如,项目的成本要控制在60万元人民币以下。

过程需求:例如,项目要使用持续集成方法进行开发。

系统需求:软件需求、硬件需求、其他需求。

人力需求(其他):系统投入使用时,需要对用户进行1个星期的集中培训。

不切实际的期望:在使用系统时,收银员必须要在2个小时内完成一个销售处理的所有操作。例如,如果一个销售处理任务在2个小时内没有完成,系统要撤销该任务的所有已执行操作。

从某种意义上讲,项目需求、过程需求、硬件需求和其他需求,都不算软件需求。但要以文档化需求的形式写入需求规格说明书中,内容对软件需求工程师来说,具有一定的指导软件开发作用,也供有关人员阅读。

软件需求的分类IEEE

功能需求(Functional Requirement):

和系统主要工作相关的需求,即在不考虑物理约束的情况下,用户希望系统所能够执行的活动,这些活动可以帮助用户完成任务。功能需求主要表现为系统和环境之间的行为交互。

性能需求(Performance Requirement):

系统整体或系统组成部分应该拥有的性能特征,例如CPU使用率、内存使用率等。

质量属性(Quality Attribute):

系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,例如可靠性程度、可维护性程度等

对外接口(External Interface):

系统和环境中其他系统之间需要建立的接口,包括硬件接口、软件接口、数据库接口等等。

约束

进行系统构造时需要遵守的约束,例如编程

语言、硬件设施等

其他

逻辑数据需求等除了功能需求之外的其他4种类别的需求又被统称为非功能需求。非功能需求又被特指为质量属性。