架构一词是舶来品,是architecture的中文翻译, 其英文的本意是来源于建筑行业的建筑艺术、建筑(风格)和结构,引入到软件领域里面来以后,并没有一个统一的定义。有的人将架构定义为:功能+设计+构造手段,我们可以通俗的理解为:总体设计和总体结构。
买过房子的人都知道5层以下的楼房一般是砖混结构,而高层和小高层的楼房都是框架结构,楼层越高对结构要求越高。软件也是一样,系统越庞大,生命周期越长,结构的重要性就越明显。因此,随着人们对软件工程的深刻理解,将架构进行充分的强调是很自然的,正如人们越来越强调系统的需求分析,从而有了领域工程师和领域专家的概念一样。其实强调软件架构的最主要的目的有3个:
重用:人们希望系统能够重用以前的代码和设计,从而提高开发效率;
扩展:人们希望在系统能够保持结构的稳定的前提下很容易地扩充功能和性能,希望能够“以静制动“;
简洁:常言道,简洁就是美,好的架构一定易于理解,易于学习,易于维护,人们希望能够通过一个简洁的架构来把握系统;
正如我们可以很简单地用砖混结构和框架结构来概括一幢大楼的结构,专家们也定义了一些术语来定义软件的架构风格,如层次结构、B/S结构等。软件架构设计是软件设计的一部分,是其中的总体设计。软件的架构设计有一定的创造性,但它毕竟是一个工程活动,架构的设计是有章可循的,有一定的规律性的,是可以重复的,有其稳定的模式。当然,在系统一开始很难可以建立一个完善的稳定的架构。迭代是软件开发过程中必然的一个过程,这是人的思维活动的一个必然阶段。
软件架构师实际上就是软件的总体设计师。首席设计师就是总设计师,打个通俗的比方:邓小平是中国改革开放的总设计师,我们用现在的说法可以讲,邓小平是中国改革开放的首席架构师。架构师的形成一定是在实践中积累起来的,而并非上了几次培训班,读了几本书就可以成功的,架构师是在工程实践中培养出来的!
架构师也并非是万能的。架构师是客户需求和开发者之间的桥梁。在软件行业中,一般提到的架构师是技术架构师,而忽略了领域架构师或者讲是领域工程师的概念。一个好的领域专家一定是业务领域的架构师,他能够给出某一个业务领域的架构,我们可以称为业务架构,只有技术架构和业务架构紧密结合才有可能真正创造出一个好的系统!
相关文章
上一篇文章:怎样成为优秀的软件模型设计者?
下一篇文章:程序员的酸甜苦辣 告别Coding
- 推荐阅讯
- 一个大学生的感慨:从招聘看中国软件业
- 白话软件架构与架构师
- 你是否想知道 如何进入程序设计的领域
- 真正的程序员
- 软件:软件外包“五宗罪”
- 一对夫妻程序员的故事
- 我的心声:让程序员成为正常人
- 月薪3200 博客网架构师艰难浪迹于北京
- 二十年的程序开发之路之求学篇
- 程序员之间的战争 战场是用户电脑
- 阅读排行
- 1.一个三流学校程序员的奋斗!
- 2.你该学什么程序语言
- 3.一个中专生的程序员之路
- 4.月薪3200 博客网架构师艰难浪迹于北京
- 5.如何成为一名Java初级程序员
- 6.成为编程高手的八大奥秘
- 7.10岁学编程 拥有19项专利的女程序员
- 8.一个程序员如何月进万金的?
- 9.程序人生:我刚工作的那些年 A
- 10.一个软件测试工程师20年的地位浮沉
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
