基本信息出版社:科学出版社
页码:405 页
出版日期:2006年08月
ISBN:9787030177037
条形码:9787030177037
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:新世纪计算机及相关专业系列教材
图书品牌:科瀚伟业
内容简介 《基于UML的面向对象建模技术》在系统地介绍软件工程和面向对象的基本概念和方法的基础上,重点介绍了统一建模语言UML及其建模技术、方法与应用,以及得到业界广泛认同的软件开发过程、规程与实践。《基于UML的面向对象建模技术》通过大量的例子或案例来解释或说明有关的概念、方法和技巧,以便于读者理解,帮助他们学以致用,达到立竿见影的效果。《基于UML的面向对象建模技术》不仅可作为高等院校计算机或软件学院的高年级本科生或硕士研究生的教学参考读物,而且可作为从事软件系统的研制、开发、管理和维护的软件人员的参考书。
编辑推荐 《基于UML的面向对象建模技术》由科学出版社出版。
目录
序
序二
前言
第1章 软件工程综述
1.1 引言
1.1.1 软件的发展
1.1.2 产业的观点
1.1.3 软件特征与软件危机
1.1.4 软件工程的定义
1.1.5 软件工程的四要素
1.2 软件生命周期过程
1.2.1 软件过程
1.2.2 软件生命周期过程标准
1.2.3 软件生命周期过程的不同观点
1.2.4 ISO/IEC12207标准的三个层次
1.3 软件开发生命周期
1.4 软件过程模型
1.4.1 线性模型
1.4.2 原型模型
1.4.3 演化模型
1.5 软件工程方法和技术
1.5.1 结构化方法
1.5.2 面向对象方法
1.5.3 基于构件的方法
1.5.4 基于Agent的方法
1.5.5 形式化方法
1.5.6 软件重用技术
1.6 软件工程标准和规范
1.6.1 软件工程标准的级别
1.6.2 软件工程规范
1.6.3 软件工程标准和规范的一个实例
1.7 软件工程的组织和管理
1.7.1 软件项目管理
1.7.2 软件配置管理
1.7.3 软件过程成熟度模型CMM和CMMI
1.7.4 敏捷过程
1.8 软件工程的工具和环境
1.8.1 CASE的宗旨和定义
1.8.2 CASE工具的类型
思考练习题
第2章 面向对象开发方法和编程语言
2.1 结构化方法和面向对象方法
2.2 面向对象的基本概念与术语
2.2.1 对象
2.2.2 抽象
2.2.3 分类
2.2.4 封装
2.2.5 消息通信
2.2.6 继承
2.2.7 多态性和动态联编
2.2.8 面向对象方法的优点
2.2.9 面向对象方法的问题和缺陷
2.3 面向对象编程语言
2.3.1 Simula和Smalltalk语言
2.3.2 C扩展语言
2.3.3 Eiffel语言
2.3.4 Java语言
2.3.5 C#语言
2.3.6 其他的面向对象语言
2.4 面向对象的分析和设计
2.5 典型的面向对象方法介绍
2.5.1 Coad&Yourdon方法
2.5.2 Rumbaugh的对象建模技术方法
2.5.3 Booch方法
2.5.4 Jacobson方法
2.5.5 RDD方法
思考练习题
第3章 统一建模语言UML
3.1 UML的背景和演化发展
3.2 UML的范围和规范
3.2.1 UML的范围
3.2.2 UML规范的结构
3.3 UML的各种图、建模元素及表示法
3.4 UML图与建模技术
3.4.1 软件系统构架的视图
3.4.2 软件开发生命周期中UML的角色
3.5 UML体系结构和定义方式
3.5.1 四层元模型体系结构
3.5.2 UML2.O的底层和上层结构包
3.5.3 UML规范语言的形式化问题
3.6 UML的公用建模元素和扩展机翩
3.7 UML2.0简介
3.7.1 引言
3.7.2 活动图
3.7.3 结构化类元
3.7.4 组合
3.7.5 异常
3.7.6 交互概观图
3.7.7 用例图
3.7.8 UML一致性
3.7.9 小结
思考练习题
第4章 统一过程与工具
4.1 RUP的生命周期
4.1.1 RUP的发展历史
4.1.2 RUP的生命周期
4.1.3 RUP的阶段
4.1.4 RUP的核心规程
4.2 RUP的特点与最佳实践
4.2.1 RUP的特点
4.2.2 RUP的六大最佳实践
4.3 Jude工具
4.3.1 创建用例图
4.3.2 创建类图
4.3.3 创建时序图
4.3.4 创建协作图
4.3.5 创建状态图
4.3.6 创建活动图
4.3.7 创建构件图
4.3.8 创建部署图
思考练习题
第5章 需求建模
5.1 需求工程
5.1.1 需求过程
5.1.2 需求获取
5.1.3 领域模型和业务模型
5.2 用例和用例图
5.2.1 用例模型
5.2.2 用例图
5.2.3 执行者
5.2.4 用例
5.2.5 用例之间的关系
5.2.6 用例描述
5.3 测试用例
5.4 实例研究——大学课程注册系统
5.4.1 问题背景
5.4.2 系统的执行者和用例
5.4.3 用例的详细描述
5.5 业务建模和系统建模
5.5.1 业务建模
5.5.2 系统建模
5.5.3 业务建模的UML图示法
5.5.4 业务建模实例
5.5.5 系统建模实例
5.6 识别利益相关者
5.7 识别和管理需求
5.8 系统建模的用例图
5.8.1 识别用例
5.8.2 识别执行者
5.8.3 执行者间的关系
5.9 迭代过程中的用例类型
5.9.1 黑箱用例与白箱用例
5.9.2 用例级别和书写风格
5.9.3 迭代过程中的用例层次
5.9.4 用例命名和优先级设定
思考练习题
第6章 从需求到分析和设计
6.1 迭代开发过程
6.2 确定系统边界和项目范围
6.3 分析
6.4 设计
6.5 用例实现-设计的例子
6.6 测试用例和需求跟踪
思考练习题
第7章 静态建模
7.1 类图的基础部分
7.2 对象图
7.3 类图的高级概念
7.4 用UML建立类图的指南
7.5 实例研究
思考练习题
第8章 动态建模
8.1 对象之间的消息交互
8.2 时序图
8.3 协作图
8.4 状态图
8.5 活动图
8.6 交互概观图和定时图
8.7 动态建模的技巧
8.8 实例研究
思考练习题
第9章 构架建模
9.1 概述
9.2 UML 2.0的视图结构
9.3 包图
9.4 构件图
9.5 部署图
9.6 复合结构图
9.7 建立构架的步骤
思考练习题
第10章 框架与建模
10.1 框架和模式
10.2 GRASP模式
10.3 GOF模式
思考练习题
第11章 XP编程开发方法
11.1 概述
11.2 XP编程的基本准则
11.3 XP编程的基本工作
11.4 XP编程的实践方法
11.5 XP编程的管理策略
11.6 XP编程的风险规避
11.7 XP编程与RUP的比较
思考练习题
第12章 案例研究
12.1 案例研究:POS系统
12.2 迭代规划
12.3 初始阶段中的用例与制品
12.4 细化阶段中的用例与制品
附录名词对照表(英中)
主要参考文献
……
序言 软件工程大师James Rumbaugh认为:“UML最大的贡献是在设计与建模上。有了UML这个标准,最大的好处是大家愿意在建模上发挥自己的能力,把软件开发从原来的写程序‘拉’到结构良好的建模上来,这是软件最应该发展的方向,这是UML意义最大的所在。”这位大师还对如何学习UML(统一建模语言)提出了很好的想法:“UML就像一本很厚的书一样,一下子要把每个章节、每一页都看完相对来讲是不容易的,学习UML的最好方式是从最基础、最根本的方式来学习,尤其是从图像化的东西开始学起,把握一个要点,当你有这个需求要扩展更多功能的时候再从原来的基础往那个方向扩展学习的内容。不要想把所有的书一次都念完,这样会让你在吸收时产生困扰。”本书试图在这个方向上努力,力求深入浅出、逐步展开,通过大量的例子或案例来解释或说明有关的概念、方法和技巧,以便于读者理解,帮助他们学以致用,达到立竿见影的效果。
本书在系统地介绍软件工程和面向对象的基本概念和方法的基础上,重点介绍了UML及其建模技术、方法与应用,以及得到业界广泛认同的软件开发过程、规程与实践。
我们希望本书不仅可作为高等院校计算机或软件学院的高年级本科生或硕士研究生的教学参考读物,而且可作为从事软件系统的研制、开发、管理和维护的软件人员的参考书。
最新版本的统一建模语言即UML2.0的推出,引起了软件界的广泛关注和兴趣。为此,本书在介绍UML的图示法和概念时,凡涉及与UML2.0的新特征有关的部分均做了必要的说明和补充,使读者在全面、系统地了解UML1.x版内容的同时,能及时地注意到今后可能的变动和改进之处。
文摘 插图:

初始阶段的工作是要将一个好的想法,发展为一个关于最终产品的构想,并定义产品的项目范围和业务用例。工作的重点在于理解所有的需求并决定开发的工作范围。
在这个阶段所要明确的内容主要包括:
项目的软件范围和边界条件。要明确可操作的概念、可接受的原则以及产品的部分详细说明。
系统中最关键的业务用例。即系统应该为它的每个主要用户提供什么样的基本功能。
系统的大致构架,给出系统大致是什么样子的。这个构架是试验性的,通常只是一个包括主要子系统的大致轮廓。
产品的费用和时间计划,以及对产品风险的评估。在这个阶段的风险评估中,重点在于确定最主要风险内容,以及风险的高低次序。
初始阶段所需提供的制品主要包括:
一个关于项目核心需求、关键特性和主要约束的构想文档。
一个关于项目用例模型的说明,列出在当前阶段可以确定的系统用例及其用户。
立项报告。描述项目的业务语境,项目的资源估计,项目成功的标准,项目的经济利益预测等。
项目术语表。
早期风险(技术风险、市场风险、资源风险等)的评估。
项目开发计划。计划中应明确系统开发过程中的有关阶段和迭代的内容。
一个或多个原型。