《软件体系结构》期末复习题

时间:2021-06-13 14:14:09 试题 我要投稿

《软件体系结构》期末复习题

  篇一:《软件体系结构》期末复习题

  《软件体系结构》期末复习题

  简答题:

  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

  15、中间件

  15、设计模式

  答:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。

  15、软件体系结构测试和传统软件测试区别

  16、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。掌握利用两种图进行的设计的方法。

  答:顺序图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。

  17. 管道过滤器风格结构特点

  (1)使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;

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

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

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

  (6)支持并行执行。

  但是,这样的系统也存在着若干不利因素。

  (1)通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。

  (2)不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重。

  (3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

  18. 什么是设计模式?它与风格、框架有什么区别与联系?

  设计模式是对通用设计问题的重复解决方案。

  软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

  软件框架是整个或部分系统的可重用设计

  模式比框架更加抽象

  框架是模式的特例化

  设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟

  利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用

  通常成熟的框架包含了多种设计模式

  一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式

  设计模式与风格两者为近义词,通常情况下可以互相通用

  风格主要是指大的,宏观的设计。模式既可宏观,又可微观。

  19. 软件体系结构测试的内容与准则是什么?

  内容:构件端口行为与连接件约束是否一致、兼容,单元间的消息是否一致、可达,相关端口是否可连接,体系结构风格是否可满足。

  准则:测试覆盖所有的构件及各个构件的接口。各个连接件的接口、构件之间的直接连接、构件之间的间接连接。

  20、请简述MVC,介绍各自的作用和用途。

  答案:MVC是三个单词的缩写,分别为:模型(Model),视图(View)和控制

  Controller)。MVC模式的目的就是实现Web系统的职能分工。

  Model是应用对象,所有的操作都在这里实现,它若需要取得视图中的对象或更新视图,需通过控制器来进行处理。

  View是模型在屏幕上的表示,模型在进行操作后,其结果是通过视图显示的。

  Controller用于管理用户与视图发生的交互,定义用户界面对用户输入的响应方式。一旦用户需要对模型进行处理,不能直接执行模型,而必须通过控制器间接实现的。

  选择题

  1、设计模式一般用来解决什么样的问题( A )

  A.同一问题的不同表相 B不同问题的同一表相

  C.不同问题的不同表相 D.以上都不是

  2、下列属于面向对象基本原则的是( C )

  A.继承 B.封装C.里氏代换 D都不是

  3、Open-Close原则的含义是一个软件实体( A )

  A.应当对扩展开放,对修改关闭.

  B.应当对修改开放,对扩展关闭

  C.应当对继承开放,对修改关闭

  D.以上都不对

  5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( D )的表述

  A.开-闭原则

  B.接口隔离原则

  C.里氏代换原则

  D.依赖倒转原则

  7、设计模式的两大主题是( D )

  A.系统的维护与开发 B 对象组合与类的继承

  C.系统架构与系统开发 D.系统复用与系统扩展

  9、下列模式中,属于行为模式的是( B )

  A.工厂模式 B观察者 C适配器D 以上都是

  10、常用的软件体系结构评估的方法不包括( C )。

  A体系结构权衡分析法B.软件体系结构分析法

  C系统体系结构分析法D.中间设计的积极评审

  11、不属于软件体系结构的核心模型的最基本的元素是 ( D )

  A 构件 B 连接件C 配置 D 角色

  12、选项中部属于“4+1”试图模型的是:( C )

  A 逻辑视图 B 物理视图 C 连接视图 D 开发视图

  13、下列说法错误的一项的是( D )

  A:逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务

  B:开发视图也称模块视图,主要侧重于软件模块的组织和管理

  C:进程视图侧重与系统的运行特性,主要关注一些功能性需求,例如系统的性能和可用性。

  D:物理视图主要考虑如何吧软件映射到硬件上,它不需要要考虑到系统性能、规模、可靠性等。

  14、在三层C/S体系结构中,_________是最重要的构件。( A )

  A 中间件 B 末尾件

  C 功能层 D 数据层

  15、C/S系统中,服务器的以下任务中哪一个是错的?( A )

  A 数据库一致性要求

  B 数据库访问并发性控制

  C 数据库前端的客户应用程序的全局数据完整性规则

  D 数据库的备份与恢复

  16、 与C/S体系结构相比,B/S体系结构也有许多不足之处一下说法正确的是( A )

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

  B B/S体系结构的系统扩展能力差,但是安全性比较容易控制

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

  D B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,利于在线事务处理(Online Transaction Processing,OLTP)应用。

  17、以下关于软件体系结构描述方法说法错误的是(B)

  A图形表达工具在软件设计中占据主导地位。

  B由于软件设计语言和模块内连接语言具有严格的语义基础,因此它们能支持较小的`软件单元进行描述。

  C基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。

  D软件体系结构描述语言是参照传统程序设计语言的设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构描述语言。

  18、下列选项中关于ADL与其他语言的比较说法中错误的是( B )

  ADL与需求语言的区别在于后者描述的问题空哦关键,而前者则扎根于解空间中

  ADL与建模语言的区别在于后者对部分的关注要大于对整体的关注

  ADL与传统的程序设计语言的构成元素由许多相同和相似之处,有各自有着很大的不同

  ADL集中在构件的表示上。

  19、对动态软件体系结构的形式化描述通常可以采用的方法?( D )

  A、图形化方法B、代数进程方法 C、逻辑方法D、以上皆是

  20、以下哪些特征不属于动态体系结构特征( D ) ?

  A 可构造性动态特征

  B 适应性动态特征

  C 智能性动态特征

  D 安全性动态特征

  21、通常,一个Web服务可以分为4个逻辑层,分别为数据层(Data Layer)、数据访问层(Data Access Layer)、 业务层(Business Layer)和监听者(Listener)。离客户端最近的是监听者,离客户最远的是______:( A )

  A 数据层(Data Layer)

  B 数据访问层(Data Access Layer)

  C 业务层(Business Layer)

  D 监听者(Listener)

  篇二:软件体系结构期末范围综合

  1. 软件体系结构定义:

  软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

  2. 核心研究内容:

  (1)体系结构风格:描述特定系统组织方式的惯用范例,强调组织模式和惯用范例。

  (2)设计模式:软件问题高效和成熟的设计模板,模板包含了固有问题的解决方案。

  (3)应用框架:整个或部分系统的可重用设计,表现为一组抽象构件的集合以及构件实 例间交互的方法。

  3.软件危机表现形式:软件成本日益增长、开发进度难以控制、软件质量差、软件维护困难

  4.·构件:具有一定功能,能独立工作或能同其他构件装配起来协调工作的程序体。

  ·软件重用:两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。·构件与软件重用的关联关系:语义完整,语法正确和有可重用价值的单位软 件,是软件重用过程中可以明辨识别的系统。

  5. 软件体系结构模型的分类(5种):

  (1)结构模型:这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统配置、约束、隐含的假设条件、风格、性质研究结构模型的核心是体系结构描述语言。

  (2)框架模型:框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。

  (3)动态模型:动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为。例如,描述系统的重新配置或演化。动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。

  (4)过程模型:过程模型研究构造系统的步骤和过程。结构是遵循某些过程脚本的结果。

  (5)功能模型:功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。功能模型可以看作是一种特殊的框架模型。

  6. “4+1视图模型”

  最终用户:功能需求编程人员:软奖管理

  系统集成人员:性能 系统工程人员:系统

  可扩充性、吞吐量等拓扑、安装、通信等

  ·逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。

  ·开发视图:也称模块视图,主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统输入输出关系的模型图和子系统图来描述。 ·进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定

  义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。在最高层抽象中,进程结构可以看作是构成一个执行单元的一组任务。它可看成一系列独立的,通过逻辑网络相互通信的程序。它们是分布的,通过总线或局域网、广域网等硬件资源连接起来。

  · 物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。

  · 场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。在开发体系结构时,它可以帮助设计者找到体系结构的构件和它们之间的作用关系。同时,也可以用场景来分析一个特定的视图,或描述不同视图构件间是如何相互作用的。

  本地呼叫场景的一个原型:

  7.软件体系结构核心模型的组成元素(5种)的含义,彼此关系(构件、连接件、配置) (1)构件:计算或存储数据单元,包含多种属性,如接口、类型、

  语义、约束、演化和非功能属性等。

  (2)连接件:建立构件间的交互以及支配这些交互规则的体系结构

  构造模块。

  (3)体系结构配置:描述体系结构的构件和连接件的连接图。 用于确定构件是否正确连接、接口是否匹配、连接件构成的通信是 否正确,并说明实现要求行为的组合语义。 (4)端口(5)角色 8. 软件过程:需求分析→建立体系结构→设计→实现→测试

  10. 软件体系结构风格11. 体系结构风格的四要素:(1)提供一个词汇表;(2 语义解释原则;(412.通用体系结构的分类:

  经典的体系结构风格: (1)数据流风格:批处理序列;管道和过滤器。

  (2)调用/返回风格:主程序/子程序;面向对象风格;层次结构。

  (3)独立构件风格:进程通讯;事件系统

  (4)虚拟机风格:解释器;基于规则的系统。

  (5)仓库风格:数据库系统;超文本系统;黑板系统

  ·管道和过滤器模式:构件:过滤器,接收数据输入,进行转化后输出

  ·过滤器是独立的实体,相互之间没有状态的依赖

  ·对一个过滤器而言,它上游和下游的过滤器是透明的

  交互由管道提供,管道负责连接一个过滤器的输出和另一个过滤器的输入

  ·管道过滤器通用的结构有:

  (1)管线:也称为流水线,即限制系统的拓扑结构只能是过滤器的线性结构;

  如:批处理系统、Unix Shell、编译器

  (2)有界管道:限制了在管道中能容纳或传输的数据量;

  (3)类型定义管道:也称类型管道,即要求明确定义在两个过滤器间传输的数据类型。 优点:

  (1)系统的总体输入输出是每个过滤器的简单组合,易于理解;

  (2)支持重用;

  (3)易于维护和修改;

  (4)系统的一些特性容易分析,比如吞吐量、死锁;

  (5)支持并发。

  缺点:

  (1)经常退化为批处理系统;

  (2)交互能力差,管道之间同步困难。

  ·数据抽象和面向对象组织模式:

  构件:对象,或者说是抽象数据类型的实例。

  (1)对象是一种被称作管理者的构件,负责保持资源的完整性。

  (2)对象通过函数和过程的调用来交互的。

  面向对象模型(1)封装(2)继承(3)多态性

  这种模式的两个重要方面:

  (1)对象维护自身表示的完整性;(2)这种表示对其他对象是隐藏的。

  优点:(1)隐藏内部实现,容易修改;(2)问题分解;(3)重用;

  缺点:(1)对一个对象身份的依赖性(显示调用,即调用一个方法必须以:对象名. 方法名的方式进行调用)(2)继承往往使得设计变得复杂,引入的多层对象结构使得维护困难。 ·基于事件的隐式调用模式:

  构件:模块,模块既可以是过程,又可以是事件的集合。

  (1)过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被调用。

  特点:事件的触发者并不知道哪些构件会被这些事件影响。

  优点:(1)问题分解;将计算和交互相互分离,使得对象更加独立

  (2)系统演化和重用;通过事件注册,新的构件可以轻易的被引入系统

  缺点:(1)构件不能控制系统进行的计算;当一个组件发布事件的时候,它无法假设其他组件会对该事件作出响应(2)对事件触发的方法调用的次序无法控制(3)数据交换大数据量的数据交互往往没法由事件携带,从而带来性能问题(4)可能会对正确性的保证带来困难 ·分层模式

  优点:(1)支持逐层抽象的方式进行设计,从而可以将一个复杂系统的设计划分为多个相对简单的层次;(2)容易修改,每层的改变至多影响上下两层;(3)支持重用,只要保持接口不变,每层的具体实现的替换式透明的。(4)支持可移植性。

  缺点:(1)性能上的额外支出(2)并非每个系统都可以进行分层设计(3)跨层使用可能会损坏整个模型

  · 仓库系统及知识库模式

  构件:

  (1)中央数据结构构件:代表系统当前状态;(2)一些相对独立的构件的集合:这些构件对中央数据存储进行操作。当要交换或共享大量的数据时,仓库模式是最常用的解决方案。 数据交换方式:(1)共享的数据放在中心数据库中,所有构件可以通过访问数据库进行

  交互;(2)每个构件维护自己的数据库,通过显示的传递数据与其他构件进行交互。

  当要交换或共享大量的数据时,仓库模式是最常用的解决方案。

  若中央数据结构的当前状态触发系统相应的进程执行,则仓库是黑板系统。

  黑板系统由三部分组成:知识源、黑板数据结构、控制

  黑板模式特点:没有直接的算法可解、具有不确定性、黑板是一种特别的仓库,主要用于需要对凌乱的信息进行处理的领域,其控制策略必须是机会主义的。

  13. C2模式:通过连接件绑定在一起的按照一组规则运作的并行构件网络。

  C2模式中的系统组织规则如下:

  (1)系统中的构件和连接件都有一个顶部和一个底部;

  (2)构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;

  (3)一个连接件可以和任意数目的其它构件和连接件连接;

  (4)当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。

  C2模式的特点:

  (1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;

  (2)所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的;

  (3)构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。

  14. C/S风格:

  基本概念:C/S软件体系结构是基于资源不对等,且为实现共享而提出来的,C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。

  主要组成部分:数据库服务器、客户应用程序和网络。

  C/S风格—优点: (1)具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。(2)系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。(3) 将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。

  C/S风格—缺点: 开发成本较高、客户端程序设计复杂、信息内容和形式单一、用户界面风格不一,使用繁杂,不利于推广使用、软件移植困难、软件维护和升级困难、新技术不能轻易应用

  三层C/S风格—优点:(1)提高系统和软件的可维护性和可扩展性(2)具有良好的可升级性和开放性(3)并行开发(4)有效地隔离开表示层与数据层(5)为严格的安全管理奠定了坚实的基础

  三层C/S风格—注意点:

  1.各层间的通信效率若不高,即使

  分配给各层的硬件能力很强,其作为

  整体来说也达不到所要求的性能。

  2. 各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。

  B/S风格—基本概念:浏览器/服务器(B/S)风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。

  B/S风格—优点:基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。B/S风格—缺点:1.缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。2. 系

  统扩展能力差,安全性难以控制。3. 在数据查询等响应速度上,要远远地低于C/S体系结构。4.不利于在线事务处理(OLTP)应用。

  15. DSSA的定义:DSSA就是专用于一类特定类型的任务(领域)的、在整个领域中能有效地使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合

  16. DSSA的基本活动:领域分析、领域设计、领域实现。

  17. DSSA与软件风格的比较:(1)DSSA以问题域为出发点,体系结构风格以解决域为出发点。(2)DSSA只对某一个领域进行设计专家知识的提取、存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个应用领域。

  18. 软件体系结构和软件体系结构描述的区别:软件体系结构是附属于系统之中。只要存在系统,体系结构就存在;软件体系结构描述是将体系结构可视化的手段和产物

  19. 体系结构描述方式:图形表达方式、UML、模块接口语言MIL、ADL

  ·图形表达工具 优点:直观形象、简单易用 缺点:由于其术语和表达语义上存在着一些不规范和不精确,从而使得以矩形为基础的传统图形表达方法在不同系统和不同文档之间存在着许多不一致甚至矛盾。

  ·模块接口语言MIL 缺点:这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,限制了它们处理和描述比程序设计语言元素更为抽象的高层次软件构架元素的能力。

  20. 体系结构描述语言ADL定义:ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。

  21. 软件体系结构的分析评估:就是通过成本相对较低的活动来分析结构中可能存在的风险,发现软件体系结构中影响系统质量的关键因素,并提出相应的改进措施,在此基础上检验软件的性能需求是否得到满足。

  22. 系统的质量属性的分类:性能、可靠性、可用性、安全性、可修改性、功能性、可变性、 集成性、互操作性

  23.基于场景的评估方式:ATAM、SAAM

  SAAM法是把一个物体最丰要的属性列举出来,再用检查表法把各个项目加以变化,并将其加以重新组合,然后再找出其中可以实行而且也有效果的项目。

  优点:SAAM方法在改良事物性质的方面具有极大的功效。SAAM方法是第1个被广泛接受的体系结构分析评价方法。它适用于可修改性、可拓展性以及功能覆盖等质量属性。

  缺陷:没有提供体系结构质量属性的清晰的度量。评估过程依赖专家经验等,只适合对体系结构的粗糙评价

  步骤:1.形成场景2.描述体系结构3.对场景进行分类和确定优先级4.对间接场景进行单个评估5.评估场景和相互作用6.形成总体评估7.SAAM评估日程安排

  ATAM 是评价软件构架的一种综合全面的方法,它考虑了可修改性、可靠性和安全性等多种质量属性。

  优点: 有助于质量目标的具体化和排序;ATAM方法是被验证有效和广泛使用的一种方法,可以针对实用性、可靠性和可修改性这些质量属性,在系统开发之前对其进行分析和评价。 缺点:它对质量属性并没有进行深入分析,缺少定量的数据来支持分析的结果。

  步骤:

  1. 描述ATAM方法2.描述商业动机3.描述体系结构4.确定体系结构的方法5.生成质量属性

  效用树6.分析体系结构方法7.讨论和分级场景8.分析体系结

  构方法9.描述评估结果

  2. 内外有别模型

  篇三:《软件体系结构》课程设计

  《软件体系结构》课程设计

  设计题目: 实验室设备管理系统

  姓 名: 李欣 张丹 唐蔚霖 学 号: k0308413(07+13+17) 同组组长: 李欣同组其他成员:张丹 唐蔚霖

  实验指导教师:李超

  实验地点: 9B505

  完成日期: 2011-6-10

  湖北民族学院信息工程学院

  目录

  一、概述(目的、任务、开发环境、参考资料)

  二、采用的主要方法与技术

  三、需求分析

  四、设计

  五、实现过程与步骤

  六、遇到的困难与获得的主要成果

  七、测试与运行记录

  八、完成结果分析与总结

  九、附录(软件配置、个人完成的程序模块和文档清单)

  一、概述(目的、任务、开发环境、参考资料)

  21世纪以来,人类经济高速发展,人们发生了日新月异的变化。随着时代的发展,教育越来越需要实验,让学生从实验中得到更多,更扎实的知识。因此学校也需要对实验室的实验设备进行更多的投入,而投入之后就带来了管理方面的问题。我们做的这个系统主要是对设备的购买、维修、报废等方面进行了一定的管理,可以让设备进行有序、有效的管理,为管理人员节约一些因为管理混乱而浪费的时间。不过系统的功能还不够完善,性能也还不够稳定,有待于以后不断的进行完善。

  实现的功能如下:

  (1) 对于已彻底损坏的做报废处理,同时详细记录有关信息。

  (2) 对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、

  编号、修理厂家、修理费用、责任人等。

  (3) 对于急需修改但又缺少的设备,需以“申请表”的形式送交上级领导

  请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。

  (4) 随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类

  别和时间段等查询。

  参考文献:谭浩强主编.Visual Basic程序设计(二)教程.清华大学出版社

  柳青等编. Visual Basic 程序设计教程.高等教育出版社 范立南. SQL Server2000 实用教程.北京:清华大学出版社 孙燕等编.Visual Basic 程序设计.高等教育出版社 萨师煊 王珊编.数据库系统概论.北京:高等教育出版社 杨志强.Visual Basic 程序设计教程.北京:高等教育出版社.

  二、采用的主要方法与技术

  软件工程是一门从技术和组织管理两个角度研究如何用系统化、规范化和数量化等工程原理与方法去进行软件开发和维护的学科。软件工程学研究的范围非常的广泛,包括技术方法、工具、和管理等许多方面。软件生命周期的各个阶段可分为:

  问题定义:确定系统的基本功能

  可行性研究:确定系统是否能够实现及是否值得实现

  需求分析:确定系统必须完成的各种功能

  总体设计:确定如何实现软件

  详细设计:详细设计实现系统

  编码和单元测试:写出正确的容易理解和维护的程序模块

  综合测试:通过各种类型的测试及调试使软件达到预订的要求 软件维护:通过各种必要的维护活动使系统持久的满足用户需要 采用软件工程的技术开发本系统,通过以上八个阶段组成的软件生存期。

  它是指从提出开发要求开始直到该软件报废为止的整个时期。分阶段进行,就把规模庞大、结构复杂和管理复杂的软件变得很容易控制和管理。

  本系统主要利用Visual Basic作为前端的应用开发工具,利用ACCESS作为后台的数据库,利用Windows XP作为系统平台。

  Windows xp以其友好的图形界面、易学易用的操作方法、强大的多任务功能、健全的内在管理以及先进的程序设计方法为广大数据库软件开发人员嗦熟悉。对它的操作环境熟悉,使得我们在其开发数据库应用程序更加方便、可靠。

  三、需求分析 (该过程参考西方和本国制定的软件需求规范说明书相关标准)

  管理员可以对实验室设备信息进行查询及相关实验室设备的使用情况查看。管理员可以根据本人用户名及密码登录系统。在信息系统中,后台数据库存储的地位相当重要,数据库的设计不但对数据的操作速度有影响,还直接关系到软件系统的质量和生存周期,本系统数据库中包括教师资料数据表、借用设备表、仪器表、用户登录表。系统首先必须维护实验室中详细资料的数据表,程序能对该表进行写入和读出数据的操作。相应的,该表还有记录读者的借用情况,系统通过该表判断读者是否满足借用条件。系统还要管理员信息表,记录管理员的资料,检验管理员的登录,管理员的权限等。

  1、目的

  1)便于用户、分析人员和软件设计人员进行理解和交流

  2)希望系统的外部项均支持目标软件系统的确认。根据需求规格说明书中确立的可测试标准进行测试,并得到确认。

  3)控制系统进化过程

  2、软件产品的作用范围

  学校、科研机构、大型实验室

  3、功能需求

  1)设备预订:实现实验人员在系统平台上查询库内实验设备的状态及其在某一时段的使用状态,若无损坏且未被预订使用,则用户可以预订使用。

  2)设备管理:实现现在仓库中的每样设备信息的登记和新设备的入库登记,旧设备的报修、报废处理、以及设备状态的更改。

  3)设备的借出:按照教师所需设备给予借出,并在数据库中更改这些设备的使用状态

  4)设备的归还:按照教师所还设备而进行入库登记,并在数据库中更改这些设备的使用状态。

  5)设备报修:实验人员在实验过程中如果发现设备损坏,通过此系统报告给管理员,同时修改数据库中的设备状态。

  4、数据库需求

  用户的需求具体体现在各种信息的提供、保存、更新和查询,要求数据库结构能够充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详细的数据字典。

  四、设计(该过程参考西方和本国制定的软件设计规范说明书相关标准)

  1、总体设计

  原理:总体设计的基本目的就是回答“概括的说,系统应该如何实现?”这个问题。因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将计划分出组成系统的物理元素-----程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互之间的关系。

  总体设计工程通常有两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计确定软件机构,也就是要确定系统中每个程序拥有哪些模块组成,以及这些模块之间的关系。在详细设计之前进行总体设计可以站在全局的高度上,花较少的成本,从中选出最佳的方案和最合理的软件结构,从而用较低的成本开发出高质量的软件系统。

  2、详细设计

  数据库的概念设计:根据对数据流图和数据字典的分析,确定该应用中的实体、属性、和实体之间的联系,并画出系统总体E-R图。概念设计可以分为三部进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。

  局部E-R模式设计:实体和属性的定义。ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。

  利用ER方法进行数据库的概念设计,可以分三个步骤进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后把全局ER模式进行优化,得到最终的模式。所有局部ER模式设计好了之后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。

  1)局部ER模式的合并

  合并的原则是:首先进行两两合并;先合并那些现实世界中有

【《软件体系结构》期末复习题】相关文章:

语文期末复习题06-12

期末复习题参考06-18

药理期末复习题06-18

词语期末复习题03-09

小学英语期末复习题06-17

期末数学复习题精选06-17

语文上册期末复习题06-17

软件技术基础模拟复习题06-14

小学语文期末复习题目精选06-19