当前位置:文档之家› 【软件体系结构】 软件体系结构复习

【软件体系结构】 软件体系结构复习

【软件体系结构】 软件体系结构复习
【软件体系结构】 软件体系结构复习

软件危机表现、根源、解决方法 1
一 软件危机表现、根源、解决方法
1. 软件危机的表现:
软件成本日益增长(相对数与绝对数) 开发进度难以控制(是一种高度智力的产品,不能采用人海战术) 软件质量差 软件维护困难
2. 软件危机产生的原因:
用户需求不明确 缺乏正确的理论指导 软件规模越来越大 软件复杂度越来越高
3. 软件危机的解决方案:
管理 采用工程化的开发方法 加大软件重用 采用先进的开发工具
二 软件体系结构的发展阶段及特征

2
软件体系结构复习册
三 软件体系结构三种定义及其含义
1. Dewayne Perry 和 A1exander Wo1f
软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。 处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连 接起 来。
2. Mary Shaw 和 David Garlan
软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系 结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织, 规模和性能,在各设计方案间进行选择等。
软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局 控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估 与实现等。
3. Kruchten
软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的 关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和 库函数在开发环境中的组织。
4. Hayes Roth
软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口 和关系。
5. David Garlan 和 Dewne Perry
软件体系结构是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间演化的 指导方针。
6. Barry Boehm
软件体系结构包括一个软件和系统构件,互联及约束的集合;一个系统需求说明的集合;一个基本原理用 以说明这一构件,互联和约束能够满足系统需求。
7. Bass,Ctements 和 Kazman
软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。其中,“软件外部的可 见特性”是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。
8. 张友生:

软件体系结构意义 3
软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素 的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑 结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
特点:从高层抽象了软件系统结构、行为、属性。
四 软件体系结构意义
体系结构是风险承担者(又称为涉众,stakeholder)进行交流的手段 体系结构是早期设计决策的体现 软件体系结构是可重用的模型
五 软件体系结构几种模型的基本含义
1. 结构模型
这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力 图通过结构来反映系统的重要语义内容,包括系统的配臵、约束、隐含的假设条件、风格、性质等。
研究结构模型的核心是体系结构描述语言。
2. 框架模型
框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。 框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。
3. 功能模型
功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。 功能模型可以看作是一种特殊的框架模型。
4. 动态模型
动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。 例如,描述系统的重新配臵或演化。动态可以指系统总体结构的配臵、建立或拆除通信通道或计算的过程。
5. 过程模型
过程模型研究构造系统的步骤和过程。 结构是遵循某些过程脚本的结果。
六 (!重点 )软 件体系 结构 4+1 视 图模 型含义 及设计 (重 点 !)

4
软件体系结构复习册
0. “4+1”模型概述
示意图:
含义:“4+1”视图模型从 5 个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描 述软件体系结构。每一个视图只关心系统的一个侧面,5 个视图结合在一起才能反映系统的软件体系结构的 全部内容。
仿真和培训
显示及用户 接口
外部接口网 关
1. 逻辑视图
飞行管理 航空信息 基本元素
空中交通管 理
机械服力
逻辑视图主要支持系统的功能需求,即系统提供给最终用户 的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽 象主要来自问题领域。这种分解不但可以用来进行功能分析,而 且可用作标识在整个系统的各个不同部分的通用机制和设计元 素。
在面向对象技术中,通过抽象、封装和继承,可以用对象模 型来代表逻辑视图,用类图来描述逻辑视图。
设计:逻辑视图中使用的风格为面向对象的风格,逻辑视图 设计中要注意的主要问题是要保持一个单一的、内聚的对象模型 贯穿整个系统。
2. 开发视图
开发视图也称模块视图,主要侧重于软 件模块的组织和管理。 开发视图要考虑软件内部的需求,如软 件开发的容易性、软件的重用和软件的通 用性,要充分考虑由于具体开发工具的不 同而带来的局限性。 开发视图通过系统输入输出关系的模 型图和子系统图来描述。 设计:在开发视图中,最好采用 4-6 层 子系统,而且每个子系统仅仅能与同层或

(!重点)软件体系结构 4+1 视图模型含义及设计(重点!) 5
更低层的子系统通讯,这样可以使每个层次的接口既完备又精练,避免了各个模块之间很复杂的依赖关系。 设计时要充分考虑,对于各个层次,层次越低,通用性越强,这样,可以保证应用程序的需求发生改变时,
所做的改动最小。开发视图所用的风格通常是层次结构风格。
3. 进程视图
进程视图侧重于系统的运行特性,主要关 注一些非功能性的需求。
进程视图强调并发性、分布性、系统集成 性和容错能力,以及从逻辑视图中的主要 抽象如何适合进程结构。它也定义逻辑视 图中的各个类的操作具体是在哪一个线程 中被执行的。
设计:进程视图可以描述成多层抽象,每 个级别分别关注不同的方面。在最高层抽 象中,进程结构可以看作是构成一个执行 单元的一组任务。它可看成一系列独立的, 通过逻辑网络相互通信的程序。它们是分 布的,通过总线或局域网、广域网等硬件 资源连接起来。
4. 物理视图
物理视图主要考虑如何把软件映射
到硬件上,它通常要考虑到系统性能、 ACS 系统的物理视图
C 主
C 备份
规模、可靠性等。解决系统拓扑结构、
系统安装、通讯等问题。
当软件运行于不同的节点上时,各视 图中的构件都直接或间接地对应于
F
F

备份
F
F

备份
系统的不同节点上。因此,从软件到
节点的映射要有较高的灵活性,当环
境改变时,对系统其他视图的影响最 K
K
K
K
K
K
K
K
小。
设计:大型系统的物理视图可能会变得十分混乱,因此可以与进程视图的映射一道,以多种形式出现,也
可单独出现。
5. 场景
场景可以看作是那些重要系统活动的抽象, 它使四个视图有机联系起来,从某种意义 上说场景是最重要的需求抽象。在开发体 系结构时,它可以帮助设计者找到体系结 构的构件和它们之间的作用关系。同时, 也可以用场景来分析一个特定的视图,或 本地呼叫场景的一个原型 描述不同视图构件间是如何相互作用的。

6
软件体系结构复习册
场景可以用文本表示,也可以用图形表示。
6. 设计思想:
逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。 对于不同的软件系统来说,侧重的角度也有所不同。例如,对于管理信息系统来说,比较侧重于从逻辑视
图和开发视图来描述系统,而对于实时控制系统来说,则比较注重于从进程视图和物理视图来描述系统。
七 软件体系结构风格定义、含义
1. 定义与含义:
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。 体系结构风格定义了一个系统家族,即定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,
而这组约束指出系统是如何将这些构件和连接件组合起来的。 体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组
织成一个完整的系统。
2. 经 典 的 体系 结 构风 格 (Garlan, Shaw)
数据流风格:批处理序列;管道/过滤器。 调用/返回风格:主程序/子程序;面向对象风格;层次结构。 独立构件风格:进程通讯;事件系统。 虚拟机风格:解释器;基于规则的系统。 仓库风格:数据库系统;超文本系统;黑板系统。
八 几种经典的体系结构风格(管道过滤器、面向对象风格、隐式调用
风 格、仓库风 格、CS、 BS、层次风 格、异构风格 )的组 成、结构、
优缺点、例子
1. 管道/过滤器
含义:每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个 过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。 这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过 滤器的输入。
组成:构件(过滤器)和连接件(管道)

几种经典的体系结构风格(管道过滤器、面向对象风格、隐式调用风格、仓库风格、CS、BS、层次风格、
异构风格)的组成、结构、优缺点、例子
7
管道
结构:
过滤器
优点: 使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;
允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成; 支持软件重用。只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来; 系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉; 允许对一些如吞吐量、死锁等属性的分析; 支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行。 缺点: 通常导致进程成为批处理的结构。 不适合处理交互的应用。 因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性
能下降,并增加了编写过滤器的复杂性。 例子:Unix,DOS 中的重定向: dir | sort(perl 脚本语言)编译器
2. 数据抽象和面向对象组织
含义:这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它们的相应操作封装在一个抽象 数据类型或对象中。这种风格的构件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的 构件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互的。
组成:构件(对象)
对象
对象
对象
抽象数 据类型
对象
对象
结构:
过程调用
优点:
因为对象对其它对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其它的对象;
设计者可将一些数据存取操作的问题分解成一些交互的代理程序的集合。

8
软件体系结构复习册
缺点: 为了使一个对象和另一个对象通过过程调用等进行交互,必须知道对象的标识。只要一个对象的标识改 变了,就必须修改所有其他明确调用它的对象; 必须修改所有显式调用它的其它对象,并消除由此带来的一些副作用。例如,如果 A 使用了对象 B,C 也使用了对象 B,那么,C 对 B 的使用所造成的对 A 的影响可能是料想不到的。
3. 基于事件的隐式调用
含义:构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其它构件中的过程在一个或 多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触 发就导致了另一模块中的过程的调用。这种风格的构件是一些模块,模块既可以是一些过程,又可以是一 些事件的集合。过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过 程被调用。这种风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。这样不能假定构件 的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统也包含显式调用作为构件交互的 补充形式。
组成:构件(一些模块,模块既可以是一些过程,又可以是一些事件的集合) 优点:
为软件重用提供了强大的支持。当需要将一个构件加入现存系统中时,只需将它注册到系统的事件中。 为改进系统带来了方便。当用一个构件代替另一个构件时,不会影响到其它构件的接口。 缺点: 构件放弃了对系统计算的控制。一个构件触发一个事件时,不能确定其它构件是否会响应它。而且即
使它知道事件注册了哪些构件的构成,它也不能保证这些过程被调用的顺序。 数据交换效率的问题。有时数据可被一个事件传递,但另一些情况下,基于事件的系统必须依靠一个共
享的仓库进行交互。在这些情况下,全局性能和资源管理便成了问题。 既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。
4. 分层系统
含义:层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一 些精心挑选的输出函数外,内部的层只对相邻的层可见。这样的系统中构件在一些层实现了虚拟机(在另 一些层次系统中层是部分不透明的)。连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻 层间交互的约束。这种风格支持基于可增加抽象层的设计。允许将一个复杂问题分解成一个增量步骤序列 的实现。由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现, 同样为软件重用提供了强大的支持。
组成:构件,连接件
用户系统 基本工具
核心层
过程调用
结构: 各种构件

几种经典的体系结构风格(管道过滤器、面向对象风格、隐式调用风格、仓库风格、CS、BS、层次风格、
异构风格)的组成、结构、优缺点、例子
9
优点: 支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解; 支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层; 支持重用。只要提供的服务接口定义不变,同一层的不同实现可以交换使用。这样,就可以定义一组标 准的接口,而允许各种不同的实现方法。
缺点: 并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对 系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来; 很难找到一个合适的、正确的层次抽象方法。
5. 仓库系统及知识库
含义:在仓库风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存贮上执行, 仓库与外构件间的相互作用在系统中会有大的变化。控制原则的选取产生两个主要的子类。若输入流中某 类时间触发进程执行的选择,则仓库是一传统型数据库;另一方面,若中央数据结构的当前状态触发进程 执行的选择,则仓库是一黑板系统。
组成:构件(中央数据结构,独立构件)
直接存取
知识源
计算
知识源
黑板 (共享数据)
知识源
结构:
知识源
内存
例子:黑板系统的传统应用是信号处理领域,如语音和模式识别。另一个应用是松耦合代理数据共享存取。
6. C2 风格
含义:通过连接件绑定在一起的按照一组规则运作的并行构件网络。C2 风格中的系统组织规则如下: 系统中的构件和连接件都有一个顶部和一个底部; 构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直 接连接是不允许的; 一个连接件可以和任意数目的其它构件和连接件连接; 当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。
组成:构件、连接件

10
软件体系结构复习册
构件
构件
构件
连接件 连接件
构件 构件
连接件 连接件
连接件
连接件
结构:
构件 构件
特点:
系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;
所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的;
构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共
享特定控制线程之类的相关性假设。
7. C/S
含义:C/S 软件体系结构是基于资源不对等,且为实现共享而提出来的,是 20 世纪 90 年代成熟起来的技术, C/S 体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。 C/S 体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。
组成:数据库服务器、客户应用程序和网络
打印机
PWR OK
W IC 0 AC T/C H0 ACT/CH 1
WIC0 ACT/CH 0 A CT/CH 1
ETH ACT COL
调制解调器
数据库服务器
Power/TX Link/Rx
LPT1
L PT 2
CO M
Print Server
其他公用设备
Internet Intranet
结构: 用户1
用户2
用户3
用户4
用户5
优点:
模型思想简单,易于人们理解和接受。
灵活、易维护与扩充:系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服 务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系
统进行扩充和缩小。
资源可以进行合理配臵:在 C/S 体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于 数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对 一个 DBMS 进行编码。将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费 用。
缺点: 开发成本较高
客户端程序设计复杂

几种经典的体系结构风格(管道过滤器、面向对象风格、隐式调用风格、仓库风格、CS、BS、层次风格、
异构风格)的组成、结构、优缺点、例子
11
用户界面风格不一,使用繁杂,不利于推广使用 软件移植困难 软件维护和升级困难 新技术不能轻易应用 例子:QQ、MSN、飞信、锐捷客户端、HomeShare 网络共享软件。
8. B/S
含义:浏览器/服务器(B/S)风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web 服 务器/数据库服务器。B/S 体系结构主要是利用不断成熟的 WWW 浏览器技术,结合浏览器的多种脚本语言, 用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。从某种程度上 来说,B/S 结构是一种全新的软件体系结构。
组成:浏览器/Web 服务器/数据库服务器
客户端 浏览器
客户端 浏览器
Web服务器
数 据 库 数据库 服 务 器
结构:
优点: 基于 B/S 体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一 个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。 B/S 体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。
缺点: 没有集成有效的数据库处理功能,对数据处理功能不强。 安全性难以控制。 采用 B/S 体系结构的应用系统,在数据查询等响应速度上,要远远地低于 C/S 体系结构。 B/S 体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用
9. 为什么要使用异构风格
不同的结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实 际问题。
关于软件包、框架、通信以及其他一些体系结构上的问题,目前存在多种标准。即使在某段时间内某一种 标准占统治地位,但变动最终是绝对的。
一些遗留下来的代码,它们仍有效用,但是却与新系统有某种程度上的不协调。然而在许多场合,将技术 与经济综合进行考虑时,总是决定不再重写它们。

12
软件体系结构复习册
九 体 系结构 描述 的几种 方法( 图形 表达工 具、模块 互连接 语言 (MIL) 、 基 于软构 件的 系统描 述语言、基于 UML 对体 系结 构进行 建模、软件 体 系结构 描述 语言 (ADL) )的基 本内 容以及 各自优 缺点
1. 图形表达工具
2. 模块互连接语言
基本内容:采用将一种或几种传统程序设计语言的模块连接起来的模块互连接语言。 优点:
由于程序设计语言和模块内连接语言具有严格的语义基础,因此它们能支持对较大的软件单元进行描述, 诸如定义/使用和扇入/扇出等操作。例如,Ada 语言采用 use 实现包的重用,Pascal 语言采用过程(函 数)模块的交互等。
MIL 方式对模块化的程序设计和分段编译等程序设计与开发技术确实发挥了很大的作用。 缺点:但是由于这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,因此限制了它们处理和
描述比程序设计语言元素更为抽象的高层次软件体系结构元素的能力。
3. 基于软构件的系统描述语言
基本内容:基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实 体构造组成的组织或系统。
优点: 可以用来在一个较高的抽象层次上对系统的体系结构建模,Darwin 最初用作设计和构造复杂分布式系统 的配臵说明语言,因具有动态特性,也可用来描述动态体系结构。 一种以构件为单位的软件系统描述方法。
缺点:但是他们所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单 元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件 的系统描述仍然不是十分适合软件体系结构的描述和表达。
4. 基于 UML 对体系结构进行建模
缺点:
UML 缺乏对体系结构下述的元素进和相应的描述与应用能力 体系结构风格 显式的体系结构连接器 体系结构约束
总体来讲:UML 是一种非形式化的描述语言,缺乏严格的语意描述,不能表达体系结构中的语义,不能描 述体系结构的相关模型。
UML2 有所改进。

(!重点)利用 C2、ACME 语言描述方法描述系统(重点!) 13
5. 软 件 体 系结 构 描述 语 言(ADL)
基本内容:ADL 是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。 基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其三个基本元素是: 构件、连接件、体系结构配臵。
优点: (跟其他语言的比较) 构造能力:ADL 能够使用较小的独立体系结构元素来建造大型软件系统; 抽象能力:ADL 使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的 实现细节; 重用能力:ADL 使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可 重用部件; 组合能力:ADL 使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得 ADL 支持软件系统的动态变化组合; 异构能力:ADL 允许多个不同的体系结构描述关联存在; 分析和推理能力:ADL 允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。
缺点: 现有的 ADL 大多是与领域相关的,这不利于对不同领域体系结构的说明。 这些针对于不同领域的 ADL 在某些方面又大同小异,造成了资源的冗余。 有些 ADL 可以实现构件与连接件的演化,但这样的演化能力是有限的,这样的演化大多是通过子类型 实现的。而且,系统级的演化能力才是最终目的。 尽管现有的 ADL 都提供了支持工具集,但将这些 ADL 与工具应用于实际系统开发中的成功范例还有限。 支持工具的可用性与有效性较差,严重地阻碍了这些 ADL 的广泛应用。
十 (!重点 )利 用 C2、ACME 语 言描 述方法 描述系 统(重点 !)
1. C2
概述: C2 和其提供的设计环境(Argo)支持采用基于时间的风格来描述用户界面系统,并支持使用可替换、 可重用的构件开发 GUI 的体系结构。 在 C2 中,连接件负责构件之间消息的传递,而构件维持状态、执行操作并通过两个名字分别为“top” 和“bottom”的端口和其它的构件交换信息。 每个接口包含一种可发送的消息和一组可接收的消息。构件之间的消息要么是请求其它构件执行某个操 作的请求消息,要么是通知其他构件自身执行了某个操作或状态发生改变的通知消息。 构件之间的消息交换不能直接进行,而只能通过连接件来完成。每个构件接口最多只能和一个连接件相 连,而连接件可以和任意数目的构件或连接件相连。 请求消息只能向上层传送而通知消息只能向下层传送。 通知消息的传递只对应于构件内部的操作,而和接收消息的构件的需求无关。 C2 对构件和连接件的实现语言、实现构件的线程控制、构件的部署以及连接件使用的通讯协议等都不 加限制。

14
软件体系结构复习册
C2 对构件接口的描述:
C2 对构件的描述 component_message_interface ::= top_domain_interface bottom_domain_interface
top_domain_interface ::= top_domain is out interface_requests in interface_notifications
bottom_domain_interface ::= bottom_domain is out interface_notifications in interface_requests
interface_requests ::= {request;} | null;
interface_notifications ::= {notification;} | null;
request ::= message_name(request_parameters)
request_parameters ::= [to component_name][parameter_list]
notification ::= message_name[parameter_list]
会议安排系统的 C2 风格

.. Attendee-1 . Attendee-M
(!重点)利用 C2、ACME 语言描述方法描述系统(重点!) 15
Important .. Attendee-1 .
Important Attendee-N
AttConn
Meeting Initiator
MainConn
Important AttConn
C2 对会议安排系统的描述
system MeetingScheduler_1 is
architecture MeetingScheduler with Attendee instance Att_1,Att_2,Att_3; ImportantAttendee instance ImpAtt_1,ImpAtt_2; MeetingInitiator instance MtgInit_1;
end MeetingScheduler_1;
2. ACME
概述 是一种简单的、通用的体系结构描述语言,提从了一种在不同的体系结构的实例之间的变换机制。 四个不同方面进行描述软件体系结构:结构、属性、约束、类型与风格。 七个描述类型的核心实体:系统,组件,连接器,端口,角色,展现(representations),展现映射 rep-maps (representation map 的简写)
ACME 的属性,约束
属性: ACME 利用属性对体系结构进行说明,可用来记录设计的细节 每个属性有名字,类型和值
约束: 一种特殊的属性,
基于一阶谓词 有 invariant(不变式)与 heruistic(启发式)两种形式 ACME 程序:
System simple_cs = { Component client = { Port send-request; Property Aesop-style : style-id = client-server; Property UniCon-style : style-id = client-server; Property source-code : external = "CODE-LIB/client.c"; } Component server = { Port receive-request; Property idempotence : boolean = true; Property max-concurrent-clients : integer = 1;

16
软件体系结构复习册
source-code : external = "CODE-LIB/server.c"; } Connector rpc = {
Role caller; Role callee; Property asynchronous : boolean = true; max-roles : integer = 2; protocol : Wright = " ... "; } Attachment client.send-request to rpc.caller; Attachment server.receive-request to rpc.callee; }
ACME 类型与风格 属性的类型 结构类型:结构元素的类型 系统风格:在 ACME 中称为 family,通过所含有的元素,它们之间的约束,它们之间的默认结构来定义。 而对于满足某种风格的具体的系统,它应满足风格的一些约定。
十一 设 计模式 定义、作用、利用 设计模 式设 计方法
软件设计模式定义: 对通用设计问题的重复解决方案 对真实世界问题的实践的/具体的解决方案 面向特定的问题环境 权衡利弊之后得到的“最佳”解决方案 领域专家和设计老手的“杀手锏” 用文档的方式记录的最佳实践 在讨论问题的解决方案时,一种可交流的词汇 在使用(重用)、共享、构造软件系统中,一种有效地使用已有的智慧/经验/专家技术的方式
设计模式的作用:利用设计模式可方便地重用成功的设计和结构。把已经证实的技术表示为设计模式,使 他们更加容易被新系统的开发者所接受。设计模式帮助设计师选择可使系统重用的设计方案,避免选择危 害到可重用性的方案。设计模式还提供了类和对象接口的明确的说明书和这些接口的潜在意义,来改进现 有系统的记录和维护。
十二 (!重点 )几 种常见 模式 (如 组合模 式、适配器模 式、工厂方 法模式 )
的 基本使 用场 景与设 计方法 (重 点 !)
1. 组 合 模 式(Composite Pattern):
意图:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite 使得用户对单个对象和组合对象的 使用具有一致性。

(!重点)几种常见模式(如组合模式、适配器模式、工厂方法模式)的基本使用场景与设计方法(重点!) 17
例如,算术表达式能够用树结构来表示,其中操作数可以是一个数字或者一个算术表达式。如果我们把单 个对象(数字),和单个对象的组合(子数学表达式)同等地对待,这个算术表达式就是一个 Composite 模式的 例子。
结构:
应用例子:

18
软件体系结构复习册
2. Adapter(适配器)
意图:将一个类的接口转换成用户希望的另一个接口。使得原来由于接口不兼容而不能在一起工作的那些 类可以在一起工作。
例如,一个 1/2 英寸的防倒转齿轮不可能和一个 1/4 英寸的插槽配合工作。使用 Adapter 模式,阴口和 1/2 英寸的防倒转齿轮接合,阳口和 1/4 英寸的插槽接合。这样两个部件就能够顺利工作。
Client
Target +Request()
Adaptee + SpecificReq uest( )
adaptee
Adapter + Req uest( )
adaptee- > SpecificReq uest( )
3. Factory Method(工厂方法,虚构造器)
意图:定义一个创建对象的接口,让子类决定实例化哪个类。 Factory Method 使一个类的实例化延迟到其 子类。
例如,在铸造成型的过程中,制造者首先将塑料加工成可成型的粉末,然后将塑料粉末注入到需要的模具 中。在 Factory Method 模式中,子类 (在这里就是指模具)来决定需要实例化那个类。在这个例子中, ToyHorseMold 类就是被实例化的类。
4. Abstract Factory( 抽 象工 厂 )
意图:提供一个创建一系列相关或者相互依赖对象的接口,不要指定它们的具体类。

动态体系结构含义 19
例如, 在汽车制造中,金属片冲压设备是 Abstract Factory 模式的一个例子,它用来制造汽车的部件。用滚 筒(rollers)来改变模具(dies),就可以改变这样的具体对象(模具的加工品)。这些具体的对象包括:引擎罩、 车的中轴、车顶、左右的前端挡板等。汽车的主控部分要确保所有这些具体的对象都是兼容的。
5. 抽象工厂模式与工厂模式的区别:
抽象工厂模式比工厂模式更复杂,更灵活,一个抽象工厂模式或以先创建出多个具体的工厂,这些具体的 工厂再创建出具体的产品。
工厂要生产食用油 工厂模式:只生产大豆油,产品单一; 抽象工厂模式:除了大豆油,还生产色拉油,花生油,调和油......
抽象工厂模式关键在于工厂类是多层次的,有父工厂类和子工厂类,父工厂类可以产生子工厂类,再由子 工厂类生产出产品,这样产品也可以是由复杂关系的,也可以说多种的。
工厂方法模式,将的是由一个方法,可以产生不同的但是同类的(或者同接口的)产品。工厂方法模式就 能满足一般的需要。复杂情况下才用抽象工厂模式。
工厂方法采用的是类继承机制(生成一个子类,重写该工厂方法,在该方法中生产一个对象)。而抽象工 厂采用的是对象组合机制,专门定义“工厂”对象来负责对象的创建。对象组合的方式就是把“工厂”对 象作为参数传递。
工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。抽象工厂模式:多个抽象产品类,每个抽 象产品类可以派生出多个具体产品类。工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽 象工厂模式可以创建多个
十三 动 态体系 结构 含义
1. 软件体系结构动态性
演化:由于系统需求、技术、环境、等因素而导致的软件体系结构的变化。 动态:软件系统在运行时的体系结构的变化为体系结构的动态性。 静态:体系结构静态的修改,又可称为体系结构扩展
十四 ABSDM

20
软件体系结构复习册
十五 软 件体系 结构 测试
十六 软 件体系 结构 评估三 种方法 及比较
0. 性能 可靠性 可用性 安全性 可修改性 功能性 可变性 集成性 互操作性 1. 基于调查问卷或检查表的评估方式 2. 基于场景的评估方式 3. 基于度量的评估方式
比较:
十七 产 品线定 义( SEI),产 品线 过程模 型
1. 基本概念
CMU/SEI 的定义:“产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满 足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基 础上开发的。”
2. 软件产品线的过程模型

eclipse软件体系结构论文

基于OSGi的Eclipse插件体系结构的研究 马晟,张渊,刘德钢 (清华大学,软件学院,北京 100084) 摘要: Eclipse是一个开放源代码的是基于插件机制开发的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。Eclipse 3.0选择OSGi服务平台规范为运行时架构。本文以研究Eclipse体系结构为目的背景,介绍了插件技术原理,阐述了OSGi规范,分析了Eclipse的插件体系结构,并对基于OSGi和Eclipse RCP对Eclipse的插件扩展开发进行了研究。最后我们对比介绍了Firefox的插件机制。研究表明Eclipse平台的体系结构是一个成熟的、精心设计的并且可以很容易扩展的体系结构。 关键词:OSGi,Eclipse,插件,体系结构 Abstract: Eclipse is an open source software development project based on the plug in developing mechanism. It concentrates on supporting a full featured commercial industry platform to build highly integrated tools. Eclipse 3.0 uses OSGi Service Platform Standard as the run time architecture. After learning the architecture of Eclipse, this paper instructs the plug in technology theory, shows the OSGi standard, analysis the architecture of Eclipse based on plug-in mechanism and makes a study on the development of Eclipse plug-ins based on OSGi or RCP. Finally, we introduce the plug-in mechanism of Firefox according to the comparison. The Study presents that the architecture of Eclipse platform is a mature, well designed architecture that is easily extended. Key words:OSGi,Eclipse,Plug in,Architecture

软件工程期末复习题参考答案

软件工程期末复习题 选择题 1.软件设计中划分模块的一个准则是(C)。 A低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.(A)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3.试判断下列叙述中,哪个些是正确的(C)。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D) A、PASCAL B、VISUAL BASIC C、C++

D、汇编语言 6.软件测试的目的是?(D) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.软件维护工作的最主要部分是(C)。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL是(B)语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 11.在数据流图中,○(椭圆)代表(B) A、数据流 B、转换 C、数据源 D、外部实体

软件体系结构期末考试

北京工业大学2014 - 2015学年 第二学期模拟试题 考试课程:软件体系结构I 考试日期:2015年5 月20日 学院:软件学院专业:软件工程 学号:姓名:成绩: 一填空题(共30 空,每空 1 分) 1. 软件或程序是由软件工程人员设计与开发,使计算设备发挥计算潜能,________ 的逻辑层次组织。 2. 软件体系结构(Software Architecture)-- 是软件产品设计的思想和系统的蓝图;是 对软件产品_______的规划和_______的设置;是定义软件系统组件(Components)或构建块(Building Blocks)的重要工具;用于 -- 实现对一个软件系统的构成进行_________的划分 -- 所形成和采用的工程化规范,是指导软件后续过程方方面面组成的模型。 3.软件开发中的面临若干问题:1)软件固有的复杂性;2)软件开发的随意性;3)周期 长,代价高,质量低的问题;软件体系结构设计是软件产品及大型信息系统工程实现中最重要的环节和关键技术之一,解决从软件的__________到系统实现(代码)的有效和平坦过渡。 4.软件产品的工业化生产:是指建立流水线型的软件产品生产线,是指按_____、标准 化的规范和规则(软件生产规范)来编写和实现各种各样的适应于多环境的软件___,通过软件体系结构来确定各个软件组件如何部署到开发架构模式中,组装成达到期望的软件产品。 5.体系结构设计方法的发展中,软件程序开发经历了如下的阶段 -- 功能分解法 (计算任务) -- 结构化程序设计 (以数据为中心) -- _________________ -- _________________ -- 基于 SOA 的程序设计 (以服务为中心)。 6. 一个现代软件产品生产过程如下图表示,请在带___________的方框中,填上相应的组 件名称

软件体系结构总结

第一章:1、软件体系结构的定义 国内普遍看法: 体系结构=构件+连接件+约束 2、软件体系结构涉及哪几种结构: 1、模块结构(Module) 系统如何被构造为一组代码或数据单元的决策 2、构件和连接件结构(Component-And-Connector,C&C) 系统如何被设计为一组具有运行时行为(构件)和交互(连接件)的元素 3、分配结构(Allocation) 展示如何将来自于模块结构或C&C结构的单元映射到非软件结构(硬件、开发组和文件系统) 3、视图视点模型 视点(View point) ISO/IEC 42010:2007 (IEEE-Std-1471-2000)中规定:视点是一个有关单个视图的规格说明。 视图是基于某一视点对整个系统的一种表达。一个视图可由一个或多个架构模型组成 架构模型 架构意义上的图及其文字描述(如软件架构结构图) 视图模型 一个视图是关于整个系统某一方面的表达,一个视图模型则是指一组用来构建 4、软件体系结构核心原模型 1、构件是具有某种功能的可复用的软件结构单元,表示了系统中主要的计算元素和数据存储。 2.连接件(Connector):表示构件之间的交互并实现构件

之间的连接 特性:1)方向性2)角色3)激发性4)响应特征 第二章 1、软件功能需求、质量属性需求、约束分别对软件架构产生的影响 功能性需求:系统必须实现的功能,以及系统在运行时接收外部激励时所做出的行为或响应。 质量属性需求:这些需求对功能或整个产品的质量描述。 约束:一种零度自由的设计决策,如使用特定的编程语言。 质量原意是指好的程度,与目标吻合的程度,在软件工程领域,目标自然就是需求。 对任何系统而言,能按照功能需求正确执行应是对其最基本的要求。 正确性是指软件按照需求正确执行任务的能力,这无疑是第一重要的软件质量属性。质量属性的优劣程度反映了设计是否成功以及软件系统的整体质量。 系统或软件架构的相关视图的集合,这样一组从不同视角表达系统的视图组合在一起构成对系统比较完整的表达

软件体系结构期末考试资料

软件体系结构期末 考试资料

填空题: 1.构件是指语义完整,语法正确和有可重用价值的单位软件是软件重用过程中能够明确便是的系统;结构上它是予以描述,通讯接口和实现代码的复合体. 2.构件获取渠道(1)直接使用作适应性修改(2)经过遗留工程(3)市场上购买(4)开发新的构件 3.构件分类与组织:关键字分类法,刻面分类法,超文本组织方法 4.基于数据的组装技术:这种组装技术也要求库中构件以子程序形式出现 5.软件体系结构建模种类:结构模型,框架模型,动态模型,过程模型,功能模型 6.体系结构风格定义了一个系统家族即定义了一个词汇表和一组约束 7.有两种不同构件:中央数据结构说明当前状态,仓库是一黑板系统 8.C/S体系结构有三个主要组成部分:数据库服务器,客户应用程序,网络 9.ADL的基本元素:构件,连接件,体系结构配置 10.软件体系结构描述方法:图像表示工具,模块内连接语言,基于软构件的系统描述语言,软件体系结构描述语言 11.Web服务:数据层,数据访问层,业务层,业务面,监听者 12.简单对象访问协议:SOAP信封,SOAP编码规则,SOAP RPC表示,SOAP绑定

13.Web服务特点:使用标准规范协议;使用协议的规范性;高度集成能力;完好的封装;松散耦合 选择题: 1构件模型的三个主要流派OMG,Sun的EJB,Microsoft的DCOM 2.构件管理:构件描述,构件分类与组织,人员及权限管理 3.构件重用:检索与提取构件,理解与评价构件,修改构件,构件组装 4.软件体系结构的发展史:无体系结构设计阶段,萌芽阶段,初期阶段,高级阶段 5.分层系统优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用 6.黑板系统的构成:知识源,黑板数据结构,控制 7.面向对象系统优点:改变一个对象的表示不影响其它对象;分解成一些交互的代理程序集合 8.W3C是万维网联盟 9.Web服务作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制 10.Web服务就像Web上的构件编程,开发人员经过调用Web应用编程接口,将Web服务集成进她们的应用程序就像调用本地服务一样 11.Web服务开发生命周期:构件,部署,运行,管理 12.Web服务栈:程序设计语言 【程序构件(组成程序的基本元素及其取值或值域范围);操作符(连

软件体系结构期末复习题概述

《软件体系结构》期末复习题 简答题: 1、软件体系结构建模的种类有: 结构模型、框架模型、动态模型、过程模型、功能模型。 2、“4+1”视图模型从5个不同的视角包括: 逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 3、构件:是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。 连接件:表示构件之间的交互。 配置:表示构件和连接件的拓扑逻辑和约束。 端口:表示构件和外部环境的交互点。 角色:定义了该连接交互的参与者。 4、画出“4+1”视图模型图,分析各部分的原理和功能。 5、软件体系结构风格: 是描述某一特定应用领域中系统组织方式的惯用模式。 6、软件体系结构 (Software Architecture) 软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。软件体系结构由组件、连接件和属性组成。 7、分层系统的优点有: 1)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解; 2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层; 3)支持重用。只要提供的服务接口定义不变,同一层的不同实现可以交换使用。这样,就可

以定义一组标准的接口,而允许各种不同的实现方法。 8、分层系统的缺点有: 1)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来; 2)很难找到一个合适的、正确的层次抽象方法。 9、 B/S体系结构的优点有什么? 答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。 2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。 10、B/S体系结构的缺点有什么? 答:1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。 2)B/S体系结构的系统扩展能力差,安全性难以控制。 3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。 4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。 11、DSSA 答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构 11、软件体系结构的动态性主要分为: 交互式动态性、结构化动态性、体系结构动态性等三类。 12、请画出基于构件的动态系统结构模型画。 13、软件产品线 产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的 14、SOA 即service-oriented architecture,面向服务架构。它是一个组件模型,它 将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接 口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于 实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的 系统中的服务可以以一种统一和通用的方式进行交互。 14、RIA

软件体系结构期末大题

软件体系结构-期末大题

————————————————————————————————作者:————————————————————————————————日期: ?

1.基于构件的软件开发的优势是什么? 基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。 Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。

3.在希赛公司的一个财务管理系统,财务部要客户提供………… 4.不同的体系结构风格具有各自的特点、优劣和用途。试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。P52-56 (1)管道和过滤器 特点: @使得软构件具有良好的隐蔽性和高内聚、低耦合的特点; @允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;

@支持软件重用。只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来; @系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉; @允许对一些如吞吐量、死锁等属性的分析; @支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行?缺点:①通常导致进程成为批处理的结构。 ②不适合处理交互的应用。 ③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。 (2)

软件体系结构最新总结

1.软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 2.软件危机的表现:(重点) 1软件的成本日益增长 2开发进度难以控制 3软件质量差,4软件维护困难 3.软件危机的成因: 1用户需求不明确 2缺乏正确的理论指导 3软件规模越来越大 4软件复杂度越来越高 4.软件工程三个要素:方法、工具和过程 ---(重点) 5.软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。 6.软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识 7.构件:指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨 识的系统。即是具有一定功能,能够独立工作或能同其他构件装配起来协调工作的程序体。 8.构件分类方法归纳为三大类:关键字分类法,刻面分类法和超文本组织方法 ---(重点) 9.构件库系统是一个开放的公共构件共享机制,任何使用者都可以通过网络访问构件库。--- 判断 10.软件体系结构(software architecture --SA)记住英语单词及缩写----(重点) 定义:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。11.软件体系结构的意义:---(简答) 1)体系结构是风险承担者进行交流的手段; 2)体系结构是早期设计决策的体现; 3)体系结构是可传递和可重用的模型 12.为什么体系结构是早期设计决策的体现---(简答) 1)软件体系结构明确了对系统实现的约束条件; 2)软件体系结构决定了开发和维护组织的组织结构; 3)软件体系结构制约着系统的质量属性; 4)软件体系结构通过研究软件体系结构可能预测软件的质量; 5)软件体系结构使推理和控制更改更加简单; 6)软件体系结构有助于循序渐进的原型设计; 7)软件体系结构可以作为培训的基础 13.软件体系结构技术的发展过程经历四个阶段:--选择,判断 (1)“无体系结构”设计阶段----以汇编语言进行小规模应用程序开发为特征。 (2)萌芽阶段-----以控制流图和数据流图构成软件结构为特征 (3)初期阶段-----出现了从不同侧面描述系统的结构模型,以UML为典型代表 (4)高级阶段-----描述系统的高层抽象结构,以提出的“4+1”模型为标志 14.软件体系结构模型5种:结构模型、框架模型、动态模型、过程模型和功能模型。---- 填空 15.“4+1”视图模型从五个不同的视角,包括逻辑试图,进程试图,物理视图,开发视图和 场景视图来描述软件体系结构。 -----记住名称及相应的功能 逻辑视图主要支持系统的功能需求,是系统提供给最终用户的服务。通过抽象,封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图; 开发视图也称模块视图,主要侧重于软件模块的组织和管理,主要考虑软件内部的需求,如软件开发的容易性、软件的重用等,通过系统输入输出关系的模型图和子系统图来描述,提供给编程人员的; 进程视图侧重于系统的运行特性,主要关注非功能性的需求,如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力管道和过滤器风格、客户/服务器风格等适合进程视图,提供给系统集成人员的; 物理视图主要考虑如何把软件映射到硬件上,它通常考虑系统性能、规模、可靠性等,解决

软件设计与体系结构论文

《软件设计与体系结构》 非卷面试题 设计题目快餐店多功能点餐系统院系电子与信息工程学院 专业计算机科学与技术 学生姓名 学生学号 任课教师倪启东

快餐店多功能点餐系统 摘要 随着计算机软件行业的发展和互联网的普及,软件进入到人们生活的各个行业之中。在这个软件爆炸的时代,软件系统有一个好的设计与结构显得尤为重要。通过快餐店多功能点餐系统的设计,将软件体系结构与设计的所学的知识,运用到实际系统中,是对知识、技术的巩固,也是能力的提升。 本系统主要运用增量模型,随着知识的学习同步进行系统的开发。主要采用了策略模式、观察者模式、装饰者模式、工厂模式、单例模式。同时,伴随着设计原则的思想,使得系统更加稳定而高效。 关键词点餐系统;体系结构;设计模式;java

目录 第1章绪论 (1) 1.1引言 (1) 1.2系统开发目标 (1) 1.3开发环境 (1) 第2章需求分析 (3) 2.1项目概述 (3) 2.2功能需求 (3) 2.2.1用户需求 (3) 2.2.2系统需求 (3) 2.3非功能需求 (3) 2.3.1产品需求 (3) 2.3.2 外部需求 (4) 2.4业务需求 (4) 2.4.1业务要求 (4) 2.4.2客户与用户 (4) 2.4.3特性 (4) 第3章结构设计 (5) 3.1整体设计 (5) 3.1.1普通用户活动图 (5) 3.1.2会员活动图 (6) 3.1.3管理员活动图 (7) 3.2详细设计 (7) 3.2.1模块划分 (7) 3.2.2简单业务流程设计 (8) 第4章设计模式 (9) 4.1工厂模式 (9) 4.1.1模式说明 (9) 4.1.2模式类图 (9)

计算机体系结构期末考试试题及答案

填空题 1.从2002年以来,计算机性能的年增长率下降到了约30%。其主要原因是:①大功耗问题;②可以进一 步有效地开发的指令级并行性已经很少;③存储器访问速度的提高缓慢。 2. 可移植性是指一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。实现可移植性的常用方法有3种:系列机,模拟和仿真,统一高级语言。 2.通用寄存器型指令集结构计算机在灵活性和提高性能方面有明显的优势。主要体现在①寄存器的访问 速度比存储器快;②对编译器而言,能更加容易有效地分配和使用寄存器;③寄存器可以用来存放变量。 3.MIPS的数据寻址方式只有立即数寻址和偏移量寻址。 4.向量处理机的结构由所采用的向量处理方式决定。有两种典型的结构;存储器-存储器型结构和寄存器- 寄存器型结构。 5.Cache-主存层次的工作由硬件实现,对系统程序员是透明的。 6.降低Cache不命中率最直接的方法是增加Cache的容量。不过,这种方法不但会增加成本,而且还可 能增加命中时间,这种方法在片外Cache中用得比较多。 7.大多数磁盘阵列的组成可以由以下两个特征来区分:数据交叉存放的粒度、冗余数据的计算方法以及在 磁盘阵列中的存放方式。 8.时延和带宽是用来评估互连网络性能的两个基本指标。时延包括通信时延和网络时延。 9.计算机系统可分为SISD、SIMD、MISD和MIMD四类,许多早期并行处理机是SIMD计算机,近年 来,MIMD已经成为通用多处理机系统结构的选择。这是因为MIMD具有灵活性,并且MIMD能充分利用现有微处理器的性价比优势。 判断题 1.从计算机语言的角度,系统结构把计算机系统按功能划分成多级层次结构,其中,第2级是操作系统虚 拟机,第3级是汇编语言虚拟机。(错)

软件设计与体系结构期末复习整理解读

1面向对象编程中是如何体现封装性的? 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。 2重载和重写的含义 重载是发生在一个类中,方法名相同,参数不同 重写(覆盖)是子类继承父类,子类可以通过重写的方法隐藏继承的方法 3 什么是接口回调,过程细节是什么? 概念:把可以实现某一接口的类创建的对象的引用赋给该接口声明接口变量,那么该接口变量可以调用被类实现(重写)的接口方法。 4试举例说明什么是组合关系和依赖关系 组合(关联)关系:A类中成员变量是用B类声明的对象。公司--职员 依赖关系:A类中某个方法的参数是用B类声明的对象,或某个方法返回的数据类型是B类的对象 5抽象类和接口,区别是什么?如何应用 抽象类:抽象类中有抽象方法;抽象类中不能用new运算符创建对象;抽象类的对象做商转型对象 接口:(1)接口中只可以有public权限的抽象方法,不能有非抽象方法; (2)接口由类去实现,即一个类如果实现一个接口,那么他必须重写接口中的抽象方法 (3)接口回调 区别:接口中只有常量,不能有变量;抽象类中既可以有常量也可以有变量; 抽象类中也可以有非抽象方法,接口不可以。 应用:定义抽象方法:public abstract void 方法名(); 在子类实现抽象方法:public void 方法名(){} 接口:public interface 接口名{}接口只负责定义规则,不负责任何实现;实现交给实现接口的类 (6)面向对象的六条基本原则包括: 开闭原则,里式代换原则,单一职责,依赖倒转、迪米特法则(接口隔离)。 (7)什么是设计模式? 设计模式是从许多优秀的软件系统中总结出的成功的可复用的设计方案。是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 (8)什么是框架?框架与模式的区别有哪些? 框架是针对某个领域,提供用于开发应用系统的类的集合。 区别:层次不同、范围不同、相互关系

软件体系结构期末大题

软件体系结构期末 大题

1.基于构件的软件开发的优势是什么? 基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用 2.尝试用自己的语言介绍Kruchten的“4+1”模型。 Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。

3.在希赛公司的一个财务管理系统,财务部要客户提供………… 4.不同的体系结构风格具有各自的特点、优劣和用途。试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。P52-56 (1)管道和过滤器 特点: @使得软构件具有良好的隐蔽性和高内聚、低耦合的特点; @允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;

@支持软件重用。只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来; @系统维护和增强系统性能简单。新的过滤器能够添加到现有系统中来;旧的能够被改进的过滤器替换掉; @允许对一些如吞吐量、死锁等属性的分析; @支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行 缺点:①一般导致进程成为批处理的结构。 ②不适合处理交互的应用。 ③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

软件体系结构论文

软件体系结构 论文 年级院系: 专业班级: 姓名: 学号: 指导老师:

2014年12月28日

目录: 一、软件体系结构概论 (1) 二、体系结构风格 (3) 三、UML语言 (5) 四、XML语言 (8) 五、动态软件体系结构 (10) 六、基于体系结构的软件开发 (12) 七、软件体系结构的评估 (12) 八、软件产品线体系结构 (12) 九、软件体系结构的发展方向 (13) 十、参考书籍 (14)

软件体系结构概论: 软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。 1、软件体系结构的定义: 虽然软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止还没有一个 被大家所公认的定义。许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画,较为典型的定义有: (1)软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等 (2)软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。 (3)软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。 (4)一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。其中,"软件外部的可见特性"是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。 2、软件体系结构的发展历史:

软件体系结构期末考试试题

软件体系结构-设计模式练习题1 1.面向对象分析与设计中的(1)是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(2)是指子类应当可以替换父类并出现在父类能够出现的任何地方。 (1) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则 (2) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则 2.(3)限制了创建类的实例数量,而(4)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 (3) A.命令模式(Command)B.适配器模式(Adapter)C.策略模式(Strategy) D.单例模式(Singleton) (4) A.命令模式(Command) B.适配器模式(Adapter) C.策略模式(Strategy) D.单例模式(Singleton) 3. (5)设计模式允许一个对象在其内部状态改变时改变它的行为。下图为这种设计模式的类图,已知类State 为抽象类,则类(6)的实例代表了Context 对象的状态。 (5) A.单件(Singleton) B.桥接(Bridge) C.组合(Composite) D.状态(State) (6) A. Context B. ConcreteStateA C. Handle D. State

4.某公司欲开发一门户网站,将公司的各个分公司及办事处信息进行整合。现决定采用Composite设计模式来实现公司的组织结构关系,并设计了如下图所示的UML类图。图中与Composite模式中的“Component”角色相对应的类是(7) ,与“Composite”角色相对应的类是(8) 。 (7) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany (8) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany 5.某软件公司正在设计一个通用的嵌入式数据处理平台,需要支持多种数据处理芯片之间的数据传递与交换。该平台的核心功能之一要求能够屏蔽芯片之间的数据交互,使其耦合松散,并且可以独立改变芯片之间的交互过程。针对上述需求,采用(9)最为合适。 (9) A. 抽象工厂模式 B. 策略模式 C. 中介者模式D. 状态模式 6.某软件公司正在设计一个图像处理软件,该软件需要支持用户在图像处理中的撤销和重做等动作,为了实现该功能,采用(10)最为合适。 (10) A. 单例模式B. 命令模式 C. 访问者模式 D. 适配器模式 7.某互联网公司正在设计一套网络聊天系统,为了限制用户在使用该系统时发表不恰当言论,需要对聊天内容进行特定敏感词的过滤。针对上述功能需求,采用(11)能够灵活配置敏感 词的过滤过程。 (11) A. 责任链模式 B. 工厂模式 C. 组合模式 D. 装饰模式

软件体系结构综述

软件体系结构研究综述 班级:软件092 学号:17 姓名:陈世华摘要: 近年来,软件体系结构逐渐成为软件工程领域的研究热点以及大型软件系统与软件产品线开发中的关键技术之一.归纳了软件体系结构技术发展过程及其主要研究方向.在分析了典型的软件体系结构概念之后,给出了软件体系结构的定义.通过总结软件体系结构领域的若干研究活动,提出了软件体系结构研究的两大思路,并从7个方面介绍了软件体系结构研究进展.探讨了软件体系结构研究中的不足之处,并分析其原因.作为总结,给出了软件体系结构领域最有前途的发展趋势. 关键词: 软件体系结构;基于体系结构的软件开发;软件体系结构描述语言;软件体系结构描述方法;软件体系结构演化;软件体系结构发现;软件体系结构分析;软件体系结构验证;特定域软件体系结构(DSSA) Abstract: Software architecture (SA) is emerging as one of the primary research areas in software engineering recently and one of the key technologies to the development of large-scale software-intensive system and software product line system. The history and the major direction of SA are summarized, and the concept of SA is brought up based on analyzing and comparing the several classical definitions about SA. Based on summing up the activities about SA, two categories of study about SA are extracted out, and the advancements of researches on SA are subsequently introduced from seven aspects. Additionally, some disadvantages of study on SA are discussed, and the causes are explained at the same time. Finally, it is concluded with some significantly promising tendency about research on SA. Key words: software architecture; architecture-based development; architecture description language; architectural representation and description; architectural evolution and reuse; architectural discovery; architectural analysis; architectural verification and evaluation; domain-specific software architecture (DSSA)

软件体系结构论文

某学校教学管理 一、需求分析 1、背景概述 某学校教学管理一直采用手工管理方式。该校教学管理人员的主要工作内容包括教师 档案管理、教师授课管理、学生档案管理和学生选课管理等几项。 教学管理手工处理流程是这样的,管理人员对新调入的教师登记教师档案,对新入学 的学生登记学生档案。每个学期考试结束后登记学生成绩。每个学期末,学生根据系里提 供的下一学期所开课程选课,教师接受下一学期教学任务,并将选课结果和分配的教学任 务等信息登记保存。 由于手工管理方式落后,处理数据能力有限,工作效率低,不能及时为领导和教师提 供所需信息,各种数据得不到充分利用,造成数据的极大浪费。为解决这些问题,校方希 望实现教学管理自动化,用计算机处理来代替手工管理。 2、系统分析 教学管理系统应具有以下功能: 教师档案管理:完成对教师档案信息的管理 教师授课管理:完成对教师授课信息的管理 学生档案管理:完成对学生档案信息的管理 学生成绩管理:完成对学生成绩信息的管理 学生选课管理:完成对学生选课信息的管理 二、系统设计 1、数据库设计 教师档案表:教师编号,姓名,性别,工作时间,政治面貌,学历,职称,系别,联系电 话 教师授课情况表:课程编号,教师姓名,姓名,班级编号,学年,学期,学时,授课地点,授课时间 学生档案表:学号,姓名,性别,出生日期,政治面貌,班级编号,毕业学校 学生成绩表:学号,姓名,学年,学期,课程编号,成绩 学生选课情况表:学号,姓名,班级编号,课程名,课程类别,学分,成绩 2、模块设计图

①教师档案管理 实现教师档案信息的登录(输入指定用户名、密码登入)。如果有分配或调入本单位的新职工,则为其建立档案并将其基本信息(教师编号,姓名,性别,工作时间,政治面貌,学历,职称,系别,联系电话)输入到计算机中;反之,如果有从本单位离职或调走的职工,则将其档案和基本信息调出本系统,删除该职工在本校记录;另外,如果档案资料需修改时也可修改成功。同时,该模块提供对教师档案信息的统计、查询和浏览功能。 ②教师授课管理 实现教师授课信息的登录(输入指定用户名、密码登入),该模块还提供对教师授课信息(课程编号,教师姓名,姓名,班级编号,学年,学期,学时,授课地点,授课时间)的统计、查询和浏览功能。 ③学生档案管理 实现对学生档案信息的登录(输入指定用户名、密码登入),可将新入学学生的基本信息(学号,姓名,性别,出生日期,政治面貌,班级编号,毕业学校)输入到计算机中。另外,该模块提供对学生档案信息的统计、查询和浏览功能。 ④学生成绩管理 实现对学生成绩信息的登录(输入指定用户名、密码登入),并且该模块提供对学生成绩信息(学号,姓名,学年,学期,课程编号,成绩)的统计、查询和浏览功能。 ⑤学生选课管理

软件体系结构期末复习题

软件体系结构期末 复习题

《软件体系结构》期末复习题 简答题: 1、软件体系结构建模的种类有: 结构模型、框架模型、动态模型、过程模型、功能模型。 2、“4+1”视图模型从5个不同的视角包括: 逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。 3、构件:是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。 连接件:表示构件之间的交互。 配置:表示构件和连接件的拓扑逻辑和约束。 端口:表示构件和外部环境的交互点。 角色:定义了该连接交互的参与者。 4、画出“4+1”视图模型图,分析各部分的原理和功能。 5、软件体系结构风格: 是描述某一特定应用领域中系统组织方式的惯用模式。

6、软件体系结构 (Software Architecture) 软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。软件体系结构由组件、连接件和属性组成。 7、分层系统的优点有: 1)支持基于抽象程度递增的系统设计,使设计者能够把一个复杂系统按递增的步骤进行分解; 2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层; 3)支持重用。只要提供的服务接口定义不变,同一层的不同实现能够交换使用。这样,就能够定义一组标准的接口,而允许各种不同的实现方法。 8、分层系统的缺点有: 1)并不是每个系统都能够很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来; 2)很难找到一个合适的、正确的层次抽象方法。 9、 B/S体系结构的优点有什么? 答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。

软件架构总结

总结 本学期课程已上一半,在这半个学期内对所学前五章的知识进行系统的分析和归纳,总结如下。 第1章:软件体系结构概论 1.什么是软件危机,软件危机的具体表现有哪些? (1)软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。 (2)软件危机的表现:软件成本日益增长,开发进度难以控制,软件质量差,软件维护困难。 2.产生软件危机的原因,如何克服软件危机? (1)产生软件危机的原因有:用户需求不明确,缺乏正确的理论指导,软件规模越来越大,软件复杂度越来越高。 (2)如何克服软件危机:人们面临的不光是技术问题,更重要的是管理问题。要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与生产技术。在技术上,应该采用基于重用的软件生产技术;在管理上,应该采用多维的工程管理模式。 3.构件:(components,也译为组件,部件): 是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。 4.软件体系结构的定义: 软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述,这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。 5.软件体系结构的意义 体系结构是风险承担者进行交流的手段,体系结构是早期设计决策的体现,它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。同时,软件体系结构是可传递和可重用的模型。 6.软件体系结构的应用现状 1. 目前,软件体系结构领域研究非常活跃,归纳现有体系结构的研究活动,主要包括以下几个方面: (1)软件体系结构描述语言(2)体系结构构造与表示(3)体系结构分析、设计与验证(4)体系结构发现、演化与重用(5)基于体系结构的软件开发方法(6)特定领域的体系结构框架(7)软件体系结构支持工具(8)软件产品线体系结构(9)建立评价软件体系结构的方法。 2.架构分析、设计与验证,发现、演化与重用 架构分析的内容可分为结构分析、功能分析和非功能分析。生成一个满足软件需求的架构的过程即为架构设计。架构设计过程的本质在于将系统分解成相应的组成成分,并将这些成分重新组装成一个系统。架构设计有两大类方法:过程驱动方法和问题列表驱动方法。架构测试着重于仿真系统模型,解决架构层的主要问题。由于测试的抽象层次不同,架构测试策略可以分为单元/子系统/集成/验收测试等阶段的测试策略。架构发现从既存系统中提取软件的架构,属逆向工程。 架构重用属于设计重用,比代码重用更抽象。由于软件架构是系统的高层抽象,反映了系统的主要组成元素及其交互关系,因而较算法更稳定,更适合于重用。 软件架构演化是指由于系统需求、技术、环境、分布等因素的变化而导致软件架构的变动。软件系统在运行时的架构变化称为架构的动态性,而将架构的静态修改称为架构扩展。两者都是架构适应性和演化性的研究范畴。 第2章软件体系结构建模。 1.软件体系结构建模的种类

相关主题
文本预览
相关文档 最新文档