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

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

特网云57元,香港云主机 1核 1G 10M宽带1G(防御)

特网云官網特网云服务器在硬件级别上实现云主机之间的完全隔离;采用高端服务器进行部署,同时采用集中的管理与监控,确保业务稳定可靠,搭建纯SSD架构的高性能企业级云服务器,同时采用Intel Haswell CPU、高频DDR4内存、高速Sas3 SSD闪存作为底层硬件配置,分钟级响应速度,特网云采用自带硬防节点,部分节点享免费20G防御,可实现300G防御峰值,有效防御DDoS、CC等恶意攻击,保障...

香港服务器多少钱一个月?香港云服务器最便宜价格

香港服务器多少钱一个月?香港服务器租用配置价格一个月多少,现在很多中小型企业在建站时都会租用香港服务器,租用香港服务器可以使网站访问更流畅、稳定性更好,安全性会更高等等。香港服务器的租用和其他地区的服务器租用配置元素都是一样的,那么为什么香港服务器那么受欢迎呢,香港云服务器最便宜价格多少钱一个月呢?阿里云轻量应用服务器最便宜的是1核1G峰值带宽30Mbps,24元/月,288元/年。不过我们一般选...

iON Cloud:七月活动,洛杉矶CN2 GIA线路85折优惠中,价格偏高/机器稳定/更新优惠码

iON Cloud怎么样?iON Cloud是Krypt旗下的云服务器品牌,成立于2019年,是美国老牌机房(1998~)krypt旗下的VPS云服务器品牌,主打国外VPS云服务器业务,均采用KVM架构,整体性能配置较高,云服务器产品质量靠谱,在线率高,国内直连线路,适合建站等用途,支付宝、微信付款购买。支持Windows server 2012、2016、2019中英文版本以及主流Linux发行...

软件架构为你推荐
实验室方案设计第三代DNA测序实验室设计方案kongjianming求空间超长的名字!工作经验介绍个人简历中工作经验怎么写?官方网店淘宝网的官方网店是什么安全网络攻防大赛CTF是什么意思key网有没有可以免费看电影的网址 要真免费的喔~上网能干什么上网了能干什么?宴请网宴请食谱大全,宴请吃什么,宴请食3g模块如何启用3G功能及初始化3G模块?3g模块3G上网功:3G模块是什么意思?
中文域名注册 过期域名查询 国外vps租用 分销主机 pw域名 wavecom payoneer 外国域名 美国php空间 qq数据库下载 元旦促销 卡巴斯基官方免费版 腾讯云分析 个人免费主页 服务器防御 双十二促销 国外免费网盘 七十九刀 web服务器有哪些 德国代理 更多