单选题
UML的事物是对模型中最具有代表性的成分的抽象,______是模型的静态部分,描述概念或物理元素;______用来描述、说明和标注模型的任何元素。
单选题
- A.结构事物
- B.分组事物
- C.行为事物
- D.注释事物
单选题
- A.分组事物
- B.注释事物
- C.结构事物
- D.行为事物
【正确答案】
B
【答案解析】[解析] UML有3种基本的构造块,分别是事物(元素)、关系和图。事物是UML中重要的组成部分。关系把事物紧密联系在一起。图是很多有相互相关的事物的组。
UML中的事物也称为建模元素,包括结构事物、动作事物、分组事物和注释事物。这些事物是UML模型中最基本的面向对象的构造块。
①结构事物。结构事物在模型中属于最静态的部分,代表概念上等或物理上的元素。总共有7种结构事物:
首先是类,类是描述具有相同属性、方法、关系和语义的对象的集合。一个类实现一个或多个接口。
第2种是接口,接口是指类或组件提供特定服务的一组操作的集合。因此,一个接口描述了类或组件的对外的可见的动作。一个接口可以实现类或组件的全部动作,也可以只实现一部分。
第3种是协作,协作定义了交互的操作,是一些角色和其他元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。因此,协作具有结构化、动作化、维的特性。一个给定的类可能是几个协作的组成部分。这些协作代表构成系统的模式的实现。
第4种是用例,用例是描述一系列的动作,这些动作是系统对一个特定角色执行,产生值得注意的结果的值。在模型中用例通常用来组织动作事物。用例是通过协作来实现的。
第5种是活动类,活动类是这种类,它的对象有一个或多个进程或线程。活动类和类很相像,只是它的对象代表的元素的行为和其他的元素是同时存在的。
第6种是构件,构件是物理上或可替换的系统部分,它实现了一个接口集合。在一个系统中,可能会遇到不同种类的构件,如DCOM或EJB。
第7种是节点,节点是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力。一个组件集合一般来说位于一个节点,但有可能从一个节点转到另一个节点。
②动作事物:动作事物是UML模型中的动态部分。它们是模型的动词,代表时间和空间上的动作。总共有两种主要的动作事物。
第1种是交互(内部活动),交互是由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作。交互中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作)、连接(对象之间的连接)。
第2种是状态机,状态机由一系列对象的状态组成。
内部活动和状态机是UML模型中最基本的两个动态事物元素,它们通常和其他的结构元素、主要的类、对象连接在一起。
③分组事物。分组事物是UML模型中组织的部分,可以把它们看成是个盒子,模型可以在其中被分解。总共只有一种分组事物,称为包。包是一种将有组织的元素分组的机制。结构事物、动作事物甚至其他的分组事物都有可能放在一个包中。与组件(存在于运行时)不同的是包纯粹是一种概念上的东西,只存在于开发阶段。
④注释事物。注释事物是UML模型的解释部分。
单选题
希赛公司欲开发一个在线交易系统。为了能够精确表达用户与系统的复杂交互过程,应该采用UML的______进行交互过程建模。
【正确答案】
B
【答案解析】[解析] 显然,为了能够精确表达用户与系统的复杂交互过程,应该使用交互图。在UML中,交互图包括顺序图、通信图、定时图和交互概览图。顺序图强调消息的时间次序,通信图强调消息流经的数据结构,定时图强调消息跨越不同对象或角色的实际时间,交互概览图是顺序图和活动图的混合体。
单选题
雇员类含有计算报酬的行为,利用面向对象的______,可以使得其派生类专职雇员类和兼职雇员类计算报酬的行为有相同的名称,但有不同的计算方法。
【正确答案】
A
【答案解析】[解析] 本题是一个纯概念题。在面向对象技术中,多态考虑的是类与类之间的层次关系,以及类自身内部特定成员函数之间的关系问题,是解决功能和行为的再抽象问题。多态是指类中具有相似功能的不同函数用同一个名称来实现,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。这也是人类思维方式的一种直接模拟,例如,一个对象中有很多求两个数最大值的行为,虽然可以针对不同的数据类型,写很多不同名称的函数来实现,但事实上,它们的功能几乎完全相同。这时,就可以利用多态的特征,用统一的标识来完成这些功能。这样,就可以达到类的行为的再抽象,进而统一标识,减少程序中标识符的个数。
单选题
面向对象分析的一项重要任务是发现潜在对象并进行筛选,错误的做法是删除______。
- A.系统范围之外的名词
- B.表示事件的名词
- C.不具有独特行为的名词
- D.一个对象的同义词
【正确答案】
B
【答案解析】[解析] 在OOA中,并不是所有的名词都表示了问题域内有用的业务对象,通过删除对象的同义词、系统范围之外的名词、不具有独特行为的名词、不清楚的名词和另一个对象的行动或属性的名词来最终清理候选对象列表。
单选题
面向对象分析的任务不包含______。
- A.建模系统功能
- B.发现并确定业务对象
- C.建模各对象的状态
- D.组织对象并确定对象间的关系
【正确答案】
C
【答案解析】[解析] OOA基于用例模型,通过对象建模记录确定的对象、对象封装的数据和行为,以及对象之间的关系。OOA包括3个活动,分别是建模系统功能、发现并确定业务对象、组织对象并确定对象间的关系。
单选题
系统测试将软件、硬件、网络等其他因素结合,对整个软件进行测试。______不是系统测试的内容。
- A.路径测试
- B.可靠性测试
- C.安装测试
- D.安全测试
【正确答案】
A
【答案解析】[解析] 系统测试是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种集成测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。系统测试是根据系统方案说明书来设计测试用例,常见的系统测试主要有功能测试、健壮性测试(可靠性测试)、性能测试、用户界面测试、安全性测试、安装与反安装测试等,其中,最重要的工作是进行功能测试与性能测试。功能测试主要采用黑盒测试方法,性能测试主要验证软件系统在承担一定负载的情况下所表现出来的特性是否符合客户的需要,主要指标有响应时间、吞吐量、并发用户数和资源利用率等。
从以上描述可以得知本题应选A。A选项所描述的路径测试是在单元测试阶段进行的一种白盒测试。
单选题
软件测试是为了发现错误而执行程序的过程。黑盒测试法主要根据______来设计测试用例。
- A.程序内部逻辑
- B.程序内部功能
- C.程序数据结构
- D.程序流程图
【正确答案】
B
【答案解析】[解析] 软件测试是为了发现错误而执行程序的过程。黑盒测试也称为功能测试,这种测试将待测试的模块(软件)当成一个黑色的盒子,测试人员不清楚模块的内部设计,仅知道模块的功能。所以只是根据规格说明所规定的功能来设计测试用例,它不考虑程序的内部结构和处理过程。常用的黑盒测试技术有等价类划分、边值分析、错误猜测和因果图等。
单选题
复杂系统是指______。
- A.通过对各子系统的了解不能对系统的性能做出完全的解释
- B.系统由大量的子系统组成
- C.系统的结构很复杂,难于图示
- D.系统的功能很复杂,难于用文字描述
【正确答案】
A
【答案解析】[解析] 复杂系统的复杂之处主要在于其各子系统之间关联的复杂性。例如,人体本身就是一个复杂系统。虽然骨骼系统、神经系统、消化系统和血液循环系统等都有清晰的结构,可以清晰地描述其性能,但各子系统之间相互关联的机制却仍难以把握。
单选题
静态分析通过解析程序文本从而识别出程序语句中可能存在的缺陷和异常之处;静态分析所包含的阶段中,______的主要工作是找出输入变量和输出变量之间的依赖关系。
- A.控制流分析
- B.数据使用分析
- C.接口分析
- D.信息流分析
【正确答案】
D
【答案解析】[解析] 静态分析通过解析程序文本从而识别出程序语句的各个部分,审查可能的缺陷和异常之处,静态分析包括五个阶段:控制流分析阶段找出并突出显示那些带有多重出口或入口的循环,以及不可达到的代码段;数据使用分析阶段突出程序中变量的使用情况;接口分析阶段检查子程序和过程说明及它们使用的一致性;信息流分析阶段找出输入变量和输出变量之间的依赖关系;路径分析阶段找出程序中所有可能的路径并画出在此路径中执行的语句。
单选题
软件______是指改正产生于系统开发阶段而在系统测试阶段尚未发现的错误。
- A.完善性维护
- B.适应性维护
- C.正确性维护
- D.预防性维护
【正确答案】
C
【答案解析】[解析] 本题考查软件维护相关知识。
软件维护的类型包括:改正性维护(正确性维护)、适应性维护、完善性维护、预防性维护。
改正性维护:在软件交付使用后,必然会有一部分隐藏的错误被带到运行阶段来。这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程,就叫做改正性维护。
适应性维护:随着计算机的飞速发展,外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而去修改软件的过程就叫做适应性维护。
完善性维护:在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动叫做完善性维护。
预防性维护:为了提高软件的可维护性、可靠性等而提出的一种维护类型,它为以后进一步改进软件打下了良好的基础。通常,预防性维护定义为:“把今天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。