族谱网 头条 人物百科

软件架构

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:276
转发:0
评论:0
介绍软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,软件架构师(英语:Softwarearchitect)或者系统架构师陈述软件架构以作为满足不同客户需求的实际系统设计方案的基础。从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。软件架构师与客户商谈概念上的事情,与经理商谈广泛的设计问题,与软件工程师商谈创新的结构特性,与程序员商谈实现技巧,外观和风格。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被...

介绍

软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,软件架构师(英语:Software architect)或者系统架构师陈述软件架构以作为满足不同客户需求的实际系统设计方案的基础。从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。

软件架构师与客户商谈概念上的事情,与经理商谈广泛的设计问题,与软件工程师商谈创新的结构特性,与程序员商谈实现技巧,外观和风格。

软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。

历史

早在1960年代,诸如艾兹格·迪杰斯特拉就已经涉及软件架构这个概念了。自1990年代以来,部分由于在Rational Software Corporation(英语:Rational Software)和Microsoft内部的相关活动,软件架构这个概念开始越来越流行起来。

卡内基梅隆大学和加州大学埃尔文分校在这个领域作了很多研究。卡内基·梅隆大学的Mary Shaw和David Garlan于1996年写了一本叫做Software Architecture perspective on an emerging discipline的书,提出了软件架构中的很多概念,例如软件组件、连接器、风格等等。加州大学埃尔文分校的软件研究院所做的工作则主要集中于架构风格、架构描述语言以及动态架构。

架构描述语言

架构描述语言(ADL)用于描述软件的体系架构。现在已有多种架构描述语言,如Wright(由卡内基梅隆大学开发),Acme(由卡内基梅隆大学开发),C2(由UCI开发),Darwin(由伦敦帝国学院开发)。ADL的基本构成包括组件、连接器和配置。

视图

软件架构一般来说组织成视图,如同在建筑学中的不同种类的蓝图。一些可能的视图有:

功能/逻辑视图

代码视图

开发/结构视图

并行/过程/线程视图

物理/部署视图

用户动作/反馈视图

有许多为描述软件架构的语言被开发出来,但是关于应该采用什么样的符号集和视图系统还没有达成共识。一些人相信UML将创建一套软件架构视图的标准。

例子

设计软件模块以及模块之间的通信有很多常用手段,包括

客户端服务器

分布式计算

对等系统

黑板

隐式调用

插件

单层系统

三层结构

结构化(基于模块,但在模块内部是一体的)

基于软件构件(基于模块,在模块内部,通常采用面向对象程序设计方法,slightly less monolithic)

面向服务的体系架构

相关的概念

在软件架构中,使用了很多概念,包括:

软件设计模式

反模式

标准数据模型

参见

软件工程

可用性工程

软件架构分析方法

参考文献

Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice. Addison Wesley, Reading 1998 ISBN 0-201-19930-0(gives a good overview of architectural concepts)

Philippe Kruchten: Architectural Blueprints - the 4+1 View Model of Software Architecture. In: IEEE Software. 12 (6) November 1995, pp. 42-50 (also available online at theRational website(PDF))

James O. Coplien: Multi-Paradigm Design in C++. Addison Wesley, Reading 1998 ISBN 0-201-82467-1(outlines all reasonable design approaches possible in C++, which is a particularly rich language but difficult for beginners)


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· ARM架构
特色和应用自2005年,每年超过一亿的手机销售约98%至少使用了一个ARM处理器。截至2009年,占大约90%的所有嵌入式32位RISC处理器和ARM处理器被广泛使用在消费性电子产品,包括个人数字助理(PDA)、平板电脑、移动电话、数字媒体和音乐播放器、手持式游戏游戏机、计算器和计算机外围设备(如硬盘驱动器和路由器)。历史一颗主要用于路由器的科胜讯公司ARM处理器用于松下多媒体播放机的芯片ARM的设计是艾康电脑公司于1983年开始的开发项目。这个团队由RogerWilson和SteveFurber带领,着手开发一种类似高级6502架构的处理器。Acorn电脑有一大堆建构在6502处理器上的电脑,因此能设计出一颗类似的芯片即意味着对公司有很大的优势。AcornRISCMachine:ARM2用在BBCMicro上的ARM1secondprocessor团队在1985年时开发出样本“ARM1”...
· MIPS架构
发展历史在1981年,史丹佛大学教授约翰·轩尼诗领导他的团队,实现出第一个MIPS架构的处理器。他们原始的概令是通过指令管线化来增加CPU运算的速度。1984年,约翰·轩尼诗教授离开斯坦福大学,创立MIPS科技公司。于1985年,设计出R2000芯片,1988年,将其改进为R3000芯片。MIPS指令格式在MIPS架构中,指令被分为三种类型:R型、I型和J型。三种类型的指令的最高6位均为6位的opcode码。从25位往下,R型指令用连续三个5位二进制码来表示三个寄存器的地址,然后用一个5位二进制码来表示移位的位数(如果未使用移位操作,则全为0),最后为6位的function码(它与opcode码共同决定R型指令的具体操作方式);I型指令则用连续两个5位二进制码来表示两个寄存器的地址,然后是一个16位二进制码来表示的一个立即数二进制码;J型指令用26位二进制码来表示跳转目标的指令地址(实际的...
· 微架构
和指令集架构的关系指令集架构是指在处理器内被处理的程式,指令集架构为组合语言的设计师和编译器所见。指令集架构包含executionmodel,暂存器,地址以及资料格式。微架构包含处理器内部的构成以及这些构成起来的部分如何执行指令集架构。微架构通常被表示成流程图,以描述机器内部元件的连结状况,从一个闸或是暂存器,到算术逻辑单元(ALU)。图上分布着资料路径(可以显示资料在微架构的位置)以及控制路径(显示资料该被什么指令所处理)。每个微架构的的元件都被表示成藉数个逻辑门所建构而成的工具。每个逻辑门都被表示成藉晶体管建构成的零件。拥有不同微架构的机器可能拥有相同的指令集架构,因此可以执行相同的程式。由于半导体科技的进步,新型的处理器可以以较快的速度执行相同的指令集架构。微架构的概念Intel80286微架构在今日,管线资料路径是微架构中最常被使用的资料路径。这种作法也被普遍的用于微处理器,微控制...
· Haswell微架构
技术特性作为英特尔“Tick-Tock”策略下的产物,在“Tick-Tock”时间表上,Haswell架构属于“Tock”阶段,是为架构改进换代。根据Fudzilla的消息,“英特尔透露给合作伙伴的消息指同时钟频率下与IvyBridge架构的产品相比,Haswell架构的产品其性能至少有10%的提升”。而英特尔宣称Haswell整体性能将比IvyBridge快两倍。英特尔称在某些工作负荷上Haswell架构的效率比上代产品的提升了20%。一片基于Haswell架构的处理器芯片的晶圆,与一只铁钉的大小对比已确认的新特性制程更成熟的22奈米制程,大幅改善漏电率(这里的漏电指高制程芯片于运作时,部分电子因量子穿隧效应而由非电路或电路组件的硅中穿过);更成熟的3D-三栅极晶体管;处理器核心14级管线(从IntelCore微架构开始一直沿用至今);和以往一样,整数运算、浮点运算和SIMD运算作业同样...
· Nehalem微架构
技术特点原生四核心的Nehalem微架构集成北桥全部型号的微处理器核心都集成了存储器控制器,一般支持双通道DDR3SDRAM,消费级产品最高支持三通道DDR3SDRAM,而服务器平台则可以支持四通道DDR3SDRAM;除此以外还处理器核心还集成了PCIExpress2.0控制器。直连式总线从Nehalem微架构开始,Intel改用QPI/DMI直连式总线,放弃了传统的FSB。首发的Corei7使用了新的“QuickPathInterconnect”直连式总线,与AMD的HyperTransport相似。相比FSB,每一个处理器都可以有独立的QPI通道与其他处理器连接,处理器之间不用再共享FSB带宽,并绕路到北桥才能通信。此外,QPI是双向传输。后来发布的Corei5、i3,处理器内部仍使用QPI,但与外部芯片组连接则使用与QPI类似但较QPI的带宽小的DMI(DirectMediaInte...

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信