软件体系结构作业(完整版)

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

负面影响:大多数应用程序只使用10%的代码实现系统的公开功能,剩下90%的代码完成系统管理功能:输入和输出,用户界面,文本编辑,基本图表,标准对话框,通信,数据确认和旁听追踪,特定领域的基本定义等。

6、选择一个你熟悉的大型软件系统,分析其体系结构中用到的风格,以及表现出的特点(为什么要采用这种风格?带来了哪些优势?具有哪些不足?)。

对社交软件的分析:采用了C/S风格,并且在一定程度上算为三层C/S风格 表示层:社交信息的显示,并提供了更新和搜索等操作 功能层:具有搜索、在线聊天、离线留言、文件传输等等功能 数据层:有数据库服务器提供留言、相册、好友信息等数据 优点:使逻辑结构更为清晰,分类明确,给用户更好的体验

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

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的基础,或者用作体系结构描述描述语言的互交换机制。

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

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

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

Acme是CMU的Acme项目的产物.该项目始于1995年,目的是为了研究一个

联系合同范文客服:xxxxx#qq.com(#替换为@)