赞
踩
上一篇文章,简要介绍了架构的概念和架构设计流程,并简单介绍了需求分析的内容,
并在最后指出:需求分析的产出物,要包括非功能性需求,常见的非功能性需求如下:
红色部分是常见项目的重点关注点(注:根据项目背景不同而不同,比如安全产品最重要的是安全性)。
对一个项目而言,更高的非功能性要求,代表着更高的系统复杂度、更高的成本投入(时间成本、人力成本、硬件及维护成本),需要根据公司/项目/人力/环境等背景因素综合评估。
需求分析后输出的非功能性需求,必须可量化,基本要求:
作为架构设计人员,对非功能性需求,要关注的最重要的点:不能度量的需求不是真需求
无效的非功能性需求举例:
下面逐一介绍一下这些非功能性需求的概念,以及部分度量指标,在做架构设计应该评估和采集这些指标,以评估当前系统情况,及未来的优化方向。
MD5( MD5(明文+用户特定盐值1) + 用户特定盐值2)
对于非功能性需求,已经有不少的业界标准可供学习和参考,提供了更多的非功能性需求和说明,如:
Jim McCall 软件质量模型(1977 年)
Barry W. Boehm 软件质量模型(1978 年)
FURPS/FURPS+ 软件质量模型
R. Geoff Dromey 软件质量模型
ISO/IEC 9126 软件质量模型(1993 年)
ISO/IEC 25010 软件质量模型(2011 年)
下面介绍2个目前比较常用的软件质量模型,建议认真阅读理解一下:
由ISO(国际标准化组织) 和 IEC(国际电工委员会) 联合制订的软件质量标准,替代 ISO/IEC 9126标准;
详细介绍参考: https://iso25000.com/index.php/en/iso-25000-standards/iso-25010
FURPS 模型最早是由惠普公司的罗伯特·格雷迪(Robert Grady)及卡斯威尔(Caswell)提出,后来由 Rational Software 进行扩展至 FURPS+。
详细介绍可以参考:https://sceweb.uhcl.edu/helm/RationalUnifiedProcess/process/workflow/requirem/co_req.htm
上面简单介绍了一些非功能性需求和相关指标,后面两篇文章,会对软件系统比较关注的可用性 和 性能优化进行介绍。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。