网站大量收购独家精品文档,联系QQ:2885784924

02-软件体系结构与架构技术详解.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? 1.1 软件架构与软件工程 1.2 软件架构概述 1.3 感受身边的架构存在 1.4 两个简单程序的架构实现与分析 1.5 本章小结 第1章 认识软件架构 1.2 软件架构概述 1.2.1 软件架构的定义 什么是软件架构,网上有60多个定义 多数人认可的定义: 软件架构是由结构和功能各异、相互作用的构件集合、按照一定的结构方式构成的系统。它包含系统的基础构成单元,它们之间的作用关系,在构成系统时它们的集成方法以及对集成约束的描述等。 1.2.1 软件架构定义 1.2.1 软件架构的定义 从软件系统的角度理解架构定义,可以看到:软件的架构是关于软件系统如何被组织起来的定义,即软件系统是由以下三个要素构成的: 1、组成系统的结构元素或统称为组成系统的构件 2、构件与构件之间的连接以及特定的连接关系 3、系统集成的方法和约束。 1.2.1 软件架构的定义 浓缩软件架构定义为以下三个要素: (1)组成架构的元素:构件。 (2)构件的相互联系:连接。 (3)构件之间的相互联系关系:连接关系。 什么是软件架构? 架构={ 构件、连接、连接关系 } 构 件:构成汽车的各主要部件是轮胎、发动机、变速箱、传动装置、大梁等 连接:轮胎和发动机之间靠什么连接在一起 连接关系:汽车的动力是怎么由发动机传递到轮胎,转速又是怎么通过变速箱控制的。 1.2.2 软件架构的作用 1.2.2 软件架构的作用 (1)软件架构定义了软件计算的组件、局部和总体的构成关系、以及这些组件之间的相互作用 计算组件: 客户、服务器、数据库、中间件、程序包、过程、子程序、进程等——切碎、再切碎(粒度) 相互作用关系: 过程调用、共享变量访问、信号灯、进程通信、消息传递、访问/网络协议等 《操作系统原理》课程其实最主要的意义和价值就是介绍一个实际的软件系统构架的案例 1.2.2 软件架构的作用 (2)除了描述系统的构成和结构关系外,软件构架还表达了系统关键需求与系统构成之间的对应关系,这为系统的设计,提供了分析和评价的依据 因为 软件构架比需求更进一步要面对或满足系统非功能性的内容,如:容量、数据吞吐量、一致性、兼容性、安全性、可靠性 1.2.3 软件架构的表示方法 最简单的架构视图:物理视图 (计算机系统构架) 基于WEB的应用系统架构视图 UML架构视图 抽象工厂的类代码视图 AbstractFactory:声明创建2个抽象产品对象的接口 ConcreatFactory1/2:实现创建具体产品对象的操作 AbstractProductA/B:为各产品对象声明一个接口 ProductA1/A2/B1/B2:定义一个将被相应的具体工厂创建的产品对象、实现AbstractProduct接口 Client:仅使用声明的接口 MVC构架的并发视图 一个由Struts实现的MVC构架 * 这个定义,对于毫无软件系统体验的学生来说,如果不是学完本课程而回过头来看,很难理解,所以很有必要解读一下。 解读一下,软件的架构师关于软件系统如何被组织起来的定义,即软件系统是由以下三个要素构成的: 1、组成系统的结构元素或统称为组成系统的构件 2、构件与构件之间的连接以及特定的连接关系 3、系统集成的方法和约束。 看起来还是比较抽象。为了便于理解架构,我将软件架构的定义浓缩为以下三个要素。 * 这一切,都是为了一个目标---满足关键需求。 进一步理解架构定义,可以知道:架构是一个或多个结构(子架构,可不断细分)的抽象,是由抽象的构件表示的,构件之间相互具有联系,相互之间的联系具有某些行为特征(连接关系) 系统的这种抽象表示方式,屏蔽了构件内部特有的细节,使得在讨论系统构成的时候,只需关注与系统构成有关的上述三个要素的信息,而不必看构成元素内部的内容。 举一个例子,汽车 * 根据架构的定义,汽车的架构有: 1、构件(构成汽车的各主要部件是轮胎、发动机、变速箱、传动装置、大梁等) 2、构件之间的相互联系(轮胎和发动机之间靠什么连接在一起) 3、部件之间的关系(汽车的动力是怎么由发动机传递到轮胎,转速又是怎么通过变速箱控制的) * * * * * * * 这个定义,对于毫无软件系统体验的学生来说,如果不是学完本课程而回过头来看,很难理解,所以很有必要解读一下。 解读一下,软件的架构师关于软件系统如何被组织起来的定义,即软件系统是由以下三个要素构成的: 1、组成系统的结构元素或统称为组成系统的构件 2、构件与构件之间的连接以及特定的连接关系 3、系统集成的方法和约束。 看起来还是比较抽象。为了便于理解架构,我将软件架构的定义浓缩为以下三个要素。 * 这一切,都是为了一个目标---满足关键需求。 进一步理解架构定义,可以知道:架构是一个或多个结构(子架

文档评论(0)

boss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档