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

软件架构  时间: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的软件体系结构特点是面向任务流程的(不是面向对象的编程语言)。

Hostodo:$19.99/年KVM-1GB/12GB/4TB/拉斯维加斯

Hostodo发布了几款采用NVMe磁盘的促销套餐,从512MB内存起,最低年付14.99美元,基于KVM架构,开设在拉斯维加斯机房。这是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,产品性能一般,数据中心目前在拉斯维加斯和迈阿密,支持使用PayPal或者支付宝等付款方式。下面列出几款NVMe硬盘套餐配置信息。CPU:1core内存:512MB...

95IDC香港特价物理机服务器月付299元起,5个ip/BGP+CN2线路;美国CERA服务器仅499元/月起

95idc是一家香港公司,主要产品香港GIA线路沙田CN2线路独服,美国CERA高防服务器,日本CN2直连服务器,即日起,购买香港/日本云主机,在今年3月份,95IDC推出来一款香港物理机/香港多ip站群服务器,BGP+CN2线路终身7折,月付350元起。不过今天,推荐一个价格更美的香港物理机,5个ip,BGP+CN2线路,月付299元起,有需要的,可以关注一下。95idc优惠码:优惠码:596J...

弘速云(28元/月)香港葵湾2核2G10M云服务器

弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统,目前推出全场vps新开7折,...

软件架构为你推荐
起英文名好听的英文名字体系文件人事管理体系文件 怎么做?光纤是什么什么是光纤.是什么材料做的?jsp源码jsp 中网站的首页源代码摇一摇周边微信摇一摇周边红包设置乐辞乐的组词有什么官方网店官方旗舰店和旗舰店是什么意思,有什么区别?它们卖的都是正品行货吗?官方网店官方网店和官方旗舰店有什么区别?我的电脑打开很慢电脑开机太慢怎么办警告本网站内容IE浏览器为什么登入一些网站会出现安全警告"是否只查看安全传送的网页内容"?
中文域名查询 vps动态ip 免费域名跳转 免费申请域名 本网站服务器在美国维护 kddi 宕机监控 godaddy域名优惠码 服务器架设 嘟牛 777te 智能骨干网 圣诞促销 免费活动 1g内存 国外视频网站有哪些 贵阳电信 空间申请 买空间网 ssl加速 更多