非功能性(或者质量)需求

例子有:
  性能要求:要求系统能满足100个人同时使用,页面反应时间不能超过6秒。
  可靠性: 系统能7×24小时连续运行,年非计划宕机时间不能高于8小时
  要求能快速的部署,特别是在系统出现故障时,能够快速的切换到备用机。

这里都属于非功能性要求,以下是一些介绍资料,转载的。
==============================================================================

所谓非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。软件产品的非功能性需求包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。下面对其中的某些指标加以说明。

1.系统的完整性

系统的完整性指为完成业务需求和系统正常运行本身要求而必须具有的功能,这些功能往往是用户不能提出的,典型的功能包括联机帮助、数据管理、用户管理、软件发布管理和在线升级等。

并不是所有的系统都必须包括以上所有的功能,而是可以根据产品的使用环境和企业的产品发展决策进行挑选。例如,在线升级、软件发布管理适用于具有Internet或内网环境的软件产品;数据管理对于产生数据存储的产品则是必须的,设计人员不应假设用户同时是一个合格的DBA。而且系统所产生信息的分布和关系,也不是DBA所应该了解的内容。因此完整的系统应该包括数据备份、恢复、日志管理及垃圾数据清除等基本功能,哪怕这些功能的核心只是一条语句或命令;用户管理功能是另一项必不可少的功能,它定义哪些用户可以以什么样的功能使用系统。好的用户管理功能不仅可以有效控制用户对系统的使用,使系统处于一个安全且负载合理的运行状况,还能提高系统的应用适应性。

2.系统的可扩充性与可维护性

指系统对技术和业务需求变化的支持能力。当技术变化或业务变化时,不可避免将带来系统的改变。不仅要进行设计实现的修改,甚至要进行产品定义的修改。好的软件设计应在系统架构上考虑能以尽量少的代价适应这种变化,常用的技术有面向对象的分析与设计及设计模式。

3.技术适应性与应用适应性

系统的适应性与系统的可扩充性和可维护性的概念相似,也表现产品的一种应变能力,但适应性强调的是在不进行系统设计修改的前提下对技术与应用需求的适应能力,软件产品的适应性通常表现为产品的可配置能力。好的产品设计可能要考虑到运行条件的变化,包括技术条件(网络条件、硬件条件和软件系统平台条件等)的变化和应用方式的变化,如在具体应用中界面的变化、功能的剪裁、不同用户的职责分配和组合等。

对以上重要的非功能性需求进行逐一分析后,即可开始进行产品功能设计。实际上,非功能性需求定义将反映到系统的功能设计中,表现为系统的架构。

你可能感兴趣的:(设计模式,配置管理,网络应用,企业应用)