21世纪高等学校计算机规划教材:面向对象技术及UML教程
定 价:22 元
- 作者:李磊 ,王养廷 编
- 出版时间:2010/5/1
- ISBN:9787115224255
- 出 版 社:人民邮电出版社
- 中图法分类:TP312
- 页码:186
- 纸张:胶版纸
- 版次:1
- 开本:16开
《面向对象技术及UML教程》主要包括3部分内容:面向对象编程的基本知识、UML介绍和UML工具的介绍,其中详细讲解了UML的主要模型图的图符、含义和应用。主要内容包括用例图、顺序图和协作图、类图和对象图、包图、状态图和协作图、构件图和IML部署图。在讲述LJ/VML各种模型图时,不仅介绍图符的用法和含义,还着重介绍这些模型图的应用。另外,《面向对象技术及UML教程》还以Rational Rose为例简要介绍了如何使用UML工具进行UML主要模型图的绘制,以及如何利用Rational:Rose进行模型到代码、代码到模型的双向工程。
《面向对象技术及UML教程》在内容组织和安排上强调实用性,书中介绍了面向对象的概念、面向对象实现技术以及相关的软件开发过程,最后给出一个实例详细介绍如何在实际项目中应用UML进行面向对象分析和设计。
《面向对象技术及UML教程》内容浅显易懂,适合作为高等院校相关专业的UML教材,也可以作为计算机行业从业人员学习UML,的参考书。
《面向对象技术及UML教程》以面向对象程序设计、UML基础出知识和实际应用为主,由浅入深地向读者介绍了面向对象编程的基础知识、UML的基础知识以及如何在实际项目中应用UML技术,并且以Rational Rose为主介绍了如何使用UML工具。 以Ralional Rose为主要工具,以UML基础知识为主要内容,以实际应用UML为主要目的。
统一建模语言(Unified Modeling Language,UML,)汇集和融合了著名的面向对象技术专家Grady Booth、James Rum baugh和Ivar Jaeo bson的研究成果。它是一种简洁的、统一的可视化建模语言。UML是一种定义良好、易于表达、功能强大且适用于各种应用领域的建模语言,已被OMG采纳为标准,目前UML已成为面向对象技术领域内占主导地位的标准建模语言。
对于系统的使用者,开发人员可以用UML来表达系统的功能,让使用者了解系统能够提供的功能和价值。对于系统分析师,他们可以使用UML作为系统架构设计的工具。对于软件工程师,他们可以利用UML进行构件和类的设计,描述系统中对象之间的动态交互。对于系统的管理者,他们也可以使用UML来刻画系统中硬件或是软件构件的部署与配置情形。
本书以面向对象程序设计、UML基础知识和实际应用为主,由浅人深地向读者介绍了面向对象编程的基础知识、UML的基础知识以及如何在实际项目中应用UML技术,并且以:Rational Rose为例介绍了如何使用UML工具。
本书共分为13章,第1章主要讲解了面向对象的基础知识;第2章主要介绍了RUP(统一软件过程),RUP是目前的软件过程中与UML结合最好的过程;第3章简要介绍了UML的基础内容,包括UML的概念、UML的发展历史、UML的主要内容,以及UML2.0中的新内容;第4章主要介绍了UML的工具,并以Raional Rose工具为例,讲解了如何绘制UML的各种关系图,以及如何使用Rose的双向工程;第5章到第11章详细介绍了UML的用例图、顺序图、协作图、类图、对象图、包图、状态图、活动图、构件图和部署图,包括10种模型图的含义、使用的图符以及如何在实际应用中使用这10种模型图;第12章介绍了面向对象的实现技术,包括面向对象语言的介绍、面向对象类和接口的设计,以及面向对象的基本编程规范;第13章以一个具体的实例“打击游戏”为例,将该实例作为一个软件项目,参照软件公司的项目组织和开发方式,应用UML完成项目的需求分析、设计实现、集成和测试的过程,帮助读者学会如何使用UML进行实际软件项目的开发。
本书既可以作为高等院校计算机专业的学生学习UML或面向对象程序设计的基础教材,也可作为从事计算机行业的技术人员学习UML的参考书。
本书由李磊、王养廷和杜启军共同编写,其中第4章、第5章、第6章、第7章、第8章、第9章由李磊编写,第1章、第2章、第12章、第13章由王养廷编写,第3章、第10章、第11章由杜启军编写。
由于作者的水平有限,书中难免存在错误之处,恳请广大读者批评指正。如果读者有问题,请发送电子邮件到编者将及时给您答复。
第1章 面向对象技术概述
1.1 面向对象方法学
1.1.1 面向对象方法学概述
1.1.2 面向对象方法学的基本特征
1.2 面向对象的类和对象
1.3 面向对象程序设计语言
1.4 小结
1.5 习题
第2章 RUP软件开发过程
2.1 RUP软件开发过程概述
2.1.1 RUP简介
2.1.2 RUP主要特点
2.1.3 RUP最佳实践
2.2 RUP过程框架
2.2.1 RUP过程框架模型
2.2.2 RUP过程阶段
2.2.3 RUP迭代开发模式
2.3 RUP的静态结构
2.4 RUP的角色
2.4.1 分析员角色集
2.4.2 开发人员角色集
2.4.3 测试人员角色集
2.4.4 经理角色集
2.4.5 其他角色集
2.5 RUP的活动
2.5.1 先启阶段核心活动
2.5.2 细化阶段核心活动
2.5.3 构建阶段核心活动
2.5.4 产品化阶段核心活动
2.6 RUP的工件
2.7 小结
2.8 习题
第3章 UML概述
3.1 什么是UML
3.1.1 UML简介
3.1.2 UML的主要作用
3.2 UML演变
3.3 UML组成
3.3.1 用例图
3.3.2 类图、对象图、包图
3.3.3 状态图、活动图
3.3.4 顺序图、协作图
3.3.5 构件图、部署图
3.4 UML的应用领域
3.5 UML2.0的新特性
3.6 小结
3.7 习题
第4章 UML工具
4.1 UML工具介绍
4.2 主要UML工具介绍
4.3 Rational Rose的主要功能
4.4 Rational Rose窗口介绍
4.4.1 窗口的构成
4.4.2 浏览器
4.4.3 文档窗口
4.4.4 工具栏
4.4.5 框图窗口
4.4.6 日志.1
4.5 Rose模型视图
4.6 Rational Rose框图创建
4.6.1 创建Rose模型
4.6.2 创建用例图
4.6.3 创建类图
4.6.4 创建状态图
4.6.5 创建活动图
4.6.6 创建顺序图
4.6.7 创建协作图
4.6.8 创建构件图
4.7 Rational Rose的双向工程
4.7.1 正向工程
4.7.2 逆向工程
4.8 小结
4.9 习题
第5章 用例和用例图
5.1 用例图概述
5.2 为什么要使用用例图
5.3 用例图元素
5.3.1 执行者
5.3.2 用例
5.3.3 系统
5.3.4 关系
5.3.5 用例描述
5.4 用例图图符
5.5 用例粒度
5.6 用例图应用
5.6.1 用户需求
5.6.2 需求分析
5.6.3 需求描述
5.7 小结
5.8 习题
第6章 顺序图和协作图
6.1 顺序图概述
6.2 顺序图元素
6.2.1 对象
6.2.2 生命线
6.2.3 激活
6.2.4 消息
6.3 顺序图图符
6.4 顺序图理解
6.4.1 条件分支
6.4.2 从属流
6.4.3 消息延迟
6.4.4 循环
6.4.5 顺序图片段
6.5 顺序图应用
6.6 协作图概述
6.7 协作图元素
6.7.1 对象
6.7.2 多对象
6.7.3 主动对象
6.7.4 链
6.7.5 消息
6.7.6 消息种类
6.7.7 消息序列化
6.8 协作图图符
6.9 协作图理解
6.10 协作图应用
6.11 顺序图与协作图之间关系
6.12 小结
6.13 习题
第7章 类图和对象图
7.1 类图概述
7.2 类图元素
7.2.1 类名称
7.2.2 属性
7.2.3 方法
7.2.4 可见性
7.3 类间关系
7.3.1 关联
7.3.2 泛化
7.3.3 依赖
7.3.4 其他关系
7.4 抽象类
7.5 类图图符
7.6 类图理解
7.7 类图应用
7.7.1 类图的层次
7.7.2 需求描述
7.3 类的提取
7.7.4 类图设计
7.8 对象图概述
7.9 对象图应用
7.10 小结
7.11 习题
第8章 包
8.1 概述
8.2 包图图符
8.3 包图理解
8.3.1 包中元素
8.3.2 包的可见性
8.3.3 包间关系
8.4 包图应用
8.5 包的设计原则
8.5.1 重用发布等价原则
8.5.2 无环依赖原则
8.5.3 稳定抽象等价原则
8.5.4 稳定依赖原则
8.5.5 共同封闭原则
8.5.6 全部重用原则
8.6 小结
8.7 习题
第9章 状态图和活动图
9.1 状态图概述
9.1.1 状态机
9.1.2 状态图概述
9.2 状态图元素
9.2.1 起点和终点
9.2.2 状态
9.2.3 事件
9.2.4 转换
9.2.5 复合状态和子状态
9.3 状态图图符
9.4 状态图应用
9.4.1 状态分析
9.4.2 状态图描述
9.5 活动图概述
9.6 活动图元素
9.6.1 起点和终点
9.6.2 活动
9.6.3 转移
9.6.4 接收信号和发送信号
9.6.5 决策点和汇合点
9.6.6 分岔和汇合
9.6.7 泳道
9.7 活动图图符
9.8 活动图应用
9.8.1 过程分析
9.8.2 活动连接
9.8.3 活动图描述
9.9 小结
9.10 习题
第10章 构件图
10.1 构件图概述
10.2 构件图元素
10.2.1 构件
10.2.2 接口
10.2.3 依赖关系
10.3 构件图图符
10.4 构件图理解
10.5 构件图应用
10.6 小结
10.7 习题
第11章 部署图
11.1 部署图概述
11.2 部署图元素
11.2.1 节点
11.2.2 关联关系
11.3 部署图图符
11.4 部署图理解
11.5 部署图应用
11.6 小结
11.7 习题
第12章 面向对象实现技术
12.1 面向对象的程序设计语言
12.2 类和接口的设计
12.2.1 类的设计
12.2.2 接口的设计
12.3 类的实现
12.3.1 方法的实现
12.3.2 代码设计
12.3.3 类的包装
12.4 小结
12.5 习题
第13章 UML项目实训
13.1 项目启动
13.1.1 建立项目组
13.1.2 制定开发计划
13.2 项目需求分析
13.2.1 需求获取
13.2.2 需求描述
13.2.3 软件界面描述
13.2.4 游戏规则定义
13.2.5 游戏说明
13.3 使用UML进行系统设计
13.3.1 系统备选对象
13.3.2 系统对象分析
13.3.3 系统类图设计
13.4 使用UML进行类设计
13.4.1 添加系统类
13.4.2 类图设计
13.4.3 添加属性
13.4.4 添加方法
13.4.5 类图设计
13.5 UML设计模型到代码实现转换
13.6 UML在测试阶段的应用
13.7 项目总结
13.8 小结
13.9 习题
1.1.2面向对象方法学的基本特征 面向对象程序设计的基本特征包括了封装、继承和多态,对象之间是通过消息相互作用的。下面对这些特征进行介绍。
1.抽象
抽象是解决实际问题经常采用的策略,也是人类认识世界的本能方式。.所谓抽象是指从许多事物中,舍弃个别的、非本质的属性,抽取出共同的、本质的属性的过程,它是形成概念的必要手段。
交通图就是应用抽象的一个很好范例。在人们驾车外出旅行时,需要一张交通路线图。在这张图上,有道路、河流、山脉、旅游景区、快餐店、加油站等各种标志,它们都是对实际景观抽象的结果。这些标志只能说明某个地理位置有一条道路、一条河流、一座加油站等,而并没有反映出某一座特定的加油站的特征。实际上,每一个加油站在其建筑、占用面积、人员管理等诸多方面都有所不同,但所有这些加油站都是用来为汽车加油的,这是所有加油站的共同特征。对于所有的出行人来说只要知道有一个能够加油的地方就可以了,并不需要知道这个加油站的人员、规模等信息。
数据抽象是一种更高级别的抽象方法。它将现实世界中存在的事物作为抽象单元,其抽象内容既包括事物的属性特征,也包括行为特征。数据抽象是面向对象程序设计所采用的核心方法,通过数据抽象得到现实世界的一个一个的事物,这些事物就是一个一个的对象。
例如,现实世界中一个学校有许多学生,在抽象过程中每个学生可以用学号、姓名、性别、年龄、家庭住址等信息进行描述;同时每个学生还可以有注册学籍、选修课程等行为。通过这些从每个学生身上抽象出的信息和行为,可以任意描述出该学校每一个现实世界中的学生。
2.封装
封装是指将现实世界中某个事物的属性与行为聚集在一个逻辑单元内部的机制。封装指将对象属性和操作结合在一起,构成一个独立的对象。它的内部信息是隐藏的,不允许外界直接存取对象的属性,而只能通过指定的接口与对象联系。
实际上,封装并不是新的概念,在日常生活中,处处可以看到封装机制的应用。例如,一台日常的电视机由许多电器元件组成,每一个电器元件都有一定的性能指标,完成一定的功能。但是在使用电视机时,用户不需要了解这些电器元件的功能,只需要操作电视机前面面板上提供的按钮来实现换台、调节音量等功能。这就是封装,用户只需要操作电视机提供的按钮,而不需要了解内部每个电器元件的工作原理与工作过程。