软件架构软件架构和软件体系结构有区别吗 ?

软件架构  时间:2021-09-12  阅读:()

什么是软件架构?

当你去了解一个东东的时候,第一步要做的,就应该去知道这个东东的定义,对于软件架构也是如此,经过网上查询和书籍的帮助,我大概理清了一个轮廓。

软件行业是一个热衷于制造‘名词’的行业,如果退回15年,估计没几个人知道‘软件架构’是什么,在上个世纪80年代,随着软件开发的规模不断扩大,软件开发成为一个行业,初期,随之而来的是越来越多的软件项目的失败,造成项目失败的原因很多,但主要集中在开发过程,所以软件工程应运而生,CMMI等流程标准也是一茬接着一茬的冒个不停。

在软件工程初具规模的时候,软件开发还是以数据结构+算法的形式存在,进入20世纪最后10年,随着面向对象技术、设计模式等在开发过程中的成功应用,软件架构也走进了大家的视野。

软件架构在定义上分为‘组成派’和‘决策派’两大阵营,分别描述如下: ’组成派‘认为软件架构是将系统描述成计算组件及组件之间的交互 。

它有两个非常明显的特点: 关注架构实践的客体——软件,以软件本身作为描述对象。

分析了软件的组成,说明软件不是一个‘原子’意义上的整体,而是有不同的部分经过特定的接口进行连接组成的一个整体,这对软件开发来说很重要。

‘决策派’认为 软件架构包含了一系列的决策 ,主要包括: 软件系统的组织 选择组成系统的结构元素和它们之间的接口,以及当这些元素相互协作时所体现的行为 用于指导这个系统组织的架构风格:这些元素以及它们的接口、协作和组合 软件架构并不仅仅关注软件本身的结构和行为,还注重其他特性:使用、功能性、性能、弹性、重用、可理解、经济以及技术的限制和权衡等。

‘决策派’有以下两个显著的特点: 关注软件架构中的实体——人,以人的决策为描述对象。

归纳了软件架构决策的类型,指出架构决策不仅包括关于软件系统的组织、元素、子系统和架构风格等几类决策,还包括关于众多非功能性需求的决策。

按照‘组成派’的观点,软件架构关注的是软件整体的分割和交互,之所以分割,是因为不同的部分在逻辑或物理上相对独立,通过‘分而治之’的原则进行分割可以更好的理解整个系统,把握用户的需求,但是虽然整个软件可以分割成多个模块或子系统,但是模块和子系统之间的通信和交互也是很重要的,我想按照这种观点,架构师的主要任务是将软件分割成不同的模块,并定义模块之间的接口。

按照‘决策派’的观点,软件是一个在很多限制下产生的产品,这些限制包括用户和技术两方面,用户方面包括功能需求、性能需求、硬件需求等,技术方面包括技术选择、可扩展性、可重用性、可维护性等。

我想按照这中观点,架构师的主要任务就是作出上述个各种限制作出选择或决策。

《软件架构设计》 温昱

常用的软件架构有那些?

1.模块视图类型 1)分解风格 2)使用风格 3)分层风格 4)泛化风格 2.组件连接器类型(C&C) 1)管道过滤器风格 2)共享数据风格 3)客户端服务器风格 4)发布订阅风格 5)进程通信风格 6)对等通信风格 3.分配视图类型 1)部署风格 2)实现风格 3)工作任务风格 不知道是不是你想要的结果

什么是应用架构?包括那些层面?

应用架构,系统架构,软件架构三者含义基本一致。

从1985年开始,在过去的二十多年里,关于什么是“软件架构(Software Architecture)”已经基本得到了软件工程领域普遍的认同。

其中一些重要的定义介绍如下。

“软件架构代表了系统的组织结构。

这包括将系统分解为不同的部分、界定它们之间的连接、确定它们之间的交换机制、并且为后续的设计提供指导性的原则” ---出自UML的著名原创者James Rumbaugh、Grady Booch 及 Ivar Jacobson (即架构界俗称的“三个火枪手”)。

“软件架构表述了一个系统的一个或一系列组织结构。

这包扩了软件构件、这些构件的外部可见特征,以及这些构件之间的关系。

” ---出自Bass Len、Paul Clements、Rick Kazman 在2003年出版的经典的《架构的实践》一书。

IEEE在2004年4月公布的“IEEE Standard 1471”中,提出了IEEE自己对软件架构的定义:“软件系统架构是根据具有参考意义的实践而定义出来的。

主要表述了有一个系统的基本组织结构、基本组成构件和互相的关系,以及构件于外部环境间的关系。

同时,软件系统架构为后续的设计和架构演化提供了指导性原则” 。

IEEE Standard 1471也澄清了架构领域的许多其他感念,例如架构描述、架构标准等。

可以看出,上述诸多不同用词的“软件架构”的定义,其实都表达了近乎一致的思想。

我们可以引用Frank Buschmann 的经典论述来定义一个架构师:“一个软件系统的架构师是一个要担负起软件系统的定义、架构的实现、系统的实施、系统架构演化和系统演化的人。

换句话说,是一个要为系统整个生命周期负责的人 。

” 但有意思的是,软件工程领域基本上没有一致的有关“软件架构师(Software Architecture)”的定义。

很多公司也没有这样的职位;有些公司虽然有这样的职位,但却说不清楚这个职位所要求的技能和工作职责;另外但我们对比不同公司关于该职位的描述时,也能看到其中的不一致,例如Microsoft公司与Motorola公司对架够师的职位表述就很不一样。

更常见的是这些职位描述严重混淆了很多概念,例如:当年的Rational公司就混淆了“软件架构师”与“高级程序员”的概念。

这样的现象,无论是在国内还是国外都很相似。

这也导致了我们可以见到大量的不同职位名称出现在软件工程行业中的观象,例如有解决方案架构师、系统架构师、软件架构师、企业架构师、总工、首席架构师、Java架构师、微软架构师及.NET架构师。

软件架构和软件体系结构有区别吗 ?

软件架构:整个软件系统的各个模块之间的结构设计,是软件工程范畴的概念,就象设计一栋房子由几个什么样的板块组成一样。

软件体系结构:是软件编程风格范畴的一个通俗概念,比如说用C++、PoworBuild、Delphi等来进行软件设计是面向对象的编程语言体系结构,而Basic、C、Foxbase的软件体系结构特点是面向任务流程的(不是面向对象的编程语言)。

HostYun:联通AS9929线路,最低月付18元起,最高500Mbps带宽,洛杉矶机房

最近AS9929线路比较火,联通A网,对标电信CN2,HostYun也推出了走联通AS9929线路的VPS主机,基于KVM架构,开设在洛杉矶机房,采用SSD硬盘,分为入门和高带宽型,最高提供500Mbps带宽,可使用9折优惠码,最低每月仅18元起。这是一家成立于2008年的VPS主机品牌,原主机分享组织(hostshare.cn),商家以提供低端廉价VPS产品而广为人知,是小成本投入学习练手首选。...

A2Hosting三年付$1.99/月,庆祝18周年/WordPress共享主机最高优惠81%/100GB SSD空间/无限流量

A2Hosting主机,A2Hosting怎么样?A2Hosting是UK2集团下属公司,成立于2003年的老牌国外主机商,产品包括虚拟主机、VPS和独立服务器等,数据中心提供包括美国、新加坡softlayer和荷兰三个地区机房。A2Hosting在国外是一家非常大非常有名气的终合型主机商,拥有几百万的客户,非常值得信赖,国外主机论坛对它家的虚拟主机评价非常不错,当前,A2Hosting主机庆祝1...

Raksmart:香港高防服务器/20Mbps带宽(cn2+bgp)/40G-100Gbps防御

RAKsmart怎么样?RAKsmart香港机房新增了付费的DDoS高防保护服务,香港服务器默认接入20Mbps的大陆优化带宽(电信走CN2、联通和移动走BGP)。高防服务器需要在下单页面的IP Addresses Option里面选择购买,分:40Gbps大陆优化高防IP-$461/月、100Gbps国际BGP高防IP-$692/月,有兴趣的可以根据自己的需求来选择!点击进入:RAKsmart官...

软件架构为你推荐
推信现在大二怎样准备北大金融研究生项目质量管理项目质量管理的名词解释短信应用Android手机短信应用都有哪些?活跃网络移动大V网是什么意思?网络图绘制双代号网络图的绘制方法?快照优化如何优化百度快照快照优化快照跟不上优化节奏优化方法出问题?t320华为T320怎么样burndownburn down与burn up有何区别工作经验介绍个人工作经历简介要怎么写
免费域名注册网站 欧洲免费vps 什么是域名解析 淘宝二级域名 l5639 香港机房托管 nerd 360抢票助手 服务器cpu性能排行 eq2 上海域名 godaddy域名证书 40g硬盘 165邮箱 网站木马检测工具 php空间购买 新加坡空间 lamp是什么意思 阿里云邮箱登陆地址 新疆服务器 更多