文档库 最新最全的文档下载
当前位置:文档库 › 软件体系结构试题(试题+答案)

软件体系结构试题(试题+答案)

软件体系结构试题(试题+答案)
软件体系结构试题(试题+答案)

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”应该改成委派关系

D.以上方案错误

18.对象组合的有点表述不当的是( d )

A. 容器类仅能通过被包含对象的接口来对其进行访问。

B. “黑盒”复用,封装性好,因为被包含对象的内部细节对外是不可见。

C. 通过获取指向其它的具有相同类型的对象引用,可以在运行期间动态地定义(对象的)组合

D.造成极其严重的依赖关系。

19.关于继承表述错误的是:( d )

A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。

B.泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)

则通过附加属性和方法来进行实现的扩展。

C.破坏了封装性,因为这会将父类的实现细节暴露给子类。

D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。

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

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

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

用时,所知道的方法集合。

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

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

道所示用的对象是那个实现类的实例。

E.此题没有正确答案。

21.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以

及(依赖倒转),(迪米特法则),(单一原则),(接口隔离?)。

22.在存在继承关系的情况下,方法向(超类)方向集中,而数据向(子类)方

向集中。

23.适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是(继承)关系,而对象适配器采用的是(组合聚合)关系。

24.设计模式的基本要素有(名字),(意图),(问题),(解决方案),

(参与者与协作者),(实现),(一般性结构)。

25.创立型模式的根本意图是要把(对象的创建)和(使用分离)的责任进行分

离,从而降低系统的(耦合度)。

26.工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型

27.门面模式是(迪米特)法则的典型运用

28.MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式

29.设计模式的思想根源是(开闭)基本原则的宏观运用,本质上是没有任何模式

的,发现模式的人永远是大师,而死守模式的人,最对只能是一个工匠.

UML、设计模式(测试题)

不定项选择题:

1.一个软件产品是否成功,因素有()。

l 需求收集是否正确

2 体系结构的构建是否合理

3 测试是否完全

4 软件的管理

2.开发过程中最困难的一个环节是(人与人之间的交流)。

3.用例是从(用户)的观点对系统行为的一个描述。

4.顺序图所表达的是基于(时间顺序)的动态交互。

5.当需要在项目中定制自己的元素时,可使用(构造型来定制)。

6.表示一个操作中的参数和返回值的数据类型的称呼是(形构)。

7.多重性5,10表示( 5或者10 )。

8.在找出了类的继承关系后,通常可以用(接口)来表示最上层的基类。9.UML中的实现是一种特殊类型的继承,因为它是指从一个(接口)继承。10.使用用例的难点在于(用例中各个场景的具体步骤)。

11.收集用例的方法是(交谈)。

12.产生类图和得到用例这两个步骤,位于前面的是(没有固定顺序)。

13.面向对象理论中,对象之间发送信号,在UML状态图里就是(事件)。

14.顺序图中,动态创建对象表示法的特点是(是在时间线上的某一点创建,结束时尾部打X)。

15.当代软件工程的特点是()。

l 允许各个阶段进行迭代

2 各个阶段没有明显的分界线

3 允许后期得到的信息返回,使得早期的能够被修改。

16.GRAPPLE 中最重要的段是()。

l 需求收集

2 需求分析

3 用例开发

4 编码

5 测试

17.设计模式的基本要素有(名称,目的(意图),解决方案,实施后达到的效果)。18.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(创建性)模式。

19.当我们想将抽象部分和实现部分分离时,可以使用(桥接)模式。

20.当我们想用不同的请求对客户进行参数化时,可以使用(命令)模

式。

21.当我们想封装不同算法并使它们可相互替换时,可以使用(策略)

模式。

22.面向对象系统中功能复用的两种最常用技术是()。

l 对象组合(优先使用)

l 类继承(限制使用类继承)->产生类爆炸

23.面向对象系统中的“黑盒复用”是指(对象组合)。

24.对象组合是通过获得(抽象类的指针)而在运行时刻动态定义的。

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

26.在Lexi系统中,我们把所有文档元素都看作是图元,这样,它们就有了相

同的(接口(也叫类型) )。

27.Lexi系统中,我们之所以能对文档采用Composite模式,是因为文档的元

素之间有 ( 递归 (树型结构) )关系。

填空题:

1.软件体系结构是指一个系统的有目的的设计和规划,这个设计规划既不描

述活动,也不描述系统怎样开发,它只描述系统

的组成元素及其相互的交互协作。

2.一个UML模型只描述了一个系统要做什么,它并没告诉我们系

统是怎么做。

3.接口是可以在整个模型中反复使用的一组行为,是一个没有属性而

只有方法的类。

4.多重性指的是,某个类有多个个对象可以和另一个类的 1

个对象关联。

5.当一个类的对象可以充当多种角色时,自身关联就可能发生。

6.在泛化关系中,子类可以替代父类。也就是说,后者出现的

地方,前者都可以出现。但是反过来却不成立。

7.最通常的依赖关系是一个类操作的形构中用到了另一个

类的定义。

8.组成是强类型的聚集,因为聚集中的每个部分体只能属于一

个整体。

9.实现的符号和继承的符号有相似之处,两者的唯一差别是实现关系用虚

线表示,继承关系用实线表示。

10.UML背后的两个重量级概念是用例和面向对

象。

11.状态图和类图、顺序图不同之处在于,后两种图能够对多个对象

建立模型,而状态图只是对 1个对象建

立模型。

12.状态图中3个常用的动作是入口动作、出口动

作和 do动作,也就是对象处于这个状态时应该做什么。

13.顺序图中,消息用水平箭头线表示;时间用垂直虚线表示。

14.当逻辑发生分支时,在顺序图中用生命线发生的分支表示,在协作图中用

嵌套的序号表示。

15.顺序图强调的是交互的时间顺序 ,协作图强调的是交互的空间关系和参与交互的对象的上下文环境。

16.GRAPPLE把开发过程分为5个段,之中又由许多动作组成。17.GRAPPLE过程中,得到初步类图是在需求收集段,细化类图是在需求分析段。18.每一个设计模式都集中于一个特定的设计问题,描述了相互通信的对象或者

类以及解决方案和解决效果。

19.面向对象系统中功能复用的两种最常用技术是对象组合和类继承。20.设计模式中应优先使用对象组合而不是类继承。

简答题

1.类图在UML中有何重要作用?

答: 1.为开发人员提供这种模仿现实世界的表达方式。

2.让分析员使用客户所采用的术语和客户交流,促使客户说出所要解决的问题的

重要细节。

2.阐述用例对于系统开发人员来说的价值。

答:是用来从用户的观察角度收集系统需求的一项技术,便于分析员与客户和用

户交流,使系统更符合用户的需求

3.简述如何在实际工作中发现类。

答:在与客户的交谈中,要注意客户用来描述业务实体的名词术语。这些名词可

作为领域模型中的类。

还要注意你听到的动词,因为这些动词可能会构成这些类中的操作。

当得到一组类的核心列表后,应当向客户询问在业务过程中每个类的作用。他们

的回答将告诉你这些类的职责。

4.简述怎样发现类之间的继承关系。

答:

作为候选的类有可能和它的父类、子类在谈话中同时被发现。系统分析员意识到

某个类的属性和操作也许能被运用到其他多个类当中去。

另一种可能的情况是系统分析员注意到两个或者多个类可能具有相同的属性和

操作数

5.试使用UML的关系表示法,表示出大学计算机专业中如下这些课程的模型:C

语言程序设计、C++语言程序设计、Windows程序设计、网络程序设计。注意抽

象类和依赖的使用。

6.画出图形用户界面GUI的状态图,要包括屏幕保护状态。其中要表明相应的事件、动作。答:图形用户界面(GUI)是一个可以说明状态转移细节的例子。在这里,假设GUI

可以处于以下3种状态之一:

Initializing(初始化)。

Working(工作)。

Shut Down(关闭)。

当打开PC电源的时候,自启动发生。因此Turning the PC on(打开PC)是一个触发器事件,它导致了GUI的状态转移到Initializing状态,而Bootup(自启动)是一个在转移过程中执行的动作。

由于Initializing状态中活动的完成,GUI将转移进入Working状态。当你对

PC选择ShutDown(关闭机器)时,就引发了Shut Down触发器事件,最后PC自己

切断电源,整个过程结束。下面的状态图捕获了GUI的这些状态和转移。

下图是GUI加入了Screensaving状态和保护条件的状态图,注意图中的保护条件[is Timeout],被写成一个布尔表达式。

7.顺序图和协作图中,消息有哪三种?各自的意义和表示法什么?

答:消息可以是简单的(simple)、同步的(synchronous)或异步的

(asynchronous)。简单消息是从—个对象到另一个对象的控制流的转移。如果一

个对象发送了—个同步消息,那么它要等待对方对消息的应答,收到应答后才能

继续自己的操作。而发送异步消息的对象不需要等待对方的应答便可以继续自己

的操作。在顺序图中,简单消息是—个简单箭头,同步消息是实心箭头。异步消

息是—个半边箭头,

8.画出自动饮料销售机中,理想场景和“钱数不正确”的场景合并在一起的顺

序图

假设在饮料销售机中有3个对象来做上述工作:前端(Front)(它是饮料销售机与

顾客之间的接口),钱币记录仪(Register)(它负责收集顾客投的钱币),以及分

配器(Dispenser)。我们还假设钱币记录仪控制分配器对象。那么对象之间的交

互序列可能如下所示:

1.顾客向机器前端的槽缝中投入钱币。

2.顾客选择所要购买的饮料品种。

3.钱币被转送给记录仪。

4.由于这是一个理想情况下的场景,假设有饮料存货,则记录仪控制

分配器将一罐饮料投递到销售机的前端。

由于上述对应的序列图只覆盖了用例“Buy soda”的一个场景(也就是一个实

例),因此它被称之为实例顺序图(instance sequence diagram)。下图显示了对

应的实例顺序图。注意图中只有简单消息,每个消息都引起控制流程从一个对象

转移到另一个对象。

对于“钱数不正确”场景:

1.记录仪检查顾客输入的钱币数星是否与所要购买的饮料价格匹配。

2.如果输入数量大于价格,则记录仪计算两者之间的差额并检查机器

中存有的金额。

3.如果机器中刚好有能找给顾客的零钱,则记录仪将零钱找给顾客,

一切按正常情况继续进行。

4.如果没有零钱找给顾客,则记录仪退回顾客投入的钱币,并显示一

个消息,提示顾客重新输入数量正确的金额。

5.如果顾客所输入的金额少于所要购买的饮料价格,则记录仪什么也不做,机器等待顾客继续投入钱币。

答:为了表示顺序图中的每个“if”分支,可以将“if”选择条件写在方括

号中,放到对应的消息箭头上,即增加[input=price],[change in reserve]

和[change not in reserve]3个选择条件。

每个条件都引起消息中的控制流的一个“分支”,将消息分为多条路

径。不同的消息路径最终可以到达同—个对象。为了表达这种关系,接收对象的

生命线可分为多余路径。在消息序列的某一点上,信息的分支可以合并,生命线的路径也是如此。下图是加入了场景“钱数不正确”后的图。

9.画出自动饮料销售机中,理想场景和“钱数不正确”的场景合并在一起的协

作图。

下面先来看看用例“Buy Soda(买饮料)”的最理想场景下的交互序列:

1.顾客向机器前端的槽缝中投入钱币。

2.顾客做出一个选择,选择所要购买的饮料品种。

3.钱币被转送给记录仪。

4.由于这是—个理想情况下的场景,所以记录仪控制分配器将一罐饮料投

递到销售机的前端。

这个场景的协作图如下图所示。

下面再看“钱数不正确”场景的协作图。这个协作图中要出现以下几个条件:

1.用户输入的钱数超过了所要购买的饮料价格。

2.饮料销售机中备有可找给顾客的零钱。

3.饮料销售机中没有可找给顾客的零钱。

在协作图中条件的表示方法与在顺序图中一样,都是用方括号将条件表

达式括起来,放在消息名的前面。但是要注意的是消息的条件和序号之间的匹配

关系。

条件和序号可能会使图变得复杂,因此让我们一步一步地来建立这个场

景的协作图,这个图的前提条件是用户输入的钱比所要购买的饮料价格高,并且

机器中备有找给顾客的零钱。首先增加机器给顾客找零的消息,并为该消息附加

上条件。给顾客找零消息是检查是否有找给顾客的零钱这一消息的直接后续消

息。为了表明两条消息之间的这种关系,这两个消息采用同一序号,用序号后面

的点再接序号来区分它们。这叫做消息嵌套(nesting)。下图说明了这个顺序图

的细节。

如果机器中没有零钱可找会怎么样呢?销售机必须显示一条“无零钱”信息提示

给顾客,并将顾客投入的钱币退出,提示顾客投入零钱。实际上,这时交易就结

束了。

要增加这个条件,就要增加控制流的分支。可以用嵌套序号表示这个控

制流的序号。因为它是第2个被嵌套的消息,因此圆点后面的序号是2。最后,

由于交易已经结束,该消息上要附加构造型《transaction over》来表明交易结

束。此外还有另—个发送饮料的消息。下图是这个场景的顺序图。

10.简述接口对于构件的重要意义。

答:只能通过构件的接口来使用构件中定义的操作。

构件可以让它的接口被其他构件使用,以使其他构件可以使用这个构件中定义的

操作。提供服务的构件提供了导出接口,访问服务的构件使用了导入接口。

11.简述当代面向对象软件工程的特点和优点。

允许各个阶段进行迭代各个阶段没有明显的分界线允许后期得到的信息返回,使得早期的能够被修改,重用性高、维护性好、扩展性高

12.GRAPPLE

过程中,需求收集段的各个动作是什么?分别有什么工作产品?

答:1 发现业务过程工作产品是一个或者一组能够捕获业务过程中的步骤和判定点的活动图。

2 领域分析

工作产品是一个高层的类图和会谈记录。

3 识别协作系统

工作产品是新建的系统的部署图

4 发现系统需求

会议得到的工作产品是一个包图。

5 将结果提交给客户

这个动作的工作产品视不同的组织而不同。

13.简述类继承和接口继承的区别?我们应该尽量使用哪一种?

答:类继承根据一个对象的实现定义了另一个对象的实现。简而言之,它是代码和表示的共享机制。然而,接口继承描述了一个对象什么时候能被用来替代另一

个对象。

类继承是派生中的类将继承父类的所有属性和方法,并且可以在派生类里添加自

己的属性和方法,而接口继承则是在接口里只定义接口的方法,没有属性,并且

方法不能实现,只有在派生他的类才实现该方法。类继承是编译的时候新建对象,

而接口实例是在运行时刻创建对象。我们应该尽量使用接口继承,类继承会产生

类爆炸现象

14.只根据抽象类中定义的接口来操纵对象有什么好处?

1) 客户无须知道他们使用对象的特定类型,只须对象有客户所期望的接口。

2) 客户无须知道他们使用的对象是用什么类来实现的,他们只须知道定义接口

的抽象类。

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

1. 针对接口编程,而不是针对实现编程。不要将变量声明为一个特定类的实例

对象,而是让他遵从抽象类所定义的接口

2.优先使用对象组合,而不是类继承。

16.设计模式的两大主题是什么?

对象组合,类继承的讨论

17.面向对象系统中功能复用的两种最常用技术是什么?

面向对象系统中功能复用的两种最常用技术是类继承和对象组合(object

composition)。

18.Lexi系统的格式化问题中,我们引入了Compositor和Composition两个类来实现“策略”模式。请画出这两个类各自的继承关系和它们之间的协作关系。Compositor和Composition

Compositor类。它的接口(见下表)可让Compositor获知何时去格式化哪些图元。它所格式化的图元是一个被称为Composition的特定图元的各个子图元。一个Composition在创建时得到一个Compositor子类实例,并在必要的时候(如用户改变文档的时候)让Compositor对它的图元作Compose操作。

下图描述了Composition类和Compositor类之间的关系。

19.Lexi系统的支持多种窗口平台的问题中,我们使用了Window和WindowsImp 类来实现桥接模式。请画出这两个类各自的继承关系和它们之间的协作关系。

计算机系统结构试题及答案(二)

计算机系统结构试题及答案 一、单项选择题(本大题共20小题,每小题2分,共20分) 1.以下正确的是()。 A)机箱是计算机的外特性,属系统结构的研究范围 B)集成电路芯片的设计是计算机组成原理的研究范围 C)加法器的设计是计算机实现的研究内容 D)计算机性能评价是计算机系统结构的研究范围 2.在流水线相关处理中,采用()会产生“写-写”相关和“先读后写”相关。 A)猜测法B)顺序流动 C)异步流动 D)相关专用通路3.非线性流水线是指() A)存在分叉连接的流水线B)存在反向连接的流水线 C)一个任务使用多个功能段的流水线D)动态连接的流水线4.网络直径与网络的()有关 A)度B)链路总数 C)结点间通信经过的最多链路数D)通信延迟 5.下列关于存储器的描述,哪个是正确的() A)多体交叉存储器主要解决扩充容量问题 B)Cache的功能全由硬件完成 C)Cache与主存统一编址,即主存空间的某一部分属于Cache D)“主存—外存”的存储层次是为了弥补主存速度的不足 6.在单指令流多数据流计算机中各处理单元必须()。 A)以同步方式在同一时间内执行不同的指令 B)以同步方式在同一时间内执行相同的指令 C)以异步方式在同一时间内执行相同的指令 D)以异步方式在同一时间内执行不同的指令 7.虚拟存储器地址变换是指()。 A)多用户虚地址与实地址如何一一对应 B)程序的逻辑地址变换成主存实地址 C)程序执行时将虚地址变换成对应的实存地址 D)指令的符号地址变换成二进制地址

8.反映网络在理想通信模式下通信带宽的特性是() A)度B)直径C)带宽总和D)等分带宽 9.依据Michael J.Flynn提出的按指令流和数据流的多倍性对计算机系统分类,Illiac IV计算机属于()A)SISD B)SIMD C)MISD D)MIMD 10.全相联地址映象是指()。 A)任何主存页都可装入Cache中任何页的位置 B) 一个虚页只装进固定的主存实页位置 C ) 组之间是固定的,而组内任何主存页可以装入任何Cache页位置 D) 组间可任意装入,组内是固定装入 二、名词解释题(本大题共5小题,每小题4分,共20分)解释每小题所给名词的含义,若解释正确则给分,若 解释错误则无分,若解释不准确或不全面,则酌情扣分。 1.目录表 2.阻塞网络 3. 写直达法 4. 乱序流动 5. 向量链接技术 三、简答题(本大题共4小题,共25分) 1.(5分)存储程序计算机(冯氏机)在系统结构上的主要特点是什么? 2.(5分)在cache容量一定的情况下,增加cache中的块大小能否达到提高cache命中率的效果?为什么? 3.(5分)解释数据相关(局部相关)与控制相关(全局相关)。 4.(10分)有哪几种向量处理方式?它们对向量处理机的结构要求有何不同? 四、综合题(本大题共4小题,共35分) 1. (5分)某计算机系统采用浮点运算部件后使浮点运算速度提高到原来的20倍,而系统运行一程序 的整体性能提高到原来的10倍,试计算该程序中浮点操作所占的比例。

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则() 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有() 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是() 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是() 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于() 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括() 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是() 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈() 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈() 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要() 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用() 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1 )。 ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

软件体系结构KWIC实验

《软件体系结构》 实验:软件体系结构风格之应用

一、实验目的 通过 KWIC 实例分析,理解和掌握软件体系结构风格设计与实现。 二、实验容 多种软件风格设计与实现之 KWIC 实例: 1.采用主/子程序体系结构风格实现 KWIC 关键词索引系统 2.采用面向对象体系架构风格实现 KWIC 关键词索引系统 3.采用管道过滤 体系架构风格实现 KWIC 关键词索引系统 4.采用事件过程调用体系架构风格实现 KWIC 关键词索引系统 三、实验要求与实验环境 熟练掌握基于主/子程序体系结构风格的 KWIC 关键词索引系统,在此基础上, 完成基于面向对象体系架构风格的 KWIC 关键词索引系统设计与实现。选做基于 管道过滤体系架构风格的 KWIC 关键词索引系统;选做基于事件过程调用体系架 构风格的 KWIC 关键词索引系统。 实验课前完成实验报告的实验目的、实验环境、实验容、实验操作过程等 容;实验课中独立/团队操作完成实验报告的实验操作、实验结果及结论等容;每 人一台 PC 机,所需软件 Win2003/XP 、 UML 工具( EclipseUML/ Rose/Visio/StartUML/)、Eclipse/MyEclipse、JDK6.0 等。 四、实验操作 1、采用主/子程序体系结构风格实现 KWIC 关键词索引系统 主程序/子程序风格(Main Program/Subroutine Style)将系统组织成层次结 构,包括一个主程序和一系列子程序。主程序是系统的控制器,负责调度各子程

序的执行。各子程序又是一个局部的控制器,调度其子程序的执行。设计词汇表: 主程序 main(), 子程序 shift(), sort() 方法,方法的调用,返回构件和连接件类 型: 构件:各类子程序,如 shift(),sort() 连接件:方法的调用基本的计算模型: 子程序有 shift(), sort()方法,shift() 对单词进行移位,sort()方法对单词进行 排序 风格的基本不变性: 主程序有顺序地调用子程序,单线程控制。 KWIC 的主/子程序体系结构风格示意图如下所示: 主程序/子程序风格的重要设计决策与约束有:

软件工程期末复习题参考答案

软件工程期末复习题 选择题 1.软件设计中划分模块的一个准则是(C)。 A低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.(A)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3.试判断下列叙述中,哪个些是正确的(C)。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D) A、PASCAL B、VISUAL BASIC C、C++

D、汇编语言 6.软件测试的目的是?(D) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.软件维护工作的最主要部分是(C)。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL是(B)语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 11.在数据流图中,○(椭圆)代表(B) A、数据流 B、转换 C、数据源 D、外部实体

计算机体系结构期末考试试题及答案

填空题 1.从2002年以来,计算机性能的年增长率下降到了约30%。其主要原因是:①大功耗问题; ②可以进一步有效地开发的指令级并行性已经很少;③存储器访问速度的提高缓慢。 2. 可移植性是指一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。实现可移植性的常用方法有3种:系列机,模拟和仿真,统一高级语言。 2.通用寄存器型指令集结构计算机在灵活性和提高性能方面有明显的优势。主要体现在①寄存器的访问 速度比存储器快;②对编译器而言,能更加容易有效地分配和使用寄存器;③寄存器可以用来存放变量。 3.MIPS的数据寻址方式只有立即数寻址和偏移量寻址。 4.向量处理机的结构由所采用的向量处理方式决定。有两种典型的结构;存储器-存储器型结构和寄存器-寄存器型结构。 5.Cache-主存层次的工作由硬件实现,对系统程序员是透明的。 6.降低Cache不命中率最直接的方法是增加Cache的容量。不过,这种方法不但会增加成本,而且还可能增加命中时间,这种方法在片外Cache中用得比较多。 7.大多数磁盘阵列的组成可以由以下两个特征来区分:数据交叉存放的粒度、冗余数据的计算方法以及在磁盘阵列中的存放方式。 8.时延和带宽是用来评估互连网络性能的两个基本指标。时延包括通信时延和网络时延。 9.计算机系统可分为SISD、SIMD、MISD和MIMD四类,许多早期并行处理机是SIMD计算机,近年来,MIMD已经成为通用多处理机系统结构的选择。这是因为MIMD具有灵活性,并且MIMD 能充分利用现有微处理器的性价比优势。 判断题 1.从计算机语言的角度,系统结构把计算机系统按功能划分成多级层次结构,其中,第2级是操作系统虚拟机,第3级是汇编语言虚拟机。(错) 2.计算机系统中提高并行性的3种途径中,资源重复是在并行性概念中引入时间因素,加快硬件周转而赢得时间。(错) 3.指令集结构中采用多种寻址方式可能会增加实现的复杂度和使用这些寻址方式的指令的CPI。(对) 4.指令条数多,通常超过200条,是设计RISC的原则之一。(错) 5.根据流水线中各功能段之间是否有反馈回路,可把流水线分为线性流水线和非线性流水线。(对) 6.在多级存储体系中,“主存一辅存”层次的存储管理实现主要由软件实现。(对) 7.失效率和平均访存时间都可评价存储系统的性能,它们都和机器的硬件速度有关。(错) 8.RAID的特点有容量大,速度快、可靠性高,同时保存数据无冗余信息。(对) 9.在多处理机的互连网络中,交叉开关网络属于动态互连网络。(对) 10.机群是一种价格低廉、易于构建、可扩缩性极强的并行计算机系统。(对) 名词解释 1.RISC 精简指令集计算机是一种执行较少类型计算机指令的微处理器 2.请求字优先 调块时,首先向存储器请求CPU所要的请求字。请求字一旦到达,就立即送往CPU,让CPU继续执行,同时从存储器调入该块的其余部分。 3.单一系统映像

软件工程试题(附答案)

软件工程试题(附答案)

《软件工程》作业 班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。√ PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。√ 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。√ 软件是一种逻辑实体,而不是具体的物理实体。√ 软件测试时经常要输入无效的,不合理的数据进行测试。√ 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。√

软件维护的前提是不能失去原有软件的基本功能。√ Gantt图可以明确地表示出各子任务之间的依赖与制约关系。× 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。× 适应性维护的目的是为了适应计算机软、硬件环境的变化。√ 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里 的每个部件。× 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。√ 在面向对象方法中,对象是进行处理的主体。√ 调试是在测试出错误之后,找到错误的位置并改正的过程。√

不允许使用GOTO语句是结构程序的特征。× 面向对象技术的最大优点是减少了软件的开发时间。× 用盒图和PAD图设计出来的算法必定是结构化的。√ 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。√ 可行性研究的结果有可能将软件开发项目否定。√ 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。× 传统的流程框图不能用来进行结构化程序设计。× 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。√ 成功的测试是没有发现错误的测试。×

软件体系结构期末复习题概述

《软件体系结构》期末复习题 简答题: 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

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

计算机体系结构试题及答案版本

计算机体系结构试题及答案 1、计算机高性能发展受益于:(1) 电路技术的发展;(2) 计算机体系结构技术的发展。 2、层次结构:计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为特征。第六级:应用语言虚拟机-> 第五级:高级语言虚拟机-> 第四级:汇编语言虚拟机-> 第三级:操作系统虚拟机->第二级:机器语言(传统机器级) -> 第一级:微程序机器级。 3、计算机体系结构:程序员所看到的计算机的属性,即概括性结构与功能特性。 4、透明性:在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的概念称为透明性。 5、Amdahl 提出的体系结构是指机器语言级程序员所看见的计算机属性。 6、经典计算机体系结构概念的实质3是计算机系统中软、硬件界面的确定,也就是指令集的设计,该界面之上由软件的功能实现,界面之下由硬件和固件的功能来实现。 7、计算机组织是计算机系统的逻辑实现;计算机实现是计算机系统的物理实现。

8、计算机体系结构、计算机组织、计算机实现的区别和联系? 答:一种体系结构可以有多种组成,一种组成可以有多种物理实现,体系结构包括对组织与实现的研究。 9、系列机:是指具有相同的体系结构但具有不同组织和实现的一系列不同型号的机器。 10、软件兼容:即同一个软件可以不加修改地运行于系统结构相同的 各机器,而且它们所获得的结果一样,差别只在于运行时间的不同。 11、兼容机:不同厂家生产的、具有相同体系结构的计算机。 12、向后兼容是软件兼容的根本特征,也是系列机的根本特征。 13、当今计算机领域市场可划分为:服务器、桌面系统、嵌入式计算三大领域。 14、摩尔定律:集成电路密度大约每两年翻一番。 15、定量分析技术基础(1)性能的评测:(a)响应时间:从事件开始到结束之间的时间;计算机完成某一任务所花费的全部时间。(b)流量:单位时间内所完成的工作量。(c )假定两台计算机x 、y;x 比y 快意思为:对于给定任务,x 的响应时间比y少。x的性能是y的几倍是指:响应时间x / 响应时间y = n ,响应时间与性能成反比。

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

中南大学软件体系结构设计模式实验二

中南大学软件体系结构设计模式实验二 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

实验3 设计模式实验二 实验学时: 4 每组人数: 1 实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性) 实验要求: 1 (1:必修 2:选修 3:其它) 实验类别: 3 (1:基础 2:专业基础 3:专业 4:其它) 一、实验目的 熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的行为型设计模式,包括职责链模式、命令模式、观察者模式和策略模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。 二、实验内容 1. 某企业的SCM(Supply Chain Management,供应链管理)系统中包含一个采购审批子系统。该企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开董事会讨论决定。如下图所示: 试使用职责链模式设计并模拟实现该系统。 2. 房间中的开关是命令模式的一个实例,现用命令模式来模拟开关的功能,可控制对象包括电灯和电风扇,绘制相应的类图并编程模拟实现。 3. 某软件公司欲开发一个基于Windows平台的公告板系统。系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。现使用命令模式设计该系统,使得MenuItem类与BoardScreen类的耦合度降低,绘制类图并编程实现。 4. 某实时在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的所有股民。试使用观察者模式设计并实现该系统,要求绘制相应的类图并编程模拟实现。 5. 某公司欲开发一套机房监控系统,如果机房达到某一指定温度,温度传感器(Thermosensor)将自动传递信号给各种响应设备,例如警示灯(CautionLight)将闪烁(flicker())、报警器(Annunciator)将发出警报(alarm())、安全逃生门(SecurityDoor)将自动开启(open())、隔热门(InsulatedDoor)将自动关闭(close())

软件体系结构期末考试试题

软件体系结构-设计模式练习题1 1.面向对象分析与设计中的(1)是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(2)是指子类应当可以替换父类并出现在父类能够出现的任何地方。 (1) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则 (2) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则 2.(3)限制了创建类的实例数量,而(4)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 (3) A.命令模式(Command)B.适配器模式(Adapter)C.策略模式(Strategy) D.单例模式(Singleton) (4) A.命令模式(Command) B.适配器模式(Adapter) C.策略模式(Strategy) D.单例模式(Singleton) 3. (5)设计模式允许一个对象在其内部状态改变时改变它的行为。下图为这种设计模式的类图,已知类State 为抽象类,则类(6)的实例代表了Context 对象的状态。 (5) A.单件(Singleton) B.桥接(Bridge) C.组合(Composite) D.状态(State) (6) A. Context B. ConcreteStateA C. Handle D. State

4.某公司欲开发一门户网站,将公司的各个分公司及办事处信息进行整合。现决定采用Composite设计模式来实现公司的组织结构关系,并设计了如下图所示的UML类图。图中与Composite模式中的“Component”角色相对应的类是(7) ,与“Composite”角色相对应的类是(8) 。 (7) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany (8) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany 5.某软件公司正在设计一个通用的嵌入式数据处理平台,需要支持多种数据处理芯片之间的数据传递与交换。该平台的核心功能之一要求能够屏蔽芯片之间的数据交互,使其耦合松散,并且可以独立改变芯片之间的交互过程。针对上述需求,采用(9)最为合适。 (9) A. 抽象工厂模式 B. 策略模式 C. 中介者模式D. 状态模式 6.某软件公司正在设计一个图像处理软件,该软件需要支持用户在图像处理中的撤销和重做等动作,为了实现该功能,采用(10)最为合适。 (10) A. 单例模式B. 命令模式 C. 访问者模式 D. 适配器模式 7.某互联网公司正在设计一套网络聊天系统,为了限制用户在使用该系统时发表不恰当言论,需要对聊天内容进行特定敏感词的过滤。针对上述功能需求,采用(11)能够灵活配置敏感 词的过滤过程。 (11) A. 责任链模式 B. 工厂模式 C. 组合模式 D. 装饰模式

体系结构试题及答案

一.名词解释 2:1Cache经验规则:大小为N的直接印象Cache的失效率约等于大小为N/2的两路组相联Cache的失效率。 通道处理机:通道的专用处理机,来专门负责整个计算机体系的输入/输出工作。通道处理机只能执行有限的一组输入/输出指令。 透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 向量处理机:设置了向量数据表示和相应的向量指令的流水线处理机称为向量处理机。 虚拟Cache:直接用虚拟地址进行访问的Cache 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 同构型多处理机系统:由多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。 堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。 累加器型机器:CPU 中存储操作数的单元是累加器的机器。 通用寄存器型机器:CPU 中存储操作数的单元是通用寄存器的机器。 数据相关:考虑两条指令i和j,i在j的前面,如果下述条件之一成立,则称指令j与指令i数据相关: (1)指令j使用指令i产生的结果; (2)指令j与指令k数据相关,而指令k又与指令i数据相关。 定向:用来解决写后读冲突的。在发生写后读相关的情况下,在计算结果尚未出来之前,后面等待使用该结果的指令并不见得是马上就要用该结果。如果能够将该计算结果从其产生的地方直接送到其它指令需要它的地方,那么就可以避免停顿。 指令级并行:简称ILP。是指指令之间存在的一种并行性,利用它,计算机可以并行执行两条或两条以上的指令。 指令的动态调度:是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。是由硬件在程序实际运行时实施的。 指令的静态调度:是指依靠编译器对代码进行静态调度,以减少相关和冲突。它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。 失效率:CPU访存时,在一级存储器中找不到所需信息的概率。 失效开销:CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。 强制性失效:当第一次访问一个块时,该块不在Cache中,需要从下一级存储器中调入Cache,这就是强制性失效。 容量失效:如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后又重新被访问,就会产生失效,这种失效就称作容量失效。 冲突失效:在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。RAID:廉价磁盘冗余阵列或独立磁盘冗余阵列。 通道:专门负责整个计算机系统输入/输出工作的专用处理机,能执行有限的一组输入输出指令。 通道流量:指一个通道在数据传送期间,单位时间内能够传送的数据量。 互连网络:一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用来实现计算机系

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件体系结构实验二

南京邮电大学 《软件体系结构》实验报告 实验题目软件体系结构风格之应用 姓名xxx 学号xxx 院系计算机、软件学院 指导老师周国强 2013年12月18日

一、实验目的和要求 实验目的: 通过KWIC实例分析,理解和掌握软件体系结构风格设计与实现。 实验要求: 熟练掌握基于主/子程序体系结构风格的KWIC关键词索引系统,在此基础上,完成基于面向对象体系架构风格的KWIC关键词索引系统设计与实现。选做基于管道过滤体系架构风格的KWIC关键词索引系统;选做基于事件过程调用体系架构风格的KWIC关键词索引系统。 实验课前完成实验报告的实验目的、实验环境、实验内容、实验操作过程等内容;实验课中独立/团队操作完成实验报告的实验操作、实验结果及结论等内容;每人一台PC机,所需软件Win2003/XP、UML工具(EclipseUML/ Rose/Visio/StartUML/)、Eclipse/MyEclipse、JDK6.0等。实验课后完成实验报告的心得体会内容,并及时提交实验报告。 二、实验课时:2 三、实验内容及操作步骤 多种软件风格设计与实现之KWIC实例: 1.采用主/子程序体系结构风格实现KWIC关键词索引系统 public static void input(String inputFile){ fr=null; try { fr=new (inputFile);

} catch ( e) { // TODO Auto-generated catch block e.printStackTrace(); } BufferedReader br=new BufferedReader(fr); textLines=new ArrayList(); try { while(br.ready()){ textLines.add(br.readLine()); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void circularShift(){ shiftedLineIndexes=new ArrayList(); for(int i=0;i1){ if(j==sarray.length-1){ for(int k=0;k<(sarray.length-1);k++){ newLine=newLine+" "+sarray[k]; } } else{ for(int k=j+1;k

软件体系结构期末复习题

软件体系结构期末 复习题

《软件体系结构》期末复习题 简答题: 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.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员 D。用户和软件人员的领导 10.下列叙述中,_______不属于数据字典的作用。 A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识 C、作为概要设计的依据 D、为需求分析阶段定义各类条目 11.使用结构化分析方法时,采用的基本手段是____。 A.分解和抽象 B.分解和综合C.归纳与推导D.试探与回溯12.结构化系统分析主要是通过____进行分析的。 A.算法分解B.控制结构分解 C.数据结构分解D.处理功能分解13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

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