1. 功能与质量属性
你提出的软件系统的功能设计描述了它的功能。它将指定各种用户输入。此外,将描述系统的行为。最后,它将描述应用程序的输出。
功能需求与非功能需求之间存在最关键的区别。没有描述应用程序将做什么。相反,描述了它应该如何工作。虽然功能规范处理输入和输出,但是关于定性属性的。
2. 对用例与基准的依赖
您是否正在进行复杂的软件开发项目?您需要在功能设计中提供尽可能多的细节。
典型的功能设计文档是文本密集型的,您需要做的更多。您需要确保业务涉众和开发团队都了解需求规范。图表可以提供帮助。
用例是包括图表和流程图的用例模型。这使他们更容易理解。对于复杂的软件开发项目,用例可以增强您的功能设计文档。
3. 产品开发生命周期中的重要程度
功能需求在开发生命周期的一个阶段很重要。在后续阶段具有重要意义,这是有原因的。
功能需求帮助您定义项目范围。您的项目管理过程应该使用来防止范围蔓延。另一方面,您需要满足中提到的业务规则和要求。没有它,最终用户不会接受软件系统。
假设您正在开发“最小可行产品”(MVP)。只有当应用程序满足功能要求时,用户才会接受它。在那个阶段,您的组织可能不会专注,例如可扩展性。
4. 对业务分析师与软件架构师的依赖
当您从最终用户那里获得功能需求时,您会严重依赖业务分析师。您应该与项目经理、软件架构师和业务分析师组成一个团队来收集功能需求。
业务分析师 (BA) 采访所有相关的利益相关者,包括最终用户。他们可能需要进行结构化的“发现”会议。
您的团队中需要一位知识渊博的软件架构师。架构师需要与项目经理一起分析行业基准数据。这将帮助您确定可用性、可扩展性、性能等要求。
5. 功能规范文档的使用
您的项目需要功能需求。但是,它们的使用方式不同。考虑以下示例:
您的开发团队将使用功能规范文档对提供功能的应用系统进行编码。另一方面,团队将使用来优化设计、代码等。
测试人员将使用创建功能测试用例。他们将使用来创建性能测试用例、压力测试用例等。
架构师使用来做出有关接口、依赖关系等的架构决策。另一方面,他们使用来选择合适的架构模式。