软件设计与体系结构练习 大连海事大学

软件设计与体系结构练习 大连海事大学
软件设计与体系结构练习 大连海事大学

一、选择题

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

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

C.不同问题的不同表相

D.以上都不是

2、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(a )模式。

A.创建型

B.结构型 C行为型 D.以上都可以

3. 对于依赖倒转的表述错误的是( e )

A.依赖于抽象而不依赖于具体,也就是针对接口编程。

B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法

集合。

C.从选项B的角度论述,一个对象可以有多个接口。

D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那

个实现类的实例。

E.此题没有正确答案。

4. 软件体系结构是一门新兴学科,它来源于(C)

A.程序设计语言 B. 数据库技术 C.软件工程 D. 网络通信

5.“不要和陌生人说话” 是( d )原则的通俗表述

A.接口隔离

B.里氏代换

C.依赖倒转

D.迪米特:一个对象应对其他对象尽可能少的了解

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

A.开-闭原则

B.接口隔离原则

C.里氏代换原则

D.依赖倒转原则

5.Open-Close原则的含义是一个软件实体( a )

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

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

C.应当对继承开放,对

修改关闭 D.以上都不对

二.判断题

1.在设计模式原则中里氏代换原则指出不要为了使用某些类的方法(功能)而滥用继承。Y

2.软件总是有体系结构的,不存在没有体系结构的软件。Y

3.UML中用菱形和箭头线表示聚合。Y

4.软件设计原则之一是要使用继承,而不是组合。N

5.在设计模式原则中里氏代换原则指出为了使用某些类的方法(功能)而使用继承。N

6.软件不总是有体系结构的,存在没有体系结构的软件。N

7.软件体系结构处理算法与数据结构之上的、关于整体系统结构设计和描述方面的一些问题。

Y

8.软件的可重用性是指软件可以被重复运行多次。N

9.软件的灵活性是指用户可以按多种方式使用该软件。N

三.填空题

1.创立型模式的根本意图是要把(对象的创建)和(使用分离)的责任进行分离,从而降低系统的(耦合度)。

2.设计模式的基本要素有(名称,目的(意图),解决方案,实施后达到的效果)。

3.软件体系结构是软件设计过程中的一个( 层次),这一层次超越计算过程中的算法设计和

数据结构设计。

4.所有设计原则的目标都是为了使软件: ( 降低耦合 ) 、 ( 增强灵活性 ) 。

5.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(创建性)模式。

6.Abstract Factory经常用(工厂方法)模式实现。

7.设计模式中应优先使用的复用技术是(对象组合)。

8.设计时应该将(可变部分)封装起来。

四.简答题

1、设计软件时应遵循的设计原则有哪些?

2、简述抽象工厂设计模式的优缺点?

3、简述单件设计模式在实现过程中需要注意的问题?

4、简述抽象工厂设计模式与工厂设计模式之间的关系?

1.封装一个对象的结构和组成的设计模式为:

A.状态模式 B.抽象工厂模式 C.装饰者模式 D.组合模式

2.设计的健壮性是指:

A.符合需求 B.容忍错误 C.响应时间短 D.易维护

3.提供一个产品类库,只显示它们的接口而不是实现时,可以采用的设计模式为:

A.抽象工厂 B.组合模式 C.装饰者模式 D.工厂方法

4.软件设计模式的四个基本要素是:

A.模式名称、问题、解决方案、效果 B.动机、问题、解决方案、效果

C.适用性、问题、解决方案、效果 D.模式名称、问题、解决方案、实现装饰者设计模式的意图是动态地给一个对象添加一些额外的职责。

1.使用继承处理对象间关系的设计模式包括:工厂方法、适配器、模板方法和解释器模式。

2.A bstract Factory经常用工厂方法模式实现。

3.迭代器设计模式根据谁控制迭代可分为外部迭代器、内部迭代器。4.适配器设计模式可分为类模式(类适配器)、对象模式(对象适配器)两类。5.A bstract Factory经常用工厂方法模式实现。

6.创建型模式抽象了实例化过程。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。

1.请说出在什么情况下可以采用策略设计模式,并指出装饰者模式与策略模式的区别。(7分)

四、设计题

1.客户端通过类的接口访问提供的服务,一般现有类可提供用户所需的功能,而有时不能满足用户的期待。例如有两个毫不关联的类组合在一起使用,要么就是修改各自的接口,但是在不修改各自接口的前提下,该怎么做呢?

给出采用的设计模式的名称及原因,给出此设计模式的类关系图,并说明各部分的作用。

2.假设某系统有一个对话框(dialog),可以将对话框定义为一个类,为了保证对话框的唯一性,需要如何设计?请给出实现代码。

3.移动机器人系统必须处理外部传感器和传动装置,能够实时响应,并且响应速度要和工作环境中的系统行为相匹配。特别地,移动机器人的软件功能主要有:

采集从传感器发送来的输入信号

操纵车轮和其他可移动零件的运动

规划未来的移动路线。

设计系统需要考虑的因素有:

需求1:这种体系结构必须能够协调有准备的行为和反应行为。即机器人必须能够协调控制为完成指定的目标(如收集岩石标本)而采取的行动和由环境(如避开障碍物)引起的反应行为。

需求2:这种体系结构必须能够处理不确定性。机器人的操作环境是不能完全预测的。这种体系结构必须提供一个框架,在这个框架下,机器人能够应对不完整的或不可靠的信息(比如,矛盾的传感器读数)。

需求3:这种体系结构必须能够应对机器人操作和环境中固有的危险。通过考虑容错度、安全性和性能,这个体系结构必须能够帮助保持机器人、操作及其环境的完整性。诸如电力供应下降,有毒气体,门被意外地打开等问题,不应该导致灾难。

需求4:这种体系结构必须给予设计者灵活性。移动机器人的应用开发经常需要实验和重新配置。另外,任务的改变需要定期的修改。

请你设计这个系统的体系结构,列出其中主要的组件(构件),并给出理由。

4.现有一系统,需要迭代器接口,迭代器如下

但是现在没有迭代器接口的实现,只有枚举类型(Enumerate)的实现,枚举器接口如上图所示,请解决此问题,给出设计方案,画出相应的类图,并描述采用的设计模式的适用情况。

5现有一个表示打印机资源的类:

请你定义这个类,保证它只能被创建一个实例,请你给出关键部分的代码。

5.某公司开发一个文档编辑器,文档包括字符、线、多边形和其他图形元素,编辑器允许作者将某些字符、图等构成的集合看做一个单元,直接操作。请你设计一种方案,画出类图,给出理由。

7现需为一个大型公司开发一套系统,要求公司内部的员工可以浏览、填报相关数据,公司外部客户可以查看一些对外发布的信息,某些客户也需要提交大批量的数据。请设计适合的体系结构,给出体系结构图,并说明这样设计的理由。

8.构建一个系统来显示示波器的波形数据。示波器是一个仪器系统,能对模拟信号取样,并在屏幕上显示信号的曲线,需要实现的功能包括过滤、采样、波形处理、显示,并且要求可以与用户针对每个功能进行交互。请你设计这个系统的体系结构,列出其中主要的组件(构件),并给出理由。

9.现在要编写系统对现要开发一个公司的管理系统,总部有人力资源、财务部门,公司在全国几大城市都设有分公司,分公司还会在一些城市设办事处,总部、分公司和办事处都需要有人力资源和财务部的办公室管理功能,并且可以按统一的方式处理总部和办事处的功能模块。请你选择一种设计模式,画出类关系图,并给出理由。

10.KWIC(key word in context)检索系统接受有序的行集合,每一行是单词的有序集合,每一个单词又是字母的有序集合,通过重复的删除行中第一个单词并把它插入到行尾,每一行可以被“循环地移动”,KWIC 检索系统以字母表的顺序输出一个所有行循环移动的列表。请设计这个系统的体系结构,给出组件(构件),并给出理由。

简答题

1、简述软件体系结构的定义、意义和作用。

2、隐式调用的优缺点?

3、设计软件应遵循的原则?

4、简述体系结构权衡分析法(ATAM)的评估步骤。

5、ATAM评估结果的内容。

6、请说出在什么情况下采用策略设计模式,并指出装饰者模式和策略模式的区别。

7、给出观察者模式的类关系图,并说明其中各部分的作用。

8、简述三层C/S体系结构的优点?

9、可复用的面向对象设计的两条原则是什么?

船舶操纵题库6

四章一节 1、在大风浪中顺浪航行的条件是: I.波长小于船长时;II.波长大大长过船长时;III.波长与船长相近似,船速又与波速接近时 A、仅I对 B、仅II对 C、I、II对 D、仅III对 2、船舶横摇周期Tθ,波浪周期τ,当Tθ >τ时,则船舶横摇周期较 ,甲板上浪较 .。 A、慢;少 B、快;少 C、慢;多 D、快;多 3、在北半球台风的危险半圆是指台风的半圆。 A、左 B、右 C、前 D、后 4、在北半球可航半圆内避台操纵法是: I.以左首约15°~20°顶风全速驶离;II.使右首受风顶风滞航;III.使右尾受风驶离 A、仅I对 B、仅II对 C、仅III对 D、II、III对 5、船舶为避免卷入台风中心的操纵方法是: A、在北半球,船舶应以右首舷的15°~20°顶风全速航行 B、在南半球,船舶应以右尾受风全速航行 C、A、B都对 D、A、B都不对 6、船舶在海上航行时遇到大风浪,使该船剧烈摇摆,拍底和甲板大量上浪,螺旋桨打空车,该船应采取: A、滞航 B、顺浪航行 C、漂滞 D、顶风,顶浪航行 7、在大风浪中航行的船舶,为避免谐摇,改变波浪的遭遇周期,可采取下述那种措施? A、改变航向 B、即改变航向又变速 C、改变船速 D、A、B、C、均可采取 8、船舶在大风浪中掉头操纵,下述哪个是不正确的? A、利用海浪的三大八小变化规律,使船舶在风浪较平静是掉头 B、掉头过程中要快车满舵,以求尽快掉成 C、从顶浪转向顺浪时,转向应在较平静海面来到之前开始,以求在较平静海面时正好转到顺浪 D、从顺浪转到横浪较危险,必须降低惯性冲力,等待时机,以求在较平静的海面掉头完毕 9、有关大风浪中采取漂滞法的船,下述哪项不正确? A、保持舵效的最小速度并将风浪放在船首2~3个罗经点迎浪航行 B、船舶停止主机随风浪漂流 C、适用保向性差或衰老的船舶 D、可在船首抛出锚链或大缆使船首迎风浪 10、海上波浪周期为10秒,如本船横摇周期分别为下列所述,正确的船舶摇摆情况是: A、周期6秒时,横摇较快 B、周期10秒时,横摆最剧烈 C、周期14秒时,横摇较慢 D、A、B、C、都对 11、在大风浪中航行,为减轻拍底现象应保持首吃水大于满载吃水的多少? A、1/3 B、1/2 C、3/4 D、以上都可以 12、当船舶处于纵摇和垂荡都很严重时,为了减轻摇荡,须避开临界区域,采取最有效的措 施是: A、减速 B、改变航向 C、调整吃水差 D、以上都行 13、在大风浪中航行,船舶受波浪的作用,使其围绕着通过重心的X、Y、Z轴作线运动和 回转运动,过X轴的摇摆运动称为:

软件设计与体系结构

1.面向对象编程中是如何体现封装性的? 2.面向对象编程的重载和重写的含义是什么? 3.什么是接口回调?其过程细节是怎样的? 4.是举例说明什么是组合关系和依赖关系? 5.距离说明什么是抽象类和接口,有什么区别,如何应用它 们? 6.面向对象方法有哪些基本原则? ①抽象类与接口②面向抽象原则③开-闭原则④“多用组 合,少用继承”原则⑤“高内聚-低耦合“原则 7.什么是设计模式?它的基本要素有哪些? 8.什么是框架?框架与模式的区别有哪些? 框架是针对某个领域,提供用于开发应用系统的类的集合。 区别:①层次不同②范围不同③相互关系 9.举例说明面向对象的多态性? 10.软件体系结构有哪几种形式? 1.概念结构:从主要设计元素(构件)及其相互关联、设 计原则和性能角度考虑的结构。 2.模块结构:根据功能分解建立模块的层次结构包括模块 接口、模块管理、模块控制和一致性等问题。

3.代码结构:描述源程序,二进制程序,库文件。在开发 环境下的组织包括系统资源配置管理,系统构造和对象嵌 入机制 OEM 等。 4.执行结构:描述系统的动态结构包括性能、调度、动态 配置和不同系统间的接口等。 11.构件之间的连接方式有哪些? 1)过程调用: 在某一特定执行路径中传递执行指针。如普通 过程调用、远程过程调用。 2)数据流: 相互独立的处理通过数据流进行交互,在得到数 据的同时被赋予控制权限。如 UNIX 系统中的管道。 3)间接激活: 处理因事件的发生而激活,在处理间没有直接 交互。例如,事件驱动系统、自动垃圾回收等。 4)消息传递: 相互独立的处理间有明确交互,通过显式数据 传递。传递可以是同步的,也可以是异步的。如TCP/IP 。 5)共享数据: 构件通过同一数据空间进行并发操作。如多用 户数据库, 数据黑板。 12.C/S体系结构的主要组成部分有哪些?其作用是什么? 1)服务器:负责给其他子系统提供服务。如,数据库服 务器提供数据存储和管理服务,文件服务器提供文件 管理服务,打印服务器提供打印服务等。 2)客户机:向服务器请求服务。客户机通常都是独立的 子系统,在某段时间内,可能有多个客户机程序在并 发运行。

软件设计体系结构复习

各种性能指标及如何到达各种性能指标的方法 反应—对正常和极端用法的脚本的反应是否足够快 可伸缩性—系统的能力克根据需要增加或减少 容量/产量—处理大负荷仍有反应 安全性—系统不会社会产生危害 常用的中间件有那几种类型 (1)常见的对象请求代理架构 (2)面向消息的中间件 (3) Java2 Enterprise Edition(Java2的企业版) (4)消息代理 (5)业务过程代理 有那些常见架构风格 1.管道和过滤器架构风格 适用于需要定义一系列的执行规则数据的独立运算。 组件在输入时读数据流,在输出时产生数据流。 组件:称为过滤器,应用于对局部的输入流的转换,经常增长的计算,因此,在输入结束前输出就开始了。 . 连接器:称为管道,给流提供管道,把一个过滤器的输出传输到另一个输入。 2.面向对象风格 适用于主要问题是识别和保护信息的相关主体。 数据代理和它们相关的操作封装在一个抽象数据类型里面。 组件:对象 连接器:功能和过程调用(方法) 3.隐式调用风格 应用于涉及到组件的松耦合集,其中的每一个都执行一些操作,还可能允许其他的操作。 尤其对必须很快重新配置的应用很有用 改变服务的供应商 可能的或是不可能的能力 不是直接的引用过程 一个组件能发表一个或多个事件 在系统中的其他组件能够在事件中注册一个兴趣通过与事件和过程结合 当一个事件被声明后,广播系统(连接器)自己引用已经注册的事件的所有过程 所有声明的事件“隐式”造成了过程在其他模块的调用 4. 客户-服务器风格 适用于涉及到分布式的数据和跨越一系列的组件的处理 组件: 服务器:标准独立的组件提供特别的服务,如打印,数据管理等。 客户端:组件调用服务器提供的服务。 连接器:网络,允许客户端访问远程服务器。 5.分层风格 适用于涉及到分布式的能够分层的组织的类的服务

大连海事大学2011研究生专业试题s数据结构部分

管理科学与工程专业 管理信息系统与数据结构 数据结构部分(50分) 一、简要回答下列问题(10分) 1、简述堆排序的思想方法,以及为实现堆排序需要解决的如下两个问题的 过程(以大顶堆为例)(7分) (1)如何在输出堆顶元素之后,调整剩余元素成为一个新的堆? (2)如何由一个无序序列建成一个堆? 2、什么是ASL?写出ASL的定义(写出式子)(3分) 二、单项选择题(10分) 1、某程序的时间复杂度为(3n+nlog2n+n2+8),其数量级表示为()。 A.0(n) B.(nlog2n) C.0(n2) D. 0 (log2n) 2、设有一个含150个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表项的平均探查次数不超过1.5,则散列表项应能够至少容纳()个表项。(设查找成功的平均查找长度为S n1={1+1/(1-a)}/2其中a为填装因子) A 。400 B。300 C。 450 D 600 3、对于长度为9的有序顺序表,若采用折半查找,在等概率情况下查找成功 的平均长度为()的值除以9. A.20 B.18 C.25 D.22 4、在无向图中定义顶点V i与V j之间的路径为从V i到达V j的一个() A.顶点序列 B.边序列 C.权值总和 D.边的条数 5、已知一有向图的邻接表储存结构如图所示,根据有向图的深度优先遍历算法,从v1出发的顶点序列为()。

A.V1,V2,V3,V5,V4 B.V1,V2,V3,V4,V5 C.V1,V3,V4,V5,V2 D.V1,V4,V3,V5,V2 三、填空题(5分) 1、在有序表A[1..30]中,按二分查找方法进行查找,查找长度为5的元素个数是 ______. 2、在一个深度为K且具有最小结点数的完全二叉树上,按层次用自然数依次对结点编号,则编号最小的叶子的序号是______;编号是i的结点所在的层次号(根在1层)是________。 3、为了实现图的广度优先搜索,除了一个标志数组来标志已访问的图的结点外,还需______存放被访问的结点以实现遍历。 4、用单链表表示的链式队列,入队时应该修改链表的链_______指针。 四、判断下列叙述的对错(5分) 1、在树中,如果从结点K出发,存在两条分别达到K’,K’’的长度相等的路径,由结点K’和K’’互为兄弟。 2、线性表的链式存储结构式通过指针来间接反映数据元素之间逻辑关系的。 3、在线性表的顺序存储结构中,每插入一个数据元素都必须移动相应的数据元素。 4、若连通网络的各边的权值均不相同,则依据Prim算法所构造的最小生成树是唯一的。 5、在散列法中采取开散列(链地址)法来解决冲突时,其填装因子的取值一定在(0,1)之间。 五、综合题(20分) 1、在起泡排序、堆排序和快速排序中:(6分) (1).若只从排序结果的稳定性考虑,则应选取哪些排序方法? (2).若只从存储空间考虑,则应选哪些排序方法? (3).若只从平均情况下排序最快考虑,则应该选取哪些排序方法? (4).若只从最坏情况下排序最快考虑,则应该选取哪些排序方法?

大连海事大学船舶操纵复习提纲1到19条

避碰部分复习提纲(1~19) NO.1 一、适用对象及水域 1. 适用的水域 1)公海 2)连接公海而可供海船航行的一切水域 2. 适用的对象 适用于上述适用水域中的一切船舶,而非仅适用于海船。 二.“规则”与地方规则的关系 1.特殊规定(特殊的航行规则) 1)制定的部门——有关主管机关: An appropriate authority 2)适用对象: 港口、港外锚地、江河、湖泊、内陆水道. 3)关系: (1)特殊规定优先于“规则” (2)特殊规定应尽可能符合“规则”各条,以免造成混乱。 2. 额外的队形灯、信号灯、号型或笛号(特殊的号灯、号型及声号) 1)制定部门---各国政府:The Governmant of any State 2)适用对象、信号种类及要求 NO.2 一、对象 1.船舶 2.船舶所有人 3.船长或船员 二、三种疏忽的分类: 1.遵守本规则的疏忽 其表现形式多种多样,一般可归纳为以下几种: 1)忽职守,麻痹大意。不执行甚至违反《规则》; 2)错误地解释和运用《规则》条文; 3)片面强调《规则》的某一规定,而忽视条款间的关系和系统性; 4)只要求对方执行《规则》,不顾自身的义务和责任。 2.对海员通常做法可能要求的任何戒备上的疏忽 (1)不熟悉本船的操纵性能及当时的条件的限制而盲目操船; (2)对风流的影响估计不足;

(3)对浅水,岸壁,船间效应缺乏应有的戒备; (4)不复诵车钟令和舵令; (5)未适应夜视而交接班 (6)狭水道,复杂水域航行时没有备车,备锚,增派了望人员; (7)在不应追越的水域,地段或情况下盲目追越; (8)未及时使用手操舵; (9)锚泊的水域或方法不当;或对本船或他船的走锚缺乏戒备 (10)了解地方特殊规定及避让习惯。 3.当时特殊情况可能要求的戒备上的疏忽 构成特殊情况的原因很多, 主要有:自然条件的突变;复杂的交通条件; 相遇船舶突然出现故障;出现《规则》条款没有提及的情况和格局等。 例如:(1)突遇浓雾,暴风雨等严重影响视距和船舶操纵性能的天气; (2)两艘以上的船舶相遇构成碰撞的局面; (3)夜间临近处突然发现不点灯的小船,或突然显示灯光的船舶; (4)他船突然采取具有危险性的背离《规则》的行动; (5)由于环境和条件的限制,使本船或他船无法按照《规则》的规定采取避碰行动。 三.“背离”的目的,条件与时机 1.目的:为避免紧迫危险。 2.条件: (1)“危险”确实存在,不是臆测或主观臆断的; (2)危险是紧迫; (3)“背离”是合理(且有效)的,不背离反而不利于避碰。 4.时机: 采取背离行动的时机显然只能在紧迫局面形成之后,“紧迫危险”尚未出现之前,不可过早或过晚。 NO.3 1.船舶: (1)显然,军舰专用船舶和从事海上勘探的各种钻井船等均属于船舶。 (2)潜水艇——当其在水面航行时,方为“船舶”。 (3)非排水船舶——航行时,基本上或完全不靠浮力支持船舶重量的船舶。 2. 机动船:这里为广义,但在第二章各条中,不包括: 失去控制的船舶,操限船和限于吃水的船舶,从事捕鱼的船舶。 3. 帆船Sailing vessel (指任何驶帆的船舶,如果装有推进器但不在使用.) 为单纯用帆行驶的船舶。机帆并用----为机动船。 4.从事捕鱼的船舶: (1)正在从事捕鱼,不论其是否对水移动; (2)作业时,所使用的渔具使其操纵性能受到限制。 5.水上飞机——水面航行时属“船舶”,水上超低空飞行时属“飞机”。

软件设计与体系结构复习整理题目及答案

1、各种性能指标的定义及如何到达各种性能指标的方法ppt1-8 119页-124页 ①性能:吞吐量Throughput 、响应时间Response Time 、Deadlines ②实现吞吐量:Peak & Average Many system have low average but high peak throughput requirements ③实现响应时间: Guaranteed & Average E.g. 95% of responses in sub-4 seconds, and all within 10 seconds ④Dealines :Deadlines often associated with batch jobs in IT systems 2、常用的中间件有那几种类型(四种) 分类:Business Process Orchestrators 业务流程协调器 Message Brokers 消息代理 Application Servers 应用服务器 Transport 面向消息的中间件,分布式对象系统 (1)CORBA---公用对象请求代理(调度)程序体系结构,它在对象间建立客户-服务器的关系,这样一个客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是通过一个网络访问。 (常见的对象请求代理架构) (2)Basic Message-oriented middleware---- MOM 指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。 (面向消息的中间件) (3)J2EE---- J2EE 核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技 Message-Oriented Middleware, Distributed Objects Systems J2EE, CCM, .NET BizTalk, WebSphere Message Broker, SonicMQ BizTalk, TIBCO StaffWare, ActiveBPEL

软件体系结构试题免费版本

软件体系结构考试试题 1、设计模式一般用来解决什么样的问题( a) A.同一问题的不同表相 B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 2、下列属于面向对象基本原则的是( c ) A.继承 B.封装 C.里氏代换 D都不是 3、Open-Close原则的含义是一个软件实体( a ) A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对 4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。 A.创建型 B.结构型 C行为型 D.以上都可以 5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( d )的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则 6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。 A, 委派 B.继承 C创建 D.以上都不对 复用方式:继承和组合聚合(组合委派) 7、设计模式的两大主题是( d ) A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 8、单子模式中,两个基本要点( a b )和单子类自己提供单例 A .构造函数私有 B.唯一实例 C.静态工厂方法 D.以上都不对 9、下列模式中,属于行为模式的是( b ) A.工厂模式 B观察者 C适配器以上都是

10、“不要和陌生人说话” 是( d )原则的通俗表述 A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解 11、构造者的的退化模式是通过合并( c )角色完成退化的。 A.抽象产品 B产品 C创建者 D使用者 12、单子(单例,单态)模式类图结构如下: 下列论述中,关于”0..1”表述的不正确的是( d ) A.1表示,一个单例类中,最多可以有一个实例. B.”0..1”表示单例类中有不多于一个的实例 C.0表示单例类中可以没有任何实例 D.0表示单例类可以提供其他非自身的实例 13、对象适配器模式是( a )原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则 14、静态工厂的核心角色是(a) A.抽象产品 B.具体产品 C.静态工厂 D.消费者 15、下列关于静态工厂与工厂方法表述错误的是:( a ) A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码 B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法中 C.不能形成静态工厂的继承结构 D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。 16、在观察者模式中,表述错误的是( c ) A.观察者角色的更新是被动的。 B.被观察者可以通知观察者进行更新 C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。 D.以上表述全部错误。 17.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:( d ) A.创建一个新的抽象类C,作为两个具体类的超类,将A 和B 共同的行为移动到C 中,从而解决A和B 行为不完全一致的问题。 B.将B到A的继承关系改组成委派关系。 C.区分是“IS-a”还是”Has-a”。如果是“Is-a”,可以使用继承关系,如果是”Has-a”应该改成委派关系

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

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

软件设计与体系结构期中考试试卷

安徽师范大学 2015-2016 学年 第一学期 数学计算机科学学院软件工程专业2013级《软件设计与体系结构》课程期中考试试卷 (180分钟 闭卷) 注意:请保持字迹工整 一、单选题(10小题,每小题2分,共20分) 1、下面哪种开发方法是非传统方法( ) A 、功能分解法 B 、结构化方法 C 、面向对象方法 D 、信息建模方法 2、下面那一项不属于用况图中的参与者( ) A 、人员 B 、内部系统 C 、外部系统 D 、设备 3、对象间的is-a 关系可以用以下哪一个来表示( ) A 、组合 B 、聚合 C 、关联 D 、继承 4、只与你的直接朋友通信描述的哪一个设计原则( ) A 、单一职责原则 B 、开闭原则 C 、接口隔离原则 D 、迪米特法则 5、一个软件实体应该对扩展开放,对修改关闭。这描述的是哪个原则( ) A 、单一职责原则 B 、开闭原则 C 、依赖倒置原则 D 、里氏代换原则 6、常用的基本设计模式可分为( ) A 、创建型、结构型和行为型 B 、对象型、结构型和行为型 C 、过程型、结构型和行为型 D 、抽象型、接口型和实现型 7、对于类图,下列叙述正确的是( ) A 、创建类图是为了对系统的动态结构进行建模 B 、在系统分析和实施阶段可以创建和使用类图 C 、每个类图都应该具有泛化关系 D 、以上说法都不对 8、类与类之间存在相互关系,下面哪一种关系与其他三种不同( ) A 、双向关联 B 、聚合关系 C 、组合关系 D 、依赖关系 9、Open-Close 原则的含义是一个软件实体( ) A 、应当对扩展开放,对修改关闭. B 、应当对修改开放,对扩展关闭 C 、应当对继承开放,对修改关闭 D 、应当对继承关闭,对修改开放 10、当需要对系统功能以及与系统进行交互的外部事物进行建模时,我们一般采用( ) A 、用况图 B 、类图 C 、活动图 D 、顺序图 二、简答题(4小题,每小题5分,共50分) 1、OOA 中问题域和系统责任的含义分别是什么意思? 2、OOD 模型中总共包含几个部分,分别是哪几个部分,哪个部分是核心部分?

软件设计与体系结构题目与答案

1.各种性能指标及如何到达各种性能指标的方法 (1)防止变异模式:是如何设计对象,子系统和系统,使这些元素内部的变化或不稳定性不会对其他元素产生不良影响。 解决方案:识别预测的变化或不稳定之处,分配职责用以创建稳定借口。 (2)依赖反转原理:把你的类从局的现实中隔离开,使他们依赖于抽象类或接口。它促进了代码面向接口而不是实现,这通过保证对实现的低耦合来增加系统的灵活性。 2.常用的中间件有那几种类型 (1)常见的对象请求代理架构 (2)面向消息的中间件 (3)J2EE (4)消息代理 (5)业务过程代理 3.有那些常见架构风格 (1)管道和过滤器架构风格 (2)面向对象风格 (3)隐式调用风格 (4)客户-服务器风格 (5)分层风格 (6)仓库风格 (7)解释程序风格 (8)过程控制风格 4.架构师需要的核心技能是什么 (1)涉众之间的交流 (2)技术知识 (3)软件工程学 (4)风险管理

5.什么是软件架构 软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致的描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口(计算机科学)实现。 6.什么是架构风格 一组原则。你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。 7.什么是架构视图 一个架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,从而省略了此方面无关的实体。 8.各种架构风格的组件和连接器是什么 1.管道和过滤器架构风格: 适用于需要定义一系列的执行规则数据的独立运算,组件在输入时读数据流,在输出时产生数据流 组件:称为过滤器,应用于对局部的输入流的转换,经常增长的计算,因此,在输入结束前输出就开始了 连接器:称为管道,给流提供管道,把一个过滤器的输出传输到另一个输入。 2.面向对象风格: 适用于主要问题识别和保护信息的相关主体 数据代理和他们相关的操作封装在一个抽象数据类型里面 组件:对象 连接器:功能和过程调用 3.客户-服务器风格: 适用于涉及到分布式的数据和跨越一系列的组件的处理 组件:服务器、客户端 连接器:网络 4.分层风格: 适用于设计到分布式的能够分层的组织的类的服务,每层给它的上一层提供服务,同时作为下一层的客户端。只有仔细的从内层选择选择过程,才能用于他们接近的外层。 组件:典型的过程的集合

软件设计模式与体系结构复习资料

设计准则I:正确性和健壮性 1.正确性:每个项目都要满足指定的需求,然后一起满足所有应用程序的需求,设计的正确性一般是指充分性,实现正确性的正式方法是依靠数学逻辑,非正式方法是判断设计是否满足所需的功能,当进入详细设计阶段时,经常采用正式方法来判断正确性。 2.模块可是类或者类的包,包的接口和类的接口不同,包不能被实例化,通过包来使用接口的一种方法是利用包中指定对象来提供相应的接口。 3.为了模块化特定的应用程序,在高层需要创建包,在底层需要创建类 4.设计中用到两种类:领域类和非领域类,一般是从领域类开始类的选择,然后扩展到非领域类,非领域类通常用于概括领域类。 5.健壮性:防止错误输入,防止开发错误;提高健壮性的办法:检查输入、初始化、参数传递技术、检查参数是否违反约束的方法、在类中捕获参数、包装参数、强化意图。 设计准则II 灵活性、可重用性、高效性 1.灵活性:在设计时通常要考虑到将来的变化;增加新功能要依据其上下文和应用范围 2.可重用性:一个方法相对于上下文环境越独立,其可重用性就越高;完全指定、避免不必要的封装类耦合、让名字更具表达性、解释算法。 3.高效性:应用程序必须在指定时间内完成特定的功能,同样,对内存容量也有一定的要求 设计模式引言: 1.设计目标是:灵活性、健壮性、可重用性 2.设计原则:面向接口编程的原则(面向接口编程而不是面向实现编程)、可变性封装、开—闭原则(对扩展开放,对修改关闭)、里氏替换原则(适用于父类,但不一定适用子类)、组合/聚合原则(尽量使用组合聚合/聚合,尽量不使用继承);接口隔离原则(避免接口污

染)、依赖倒转原则(高层低层依赖于抽象、细节依赖于抽象)、迪米特原则(不和陌生人说话)、单一原则 3.模式的四个基本要素:问题(描述了应该在何时使用模式)、解决方案(描述了设计的组成成分)、效果(描述了模式应用的效果及使用模式应该权衡的问题)、模式名称 4.设计模式分类:按照目的可以分为:创建型、结构型、行为型按照范围可以分为:类模式、对象模式 5.模式和框架的区别: 1)设计模式比框架更抽象 2)设计模式是比框架更小的体系结构元素 3)框架比设计模式更加特例化 创建型模式: 1.创建型模式包括抽象工厂模式、生成器模式、工厂模式、原型模式、单件模式 2.创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象 3.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。 4.随着系统演化地越来越依赖于对象复合而不是类继承,创建型模式变得更为重要 5.创建型模式在什么被创建、谁创建它、它是怎样被创建的以及何时创建这些方面给予很大的灵活性 6. 抽象工厂模式: 意图:提供一个创建一系列相关或相互依赖对象的接口而不需要指定他们具体的类

软件设计模式与软件体系结构实验报告

《软件体系结构》大作业(1) 学院:软件学院 课程名称:软件体系结构 专业班级: 学生姓名:学号: 学生姓名:学号: 指导教师: 完成时间:年月日 评分表 1、叙述各小组成员完成本题目的分工协作情况。 小组中的每个成员都先理解题目要求及涉及的设计模式,并一起完成代码编写。另外,组长负责文档制作。 2、评分表 序号姓名评分是否组长 1 2 作业正文需要包括以下内容: 1、作业题目内容的详细描述。 2、完成本题目所采用的软件设计模式名称及画出相应的类图,或者是所采用的 软件体系结构名称及画出相应的体系结构图。

3、画出完成本题目所设计程序的设计类图;如还有其他图,也一并画出。 4、完成本题目所设计的程序代码。 5、程序运行的典型界面截图

1、作业题目内容的详细描述。 【作业2.1-1】例2.3为使用工厂方法模式设计的汽车保险管理应用程序实例。现在需要 扩展例2.3的设计图,添加一个名为LuxuryCarInsurance的类,并且需要编写此类和其他需要添加的类的代码,详细要求参见光盘的相应作业部分。 【作业2.1-1】在例2.4中,设计并且实现了豪华(Super)和中等(Medium)别墅(House)与公寓(Condo)的查询。要求在该设计的基础上,增加一个新的类SemiDetacher(半独立式楼宇),并且编写代码,实现相应的查询功能,详细要求参见光盘的相应作业部分。 2、完成本题目所采用的软件设计模式名称及画出相应的类图,或者是所采用的软件体系结构名称及画出相应的体系结构图。 【作业2.1-1】采用的是工厂方法模式 【作业2.1-2】采用的是抽象方法模式

软件体系结构(考试习题集含答案)

1.面向对象的方法优势体现在(ABD ) A.简化软件开发过程 B.支持软件复用 C.提高软件运行效率 D.改善软件结构 2.用户界面设计中的三条“黄金规则”是(ABC ) A.使系统处于用户控制之中 B.减少用户的记忆负担 C.保持界面的一致性 D.保证用户的易学性 3.用户界面的分析和设计过程是迭代的,其中包括的活动是 (ABCD ) A.用户、任务以及环境的分析和建模 B.界面设计 C.界面实现 D.界面确认 4.界面确认需要注意三个方面(ABC ) A.界面正确完成了用户的任务,适应用户的任务变化 B.易学性和易用程度 C.用户的接受程度 D.用户的习惯 5.用户界面分析时通常采用的信息获取方式包括(ABCD ) A.用户会谈 B.销售人员信息采集 C.市场分析 D.用户支持人员信息收集 6.(C )把完成一个特定功能的动作序列抽象为一个过程名和参数表 A.数据抽象 B.动作抽象 C.过程抽象 D.类型抽象 7.(A)把一个数据对象的定义抽象为一个数据类型名 A.数据抽象 B.动作抽象 C.过程抽象 D.类型抽象 8.软件体系结构设计需要考虑以下(ABCD )

A.适用性 B.结构稳定性 C.可扩展性 D.可复用性 9.模块设计时应该考虑(AB ) A.模块功能独立 B.模块信息的隐藏 C.模块接口的简单 D.模块实现简单 10.一个完整的软件设计的主要活动包括有(ABCD ) A.体系结构设计 B.界面设计 C.模块/子系统设计、 D.数据模型、过程/算法设计等 11.模块化是指把一个复杂的问题分割成若干个可管理的小问题后,更易 于理解,模块化正是以此为依据的,在划分模块的过程中应该考虑到(ABC ) A.模块的可分解性、可组装型 B.模块的可理解性、连续性、 C.模块保护 D.尽可能低分割模块,使得问题的难度降到最 1.什么是软件工程?构成软件工程的要素是什么? 软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,对所选方法的研究。软件工程的要素由方法、工具和过程组成。方法支撑过程和工具,而过程和工具促进方法学的研究。 2.什么是软件生存周期?软件开发过程模型与软件生存周期之间是何关 系? 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程叫软件生存周期。软件开发过程模型表示软件开发中各个活动的安排方式,出来软件开发各个活动之间关系,是软件开发过程的概括,是软件工程的重要内容,其为软件管理提供里程碑和进度表,为

狭水道中的船舶操纵

8 ]世界海运] 第26卷 狭水道中的船舶操纵 &潘正仁(大连海事大学,辽宁 大连 116026) 【关键词】不利因素;操船要领;避让实例;责任划分 【摘 要】根据船舶在狭水道中航行的特点,介绍狭水道中的船舶操纵要领,并根据《国际海上避碰规则》和碰撞实例,给出了狭水道操纵船碰撞后的责任划分。 【中图分类号】U675.5 【文献标识码】A 【文章编号】1006-7728(2003)06-0008-02 船舶在狭水道中航行是船舶经常遇到的。狭水道是一种较为特殊的航行区域,它对驾驶员操船的技术和经验提出了较高的综合性的要求。同时,正确地理解和应用《1972年国际海上避碰规则》(以下简称《规则》),保障船舶在狭水道中正确、安全地行驶,也是船舶驾驶员具有良好船艺的重要体现。 1 不利因素 1.1 航道一般较狭窄,水深限制较大 狭水道的水深相对较小,水深限制较大,船底富余水深不足。因此,对于一些大型船舶,必须在进出港口时准确地掌握好潮汐资料,准确地计算潮时和潮高,利用高潮这一暂时的有利条件,方能安全进出港口;对于一些超大型船舶,甚至根本无法进出港口。 1.2 航道内灯浮、障碍物较多 为了给进出口船舶操纵的船舶提供准确的定位和识别物标,在狭水道内多设置了一些灯浮,如著名的多佛尔海峡和我国的长江口部分水道。狭水道内沉船、暗礁、渔栅等障碍物多,有的狭水道内还铺有海底电缆。这些灯浮和障碍物都给船舶的航行带来了一定的困难。 1.3 航道多弯曲,航区内复杂多变 航道弯曲,会给船舶操纵带来困难,这要求船舶要频繁地变化航向,船舶在弯头转向频繁,有时转向幅度较大,给航行中的其他船舶带来麻烦。如果航道过于弯曲致使弯道两端的船舶不能互见,等转变能互见时,操纵避让又来不及,这是比较危险的。 在狭水道内,经常设置锚地、捕鱼区、测速场、校磁场和引航站等,这使得本已复杂的水道更为复杂,容易发生海上事故。 1.4 岸吸与船吸明显 由于水道宽度受到了限制,作用于船体的流体力比无限制宽阔水域要大得多。当船舶偏至水道一侧接近岸壁航行时,就会出现岸吸现象。 航进中的船舶,艏艉处水位升高,压力增加,从而给靠近航行的他船以排斥作用,而船中部附近水位下降,压力降低,则给靠近的船舶以吸引作用。 1.5 船舶航行密度大,风流影响显著 狭水道是船舶与港口间的“瓶颈”,水道内的交通一般 比较拥挤,交通秩序也差,显著的风流影响是又一难题。狭水道与大海相连,会有一定的潮汐现象,加之内陆河流注入等影响,使得狭水道内的水流状况更加复杂,给船舶航行安全带来了隐患。 2 操纵要领 正确处理导航、避碰和避险的关系,是确保狭水道内航行安全的必要条件,虽然有诸多不利的因素,但只要善于利用条件,恰当灵活地操船,是完全可以保障航行安全的。如何正确处理上述的各种不利因素,运用良好的船艺,严格执行《规则》,从而使得船舶在狭水道内安全航行,是我们面临的核心问题。 2.1 研究核查最小水深与可航宽度 在进入狭水道之前,要有充分的准备,首先要备妥有关海图、港图和航路指南等必备的航行资料;其次,要及时地研究、核查最新海图和蓝图,应特别留心水深的变动情况;最后,掌握狭水道内可航水域的水文情况,尤其注意水道内的浅点、障碍物及可航宽度,对这些数据要做到心中有数,并且要使二副确保航行资料的最新程度和改正到最新,并做好计划。 (1)审核比较本船最大船舶吃水与海图上最小吃水间的数量关系,而且,本船的最大船舶吃水,指的是在本船适当的或当时的装载状态下船体底部某一部位的最大吃水,而不是6面吃水或平均吃水,只有这样才能确保水深得到初步满足。 (2)若发现本船的最大吃水大于水道内某处的水深,则务必详细查阅水文资料,利用潮汐,精确计算潮时和潮高,确保船舶免于搁浅。 (3)要留出富余水深,因为船舶进出港口是有航速的,所以将船速及航道内水流、风压都考虑进去,方能万无一失。 2.2 熟悉障碍物和浮灯 仔细核查航道内的障碍物与浮灯的位置、种类和分布等详细信息。 对于障碍物,要搞清其种类,就要仔细查阅水道的资料,尤其是沉船的信息,应仔细校对沉船固定突出部分距水面的最小距离,防止它划破船底而造成危险。对于灯浮,要查阅海图,弄清其位置、个数和种类等。掌握狭水道内的助航标

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

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

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

大连海事大学2005年硕士研究生招生考试试题(数据结构)

大连海事大学2005年硕士研究生招生考试试题 考试科目:数据结构 适用专业:计算机应用技术、计算机软件与理论 考生须知:1、所有答案必须写在答题纸上,写在试题纸上无效; 2、考生不得在答题纸上作与答题内容无关的标记,否则试卷作废。 一、判断下列叙述是否正确。请写出题号并用“√”“×”回答(共20分,每小题1分) 1、若(u,v)是连通网络的一条权值最大的边,是不论采用何种方法构造该网络的最小生成树,所构造出的最小生成树一定不包含(u,v)这条边。 2、算法是具有有穷性、确定性、可行性、0个或多个输入、1个或多个输出特性的一组规则。操作系统一旦被启动后就永远处在工作或等待状态,所以,实现“操作系统”的一组规则不能称为算法。 3、给定n个不同权值的结点,则依据这n个结点构造的Huffman树的结构是唯一的。 4、在线索二叉树中,根据线索可以找到树中任何一个结点在相应遍历序列中的直接前驱或直接后续。 5、在线性表的顺序存储结构中,每删除一个数据元素都必须移动表中的数据元素。 6、在一个AOE网中,若某一尘埃的最早开始时间和最迟开始时间相同,则该活动为关键活动。 7、对有序表而言,采用折半查找方法查找表中的数据元素,其查找成功的平均工长度一定采用顺序查找方法时的平均查找长度要小。 8、在非空完全二叉树中,若某结点不存在左孩子,则该结点一定是叶子结点。 9、设L是广义表,则取表头运算Head(L)的运算结果一定是单元素,而取表尾运算Tail (L)的运算结果一定是广义表。 10、将一棵树转换成二叉树后,根结点没有右子树。 11、就平均时间性能而言,快速排序是最优的。所以,对于任意的待排序序列,选择快速排序方法进行排序,其执行时间将是最少的。 12、由于希尔排序的最后一趟与直接插入排序过程相同,因此前者一定比后者花费的时间多。 13、存在着这样的非空二叉树,不论采用怎样的遍历算法其所得到的遍历序列均相同。 14、假设图已经以邻接表存储,,则按深度优先遍历该图所得到的生成树唯一的。 15、有向无环图的顶点拓扑排序序列一定是唯一的。 16、健壮的算法不会因非法的架得住数据而出现莫名其妙的状态。 17、归并排序算法是稳定的排序算法。 18、算法的优劣与所用计算机无关,也与所用的算法描述语言无关。 19、提高外排序速度的核心工作是减少记录在内外存之间的I/O次数。 20、平衡二叉树中所有结点的平衡因子都不超过1。

相关文档
最新文档