软件系统架构设计的发展历程

系统架构的发展历程可追溯到20世纪60年代中期爆发的一场大规模软件危机,其突出表现是软件生产不仅效率低,而且质量差。主要是因为软件开发的理论和方法不够系统、技术手段相对落后,软件生产主要是手工作坊式。为了解决软件危机,北大西洋公约组织(NATO)分别于1968年和1969年连续召开两次著名的软件会议(即NATO会议),提出了软件工程的概念,发展了软件工程的理论和方法,为今后的软件产业的发展指明了方向。
       随着软件规模的进一步扩大和软件复杂性的不断提高,新一轮的软件危机再次出现。1995年,Standish Group研究机构以美国境内8000个软件工程项目为调查样本进行调查,其结果显示,有84%的软件项目无法按时按需完成,超过30%的项目夭折,工程项目耗费超出预算189%,软件工程遭遇到了前所未有的困难。
         通过避免软件开发中重复劳动的方式提升软件开发效率并保障软件质量,软件重用与组件化成为解决此次危机行之有效的方案。随着软件组件化开发方式的发展,如何在设计阶段对软件系统进行抽象,获取系统蓝图以支持系统开发中的决策成为迫切而现实的问题,分析问题的根源和产生的原因
在这种情况下,软件架构应运而生。
20世纪90年代,研究人员展开了对软件架构的基础研究,主要集中于架构风格(模式)、架构描述语言、架构文档和形式化方法。众多研究机构在促进软件架构成为一门学科的过程中发挥了举足轻重的作用。例如,美国卡内基-梅隆大学的Mary Shaw和David Garland的专著推广了软件架构的概念,即组件、连接件和风格的集合。美国加州大学欧文分校针对架构风格、架构描述语言和动态架构也开展了深入的研究。
软件架构自概念诞生以来,大致经历了四个发展阶段:


1)基础研究阶段(1968—1994年)


“软件架构”术语在1968年由北大西洋公约组织会议上第一次提出,但并没有得到明确的定义。直到20世纪80年代,“架构”一词在大多数情况下被用于表示计算机的物理结构,偶尔用于表示计算机指令集的特定体系。从20年代80年代起,为应对大型软件开发中存在的危机,对软件结构进行描述的方法开始在大型软件开发过程中广泛应用,并在实践中积累了大量经验,逐步形成了以描述软件高层次结构为目标的体系,形成了软件架构的雏形,随着软件规模的增大,模块化开发方法已被逐步采用,为后续软件架构的发展奠定了基础。


2)概念体系和核心技术形成阶段(1999—2000年)


      软件架构概念体系的建设始于20世纪90年代,Windton W.Royce与Waiker Royce在1991年首次对软件架构进行了定义。1992年D.E.Perry与A.L.Wolf对软件架构进行了创造性的阐述:{elements,forms,rationale)=software,使之成为后续软件架构概念发展的基础。1996年,卡内基-梅隆大学软件工程研究所(CMU/SEI)的Mary Shaw和David Garlan在SofwareArchitecture:Perspectives on an Emerging Discipline书中对软件架构概念的内涵和外延进行了详尽阐述,这对软件架构概念的形成起到了至关重要的作用。
从1995年起,软件架构研究领域开始进入快速发展阶段,来自于工业界与学术界的研究成果大量出现,使得软件架构作为一个技术领域日渐成熟。Booch、Runbaugh和Jacobson从另一个角度对软件架构的概念进行了全新诠释,认为架构是一系列重要决策模式。同时,由某个软件研究机构提出了一套实践方法体系—SAAM。企业界也提出并完善了多视角软件架构表示方法以及针对软件架构的特定设计模式。Siemens、Nokia、Philips、Nortel、IBM以及其他一些大型软件开发组织开始关注软件架构,并联手进行了软件产品线架构的重用性调查。

3)理论体系完善与发展阶段(1996年至今)


随着基于组件软件架构理论的建立,与之相关的一些研究方向逐渐成为软件工程领域的研究重点,主要包括:软件架构描述与表示、软件架构分析、设计与测试;软件架构发现、演化与重用;基于软件架构开发方法;软件架构风格:动态软件架构等。


4)普及应用阶段(2000年至今)


在软件架构的发展历程中,1999年是一个关键年份。这一年召开了第一届IFIP软件架构会议,并成立了IFIP工作组2.0与全球软件架构师协会。许多企业开始将软件架构相关理论投入实践,为了使架构描述能够在实践中得到更广泛的应用,Open Group提出了ADML,它是一种基于XML的架构描述语言,支持广泛的架构模型共享。由于企业对重用以及产品族的形成有着更多考虑,因此,软件产品线成为软件架构的一个重要分支,吸引了大量大型企业的关注。软件产品线架构表示一组具有公共的系统需求集的软件系统,它们都是根据基本的用户需求对标准的产品线架构进行定制,将可重用组件与系统独立的部分集成而得到的。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邵宗其

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值