第 5 期 丁雪芳等 :一种基于场景的轻量级软件架构分析方法
第 31 卷 第 5 期
2011 年 09 月
西 安 科 技 大 学 学 报
JOURNAL OF XI’AN UNIVERSITY OF SCIENCE AND TECHNOLOGY
Vol .31 No 畅5
Sept #畅2011
文章编号 :1672 - 9315(2011)05 - 0636 - 06
一 种 基 于 场 景 的 轻 量 级 软 件 架 构 分 析 方 法
倡
丁雪芳
1
,张 锐
2
(1 .西安科技大学 高新学院 ,陕西 西安 710109 ;2 .中国科学院 软件研究所 ,北京 100080)
摘 要 :软件架构在软件开发中的重要性不言而喻 ,它决定了软件产品的质量 ,如何评价分析一
个系统的软件架构变得愈发重要 。 基于软件架构分析方法 (SAAM )和架构权衡分析方法
(ATAM ) ,提出了一种基于场景的软件架构分析方法 ,该方法通过基于场景的分析过程 ,建立相
应的场景库和评价指标树 ,为软件架构分析提供了一种轻量级的分析方法 。
关键词 :软件架构 ;架构分析 ;场景库 ;SAAM ;A TAM
中国分类号 :T P 311 .5 文献标志码 :A
0 引 言
软件架构是一个系统的基本组织 ,它蕴涵于系统的组件中 、组件之间的相互关系中 、组件与环境的相
互关系中 、以及呈现与其设计和演进的原则中
[1]
。
软件架构是对系统整体结构设计的刻画 ,包括全局组织与控制结构 ,构件间通讯 、同步和数据访问 ,
设计元素间的功能分配 ,物理分布 ,设计元素继承 ,伸缩行和性能 ,设计选择等 。 一个软件系统的质量 ,很
大程度上是由架构设计的质量决定的 ,所以 ,研究架构设计的思想和方法 ,成为软件设计领域中一个十分
引人注意的问题
[2]
。
软件架构在软件开发中非常重要 ,但是评价分析一个系统的软件架构却是很困难的工作
[3]
,原因如
下 :第一 ,并没有通用的一种语言可以描述不同的架构 。 第二 ,没有明确的方法 ,来建立软件架构与系统
开发所关注内容的关联 。 这些系统开发所关注的内容包括架构的功能性 ,以及其他的质量(非功能性)方
面问题 ,比如可维护性 、性能 、可移植性 、安全性等问题 。 第三 ,软件架构的评价依赖于问题域 。 虽然评价
软件架构是一件非常困难的事情 ,但是由于软件架构在现代系统开发中的重要性 ,还是有相关的学者投
入到这方面的研究的 ,各种软件分析方法也不断出现
[4]
。
1 SAAM 和 ATAM 软件架构分析方法
在软件架构分析领域 ,卡耐基梅隆大学的 Rich Kazman 、Mark Klein 和 Paul Clements 等人提出了几
种通用的软件架构评价方法
[5]
。 然这些方法都是指导性的 ,可以用于对已开发系统进行软件架构分析 ,
也可以在软件开发过程中应用该方法 。
软件架构评价方法(SAAM )是由美国卡耐基梅隆大学的软件工程研究所提出的一种评估软件架构
的技术
[3]
。 它对系统的评价是提供一个基于上下文以及使用任务场景的评价方法 ,通过构造一组领域驱
动的场景来反映最终产品的软件中所关心的质量 。 这些场景描述了不同的人介入到该系统中之后遇到
的特定任务 。 SAAM 方法更偏重于对软件架构功能性的分析 。
架构权衡分析方法(ATAM )也是卡耐基梅隆大学软件工程研究所提出的软件架构评价方法
[6]
,该方
法不仅可以分析架构对系统性能 、灵活性等单项能力参数的满足程度 ,还可以深入到体系内部 ,研究各项
倡
收稿日期 :2011 - 06 - 24
通讯作者 :丁雪芳 (1974 - ) ,女 ,陕西西安人 ,讲师 ,主要从事计算机方面的教学 、科研工作 .