关键词:系统功能需求分析、系统需求分析怎么写、如何进行系统需求分析
什么是系统需求分析
系统需求是比用户需求更具有技术特性的需求陈述。它是提供给开发者或用户方技术人员阅读的,并将作为软件开发人员设计系统的起点与基本依据。系统需求需要对系统的功能、性能、数据等方面进行规格定义。评判一个软件项目成功的标准是看它是否解决了用户的问题,而用户的问题就体现为系统的需求,需求也就顺理成章地成为项目的成功标准。而需求分析阶段的一个不慎都有可能导致软件实现阶段的大量返工,因此,系统需求往往要求用更加严格的形武化语言进行表述,以保证系统需求表述具有一致性。 系统需求往往是综合的、多方面的,下面重点介绍功能、非功能、数据等方面的需求特征。
(1)功能需求
功能需求是软件系统的最基本的需求表述,包括对系统应该提供的服务,如何对输人作出反应,以及系统在特定条件下的行为描述。在某些情况下,功能需求还必须明确系统不应该做什么,这取决于开发的软件类型、软件未来的用户及开发的系统类型。所以,功能性的系统需求需要详细地描述系统功能特征、输人和输出接口、异常处理方法等。
软件系统的功能需求可以有许多不同的描述方式。软件工程中的许多问题都源自对需求描述的不严格,自然语言对需求分析最大的弊病就是它的二义性。所以,人们不得不对需求分析中采用的语言作某些限制。例如,尽量采用主语+动词的表达方式。
理论上,系统的功能需求描述应该具有全面性和致性。全面性意味着对用户所需的所有功能都应该给出描述。-致性意味着需求描述不能前后矛盾。在实际过程中,对于大型复杂的软件而言,要完全满足这两方面的要求几乎是不可能的,因此,需要由质量保证小组进行评审。
(2)非功能性需求
非功能性需求包括对系统提出的性能需求、可靠性、可用性需求、系统安全及系统对开发过程、时间、资源等方面的约束和标准等。性能需求指定系统必须满足的定时约束或容量约束,.般包括速度(响应时间)、信息量速率(吞吐量、处理时间)和存储容量等方面的需求。例如,“汇总统计分析必须在一分钟之内生成”, 这就是一项性能需求。 可靠性需求定量地指定系统的可靠程度,例如,“系统应支持7x24小时提供服务的业务需要”。可用性与可靠性密切相关,它量化了用户可以使用系统的程度。例如,“在任何情况下,主机或备份系统应该至少有一个可用,而且在年内, 该系统的不可用时间不能超过总时间的1%”。
非功能性需求一般关心 系统的整体特性,而不是个别的系统特性。因此,非功能性需求比功能性需求对系统更关键。个功能需求没有满足 ,可能降低 系统的能力;而一个非功能性需求没有满足,则可能使整个系统无法使用。非功能性需求不仅与软件系统本身有关,还与系统的开发过程有关。例如,质量标准的描述、使用开发工具的描述,以及所必须遵守的原则等。非功能性需求还源于一-些用户的限制,包括预算约束、机构政策、硬件平台和隐私权的保护等。
大多数软件系统本质上都是信息处理系统。系统处理的信息和系统产生的信息在很大程度上决定了系统的面貌,对软件设计具有深远的影响。因此,必须分析系统的数据需求,这也是软件需求分析的一个任务。
数据需求包括:输人数据、输出数据、加工中的数据和保存在存储设备上的数据等。