面向对象建模技术

上传人:桔**** 文档编号:584582798 上传时间:2024-08-31 格式:PPT 页数:70 大小:1.79MB
返回 下载 相关 举报
面向对象建模技术_第1页
第1页 / 共70页
面向对象建模技术_第2页
第2页 / 共70页
面向对象建模技术_第3页
第3页 / 共70页
面向对象建模技术_第4页
第4页 / 共70页
面向对象建模技术_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《面向对象建模技术》由会员分享,可在线阅读,更多相关《面向对象建模技术(70页珍藏版)》请在金锄头文库上搜索。

1、面向对象建模技术面向对象建模技术课程介绍课程介绍v课时安排:课时安排:35+1035+10v课堂纪律课堂纪律v出勤率出勤率v实验情况实验情况v总成绩笔试成绩总成绩笔试成绩(70%)+(70%)+上课出勤上课出勤(20%)+(20%)+案例设计案例设计 (10%) (10%)自我介绍自我介绍v林琳林琳v邮箱:邮箱:JSDXLLJSDXLLv电话:电话:1385294537613852945376v办公室:计算机大楼办公室:计算机大楼316316参考书参考书vJoseph SchmullerJoseph Schmuller,UMLUML基础、案例与应用(第基础、案例与应用(第三版),人民邮电出版社

2、三版),人民邮电出版社v谢星星等,谢星星等,UMLUML基础与基础与RoseRose建模实用教程,清华建模实用教程,清华大学出版社大学出版社vhttp:/ v建模的目标建模的目标 :便于展现系统。便于展现系统。允许指定系统的结构或行为。允许指定系统的结构或行为。提供构造系统的模板。提供构造系统的模板。记录决策。记录决策。 建模的误区建模的误区v建模就是写文档建模就是写文档v一开始就能考虑到一切情况一开始就能考虑到一切情况v必须必须“冻结冻结”需求需求v设计不可更改设计不可更改v必须使用必须使用CASECASE工具工具v建模是在浪费时间建模是在浪费时间v所有的开发人员都知道如何建模所有的开发人员

3、都知道如何建模 11第第1 1章章 UMLUML与面向对象与面向对象vUMLUML(统一建模语言,(统一建模语言,Unified Modeling LanguageUnified Modeling Language)是软)是软件和系统开发的标准建模语言,它主要以图形的方式对系统件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。进行分析、设计。v面向对象的软件开发方法是现在软件工程流域的主流方法。面向对象的软件开发方法是现在软件工程流域的主流方法。vUMLUML是在多种面向对象分析与设计方法相互融合的基础上形是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统

4、建模的语言。成的,是一种专用于系统建模的语言。12本章学习要点本章学习要点v理解面向对象概念理解面向对象概念v了解了解OOOO开发开发v熟悉熟悉OOOO开发的优点开发的优点v掌握掌握OOOO开发三层设计开发三层设计v了解模型的作用了解模型的作用v了解面向对象的主要概念了解面向对象的主要概念v了解了解UMLUML的发展的发展v掌握掌握UMLUML四层结构四层结构v了解统一的含义了解统一的含义v理解理解UMLUML视图和图的关系视图和图的关系v掌握掌握UMLUML模型元素内容模型元素内容v理解理解UMLUML通用机制通用机制v了解了解UMLUML建模在软件开发中应用建模在软件开发中应用13v面向对

5、象面向对象(Objec-Oriented(Objec-Oriented,OO)OO)不仅是一些具体的软件不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,用什么观点来研究问题并进行求解,与现实世界的关系,用什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。以及如何进行系统构造的软件方法学。v面向对象方法的基本思想包括两个主要方面。面向对象方法的基本思想包括两个主要方面。一方面是从现实世界中客观存在的事务出发来构造软一方面是从现实世界中客观存在的事务出发来构造软件系统,并在系统的构造中尽可能地运用人

6、类的自然件系统,并在系统的构造中尽可能地运用人类的自然思维方式。思维方式。另一方面是面向对象方法比以往的方法更接近人类的另一方面是面向对象方法比以往的方法更接近人类的自然思维方式。自然思维方式。1.1 1.1 面向对象开发面向对象开发软件工程的发展历史软件工程的发展历史v19461946年,世界上第一台电子计算机在美国研制年,世界上第一台电子计算机在美国研制成功。成功。v5050年代,软件诞生,这时的软件开发主要指编年代,软件诞生,这时的软件开发主要指编程。程。 v6060年代中期到年代中期到7070年代中期,年代中期,“软件危机软件危机” ” 出出现。现。v19681968年,年,“软件工程

7、软件工程” ” 概念提出。概念提出。传统软件工程的生命周期传统软件工程的生命周期v软件开发分为五个阶段:软件开发分为五个阶段: 需求分析阶段需求分析阶段总体设计阶段总体设计阶段详细设计阶段详细设计阶段编程和测试阶段编程和测试阶段维护阶段维护阶段 面向对象的软件工程方法面向对象的软件工程方法v19671967年,第一种面向对象语言年,第一种面向对象语言Simula-67Simula-67诞生;诞生;v2020世纪世纪8080年代年代SmalltalkSmalltalk语言掀起了一场语言掀起了一场“面面向对象向对象”运动;运动;v面向对象语言越来越多,应用越来越广泛;面向对象语言越来越多,应用越来

8、越广泛;v面向对象技术在软件工程领域得到应用,主要面向对象技术在软件工程领域得到应用,主要包括:包括:面向对象的分析面向对象的分析OOAOOA面向对象的设计面向对象的设计OODOOD面向对象的编程面向对象的编程OOPOOP传统方法与面向对象方法的比较传统方法与面向对象方法的比较v数据处理方法不同数据处理方法不同 图图1-11-1v建模手段不同建模手段不同v软件开发方法不同软件开发方法不同 图图1-21-21.1.2 1.1.2 面向对象的基本概念面向对象的基本概念v面向对象技术的基本观点面向对象技术的基本观点: :客观世界由对象组成,任何客观实体都是对客观世界由对象组成,任何客观实体都是对象,

9、复杂对象可以由简单对象组成。象,复杂对象可以由简单对象组成。具有相同数据和操作的对象可归纳成类,对具有相同数据和操作的对象可归纳成类,对象是类的一个实例。象是类的一个实例。类可以派生出子类,子类除了继承父类的全类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性。部特性外还可以有自己的特性。对象之间的联系通过消息传递来维系。对象之间的联系通过消息传递来维系。一个对象的实例图解一个对象的实例图解 v对象对象v类类v封装封装v继承继承v消息消息v多态性多态性v关联关联v聚合聚合201.1.2 1.1.2 面向对象的基本概念面向对象的基本概念1.1.3 OO开发的优点v1.1.自然性自然

10、性在开发中总是以对象的形式来认识世界,因此当在开发中总是以对象的形式来认识世界,因此当人们分析和设计系统需求时,总是很自然地定义人们分析和设计系统需求时,总是很自然地定义各类对象。各类对象。v2.2.重用性重用性一次创建的类和对象能多次使用。一次创建的类和对象能多次使用。211.2 OO开发中三层设计v面面向向对对象象的的开开发发中中,通通常常把把OOOO系系统统中中相相互互联联系系的的所所有有对对象象分成三类:问题域类、分成三类:问题域类、GUIGUI类和数据访问类。类和数据访问类。v问题域类是指和用户相关的对象类;问题域类是指和用户相关的对象类;vGUIGUI类的作用是方便用户与问题类进行

11、交互;类的作用是方便用户与问题类进行交互;v数据访问类,实现问题域类和数据库交互。数据访问类,实现问题域类和数据库交互。v在在实实现现系系统统时时按按照照先先确确定定问问题题域域类类,然然后后实实现现GUIGUI类类,最最后后再再确确定定数数据据访访问问类类的的顺顺序序逐逐步步实实现现。一一旦旦完完成成所所有有的的内内容后,它们就可以作为一个完整的系统进行工作了。容后,它们就可以作为一个完整的系统进行工作了。v优点:降低耦合,提高复用。优点:降低耦合,提高复用。221.2 OO开发中三层设计图图1-3 1-3 图书管理系统的三层结构图书管理系统的三层结构1.3 UML简介v统一建模语言(统一建

12、模语言(UMLUML)仅仅是一种语言。它不)仅仅是一种语言。它不是一种系统设计的方法,而是系统建模的标准。是一种系统设计的方法,而是系统建模的标准。UMLUML经历了多年的研究、发展并不断完善,成经历了多年的研究、发展并不断完善,成为现在诸多领域内建模的首选标准。开发人员为现在诸多领域内建模的首选标准。开发人员主要使用主要使用UMLUML来构造各种模型,以便描述系统来构造各种模型,以便描述系统需求和设计。需求和设计。241.3.1 为什么对系统建模v在系统设计中采用模型化设计的重要原因之在系统设计中采用模型化设计的重要原因之一是管理系统设计的复杂性。模型化可以帮一是管理系统设计的复杂性。模型化

13、可以帮助用户从高层理解系统,使用户专注于系统助用户从高层理解系统,使用户专注于系统设计的重要部分,收集关键信息,而不需要设计的重要部分,收集关键信息,而不需要关心一些无关紧要的部分。关心一些无关紧要的部分。251.3.2 UML的发展1.3.3 UML的构成vUMLUML的四层体系结构的四层体系结构元元模型层元元模型层元模型层元模型层模型层模型层用户模型层用户模型层271.3.3 UML的构成vUMLUML的核心构成的核心构成视图视图: :表达系统的某一个方面特征的表达系统的某一个方面特征的UMLUML建模建模元素的子集;元素的子集;图:对建模系统的抽象表示,用于描述视图图:对建模系统的抽象表

14、示,用于描述视图内容;内容;模型元素:包括事物和事物之间的联系;模型元素:包括事物和事物之间的联系;通用机制:为模型元素提供额外信息。通用机制:为模型元素提供额外信息。28部署图部署视图1.3.4 “统一”的意义vUMLUML的含义为统一建模语言,那么的含义为统一建模语言,那么“统一统一”在在UMLUML中的含中的含义具有一些相关联的含义,具体表现在以下几个方面:义具有一些相关联的含义,具体表现在以下几个方面:在以往出现的方法和表示法方面在以往出现的方法和表示法方面在软件开发的生命期方面在软件开发的生命期方面 在应用领域方面在应用领域方面在实现的编程语言和开发平台方面在实现的编程语言和开发平台

15、方面在开发过程方面在开发过程方面在内部概念方面在内部概念方面301.4 UML视图v在在对对复复杂杂的的工工程程进进行行建建模模时时,系系统统可可由由一一个个单单一一的的图图形形来来描描述述,该该图图形形精精确确地地定定义义了了整整个个系系统统。但但是是,单单一一的的图图形形不不可可能能包包含含系系统统所所需需的的所所有有信信息息,更更不不可可能能描描述述系系统的整体结构功能。统的整体结构功能。vUMLUML中中使使用用视视图图来来划划分分系系统统各各个个方方面面,每每一一种种视视图图描描述述系系统统某某一一个个方方面面的的特特性性。一一个个完完整整的的系系统统由由不不同同的的视视图图从不同的

16、角度共同描述,这样系统才可能被精确定义。从不同的角度共同描述,这样系统才可能被精确定义。vUMLUML中中具具有有多多种种视视图图,细细分分起起来来共共有有五五种种:用用例例视视图图、逻辑视图、并发视图、组件视图和部署视图。逻辑视图、并发视图、组件视图和部署视图。31 构成系统模型的几种视图构成系统模型的几种视图 组件视图1.1. 用例视图用例视图 v用途:描述系统应该具备的功能,即被称为参用途:描述系统应该具备的功能,即被称为参与者的外部用户所能观察到的功能。与者的外部用户所能观察到的功能。 v用例视图是几个视图的核心,它的内容直接驱用例视图是几个视图的核心,它的内容直接驱动其他视图的开发。

17、动其他视图的开发。2. 2. 逻辑视图逻辑视图 v用途:描述用例视图中提出的系统功能的实现。用途:描述用例视图中提出的系统功能的实现。 v逻辑视图既描述系统的静态结构,也描述系统逻辑视图既描述系统的静态结构,也描述系统内部的动态协作关系。内部的动态协作关系。v使用者:主要是设计人员和开发人员。使用者:主要是设计人员和开发人员。 v组成:静态结构在类图和对象图中进行描述;组成:静态结构在类图和对象图中进行描述;动态模型在状态图、时序图、协作图以及活动动态模型在状态图、时序图、协作图以及活动图中进行描述。图中进行描述。3. 3. 并发视图并发视图v用途:考虑资源的有效利用、代码的并行执行用途:考虑

18、资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。以及系统环境中异步事件的处理。v使用者:主要是开发人员和系统集成人员。使用者:主要是开发人员和系统集成人员。 v组成:状态图、协作图和活动图。组成:状态图、协作图和活动图。4. 4. 组件视图组件视图v用途:描述系统的实现模块以及它们之间的依用途:描述系统的实现模块以及它们之间的依赖关系。赖关系。 v组成:组件图。组成:组件图。 v使用者:主要是开发人员。使用者:主要是开发人员。 5. 5. 部署视图部署视图v用途:显示系统的物理部署,并描述位于节点用途:显示系统的物理部署,并描述位于节点实例上的运行组件实例的部署情况,还允许评实例上

19、的运行组件实例的部署情况,还允许评估分配结果和资源分配。估分配结果和资源分配。 v组成:部署图。组成:部署图。v使用者:开发人员、系统集成人员和测试人员。使用者:开发人员、系统集成人员和测试人员。 1.5 UML图v每每一一种种UMLUML的的视视图图都都是是由由一一个个或或多多个个图图组组成成的的,一一个个图图就就是是系系统统架架构构在在某某个个侧侧面面的的表表示示,所所有有的的图图一一起起组组成成了了系系统统的的完完整整视视图图。UML1.xUML1.x提提供供了了九九种种不不同同的的图图,可可以以分分为为两两大大类类:一一类类是是静静态态图图,包包括括用用例例图图、类类图图、对对象象图图

20、、组组件件图图和和部部署署图图;另另一一类类是是动动态态图图,包括序列图、协作图、状态图和活动图。包括序列图、协作图、状态图和活动图。38UML1.XUML1.X与与2.02.0的比较的比较v对对UML1.XUML1.X进行了一些扩充。进行了一些扩充。v用更为受限的通信图代替了协作图。用更为受限的通信图代替了协作图。 v增加了交互概览图、定时图、组合结构图等新增加了交互概览图、定时图、组合结构图等新图。图。1.6 模型元素vUMLUML中每一个模型元素都有一个与之相对应的中每一个模型元素都有一个与之相对应的图形元素。模型元素的图形是表示使图形元素。模型元素的图形是表示使UMLUML的模的模型图

21、形化,图形语言简明和直观使用其成为人型图形化,图形语言简明和直观使用其成为人们建模的有力工具。模型元素包括事物和事物们建模的有力工具。模型元素包括事物和事物之间的关系,是之间的关系,是UMLUML中重要的组成部分。中重要的组成部分。401.6.1 事物v事物是事物是UMLUML模型中面向对象基本的模块,它们在模型中模型中面向对象基本的模块,它们在模型中属于静态部分,代表物理上或概念上的元素。属于静态部分,代表物理上或概念上的元素。UMLUML中的中的事物可分为四种,分别是事物可分为四种,分别是结构事物结构事物动作事物动作事物分组事物分组事物注释事物注释事物411. 1. 结构事物结构事物 vU

22、MLUML模型中最基本的结构化事物,包括:模型中最基本的结构化事物,包括:类类接口接口协作协作用例用例活动类活动类组件组件节点节点 (1 1)类)类v对具有相同属性、对具有相同属性、方法、关系和语义方法、关系和语义的对象的抽象。的对象的抽象。 (2 2)接口)接口v为类或组件提供特定服务的一组操作的集合。为类或组件提供特定服务的一组操作的集合。 v描述了类或组件的对外可见的动作。描述了类或组件的对外可见的动作。 (3 3)协作)协作 v定义了交互操作,一个给定的类可能是几个协定义了交互操作,一个给定的类可能是几个协作的组成部分。作的组成部分。 v代表构成系统的模式的实现。代表构成系统的模式的实

23、现。(4 4)用例)用例 v描述系统对一个特定角色执行的一系列动作。描述系统对一个特定角色执行的一系列动作。 v组织动作事物。组织动作事物。 (5 5)活动类)活动类 v类对象有一个或多个进程或线程的类。类对象有一个或多个进程或线程的类。 (6 6)组件)组件v实现了一个接口集合的物理上可替换的系统部实现了一个接口集合的物理上可替换的系统部分。分。 (7 7)节点)节点 v在运行时存在的一个物理元素。在运行时存在的一个物理元素。v代表一个可计算的资源。代表一个可计算的资源。v通常占用一些内存和具有处理能力。通常占用一些内存和具有处理能力。 2. 2. 动作事物动作事物 vUMLUML模型中的动

24、态部分,包括:模型中的动态部分,包括: 交互交互状态机状态机(1 1)交互)交互v一组对象在特定上下文中,为达到某种特定的一组对象在特定上下文中,为达到某种特定的目的而进行的一系列消息交换组成的动作。目的而进行的一系列消息交换组成的动作。 (2 2)状态机)状态机v由一系列对象的状态组成。由一系列对象的状态组成。 3. 3. 分组事物分组事物 vUMLUML模型中组织的部分。模型中组织的部分。v分组事物只有一种:包。分组事物只有一种:包。v包是一种将有组织的元素分组的机制。包是一种将有组织的元素分组的机制。v包只存在于开发阶段。包只存在于开发阶段。 4. 4. 注释事物注释事物 vUMLUML

25、模型的解释部分。模型的解释部分。1.6.2 1.6.2 关系关系 关联关联依赖依赖泛化泛化实现实现聚合聚合1.7 通用机制v通用机制使得通用机制使得UMLUML更简单和易于使用更简单和易于使用v通用机制可以为模型元素添加注释、信息或语义,通用机制可以为模型元素添加注释、信息或语义,还可以对还可以对UMLUML进行扩展。进行扩展。v通用机制中包括了修饰、注释、规格说明和扩展通用机制中包括了修饰、注释、规格说明和扩展机制等四种。机制等四种。561.修饰v修饰(修饰(AdornmentAdornment)为图中的模型元素增加了语义,)为图中的模型元素增加了语义,建模时可以将图形修饰附加到建模时可以将

26、图形修饰附加到UMLUML图中的模型元素图中的模型元素上。上。v例如,当一个元素代表某种类型时,名称显示为粗例如,当一个元素代表某种类型时,名称显示为粗体;当同一元素表示该类型的实例时,该元素名称体;当同一元素表示该类型的实例时,该元素名称显示为下划线修饰。显示为下划线修饰。572 2 注释注释v以自由的文本形式出现的。以自由的文本形式出现的。v信息类型是不被信息类型是不被UMLUML解释的一个字符串。解释的一个字符串。 v示例:示例:3 3 规格说明规格说明 vUML UML 中预定义的特性:中预定义的特性:文档(文档(DocumentationDocumentation)职责(职责(Res

27、ponsibilityResponsibility)永久性(永久性(PersistencePersistence)并发性(并发性(ConcurrencyConcurrency) 4 4 扩展机制扩展机制 构造型构造型标记值标记值约束约束 (1 1)构造型)构造型v由建模者设计的新的模型元素。由建模者设计的新的模型元素。v新的模型元素的设计要以新的模型元素的设计要以UMLUML已定义的模型元素为基础。已定义的模型元素为基础。 v示例:示例:(2 2)标记值)标记值v附加到任何模型元素上的命名的信息块。附加到任何模型元素上的命名的信息块。v示例:示例:(3 3)约束)约束v用某种形式化语言或自然语

28、言表达的语义关系的文字用某种形式化语言或自然语言表达的语义关系的文字说明。说明。 v示例:示例:1.8 使用UML建模vUMLUML可用于任何面向对象系统开发建模,不仅可以为使可用于任何面向对象系统开发建模,不仅可以为使用用UMLUML进行软件建模,同样可以使用进行软件建模,同样可以使用UMLUML对其他非计算机对其他非计算机领域系统进行建模,领域系统进行建模,UMLUML常进行以下应用:常进行以下应用:信息系统(信息系统(Information SystemInformation System) 技术系统(技术系统(Technical SystemTechnical System) 嵌入式系

29、统(嵌入式系统(Embedded Real-Time SystemEmbedded Real-Time System)分布式系统(分布式系统(Distributed SystemDistributed System)商业系统(商业系统(Business SystemBusiness System)64建模步骤建模步骤v需求分析需求分析v分析分析v设计设计v构造构造v测试测试UMLUML建模工具建模工具v绘图工具绘图工具MicrosoftMicrosoft的的VisioVisio手绘手绘vCASECASE(Computer Aided Software Computer Aided Softwa

30、re Engineering,Engineering, 计算机辅助软件工程)工具计算机辅助软件工程)工具IBM RationalIBM Rational的的Rational Rose Rational Rose Sparx SystemsSparx Systems的的Enterprise Architect(EA)Enterprise Architect(EA)开源项目开源项目StartUML StartUML CASECASE工具工具vUMLUML建模建模CASECASE工具允许我们应用规范的面向对象工具允许我们应用规范的面向对象分析和设计的方法与理论,远离纠缠不清的源分析和设计的方法与理论,远离纠缠不清的源代码,达到构建和设计变得更直观,更容易地代码,达到构建和设计变得更直观,更容易地理解与修改的层次。理解与修改的层次。v在大型项目中,使用在大型项目中,使用CASECASE工具更重要。通过使用工具更重要。通过使用CASECASE工具,开发者能快速地将模型转变为一个工具,开发者能快速地将模型转变为一个可运行的应用程序,寻找类和方法的子集,以可运行的应用程序,寻找类和方法的子集,以及理解它们如何交互。及理解它们如何交互。 v本章完本章完

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号