本书是一本软件建模技术方面的实用教程,按照软件开发过程,以软件开发者的视野,利用著名的IBM Rational Software Architect软件建模工具,带领读者学习UML软件建模技术。全新的学习方式使得复杂的知识不再难学习。主要内容包括: 为什么需要UML建模、UML建模工具、UML与面向对象开发方法、软件开发各阶段中的UML图、RSA对系统实现阶段的支持、RSA数据库建模、综合实训等。
本书的*特点是将理论与实际操作有机结合起来,实训任务丰富、图文并茂、深入浅出、讲解详尽、实践性强。可以作为大专院校计算机软件工程、软件技术、计算机应用技术、计算机信息管理、软件与信息服务等相关专业的教材; 也可作为广大软件行业从业人员(程序员、系统设计师、系统分析员、系统架构师、需求分析师、软件开发经理等)进行UML建模实践的指南。
1、真正适合高职院校学生的UML软件建模技术方面的教材,是相关专业学生加入软件行业的敲门砖。2、适合软件行业从业人员的UML建模指南,为普及、推广UML建模技术在软件开发中的应用,提高软件开发效率和质量做出努力。3、完整的综合实训案例贯穿了软件开发全过程,从需求分析到设计实现,将UML软件建模技术应用于软件开发实践。4、课程网站提供电子课件、教学素材、互动交流等,更好地为读者提供服务。
前言
软件开发从单个人的艺术创造到按软件工程思想组织的软件开发团队的集体制品贯穿了软件技术的发展历程,推动软件开发技术进步的思想其实很简单,就是提高开发效率、保证软件质量、按时交付软件产品。现在,虽然已经出现了很多软件开发方法,从结构化方法到面向对象技术,……等等,但是,软件开发技术进步的脚步并没有停止。由于软件技术不断进步,知识更新的速度是很快的。例如,从著名的Rational Rose支持UML 1.4到IBM Rational Software Architect支持UML 2.0。作者在多年的教授软件建模技术课程过程中发现,现有的教材大多数还是使用UML 1.4和Rational Rose,甚至关于IBM Rational Software Architect的参考书也很少。一些教材没有很好地考虑到高职院校和软件行业从业人员的实际情况,使读者被众多的UML图搞得云里雾里,费了很大的劲儿学完后还是不知道如何在实际的软件开发过程中应用软件建模技术。一些人对软件建模技术的作用认识不足,认为软件建模是软件设计师的工作,高职院校主要培养的是程序员。其实,UML是所有软件行业的从业人员(程序员、系统设计师、系统分析员、系统架构师、需求分析师、软件开发经理等)的沟通工具。软件开发团队的成员有些来自其他专业,例如,需求分析师一般都是领域专家(熟悉某一业务的资深人士,例如,财务管理专家、销售管理专家、生产管理专家等)。UML主要应用于软件系统,也可应用于其他复杂系统。在国外,也有为其他专业开设UML建模的课程。基于作者多年在企业带领软件开发团队、实践UML建模的成功经验和多年在高职院校教授软件建模技术对UML的深刻认识,作者感到非常有必要写一本真正适合高职院校学生的UML建模方面的教材,并为软件开发任务繁重的软件行业从业人员提供一种实用的UML建模指南的书籍。这就是作者编写这本书的目的。本书内容第1章为什么需要UML建模,简要介绍软件工程、UML的起源,明确学习目的。第2章UML建模工具,介绍了常用的UML建模工具,重点介绍了IBM Rational Software Architect软件建模工具。第3章UML与面向对象开发方法,简要介绍了面向对象开发方法及与UML的关系。第4章业务需求建模阶段的UML图,重点介绍了业务需求建模阶段的UML图的用途、绘制方法。第5章系统分析建模阶段的UML图,重点介绍了系统分析建模阶段的UML图的用途、绘制方法。第6章系统设计建模阶段的UML图,重点介绍了系统设计建模阶段的UML图的用途、绘制方法。第7章RSA对系统实现阶段的支持,重点介绍了模型与代码转换的双向工程,简要介绍了模型驱动的软件开发方法。第8章RSA数据库建模,重点介绍了数据库建模的用途和方法。第9章综合实训,提供了完整的综合实训案例,给出了详细的建模步骤。本书特色本书的主要特色如下。(1) Rational Rose只支持UML 1.4,IBM在收购了Rational后在Rational Rose的基础上开发了IBM Rational Software Architect(RSA),RSA支持UML 2.0。RSA的版本还在不断更新,使我们可以跟上技术进步的步伐。(2) IBM Rational Software Architect 8.5.1有中文版,使高职院校的学生感到更容易学习,不会产生畏难情绪。(3) 通过RSA的操作理解UML概念,真正做到理论够用,重在培养技能。(4) 从软件开发者的角度,按照软件开发过程讲解UML图,使得所学内容更实用。(5) RSA对软件开发全过程的支持,特别是对模型驱动开发MDD的支持,使我们了解软件开发方法的新进展。(6) 通过掌握面向对象开发方法与UML应用,我们认识到比编程语言和开发工具更重要的是编程思想。读者对象大专院校计算机软件工程、软件技术、计算机应用技术、计算机信息管理、软件与信息服务等相关专业的学生; 高等院校(专科、本科)相关专业有意加入软件行业的学生; 软件行业从业人员(程序员、系统设计师、系统分析员、系统架构师、需求分析师、软件开发经理等)。作者分工刘小郧: 负责第1、2章的编写。李娜: 负责第3章、第8章的编写。吴银婷: 负责第4、5章的编写。李观金: 负责第6、7章的编写。高科华: 负责第9章的编写,全书的策划,统编全稿。致谢感谢清华大学出版社的大力支持,才使得这本教材(国内第一本用IBM RSA讲解UML软件建模技术的高校教材)得以早日面世。感谢惠州经济职业技术学院信息工程学院院长薛晓萍教授的鼓励、指导,才使得惠州经济职业技术学院软件工程课程组勇于创新,在课程建设方面取得了初步的成绩,本书就是课程组的教研成果之一。联系方式广东省惠州市惠州经济职业技术学院软件工程系高科华QQ: 527358657Email: khgao@126.com课程网站: http://120.76.149.170/uml/编者2017年2月
目录
第1章为什么需要UML建模
1.1软件工程概述
1.1.1软件工程的产生
1.1.2什么是软件工程
1.1.3软件生命周期
1.1.4软件过程
1.2UML概述
1.2.1UML的产生和演变
1.2.2UML的定义和特点
1.2.3UML的应用领域
1.3UML建模
1.3.1为什么软件开发需要UML建模
1.3.2为什么一些开发人员不选择UML建模
1.3.3何时进行UML建模
1.3.4如何进行UML建模
思考题
实训任务
第2章UML建模工具
2.1RSA与RUP
2.1.1什么是RSA
2.1.2RSA的安装
2.1.3在RSA中应用RUP
2.2RSA使用基础
2.2.1RSA建模透视图
2.2.2RSA操作常用技巧
2.3其他UML建模工具简介
2.3.1IBM Rational Rhapsody
2.3.2PowerDesigner
2.3.3Visio
2.3.4Enterprise Architect
2.3.5TOGETHER
2.3.6一些免费的建模工具
思考题
实训任务
第3章UML与面向对象开发方法
3.1面向对象概念
3.1.1对象和类
3.1.2消息与方法
3.1.3面向对象的要素
3.2面向对象建模
3.2.1按模型的用途对模型分类
3.2.2按软件开发过程对模型分类
3.2.3IBM RSA面向对象建模的主要步骤
3.3面向对象的分析与设计
3.3.1面向对象分析
3.3.2面向对象设计
3.4面向对象实现
3.4.1C
3.4.2Java
3.4.3C#和ASP.NET
3.4.4PHP
3.4.5JavaScript
3.4.6Python
3.4.7Ruby
3.4.8Groovy
3.4.9Go
3.5UML对面向对象开发的支持
3.5.1用例模型
3.5.2分析模型
3.5.3设计模型
思考题
第4章业务需求建模阶段的UML图
4.1什么是业务需求建模
4.1.1创建用例模型
4.1.2用例模型的组织结构
4.2业务需求建模阶段的UML图
4.2.1用例图
4.2.2活动图
思考题
实训任务
第5章系统分析建模阶段的UML图
5.1什么是系统分析建模
5.1.1创建分析模型
5.1.2分析模型的组织结构
5.2系统分析建模阶段的UML图
5.2.1类图静态结构
5.2.2顺序图(时序图)
思考题
实训任务
第6章系统设计建模阶段的UML图
6.1什么是系统设计建模
6.1.1创建设计模型
6.1.2设计模型的组织结构
6.2系统设计建模阶段的UML图
6.2.1组合结构图
6.2.2状态图
6.2.3组件图
6.2.4部署图
思考题
实训任务
第7章RSA对系统实现阶段的支持
7.1从模型到实现
7.1.1从UML模型转换为Java代码
7.1.2从UML模型转换为C 代码
7.1.3从UML模型转换为XML文档
7.2用RSA进行模型驱动开发
7.2.1模型驱动开发概述
7.2.2模型驱动开发方法
7.2.3用RSA进行模型驱动开发
7.3RSA中用逆向工程获得UML模型
7.3.1用逆向工程从Java代码获得UML模型
7.3.2用逆向工程从C 代码获得UML模型
思考题
实训任务
第8章RSA数据库建模
8.1数据库建模概述
8.1.1什么是数据库建模
8.1.2物理数据建模的一般步骤
8.1.3在RSA中创建数据库设计项目
8.2RSA数据透视图
8.2.1常用视图与编辑器介绍
8.2.2常用技巧
8.3RSA数据库建模
8.3.1表设计
8.3.2视图设计
8.3.3关系设计
8.4用逆向工程从数据库获得数据库模型
8.5物理数据模型生成DDL
思考题
实训任务
第9章综合实训
9.1项目概览
9.1.1项目描述
9.1.2创建UML项目
9.2创建PiggyBank用例模型
9.2.1创建用例图
9.2.2创建活动图
9.3创建PiggyBank分析模型
9.3.1新建PiggyBank分析模型
9.3.2识别分析类
9.3.3创建PiggyBank领域模型
9.3.4创建Account Operations用例实现概览图
9.3.5创建Display Balance Participants图
9.3.6创建Display Balance时序图
9.3.7创建Transfer Money Participants图
9.3.8创建Transfer Money时序图
9.3.9创建Cash Check Participants图
9.3.10创建CashCheck时序图
9.3.11PiggyBank在线银行系统的分析类概览图
9.4创建PiggyBank设计模型
9.4.1新建PiggyBank设计模型
9.4.2识别实现设计子包和创建包图
9.4.3创建CityBank集成设计层
9.4.4创建业务设计层包结构
9.4.5创建framework组件层
9.4.6创建EJB组件子包
9.4.7创建EJB delegate组件包
9.4.8对设计模型应用概要文件
实训任务
参考文献