【计算机类职业资格】系统分析师-面向对象方法学及答案解析.doc

上传人:花仙子 文档编号:1336306 上传时间:2019-10-17 格式:DOC 页数:27 大小:112.50KB
下载 相关 举报
【计算机类职业资格】系统分析师-面向对象方法学及答案解析.doc_第1页
第1页 / 共27页
【计算机类职业资格】系统分析师-面向对象方法学及答案解析.doc_第2页
第2页 / 共27页
【计算机类职业资格】系统分析师-面向对象方法学及答案解析.doc_第3页
第3页 / 共27页
【计算机类职业资格】系统分析师-面向对象方法学及答案解析.doc_第4页
第4页 / 共27页
【计算机类职业资格】系统分析师-面向对象方法学及答案解析.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、系统分析师-面向对象方法学及答案解析(总分:66.00,做题时间:90 分钟)根据考试大纲的要求,本章要求考生掌握面向对象分析与设计(继承、抽象、代理、封装、多态)和统一建模语言(UML)。由于面向对象方法已经成为软件开发的一种主要方法,从历年考试来看,面向对象的知识点考得越来越多(甚至超过了软件工程的分数),着重考查统一建模语言(UML)的知识。(1) 面向对象的主要特征除封装、继承外,还有 (1) 和 (2) 。通常,对象可由标识此对象的名、属性和 (3) 所组成。对象之间的服务请求是通过传递 (4) 来实现的。所有的对象可以分成为各种对象类,每个对象类都定义了一组 (3) 。有一种特殊的

2、类称为抽象类,其主要特征是 (5) 。(分数:5.00)A.一致性B.完整性C.动态联编D.静态联编A.一致性B.完整性C.动态联编D.多态性A.说明B.方法C.过程D.类型A.对象名B.属性C.参数D.消息A.没有实例B.抽象地包括了大量实例C.没有子类D.对数据类型的抽象面向对象程序设计的基本思想是通过建立和客观实际相对应的对象,并通过这些对象的组合来创建具体的应用。对象是 (6) 。对象的三要素是指对象的 (7) 。 (8) 均属于面向对象的程序设计语言。而面向对象的程序设计语言必须具备 (9) 特征。Windows 下的面向对象程序设计和通常 DOS 下的结构化程序设计最大区别是 (1

3、0) 。(分数:5.00)A.数据结构的封装体B.数据以及在其上的操作的封装体C.程序功能模块的封装本D.一组有关事件的封装体A.名字、字段和类型B.名字、过程和函数C.名字、文字和图形D.名字、属性和方法A.C+、LispB.C+、SmalltalkC.Prolog、AdaD.Foxpro、AdaA.可视性、继承性、封装性B.继承性、可重用性、封装性C.继承性、多态性、封装性D.可视性、可移植性、封装性A.前者可以使用大量下拉式选单,后者使用命令方式调用B.前者是一种消息驱动式体系结构,后者是一种单向调用C.前者具有强大的图形用户接口,后者无图形用户接口D.前者可以突破内存管理 640KB

4、的限制,后者不能面向对象技术中,对已有实例的特征稍作改变就可生成其他的实例,这种方式称为 (11) 。分类(classification)指的是对象及其类型之间的关系。若一个对象可用 n 个类型表述,而这些类型不必由继承来关联的是 (12) 。(13) 是面向对象程序设计语言中的一种机制。这种机制实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。(分数:3.00)A.委托B.代C.继承D.封装A.单一分类B.多重分类C.动态分类D.静态分类A.继承(inheritance)B.模板(template)C.对象自身引用(self-reference)D.动态绑定(dynam

5、ic binding)OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。系统模型由对象模型、 (14) 组成。对象模型是从实际系统导出的类的体系,即类的属性、子类与父类之间的继承关系以及类之间的 (15) 关系。(分数:2.00)A.静态模型和功能模型B.动态模型和过程模型C.动态模型和功能模型D.静态模型和操作模型A.关联B.从属C.调用D.包含类库是一种预先定义的程序库,它以程序模块的形式,按照 (16) 把一组类的定义和实现组织在一起: (17) 对类库的建设提供了强有力的支持。(分数:2.00)A.类的功能B.类层次结构C.实例

6、之间的调用关系D.类的类型A.引用B.重置C.类属类D.封装UML 是一种面向对象的统一建模语言。它包含 10 种图,其中,用例图展示了外部 actor 与系统所提供的用例之间的连接,UML 中的外部 actor 是指 (18) ,用例可以用 (19) 图来描述。状态图指明了对象所有可能的状态以及状态间的迁移(transition)。如果一个并发的状态由 n 个并发的子状态图组成,那么,该并发状态在某时刻的状态由 (20) 个子状态图中各取一个状态组合而成。协作图描述了协作的 (21) 之间的交互和链接(link),它画成 (22) 图的形式。(分数:5.00)A.人员B.单位C.人员或单位D

7、.人员或外部系统A.类B.状态C.活动D.协作A.每一B.任意一C.任意二D.任意 m(mn)A.对象B.类C.用例D.状态A.对象B.类C.用例D.状态在使用 UML 建模时,若需要描述跨越多个用例的单个对象的行为,使用 (23) 是最为合适的。UML 结构包括了基本构造块、公共机制和 (24) 。UML 中提供了扩展机制,其中,构造型(Stereotype)扩展了 UML 的 (25) ,约束 (Constraint)扩展了 UML (26) 。(分数:4.00)A.协作图(Collaboration Diagram)B.序列图(Sequence Diagram)C.活动图(Activit

8、y Diagram)D.状态图(State Diagram)A.把这些构造块放在一起的规则B.图形或文字修饰C.类与对象的划分以及接口与实现的分离D.描述系统细节的规格说明A.构造块的特性,允许创建详述元素的新信息B.构造块的语义,允许增加新的规则或修改现有的规则C.语义,允许创建新的构造块D.词汇,允许创建新的构造块A.构造块的特性,允许创建详述元素的新信息B.构造块的语义,允许增加新的规则或修改现有的规则C.语义,允许创建新的构造块D.词汇,允许创建新的构造块1.用例(use-case)用来描述系统在对事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订

9、单和更新订单都需要核查用户账号是否正确。那么,用例“创建新订单”、“更新订单”与用例“核查客户账号”之间是 (27) 关系。(分数:1.00)A.包含(include)B.扩展(extend)C.分类(classification)D.聚集(aggregation)在 UML 中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。消息序列可用两种图来表示,强调消息时间次序的图称之为 (28) ,该图的特点是 (29) ,强调参加交互的对象的组织图称之为 (30) ,这两种图是 (31) 。(分数:4.00)A.活动图(activity diagram)B.状态图(sta

10、te diagram)C.序列图(sequence diagram)D.协作图(collaboration diagram)A.有生命线及控制焦点,重点在消息的时间顺序上B.有路径有顺序号,为了一个消息的时间顺序给消息加数字前缀C.是对系统、子系统或类的行为建模D.本质上是一个流程图,显示从活动到活动的信息流A.活动图(activity diagram)B.状态图(state diagram)C.序列图(sequence diagram)D.协作图(collaboration diagram)A.同构的,所以可以互相转换B.异构的,所以不可以互相转换C.强调对象行为的事件顺序,常用于对反应式系

11、统建模D.专注于系统的动态视图,状态无法确定,所以不可以互相转换用 UML 建立业务模型是理解企业业务过程的第一步。业务人员扮演业务中的角色及其交互方式,例如航空公司的售票员是业务人员,电话售票员也是业务人员,他们之间的关系是 (32) 。在 UML 中,用 (33) 表示企业业务的工作流。这种图显示工作流中的步骤、决策点,以及完成每一步骤的角色和对象。(分数:2.00)A.关联关系(Association)B.依赖关系(Dependency)C.聚集关系(Aggregation)D.概括关系(Generalization)A.活动图(activity diagram)B.业务图(busine

12、ss diagram)C.用例图(use-case diagram)D.交互图(interaction diagram)在面向对象技术中,一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态性称为 (34) 。同一个算子在不同的表达式中可能有不同的操作意义,这种多态性称为 (35) 。编译程序根据上下文判定算子的操作意义,这称为 (36) 。(分数:3.00)A.参数多态B.过载多态C.包含多态D.隐含多态A.参数多态B.过载多态C.包含多态D.隐含多态A.算子鉴别B.算子操作C.算子定义D.算子运算在面向对象分析过程中,用概念模型来详细描述系统的问题域,用 (37) 来表示概念模型

13、:用 (38) 来描述对象行为。(分数:2.00)A.序列图B.类图C.协作图D.用例图A.序列图和协作图B.用例图和活动图C.状态图和活动图D.用例图和构件图2.在 UML 中, (39) 把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。(分数:1.00)A.组合活动B.同步条C.活动D.泳道3.在较高的抽象层次上,传统的程序流程图与 UML 中活动图最根本的区别在于 (40) 。(分数:1.00)A.程序流程图明确地指定了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序B.活动图不能提供循环控制结构

14、,而程序流程图提供C.活动图不能表示并发活动,而程序流程图可以表示并发活动D.两者采用不同的图形符号系统4.在关于用例(use-case)的描述中,错误的是 (41) 。(分数:1.00)A.用例将系统的功能范围分解成许多小的系统功能陈述B.一个用例代表了系统的一个单一的目标C.用例是一个行为上相关的步骤序列D.用例描述了系统与用户的交互在用例建模的过程中,若几个用例执行了同样的功能步骤,这时可以把这些公共步骤提取成独立的用例,这种用例称为 (42) 。在 UML 的用例图上,将用例之间的这种关系标记为 (43) 。(分数:2.00)A.扩展用例B.抽象用例C.公共用例D.参与用例A.asso

15、ciationB.extendsC.usesD.inheritancesUML 提供了 4 种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。其中 (44) 是面向对象系统建模中最常用的图,用于说明系统的静态设计视图;当需要说明系统的静态实现视图时,应该选择 (45) :当需要说明体系结构的静态实施视图时,应该选择 (46) 。(分数:3.00)A.构件图B.类图C.对象图D.部署图A.构件图B.协作图C.状态图D.部署图A.协作图B.对象图C.活动图D.部署图5.面向对象系统中有两种基本的复用方式:框架复用和类库复用。下列关于框架和类库的描述不正确的是 (47) 。(分数:1.00

16、)A.框架是一个“半成品”的应用程序B.类库只包含一系列可被应用程序调用的类C.框架会为一个特定的目的实现一个基本的、可执行的架构D.类库是框架的一种扩展形式6.下列有关面向对象的叙述不正确的是 (48) 。(分数:1.00)A.面向对象设计最根本的意图是适应需求变化B.应尽量针对接口编程,而不要针对实现编程C.尽量使用继承而不是聚合,因为继承使得类间的藕合性最小D.尽量使用已有的类库7.当 (49) 时,用例是捕获系统需求最好的选择。(分数:1.00)A.系统具有很少的用户B.系统具有很少的接口C.系统算法复杂,功能单一D.系统有很多参与者8.现有两个用例 UCl 和 UC2,其中 UC2

17、是一个完整的用例,可被实例化,而 UC1 需要 UC2 中的事件流才可被实例化,且 UC1 指定了使用 UC2 的精确位置,则 UC1 和 UC2 间的关系是“ (50) ”。(分数:1.00)A.includeB.extendC.generalizeD.call9.下列关于面向对象的分析与设计的描述,正确的是 (51) 。(分数:1.00)A.面向对象设计描述软件要做什么B.面向对象分析不需要考虑技术和实现层面的细节C.面向对象分析的输入是面向对象设计的结果D.面向对象设计的结果是简单的分析模型10.协作图主要描述对象间的交互与连接,它 (52) 。(分数:1.00)A.能够表示消息的顺序和

18、嵌套关系B.能够表示消息的顺序关系,但不能表示消息的嵌套关系C.能够表示消息的嵌套关系,但不能表示消息的顺序关系D.既不能表示消息的顺序关系,也不能表示消息的嵌套关系11.下列关于 UML 叙述正确的是 (53) 。(分数:1.00)A.UML 是一种语言,语言的使用者不能对其扩展B.UML 仅是一组图形的集合C.UML 仅适用于系统的分析与设计阶段D.UML 是独立于软件开发过程的已知 3 个类 O、P 和 Q,类 O 中定义了一个私有方法 F1、一个公有方法 F2 和一个受保护的方法 F3:类 P和类 Q 为类 O 的派生类,其继承方式如下所不:class P:protected O.cl

19、ass Q;public O在关于方法 F1 的描述中正确的是 (54) 。在关千方法 F2 的描述中正确的是 (55) 。在关于方法 F3 的描述中正确的是 (56) 。(分数:3.00)A.方法 F1 无法被访问B.只有在类 O 内才能访问方法 nC.只有在类 P 内才能访问方法 F1D.只有在类 Q 内才能访问方法 F1A.类 O、P 和 Q 的对象都可以访问方法 F2B.类 P 和 Q 的对象都可以访问方法 F2C.类 O 和 Q 的对象都可以访问方法 F2D.只有在类 P 内才能访问方法 F2A.类 O、P 和 Q 的对象都可以访问方法 F3B.类 O、P 和 Q 的对象都不可以访问

20、方法 F3C.类 O 的对象可以访问方法 F3,但类 P 的对象不能访问方法 F3D.类 P 的对象可以访问方法 F3,但类 Q 的对象不能访问方法 F3在一个客户信息系统中存在两种类型的客户:个人客户和集团客户。对于个人客户,系统中保存了其客户标识和基本信息(包括姓名、住宅电话和 Email) 对于集团客户,系统中保存了其客户标识,以及与该集团客户相关的若干个联系人的信息(联系人的信息包括姓名、住宅电话、email、办公电话和职位)。根据上述描述,得到了如图 10-4 所示的 UML 类图,其中类“客户”的属性有 (57) ;类“人”的属性有 (58) 。(分数:2.00)A.客户标识B.姓

21、名、住宅电话、emailC.姓名、住宅电话、办公电话、email、职位D.客户标识、办公电话、职位A.客户标识B.姓名、住宅电话、emailC.姓名、住宅电户、办公电话、email、职位D.客户标识、办公电话、职位12.根据图 10-5 所示的 UML 类图可知,类 Car 和类 Boat 中的 move()方法 (59) 。(分数:1.00)A.引用了类 Transport 的 move()方法B.重置了类 Transport 的 move()方法C.是类 Transport 的 move()方法的聚集D.是类 Transport 的 move()方法的泛化在 UML 的通用机制中, (60

22、) 用于把元素组织成组; (61) 是系统中遵从一组接口规范且付诸实现的物理的、可替换的软件模块。(分数:2.00)A.包B.类C.接口D.构件A.包B.类C.接口D.构件回调(Call back)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的 (62) 模式就是回调机制的一个面向对象的替代品。该模式的意图是 (63) 。(分数:2.00)A.Strategy(策略)B.Adapter(适配器)C.Command(命令)D.Observer(观察者)A.使原本由于接口不兼容而不能一起工作的那些类可以一起工作B.将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排

23、队或记录请求日志,支持可撤消的操作C.定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新D.使算法可独立于使用它的客户而变化13.对 OO 系统的技术度量的识别特征,Berard 定义了导致特殊度量的特征。其中 (64) 抑制程序构件的操作细节,只有对访问构件必须的信息被提供给其他希望访问的构件。(分数:1.00)A.局部化B.封装C.信息隐藏D.继承14.用例从用户角度描述系统的行为。用例之间可以存在一定的关系。在“某图书馆管理系统”用例模型中,所有用户使用系统之前必须通过“身份验证”,“身份验证”可以有“密码验证”和“智能卡验证”两种方式

24、,则“身份验证”与“密码验证”和“智能卡验证”之间是 (65) 关系。(分数:1.00)A.关联B.包含C.扩展D.泛化15.在 UML 的动态建模机制中, (66) 描述了对象之间动态的交互关系,还描述了交互的对象之间的静态链接关系,即同时反映系统的动态和静态牲。(分数:1.00)A.状态图B.序列图C.协作图D.活动图系统分析师-面向对象方法学答案解析(总分:66.00,做题时间:90 分钟)根据考试大纲的要求,本章要求考生掌握面向对象分析与设计(继承、抽象、代理、封装、多态)和统一建模语言(UML)。由于面向对象方法已经成为软件开发的一种主要方法,从历年考试来看,面向对象的知识点考得越来

25、越多(甚至超过了软件工程的分数),着重考查统一建模语言(UML)的知识。(1) 面向对象的主要特征除封装、继承外,还有 (1) 和 (2) 。通常,对象可由标识此对象的名、属性和 (3) 所组成。对象之间的服务请求是通过传递 (4) 来实现的。所有的对象可以分成为各种对象类,每个对象类都定义了一组 (3) 。有一种特殊的类称为抽象类,其主要特征是 (5) 。(分数:5.00)A.一致性B.完整性C.动态联编 D.静态联编解析:A.一致性B.完整性C.动态联编D.多态性 解析:A.说明B.方法 C.过程D.类型解析:A.对象名B.属性C.参数D.消息 解析:A.没有实例 B.抽象地包括了大量实例

26、C.没有子类D.对数据类型的抽象解析:分析 面向对象(Object-Oriented)方法形成最初是从面向对象程序设计语言开始的。第一个 00语言是 20 世纪 60 年代末挪威奥斯陆大学和挪威计算中心共同研制的 Simula。到 20 世纪 80 年代中期,OO 语言达数十种之多。20 世纪 80 年代中期,面向对象分析(OOA)的研究开始发展,进而延伸到面向对象设计 (OOD)。20 世纪 90 年代以后,OOA/OOD 方法逐渐走向实用,形成 OO 开发方法。我们先介绍几个基本概念。(1)对象 在计算机系统中,对象是指一组属性以及这组属性上的专用操作的封装体。属性可以是一些数据,也可以是

27、另一个对象。每个对象都有它自己的属性值,表示该对象的状态,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装目的足使对象的使用者和生产者分离,使对象的定义和实现分开。一个对象通常可由对象名、属性和操作(方法)3 部分组成。(2)类 类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是这个类的一个实例(instance)。在分析和设计时,我们通常把注意力集中在类上,而不是具体的对象上。通常把一个类和这个类的所有对象称为类及对象或对象类。(3)继承 继承是在某个类的层次关联中不同的类共享属性和操作的一种机制。一个父类可以有多个子类,这些子类都是父类的特例。父类描述了

28、这些子类的公共属性和操作,子类还可以定义它自己的属性和操作。一个子类只有惟一的父类,这种继承称为单一继承。一个子类有多个父类,可以从多个父类中继承特性,这种继承称为多重继承。(4)消息 消息是对象间通信的手段、一个对象通过向另一对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数(如有必要)。消息只告诉接收对象需要完成什么操作,但并不能指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。(5)多态性和动态绑定(动态联编) 多态性是指同一个操作作用于不同的对象可以有不同的解释,产生不同的执行结果。与多态性密切相关的一个概念就是动态绑

29、定。传统的程序设计语言把过程调用与目标代码的连接放在程序运行前进行,称为静态绑定。而动态绑定则是把这种连接推迟至运行时才进行。在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法连接,即动态绑定。在面向对象的程序设计中,对象可由标识此对象的名、属性和方法组成。对象之间的服务请求是通过传递消息来实现的。所有对象可以分成各种对象类,每个对象类都定义了一组方法。每个类一般都有实例,没有实例的类是抽象类。面向对象程序设计的基本思想是通过建立和客观实际相对应的对象,并通过这些对象的组合来创建具体的应用。对象是 (6) 。对象的三要素是指对象的 (7) 。 (8)

30、均属于面向对象的程序设计语言。而面向对象的程序设计语言必须具备 (9) 特征。Windows 下的面向对象程序设计和通常 DOS 下的结构化程序设计最大区别是 (10) 。(分数:5.00)A.数据结构的封装体B.数据以及在其上的操作的封装体 C.程序功能模块的封装本D.一组有关事件的封装体解析:A.名字、字段和类型B.名字、过程和函数C.名字、文字和图形D.名字、属性和方法 解析:A.C+、LispB.C+、Smalltalk C.Prolog、AdaD.Foxpro、Ada解析:A.可视性、继承性、封装性B.继承性、可重用性、封装性C.继承性、多态性、封装性 D.可视性、可移植性、封装性解

31、析:A.前者可以使用大量下拉式选单,后者使用命令方式调用B.前者是一种消息驱动式体系结构,后者是一种单向调用 C.前者具有强大的图形用户接口,后者无图形用户接口D.前者可以突破内存管理 640KB 的限制,后者不能解析:分析 对象不但封装了数据,还封装了在这些数据上的操作(方法)。对象之间的服务请求是通过传递消息来实现的,而不再是简单的函数调用,这是面向对象的程序设计与传统的结构化程序设计的最大区别。面向对象技术中,对已有实例的特征稍作改变就可生成其他的实例,这种方式称为 (11) 。分类(classification)指的是对象及其类型之间的关系。若一个对象可用 n 个类型表述,而这些类型不

32、必由继承来关联的是 (12) 。(13) 是面向对象程序设计语言中的一种机制。这种机制实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。(分数:3.00)A.委托B.代C.继承 D.封装解析:A.单一分类B.多重分类 C.动态分类D.静态分类解析:A.继承(inheritance)B.模板(template)C.对象自身引用(self-reference)D.动态绑定(dynamic binding) 解析:分析 面向对象技术中,对已有实例的特征稍作改变就可生成其他的实例,这种方式称为继承。根据 UML 词汇表,其对“委托”的解释为“一个对象发送消息给另一个对象来响应消息

33、的能力。委托可用来替代继承”。通过委托方式,一个对象可以将功能委托给另一个对象来实现。分类指的是对象及其类型之间的关系。若一个对象可用 n 个类型表述,而这些类型不必由继承来关联的是多重分类。根据 UML 词汇表,其对“多重分类”的解释为“一般化的一种语义变体,其中的对象可以属于多个不同的类”;对“动态分类”的解释为“一般化的语义变体,其中的对象可以改变其类型或角色”。动态绑定是面向对象程序设计语言中的一种机制。这种机制实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。选项 B 中的模板是 OOP 提供的一种参数化类。OMT(Object Modelling Techni

34、que)方法的第一步是从问题的陈述入手,构造系统模型。系统模型由对象模型、 (14) 组成。对象模型是从实际系统导出的类的体系,即类的属性、子类与父类之间的继承关系以及类之间的 (15) 关系。(分数:2.00)A.静态模型和功能模型B.动态模型和过程模型C.动态模型和功能模型 D.静态模型和操作模型解析:A.关联 B.从属C.调用D.包含解析:分析 OMT 方法从三个视角描述系统,相应地提供了 3 种模型,分别是对象模型、动态模型和功能模型。对象模型描述对象的静态结构和它们之间的关系。主要的概念包括类、属性、操作、继承、关联和聚集。对象模型一般用对象图和数据词典来实现。对象模型是三个模型中最

35、关键的一个模型,它的作用是描述系统的静态结构,包括构成系统的类和对象,它们的属性和操作以及它们之间的关系。对象模型用对象模型图来表示,对象模型图是 E-R 图的一种推广形式,如图 10-1 所示。动态模型描述系统那些随时间变化的方面,其主要概念有状态、子状态和超状态、事件、行为和活动。动态模型一般用状态图和全局事件流图来实现。*动态模型用来描述与值的变换有关的系统特征功能、映射、约束和函数依赖,由多个状态图组成,如图 10-2 所示。各个类的状态图通过共享事件组成系统的动态模型。*功能模型描述系统内部数据值的转换,其主要概念有加工、数据存储、数据流、控制流和角色(源/潭)。功能模型一般用数据流

36、图和约束来实现。如图 10-3 所示。OMT 方法有 4 个步骤,分别是分析、系统设计、对象设计和实现。OMT 方法的每一个步骤都使用上述 3 种模型,每一个步骤对这 3 种模型不断地进行细化和扩充。*分析阶段基于问题和用户需求的描述,建立现实世界的模型。分析阶段的产物有问题描述、对象模型、动态模型和功能模型。系统设计阶段结合问题域的知识和目标系统的体系结构(求解域),将目标系统分解为子系统。对象设计阶段基于分析模型和求解域中的体系结构等添加的实现细节,完成系统设计。主要产物包括细化的对象模型、细化的动态模型和细化的功能模型实现阶段将设计转换为特定的编程语言或硬件,同时保持可追踪性、灵活性和可

37、扩展性。类库是一种预先定义的程序库,它以程序模块的形式,按照 (16) 把一组类的定义和实现组织在一起: (17) 对类库的建设提供了强有力的支持。(分数:2.00)A.类的功能B.类层次结构 C.实例之间的调用关系D.类的类型解析:A.引用B.重置C.类属类 D.封装解析:分析 从物理特征上来看,类库和传统例程库是类似的,它们都是一种预先定义的程序库。类库是一种预先定义的程序库,它以程序模块的形式,按照类层次结构把一组类的定义和实现组织在一起。较上层的类代表了较一般的事物,相反,较下层的类代表了较具体的事物,很好地体现了面向对象机制的继承、重载等许多特征。类属类(generic class)

38、仅描述了适用于一组类型的通用样板,由于其中所处理对象的数据类型尚未确定,因而程序员不可用类属类直接创建对象实例,即一个类属类并不是一种真正的类类型。类属类必须经过实例化后才能成为可创建对象实例的类类型。类属类的实例化是指用某一数据类型替代类属类的类型参数。类属类定义中给出的类型参数称为形式类属参数,类属类实例化时给出的类型参数称为实际类属参数。如果类属类实例化的实际类属参数可以是任何类型,那么这种类属类称为无约束类属类。然而在某些情况下,类属类可能要求实际类属参数必须具有某些特殊的性质,以使得在类属类中可应用某些特殊操作,这种类属类称为受约束类属类。类属类对类库的建设提供了强有力的支持。UML

39、 是一种面向对象的统一建模语言。它包含 10 种图,其中,用例图展示了外部 actor 与系统所提供的用例之间的连接,UML 中的外部 actor 是指 (18) ,用例可以用 (19) 图来描述。状态图指明了对象所有可能的状态以及状态间的迁移(transition)。如果一个并发的状态由 n 个并发的子状态图组成,那么,该并发状态在某时刻的状态由 (20) 个子状态图中各取一个状态组合而成。协作图描述了协作的 (21) 之间的交互和链接(link),它画成 (22) 图的形式。(分数:5.00)A.人员B.单位C.人员或单位D.人员或外部系统 解析:A.类B.状态C.活动 D.协作解析:A.

40、每一 B.任意一C.任意二D.任意 m(mn)解析:A.对象 B.类C.用例D.状态解析:A.对象 B.类C.用例D.状态解析:分析 统一建模语言(Unified Modeling Language,简称 UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML 适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML 是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。UML 包括概念的语义、表示法和说明,提供了静

41、态、动态、系统环境及组织结构的模型。它可被交互的可视化建模工具所支持,这些工具提供了代码生成器和报表生成器。 UML 标准并没有定义一种标准的开发过程,但它适用于迭代式的开发过程。它是为支持大部分现存的面向对象开发过程而设计的。UML2.0 包含下列 13 种图形。(1)类图(class diagram):展现了一组类、接口、协作和它们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出系统的静态设计视图。包含主动类的类图给出系统的静态进程视图。(2)对象图(object diagram):展现了一组对象和它们之间的关系。对象图描述了在类图中所建立的事物的实例的静态快照。和类

42、图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。(3)构件图(component diagram):展现了一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。(4)组合结构图(composite structure diagram):它可以描绘结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点。它显示联合执行包含结构化类的行为的部件配置。组合结构图用于画出结构化类的内部内容。(5)用例图(use cas

43、e diagram)展现了一组用况、参与者(一种特殊的类)及它们之间的关系。用况图给出系统的静态用况视图。这些图在对系统的行为进行组织和建模上是非常重要的。(6)顺序图和通信图:两者都是交互图。交互图(interaction diagram)展现了一种交互,它由一组对象或角色以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图(sequence diagram)是强调消息的时间次序的交互图;通信图(communication diagram)也是一种交互图(在 UML1.x 中,被称为协作图),它强调收发消息的对象或角色的结构组织。顺序图和通信图表达了类似的基本概念,但每种图强调

44、概念的不同视图,顺序图强调时序,通信图强调消息流经的数据结构。(7)状态图(state diagram)展现了一个状态机,它由状态、转移、事件和活动组成。状态图展现了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。(8)活动图(activity diagram)将进程或其他计算的结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对于系统的功能建模特别重要,并强调对象间的控制流程。(9)部署图(deployment diagram)展现了对运行时的处理结点和在其中生存的构件的配置。部署图给出了体系结构的静态

45、部署视图。通常一个结点包含一个或多个制品。制品图(artifact diagram)展现了计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品常与部署图一起使用。制品也展现了它们实现的类和构件。(10)包图(package diagram)展现了由模型本身分解而成的组织单元和它们的依赖关系。(11)定时图(timing diagram)是一种交互图,它展现了消息跨越不同对象或角色的实际时间,而不仅仅是关心消息的相对顺序。(12)交互概览图(interaction overview diagram)是活动图和顺序图的混合物。从应用的角度看,当采用面向对象技术设计系统时,第一

46、步是描述需求;第二步是根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中,第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、构件图和配置图 5 个图形,是 UML 的静态建模机制。第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和协作图 4 个图形,是 UML 的动态建模机制。因此,UML 的主要内容也可以归纳为静态建模机制和动态建模机制两大类。用例图展示了各类外部行为者(actor)与系统所提供的用例之间的连接。 UML 中的外部行为则是指那些可能使用用例的人或外部系统,行为者与用例的连接表示

47、该行为者使用了这个用例。用例通常用普通的正文来描述,也可以用活动图来描述。状态图通常是对类描述的扩充,它说明该类的对象所有可能的状态,以及那些事件将导致状态的改变。状态图可以嵌套,即一个状态可以用一张子状态图来描述,也可以用若干张并发执行的子状态图来描述。如果一个状态由 n 张并发执行的子状态图组成,那么,该状态由 n 张子状态图中各取一个子状态组合而成。协作图用来展示对象间的动态协作关系,着重描述协作对象之间的交互和链接。协作图画成对象图,图中的消息箭头表示对象间的消息流。在使用 UML 建模时,若需要描述跨越多个用例的单个对象的行为,使用 (23) 是最为合适的。UML 结构包括了基本构造

48、块、公共机制和 (24) 。UML 中提供了扩展机制,其中,构造型(Stereotype)扩展了 UML 的 (25) ,约束 (Constraint)扩展了 UML (26) 。(分数:4.00)A.协作图(Collaboration Diagram)B.序列图(Sequence Diagram)C.活动图(Activity Diagram)D.状态图(State Diagram) 解析:A.把这些构造块放在一起的规则 B.图形或文字修饰C.类与对象的划分以及接口与实现的分离D.描述系统细节的规格说明解析:A.构造块的特性,允许创建详述元素的新信息B.构造块的语义,允许增加新的规则或修改现有

49、的规则C.语义,允许创建新的构造块D.词汇,允许创建新的构造块 解析:A.构造块的特性,允许创建详述元素的新信息B.构造块的语义,允许增加新的规则或修改现有的规则 C.语义,允许创建新的构造块D.词汇,允许创建新的构造块解析:分析 序列图用来反映若干个对象之间的动态协作关系,也就是随着时间的推移,对象之间是如何交互的。序列图强调对象之间消息发送的顺序,说明对象之间的交互过程,以及系统执行过程中,在某一具体位置将会有什么事件发生。协作图描述对象间的协作关系,协作图与序列图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系;如果强调时间和顺序,则使用序列图:如果强调上下级关系,则选择协作图。这两种图合称为交互图。活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图由各种动作状态构成,每个动作状态包含可执行动作的规范说明。当某个动作执行完毕,该动作的状态就会随着改变。这样,动作状态的控制就从一个状态流向另一个与之相连的状态。活动图中还可以显示决策、条件、动作的并行执行、消息的规范说明等内容。状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件。大多数面向对象技术都用状态图表示单个对象在其生命周期中的行为。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1