【IT168 技术文章】
软件架构被公认为软件开发领域的一门新兴学科。本文描述的是在软件工程的生命周期里软件架构师正在进行的各类活动。
软件架构活动:定义及范围
根据IEEE标准,软件架构活动代表了
这样一系列活动:定义、记录、维持、改进一个软件构架并确保其正确执行。
软件架构的范围相当宽泛。图1展示的模型详细地说明了软件架构过程的各个方面。这个模型来自IEEE标准1471,架构师所关注的软件架构各个方面都可以此模型作为参考。
图1:软件架构相关术语的模型
图1中阴影框里的元素直接来自于IEEE标准1471,它们之间的相互关系阐明的是一个系统及其构架的诸多特征:
一个系统有一个构架。
一个系统完成一项任务。
一个系统存于一个环境中,并受这个环境的影响。
一个系统有一个或多个涉众。
一个构架对应一条构架描述。
一条构架描述识别一个或多个涉众。
一条构架描述识别一条或多条关联。
一条构架描述提供理由。
一个涉众有一条或多条关联,一条关联对一个或多个涉众都很重要。
图1中另外那些不是来自IEEE标准1471的元素和相互关系,显示在非阴影框中,可描述如下:
一个团队组负责一个开发项目。
一个开发项目遵循一个开发流程。
一个开发项目交付给一个系统。
开发流程包括软件架构。
项目组里包含一个架构师。
架构师负责软件架构。
架构师是涉众中的一种。
架构最终得出一个软件构架。
架构师创造出软件构架。
软件架构是一门科学
虽然软件构架是一门新生事物,但它已被公认为一门学科。而随之而来的是将重点放在使软件架构过程日趋成熟的技术、方法和资源上。推进这一趋势的方法之一就是利用现有的知识体系。概括地说,就是架构师们在开发一个新的构架时寻求已经通过检验的解决方案,而不是重蹈覆辙,将以往的软件构架、构架设计模型以及其他一些可再度使用的元素中可以借鉴的经验汇集成册。
尽管如此,软件架构过程要想在任何地方都和土木工程的架构过程一样成熟,仍有一段路要走。这种成熟可以体现在很多层面上,包括标准的运用,对非常好的实行方案、技术以及方法的理解上。因此,基于这一点,一个架构师的经验对于一个项目的成功有很大的影响。