资源预览内容
第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
第9页 / 共47页
第10页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1目录页面向对象概念和Rose建模技术第6章本章本章要点要点n掌握面向对象的基本概念;n理解面向对象与面向过程的区别;n了解UML的各种图;n熟悉静态建模和动态建模的方法;n学会RationalRose软件的安装与配置方法;n掌握利用RationalRose建模的基本步骤。2目录页6.1面向对象方法概述第6章目前广泛使用的软件工程方法主要有结构化方法和面向对象的方法。目前广泛使用的软件工程方法主要有结构化方法和面向对象的方法。结构化方法是面向功能的,它从系统的功能入手,将系统分解为若干功能模块,通常使用结构化方法是面向功能的,它从系统的功能入手,将系统分解为若干功能模块,通常使用函数或过程来实现所需功能,数据通常作为参数传递给函数或过程。用这种方式开发的软件可函数或过程来实现所需功能,数据通常作为参数传递给函数或过程。用这种方式开发的软件可重用性、可维护性都较差。尤其是当软件规模较大或软件需求模糊易变时,采用结构化方法开重用性、可维护性都较差。尤其是当软件规模较大或软件需求模糊易变时,采用结构化方法开发软件往往不能成功。为此,人们提出了面向对象的开发方法。发软件往往不能成功。为此,人们提出了面向对象的开发方法。面向对象方法可用下面的公式来描述:面向对象方法可用下面的公式来描述: 面向对象面向对象面向对象面向对象 = =对象对象对象对象 + +类类类类 + +继承继承继承继承 + +消息传递消息传递消息传递消息传递6.1.1 面向对象方法的特征面向对象方法的特征 3目录页6.1面向对象方法概述第6章面向对象方法的主要优点如下:面向对象方法的主要优点如下:1.与人类习惯的思维方法一致与人类习惯的思维方法一致2.系统的稳定性好系统的稳定性好3.可重用性好可重用性好4.较易于开发大型软件产品较易于开发大型软件产品5.可维护性好可维护性好6.1.1 面向对象方法的特征面向对象方法的特征 4目录页6.1面向对象方法概述第6章1.对象(对象(Object)在应用领域中有意义的、与所有解决的问题有关系的任何事物都可以作为对象。对象可以在应用领域中有意义的、与所有解决的问题有关系的任何事物都可以作为对象。对象可以是具体的物体实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。例如,是具体的物体实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。例如,一名学生、一本图书等。一名学生、一本图书等。对象由一组属性和对这组属性进行操作的一组方法(服务)组成。对象由一组属性和对这组属性进行操作的一组方法(服务)组成。属性就是对象所包含的数据,它代表对象的状态,它在设计对象时确定,一般只能通过执属性就是对象所包含的数据,它代表对象的状态,它在设计对象时确定,一般只能通过执行对象的操作来改变,例如,学生的属性有姓名、年龄等。行对象的操作来改变,例如,学生的属性有姓名、年龄等。操作(或称方法或服务)即对象所能执行的操作,也就是类中所定义的服务,它描述了对操作(或称方法或服务)即对象所能执行的操作,也就是类中所定义的服务,它描述了对象执行操作的算法,响应消息的方法。可以通过向对象发送消息来调用其方法。例如:象执行操作的算法,响应消息的方法。可以通过向对象发送消息来调用其方法。例如:“读者读者”类的服务有类的服务有“借书借书”、“还书还书”等。等。6.1.2 面向对象方法的基本概念面向对象方法的基本概念5目录页6.1面向对象方法概述第6章1.对象(对象(Object)6.1.2 面向对象方法的基本概念面向对象方法的基本概念6目录页6.1面向对象方法概述第6章2.类(类(Class)和实例()和实例(Instance)类是具有相同属性和服务的一组对象的集合。类是关于对象的抽象描述,反映了该对象类类是具有相同属性和服务的一组对象的集合。类是关于对象的抽象描述,反映了该对象类型的所有对象的性质。型的所有对象的性质。一个对象则是其对应类的一个实例。一个对象则是其对应类的一个实例。类和对象的关系是:类是对象的抽象,类是对象的类和对象的关系是:类是对象的抽象,类是对象的“模板模板”,类用于创建对象;对象是类,类用于创建对象;对象是类的实例。的实例。例如:例如:“学生学生”是一个类,它描述了所有学生的性质。而一个具体的学生是一个类,它描述了所有学生的性质。而一个具体的学生“张三张三”是类是类“学生学生”的一个实例。的一个实例。类是关于对象性质的描述,它同对象一样,包括一组数据属性和在数据上的操作。类是关于对象性质的描述,它同对象一样,包括一组数据属性和在数据上的操作。6.1.2 面向对象方法的基本概念面向对象方法的基本概念7目录页6.1面向对象方法概述第6章4封装(封装(Encapsulation)封装是一种信息隐蔽技术,用户只能见到对象封装界面上的信息,而对象内部的实现细节封装是一种信息隐蔽技术,用户只能见到对象封装界面上的信息,而对象内部的实现细节对用户是隐藏的。对用户是隐藏的。封装有两个含义,一个是指把对象的全部属性和全部操作(即方法)结合起来,形成一个封装有两个含义,一个是指把对象的全部属性和全部操作(即方法)结合起来,形成一个不可分割的独立单位(即对象);另一个是指信息隐蔽,即尽可能隐蔽对象内部的行为实现细不可分割的独立单位(即对象);另一个是指信息隐蔽,即尽可能隐蔽对象内部的行为实现细节。节。类(或对象)是封装的基本单位。在类中定义的接收对方消息的方法称为类的接口。封装类(或对象)是封装的基本单位。在类中定义的接收对方消息的方法称为类的接口。封装使对象形成两个部分:接口部分和实现部分。接口部分是可见的,供外界通过消息来访问该对使对象形成两个部分:接口部分和实现部分。接口部分是可见的,供外界通过消息来访问该对象,而实现部分不可见。象,而实现部分不可见。6.1.2 面向对象方法的基本概念面向对象方法的基本概念8目录页6.1面向对象方法概述第6章5继承性继承性(Inheritance)继承性是父类和子类之间共享数据和方法的机制,这是类之间的一种关系。继承性是父类和子类之间共享数据和方法的机制,这是类之间的一种关系。在设计一个新类时,可以在一个已经存在的类的基础上进行,只需考虑新类与已存在类所在设计一个新类时,可以在一个已经存在的类的基础上进行,只需考虑新类与已存在类所不同的部分,新类可以直接继承这个已经存在类的属性和方法,将其作为自己的内容,并可以不同的部分,新类可以直接继承这个已经存在类的属性和方法,将其作为自己的内容,并可以在新类中定义自己的属性和方法。已经存在的类称为超类、基类或父类,新的类称为子类或派在新类中定义自己的属性和方法。已经存在的类称为超类、基类或父类,新的类称为子类或派生类。例如,新类生类。例如,新类B能使用类能使用类A中的属性和方法,则称类中的属性和方法,则称类A是类是类B的父类,类的父类,类B是类是类A的子类,也称的子类,也称类类B继承了类继承了类A。继承性有两种类型:一个子类只有唯一的一个父类,这种继承称为单继承;一个子类也可继承性有两种类型:一个子类只有唯一的一个父类,这种继承称为单继承;一个子类也可以有多个父类,它可以从多个父类中继承特性,这种继承称为多继承。以有多个父类,它可以从多个父类中继承特性,这种继承称为多继承。6.1.2 面向对象方法的基本概念面向对象方法的基本概念9目录页6.1面向对象方法概述第6章6多态性(多态性(Polymorphism)对象根据所接收的消息而做出动作,同样的消息被不同的对象接收时可导致完全不同的行对象根据所接收的消息而做出动作,同样的消息被不同的对象接收时可导致完全不同的行为,该现象称为多态性。为,该现象称为多态性。在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息既在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。可以发送给父类对象也可以发送给子类对象。6.1.2 面向对象方法的基本概念面向对象方法的基本概念10目录页6.1面向对象方法概述第6章7重载(重载(Overloading)有两种重载,函数重载和运算符重载。有两种重载,函数重载和运算符重载。函数重载是指在同一作用范围内的若干个参数特征不同的函数可以使用相同的函数名字。函数重载是指在同一作用范围内的若干个参数特征不同的函数可以使用相同的函数名字。运算符重载是指同一个运算符可以施加于不同类型的操作数上面。当然,当参数特征不同或被运算符重载是指同一个运算符可以施加于不同类型的操作数上面。当然,当参数特征不同或被操作数的类型不同时,实现函数的算法或运算符的语义是不相同的。操作数的类型不同时,实现函数的算法或运算符的语义是不相同的。重载进一步提高了面向对象系统的灵活性和可读性。重载进一步提高了面向对象系统的灵活性和可读性。6.1.2 面向对象方法的基本概念面向对象方法的基本概念11目录页6.2统一建模语言(UML)第6章1.UML的发展历史的发展历史统一建模语言(统一建模语言(Unified Modeling Language,UML)是用一组专用符号描述软件模型的语言,)是用一组专用符号描述软件模型的语言,它是由世界著名的面向对象技术专家它是由世界著名的面向对象技术专家Grady Booch、Jim Rumbaugh和和Ivar Jacobson发起,在著名发起,在著名的面向对象的的面向对象的Booch方法、对象模型技术(方法、对象模型技术(OMT)方法和面向对象的软件工程()方法和面向对象的软件工程(OOSE)方法的)方法的基础上,不断完善、发展的一种统一建模语言。基础上,不断完善、发展的一种统一建模语言。UML是面向对象分析与设计的一种标准表示。它不是一种可视化的程序设计语言,而是一是面向对象分析与设计的一种标准表示。它不是一种可视化的程序设计语言,而是一种可视化的建模语言,不涉及编程问题,与语言平台无关。当前广泛使用的是种可视化的建模语言,不涉及编程问题,与语言平台无关。当前广泛使用的是UML 2.0版本,版本,UML已经成为一个事实上的工业标准,获得了业界的认同。已经成为一个事实上的工业标准,获得了业界的认同。6.2.1 UML概述概述12目录页6.2统一建模语言(UML)第6章6.2.1 UML概述概述13目录页6.2统一建模语言(UML)第6章2UML的主要特点的主要特点(1)统一了)统一了Booch、OMT和和OOSE等方法中的基本概念,是软件开发过程中各类人员交流等方法中的基本概念,是软件开发过程中各类人员交流和沟通的工具。和沟通的工具。(2)UML所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。人员不必在开发过程的不同阶段进行概念和符号的转换。(3)UML所用的语言元素基本都是图形化的,便于理解和沟通,不但开发人员之间可以所用的语言元素基本都是图形化的,便于理解和沟通,不但开发人员之间可以用来交流,客户和开发人员之间也可以用它作为交流的工具。用来交流,客户和开发人员之间也可以用它作为交流的工具。(4)UML可应用于任何软件开发过程、任何语言和工具平台,它支持可应用于任何软件开发过程、任何语言和工具平台,它支持OOP中出现的高级概中出现的高级概念(如模板、线程、协作、框架、模式和组件等),并强调在软件开发中对架构、框架、模式念(如模板、线程、协作、框架、模式和组件等),并强调在软件开发中对架构、框架、模式和组件等的重用。和组件等的重用。(5)UML概念明确,建模表示方法简洁明了,图形结构清晰,所以易于掌握和使用。概念明确,建模表示方法简洁明了,图形结构清晰,所以易于掌握和使用。6.2.1 UML概述概述14目录页6.2统一建模语言(UML)第6章3UML的应用领域的应用领域UML的主要目标是,以面向对象图的方式描述任何类型的系统,最常用于建立软件系统的的主要目标是,以面向对象图的方式描述任何类型的系统,最常用于建立软件系统的模型,也可以描述非软件领域的系统,如机械系统、企业机构、业务过程或信息系统等。模型,也可以描述非软件领域的系统,如机械系统、企业机构、业务过程或信息系统等。UML可对任何具有静态结构和动态行为的系统进行建模。可对任何具有静态结构和动态行为的系统进行建模。此外,此外,UML适用于系统开发的不同阶段。适用于系统开发的不同阶段。(1)用户需求分析阶段:)用户需求分析阶段:(2)系统分析阶段:)系统分析阶段:(3)设计阶段:)设计阶段:(4)编程)编程(构造构造)阶段:阶段:(5)测试阶段:)测试阶段:6.2.1 UML概述概述15目录页6.2统一建模语言(UML)第6章1.UML的组成的组成 UMLUML由基本构造块、规则和公用机制三部分组成。由基本构造块、规则和公用机制三部分组成。 基本构造块描述从领域问题、系统职责到未来系统中的事物和行为;基本构造块描述从领域问题、系统职责到未来系统中的事物和行为; 规则规定了这些构造块如何有机组成合法规则规定了这些构造块如何有机组成合法UMLUML的规则(如的规则(如UMLUML成员的名字、作用域和可成员的名字、作用域和可见性等);见性等); 公用机制是用于对不同公用机制是用于对不同UMLUML成员使用的共同的描绘方式(如规范说明、修饰、公共划分成员使用的共同的描绘方式(如规范说明、修饰、公共划分和扩展机制等)。和扩展机制等)。 UML UML的基本构造块包括三部分:事物(的基本构造块包括三部分:事物(ThingsThings)、关系()、关系(RelationshipsRelationships)和图)和图(DiagramsDiagrams)。其中,事物是模型中最具有代表性的成分的抽象,是模型中的基本成员;关系)。其中,事物是模型中最具有代表性的成分的抽象,是模型中的基本成员;关系是将事物联系在一起的方式;图是很多有相互关系的事物的组。是将事物联系在一起的方式;图是很多有相互关系的事物的组。 UML UML的基本构造块如图的基本构造块如图6.26.2所示。所示。 6.2.2 UML的主要内容的主要内容16目录页6.2统一建模语言(UML)第6章6.2.2 UML的主要内容的主要内容图6-2 UML的基本构造块 17目录页6.2统一建模语言(UML)第6章2.UML的事物的事物UML中的事物包含结构事物、行为事物、分组事物(或称组织事物)和注释事物(或称辅中的事物包含结构事物、行为事物、分组事物(或称组织事物)和注释事物(或称辅助事物)四种。助事物)四种。(1)结构事物)结构事物结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素。共有七种。元素。共有七种。类类(Class)接口接口(Interface)协作协作(Collaboration)用例用例(Use Case)活动类活动类(Active Class)组件组件(Component)节点节点(Node)6.2.2 UML的主要内容的主要内容18目录页6.2统一建模语言(UML)第6章(2)行为事物)行为事物交互交互(Interaction)是由一组对象之间在特定上下文中,为达到特定的目的而进行的一是由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作。系列消息交换而组成的动作。状态机状态机(State Machine)由一系列对象的状态组成。由一系列对象的状态组成。(3)分组事物)分组事物分组事物是包分组事物是包(Package)可以把一个分组事物看作是一个可以把一个分组事物看作是一个“盒子盒子”,即包。结构事物、,即包。结构事物、行为事物甚至其他分组事物都可以放进包内。包不像组件,组件只在运行时存在,包纯粹是概行为事物甚至其他分组事物都可以放进包内。包不像组件,组件只在运行时存在,包纯粹是概念上的,只在开发阶段存在。念上的,只在开发阶段存在。 (4)注释事物)注释事物注释事物是注释事物是UML模型的解释部分。模型的解释部分。6.2.2 UML的主要内容的主要内容19目录页6.2统一建模语言(UML)第6章6.2.2 UML的主要内容的主要内容20目录页6.2统一建模语言(UML)第6章3.UML的关系的关系常见的关系有关联、依赖、泛化、实现等常见的关系有关联、依赖、泛化、实现等4种,还有聚集(聚合)和组合(复合)等关系。种,还有聚集(聚合)和组合(复合)等关系。(1)关联)关联表示一事物(如对象)通常要和其他事物(如对象)发生关联。表示一事物(如对象)通常要和其他事物(如对象)发生关联。(2)泛化)泛化表示一般与特殊的关系。如一个子类继承了其他更一般类的属性和操作。表示一般与特殊的关系。如一个子类继承了其他更一般类的属性和操作。(3)依赖)依赖表示一个事物以某种方式依赖于另一种事物。如一个类使用了另一个类。表示一个事物以某种方式依赖于另一种事物。如一个类使用了另一个类。(4)实现)实现表示类和接口之间的关系。表示类和接口之间的关系。(5)聚集)聚集是关联的一种,通常聚集对象由部分对象组成。也就是整体与部分关联。是关联的一种,通常聚集对象由部分对象组成。也就是整体与部分关联。(6)组合)组合是一种特殊的聚集关系。在一个组合对象中,部分对象只能作为组合对象的是一种特殊的聚集关系。在一个组合对象中,部分对象只能作为组合对象的一部分与组合对象同时存在。一部分与组合对象同时存在。6.2.2 UML的主要内容的主要内容21目录页6.2统一建模语言(UML)第6章4.UML的图的图UML中的图与视图是有区别的。视图由多个图构成,从不同的目的或角度描述系统。图由中的图与视图是有区别的。视图由多个图构成,从不同的目的或角度描述系统。图由各种图片(模型元素符号)构成,用来描述视图的一个内容。各种图片(模型元素符号)构成,用来描述视图的一个内容。UML中的图可以分为静态图和动态图两大类,也可以细分为用例图、静态图、交互图、行中的图可以分为静态图和动态图两大类,也可以细分为用例图、静态图、交互图、行为图和实现图五类、共十种图。其中:为图和实现图五类、共十种图。其中:用例图(用例图(Use Case Diagram)表示系统实现的功能;)表示系统实现的功能;静态图(静态图(Static Diagram)表示系统的静态结构;)表示系统的静态结构;交互图(交互图(Interactive Diagram)描述系统的对象之间的动态合作关系;)描述系统的对象之间的动态合作关系;行为图(行为图(Behavior Diagram)描述系统的动态行为和对象之间的交互关系;)描述系统的动态行为和对象之间的交互关系;实现图(实现图(Interactive Diagram)描述系统的物理实现。)描述系统的物理实现。6.2.2 UML的主要内容的主要内容22目录页6.2统一建模语言(UML)第6章1.用例图(用例图(Use Case Diagram)用例图描述外部参与者所理解的系统功能,它表示系统从外部想要实现的行为,而不关心用例图描述外部参与者所理解的系统功能,它表示系统从外部想要实现的行为,而不关心这些行为怎样具体实现。用例图用于需求分析阶段。用例图描述了一组用例、参与者以及它们这些行为怎样具体实现。用例图用于需求分析阶段。用例图描述了一组用例、参与者以及它们之间的关系,用例图包括以下三方面内容:之间的关系,用例图包括以下三方面内容:(1)用例()用例(Use Case)。用例是系统的使用过程或要执行的动作序列,用来描述某个参与)。用例是系统的使用过程或要执行的动作序列,用来描述某个参与者使用系统所完成的功能。在图中用椭圆来表示。者使用系统所完成的功能。在图中用椭圆来表示。(2)参与者()参与者(Actor)。即角色,它是系统外部的一个实体(可以是任何的事物或人所扮)。即角色,它是系统外部的一个实体(可以是任何的事物或人所扮演的角色等)。在图中用一个小人图形表示。演的角色等)。在图中用一个小人图形表示。(3)关联。表示角色与用例之间的驱动和反馈关系,也可以表示用例间的包含与扩展关)关联。表示角色与用例之间的驱动和反馈关系,也可以表示用例间的包含与扩展关系。在图中用线段或带箭头的线段表示。系。在图中用线段或带箭头的线段表示。6.2.3 静态建模静态建模 23目录页6.2统一建模语言(UML)第6章图图6-4和图和图6-5是用例图的示例。是用例图的示例。6.2.3 静态建模静态建模 图6-4 借还书用例图图6-5 图书管理系统中用例的包含与扩展关系24目录页6.2统一建模语言(UML)第6章2类图类图(Class Diagram)(1)类的表示)类的表示 类用如右图所示的符号表示。类用如右图所示的符号表示。类图中有三部分,分别是类名、属性、操作。类图中有三部分,分别是类名、属性、操作。(2)类中属性和方法的可见性)类中属性和方法的可见性可见性指类中的属性和方法对类以外的元素是否可见。可见性有公有(可见性指类中的属性和方法对类以外的元素是否可见。可见性有公有(Public)、私有)、私有(Private)和受保护()和受保护(Protected)三种类型,分别用)三种类型,分别用“+、-、#”表示。表示。(3)类之间的关系)类之间的关系类之间的关系主要有关联、泛化(继承)、依赖和复合聚合、实现(细化)关系等,其中类之间的关系主要有关联、泛化(继承)、依赖和复合聚合、实现(细化)关系等,其中关联又可以分为普通关联、角色关联、类关联、限制关联、多重关联等。关联又可以分为普通关联、角色关联、类关联、限制关联、多重关联等。6.2.3 静态建模静态建模 25目录页6.2统一建模语言(UML)第6章(4)类图的层次)类图的层次建立一个系统的类图,需要从系统的各个用例中识别类、类的属性和操作,并经过分析、建立一个系统的类图,需要从系统的各个用例中识别类、类的属性和操作,并经过分析、抽象后才能得到。一个系统可以有多个类图,单个类图仅表达了系统的一个方面,要在高层给抽象后才能得到。一个系统可以有多个类图,单个类图仅表达了系统的一个方面,要在高层给出类的主要职责,在低层给出类的属性和操作。类图没有时间概念,可以说是概念数据模型出类的主要职责,在低层给出类的属性和操作。类图没有时间概念,可以说是概念数据模型(如(如E-R 图)的一种延伸,它不仅显示信息的结构,同时还描述系统的行为。类图可划分为以下图)的一种延伸,它不仅显示信息的结构,同时还描述系统的行为。类图可划分为以下三个层次。三个层次。概念层:在需求分析阶段使用概念层类图描述应用领域中的概念。概念层:在需求分析阶段使用概念层类图描述应用领域中的概念。说明层:在设计阶段使用说明层类图描述软件中类和类的接口部分,而不是描述软件的实说明层:在设计阶段使用说明层类图描述软件中类和类的接口部分,而不是描述软件的实现部分。现部分。实现层:在实现阶段使用实现层类图描述软件系统中类的实现。实现层:在实现阶段使用实现层类图描述软件系统中类的实现。6.2.3 静态建模静态建模 26目录页6.2统一建模语言(UML)第6章3.对象图对象图(Object Diagram)对象图展示了一组对象和它们之间的关系。对象图是类图的实例,对象之间的连接是类之对象图展示了一组对象和它们之间的关系。对象图是类图的实例,对象之间的连接是类之间关联的实例。在间关联的实例。在UML中,对象图和类图一样采用矩形图表示,不过对象名称下方有下划线中,对象图和类图一样采用矩形图表示,不过对象名称下方有下划线(类名称下方没有下划线),通常对象名采用:对象名:类名、:类名或对象名三种格式表示,(类名称下方没有下划线),通常对象名采用:对象名:类名、:类名或对象名三种格式表示,中间形式是尚未给对象命名,最后一种形式是省略了类名。图中间形式是尚未给对象命名,最后一种形式是省略了类名。图6-15就是对象图的一个例子。就是对象图的一个例子。6.2.3 静态建模静态建模 图图6-15 对象图对象图27目录页6.2统一建模语言(UML)第6章4.包图(包图(Package Diagrams)当在分析设计一个大型系统时,往往会出现上百个甚至更多的类,这样理解和修改该系统当在分析设计一个大型系统时,往往会出现上百个甚至更多的类,这样理解和修改该系统就变得非常困难。如何有效地管理这些类,是分析人员首要解决的重要问题,其基本做法是将就变得非常困难。如何有效地管理这些类,是分析人员首要解决的重要问题,其基本做法是将许多类组合成一个更高层次的单位,形成高内聚、低耦合的类的集合,这种对元素进行分组的许多类组合成一个更高层次的单位,形成高内聚、低耦合的类的集合,这种对元素进行分组的通用机制在通用机制在UML中称为包。广义地讲,包的元素包括类、接口、组件、节点、协作、用例等,中称为包。广义地讲,包的元素包括类、接口、组件、节点、协作、用例等,还可以包括内嵌的其他子包,引入包可以降低系统的复杂性。还可以包括内嵌的其他子包,引入包可以降低系统的复杂性。包图是具有一些共性的类组合在一起的图,它由包与包之间的联系构成,是维护和控制系包图是具有一些共性的类组合在一起的图,它由包与包之间的联系构成,是维护和控制系统总体结构的重要建模工具。统总体结构的重要建模工具。构成包的模型元素称为包的内容,通常我们可以把一个系统划分为不同的主题层或子系统,构成包的模型元素称为包的内容,通常我们可以把一个系统划分为不同的主题层或子系统,属于同一个主题层的元素放在一个包中,主题层之间的依赖关系表现为包的依赖关系。属于同一个主题层的元素放在一个包中,主题层之间的依赖关系表现为包的依赖关系。6.2.3 静态建模静态建模 28目录页6.2统一建模语言(UML)第6章5.组件图(组件图(Component Diagram)组件图也称构件图,用于显示软件组件及它们之间的依赖关系。利用组件图可以对系统的组件图也称构件图,用于显示软件组件及它们之间的依赖关系。利用组件图可以对系统的静态实现视图建模。组件图用来表现编译、连接或执行时组件之间的依赖关系,用来反映代码静态实现视图建模。组件图用来表现编译、连接或执行时组件之间的依赖关系,用来反映代码的物理结构。的物理结构。组件(组件(Component)是定义了良好接口的物理实现单元,是系统中可替换的物理部件。一)是定义了良好接口的物理实现单元,是系统中可替换的物理部件。一般来说,软件组件就是一个实际文件,可以是源代码、二进制文件或可执行文件等。般来说,软件组件就是一个实际文件,可以是源代码、二进制文件或可执行文件等。组件图中通常包含三个元素:组件、接口(组件图中通常包含三个元素:组件、接口(Interface)和依赖关系()和依赖关系(Dependency)。组件)。组件用一个左边带有两个小矩形的矩形符号表示,组件名放在大矩形内;组件可以通过其他组件的用一个左边带有两个小矩形的矩形符号表示,组件名放在大矩形内;组件可以通过其他组件的接口来使用其他组件中定义的操作,组件中的接口用一个小圆圈表示;组件之间的依赖关系用接口来使用其他组件中定义的操作,组件中的接口用一个小圆圈表示;组件之间的依赖关系用带箭头的虚线表示。带箭头的虚线表示。 6.2.3 静态建模静态建模 29目录页6.2统一建模语言(UML)第6章6.配置图配置图(Deployment Diagram)配置图也称为部署图,用来描述系统中硬件和软件的物理架构。比如系统中包括的计算机配置图也称为部署图,用来描述系统中硬件和软件的物理架构。比如系统中包括的计算机和其他硬件设备,它们的位置以及它们是如何进行相互连接的,系统的程序和进程在哪一台计和其他硬件设备,它们的位置以及它们是如何进行相互连接的,系统的程序和进程在哪一台计算机上运行等。算机上运行等。在在UML中,配置图中通常包含三个元素:节点(中,配置图中通常包含三个元素:节点(Node)、组件和连接(关系)。)、组件和连接(关系)。 其中,节点代表一个物理设备或者是一个运行在其上的软件系统。在实际的建模过程中,其中,节点代表一个物理设备或者是一个运行在其上的软件系统。在实际的建模过程中,可以把节点分为处理器和设备两种类型。可以把节点分为处理器和设备两种类型。6.2.3 静态建模静态建模 30目录页6.2统一建模语言(UML)第6章1.时序图(时序图(Sequence Diagram)时序图(也称顺序图)和协作图都是用来描述一组对象和它们之间如何进行消息传递的。时序图(也称顺序图)和协作图都是用来描述一组对象和它们之间如何进行消息传递的。其中时序图强调消息传递的时间顺序,而协作图强调对象之间的交互关系。其中时序图强调消息传递的时间顺序,而协作图强调对象之间的交互关系。时序图描述按时间的先后顺序对象之间的交互动作过程。时序图由对象和消息等图符组成。时序图描述按时间的先后顺序对象之间的交互动作过程。时序图由对象和消息等图符组成。图书管理系统中的借书时序图中图图书管理系统中的借书时序图中图6.20所示所示。6.2.4 动态建模动态建模 31目录页6.2统一建模语言(UML)第6章1.时序图(时序图(Sequence Diagram)6.2.4 动态建模动态建模 图图6.20 图书管理系统中的借书时序图图书管理系统中的借书时序图32目录页6.2统一建模语言(UML)第6章2.协作图协作图(Collaboration Diagram)协作图又称合作图,它和时序图一样,也是用于描述对象间的交互关系,但侧重点不同。协作图又称合作图,它和时序图一样,也是用于描述对象间的交互关系,但侧重点不同。时序图着重体现交互的时间顺序,而协作图着重体现交互对象间的静态连接关系,侧重说明哪时序图着重体现交互的时间顺序,而协作图着重体现交互对象间的静态连接关系,侧重说明哪些对象之间有消息传递。些对象之间有消息传递。在协作图中,需要从消息上所附编号获得交互时间次序。在在协作图中,需要从消息上所附编号获得交互时间次序。在UML中时序图和协作图的语义中时序图和协作图的语义是等价的,它们都是交互图,可以相互转换,而不丢失任何信息,在是等价的,它们都是交互图,可以相互转换,而不丢失任何信息,在Rose建模工具中的操作方建模工具中的操作方法是按一下功能键法是按一下功能键F5,然后协调布置好各个对象及它们之间的交互关系即可。,然后协调布置好各个对象及它们之间的交互关系即可。6.2.4 动态建模动态建模 33目录页6.2统一建模语言(UML)第6章图书管理系统借书协作图如图图书管理系统借书协作图如图6-21所示。所示。6.2.4 动态建模动态建模 图6.21 图书管理系统借书协作图34目录页6.2统一建模语言(UML)第6章3状态图状态图(Statechart Diagram) 状态图和活动图都属于行为图,主要用于分析、设计阶段描述对象的行为。状态图适于描状态图和活动图都属于行为图,主要用于分析、设计阶段描述对象的行为。状态图适于描述单个对象状态的变化情况,活动图适于描述一个工作过程、多个对象之间的合作。述单个对象状态的变化情况,活动图适于描述一个工作过程、多个对象之间的合作。状态图描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。状态图描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。其中状态是对象执行了一系列活动的结果。对象在事件的触发下,从一个状态变成另一个其中状态是对象执行了一系列活动的结果。对象在事件的触发下,从一个状态变成另一个状态。状态。状态图有初态、终态和中间态三种状态。一个状态图只能有一个初态,而终态和中间态可状态图有初态、终态和中间态三种状态。一个状态图只能有一个初态,而终态和中间态可以有多个。以有多个。 在在UML中,初始状态用一个小的实心圆表示,最终状态用一个内部实心的两个同心圆表示,中,初始状态用一个小的实心圆表示,最终状态用一个内部实心的两个同心圆表示,中间状态用圆角矩形表示。中间状态用圆角矩形表示。6.2.4 动态建模动态建模 35目录页6.2统一建模语言(UML)第6章图书管理系统中图书的状态图如图图书管理系统中图书的状态图如图6-24所示。所示。6.2.4 动态建模动态建模 图6.24 图书管理系统中图书的状态图36目录页6.2统一建模语言(UML)第6章4. 活动图活动图图书管理系统中图书管理员借还书活动图如图图书管理系统中图书管理员借还书活动图如图6-26所示。所示。6.2.4 动态建模动态建模 图6.26 图书管理员借还书活动图37目录页6.3RationalRose简介第6章6.3.1 Rational Rose的安装的安装38目录页6.3RationalRose简介第6章6.3.1 Rational Rose的安装的安装39目录页6.3RationalRose简介第6章6.3.1 Rational Rose的安装的安装40目录页6.3RationalRose简介第6章6.3.2 Rational Rose的启动的启动41目录页6.3RationalRose简介第6章6.3.3 Rational Rose的配置的配置 单击菜单栏中的单击菜单栏中的【Tools】|【Options】菜单项,可打开全局设置对话框,从而对菜单项,可打开全局设置对话框,从而对Rose进行进行设置。设置。(1)常规配置)常规配置在在Rose全局设置对话框中选择全局设置对话框中选择【General】选项卡,可以完成默认字体、默认颜色、布局等选项卡,可以完成默认字体、默认颜色、布局等常规选项设置。常规选项设置。注意,在建立模型前一定要事先设置好对象的字体、颜色等属性,建模后再设置将不会有注意,在建立模型前一定要事先设置好对象的字体、颜色等属性,建模后再设置将不会有效。效。(2)其他配置)其他配置在在【Options】菜单中还可以完成改变图形元素、浏览器和对应语言等其他设置。菜单中还可以完成改变图形元素、浏览器和对应语言等其他设置。有关有关Rose更多的操作与应用知识请参照相关资料。更多的操作与应用知识请参照相关资料。42目录页6.3RationalRose简介第6章6.3.4 Rational Rose建模的基本过程建模的基本过程 (1)创建模型创建模型单击菜单栏中单击菜单栏中【File】|【New】菜单项,或者单击标准工具栏中的菜单项,或者单击标准工具栏中的【Create New Model or File】按钮;弹出按钮;弹出“Create New Model”对话框,选择要使用的模板。如果暂时不需要任何模板,对话框,选择要使用的模板。如果暂时不需要任何模板,单击单击【Cancel】按钮。根据需要建立用户视图、逻辑视图、组件视图和部署视图。按钮。根据需要建立用户视图、逻辑视图、组件视图和部署视图。Rose所创建的模型文件的扩展名为所创建的模型文件的扩展名为.mdl。(2)保存模型保存模型单击菜单栏中单击菜单栏中【File】|【Save】选项,或者单击标准工具栏中的选项,或者单击标准工具栏中的【Save Model,File,or Script】按钮。按钮。43目录页6.3RationalRose简介第6章6.3.4 Rational Rose建模的基本过程建模的基本过程 (3)发布模型发布模型单击菜单栏中的单击菜单栏中的【Tools】|【Web Publisher.】菜单项,弹出如图菜单项,弹出如图6-28所示所示对话框,在图中选择要发布到对话框,在图中选择要发布到Web页面上页面上的内容和的内容和HTML页面要保存的位置,单击页面要保存的位置,单击【Publish】按钮,按钮,Rose模型就发布到模型就发布到Web页面上,打开所保存的页面上,打开所保存的.html文件,文件,就可以看到就可以看到Rose模型,模型,44目录页6.3RationalRose简介第6章6.3.4 Rational Rose建模的基本过程建模的基本过程 45目录页6.3RationalRose简介第6章6.3.4 Rational Rose建模的基本过程建模的基本过程 2.Rose建模的具体操作建模的具体操作下面介绍利用下面介绍利用Rose绘制用例图的具体操作方法:绘制用例图的具体操作方法:(1)启动)启动Rational Rose 2007后,单击后,单击【File】|【New】|在弹出的对话框中选择在弹出的对话框中选择【Cancel】命令,新建一个模型(默认名称是命令,新建一个模型(默认名称是untitled)。)。(2)在左侧浏览器区域用鼠标右键单击用例视图()在左侧浏览器区域用鼠标右键单击用例视图(Use Case View)文件夹节点,然后选)文件夹节点,然后选择择【New】菜单菜单|【Use Case Diagram】选项,新建一个用例图,可根据需要重新命名用例图名称选项,新建一个用例图,可根据需要重新命名用例图名称如如book,如图,如图6-30所示。所示。(3)双击刚才建立的用例(如)双击刚才建立的用例(如book),然后利用),然后利用Rose界面中间的工具栏中的工具绘制用界面中间的工具栏中的工具绘制用例图。将鼠标左键指向工具栏中和图标会显示其信息。用例图中主要有角色(例图。将鼠标左键指向工具栏中和图标会显示其信息。用例图中主要有角色(Actor)、用例)、用例(Use Case)等图符工具。)等图符工具。46目录页6.3RationalRose简介第6章6.3.4 Rational Rose建模的基本过程建模的基本过程 E-mail:dutpdutp.cn网址网址:http:/www.dutp.cn地址:大连市软件园路地址:大连市软件园路80号号大连理工大学出版社谢谢观看
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号