`
insertyou
  • 浏览: 901768 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

白话软件架构与架构师

阅读更多

作者:任甲林  来源:希赛网
http://www.csai.cn 2004年06月28日
架构一词是舶来品,是architecture的中文翻译, 其英文的本意是来源于建筑行业的建筑艺术、建筑(风格)和结构,引入到软件领域里面来以后,并没有一个统一的定义。有的人将架构定义为:功能+设计+构造手段,我们可以通俗的理解为:总体设计和总体结构。
买过房子的人都知道5层以下的楼房一般是砖混结构,而高层和小高层的楼房都是框架结构,楼层越高对结构要求越高。软件也是一样,系统越庞大,生命周期越长,结构的重要性就越明显。因此,随着人们对软件工程的深刻理解,将架构进行充分的强调是很自然的,正如人们越来越强调系统的需求分析,从而有了领域工程师和领域专家的概念一样。其实强调软件架构的最主要的目的有3个:
重用:人们希望系统能够重用以前的代码和设计,从而提高开发效率;
扩展:人们希望在系统能够保持结构的稳定的前提下很容易地扩充功能和性能,希望能够“以静制动“;
简洁:常言道,简洁就是美,好的架构一定易于理解,易于学习,易于维护,人们希望能够通过一个简洁的架构来把握系统;
正如我们可以很简单地用砖混结构和框架结构来概括一幢大楼的结构,专家们也定义了一些术语来定义软件的架构风格,如层次结构、B/S结构等。软件架构设计是软件设计的一部分,是其中的总体设计。软件的架构设计有一定的创造性,但它毕竟是一个工程活动,架构的设计是有章可循的,有一定的规律性的,是可以重复的,有其稳定的模式。当然,在系统一开始很难可以建立一个完善的稳定的架构。迭代是软件开发过程中必然的一个过程,这是人的思维活动的一个必然阶段。
软件架构师实际上就是软件的总体设计师。首席设计师就是总设计师,打个通俗的比方:是中国改革开放的总设计师,我们用现在的说法可以讲,是中国改革开放的首席架构师。架构师的形成一定是在实践中积累起来的,而并非上了几次培训班,读了几本书就可以成功的,架构师是在工程实践中培养出来的!
架构师也并非是万能的。架构师是客户需求和开发者之间的桥梁。在软件行业中,一般提到的架构师是技术架构师,而忽略了领域架构师或者讲是领域工程师的概念。一个好的领域专家一定是业务领域的架构师,他能够给出某一个业务领域的架构,我们可以称为业务架构,只有技术架构和业务架构紧密结合才有可能真正创造出一个好的系统!

分享到:
评论

相关推荐

    微服务架构.ppt

    微服务架构.ppt 是关于微服务架构学习的一款非常好的ppt。

    子平真诠白话解释.doc

    因此,生与克的作用是同等重要的。 子平真诠白话解释对《子平真诠》书中语言的白话形式记录,提供了对十天干十二地支、阴阳五行、木火土金水五行、命理和易经的深入解释和分析,为读者提供了一个系统的学习平台。

    HC1309123 OceanStor 9000架构与原理.ppt

    HC1309123 OceanStor 9000架构与原理.ppt

    白话C++ word版

    - **程序与软件的区别**:虽然这两个术语经常互换使用,但在某些上下文中,人们倾向于将“程序”视为具体的指令集合,而“软件”则更广泛地涵盖了程序以及相关文档和支持材料。 通过以上解析,我们可以看出,《白话...

    白话文运动的危机

    白话文运动的危机,CAJViewer 文件,使用CAJViewer软件查看

    白话中台战略-中台是个什么鬼.pdf

    白话中台战略-中台是个什么鬼.pdf白话中台战略-中台是个什么鬼.pdf白话中台战略-中台是个什么鬼.pdf白话中台战略-中台是个什么鬼.pdf白话中台战略-中台是个什么鬼.pdf白话中台战略-中台是个什么鬼.pdf白话中台战略-...

    白话并发冲突与线程同步.pdf

    白话并发冲突与线程同步.pdf

    白话c++(绝对经典)

    《白话C++》是一本深受读者喜爱的编程著作,由中国的编程大师撰写,旨在以通俗易懂的方式解析复杂的C++编程语言。作者通过简洁幽默的语言,使得这本教程不仅适合初学者,也对有一定经验的程序员有很高的参考价值。在...

    白话大数据与机器学习.zip

    白话大数据与机器学习

    《罗织经》白话全译.doc

    《罗织经》白话全译.doc

    白话机器学习的数学-立石贤吾-源代码.zip

    白话机器学习的数学-立石贤吾-源代码.zip

    白话C++

    白话 C++ 第二学堂 适合入门级C++的学习,比较全的C++细节知识

    《白话 Windows 编程》

    《白话 Windows 编程》EXE格式电子书,收藏版!!!

    白话c++.rar

    C++是一种强大的、通用的、面向对象的编程语言,广泛应用于系统软件、应用软件、游戏开发、设备驱动等各个领域。以下是对C++基础概念和操作的详细解释: 1. **基本语法与数据类型**:C++中的基本数据类型包括整型...

    白话C++编程(有用)

    在IT领域,C++是一种强大的、通用的编程语言,它以其高效性、灵活性和面向对象的特性而闻名。...通过深入学习并实践这些概念,你将能够有效地利用C++解决各种问题,无论是系统编程、游戏开发还是软件工程的其他领域。

    白话SpringCloud.pdf

    SpringCloud与Dubbo都用于微服务架构,但侧重点和实现方式有所不同。Dubbo更专注于提供高性能的Java RPC调用,而SpringCloud则是通过SpringBoot简化微服务架构的基础设施开发。 - **架构设计**:Dubbo基于远程方法...

    白话统计学

    本书对统计学原理和术语进行了简洁、清晰而准确的解释,并通过大量实例讲述统计技术的操作方法。书中涵盖了社会科学研究所使用的大部分统计原理和方法,诸如集中趋势、变异程度、正态分布、z分数、标准误等基本概念...

Global site tag (gtag.js) - Google Analytics