文档库 最新最全的文档下载
当前位置:文档库 › 软件体系结构知识点完整

软件体系结构知识点完整

软件体系结构知识点完整
软件体系结构知识点完整

1、构件是核心和基础,重用是必需的手段。

2、软件重用是指在两次或多次不同的软件软件开发过程中重复使用相同或相近软件元素的过程。

3、软件元素包括程序代码、设计文档、设计过程、需求分析文档甚至领域知识。

4、把可重用的元素称作软构件,简称为软构件。

5、可重用软件元素越大,就说重用的粒度越大。

6、构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和代码实现的复合体。

7、面向对象技术达到类级重用,以类为封装的单位。

8、构件模型是对构件本质特征的抽象描述。三个主要流派,分别是OMG(对象管理组织)的CORBA(通用对象请求代理结构)、Sun的EJB和Microsoft的DOM(分布式构件对象模型)。

9、获取构件的四个途径:(1)从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用构件。(2)通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用构件。(3)从市场上购买现成的商业构件,即COTS构件。(4)开发符合要求的构件。

10、构件分类方法三大类:关键字分类、刻面分类法、超文本组织方法

11、构件检索方法:基于关键字的检索、刻面检索法、超文本检索法和其他检索方法。

12、减少构件修改的工作量,要求工作人员尽量使构件的功能、行为和接口设计更为抽象画、通用化和参数化。

13、构件组装技术:基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。

14、软件体系结构的定义:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

软件体系结构的意义:(1)体系结构是风险承担者进行交流的手段;(2)体系结构是早期设计决策的体现--①软件体系结构明确了对系统实现的约束条件②软件体系结构决定了开发和维护组织的组织结构③软件体系结构制约着系统的质量属性④通过研究软件体系结构可能预测软件的质量⑤软件体系结构使推理和控制更改更简单⑥软件体系结构有助于循序渐进的原型设计⑦软件体系结构可以作为培训的基础;(3)软件体系结构是可传递和可重用的模型。

软件体系结构发展的四个阶段:(1)无体系结构设计阶段。以汇编语言进行小规模应用程序开发为特征。(2)萌芽阶段。出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征。(3)初期阶段。出现了从不同侧面描述系统的结构模型,以UML为典型代表。(4)高级阶段。以描述系统的高层抽象结构为中心,不关心具体的建模细节,划分了体系结构与传统软件结构的界限,该阶段以Kruchten提出的“4+1”模型为标志。

通用体系结构风格分类

数据流风格:批处理序列、管道与过滤器。

调用/返回风格:主程序与子程序、面向对象风格、层次结构。

独立构件风格:进程通信、事件系统。

虚拟机风格:解释器、基于规则的系统。

仓库风格:黑板系统、传统型数据库。

管道与过滤器

特点:(1)使得软构件具有良好的内聚、耦合的特点。

(2)允许设计师将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成。(3)支持软件重用。

(4)系统维护和增强系统性能简单。

(5)允许对一些如吞吐量、死锁等属性的分析。

(6)支持并行执行。

缺点:(1)通常导致进程成为批处理的结构。

(2)不适合处理交互的应用。

(3)系统性能下降,并增加了编写过滤器的复杂性。

结构示意图:

面向对象系统

优点:(1)因为对象对其他对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其它的对象。

(2)设计师可将一些数据存取操作的问题分解成一些交互的代理程序的集合。

缺点:

(1)为了使一个对象和另一个对象通过过程调用等进行交互,必须知道对象的标识。只要一个对象的标识改变了,就必须修改所有其他明确调用它的对象。

(2)必须修改所有显示调用它的其他对象,并消除由此带来的一些副作用。

基于事件的隐式调用

思想:构件不直接调用一个过程,而是出发或广播一个或多个事件。

应用系统的例子:

(1)在编程环境中用于集成各种工具,在数据库管理系统中确保数据的一致性约束,在用户界面系统中管理数据,以及在编辑器中支持语法检查。

(2)某系统中,编辑器和变量监视器可以登记相应Debugger的断点事件。当Debugger在断点处停下时,它声明该事件,由系统自动调用处理程序,如编辑程序可以卷屏到断点,变量监视器刷新变量数值。

优点:1、为软件重用提供了强大的支持。

2、为改进系统带来了方便。

缺点:

(1)构件放弃了对系统计算的控制。

(2)数据交换的问题。

(3)既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。

分层系统举例:层次系统最广泛的应用是分层通信协议。在这一应用领域中,每一层提供一个抽象的功能,作为上层通信的基础。较低的层次定义低层的交互,最低层通常只定义硬件物理连接。

优点:1、支持基于抽象程度递增的系统设计,使设计者可以把一个复杂的系统按照递增的顺序分解。

2、支持功能增强,因为每一层至多与相邻的上下层进行交互,因此功能改变最多影响相邻的上下层。

3、支持重用。只要提供的服务接口定义不变,同一层的不同实现可以交换使用。

缺点:(1)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来。(2)很难找到一个合适的、正确的层次抽象方法。

仓库系统

传统型数据库:输入流中某类时间触发进程执行的选择。

黑板系统:中央数据结构的当前状态触发进程执行的选择。

组成部分:(1)知识源(2)黑板数据结构(3)控制

客户/服务器风格

优点:

(1)具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。

(2)系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。

(3)系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码。将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。

缺点:(1)开发成本较高;

(2)客户端程序设计复杂;

(3)信息内容和形式单一;

(4)用户界面风格不一,使用繁杂,不利于推广使用;

(5)软件移植困难;

(6)软件维护和升级困难;

(7)新技术不能轻易应用。

集中式计算技术的缺点:

(1)随着系统规模的扩大和功能的提高,集中式系统的复杂性迅速增长,给管理、维护带来困难;

(2)对组织变革和技术发展的适应性差,应变能力弱;

(3)不利于发挥用户在系统开发、维护、管理方面的积极性与主动精神;

(4)系统比较脆弱。主机出现故障时可能使整个系统停止工作。

服务器主要任务:

(1)数据库安全性的要求;

(2)数据库访问并发性的控制;

(3)数据库前端的客户应用程序的全局数据完整性规则;

(4)数据库的备份与恢复。

客户应用程序主要任务:

(1)提供用户与数据库交互的界面;

(2)向数据库服务器提交用户请求并接收来自数据库服务器的信息;

(3)利用客户应用程序对存在于客户端的数据执行应用逻辑要求。

三层 C/S 风格

与二层 C/S 体系结构的不同:

优点:1、允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。

2、允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上

分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。

3、应用的各层可以并行开发,各层也可以选择各自最适合的开发语言,使之高效并行地开发,达到较高的性能价格比;对每一层的处理逻辑的开发和维护也会更容易些。

4、允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础;整个系统的管理层次也更加合理和可控制。

表示层、功能层、数据层主要功能三层风格不同物理结构比较

表示层:表示层是应用的用户接口部分,它担负着用户与应用间的对话功能

功能层:功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中

数据层:数据层就是数据库管理系统,负责管理对数据库数据的读写

中间件概念:是一个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架。

功能:在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。

浏览器/服务器风格模式结构示意图

与 c/s 比较其优点: 1、基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。

2、B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现

实的开放性基础。

缺点:1、B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。

2、B/S体系结构的系统扩展能力差,安全性难以控制。

3、采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地高于C/S体系结

构。

4、 B/S体系结构的数据提交一般以页面为单位,数据的动态交互性强,有利于在线事务

处理(OLTP)应用。

公共对象请求代理结构 CORBA:是由OMG制定的一个工业标准,其主要目标是提供一种机制,使得对象可以透明地发出请求和获得应答,从而建立起一个异质的分布式应用环境.

接口定义语言:CORBA的XML是一种说明性语言,描述面向对象系统开发所遵循的接口与实现相分离的基本原则。

调用机制:把IDL说明编译成面向对象程序设计语言的实代码后,客户可以调用已知对象的操作。在某些应用中,用户并不了解应用接口编译信息,但也要求调用对象的操作,这时就要动态调用接口来调用用户的操作了。

异构结构风格不同的体系结构有不同的处理能力,面对具体问题,混合软件体系结构处理问题能够结合各自的优点,这种体系结构被称为异构结构。

SOA 定义:是一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)模型的方法。

SOA 建立在SML 等新技术的基础上,通过使用基于SML 的语言来描述接口,服务已经转到更动态且更灵活的接口系统中,CORBA中的XML无法与之相比。

SOA 的特征:松散耦合、粗粒度服务、标准化接口

面向服务的分析与设计

三个主要抽象级别:操作、服务、业务流程

SOAD 与 OOAD 的关系:

(1)综合了面向对象的分子与设计(OOAD)、企业体系结构(EA)、和业务流程建模(BPM)中的适当原理,将这些规则中的原理与许多独特的新原理组合起来,提出了面向服务的分析与设计(SOAD)。

(2)OOAD从基础设计层为SOAD提供了理论支撑。

(3)OOAD现有的开发流程和表示法仅涵盖支持SOA范式所需要的部分要求。

SOA服务栈:

发现服务层:SOAP、REST 描述服务层:WSDL、XML Schema

消息格式层:UDDI、DISCO 编码格式层:XML 传输协议层:HTTP、TCP/IP、SMTP

第9章

RIA”富”的含义:1.丰富的数据模型:意味着客户端的用户界面能表现和应对更多更复杂的数据模式,这样才能处理客户端的运算以及异步发送,接收数据。

2.丰富的用户界面:RIA能提供更多改良界面,HTML只能为用户的界面控制提供有限的功能,RIA允许一些富有创造性的界面控制,巧妙地与数据模式相合。

RIA客户端开发技术:1.Macromedia Flash/Flex 2.AJAX https://www.wendangku.net/doc/3a12270562.html,szlo 4.Avalon 5.Java EE6.XUL 7.Bindows 8.Oracle Forms

AJAX技术:是由几种蓬勃发展的技术以新的方式组合而成的,包含基于XHTML和CSS 标准的表示;使用DOM进行动态显示和交互;使用XMLHttpRequest与服务器进行异步通信;使用JavaScript绑定一切。1.XML 2.XHTML 3.JavaScript 4.XMLHttpRequest 5.DOM 6.XSLT 7.CSS 借助于AJAX,可以在用户单击按钮时,使用JavaScript和XHTML立即更新用户界面,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新用户界面,而不是刷新整个页面。更重要的是,用户甚至不知道浏览器正在与服务器通信,Web站点看起来是即时响应的。

第12章

设计模式是前人经验的总结,它使人们可以方便地复用成功的设计和体系结构。简单的理解,是一些设计面向对象的软件开发的经验总结。一个设计模式事实上是系统地命名,解释和评价某一个重要的可重现的面向对象的设计方案。

受到普遍认可的设计模式定义:是由Dirk Riehle和Heinz Zullighoven于1996年在其论文Understanding and Using Patterns in Software Development中给出的;”模式是指从某个具体的形式得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现”。

MVC设计模式:把交互系统的组成分解成模型Model,视图View,控制Controller三种构件,是一种交互界面的结构组织模型。

设计模型的基本成分:1.模式名称:通常用来描述一个设计问题,它的解法和效果,由一到两个词组成。模式名称的产生使人们在更高的抽象层次上进行设计并交流设计思想。2.问题:告诉人们什么时候要使用设计模式,解释问题及其背景。设计模式用术语”强制条件”来说明问题要解决时应该考虑的各个方面:(1)解决方案必须满足的需求(2)必须考虑的约束(3)解决方案必须具有期望的特性。如MVC模式指出了两个强制条件:必须易于修改用户界面,但软件的功能核心不能被修改所影响。

3.解决方案:解决方案描述设计的基本要素:它们的关系,各自的任务以及相互之间的合作。解决方案包括两个方面:第一,每个模式规定了一个特定的结构,即元素的一个空间配置。第二,每个模式规定了运行期间的行为。

4.效果:效果描述应用设计模式后的结果和权衡。

5.

设计模式的分类:1,创建型模式(1)工厂方法模式(2)抽象工厂模式(3)原型模式(4)单例模式(5)建造者模式

2,结构式模式(1)适配器模式(2)桥接模式(3)组合模式(4)装饰模式(5)外观模式(6)亨元模式(7)代理模式

3,行为模式(1)职责链模式(2)命令模式(3)解释器模式(4)迭代器模式(5)中介者模式(6)备忘录模式(7)观察者模式(8)状态模式(9)策略模式(10)模板方法模式(11)访问者模式

多项选择题

1、青鸟构件库采用___ B.刻面__分类方法对构件进行分类。这些刻面包括:使用环境,应用领域,功能,层次,表示方法,

2、软件体系结构是整个系统的骨架,在软件开发中起着非常重要的作用。

下面关于关于软件体系结构作用的描述正确的有____ ABCD ____。

A.体系结构是风险承担者进行交流的手段

B. 软件体系结构决定了开发和维护组织的组织结构

C.通过研究软件体系结构可能预测软件的质量

D.软件体系结构有助于循序渐进的原型设计

B3、客户/服务器风格的应用程序中客户应用程序的主要任务不包括:_ B.数据库的备份与恢复_。

A4、从概念上讲,SOA 有三个主要的抽象级别,分别是操作、服务和业务流程。其中, SOA_操作__可以直接与面向对象的方法相比,它们都有特定的结构化接口,并且返回结构化的响应,完全同方法一样。

CD5、下列关于设计模式的叙述正确的有______________。

C.模式不仅描述模块,它给出更深层的系统结构和机理

D.模式通过记录得到解

B6、根据目的和用途的不同,设计模式可分为创建型模式、结构型模式和行为型模式。下列模式中不属于创建型模式的是_____ B.桥接模式___。

判断题

( F )传统型数据库是一种黑板系统,由中央数据库的当前状态触发进程执行的选择. ( T )面向对象风格属于通用体系结构风格分类中的调用/返回风格.

填空题

1、在构件重用的过程中,为了减少构件修改的工作量,要求开发人员尽量使构件的功能、行为和接口设计更为抽象化、通用化和参数化。这样构件的用户即可通过对实参的选取来调整构件的功能或行为。

?2、网络体系结构是一个典型的_分层系统,这种风格的体系结构中,连接件通过算法(决定层间如何交互的协议)来定义。

问答题

1、简述构件分类方法中关键字分类法的基本思想及其相应检索方法。P7P10

根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树状或有向无回路图结构。每个概念用一个描述性的关键字表示。不可分解的原子级关键字包含隶属于它的某些构件。

基于关键字的检索:系统在图形用户界面上将构件库的关键字树状结构直观地展示给用户;用户通过对树状结构的逐级浏览寻找需要的关键字并提取相应地构件。当然,用户也可以直接给出关键字,由系统自动给出合适的候选构件清单。优点:简单,易于实现,但在某些场合没有应用价值,因为用户往往无法用构件库中已有的关键字描述期望的构功能或行为,对库的浏览也容易使用户迷失方向。

2、简述基于事件系统的基本思想。P52

构建不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。

3、与两层 C/S 相比,三层 C/S 结构主要优点是什么?

(1)允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。

(2)允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。

(3)应用的各层可以并行开发,各层也可以选择各自最适合的开发语言,使之高效并行地开发,达到较高的性能价格比;对每一层的处理逻辑的开发和维护也会更容易些。

(4)允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础;整个系统的管理层次也更加合理和可控制。

综合论述题

结合实际应用系统论述体系结构的选择.(C/S-B/S的异构体系结构应用)

C/S-B/S 的异构体系结构是混合使用C/S体系结构和B/S体系结构。

C/S与B/S混用的模型;1.”内外有别”模型:企业内部用户通过局域网直接访问数据库服务器,采用C/S体系结构;企业外部用户通过Internet访问Web服务器,通过Web服务器再访问数据库服务器,采用B/S体系结构。2.”查改有别”模型:不管用户是通过什么方式(局域网或者Internet)连接到系统,凡是需执行维护和修改数据操作的,就用C/S;只是执行一般的查询和;浏览操作,则用B/S。

应用实例:变电综合信息管理系统(TSMIS)充分考虑到变电站分布管理的需要,采用C/S与B/S混合软件体系结构的”内外有别”模式。变电站内部用户通过局域网直接访问数据库服务器,外部用户通过Internet访问Web服务器,再通过Web服务器访问数据库服务器。外部用户只需一台接入Internet的计算机,就可以通过Internet查询运行管理情况,无须做太大的投入和复杂的设置,就方便所属电业局及时了解各变电站的运行生产情况,对各变电站的运行生产进行宏观调控。

TSMIS包括变电站运行所需的运行记录、图形开票、安全生产管理、生产技术管理、行政管理、总体信息管理、技术台账管理、班组建设、学习培训、系统维护等各个业务层次模块。选择C/S-B/S 的异构体系结构设计TSMIS系统能很好地满足用户的需求,符合可持续发展原则,使系统具有较好的开放性和易扩展性。

计算机体系结构论文

计算机体系结构论文 论文题目:计算机系统结构中多处理机技术姓名:XXX 班级:XXX 学号:XXXX

摘要:多处理机是指能同时执行多个进程的计算机系统.多处理机通过共享的主存或输入/输出子系统或高速通信网络进行通信。利用多台处理机进行多任务处理,协同求解一个大而复杂的问题来提高速度,或者依靠冗余的处理机及其重组能力来提高系统的可靠性、适应性和可用行。该文介绍了微处理器的发展、多处理机的总线以及处理机系统中通信和存储技术的发展和两种特殊的多处理机系统结构,以及现今几种典型的并行计算机体系结构及处理机分配与调度策略。而本篇论文主要根据所阅读的文章进行扩展延伸,主要介绍了多处理机技术,它的总线以及分配调度方面。 关键字:多处理机;体系结构;总线;调度 引言: 微电子技术和封装技术的进步,使得高性能的VLSI微处理器得以大批量生产,性能价格比不断合理,这为并行多处理机的发展奠定了重要的物质基础。计算机系统性能增长的根本因素有两个:一个是微电子技术,另一个是计算机体系结构技术。五十年代以来,人们先后采用了先行控制技术、流水线技术、增加功能部件甚至多机技术、存储寻址和管理能力的扩充、功能分布的强化、各种互联网络的拓扑结构以及支持多道、多任务的软件技术等_系列并行处理技术,提高计算机处理速度,增强系统性能。多处理机体系结构是计算机体系结构发展中的一个重要内容,已成为并行计算机发展中人们最关注的结构。 多处理机的介绍: 多处理机是指能同时执行多个进程的计算机系统。 由于超大规模集成电路(VLSI)技术迅速发展的结果,多处理技术能够充分地发挥高性能的32位微处理机的有效性,用大量低价格的部件配置高性能的计算机结构系统.以典型的

软件体系结构复习题

判断题 1.软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高 软件系统的开发质量与效率,降低开发成本的目的。 2.开发视图主要支持系统的功能需求,即系统提供给最终用户的服务。 3.软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其 中,构件、连接件和配置是最基本的元素。 4.构件可以由其他复合构建和原子构件通过连接而成。 5.正交软件体系结构由组织层和线索的构件构成。 6.软件产品线的建立通常有4种方式,其划分依据有两种。 7.体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软 件设计之前进行。 8.ATAM评估方法主要通过理解体系结构方法来分析体系结构,在这一步,由 设计师确定体系结构方法,由分析小组捕获并进行分析。 9.WSDL是可扩展的,使得在通信时无论使用何种消息格式或网络协议,都可 以对端点及其消息进行描述。 10.10.ABSD方法是基于体系结构的设计方法,它描述了系统的主要设计元素及 其关系。 11.11.可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构 件的查找。 12.12.超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检 索技术。 13.软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始 终跨越时间和实现的属性。 14.体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色() 15.开发视图主要支持系统的功能需求,即系统提供给最终用户的服务 16.构件、连接件以及配置是体系结构的核心模型最基本的元素() 17.HMB风格不支持系统自顶向下的层次化分解,因为它的构件比较简单() 18.基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广 播一个或多个事件。。 19.线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成 整个系统中相对独立的一部分功能。 20.层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照 递增的步骤进行分解,同时支持功能增强,但是不支持重用。 21.在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。 22.Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对 分布式同步系统建模。 23.体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软 件设计之前进行。 24.基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语 言。 25.需求语言与ADL的区别在于后者描述的是问题空间,而前者则扎根于解空间 中。 26.基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结 构层。

软件体系结构考试要点

考试题型 一、填空(每题1分,共10分) 二、名词解释(每题2分,共20分) 1、B/S 2、C/S 3、HMB 4、DSSA 5、ADL 6、XML 7、ATAM 8、Web Service 9、MTTF10、SOAP 11、WSDL 12、UDDI 13、SAAM 14、MVC 15、Artifact-Driven 16、Use-Case-Driven 17、Domain-Driven 18、Pattern-Driven 19、构件20、连接件21.、MTBF 22、敏感点23、权衡点24、直接场景25、间接场景26、质量属性效用树27、XML Schema 三、问答题(40分) 1、构件描述模型有哪几种? 2、理解并比较构件分类的三种方法:关键字分类法、刻面分类法和超文本组织方法, 它们是如何组织的?如何在其中检索构件?每种方法各有什么优缺点? 3、了解软件体系结构的四个发展阶段。 4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成? 5、至少掌握三种经典软件体系结构风格。 6、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。 7、请对MVC风格体系结构进行介绍,并说明该风格的优缺点。 8、在正交软件体系结构中,什么是完全正交结构?在实际使用时是不是必须严格遵 守结构正交?使用正交软件体系结构有什么优点? 9、层次系统结构和基于消息的层次系统结构有什么区别? 10、体系结构描述语言与程序设计语言有什么区别? 11、ACME中定义了哪七种体系结构实体?ACME中的表述和表述映射,类型和风格是什么含义?

12、了解基于XML的软件体系结构描述语言。 13、简要介绍Krutchten的“4+1”视图模型。 14、设计模式的基本成分有哪几个?请简单介绍其各个基本成分。 15、为什么要评估软件体系结构?从哪些方面评估软件体系结构? 16、软件体系结构评估的主要方法有哪三种?请简单解释每种方法。 17、SAAM和ATAM评估方法的基本步骤分别是什么? 18、Web服务有哪些核心技术,这些技术是如何在Web服务中发挥作用的。 四、看图答题(30分) 1、请根据P38图3-5介绍黑板系统的组成。 2、请根据P59图3-26解释HMB风格的构件模型。 3、请根据P60图3-27解释消息总线的属性和服务。 4、请根据P147图5-2介绍体系结构设计方法的元模型。 5、请根据P167图6-1简要介绍基于体系结构的软件开发过程的各个步骤。并说明各个步骤的必要性何在?或者说,它们在软件生命周期中都起到了什么作用? 6、请根据P207图8-1分析服务提供者、服务请求者和服务注册中心三者的作用,以及它们之间的工作流程。 7、请根据P229图8-11介绍UDDI的具体工作步骤。

软件体系结构总结

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

计算机体系结构期末考试知识点与答案

体系结构复习重点.doc 1..诺依蔓计算机的特点 答:·若依曼计算机的主要特点如下: 存储程序方式。指令和数据都是以字的方式存放在同一个存储器中,没有区别,由机器状态来确定从存储器读出的字是指令或数据。 指令串行执行,并由控制器集中加以控制、 单元定长的一维线性空间的存储器 使用低级机器语言,数据以二进制形式表示。 单处理机结构,以运算器作为中心。 其实,他最大的特点就是简单易操作。 2. T(C)=所描述的三个层次(8页) 答:3个层次为控制器、算术逻辑部件、基本逻辑部件 3. 计算机系统结构的分类(5页) 4. 计算机系统中的数据表示(38页) 5. 指令系统设计的原则 答:指令系统的设计原则是,应特别注意如何支持编译系统能高效、简易地将源程序翻译成目标代码。 首先是正交性:又称分离原则或互不相干原则。即指令中各个有不同含义的字段之间,在编码时应互相独立、互不相关。 规整性:对相似的操作数做出相同的规定。 可扩充性:要保留一定余量的操作码空间,为以后的扩展所用。 对称性:为了使编译能更加方便,通常希望操作具有对称性。 6. 流水操作中的相关 答:流水操作过程中会出现一下的3个相关:资源或结构相关、数据相关、和控制相关。 资源相关是指当有多条指令进入流水线后在同一机器周期内争用同一功能部件所发生的冲突。 数据相关:这是由于流水线中的各条指令的重叠操作使得原来对操作数的访问顺序发生了变化,从而导致了数据相关的冲突。 控制相关主要是转移指令引起的,比起数据相关来,他会使流水线丧失更多的性能。 7. 向量机中对向量的各种运算可以采用的加工方式(149页) 答:向量机中对向量的各种运算可以采用不同的加工方式,但比较有效的加工方式

软件体系结构最新总结

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”视图模型从五个不同的视角,包括逻辑试图,进程试图,物理视图,开发视图和 场景视图来描述软件体系结构。 -----记住名称及相应的功能 逻辑视图主要支持系统的功能需求,是系统提供给最终用户的服务。通过抽象,封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图; 开发视图也称模块视图,主要侧重于软件模块的组织和管理,主要考虑软件内部的需求,如软件开发的容易性、软件的重用等,通过系统输入输出关系的模型图和子系统图来描述,提供给编程人员的; 进程视图侧重于系统的运行特性,主要关注非功能性的需求,如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力管道和过滤器风格、客户/服务器风格等适合进程视图,提供给系统集成人员的; 物理视图主要考虑如何把软件映射到硬件上,它通常考虑系统性能、规模、可靠性等,解决

计算机系统结构论文

计算机系统结构论文 计算机系统结构中多处理机技术 摘要:多处理机通过共享的主存或输入/输出子系统或高速通信网络进行通信。利用多台处理机进行多任务处理,协同求解一个大而复杂的问题来提高速度,或者依靠冗余的处理机及其重组能力来提高系统的可靠性、适应性和可用行。该文介绍了微处理器的发展、多处理机的总线以及处理机系统中通信和存储技术的发展和两种特殊的多处理机系统结构。 关键词:多处理机;体系结构;总线 微电子技术和封装技术的进步,使得高性能的VLSI 微处理器得以大批量生产,性能价格比不断合理,这为并行多处理机的发展奠定了重要的物质基础。 计算机系统性能增长的根本因素有两个:一是微电子技术,另一个是计算机体系结构技术。五十年代以来,人们先后采用了先行控制技术、流水线技术、增加功能部件甚至多机技术、存储寻址和管理能力的扩充、功能分布的强化、各种互联网络的拓扑结构以及支持多道、多任务的软件技术等一系列并行处理技术,提高计算机处理速度,增强系统性能。多处理机体系结构是计算机体系结构发展中的一个重要内容,已成为并行计算机发展中人们最关注的结构。

1 微处理器的发展 20 世纪80 年代中期,RISC 精简指令集计算机,用20%指令的组合实现了CISC 计算机指令系统不常用的80%指令的功能。在提高性能方面,RISC 采用了超级流水线、超级标量、超长指令字并行处理结构;多级指令Cache;编译优化等技术,充分利用RISC 的内部资源,发挥其内部操作的并行性,从而提高流水线的执行效率。20 世纪80 年代后期,RISC 处理机的性能指标几乎以每年翻一番的速度发展,它对于提高计算机系统的性能和应用水平起着巨大的作用。 目前,由Intel 和HP 两家公司联合开发的基于IA—64 架构的Merced 芯片,并由其共同定义的显式并行指令计算技术EPIC(Explicitly Parallel Instruction Computing ),将为微处理器技术的发展带来突破性进展。EPIC 技术主要指编译器在微处理器执行指令之前就对整个程序的代码作出优化安排,编译器分析指令间的依赖关系,将没有依赖关系的指令(最多3 个)组成一“组”,由Merced内置的执行单元读入被分成组的指令群并执行。从理论上讲,EPIC 可以并行执行3 倍于执行单元数的指令。64 位体系结构的Merced 芯片还采用了指令预测、数据预装等技术,可以显著地减少实际执行程序的长度,同时增强语句执行的并行性,经过代码的重组,程序的执行时间比基于传统体系结构

软件体系结构课后作业及答案

1、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。 答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。 2、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的 答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。在过程中使用了代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。 3、为什么要研究软件体系结构? 答:1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。 2.软件体系结构代表了早期的设计决策成果。 3.软件体系结构可以作为一种可变换的模型。 4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成? 答:构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器); 连接件(connector)是关系的抽象,用以表示构件之间的相互作用。如过程调用、管道、远程过程调用等; 限制(constrain):用于对构件和连接件的语义说明。 5、在软件体系结构的研究和应用中,你认为还有哪些不足之处? 答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。 (2)ADL繁多,缺乏同意的ADL的支持。 (3)软件体系结构研究缺乏统一的理论模型支持。 (4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。 (5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。 (6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。 (7)缺乏有效的体系结构复用方案。 (8)体系结构发现方法研究相对欠缺。 1、选择一个规模合适的系统,为其建立“4+1”模型。 逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。 过程视图(Process View),捕捉设计的并发和同步特征。 物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。 开发视图(Development View),描述了在开发环境中软件的静态组织结构。 架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(use cases)或场景(scenarios)来说明,从而形成了第五个视图。

软件设计与体系结构知识点

软件设计与体系结构知识点 1.软件设计的特征 (1)软件设计的开端是出现某些新的问题需要软件来解决,这些需要促使设计工作的开始,并成为整个设计工作最初的基础 (2)软件设计的结果是给出一个方案,它能够用来实现所需的、可以解决问题的软件,方案的描述可能是文字、图表,甚至数学符号、公式等组成的文档或模型 (3)软件设计包含一系列的转换过程,即把一种描述或模型转换为另一种描述或模型,转换后的形态可能更加具体,或更接近于实现 (4)产生新的想法或思路对软件设计非常重要,因为设计也是一个创造性的过程,不同的问题或需求总会存在各自的特点,即使同样的问题在不同时期和环境下也会存在区别,因此设计不会是一成不变的 (5)软件设计的过程是不断解决问题和实施决策的过程,因为整个设计是解决一个大的问题,在设计过程中将会分解成众多小问题,涉及真需要一次解决这些小的问题,并在出现多种方案或策略时进行决策,选择其中最合适的 (6)软件设计也是一个满足各种约束的过程,因为软件可能在性能、运行环境、开发时间、成本、人员技术水平等各个方面存在约束,设计必须在满足这些约束的情况下给出最佳的设计方案 (7)大多数的软件实际是一个不断演化的过程,因为需求在一开始很可能是不完整或不精确的,在设计过程中还会不断发生变化并逐步稳定下来,因此设计需要根据需求的变化而不断演化。 2.软件设计的要素 (1)目标描述(2)设计约束(3)产品描述(4)设计原理(5)开发规划(6)使用描述3.软件设计体系的定义 (1)软件设计体系结构是软件系统的结构,包含软件元素、软件元素外部可见的属性以及这些软件元素之间的关系 (2)软件体系结构是软件系统的基本组织,包含构建、构件之间、构件与环境之间的关系,以及相关的设计与演化原则 4.软件设计的主要活动 (1)软件设计计划(2)体系结构设计(3)界面设计(4)模块/子系统设计(5)过程/算法设计(6)数据模型设计 5.体系结构“4+1”多视图建模 (1)逻辑视图:该视图关注功能需求,即系统应该为最终用户提供什么服务,它与应用领域精密相关 (2)进程视图:该视图捕获设计中关于并发和同步的内容,重视一些非功能需求,例如性能、可扩展性等,定义了运行实体和它们的属性。 (3)开发视图:该试图主要描述软件在开发环境中的静态结构,开发人员和项目经理对比都会感兴趣。 (4)物理视图:该视图描述软件到硬件的映射关系,反映了软件的分布特征。 (5)场景:可以使用一组重要场景也就是用例的实例,把上述四种视图紧密的联系起来6.什么是软件产品线方法 软件产品线是软件复用发展的一个更高阶段,它并不仅仅局限于以前人们在软件复用中考虑的对函数、模块、类、体系结构甚至子系统的重用。 软件产品线指一组具有公共的、可管理特征(系统需求)的软件系统,这些系统满足特定的

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

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)什么是框架?框架与模式的区别有哪些? 框架是针对某个领域,提供用于开发应用系统的类的集合。 区别:层次不同、范围不同、相互关系

软件体系结构课后作业及答案

一次 就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。 答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。 2、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的 答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。在过程中使用了代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。 3、为什么要研究软件体系结构? 答:1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。 2.软件体系结构代表了早期的设计决策成果。 3.软件体系结构可以作为一种可变换的模型。 4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成? 答:构件()可以是一组代码,如程序的模块;也可以是一个独

立的程序(如数据库的服务器); 连接件()是关系的抽象,用以表示构件之间的相互作用。如过程调用、管道、远程过程调用等; 限制():用于对构件和连接件的语义说明。 5、在软件体系结构的研究和应用中,你认为还有哪些不足之处? 答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。 (2)繁多,缺乏同意的的支持。 (3)软件体系结构研究缺乏统一的理论模型支持。 (4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。 (5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。(6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。 (7)缺乏有效的体系结构复用方案。 (8)体系结构发现方法研究相对欠缺。 二次

软件体系结构综述

软件体系结构研究综述 班级:软件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)

计算机网络体系结构论文

计算机网络体系结构 摘要:计算机冈络体系结构描述了计算机网络功能实体的划分原则及其相互之间协同工作的方法和规则。本文主要介绍的是现在应用比较广泛的层次型网络体系结构,OSI基本参考模型,计算机网络的七层通信协议的主要功能及其之间的关系,并简单介绍了TCP/IP四层通信模型。 关键字:计算机网络,层次型网络体系结构,OSI,TCP/IP 上世纪60年代末期,早期的网络都是各公司根据用户的要求而设计的。虽然用户的应用要求千变万化,但对网络(通信)的要求相对一致。为使公司的产品可以适应千变万化的应用要求,尤其是适应用户扩充应用的要求,同时也是为了满足市场的要求,保证新老产品的兼容性和可操作性,各公司提出了基于本公司产品的计算机网络体系结构。 随着计算机技术和通信技术的发展,通用的计算机网络体系结构逐渐浮出水面。现在应用比较广泛的网络体系结构为层次型网络体系结构。层次型网络体系结构是计算机网络出现以后第一个被提出并实际使用的网络体系结构。直到目前,其产生和发展的过程始终与计算机网络产生和发展的过程保持协调一致。为了简化网络设计与实现的复杂性,层次型网络体系结构将复杂的网络问题分解为若干个不同的小问题,每个层次专注于解决特定的同题,这样就比较容易对所解决本层次涉及的同题实现模块化和标准化,标准化的层次间的通信规则被称为协议。层次型网络体系结构是层和协议的集合。典型的层次型网络体系结构通信模型如下图所示 层次型网络体系结构首先提出了模块化的设计实现思想:将复杂的网络问题分解为较为单纯易于解决的小问题;用不同的模块解决不同的问题。不同的模块之间接口简单明确,因此可以各自独立地制定标准和进行开发。这一思路即使在后来出现的其他网络体系结构中仍然得到了遵循。 国际标准化组织ISO为层次型网络体系结构设计了OSI参考模型。该模型将网络自底向上划分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层七个层次,每

软件体系结构期末复习题

软件体系结构期末 复习题

《软件体系结构》期末复习题 简答题: 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、构件是核心和基础,重用是必需的手段。 2、软件重用是指在两次或多次不同的软件软件开发过程中重复使用相同或相近软件元素的过程。 3、软件元素包括程序代码、设计文档、设计过程、需求分析文档甚至领域知识。 4、把可重用的元素称作软构件,简称为软构件。 5、可重用软件元素越大,就说重用的粒度越大。 6、构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和代码实现的复合体。 7、面向对象技术达到类级重用,以类为封装的单位。 8、构件模型是对构件本质特征的抽象描述。三个主要流派,分别是OMG(对象管理组织)的CORBA(通用对象请求代理结构)、Sun的EJB和Microsoft的DOM(分布式构件对象模型)。 9、获取构件的四个途径:(1)从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用构件。(2)通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用构件。(3)从市场上购买现成的商业构件,即COTS构件。(4)开发符合要求的构件。 10、构件分类方法三大类:关键字分类、刻面分类法、超文本组织方法 11、构件检索方法:基于关键字的检索、刻面检索法、超文本检索法和其他检索方法。 12、减少构件修改的工作量,要求工作人员尽量使构件的功能、行为和接口设计更为抽象画、通用化和参数化。 13、构件组装技术:基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。 14、软件体系结构的定义:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。 软件体系结构的意义:(1)体系结构是风险承担者进行交流的手段;(2)体系结构是早期设计决策的体现--①软件体系结构明确了对系统实现的约束条件②软件体系结构决定了开发和维护组织的组织结构③软件体系结构制约着系统的质量属性④通过研究软件体系结构可能预测软件的质量⑤软件体系结构使推理和控制更改更简单⑥软件体系结构有助于循序渐进的原型设计⑦软件体系结构可以作为培训的基础;(3)软件体系结构是可传递和可重用的模型。 软件体系结构发展的四个阶段:(1)无体系结构设计阶段。以汇编语言进行小规模应用程序开发为特征。(2)萌芽阶段。出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征。(3)初期阶段。出现了从不同侧面描述系统的结构模型,以UML为典型代表。(4)高级阶段。以描述系统的高层抽象结构为中心,不关心具体的建模细节,划分了体系结构与传统软件结构的界限,该阶段以Kruchten提出的“4+1”模型为标志。 通用体系结构风格分类 数据流风格:批处理序列、管道与过滤器。 调用/返回风格:主程序与子程序、面向对象风格、层次结构。 独立构件风格:进程通信、事件系统。 虚拟机风格:解释器、基于规则的系统。 仓库风格:黑板系统、传统型数据库。 管道与过滤器 特点:(1)使得软构件具有良好的内聚、耦合的特点。 (2)允许设计师将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成。(3)支持软件重用。 (4)系统维护和增强系统性能简单。 (5)允许对一些如吞吐量、死锁等属性的分析。 (6)支持并行执行。

计算机系毕业论文

计算机系毕业论文 计算机系毕业论文篇一:计算机系统结构简述 摘要:计算机系统结构是一个有多个层次组合而成的有机整体,随着科技的不断发展,未来的计算机将会朝着微型化、网络化和智能化的方向发展,为了使大家对计算机系统结构有一个大概的了解,本文主要介绍了计算机系统结构的一些基本概念、计算机系统结构的发展、计算机系统结构的分类方法和计算机系统设计的方法。 关键词:计算机系统结构;冯诺依曼结构;Flynn分类法;冯氏分类法 世界上第一台电子计算机ENIAC诞生于1946年,在问世将近70年的时间里,计算机共历经电子管计算机时代、晶体管计算机时代、中小规模集成电路计算机时代、大规模和超大规模集成电路计算机时代和巨大规模集成电路计算机时代,计算机更新换代的一个重要指标就是计算机系统结构。 1 计算机系统结构的基本概念 1.1 计算机系统层次结构的概念 现代计算机系统是由硬件和软件组合而成的一个有机整体,如果继续细分可以分成7层。L0:硬联逻辑电路;L1:微程序机器级;L2:机器语言级;L3:操作系统级;L4:汇编语言级;L5:高级语言级;L6:应用语言级。其中L0级由硬件实现;L1级的机器语言是微指令级,用固件来实现;L2级的机器语言是机器指令集,用L1级的微程序进行解释执行;L3级的机器语言由传统机器指令集和操作系统级指令组成,除了操作系统级指令由操作系统解释执行外,其余用这一级语言编写的程序由L2和L3共同执行;L4级的机器语言是汇编语言,该级语言编写的程序首先被翻译成L2或L3级语言,然后再由相应的机器执行;L5级的机器语言是高级语言,用该级语言编写的程序一般被翻译到L3或L4上,个别的高级语言用解释的方法实现;L6级的机器语言适应用语言,一般被翻译到L5级上。 1.2 计算机系统结构的定义 计算机系统结构较为经典的定义是Amdahl等人在1964年提出的:由程序设计者所看到的一个计算机系统的属性,即概念性结构和功能特性。由于计算机具有不同的层次结构,所以处在不同层次的程序设计者所看到的计算机的属性显然不同。

软件体系结构复习题及答案

概述部分 1、请分析软件危机的主要表现和原因。 表现: a)软件成本日益增加:开发、部署与应用成本高 b)开发进度难以控制:不能按期完成 c)软件质量差:错误率高,不能满足用户的需求,没有生命力 d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误 原因: 1.用户需求不明确 2.缺乏正确的理论指导 3.软件规模越来越大 4.软件复杂度越来越高 2、请说明软件规模与复杂度对软件过程的影响及解决方法。 软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。 3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束) 软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。 4、请简述软件重用的含义和意义。可重用元素包括哪些种类? 软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过 程。(含义) 可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。 (种类) 可重用的元素越大,我们就说重用的粒度(Granularity)越大。 软件重用是软件产业工业化、工程化的重要手段。软件重用对提高生产率,降低 开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。 (意义) 5、请简述常用的构件实现模型及其意义。

实现模型: 1.CORBA 2.EJB https://www.wendangku.net/doc/3a12270562.html, / DCOM / COM+ 意义: 这些模型通常都定义了构件的实现方式、接口定义、访问方法等。符合这些标准的任何构件都有很高的重用能力。 描述部分 6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。 数据视图

软件体系结构分层知识

软件体系结构--RPG游戏制作软件 1)分层 2)写出每层的功能 3)向上提供接口 1.分层 层次系统风格将软件结构组织成一个层次结构,一个分层系统是分层次组织的,每层对上层提供服务,同时对下层来讲也是一个服务的对象。在一些分层系统中,内部的层只对相邻的层可见。除了相邻的外层或经过挑选用于输出的特定函数以外,内层都被隐藏起来。这种风格支持基于可增加抽象层的设计。由于每~层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。 分层系统体系结构有以下优点: 第一,支持基于抽象程度递增的系统设计。这允许设计者可以将一个复杂系统设计按递增的步骤进行分解。 第二,支持扩充。因为每层至多和与之相邻的上层和下层交互,所以,改变某层的功能最多只会影响与之相邻的其它两层。 第三,支持重用。与抽象数据类型一样,只要对相邻层提供同样的接口,每层可以有很多不同的可相互替代的实现方法。因此,可能出现对于标准的层接口的定义可以有不同的实现方法。 但是分层系统体系结构也有存在缺点: 首先,并不是每个系统都可以很容易地划分为分层的模式。甚至即使一个系统可在逻辑上进行分层,但可能出于性能的考虑需要在逻辑上与处于高层的函数和处于低层的实现之间建立紧密的联系。 其次,很难找到一个合适的、正确的层次抽象方法。分层设计作为一个设计的理念方法,在软件设计中得到越来越广泛的应用,特别是在复杂大型软件的研制开发项目中。即使是在中小型软件的开发过程中,也要合理的把系统划分为几个层次,把服务接口一步步地建立起来。系统在进行软件层次设计时应遵循如下三个基本原则: (1)实现和接口分离原则,这是对所有模块接口的一个通用原则。不同的层次实际上是不同的模块,只不过这些模块在逻辑关系上有上下的依赖关系。在这个分离原则之下,层次之间的互换性就可以得到保证。对于一般的软件设计来说,最常见的是抽象层,即把应用部分与一些具体的实现分离开来。 (2)单向性原则,软件的分层应该是单向的,即只能上层调用下层,反过来通常是不行的。因为上层调用下层,结果是上层离不开下层,但下层可以独立地存在:如果下层同时调用上层,上下层就紧密地耦合在一起,谁也离不开谁,形成了软件中的共生现象,导致模块的互换性和可重用性就得不到保证。 (3)服务接VI的粒度提升原则,每层的存在应该是为了完成一定的使用,从软件设计和程序编写的角度来讲,应该向上一层提供更加方便快捷的服务接口。简单重复下一层功能的层是没有意义的,一般越往上层服务接口的粒度越大。对很多应用软件来说,在与数据库直接打交道的地方有数据抽象层。该层把上层的应用同具体的数据库引擎分离开来。在此之上,建立业务对象层(business object),把具体的业务逻辑反映到该层次上。再往上是交互的用户界面等。 多层结构系统具有良好的可拓展性、可维护性和稳定的系统质量,同时,可以提高软件的可重用性,节省项目的开发时间。在开发中,具体采取几层构架,可根据系统的业务繁简程度灵活运用

相关文档
相关文档 最新文档