`
cloudtech
  • 浏览: 4578869 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

软件架构的历程

 
阅读更多

软件架构的历程


计算机科学的发展历程可以追溯到第一代电子管计算机(1945年~1956年)。1946年2月15日世界上第一台重达30顿的计算机ENIAC(Electronic Numerical Integrator and Computer)正式在费城公布于世,它标志着现代计算机科学的诞生。
相比来说,计算机软件架构的发展就更晚。从20世纪80年代晚期开始,整个计算机科学界为了应对大规模系统设计所带来的复杂度,才逐渐开始了软件架构的研究工作。因为先前的系统架构和设计是严重依赖相关人员各不相同的实践经验和观察,并不能客观地衡量和控制架构活动的质量。
历经了十几年的不懈努力,软件架构的研究逐步走向了成熟。当今较为成熟的架构技术已经包含了很多方面的研究成果:标注语言的使用、大量的设计工具、问题分析技术、架构设计技术和手段、复杂系统设计和开发的指南等。同时当今的架构技术已经与其他相关领域的研究成果进行了很好的融合:软件产品家族(Software Product Family)的研究、领域驱动(Domain Driven)的设计技术、基于构件重用的技术等。这些成果的结晶,成为当今复杂系统设计强有力的武器,确保系统设计的质量受到严格的控制。
在我们系统化地回顾整个这十几年人类在软件架构方面的伟大成就之前,我们要先介绍一种技术成熟度的评估模型。因为从讲求科学性的工程的角度上来看,一定要首先客观地回顾一个技术的发展历程,然后再科学化地衡量该技术的成熟度。这样才能真正保证我们能够全面掌握该技术的发展动态,为自己在该技术领域的研究努力进行定位。
业界一般能够系统化地评估一个技术成熟度的模型很少。1985年,由Samuel Redwine和William Riddle在IEEE-CS举办的“第八界世界软件工程大会”上提出的Redwine/Riddle模型,堪称是当今最为广泛应用的经典评估模型。Redwine/Riddle模型的经典之处在于,它提出了“技术的目标”的重要概念。它是一个以目标为驱动的技术评估模型,能够很好地度量一个技术是否按照精确界定的轨迹向总体目标靠拢。只有这样,我们才能清晰地了解该技术的成熟度。
通过利用该模型,我们可以对一些重要的系统及软件技术进行分析和评估,从而最终发现它们发展和演化的规律。Samuel Redwine和William Riddle利用该模型进行的评估研究结果表明:一个技术的成熟周期是15年至20年。也就是说,一个新的技术从最初概念的形成和确立,到应用及大规模实践,一般需要经历15年到20年的发展历程。Samuel Redwine和William Riddle通过自己的研究,界定出如下6个典型的发展阶段。
基础研究阶段:调研基本思想和基础概念;分析和组织要研究的问题的结构;界定研究方向的主要框架。概念确立阶段:不拘形式地沟通,形成统一的基本思想和概念;组织和确立研究团队;密切配合解决具体的各个子问题;不断地提炼和完善所研究问题的结构。
探索发展阶段:探索新技术的应用领域;逐步澄清初步技术应用所带来的底层问题和思想;归纳和总结技术应用所带来的初步经验并使新技术更加完善和通用。
内部改进拓展阶段:将新技术的应用逐步拓展到相关领域;使新的技术面对解决实际问题的考验;从而使新技术逐渐完善和稳定;同时开发培训材料,通过培训展示新技术研究结果的价值。
外部改进拓展阶段:与内部改进和拓展相似。不同的是将新技术的应用拓展到更为广泛的领域;让更多工业或应用领域的相关人员参与技术的实践应用。验证该技术的价值和适用性;同时参考反馈信息进一步充实该技术、修改细节问题使其成为完整的系统级解决方法。
普及应用阶段:开发出具有产品级质量的产品;使技术具有严格的版本特征;将新技术商业化,并为其进行市场开拓,从而扩大使用该技术的用户范围;当然,使新技术逐渐标准化也是一个重要的步骤。
Redwine/Riddle模型带来的研究统计数据表明,15年到20年的新技术周期是最常见的。其中有10年的时间主要集中在概念确立阶段和探索发展阶段(也许“基础研究阶段”持续更长时间,那是由于很难界定这个阶段真正开始的时间)。研究表明,用在这两个阶段如此长时间的原因,是因为只有通过日积月累的验证才能真正让新技术的研究人员完全调整合适研究的策略和步骤。
如果应用Redwine/Riddle模型来分析软件架构的发展历程,我们就会发现:从时间这个维度上来讲,软件架构的发展和完善并不像Redwine/Riddle模型介绍的具有那么良好的线性:六个不同阶段演化的推进速度各不相同,从一个阶段的结束平滑地过渡到另外一个阶段的开始也不明显。但是,从图1-9中我们可以看出,Redwine/Riddle模型在描述软件架构技术的演化过程中依然非常适用。

分享到:
评论

相关推荐

    架构之美-软件架构的艺术(中文高清版)

     1.4 软件架构的历程  1.5 软件架构的误区  1.6 软件架构生命周期 第2章 企业中的架构师  2.1 软件架构师的定义、分类和职责  2.2 软件架构师具备的素质  2.3 架构师与职能经理  2.4 架构师与开发人员...

    软件架构演进历程PPT版

    主要用于PPT汇报,让懂技术和不懂技术的人都能理解软件的发展历程,从应用的发展历程、数据库的发展历程、网络和平台的发展历程全方面阐述整体的软件发展历史,拉通全员对软件的认知,对于中小型公司的CTO、技术型...

    软件架构的理论综述论文

    随着IT技术的不断发展,越来越多的人把关注目光投入到了计算机软件领域,而软件构架凭借其...本文以软件构架为研究对象进行分析,从软件架构与软件框架的概念谈起,阐述了软件架构的发展历程,并总结了软件架构的过程特征。

    Qcon全球软件开发大会[20160423]_服务化与微服务架构专题

    2-2-今日头条服务化探索及实践历程-夏绪宏 2-3-平台系统的演变-孙子荀 2-4-禚娴静-微服务你玩得起吗 QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、杭州、旧金山召开。自2007年3月份...

    [第1讲]Wonderware SCADA软件技术架构的发展历程.flv

    [第1讲]Wonderware SCADA软件技术架构的发展历程flv,Wonderware是一个把创新视为生命的公司,今天所要介绍的Wonderware SCADA技术体系就是一个创新体系。SCADA:SCADA的定义(Supervisory Control And Data ...

    Software Architecture and Architect.pdf

    一个资深软件架构师的成长心得: 讲解什么是软件架构,到底软件架构是哪些东西 讲解什么是软件架构师的职责,怎样做才是一个合格的软件架构师 ...讲解如何成长为一名软件架构师的心路历程和学习范围,阅读材料

    大型网站技术架构:核心原理与案例分析_李智慧.pdf

    本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布...

    大型网站技术架构

    《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、...

    大型网站技术架构PDF

    《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、...

    大型网站技术架构.rar

    本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布...

    持续演进的5G 服务化网络架构.pdf

    回顾了以控制转发分离为主线的移动通信核心网架构演进的历程,从支持业务快速上线的角度分析了5G服务化网络架构的优势,并通过对5G服务化架构的演进需求分析,给出了未来核心网架构演进的一些建议。

    大型网站技术架构:核心原理与案例分析.pdf

    《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、...

    架构学习资料

    一些架构师学习资料 1:大并发量访问架构...3:软件架构师应该知道的97件事.docx 4:系统架构设计师教程_第5章_软件架构设计.pdf 5:系统架构师的心得.doc 6:信息系统架构分析与中间件.pdf 7:异步数据同步组件.pdf

    Qcon全球软件开发大会[20160421]_架构演进之路专题

    2-5-京东无线服务端架构演进历程-赵云霄 2-6-Golang 在 Baidu-FrontEnd 的应用-陶春华 2-7-存储计算应用的三层平台服务架构探索-武毅 QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗...

    大型网站技术架构核心原理与案例分析高清_李智慧.pdf

    大型网站技术架构:核心原理与案例分析通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构...

    大型网站技术架构:核心原理与案例分析.zip

    《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、...

Global site tag (gtag.js) - Google Analytics