软件体系结构作业 完整版 联系客服

发布时间 : 星期三 文章软件体系结构作业 完整版更新完毕开始阅读

表示层:社交信息的显示,并提供了更新和搜索等操作

功能层:具有搜索、在线聊天、离线留言、文件传输等等功能 数据层:有数据库服务器提供留言、相册、好友信息等数据 优点:使逻辑结构更为清晰,分类明确,给用户更好的体验

缺点:需要数据通信的支持,对网络的依赖很高,没有网络,许多功能将没有意义。

7、黑板风格和仓库风格之间的区别是什么

仓库风格的体系结构由两个构件组成:一个是中央数据结构,用于说明当前数据的状态;一个是一组对中央数据进行操作的独立构件。对于系统中数据和状态的控制方法有两种:一个是传统的方法——由输人事务选择进行何种处理,并把执行结果作为当前状态存储到中央数据结构中,这时,仓库是一个传统的数据库体系结构;另一种方法——由中央数据结构的当前状态决定进行何种处理。这时,仓库是一个黑板体系结构,即黑板体系结构是仓库体系结构的特殊化。

8、研究项目:着名的体系结构风格有多少种利用图书馆和Internet做一些调查,然后给出一个数量。

最为常用的软件体系结构风格,总共有五种,分别是: 数据流风格【Data Flow Style】

调用/返回风格的体系结构【Call-and-Return Style】 虚拟机风格的体系结构【Virtual Machine Style】

独立组件风格的体系结构【Independent Components Style】 仓库风格的体系结构【Data Centered (Repositories) Style】

第四章 软件体系结构描述

1、体系结构描述有哪些方法有哪些标准和规范

传统软件体系结构描述方法: 1、图形表达工具

对于软件体系结构的描述和表达,一种简洁易懂且使用广泛的方法是采用由矩形框和有向线段组合而成的图形表达工具。在这种方法中,矩形框代表抽象构件,框内标注的文字为抽象构件的名称,有向线段代表辅助各构件进行通讯、控制或关联的连接件。

目前,这种图形表达工具在软件设计中占据着主导地位。尽管由于在术语和表达语义上存在着一些不规范和不精确,而使得以矩形框与线段为基础的传统图形表达方法在不同系统和不同文档之间有着许多不一致甚至矛盾,但该方法仍然以其简洁易用的特点在实际的设计和开发工作中被广泛使用,并为工作人员传递了大量重要的体系结构思想。

为了克服传统图形表达方法中所缺乏的语义特征,有关研究人员试图通过增加含有语义的图元素的方式来开发图文法理论。 2、模块内连接语言

软件体系结构的第二种描述和表达方法是采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言MIL(Module Interconnection Language)。由于程序设计语言和模块内连接语言具有严格的语义基础,因此他们能支持对较大的软件单元进行描述,诸如定义/使用和扇入/扇出等操作。 MIL方式对模块化的程序设计和分段编译等程序设计与开发技术确实发挥了很大的作用。但是由于这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,因此限制了他们处理和描述比程序设计语言元素更为抽象的高层次软件体系结构元素的能力

2、体系结构描述语言与程序设计语言有什么区别

ADL与其他的语言比较具有以下能力:(1)构造能力:ADL能够使用较小的独立

体系结构元素来建造大型软件系统;(2)抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注他们的抽象特性,而不管其具体的实现细节;(3)重用能力:ADL使得组成软件系统的构件,连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;(4)组合能力:ADL使得其描述的每一系统元素都有其自己的布局结构,这种描述布局结构的特点使得ADL支持软件系统的动态变化组合;(5)异构能力:ADl允许多个不同的体系结构描述关联存在;(6)分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。ADL与需求语言的区别在于后者描述的是问题空间,而前者描述的是接空间。ADL与建模语言的区别在于后者对整体行为的关注要大于部分的关注,而ADl集中在构建的表示上。

3、典型的软件体系结构描述语言包括哪些它们分别需要描述体系结构中哪些基本元素

主要有五种ADL:UniCon,Darwin,C2 SADL,Acme和xADL.

Rapide:一种事件驱动的ADL,它以体系结构定义作为开发框架,支持基于构件的开发.该语言提供了建模,分析,仿真和代码生成的能力,但是没有将连接子显式地表示为一阶实体.

Wright:其主要特点是将CSP用于软件体系结构的描述,从而完成对体系结构描述的某些形式化推理(包括相容性检查和死锁检查等).但它仅仅是一个设计规约语言,只能用于描述,无法支持系统生成,同时CSP的使用也是比较困难的事情. Acme:支持ADL之间的映射及工具集成的体系结构互交换语言.其目标是作为体系结构设计的一个共同的互交换格式,以便将现有的各种ADL在这个框架下统一起来;而它本身也可以看作是一种ADL.

xArch:一种基于XML的ADL.它使用XML定义了描述体系结构的核心元素,可以用来简单的描述软件体系结构,也可以作为设计其它ADL的基础,或者用作体系结构描述描述语言的互交换机制。

:以xArch 为基础的基于XML 的ADL。除了xArch 的核心元素, 还提供了对系统运行时刻和设计时刻的元素的建模支持,类似版本,选项和变量等更高级的配置管理观念,以及对产品家族的体系结构的建模支持.此外,还利用XML 的可扩展性简化了新的ADL的设计及其相应工具的开发过程。

4、对一个你熟悉的软件系统,如果要使用ADL对其体系结构进行描述,你会选择哪一种为什么这样选择的优点和缺点各有哪些

我会选择Acme。下面介绍原因:

Acme是CMU的Acme项目的产物.该项目始于1995年,目的是为了研究一个公共的语言,使之能在不同的体系结构设计工具之间作为体系结构描述信息互换的桥梁.目前Acme及其开发工具包AcmeLib提供了一个通用的,可扩展的基础框架用于描述,表示,生成以及分析系统的软件体系结构.而作为桥梁作用的Acme,由于必须具备大多数ADL共有的概念,因此它本身也是一个ADL,并且是一个相对而言比较简单的通用的ADL.Acme的建模元素和特点Acme的主要特点表现为:

采用七个基本的体系结构设计元素作为体系结构的本体(architecturalontology), 采用灵活的标注机制支持使用外部语言定义的非结构化信息,使用类型机制对常见的可复用的软件体系结构俗语和风格进行抽象描述使用开放的语义框架对体系结构描述进行推理Acme的设计元素Acme的设计元素,以下对Acme所采用的设计元素进行简要介绍.这七个设计元素是:

构件(components):系统中的计算元素和数据存储.直观的说,就是线框图中的框.典型的构件有:客户端,服务器,数据库,黑板,过滤器等.

连接子(connectors):构件之间的交互.直观的说,就是线框图中的线.典型的连接子有:过程调用,事件广播,客户和服务器之间的协议等. 系统(systems):构件和连接子的配置.

端口(ports):构件通过端口与外界发生交互.一个构件可以有多个不同类型的端口,每个端口都是一个接口的集合,例如一系列需要以特定顺序调用的过程.

角色(roles):连接子通过角色与外界发生交互.角色定义了构件之间交互的参与者. 表示(representations):构件或者连接子内部结构的描述.通过\表示\这个概念,系统的体系结构就具有了层次结构.同时,\表示\这个概念可以用于描述体系结构实体的多个视图(但是Acme本身并不处理视图之间的对应关系)。

映射(rep-maps):将构件或者连接子的内部\表示\与外部接口进行映射.简单的客户端-服务器系统

以下是一个简单的客户端-服务器系统的Acme描述:

Acme本质上是一些ADL的建模元素的\最大公约数\因此它能作为不同ADL及其支撑工