第五章 面向对象方法与UML
(1)UML是一种建模语言,是一种标准的表示,是一种方法。( √ )
(2)类图用来表示系统中的类和类与类之间的关系,它是对系统动态结构的描述。(×)
解释:类图是对系统的静态结构进行描述,而不是动态结构
(3)在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对
象是生成类的模板。(×)
解释:类是对象的模板,而对象是类的实例
(4)顺序图用于描述对象是如何交互的,并且将重点放在消息序列上。(√ )
(5)继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。(√)
(6)多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软
件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。(√)
(7)类封装比对象封装更具体、更细致。(错)
解释 :对象封装和类封装是相同的概念,用于将数据和相关操作封装在一个单元中
(8)用例之间有扩展、使用和组合等几种关系。(√ )
(9)活动图用于显示动作及其结果,着重描述操作实现中所完成的工作,以及用例实例或类中的活动。(√)
(10)UML语言支持面向对象的主要概念,并与具体的开发过程相关。(√)
(11)部署图用于描述系统硬件的物理拓扑结构,以及在此结构上执行的软件。(√)
(1)面向对象技术中,对象是类的实例。对象有3种成分:(A)、属性和方法(或操作)。
A.标识
B.继承
C.封装
D.消息
(2)以下不是面向对象的特征的是(D)
A.多态性
B.继承性
C.封装性
D.过程调用
(3)汽车有一个发动机,汽车和发动机之间的关系是(B)关系。
A.组装
B.整体与部分
C.分类
D.一般与具体
(4)(D)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐藏的,外界只能通过有限的接口与对象发生联系。.
A.多态性
B.继承
C.消息
D.封装
(5)面向对象的主要特征除了对象唯一性、封装和继承外,还有(D)。
A.兼容性
B.完整性
C.可移植性
D.多态性
(6)关联是建立(A)之间关系的一种手段。
A.对象
B.类
C.功能
D.属性
(7)面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父亲,下层可以有子类,这种层次结构系统的一个重要性质是(B),一个类获得其父亲的全部描述(数据和操作)。
B.继承性
C.复用性
D.多态性
A.兼容性
(8)所有的对象可以成为各种对象类,每个对象类都定义了一组(B)。
A.说明
B.类型
C.过程
D.方法
(9)通过执行对象的操作可以改变对象的属性,但它必须通过(B)的传递。
A.操作
B.消息
C.信息
D.继承
(10)UML是软件开发中的一个重要工具,它主要应用于(D)。
A.基于螺旋模型的结构化方法
B.基于需求动态定义的原型化方法
D.基于对象的面向对象的方法
C.基于数据的数据流开发方法
(11)(C)是从用户使用系统的角度描述系统功能的图形表达方法。
A.类图
B.活动图
C.用例图
D.状态图
(12)(B)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这
些对象之间传递消息的时间顺序。
A.类图
B.顺序图
C.状态图
D.协作图
(1)请简述面向对象的基本概念。
面向对象:按人们认识客观世界的系统思维方式,采用基于对象的概念建立模型,模拟客观世界分析、设计和实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。
(2)与面向结构化开发过程相比,为什么面向对象能更真实地反映客观世界?
(3)什么是面向对象技术?面向对象方法的特点有哪些?
面向对象技术(Object-Oriented Technology)是一种软件开发方法和设计范式,它以对象为基本构建单元,通过将数据和对数据的操作封装在一起来组织和管理复杂系统的开发。
面向对象技术的特点包括:
这些特点使得面向对象技术适用于构建复杂的软件系统。它能够提高代码的可维护性、可重用性和可扩展性,使系统更容易理解和修改。面向对象技术也有助于团队的协作开发,因为对象的封装性和接口定义可以使不同的开发人员独立地工作在系统的不同部分上。
(4)什么是类?类与传统的数据类型有什么关系?
类是具有相似内部状态和运动规律的实体的集合。类的概念来自于人们认识自然、认识社会的过程。在这一程中,人们主要使用两种方法:由特殊到一般的归纳法和由一般到特殊的演绎法。在归纳的过程中,人们从一个个具体的事物中把共同的特征抽取出来,形成
一个一般的概念,这就是“归类”;在演绎的过程中人们又把同类的事物,根据不同的特征分成不同的小类,这就是“分类”;对于一个具体的类,它有许多具体的个体,把这些个体称为“对象”。类的内部状态是指类集合中对象的共同状态;类的运动规律是指类集合中对象的共同运动规律。
(5)与传统的软件工程方法相比,面向对象的软件工程方法有哪些优点?
2.面向对象的软件工程方法的优势
**1)符合人类的思维习惯。**通常人类在认识客观世界中的事物时,不仅会考虑到事物会哪些属性,还会考虑到事物能完成哪些操作,也就是说静态的属性及动态的动作特征都是组成事物的一部分,它们组合起来才能完整地表达一个事物。而面向对象的软件工程方法最重要的
特点就是把事物的属性和操作组成一个整体,以对象为核心,更符合人类的思维习惯。
**2)稳定性好。**传统的软件工程方法基于功能分析和功能分解。当软件功能发生变化时,很容易引起软件结构的改变。而面向对象的软件工程方法则是基于对象的概念,用对象来表示与待解决的问题相关的实体,以对象之间的联系来表示实体之间的关系。当目标系统的需求发生变化时,只要实体及实体之间的关系不发生变化,就不会引起软件系统结构的变化,而只需要对部分对象进行局部修改,就可以实现系统功能的扩充。因此,基于对象的软件系统稳定性比较好。
**3)可复用性好。**面向对象技术采用了继承和多态的机制,极大地提高了代码的可复用性。从父类派生出子类,一方面复用了父类中定义的数据结构和代码,另一方面提高了代码的可扩展性。
**4)可维护性好。**由于利用面向对象软件工程方法开发的软件系统稳定性好,可复用性好,而且采用了封装和信息隐藏机制,易于对局部软件进行调整,所以系统的可维护性比较好。
(6)UML的作用和优点有哪些?
统一建模语言(Unified Modeling Language,UML)是一种通用的可视化建模语言,可以用来描述、可视化、构造和文档化软件密集型系统的各种构件。
UML具有以下几个特点。
·统一标准。UML融合了当前一些流行的面向对象开发方法的主要概念和技术,是一种面向对象的、标准化的、统一的建模语言。UML提供了标准的、面向对象的、模型元素的定义和表示方法,并已经成为OM C的标准。面向对象
·可视化,表达能力强大。UML是一种图形化语言,系统的逻辑模型或实现模型都能用相应的图形清晰地表示,每一个图形表示符号后面都有良好定义的语义。UML可以处理与软件的说明和文档有关的问题。UML提供了语言的扩展机制,用户可以根据需要增加定义自己的构造型、标记值和约束等,它的强大表达能力使它可以用于各种复杂类型的软件系统的建模。
·独立于过程。UML是系统建模语言,独立于开发过程。
·容易掌握使用。UML概念明确,建模表示法简洁明了,图形结构清晰,容易掌握使用。学习UML应着重学习3方面的主要内容:UML的基本模型元素,把这些模型元素组织在一起的规则,UML语言中的公共机制。
·与编程语言的关系。用Java、C++等编程语言可以实现一个系统。支持UML的一些CASE工具(如Rose)可以根据UML所建立的系统模型自动产生Java、C++等代码框架,并且支持这些程序的测试及配置管理等环节的工作。
(7)如何着手从自然语言描述的用户需求中画出用例图?
(8)用例脚本有何作用?
(9)类间的外部关系有几种类型?每种关系表达什么语义?
类与类之间的关系有关联、依赖、泛化和实现等。
关联(Association):表达模型元素间的一种语义关系,是对具有共同的结构特性、行为特性、关系和语义的链的描述。UML中使用一条直线表示关联关系,直线两端上的数字表示重数。关联类是一种充当关联关系的类,和类一样具有自己的属性和操作。关联类使用虚线连接自己和关联符号。关联类依赖于连接类,没有连接类时,关联类不能单独存在。
依赖关系(Dependency): 依赖关系表示一个类在执行过程中需要另一个类的协助或信息。它是一种临时性的关系,表示一个类对另一个类的依赖。依赖关系通常在一个类的方法中作为参数类型、局部变量类型或方法返回类型出现
泛化关系:描述类的一般-特殊关系,特殊描述之间的一种分类学关系。
**实现关系:**将一个模型连接到另一个模型,通常情况下,后者是行为的规约(如接口),前者要求必须至少支持后者的所有操作。如果前者是类,后者是接口,则该类是后者的实现。
实现与泛化很相似,区别是泛化是针对同层级元素之间的连接,而实现是针对不同语义层上的元素的连接。例如,子类与父类关系是泛化,类与接口关系是实现。
(1)某市进行招考公务员工作,分为行政、法律和财经3个专业。市人事局公布所有用人单位招收各专业的人数,考生报名,招考办公室发放准考证。考试结束后,招考办公室发放考试成绩单,公布录取分数线,针对每个专业,分别将考生按总分从高到低进行排序。用人单位根据排序名单进行录用,发放录用通知书给考生,并给招考办公室留存备查。请根据以上情
况进行分析,画出顺序图。
(2)某学校领书的工作流程为:学生班长填写领书单,班主任审查后签名,然后班长拿领书单到书库领书。书库保管员审查领书单是否有班主任签名,填写是否正确等,将不正确的领书单退回给班长;如果填写正确则给予领书并修改库存清单;当某书的库存量低于临界值时,登记需订书的信息,每天下班前为采购部门提供一张订书单。用用例图、顺序图和活动图来描述领书的过程。
(3)当手机开机时,它处于空闲状态,当用户使用电话呼叫某人时,手机进人拨号状态。如果呼叫成功,即电话接通,手机就处于通话状态;如果呼叫不成功,例如对方线路有问题或关机,则拒绝接听。这时手机停止呼叫,重新进人空闲状态。手机进入空闲状态下被呼叫,手机进人响铃状态;如果用户接听电话,手机处于通话状态;如果用户未做出任何反应,可能他没有听见铃声,手机一直处于响铃状态;如果用户拒绝来电,手机回到空闲状态。
请按以上描述绘制出使用手机的状态图。