【现货速发】UML软件建模技术:基于IBM RSA工具
全新正版书籍,24小时发货,可开发票。
¥
31.6
8.1折
¥
39
全新
库存9件
作者高科华、李娜、吴银婷、李观金、刘小郧
出版社清华大学出版社
ISBN9787302454465
出版时间2017-03
装帧平装
开本16开
定价39元
货号24216231
上书时间2024-12-19
商品详情
- 品相描述:全新
- 商品描述
-
前言
前言
软件开发从单个人的“艺术创造”到按软件工程思想组织的软件开发团队的集体制品贯穿了软件技术的发展历程,推动软件开发技术进步的思想其实很简单,就是提高开发效率、保证软件质量、按时交付软件产品。现在,虽然已经出现了很多软件开发方法,从结构化方法到面向对象技术,……等等,但是,软件开发技术进步的脚步并没有停止。由于软件技术不断进步,知识更新的速度是很快的。例如,从著名的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月
导语摘要
本书是一本软件建模技术方面的实用教程,按照软件开发过程,以软件开发者的视野,利用著名的IBM Rational Software Architect软件建模工具,带领读者学习UML软件建模技术。全新的学习方式使得复杂的知识不再难学习。主要内容包括: 为什么需要UML建模、UML建模工具、UML与面向对象开发方法、软件开发各阶段中的UML图、RSA对系统实现阶段的支持、RSA数据库建模、综合实训等。本书的*特点是将理论与实际操作有机结合起来,实训任务丰富、图文并茂、深入浅出、讲解详尽、实践性强。可以作为大专院校计算机软件工程、软件技术、计算机应用技术、计算机信息管理、软件与信息服务等相关专业的教材; 也可作为广大软件行业从业人员(程序员、系统设计师、系统分析员、系统架构师、需求分析师、软件开发经理等)进行UML建模实践的指南。
目录
目录
第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对设计模型应用概要文件
实训任务
参考文献
内容摘要
本书是一本软件建模技术方面的实用教程,按照软件开发过程,以软件开发者的视野,利用著名的IBM Rational Software Architect软件建模工具,带领读者学习UML软件建模技术。全新的学习方式使得复杂的知识不再难学习。主要内容包括: 为什么需要UML建模、UML建模工具、UML与面向对象开发方法、软件开发各阶段中的UML图、RSA对系统实现阶段的支持、RSA数据库建模、综合实训等。
本书的*特点是将理论与实际操作有机结合起来,实训任务丰富、图文并茂、深入浅出、讲解详尽、实践性强。可以作为大专院校计算机软件工程、软件技术、计算机应用技术、计算机信息管理、软件与信息服务等相关专业的教材; 也可作为广大软件行业从业人员(程序员、系统设计师、系统分析员、系统架构师、需求分析师、软件开发经理等)进行UML建模实践的指南。
主编推荐
1、真正适合高职院校学生的UML软件建模技术方面的教材,是相关专业学生加入软件行业的敲门砖。2、适合软件行业从业人员的UML建模指南,为普及、推广UML建模技术在软件开发中的应用,提高软件开发效率和质量做出努力。3、完整的综合实训案例贯穿了软件开发全过程,从需求分析到设计实现,将UML软件建模技术应用于软件开发实践。4、课程网站提供电子课件、教学素材、互动交流等,更好地为读者提供服务。
精彩内容
第3章UML与面向对象开发方法
知识目标 理解面向对象的概念; 掌握面向对象建模的基本步骤; 理解面向对象的分析与设计方法; 理解面向对象的实现方法; 理解UML对面向对象开发的支持。技能目标 能够利用已有知识学习新知识。学习过面向对象程序设计语言(例如Java、C )的读者对面向对象的概念已经有了一定的了解。本章将简要复习面向对象的概念,并介绍面向对象分析与设计、面向对象建模等面向对象技术。3.1面向对象概念
20世纪60年代中期以来,基于计算机的系统规模越来越大,系统的复杂性也不断增加,人们很难把握软件开发过程,开发出来的软件质量越来越难以保证,软件生产率急剧下降。由于大型软件开发的工程性和实际开发工作中手工性的不相适应,出现了软件危机。为解决上述问题,在1968年的北大西洋公约学术会议上提出了软件工程的思想,希望采用工程方法来开发软件。四十多年来这一思想逐步为人们所重视,其发展迅速,并取得了令人瞩目的成就。但这一时期该领域采用的方法主要是结构化的分析与设计方法,这种方法对现代日益复杂的软件开发而言存在严重的不足,由此产生的软件危机并未真正得到解决。因此,人们正设法寻找一种新的有效途径来解决这一问题。面向对象概念自20世纪60年代出现至今,面向对象技术已成为一种完整的思想与方法体系,并且在计算机领域中得到广泛应用,如在程序设计中的面向对象程序设计、在人工智能中的面向对象知识表示、在数据库中的面向对象数据库、在人机界面中的面向对象图形用户界面、在计算机体系结构中的面向对象结构体系等都有突出表现。由于面向对象技术在软硬件开发方面呈现出巨大的优越性,人们将其视为解决软件危机的一个很有希望的突破口。面向对象的方法启发我们从现实世界中客观存在的事物出发构造软件系统,并在系统构造过程中尽可能地运用人的自然思维方式。它强调直接以问题域中的事物为中心来思考问题、认识问题,并根据这些事物的本质特征把它们抽象为解空间中的对象,以对象作为系统的基本构成单位。这样可以使系统直接映射问题域,限度地保持问题域中的事物及其相互关系的本质,使得解空间和问题域能够在结构上取得尽可能一致。这样做就向着减少语义断层的方向迈出了一大步,在许多系统中解空间对象都可以直接模拟问题空间的对象,因此,这样的程序易于理解和维护。面向对象方法比以往的方法更接近人类的自然思维方式。虽然结构化开发方法也采用了符合人类思维习惯的原则与策略,但是与传统的结构化开发方法不同,面向对象方法更加强调运用人类在日常生活中的逻辑思维中采用的思想方法,并以其他人也能理解的方式将自己的思想表达出来。面向对象的软件技术以对象(Object)为核心,用这种技术开发出的软件系统由对象组成。对象是对现实世界实体的正确抽象,它是由描述内部状态、表示静态属性的数据,以及可以对这些数据施加的操作(表示对象的动态行为)封装在一起所构成的统一体。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。面向对象的设计方法与传统的面向过程的方法有本质不同,这种方法的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分过程中都用应用领域的概念去思考。在面向对象的设计方法中,计算机的观点是不重要的,现实世界的模型才是重要的。面向对象的软件开发过程从始至终都围绕着建立问题域的对象模型来进行。对问题域进行自然的分解,确定需要使用的对象和类,建立适当的类等级,在对象之间传递消息实现必要的联系,从而按照人们习惯的思维方式建立起问题域的模型,模拟客观世界。传统的软件开发方法可以用“瀑布”模型来描述,这种方法强调自顶向下按部就班地完成软件开发工作。事实上,人们认识客观世界,解决现实问题的过程,是一个渐进的过程,人的认识需要在继承以前的有关知识的基础上,经过多次反复才能逐步深化。在人的认识深化过程中,既包括从一般到特殊的演绎思维过程,也包括从特殊到一般的归纳思维过程。人在认识和解决复杂问题时使用的强有力的思维工具是抽象,也就是在处理复杂对象时,为了达到某个分析目的集中研究对象的与此目的有关的本质部分,忽略该对象的那些与此目的无关的部分。面向对象方法学的基本原则是按照人类习惯的思维方法建立问题域的模型,开发出尽可能直观、自然的表现求解方法的软件系统。面向对象的软件系统中广泛使用的对象,是对客观世界中实体的抽象。对象实际上是抽象数据类型的实例,提供了比较理想的数据抽象机制,同时又具有良好的过程抽象机制(通过发消息使用公有成员函数)。对象类是对一组相似对象的抽象,类等级中上层的类是对下层类的抽象。因此,面向对象的环境提供了强有力的抽象机制,便于用户在利用计算机软件系统解决复杂问题时使用习惯的抽象思维工具。此外,面向对象方法学中普遍进行的对象分类过程,支持从特殊到一般的归纳思维过程; 面向对象方法学中通过建立类等级而获得的继承特性,支持从一般到特殊的演绎思维过程。面向对象的软件技术为开发者提供了随着对某个应用系统的认识逐步深入和具体化的过程,而逐步设计和实现该系统的可能性,因为可以先设计出由抽象类构成的系统框架,随着认识的深入和具体化再逐步派生出更具体的派生类。这样的开发过程符合人们认识客观世界解决复杂问题时逐步深化的渐进过程。面向对象的软件工程方法包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)和面向对象的软件维护(OOSM)等内容。在每一个开发阶段,面向对象的方法都要求对系统建立模型,为系统在本阶段的构建提供蓝图。不同阶段的模型包含的内容是不同的,既可以包括详细的计划,也可以包括从很高的层次考虑系统的总体计划。一个好的模型包括那些有广泛影响的主要元素,而忽略那些与给定的抽象水平不相关的次要元素。每个阶段的模型都是一个在语义上闭合的系统抽象。模型可以是结构性的,强调系统的组织,例如系统的静态结构模型; 它也可以是行为性的,强调系统的动态方面,例如系统的交互协作模型。3.1.1对象和类面向对象概念是在20世纪60年代末期由使用SIMULA语言的人开始提出的,20世纪70年代初成为Xerox PARC开发的Smalltalk的重要组成部分。与此同时,对软件的开发仍然采用功能分解法来解决设计与实现问题,很少讨论面向对象的设计,更没有对面向对象分析的讨论。但自20世纪80年代以来,面向对象方法与技术日益受到计算机领域的专家、研究和工程技术人员的重视。20世纪80年代中期相继出现了一系列描述能力强、执行效率高的面向对象编程语言,标志着面向对象的方法与技术开始走向实用。自20世纪80年代末到20世纪90年代,面向对象方法与技术向软件生命周期的前期阶段发展,人们对面向对象方法的研究不再局限于编程而是从系统分析和系统设计阶段就开始采用面向对象方法,这标志着面向对象方法已经发展成一种完整的方法论和系统化的技术体系,下面介绍一些面向对象的基本概念。1. 对象对象含义广泛,难以精确定义,不同的场合有不同的含义。一般来说,任何事物均可看作对象。任何事物均有各自的自然属性和行为,当考察其某些属性与行为并进行研究时,它便成为有意义的对象。采用面向对象方法进行软件开发时,需要区分三种不同含义的对象: 客观对象、问题对象和计算机对象。客观对象是现实世界中存在的实体; 问题对象是客观对象在问题域中的抽象,用于根据需要完成某些行为; 计算机对象是问题对象在计算机系统中的表示,它是数据和操作的封装体。三种对象间的关系如图3.1所示。
图3.1三种对象间的关系
对象是理解面向对象技术的关键。可以发现现实世界中的对象具有共同点: 它们都有状态和行为。图3.2中的汽车对象有自己的状态(有速度、油量等)及行为(如发动汽车、关闭发动机、刹车和加速等)。对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体,这个封装体可以地标识其名字,而且向外界提供一组服务(即公有的操作)。对象中的数据表示对象的状态,一个对象的状态只能由该对象的操作来改变。每当需要改变对象的状态时,只能由其他对象向该对象发送消息。对象响应消息时,按照消息模式找出与之匹配的方法,并执行该方法。图3.2中的汽车对象,它的状态就只能通过暴露出来的方法来修改。
图3.2汽车对象
从上述对象概念的描述中,可以归纳出对象具有如下特点。(1) 自治性: 对象的自治性是指对象具有一定的独立计算能力。给定一些输入,经过状态转换,对象能产生输出,说明它具有计算能力。对象自身的状态变化是不直接受外界干预的,外界只有通过发送的消息对它产生影响,从这个意义上说,对象具有自治性。(2) 封闭性: 对象的封闭性是指对象具有信息隐蔽的能力。具体说来,外界不直接修改对象的状态,只有通过向该对象发送消息来对它施加影响。对象隐蔽了其中的数据及操作的实现方法,对外可见的只是该对象所提供的操作(即能接收和处理的消息)。(3) 通信性: 对象的通信性是指对象具有与其他对象通信的能力,具体说来,就是对象能接收其他对象发来的消息,同时也能向其他对象发送消息。通信性反映了不同对象间的联系,通过这种联系,若干对象可协同
— 没有更多了 —
以下为对购买帮助不大的评价