首页 > 其他 > 详细

系统架构简介

时间:2015-09-24 17:44:51      阅读:190      评论:0      收藏:0      [点我收藏+]

架构(Architecture)原意为建筑学设计和建筑物建造的艺术与科学。

软件架构(Software Architecture)是软件系统的高层描述,它给出了关于软件系统组织结构的一系列高级的,重要的抽象,包括:系统组成和结构性构件;组件构件之间的接口;组件相对系统其他部分的可视化行为;构件之间所采取的交互和写作关系。软件架构在RUP中的定义是指系统核心构件的组织或结构,这些核心构件通过接口与不断减少的构件与接口所组成的构件进行交互。

人们在软件过程中积累了丰富的架构只是,形成了特定的架构风格,这些架构风格为高层次的软件复用技术建立了坚实的基础。例如,C/S架构,管道/过滤器,分层架构,解释器架构,黑板架构等等,而各种分布式的组件技术如DCOM,EJB,Web-Services也都是和软件架构密切相关。

长期以来,人们一直在女里软件架构更加精准的形式化描述,力图用一种类似于某种编码语言的形式来描述软件架构,如Rapide,Weight,Aesop,Unicon,ACME等。XML描述与软件建模UML技术的发展为软件架构描述语言注入了新的发展思路,新一代的架构语言(如xArch,xADL等)充分应用利用这些新的描述手段的特点,同时,伴随着架构描述技术的进步,架构评估等研究也在不断的深入。

软件架构能够知道整个系统的设计和演进,它是软件需求分析的结果,同时是下一代进行软件设计的规格和蓝图。对于复杂软件系统而言,在架构阶段,系统的架构和规格的说明非常重要,而在软件设计阶段,算法和数据结构更重要。

软件架构师对系统的描述,借鉴了建筑工程设计的思想,通过各种视图从不同角度以规范、一致、易理解的“语言”表达系统的各种规格和行为。以某一特定角度看到的架构的规格和行为,主要是结构、核心构件和主要控制流等

软件架构是风险承担者进行交流的手段。所谓风险承担者是针对软件系统某方面或层次负责的人员,软件系统在某方面如果存在缺陷或问题,对此负责任或受影响的人员。风险承担着包括最终用户、系统设计师、程序员、经理、项目管理师等。

软件架构师可传递、可重用的模型

软件架构是软件工程早期设计决策的体现,而且在整个开发周期中不断演进,软件架构对软件质量(功能属性、非功能属性)都有重要影响。

“4+1”视图模型是最重要的软件架构模式,该模型由5各视图组成

PS:并不是所有的软件架构都需要“4+1”视图。无用的视图可以从架构描述中省略,例如,单机软件可以省略物理视图;如果仅有一个进程或程序可以省略过程视图。对于非常小型的系统甚至可能逻辑视图与开发视图非常相似,而不需要分开描述。

技术分享

逻辑视图(Logical View):描述了设计的对象模型,支持系统的功能需求

进程视图(Process View):描述了设计的并发和同步特征,支持系统的运行特性

物理视图(Physical View): 描述了软件到硬件的映射,反映了分布式特性,支持系统的拓扑、安装和通信需求

开发视图(Development View):描述了在开发环境中的软件在静态组织结构,支持软件开发的内部需求

场景(Scenarios):用来说明重要的系统活动,是其他4个视图在用例驱动下的综合

系统架构简介

原文:http://www.cnblogs.com/sunyaxue/p/4835971.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!