《实用软件架构:从系统环境到软件部署 》——第2章 软件架构是什么?为什么需要做软件架构2.1 背景知识-阿里云开发者社区

开发者社区> 华章计算机> 正文

《实用软件架构:从系统环境到软件部署 》——第2章 软件架构是什么?为什么需要做软件架构2.1 背景知识

简介:
+关注继续查看

本节书摘来自华章出版社《实用软件架构:从系统环境到软件部署》一书中的第2章,第2.1节,作者[印]蒂拉克·米特拉(Tilak Mitra)著,爱飞翔 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。


第2章 软件架构是什么?为什么需要做软件架构

除非我信它,否则不可能全身心地投入其中。

如果你已经读到了这里,那么你应该是真心想要成为一名“务实的软件架构师”。我们不能仅仅把这个名号挂在嘴边,而是要在实际的软件与系统开发工作中运用这套理念做出优秀的产品。

软件架构师的做事风格多种多样,而且通常都很有意思。有的架构师喜欢做宏观的思考,喜欢随便拿一张纸画上几笔,或是在白板上画一些方框和线条,而且那些方框看上去好像长得都不太一样。有的架构师不先把宏观的架构情况了解清楚,就急着去研究细节问题。还有一些架构师则在这两种风格之间徘徊不定。因此,我们有必要澄清与软件架构相关的一些问题,以便形成一个大家都容易接受的理解方式,并且使大家对成功的软件架构师所担负的职责,有一个清晰的了解。

本章将会给出软件架构的一些背景知识,以及一些能够促使我们去做好架构工作的成熟价值理念。到本章结束时,我想大家应该能对软件架构中的一些关键元素具有清晰的认识。我们都是务实的软件架构师,我们要把实用的软件架构理念加以阐发,并在实践中将其推广开来。

咱们做一件写着The PSA(发音是“thepsa”)的T恤穿上,怎么样?

2.1 背景知识

软件架构作为一门学科,已经有四十多年历史了,早期的软件架构,可以追溯到20世纪70年代。后来,由于系统开发工作变得更加复杂、更加关键,而且更加强调实时性,因此软件架构也得到了更为广泛的运用,并且成为主流的系统工程和软件开发工作中的基本内容。

与其他那些持续发展的学科一样,软件架构在诞生之初也面临着一些挑战,而且直到今天,也没有能够把所有的疑难全都解决掉。早期的软件架构师会用一些图表和文字来描述系统的结构及行为,但是他们在描述时所采用的这些办法,其清晰程度、一致程度和精确程度都不够高,而且也缺乏条理。软件架构的内容和工件,有各种各样的表示方法和记录方法,当年的架构师,想要寻找一种协调而易懂的伪语言(pseudo-language)或元语言(metalanguage),以便将这些表述方法统合起来。在学术研究的促进下,系统工程和计算机科学界的工作者取得了巨大的进步,他们提出了一些行之有效的做法和指导原则,使得架构师可以对软件架构的内容做出适当的表述,以便与利益相关者就架构的成果进行有效的沟通。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
软件应用程序的打包和部署
对于我们学计算机的同学而言,用VS2010编译好了一个Windows 应用程序之后,只能在我们自己的电脑上用VS2010打开,而不能在别的未安装VS2010的客户机上显示,这是一个困惑,如何将一个winform系统程序打包部署成一个可注册的软件。
801 0
协同致胜,企业如何选择适合的办公软件
协同办公市场已经非常成熟,各家产品之间功能趋于同质化,这让客户难以分辨到底哪家产品更适合自己。因此需要自己对这类产品有一个基本的认识,做到心中有数。
1266 0
架构漫谈(六):软件架构到底是要解决什么问题?
原文:架构漫谈(六):软件架构到底是要解决什么问题?   架构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。
1188 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载