软件需求详解
一、需求概述
在软件开发过程中,用户对新系统的期望与要求主要表现在功能、行为、性能及设计约束等方面,统称为软件需求。这些需求按照层次划分,包括业务需求、用户需求和系统需求。
二、需求获取与分析
1. 需求获取
确定并理解不同项目干系人的需求和约束的过程,即需求获取。常见的方法包括用户访谈、问卷调查、抽样调查、情节串联板以及联合需求计划等。
2. 需求分析
良好的需求特性应具备无二义性、完整性、一致性、可测试性等。结构化分析的核心是数据字典,包括数据模型、功能模型和行为模型等方面的分析。面向对象分析(OOA)也是重要的一环,其中用例模型是描述系统需求的基本方法。
三、需求规格说明书编制与验证
1. 软件需求规格说明书(SRS)
SRS是需求开发活动的产物,目的是使所有项目干系人和开发团队对系统的初始规定有一个共同的理解,成为整个开发工作的基础。它应遵循GB/T 8567《计算机软件文档编制规范》,包括范围、引用文件、需求、合规性规定等要素。
2. 需求验证与确认
需求验证与确认的目的是确保SRS正确地描述了预期的系统行为和特征,需求是完整的和高质量的,且需求的表示在所有地方都是一致的。
四、统一建模语言(UML)
1. UML概述
UML(统一建模语言)是一种定义良好、易于表达、功能强大的建模语言,适用于从需求分析到软件开发的全过程。其结构包括构造块、图、规则等。
2. UML构造块与关系
UML的构造块包括事物(包括结构事物和行为事物)、关系(如依赖关系、关联关系等)、图以及规则和范围等。在UML中,事物是建模的基本元素,关系则将事物紧密联系在一起。
3. UML图与视图
UML中的图包括类图、对象图、构件图等,用于描述系统的不同方面。而UML视图则包括逻辑视图、进程视图、实现视图等,用于从不同角度展示系统的结构和行为。
4. 面向对象分析(OOA)与用例模型
面向对象分析的核心工作是建立系统的用例模型和分析模型。用例模型描述了系统的基本功能及参与者如何与系统进行交互。在建立用例模型时,需要识别参与者、合并需求获得用例、细化用例描述并调整用例模型。