1. 简要描述所参与架构评估的软件系统,并明确指出在评估过程中承担的主要工作。
2. 分析软件系统架构评估中所普遍关注的质量属性,并详细阐述每种质量属性的具体含义。
系统架构评估中普遍关注的质量属性包括:
1) 性能
性能是指系统的响应能力,即需要多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件个数。经常用单位事件内所处理事务的数量或系统完成某个事务处理所需的时间来对性能进行定量表示。
2) 可靠性
可靠性是软件系统在应用或者系统错误面前,在意外或者错误使用的情况下维持软件系统的功能特性的基本能力。
3) 可用性
可用性是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
4) 安全性
安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
5) 可修改性
可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力,包括可维护性、可扩展性、结构重构、可移植性。
6) 功能性
功能性是系统所能完成所期望的工作的能力。一项任务的完成需要系统中许多或大多数构件的相互协作。
7) 可变性
可变性是指体系结构经扩充或变更而成为新体系结构的能力。
8) 互操作性
互操作性是指作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。如程序和用其他编程语言编写的软件系统的交互作用就是互操作性的问题。
3. 分析软件系统架构评估种现阶段主要评估方法
业界已开发出多种软件架构评估的方法,按基于的技术手段来看,可以分为三类:基于调查问卷或检查表的方式、基于场景的方式和基于度量的方式。
1) 基于调查问卷或检查表的方式:该方式的关键是要设计好问卷或检查表,它充分利用系统相关人员的经验和知识,获得对架构的评估。其缺点是在很大程度上依赖于评估人员的主观推断。
2) 基于场景的方式:基于场景的方式由SEI首先提出并应用在架构权衡分析法(Architecture Tradeoff Analysis Method, ATAM)和软件架构分析方法(Software Architecture Analysis Method, SAAM)中。它是通过分析软件架构对场景(也就是对系统的使用或修改活动)的支持程度,从而判断该架构对这一场景所代表的质量需求的满足程度。
(1)架构权衡分析方法ATAM是一种系统架构评估方法,主要在系统开发之前,针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、架构视图描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以属性作为架构评估的核心概念。
(2) SAAM是最早形成文档并得到广泛应用的软件架构分析方法。SAAM的主要输入是问题描述、需求说明和架构描述,其分析过程主要包括场景开发、架构描述、单个场景评估、场景交互和总体评估。
3) 基于度量的方式:制定一些定量值来度量架构,如代码行数等。要制定质量属性和度量结果之间的映射。
4. 针对实际参与的软件系统架构评估,说明所采用的评估方法,并描述其具体实施过程和效果。