《国外计算机科学经典教材·面向对象技术:使用VP-UML工具实现“由图到代码”(第2版)》是为希望掌握将统一建模语言应用于软件开发的基本知识及技术的学生和开发人员编写的。读者可以从《国外计算机科学经典教材·面向对象技术:使用VP-UML工具实现“由图到代码”(第2版)》中学习如何使用适当的UML模型、过程、技术和工具进行面向对象的分析、设计和实现。配书光盘中包含了Visual Paradigrn for UML(VP-UML)的共享版本,这是一个获奖的CASE工具,读者可以利用它立即将所学的理论知识应用于实践。
作者Curtis HK Tsang、Clarence SW Lau、Ying K Leung提出了一个用于建模和分析的新框架——视图校正技术,这有助于软件开发人员创建开发方法。还介绍了活动分析方法,该万法特别适合于交互密集型系统的开发。这些概念得到了很好的证明,因为在VP-UML CASE工具的开发过程中都遵循了它们。本书用三章的篇幅描述了结构、用例、动态建模和分析技术,并提供了来自作者多年经验的实践技巧和提示。这三章都包含一个小案例,演示了软件开发中“从图到代码”的独特概念。最后一章包含一个主要的案例,帮助读者使用VP-UML以巩固在前面各章中学习的理论。此外,还介绍了UML 2.0,UML 2.0是1997年以来对UML标准的第一次重大更新。
现在计算机科学专业和软件工程专业的学生都必须选择像面向对象分析与设计或者面向对象软件工程之类的课程作为本科学业的一部分。但是,尽管市面上已经有各种面向对象技术方面的图书,但是似乎缺少一本内容全面、能够涵盖整个软件开发过程的教材:从建模、分析到实现,也就是从理论到实践。因此,学生对面向对象这项强大技术的认识常常是不完整的,甚至一些学生对它有非常大的误解。
导致这种现象的原因归咎于以下几个因素。第一,UML表示法非常丰富,很多学生不知道如何系统地使用它们。第二,统一过程没有指定在不同条件下需要什么模型;实际上一些模型甚至工作流是可选的。第三,市面上的相关书籍没有提供完整地涵盖整个开发生命周期的实用内容,学生在将所学理论应用到实际环境中时会遇到麻烦。第四,没有一个统一的方法能够应用于所有类型的问题。学生甚至从业人员往往倾向于遵循某种“经过验证的”方法学,但最终他们都会发现这些方法学根本不能用于他们的系统。
最基本的问题是很多学生和从业人员不知道软件开发方法有3个关键元素:过程、表示法和技术,以及应该如何以系统的方式应用它们,以有效地利用开发系统提供的便利。大多数讨论UML的书籍都只关注表示法,也可能会有少量关于统一过程的内容。很多关于UML的书籍都包含了软件工具,但只演示了如何将软件开发过程自动化。软件供应商通常只在他们的手册中讨论自己的工具,可以理解的是,他们会对自己所采用的技术有所偏好。但是,很多产品与UML标准并不兼容。
撰写本书的起因是由于需要一本涵盖整个软件开发生命周期的书,它能够在构建大型系统所涉及的各个步骤中为学生和从业人员提供指导。读者可能来自不同的开发阶段,从建模与分析阶段到实现阶段,通过使用CASE工具VP-UML,他们将体会到“从图到代码”概念的威力。每章都有一个小型案例研究,这可以帮助读者理解在实践中如何应用这些知识。我们还提出了视图校正技术(View Alignment Techniques,VAT)框架,以便为不同类型的应用提供方法定制。基于VAT框架,我们将描述活动分析方法(Activity Analysis Approach,A3),它特别适合于交互密集型系统的开发。在本书中,软件开发的实用方面将通过一个获奖的CASE工具VP-UML来演示。
我们的梦想是使大型软件系统的开发成为一个简单容易的任务。我相信所提出的VAT框架将有助于从业人员和学生建立他们自己的方法学,以适合各自的需要,从而使失败和恐惧远离系统开发。
这个主题的其他资料可以在http://www.mheducation.asia/olc/tsang上获得,其中,教师可以使用有益的工具,如PowerPoint幻灯片(受密码保护)和习题答案(受密码保护),学生可以获得源代码、其他练习题和测试题。
第1章 引论
1.1 概论
1.2 本章 要点
1.3 软件工程方法
1.4 可视化建模
1.5 软件开发方法
1.6 表示、过程、技术和工具
1.7 内容组织
1.8 本章小结
第2章 结构建模与分析
2.1 概论
2.2 本章 要点
2.3 对象
2.3.1 对象的含义
2.3.2 对象类型
2.4 类和实例
2.5 结构建模技术
2.5.1 类的命名
2.5.2 类之间的关系
2.5.3 继承
2.5.4 继承的性质
2.5.5 关联关系
2.5.6 聚合关系
2.6 结构建模示例
2.7 结构建模的UML表示法小结
2.8 结构分析技术
2.8.1 类的获取
2.8.2 模型要简单
2.8.3 使用结构分析过程中的启发式法
2.8.4 进行领域建模和分析
2.9领域建模和分析过程
2.9.1 概论
2.9.2 开发领域模型
2.1 0结构建模和分析过程中的技巧和提示
2.1 1使用VP-UML进行领域建模和分析
2.1 2本章小结
2.1 3 习题
翦3章 用例建模与分析
3.1 概论
3.2 本章 要点
3.3 需求获取
3.4 用例建模技术
3.5 用例模型示例
3.6 用例分析技术
3.6.1 进行用例分析
3.6.2 用例建模的UML表示法小结
3.6.3 使用关系组织用例
3.6.4 编写用例文档
3.6.5 优选用例
3.7 用例建模与分析过程
3.7.1 概论
3.7.2 开发用例模型
3.7.3 开发初始用例模型
3.7.4 识别主要参与者
3.7.5 邮购案例研究
3.8 使用用例建模分析中的技巧和提示
3.9使用VP-UML进行用例建模和分析
3.1 0本章小结
3.1 1 习题
第4章 动态建模与分析
4.1 概论
4.2 本章 要点
4.3 场景建模技术:交互图
4.3.1 常用的UML交互图符号
4.3.2 顺序图
4.3.3 通信图
4.4 场景建模示例
4.5 使用状态机图动态建模技术
4.6 使用活动图动态建模技术
4.7 动态分析技术
4.7.1 细化描述用例的技巧
4.7.2 步骤1:关注对外部系统行为的建模
4.7.3 步骤2:关注子系统之间的通信
4.7.4 步骤3:开发可重用的MVC软件框架
4.8 动态建模与分析过程
4.8.1 概论
4.8.2 开发动态模型的步骤
4.9动态建模与分析的技巧和提示
4.1 0使用VP-UML进行动态建模与分析
4.1 1本章小结
4.1 2习题
第5章 UML规范的实现
5.1 概论
5.2 本章 要点
5.3 概述
5.4 实现类图
5.4.1 单个类
5.4.2 包
5.4.3 琳承
5.4.4 关联关系
5.4.5 聚合与组合
5.5 使用关系型数据库实现持久化类
5.5.1 单个类
5.5.2 "一对多"关联关系
5.5.3 "多对多"关联关系
5.5.4 受限"多对多"关联关系
5.5.5 N元关联关系
5.5.6 泛化关系
5.6 实现活动图
5.7 实现状态图
5.7.1 实现一个简单的状态图
5.7.2 实现一个具有顺序子状态的状态图
5.8 实现交互图
5.9案例学习:电梯控制系统
5.9.1 场景1
5.9.2 场景2
5.1 0本章小结
5.1 1习题
第6章 VAT和方法定制
6.1 概论
6.2 本章 内容
6.3 软件开发方法
6.3.1 软件开发方法组件
6.3.2 使用软件开发方法的好处
6.4 为何传统软件方法不能创造奇迹
6.5 UML和软件方法
6.6 面向对象方法应用中的障碍
6.7 当前的面向对象开发方法
6.7.1 表示法
6.7.2 统一过程
6.7.3 技术
6.7.4 可溯性和模型一致性
6.7.5 方法定制的需求
6.8 VAT
6.8.1 数据流图和实体关系图之间的链接元素
6.8 2顺序图和类图之间的链接元素
6.8.3 VAT原则
6.8.4 VAT架构
6.8.5 应用VAT
6.9使用VAT创建和定制方法
6.1 0案例研究
6.1 0.1 方法创建过程的7个步骤
6.1 0.2 业务工作流总结
6.1 0.3 转换下一个工作流:需求
6.1 0.4 转换到下一个工作流:分析
6.1 0.5 转换到下一个工作流设计
6.1 0.6 方法路标图
6.1 1本章小结
6.1 2习题
第7章 案例研究:运用活动分析技术
7.1 概论
7.2 本章 要点
7.3 案例研究
7.4 业务建模
7.5 需求
7.5.1 领域分析(用例级)
7.5.2 用例分析
7.6 分析
7.7 设计
7.8 应用VP-UMI运用活动分析方法
7.8.1 业务建模
7.8.2 需求
7.8.3 分析
7.8.4 设计
7.9 本章小结
第8章 UML2表示法更新
概述
8.1 概论
8.2 本章 要点
8.3 简介
8.4 UML 2图的类型
8.5 UML 2中新的结构图
8.5.1 基本概念和表示
8.5.2 复合结构图
8.6 UML 2中新的交互图
8.6.1 交互纵览图
8.6.2 时序图
8.7 行为图的其他UML2更新
8.7.1 更新的状态图
8.7.2 复合状态
8.7.3 行为的泛化
8.7.4 更新的活动图
8.7.5 UML Profiles
8.8 本章小结
附录A VP-UML入门
附录B UML基础
附录C 电梯控制系统的实现代码