软件产品的需求可以分为功能性需求和非功能性需求,其中非功能性需求是常常被轻视,甚至被忽视的一个重要方面。其实,软件产品非功能性定义不仅决定产品的质量,还在很大程度上影响产品的功能需求定义。如果事先缺乏很好的非功能性需求定义,结果往往是使产品在非功能性需求面前捉襟见肘,甚至淹没功能性需求给用户带来的价值。
所谓非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。下面对其中的某些指标加以说明。
1、功能性
功能性指与一组功能及其指定的性质有关的一组属性,这里的功能是指满足明确或者隐含的需求的那些功能。具体包括:
-
适合性:与规定任务能否提供一组功能,以及这组功能的适合程度有关的软件属性,例如面向任务系统中由子功能构成的功能是否合适,表容量是否合适等等。
-
准确性:与能否得到正确或者相符的结果或者效果有关的软件属性。
-
互操作性:与其他指定系统进行交互的能力有关的软件属性。
-
依从性:使软件遵循有关的标准约定法规及类似规定的软件属性。
-
安全性:即与防止对程序技术局的非授权的故意或者意外访问的能力有关的软件属性。如用户权限、动态口令、数据库字段加密等。
对于这组非功能需求来说,绝大部分是满足功能需求的情况,他并不需要采用额外的措施,而安全性是一个例外,它会涉及具体的技术性功能需求。
2、可靠性
可靠性之与在规定的一段时间和条件下软件维持其性能水平的能力有关的一组属性。具体包括:
-
成熟性:与有软件故障引起失效的频度有关的软件属性。
-
容错性:与在软件故障或违反指定接口的情况下维持规定的性能水平的能力有关的软件属性。如离线录入支持等。
-
易恢复性:与在是小发生后重建其性能水平并恢复直接受影响数据的能力,以及为达到此目的所需时间和努力有关的软件属性。如表单数据自动保存等。
这类非功能需求通常是全局的,他除了与系统运行环境、平台选择、代码质量相关之外,还会涉及部分技术性功能需求,他别是容错性、易恢复性的实现都需要一些具体的功能来支持。
3、易用性
易用性是与一组规定或者潜在的用户为使用其软件所需做的努力和对这样的使用所作的评价有关的一组属性。具体包括:
-
易理解性:与用户为人质逻辑概念即其应用范围所花的努力有关的软件属性。
-
易学习性:与用户为学习软件应用所花的努力有关的软件属性。
-
易操作性:与用户为操作和运行控制所花的努力有关的软件属性。如带首字母筛选功能的下拉列表等。
这类非功能需求是与UI设计、联机帮助系统有着直接关系的,易理解性和易学习性通常和界面导航、联机帮助有关,课归纳为界面友好性;易操作性则会和界面元素设计有关。也就是说这类属性会关联到具体的技术性功能需求。
4、效率
效率是指与在规定的条件下软件的性能水平与所使用资源量有关的一组属性。具体如下:
这部分实际上就是通常所说的性能需求,他有一大部分是局部性的,在每个用力的描述中应该指出;另外它又会引申出一些相关的技术性功能需求,例如数据缓存等。
5、维护性
维护性是指与进行指定的修改所需的努力有关的一组属性。具体包括:
-
易分析性:与为诊断缺陷或者失效原因及为判定待修改的部分所需努力有关的软件属性。如日志记录系统等。
-
易改变性:与进行修改排除错误或者适应环境变化所需努力有关的软件属性。
-
稳定性:与修改所造成的未预料结果的风险有关的软件属性。
-
易测试性:与确认已修改软件所需的努力有关的软件属性。
这部分通常是开发团队最容易投入时间和成本的地方,诸如动态属性支持、UI界面生成、流程引擎等都是为了提高系统的可维护性,因此它显然是会引申出相关的技术性功能需求的。
6、可移植性
可移植性是指与软件可从某一环境转移到另一环境的能力有关的一组属性。具体包括:
-
适应性:与软件无需采用有别于为该软件准备的活动和手段就可能适应不同的规定环境有关的软件属性。如全球技术支持等。
-
易安装性:与在指定的环境下安装软件所需努力有关的软件属性。如在线更新、安装包自动生成等。
-
遵循性:使软件遵循与可移植性有关的标准或约定的软件属性。
-
可替换性:与软件在该环境中用来替代指定的其他软件的机会和努力有关的软件属性。
这部分除了需要通过选择正确的开发工具、平台来支持外,也会涉及一些技巧性的功能需求,如全球语言支持等。
分享到:
相关推荐
- **需求类型**:如性能效率、可用性等。 - **具体需求**:详细描述每一项需求。 - **度量标准**:如何评估这一需求是否得到满足。 - **优先级**:高、中、低。 - **状态**:待确认、已确认、已完成等。 - **备注**...
#### 二、非功能性需求的主要类型 1. **有效性**:指的是系统在规定时间内保持正常运行的能力。例如,系统的有效运行时间应不低于特定比例。 2. **性能**:包括响应时间和处理能力等方面的要求。例如,对于前端...
《程序开发功能需求文档模板详解》 在软件开发过程中,一份详尽且规范的功能需求文档是项目成功的关键。本文将深入解析"程序开发功能需求文档模板",并提供相关指导,帮助开发者和项目经理理解如何有效地制定和使用...
实验数据集可能包含了各种类型的非功能需求实例,以便模型能够学习到各种需求的特征。最后,论文通过一个实际的工业应用案例,进一步证明了这种方法在真实世界情境下的可行性和实用性。 关键词:需求工程、非功能...
首先,让我们深入了解一下非功能需求的主要类型: 1. 可用性(Usability):这涵盖了软件的易用性和用户友好性。它包括界面的直观性、用户交互的流畅性、错误处理的清晰度,以及系统的安全性,如权限管理和访问控制...
4. **非功能需求**:涵盖系统的性能、安全性、可靠性、可维护性等方面的要求,虽然不直接影响用户界面,但对系统质量至关重要。 5. **业务规则**:列出系统运行时需遵循的规则,如数据验证、权限控制等。 6. **接口...
在功能需求调研表中,需要明确列出每个功能模块、子模块以及具体的三级模块功能,与实际系统实现的功能进行对比,确保没有遗漏或偏差。此外,如果有任何额外的需求或变更,应在备注中详细说明。 【非功能性测试】...
ASPICE软件需求规范文档模板为汽车行业中的软件开发提供了一个明确的规范和要求,涵盖了软件需求、约束、法律法规、功能需求、外部接口、标定参数、非功能需求、故障列表和修订历史记录等方面。
* 需求类型:软件非功能需求 * 系统解决方案:加密和备份机制 * 需求状态:确定 * 最后确定时间:12月26日 5. 数据处理正确性需求(SR5) * 需求描述:系统需要确保数据的正确性和一致性。 * 需求来源:客户方...
综上所述,QTP中的Action按照不同的使用场景和需求分为非重用型、重用型以及外部型三种类型。每种类型都有其特定的应用场景和优缺点。合理地选择和运用这些Action类型,可以极大地提高测试效率和质量,同时也为后续...
* 功能摘要的内容:包括产品的功能需求、性能需求、界面需求等信息。 九、 非功能性需求 * 非功能性需求的内容:包括产品的安全性、可靠性、可扩展性等信息。 十、 设计约束 * 设计约束的内容:包括产品的技术...
软件需求可以分为四种类型:业务需求、用户需求、功能需求和非功能需求。业务需求是指客户对系统的高层次的目标要求。用户需求是指用户使用产品必须要完成的任务。功能需求是指开发人员必须实现的软件功能,使得用户...
本文档是购物商城的需求文档,旨在构建一个功能齐全的电商平台。该平台包括新闻管理系统、会员管理系统、网上购物系统、首页管理功能、产品管理系统六大模块。 一、新闻管理系统 新闻管理系统是购物商城的核心模块...
本资源摘要信息对应的知识点是信息系统第三方确认测试需求调研表,主要涉及到信息系统第三方确认测试的需求确认表、基本信息表、功能需求调研表、非功能性需求调研表等内容。 1. 信息系统第三方确认测试需求确认表 ...
需求类型是指需求的分类,例如功能需求、非功能需求、接口需求等。 五、需求属性 需求属性是指需求的特征,包括: * 状态:是指需求的当前状态,例如新建、修改、关闭等。 * 利益:是指需求的价值和重要性,例如...
需求分析说明书是整个系统开发过程中的关键文档之一,它详细描述了系统的功能需求、性能需求、用户界面需求以及数据需求等,是后续设计与实现的基础。本文档中出现的技术术语和概念对于IT专业人员而言非常重要,下面...
这些信息可以帮助用户了解项目的系统架构和功能需求。 七、相关系统功能 相关系统功能部分旨在了解项目的相关系统功能,包括相似功能/系统,系统间关系、接口等信息。这些信息可以帮助用户了解项目的系统集成和互...