软件工程 科学出版社 郑逢斌主编 第6章 面向对象基础 课后习题答案
1. 什么是面向对象方法? 与传统软件开发方法相比,面向对象方法有什么优点?
是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法
优点:
1.符合人们对问题的认识习惯
2.增强问题域与最终软件系统之间的衔接
3易于维护和复用
4.易于开发大型软件产品
2.UML与面向对象方法的关系是什么?
UML( Unified Modeling Language )
统一建模语言是一种面向对象的软件系统的通用可视化建模语言。
不是一种可视化的程序设计语言,而是一种可视化的建模语言
不是过程,也不是方法,但允许任何一种过程和方法使用它。
UML是在总结面向对象技术应用实践的基础上;
3. UML的内容包括哪些部分?它的特点是什么?
UML 由视图(Views)、模型元素(Model Elements)、图(Diagrams)等部分组成
特点
(1)统一标准。UML 统一了 Booch、OMT 和 OOSE 等方法中的基本概念,已成为 OMG的正式标准,提供了标准的面向对象模型元素的定义和表示。
(2)面向对象。UML 吸取了面向对象技术领域中其他流派的长处。UML 符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。
(3)可视化、表达能力强。系统的逻辑模型或实现模型都能用 UML模型清晰表示,可用于复杂软件系统的建模。它不只是一堆图形符号在每一个图形表示符号后面,都有良好定义的语义;UML 还提供了语言的扩展机制,用户可以根据需要增加定义自己的构造模型、标记值和约束等,强大表达能力使它可以用于各种复杂类型的软件系统建模。
(4)独立于过程。UML 是系统建模语言,不依赖于特定的程序设计语言,独立于开发过程
(5)易掌握、易用。由于UML的概念明确,建模表示法简洁明了图形结构清晰,易于掌握使用
4. 解释下列术语,并举例说明。
对象、类、关联、泛化、聚合、依赖
(1)对象(Object)
对象是系洗中用来描逐客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。举例:中国就是一个对象。
(2)类(Class)
类是具有相同属性和服务的一组对象的集合,它为属丁该类的全部对象提供了统一的抽象描述,包括属性和服务两个主要部分。
举例:学生、人、树木等都是类。
(3)属性(Attribute)
属性是用来指述对象静志征的一个数据项。
举例:学生具有姓名、性别、年龄等属性。
(4)操作(Operation)
操作是类的实例被要求执行的服务,具有名学和参数列表。
举例:学生具有入学注册、选误等操作。
(5)关联(Association)
关联是一种结构关系,说明一个事物的对象与另一个事物的对象之间的联系。举例:学生与课程之向的关系就是关联,一个学生可以选修多门课程,一门课程也可以破多个学生选修。
(6)泛化(Generalization)
泛化是一种一般事物《父类》和特殊事物《子类》之间的关系。
举例:学生与研究生之间是泛化关系,研究生是一类特殊的学生。
(7)聚合(Aggregation)
聚合是一种特殊类型的关眠,搞述了整体和部分间的结构关系。
举例:学校和系之间存在聚合关系,系是学校的一个组成部分。
(8)依赖(Dependency)
依赖是一种使用关系,描述了一个事物发生变化会影响到另一个使用它的事物
举例:课程表使用课程,二者之间是依赖关系。
5.什么是模型?在软件开发过程中为什么需要建立模型?
在软件开发过程中,建立软件模型具有十分重要的作用,主要体现在以下方面:
有助于问题的简化,通过抽象降低复杂性:
有助于和其他开发小组成员、各种用户以及系统相关者进行交流
有助丁维护人员了解软什设计的思路和细节,为以后的维护和升级提供了文档。
6. CadYoudon 面向对象分析方法将建立念型为5个步。以一个你的应用系统(如图书馆信息管理系统)为例,按照方法规定的步骤,分层建立适当的概念模型。
面向对象分析(OOA)的步骤
类及对象层。识别类与对象活动,定义类与对象。
结构层。识别结构(分类结构和组装结构)活动,确认继承与组合结构。
主题层。识别主题(子系统)活动,将性质相同的类与对象归纳为同一主题。
属性层。定义属性(包括实例连接)活动,确认对象属性。
服务层。定义服务(包括消息连接)活动,确认操作与关联和对象的状态。
面向对象设计(OOD)的步骤
人机接口(界面)部件模型
问题域部件模型
任务管理部件模型
数据管理部件模型
7.假设你所在的学校要开发一个研究生选课系统,要求该系统能够根据预先制订的课表保证选课无冲突。请采用 UML面向对象方法为该问题建立需求模型。