background image

人/方/培/蓁/与/畿/业

软件架构师的角色和培养

湖南师范大学计算机应用技术研究中心

张友生

李雄/文

随着软件系统的规模越来越

大,复杂程度越来越高,软件设计

的核心已经超越了传统的“算法+

数据结构=程序”的设计模式,取

而代之的是对系统的总体结构的设

计和规范。软件架构在软件系统中

充当着重要的角色,软件架构也是

软件工程中迅速发展的一个研究实

践领域,有很多的文献讨论了如何

构架一个好的软件系统。软件架构

9啊作为软件架构的设计者是关系到

软件成败的关键因素。然而,有关

软件架构师的角色定位以及教育培

养问题,仍然比较模糊,没有一致

的结论。.

作者近年来在软件架构的理论

研究和实践方面做了一些工作,也

取得了一定的成绩。负责起草了全

国计算机技术与软件专业技术资格

(水平)考试中的系统分析师和系统

架构设计师考试大纲,主编了有关

考试教材。本文主要讨论软件架构

师的角色和培养问题o

软件架构与软件架构师

1.1

软件架构

软件架构(Software

architecture,

软件体系结构)一词早在20世纪60

年代就被E.W.Dijkstra提出,但是

直到20世纪90年代初才开始流行

起来。为了提高软件需求和软件设

计的质量,软件工程界提出了需求

分析工程技术和各种软件建模技

术。但是在需求和设计之间仍然存

在一条很难逾越的鸿沟,即缺乏能

够反映作决策的中间过程,从而很

难有效地将需求转化为相应的设

计。为此,软件架构的概念应运而

生,并试图在软件需求与软件设计

之间架起一座桥梁,着重解决软件

系统的结构和需求向实现平坦过渡

的问题。

目前,软件架构的研究已发展

为软件工程领域的一个独立学科

分支,具有比较严格的理论基础和

工程指导原则。软件架构已经成为

软件工程领域的研究热点以及大

型软件系统与软件产品线开发中

的关键技术之一。有许多相关的研

究人员对软件架构描述语言,软件

架构的描述与表示,软件架构的分

析与验证,基于架构的软件维护与

演化,软件架构的可靠性等方面进

行了研究。

1.2软件架构师

一直以来,绝大多数的软件组

织都缺乏软件架构师的编制。架构

设计的工作基本上由项目经理、系

统分析师与软件设计师兼任或分

摊,导致普遍轻视软件架构专业人

才的培养与任用。事实上,软件构

架师是目前很多软件组织最急需的

人才,也是一个软件组织中的高级

技术人才。那么,究竟什么是软件

架构师、软件架构师在项目开发中

起什么作用、如何定位一个软件架

构师和如何成为一个软件架构师

呢?这是许多组织、技术人员和管

理人员都希望知道的或希望参与讨

论的话题。下面对软件架构师这一

计算机教育2006.11

65

万方数据