学习导航 学习导航
学习要点 UML的发展 UML的特点 UML的结构 UML的视图 UML图形符号 UML建模基本流程
任务1 任务目标 教学方法 分组教学法 资料查询法 了解UML的基本概念,了解UML的发展历程,理解UML的特点,并理解为什么选择UML进行建模。 教学方法 分组教学法 资料查询法
1 UML的发展历程 UML的含义 UML(统一建模语言,Unified Modeling Language)是一种建模语言,是第三代用来为面向对象系统的产品进行说明、可视化和编制文档的方法。 发展历程 二十世纪八十年代初期,开始了用不同的方法进行面向对象的分析与设计。 二十世纪九十年代中期,出现了第二代面向对象方法。 Grady Booch和James Rumbaugh在1994年10月共同合作把他们的工作统一起来,到1995年成为“统一方法(Unified Method)”版本0.8。 随后,UM方法又吸纳了Ivar Jacobson提出的用例(use case)思想,到1996年,成为“统一建模语言”版本0.9 。 1997年1月,UML版本1.0被提交给OMG组织,作为软件建模语言标准化的候选。
1 UML的发展历程
1 UML的发展历程 UML的版本及下载地址 OMG官方发布的UML的当前最高版本为2.0,可以从http://www.uml.org/上下载; 出于建模工具的选用,本书仍然采用UML1.4进行讲解; 2.1版没有作为一个正式的版本独立发布。
1 UML的发展历程 理解UML UML不是一种可视化的程序设计语言,而是一种可视化的建模语言;UML不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种表示的标准;UML不是过程,也不是方法,但允许任何一种过程和方法使用它。 UML的目标 易于使用、表达能力强,进行可视化建模; 与具体的实现无关,可应用于任何语言平台和工具平台; 与具体的过程无关,可应用于任何软件开发的过程; 简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改; 为面向对象的设计与开发中涌现出的高级概念提供支持,强调在软件开发中对架构、框架、模式和组件的重用; 与最好的软件工程实践经验集成; 可升级,具有广阔的适用性和可用性; 有利于面对对象工具的市场成长。
2 理解UML建模 理解UML建模 自1997 年UML 被OMG采纳为面向对象的建模语言的国际标准以来,它不断融入了软件工程领域的新思想、新方法和新技术。 UML不局限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。近年来,UML凭借其简洁明晰的表达方式、超凡脱俗的表达能力,为业界所广泛认同。 目前,在多数软件企业的正规化开发流程中,开发人员普遍使用UML进行模型的建立。作为一名软件开发人员,我们必须学会UML,因为UML就象是统一的“文字”,统一的“度”、“量”、“衡”。
3.2 UML的特点 UML的特点 1.标准的表示方法 UML是一种建模语言,是一种标准的表示,而不是一种方法(或方法学)。 2.与软件开发的成功经验集成 UML和RUP在软件开发过程中的“最佳拍档”。 3.UML的应用贯穿在系统开发的五个阶段 (1)需求分析 (2)系统分析 (3)系统设计 (4)构造 (5)测试 UML是一种建模语言,即软件开发过程中各类人员交流和沟通的工具; RUP是一种软件过程模型,是指导软件开发过程的方法,详见第11章; Rational Rose是一种建模工具,完成UML模型绘制的一种工具
课堂实践 1 操作要求 操作提示 (1)通过访问OMG的官方网站http://www.uml.org,了解UML的发展历程。 (2)访问http://www.uml.org.cn,以小组的形式讨论UML的基本特点。 (3)收集UML的相关学习资源和学习网站。 操作提示 (1)比较UML和其他面向对象程序设计语言的区别。 (2)理解UML和面向对象思想的联系。
任务2 任务目标 教学方法 分组教学法 资料查询法 案例教学法 了解UML的基本事物及其特点,了解UML的关系,了解UML的视图及其主要功能 。 教学方法 分组教学法 资料查询法 案例教学法
UML的结构
1 UML的事物 1-结构事物 (1)类(Class):类是指具有相同属性、方法、关系和语义的对象的集合。 (2)接口(Interface):接口是指类或组件所提供的服务(操作),描述了类或组件对外可见的动。 (3)协作(Collaboration):协作描述合作完成某个特定任务的一组类及其关联的集合,用于对使用情形的实现建模。 (4)用例(Use Case):用例定义了参与者(在系统外部与系统交互的人或系统)和被考虑的系统之间的交互来实现的一个业务目标。 (5)活动类(Active Class):活动类的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的。 (6)组件(Component):组件是物理的、可替换的部分,包含接口的集合,例如COM+ 、JavaBean等。 (7)结点(Node):结点是系统在运行时存在的物理元素,代表一个可计算的资源,通常占用一些内存和具有处理能力。
1 UML的事物 2-行为事物 3-分组事物 4-注释事物 (1)交互(Interaction):交互是由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作。 (2)状态机(State Machine):状态机由一系列对象的状态组成。 3-分组事物 4-注释事物 可以把分组事物看成是一个“盒子”,模型可以在其中被分解。目前只有一种分组事物,即包(Package)。结构事物、动作事物甚至分组事物都有可能放在一个包中。包纯粹是概念上的,只存在于开发阶段。 注释事物是UML模型的解释部分。
2 UML的关系 UML的关系 UML的关系是将UML的事物联系在一起的方式,UML中定义了四种关系: (1)依赖关系(Dependency):两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。 (2)关联关系(Association):一种描述一组对象之间连接的结构关系,如聚合关系就描述了整体和部分间的结构关系。 (3)泛化关系(Generalization):一种一般化和特殊化的关系。 (4)实现关系(Realization) :类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
UML的视图 4+1视图模型 描述一个系统涉及到的许多方面,比如:功能性方面(它包括静态结构和动态交互)、非功能性方面(定时需求、可靠性、展开性等)和组织管理方面(工作组、映射代码模块等)。完整地描述系统,通常的做法是用一组视图反映系统的各个方面,每个视图代表完整系统描述中的一个抽象,显示这个系统中的一个特定的方面。
1 用例视图 用例视图 用例视图用于描述系统应该具有的功能集。 用例视图是从系统的外部用户角度出发,对系统的抽象表示。 用例视图所描述的系统功能依靠于外部用户或由另一个系统触发激活,为用户或另一个系统提供服务,实现用户或另一个系统与系统的交互。系统实现的最终目标是提供用例视图中描述的功能。 用例视图中可以包含若干个用例,用例用来表示系统能够提供的功能(系统用法),一个用例是系统用法(功能请求)的一个通用描述。 用例视图是其他四个视图的核心和基础。
2 逻辑视图 逻辑视图 逻辑视图可以揭示系统内部的设计和协作状况。 逻辑视图用来显示系统内部的功能是怎样设计的,它利用系统的静态结构和动态行为来刻画系统功能。 静态结构描述类、对象和它们之间的关系等。动态行为主要描述对象之间的动态协作,当对象之间彼此发送消息给给定的函数时产生动态协作、一致性和并发性等性质,以及接口和类的内部结构都要在逻辑视图中定义。 在UML中,静态结构由类图和对象图进行描述,动态行为用状态图、顺序图、协作图和活动图描述。
3 并发视图 并发视图 并发视图用来显示系统的并发工作状况。 并发视图将系统划分为进程和处理机方式,通过划分引入并发机制,利用并发高效地使用资源、并行执行和处理异步事件。 除了划分系统为并发执行的控制线程外,并发视图还必须处理通信和这些线程之间的同步问题。并发视图所描述的方面属于系统中的非功能性质方面。 并发视图供系统开发者和集成者使用。它由动态图(状态图、顺序图、协作图、活动图)和执行图(组件图、部署图)构成。
4 组件视图 组件视图 组件视图用来显示代码组件的组织方式。它描述了系统的实现模块和它们之间的依赖关系。 组件视图由组件图构成。组件是代码模块,不同类型的代码模块形成不同的组件,组件按照一定的结构和依赖关系呈现。组件的附加信息(如:为组件分配资源)或其他管理信息(如:进展工作的进展报告)也可以加入到组件视图中。 组件视图主要供开发者使用。
5 部署视图 部署视图 部署视图用来显示系统的物理架构,即系统的物理部署情况。如:计算机和设备以及它们之间的联接方式,其中计算机和设备称为结点。 部署视图还包括一个映射,该映射显示在物理架构中组件是怎样部署的。比如,在每台独立的计算机上,哪一个程序或对象在运行。部署视图提供给开发者、集成者和测试者。
课堂实践 2 操作要求 操作提示 (1)小组讨论UML的结构包括哪些内容。。 (2)使用Word或其他绘图工具绘制图3-3所示的UML结构图 (1)通过学习小组讨论和上网查询资料形式完成。 (2)UML的作用与工程设计和机械设计的绘图标准进行比较。
UML图形符号 UML中的图(Diagram)由图片(Graph)组成,图片是模型元素的符号化。把这些符号有机地组织起来形成的图表示了系统的一个特殊部分或某个方面。
1 用例图 用例图 用例图用于显示若干角色(actor)以及这些角色与系统提供的用例之间的连接关系 。
2 类图 类图 类图用来表示系统中的类以及类与类之间的关系,它是对系统静态结构的描述 。
3 对象图& 4 状态图 对象图 对象图是类图的变体。两者之间的差别在于对象图表示的是类的对象实例,而不是真实的类。对象图是类图的一个范例,它及时具体地反映了系统执行到某处时,系统的工作状况。 状态图 状态图是对类所描述事物的补充说明,它显示了类的所有对象可能具有的状态,以及引起状态变化的事件 。
5 活动图 活动图 活动图反映一个连续的活动流,活动图常用于描述某个操作执行时的活动状况。
6 顺序图 顺序图 顺序图用来反映若干个对象之间的动态协作关系,也就是随着时间的流逝,对象之间是如何交互的 。
7 协作图 协作图 协作图和顺序图的作用一样,反映的也是动态协作。除了显示消息变化(称为交互)外,协作图还显示了对象和它们之间的关系(称为上下文有关) 。
8 组件图 组件图 组件图用来反映代码的物理结构。代码的物理结构用代码组件表示。组件可以是源代码、二进制文件或可执行文件组件。
9 部署图 部署图 部署图用来显示系统中软件和硬件的物理架构。通常部署图中显示实际的计算机和设备(用结点表示),以及各个结点之间的关系(还可以显示关系的类型)。每个结点内部显示的可执行的组件和对象清晰地反映出哪个软件运行在哪个结点上。组件之间的依赖关系也可以显示在部署图中。
10 UML2.0新特性 UML2.0 语言定义精确程度提高 改良的语言组织 重点改进大规模的软件系统模型性能 对特定领域的改进的支持 全面的合并,合理化、清晰化各种不同的模型概念
UML建模流程 建模流程
课堂实践 3 操作要求 操作提示 (1)小组讨论UML1.4中的各种图形符号,并说明各有什么样的功能。 (2)小组讨论UML1.4和UML2.0图形符号的差异。 (3)小组讨论UML建模的过程是怎样的。 操作提示 (1)通过学习小组讨论和上网查询资料形式完成。 (2)本书仍以UML1.4为例进行介绍。
课外拓展 操作要求 操作提示 (1)登录http://www.uml.org.cn,进入该网站UML专题模块进一步学习UML的基本知识。 (2)通过网络搜索引擎,查找UML2.0的相关说明文档,了解UML2.0的新特性。 操作提示 (1)学习过程中收集UML学习的相关网站,以便于课外拓展学习。 (2)课外拓展学习过程中要加强学习小组内的讨论。
学习导航 学习导航
学习要点 常用UML建模工具 Rational Rose安装与配置 使用Rational Rose建模
任务1 任务目标 了解常见的UML建模工具及其主要特点,选择合适的UML工具。 教学方法 分组教学法 资料查询法 SDSPR教学法
常用UML建模工具 CASE工具
1 Rational Rose Rational Rose 2003 Rational Rose是Rational公司(现已被IBM公司收购)推出的支持UML、功能强大、可视化的建模工具。它为基于UML的面向对象系统的建模提供了很好的模型表示方式。 在软件系统开发的系统需求阶段、对象分析阶段、对象设计阶段,Rational Rose都可以帮助开发者方便、快速的建立起相应的软件模型。 Rational Rose采用用例视图、逻辑视图、组件视图和部署视图支持面向对象的分析和设计,在不同的视图中建立相应的UML图形,以反映软件系统静态的、动态的、物理的或逻辑的特性。 Rational Rose具有良好的操作界面,可编辑*.mnu纯文本文件、修改和定义主菜单、添加运行模块;它可以生成各种代码和数据框架(如C++、Java、Visual Basic和Oracle等)。 Rational Rose提供了正向/逆向工程的功能,实现在系统的UML设计模型到程序设计语言代码之间的转换。
2 Enterprise Architect Enterprise Architect Enterprise Architect是Sparx公司开发的以目标为导向的软件建模系统。它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求、动态模型、组件和布局、系统管理、非功能需求、用户界面设计、测试和维护等。 主要特点: 为整个团队提供高级的UML 2.0建模工具 特性丰富、系统设计 快速、稳定、高性能 端到端跟踪 在UML 2.0上构建
3 Together Together Borland Together是Borland公司出品的优秀建模与设计工具。其主要特点包括: 主要特点: 在整个企业实现高级的可视化建模 自动生成文档 功能强大、可扩展的模式支持 端到端跟踪 强大的视图查看管理能力 质量保证(QA) 质量保证专家工具 超级链接至内部或外部的工件与信息
4 PowerDesigner PowerDesigner Power Designer是Sybase推出的一款综合建模的工具。该工具是一个“一站式”的企业级建模及设计解决方案,它能帮助企业快速高效地进行企业应用系统构建及再工程。 主要特点: 需求管理 文档生成 影响度分析 数据映射 开放性支持 可自定义 企业知识库
5 Visio Visio Visio是Microsoft公司开发一款用于绘图和图表制作的软件。也对UML图形提供了支持,在一些小型的应用中,也可以使用Visio进行UML建模。 Microsoft Office Visio 2007 绘图和图表制作软件有助于 IT 和商务专业人员轻松地可视化、分析和交流复杂信息。它能够将难以理解的复杂文本和表格转换为一目了然的 Visio 图表。该软件通过创建与数据相关的 Visio 图表(而不使用静态图片)来显示数据,这些图表易于刷新,并能够显著提高生产率。 使用 Office Visio 2007 中的各种图表可了解、操作和共享企业内组织系统、资源和流程的有关信息。 Office Visio 2007 有两种独立版本:Office Visio Professional 和 Office Visio Standard,虽然 Office Visio Standard 与 Office Visio Professional 的基本功能相同,但前者包含的功能和模板是后者的子集。Office Visio Professional 2007 包括数据连接性和可视化功能等高级功能,而 Office Visio Standard 2007 并没有这些功能。
6 Trufun Plato Trufun Plato Trufun Plato是西安楚凡(Trufun)科技有限公司开发的一款中文的UML建模工具。《Trufun Plato/Cicero/Kant 2008》是楚凡科技继《Trufun 2007》系列产品之后为中国广大软件开发人员精心缔造的UML2.x规范实现产品、数据库建模产品以及企业级MDA产品。 《Trufun Plato 2008》 《Trufun Cicero 2008》 《Trufun Kant 2008》 《Trufun Plato 2008》关注的核心角色是系统分析员、系统架构师、以及软件设计师。目前《Trufun Plato 2008》有三个版本:免费版、专业版、企业版。
任务2 任务目标 教学方法 分组教学法 资料查询法 案例教学法 确定Rational Rose 2003的运行环境并安装Rational Rose 2003 。 教学方法 分组教学法 资料查询法 案例教学法
1 Rational Rose的运行环境 硬件环境 软件环境 PC兼容机,600MHZ及以上CPU主频,512M及以上内存,400M及以上磁盘空间。 软件环境 (1)操作系统环境:Windows NT 4.0(SP6)、Windows 2000 Professional(SP2或SP3)、Windows XP Professional(SP2)、Windows 2000/2003 Server (2)数据库环境:支持IBM DB2 Universal Database 5.x及以上版本、IBM DB2 OS390 5.x及以上版本、MS SQL Server 6.x及以上版本、Oracle 7.x及以上版本、Sysbase System 12等
2 Rational Rose的安装 安装过程 安装步骤……
3 Rational Rose的配置 常规设置
3 Rational Rose的配置 其他设置
课堂实践 1 操作要求 操作提示 (1)小组讨论Rational Rose与UML是什么样的关系? (2)登录IBM公司网站,了解Rational Rose的最新版本信息,下载其最新版本的试用版。 (3)安装所选择的Rational Rose产品。 (4)设置Rational Rose2003的默认的字体和颜色。 操作提示 (1)通过学习小组讨论和上网查询资料形式完成。 (2)如果是正式使用,建议购买正版产品。
任务2 任务目标 了解Rational Rose 2003的界面组成,使用Rose创建简单的UML模型。 教学方法 分组教学法 案例教学法 SDSPR教学法
1 Rational Rose主要菜单 启动
1 Rational Rose主要菜单 Existing和Recent
1 Rational Rose主要菜单 主界面
1 Rational Rose主要菜单 主菜单
2 Rational Rose的视图 主菜单 Rational Rose中有4个视图:用例视图、逻辑视图、组件视图和部署视图
3 Rational Rose建模的基本过程 基本过程 使用Rational Rose进行UML建模一般需要完成如下工作: (1)描述需求。 (2)根据需求建立系统的静态模型。 (3)描述系统的行为。 Rational Rose建模的基本过程包括创建模型、保存模型、发布模型和导入/导出模型等步骤: 创建模型 保存模型 发布模型 导入/导出模型
课堂实践 2 操作要求 操作提示 (1)启动所安装的Rational Rose。 (2)在Rational Rose中创建一个名为Library.mdl的空白模型。 (3)了解Rational Rose主界面中主菜单的作用。 (4)使用【Tools】【Options】中的【Toolbars】选项卡对标准工具栏和图形工具栏进行配置。 (5)了解Rational Rose主界面各个组成部分的功能。 (6)查看Rational Rose中的视图。 (7)在Library.mdl模型中添加一个简单的用例图。 (9)保存Library.mdl后,将其发布到c:\temp\Library.htm文件。 (9)查看成功发布后的模型。 操作提示 (1)通过学习小组讨论和上网查询资料形式完成。 (2)本书仍以UML1.4为例进行介绍。
课外拓展 操作要求 操作提示 (1)了解目前有哪些比较流行的UML建模工具,并对这些建模工具进行比较。 (2)下载并安装一款其它的UML建模工具(如EA),与Rational Rose的操作进行比较。 (3)在自己的机器上安装Rational Rose的合适版本。 (4)根据需要对Rational Rose进行简单的配置。 操作提示 (1)到IBM公司网站下载Rational Rose的试用版。 (2)安装完成后,可以通过建立一个简单的模型进行验证。