




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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建模实用教程,清华建模实用教程,清华大学出版社大学出版社v http:/ 建筑工程建筑工程交流手段为什么要进行建模为什么要进行建模v任何大规模的系统设计都是相当的困难的。从简任何大规模的系统设计都是相当的困难的。从简单的单机桌面程序设计到多层的企业级系统,任单的单机桌面程序设计到多层的企业级系统,任何系统都可以分解为多个软件和硬件何系统都可以分解为多个软件和硬件v面对如此庞大复杂的结构将会出现几个问题:我面对如此庞大复杂的结构将会出现几个问题:我们如何与客户沟通,了解客户对系统的需
3、求?如们如何与客户沟通,了解客户对系统的需求?如何在开发人员之间共享设计,以确保各个部分能何在开发人员之间共享设计,以确保各个部分能够无缝地协作?够无缝地协作?v在开发复杂的系统时,如果缺乏相应的帮助工具,在开发复杂的系统时,如果缺乏相应的帮助工具,则很容易曲解或遗忘许多细节。则很容易曲解或遗忘许多细节。建模的重要性建模的重要性v建模的使用是软件成功的一个基本因素。建模的使用是软件成功的一个基本因素。v模型的实质:对现实的简化。模型的实质:对现实的简化。 v建模的目标建模的目标 :便于展现系统。便于展现系统。允许指定系统的结构或行为。允许指定系统的结构或行为。提供构造系统的模板。提供构造系统的
4、模板。记录决策。记录决策。 建模的误区建模的误区v建模就是写文档建模就是写文档v一开始就能考虑到一切情况一开始就能考虑到一切情况v必须必须“冻结冻结”需求需求v设计不可更改设计不可更改v必须使用必须使用CASECASE工具工具v建模是在浪费时间建模是在浪费时间v所有的开发人员都知道如何建模所有的开发人员都知道如何建模 11第第1 1章章 UMLUML与面向对象与面向对象vUMLUML(统一建模语言,(统一建模语言,Unified Modeling LanguageUnified Modeling Language)是软)是软件和系统开发的标准建模语言,它主要以图形的方式对系统件和系统开发的标准
5、建模语言,它主要以图形的方式对系统进行分析、设计。进行分析、设计。v面向对象的软件开发方法是现在软件工程流域的主流方法。面向对象的软件开发方法是现在软件工程流域的主流方法。vUMLUML是在多种面向对象分析与设计方法相互融合的基础上形是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。成的,是一种专用于系统建模的语言。12本章学习要点本章学习要点v 理解面向对象概念理解面向对象概念v 了解了解OOOO开发开发v 熟悉熟悉OOOO开发的优点开发的优点v 掌握掌握OOOO开发三层设计开发三层设计v 了解模型的作用了解模型的作用v 了解面向对象的主要概念了解面向对象的主
6、要概念v 了解了解UMLUML的发展的发展v 掌握掌握UMLUML四层结构四层结构v 了解统一的含义了解统一的含义v 理解理解UMLUML视图和图的关系视图和图的关系v 掌握掌握UMLUML模型元素内容模型元素内容v 理解理解UMLUML通用机制通用机制v 了解了解UMLUML建模在软件开发中应用建模在软件开发中应用13v 面向对象面向对象(Objec-Oriented(Objec-Oriented,OO)OO)不仅是一些具体的软件不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,用什么观点来研究问题并进行求解
7、,与现实世界的关系,用什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。以及如何进行系统构造的软件方法学。v 面向对象方法的基本思想包括两个主要方面。面向对象方法的基本思想包括两个主要方面。 一方面是从现实世界中客观存在的事务出发来构造软一方面是从现实世界中客观存在的事务出发来构造软件系统,并在系统的构造中尽可能地运用人类的自然件系统,并在系统的构造中尽可能地运用人类的自然思维方式。思维方式。 另一方面是面向对象方法比以往的方法更接近人类的另一方面是面向对象方法比以往的方法更接近人类的自然思维方式。自然思维方式。1.1 1.1 面向对象开发面向对象开发软件工程的发展历史软件工程的
8、发展历史v19461946年,世界上第一台电子计算机在美国研制年,世界上第一台电子计算机在美国研制成功。成功。v5050年代,软件诞生,这时的软件开发主要指编年代,软件诞生,这时的软件开发主要指编程。程。 v6060年代中期到年代中期到7070年代中期,年代中期,“软件危机软件危机” ” 出出现。现。v19681968年,年,“软件工程软件工程” ” 概念提出。概念提出。传统软件工程的生命周期传统软件工程的生命周期v软件开发分为五个阶段:软件开发分为五个阶段: 需求分析阶段需求分析阶段 总体设计阶段总体设计阶段 详细设计阶段详细设计阶段 编程和测试阶段编程和测试阶段 维护阶段维护阶段 面向对象
9、的软件工程方法面向对象的软件工程方法v19671967年,第一种面向对象语言年,第一种面向对象语言Simula-67Simula-67诞生;诞生;v2020世纪世纪8080年代年代SmalltalkSmalltalk语言掀起了一场语言掀起了一场“面面向对象向对象”运动;运动;v面向对象语言越来越多,应用越来越广泛;面向对象语言越来越多,应用越来越广泛;v面向对象技术在软件工程领域得到应用,主要面向对象技术在软件工程领域得到应用,主要包括:包括: 面向对象的分析面向对象的分析OOAOOA 面向对象的设计面向对象的设计OODOOD 面向对象的编程面向对象的编程OOPOOP传统方法与面向对象方法的比
10、较传统方法与面向对象方法的比较v数据处理方法不同数据处理方法不同 图图1-11-1v建模手段不同建模手段不同v软件开发方法不同软件开发方法不同 图图1-21-21.1.2 1.1.2 面向对象的基本概念面向对象的基本概念v面向对象技术的基本观点面向对象技术的基本观点: : 客观世界由对象组成,任何客观实体都是对客观世界由对象组成,任何客观实体都是对象,复杂对象可以由简单对象组成。象,复杂对象可以由简单对象组成。 具有相同数据和操作的对象可归纳成类,对具有相同数据和操作的对象可归纳成类,对象是类的一个实例。象是类的一个实例。 类可以派生出子类,子类除了继承父类的全类可以派生出子类,子类除了继承父
11、类的全部特性外还可以有自己的特性。部特性外还可以有自己的特性。 对象之间的联系通过消息传递来维系。对象之间的联系通过消息传递来维系。一个对象的实例图解一个对象的实例图解 v对象对象v类类v封装封装v继承继承v消息消息v多态性多态性v关联关联v聚合聚合201.1.2 1.1.2 面向对象的基本概念面向对象的基本概念1.1.3 OO开发的优点v 1.1.自然性自然性 在开发中总是以对象的形式来认识世界,因此当在开发中总是以对象的形式来认识世界,因此当人们分析和设计系统需求时,总是很自然地定义人们分析和设计系统需求时,总是很自然地定义各类对象。各类对象。v 2.2.重用性重用性 一次创建的类和对象能
12、多次使用。一次创建的类和对象能多次使用。211.2 OO开发中三层设计v 面向对象的开发中,通常把面向对象的开发中,通常把OOOO系统中相互联系的所有对系统中相互联系的所有对象分成三类:问题域类、象分成三类:问题域类、GUIGUI类和数据访问类。类和数据访问类。v 问题域类是指和用户相关的对象类;问题域类是指和用户相关的对象类;v GUIGUI类的作用是方便用户与问题类进行交互;类的作用是方便用户与问题类进行交互;v 数据访问类,实现问题域类和数据库交互。数据访问类,实现问题域类和数据库交互。v 在实现系统时按照先确定问题域类,然后实现在实现系统时按照先确定问题域类,然后实现GUIGUI类,最
13、类,最后再确定数据访问类的顺序逐步实现。一旦完成所有的后再确定数据访问类的顺序逐步实现。一旦完成所有的内容后,它们就可以作为一个完整的系统进行工作了。内容后,它们就可以作为一个完整的系统进行工作了。v 优点:降低耦合,提高复用。优点:降低耦合,提高复用。221.2 OO开发中三层设计图图1-3 1-3 图书管理系统的三层结构图书管理系统的三层结构1.3 UML简介v 统一建模语言(统一建模语言(UMLUML)仅仅是一种语言。它不)仅仅是一种语言。它不是一种系统设计的方法,而是系统建模的标准。是一种系统设计的方法,而是系统建模的标准。UMLUML经历了多年的研究、发展并不断完善,成经历了多年的研
14、究、发展并不断完善,成为现在诸多领域内建模的首选标准。开发人员为现在诸多领域内建模的首选标准。开发人员主要使用主要使用UMLUML来构造各种模型,以便描述系统来构造各种模型,以便描述系统需求和设计。需求和设计。241.3.1 为什么对系统建模v在系统设计中采用模型化设计的重要原因在系统设计中采用模型化设计的重要原因之一是管理系统设计的复杂性。模型化可之一是管理系统设计的复杂性。模型化可以帮助用户从高层理解系统,使用户专注以帮助用户从高层理解系统,使用户专注于系统设计的重要部分,收集关键信息,于系统设计的重要部分,收集关键信息,而不需要关心一些无关紧要的部分。而不需要关心一些无关紧要的部分。25
15、1.3.2 UML的发展1.3.3 UML的构成vUMLUML的四层体系结构的四层体系结构 元元模型层元元模型层 元模型层元模型层 模型层模型层 用户模型层用户模型层271.3.3 UML的构成vUMLUML的核心构成的核心构成 视图视图: :表达系统的某一个方面特征的表达系统的某一个方面特征的UMLUML建模建模元素的子集;元素的子集; 图:对建模系统的抽象表示,用于描述视图图:对建模系统的抽象表示,用于描述视图内容;内容; 模型元素:包括事物和事物之间的联系;模型元素:包括事物和事物之间的联系; 通用机制:为模型元素提供额外信息。通用机制:为模型元素提供额外信息。28部署图部署视图1.3.
16、4 “统一”的意义v UMLUML的含义为统一建模语言,那么的含义为统一建模语言,那么“统一统一”在在UMLUML中的含中的含义具有一些相关联的含义,具体表现在以下几个方面:义具有一些相关联的含义,具体表现在以下几个方面: 在以往出现的方法和表示法方面在以往出现的方法和表示法方面 在软件开发的生命期方面在软件开发的生命期方面 在应用领域方面在应用领域方面 在实现的编程语言和开发平台方面在实现的编程语言和开发平台方面 在开发过程方面在开发过程方面 在内部概念方面在内部概念方面301.4 UML视图v 在对复杂的工程进行建模时,系统可由一个单一的图形在对复杂的工程进行建模时,系统可由一个单一的图形
17、来描述,该图形精确地定义了整个系统。但是,单一的来描述,该图形精确地定义了整个系统。但是,单一的图形不可能包含系统所需的所有信息,更不可能描述系图形不可能包含系统所需的所有信息,更不可能描述系统的整体结构功能。统的整体结构功能。v UMLUML中使用视图来划分系统各个方面,每一种视图描述中使用视图来划分系统各个方面,每一种视图描述系统某一个方面的特性。一个完整的系统由不同的视图系统某一个方面的特性。一个完整的系统由不同的视图从不同的角度共同描述,这样系统才可能被精确定义。从不同的角度共同描述,这样系统才可能被精确定义。v UMLUML中具有多种视图,细分起来共有五种:用例视图、中具有多种视图,
18、细分起来共有五种:用例视图、逻辑视图、并发视图、组件视图和部署视图。逻辑视图、并发视图、组件视图和部署视图。31 构成系统模型的几种视图构成系统模型的几种视图 组件视图1.1. 用例视图用例视图 v用途:描述系统应该具备的功能,即被称为参用途:描述系统应该具备的功能,即被称为参与者的外部用户所能观察到的功能。与者的外部用户所能观察到的功能。 v用例视图是几个视图的核心,它的内容直接驱用例视图是几个视图的核心,它的内容直接驱动其他视图的开发。动其他视图的开发。2. 2. 逻辑视图逻辑视图 v用途:描述用例视图中提出的系统功能的实现。用途:描述用例视图中提出的系统功能的实现。 v逻辑视图既描述系统
19、的静态结构,也描述系统逻辑视图既描述系统的静态结构,也描述系统内部的动态协作关系。内部的动态协作关系。v使用者:主要是设计人员和开发人员。使用者:主要是设计人员和开发人员。 v组成:静态结构在类图和对象图中进行描述;组成:静态结构在类图和对象图中进行描述;动态模型在状态图、时序图、协作图以及活动动态模型在状态图、时序图、协作图以及活动图中进行描述。图中进行描述。3. 3. 并发视图并发视图v用途:考虑资源的有效利用、代码的并行执行用途:考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。以及系统环境中异步事件的处理。v使用者:主要是开发人员和系统集成人员。使用者:主要是开发人员和系
20、统集成人员。 v组成:状态图、协作图和活动图。组成:状态图、协作图和活动图。4. 4. 组件视图组件视图v用途:描述系统的实现模块以及它们之间的依用途:描述系统的实现模块以及它们之间的依赖关系。赖关系。 v组成:组件图。组成:组件图。 v使用者:主要是开发人员。使用者:主要是开发人员。 5. 5. 部署视图部署视图v用途:显示系统的物理部署,并描述位于节点用途:显示系统的物理部署,并描述位于节点实例上的运行组件实例的部署情况,还允许评实例上的运行组件实例的部署情况,还允许评估分配结果和资源分配。估分配结果和资源分配。 v组成:部署图。组成:部署图。v使用者:开发人员、系统集成人员和测试人员。使
21、用者:开发人员、系统集成人员和测试人员。 1.5 UML图v 每一种每一种UMLUML的视图都是由一个或多个图组成的,一个的视图都是由一个或多个图组成的,一个图就是系统架构在某个侧面的表示,所有的图一起图就是系统架构在某个侧面的表示,所有的图一起组成了系统的完整视图。组成了系统的完整视图。UML1.xUML1.x提供了九种不同的提供了九种不同的图,可以分为两大类:一类是静态图,包括用例图、图,可以分为两大类:一类是静态图,包括用例图、类图、对象图、组件图和部署图;另一类是动态图,类图、对象图、组件图和部署图;另一类是动态图,包括序列图、协作图、状态图和活动图。包括序列图、协作图、状态图和活动图
22、。38UML1.XUML1.X与与2.02.0的比较的比较v对对UML1.XUML1.X进行了一些扩充。进行了一些扩充。v用更为受限的通信图代替了协作图。用更为受限的通信图代替了协作图。 v增加了交互概览图、定时图、组合结构图等新增加了交互概览图、定时图、组合结构图等新图。图。1.6 模型元素v UMLUML中每一个模型元素都有一个与之相对应的中每一个模型元素都有一个与之相对应的图形元素。模型元素的图形是表示使图形元素。模型元素的图形是表示使UMLUML的模的模型图形化,图形语言简明和直观使用其成为人型图形化,图形语言简明和直观使用其成为人们建模的有力工具。模型元素包括事物和事物们建模的有力工
23、具。模型元素包括事物和事物之间的关系,是之间的关系,是UMLUML中重要的组成部分。中重要的组成部分。401.6.1 事物v 事物是事物是UMLUML模型中面向对象基本的模块,它们在模型中模型中面向对象基本的模块,它们在模型中属于静态部分,代表物理上或概念上的元素。属于静态部分,代表物理上或概念上的元素。UMLUML中的中的事物可分为四种,分别是事物可分为四种,分别是 结构事物结构事物 动作事物动作事物 分组事物分组事物 注释事物注释事物411. 1. 结构事物结构事物 vUMLUML模型中最基本的结构化事物,包括:模型中最基本的结构化事物,包括: 类类 接口接口 协作协作 用例用例 活动类活
24、动类 组件组件 节点节点 (1 1)类)类v 对具有相同属性、对具有相同属性、方法、关系和语义方法、关系和语义的对象的抽象。的对象的抽象。 (2 2)接口)接口v 为类或组件提供特定服务的一组操作的集合。为类或组件提供特定服务的一组操作的集合。 v 描述了类或组件的对外可见的动作。描述了类或组件的对外可见的动作。 (3 3)协作)协作 v定义了交互操作,一个给定的类可能是几个协定义了交互操作,一个给定的类可能是几个协作的组成部分。作的组成部分。 v代表构成系统的模式的实现。代表构成系统的模式的实现。(4 4)用例)用例 v描述系统对一个特定角色执行的一系列动作。描述系统对一个特定角色执行的一系
25、列动作。 v组织动作事物。组织动作事物。 (5 5)活动类)活动类 v类对象有一个或多个进程或线程的类。类对象有一个或多个进程或线程的类。 (6 6)组件)组件v实现了一个接口集合的物理上可替换的系统部实现了一个接口集合的物理上可替换的系统部分。分。 (7 7)节点)节点 v在运行时存在的一个物理元素。在运行时存在的一个物理元素。v代表一个可计算的资源。代表一个可计算的资源。v通常占用一些内存和具有处理能力。通常占用一些内存和具有处理能力。 2. 2. 动作事物动作事物 vUMLUML模型中的动态部分,包括:模型中的动态部分,包括: 交互交互 状态机状态机(1 1)交互)交互v一组对象在特定上
26、下文中,为达到某种特定的一组对象在特定上下文中,为达到某种特定的目的而进行的一系列消息交换组成的动作。目的而进行的一系列消息交换组成的动作。 (2 2)状态机)状态机v由一系列对象的状态组成。由一系列对象的状态组成。 3. 3. 分组事物分组事物 vUMLUML模型中组织的部分。模型中组织的部分。v分组事物只有一种:包。分组事物只有一种:包。v包是一种将有组织的元素分组的机制。包是一种将有组织的元素分组的机制。v包只存在于开发阶段。包只存在于开发阶段。 4. 4. 注释事物注释事物 vUMLUML模型的解释部分。模型的解释部分。1.6.2 1.6.2 关系关系 关联关联依赖依赖泛化泛化实现实现
27、聚合聚合BicyclePumpTeacherCourse1.7 通用机制v 通用机制使得通用机制使得UMLUML更简单和易于使用更简单和易于使用v 通用机制可以为模型元素添加注释、信息或语通用机制可以为模型元素添加注释、信息或语义,还可以对义,还可以对UMLUML进行扩展。进行扩展。v 通用机制中包括了修饰、注释、规格说明和扩通用机制中包括了修饰、注释、规格说明和扩展机制等四种。展机制等四种。561.修饰v 修饰(修饰(AdornmentAdornment)为图中的模型元素增加了语义,)为图中的模型元素增加了语义,建模时可以将图形修饰附加到建模时可以将图形修饰附加到UMLUML图中的模型元素图
28、中的模型元素上。上。v 例如,当一个元素代表某种类型时,名称显示为粗例如,当一个元素代表某种类型时,名称显示为粗体;当同一元素表示该类型的实例时,该元素名称体;当同一元素表示该类型的实例时,该元素名称显示为下划线修饰。显示为下划线修饰。572 2 注释注释v 以自由的文本形式出现的。以自由的文本形式出现的。v 信息类型是不被信息类型是不被UMLUML解释的一个字符串。解释的一个字符串。 v 示例:示例:3 3 规格说明规格说明 vUML UML 中预定义的特性:中预定义的特性: 文档(文档(DocumentationDocumentation) 职责(职责(ResponsibilityResp
29、onsibility) 永久性(永久性(PersistencePersistence) 并发性(并发性(ConcurrencyConcurrency) 4 4 扩展机制扩展机制 构造型构造型 标记值标记值 约束约束 (1 1)构造型)构造型v 由建模者设计的新的模型元素。由建模者设计的新的模型元素。v 新的模型元素的设计要以新的模型元素的设计要以UMLUML已定义的模型元素为基础。已定义的模型元素为基础。 v 示例:示例:(2 2)标记值)标记值v 附加到任何模型元素上的命名的信息块。附加到任何模型元素上的命名的信息块。v 示例:示例:(3 3)约束)约束v 用某种形式化语言或自然语言表达的语义关系的文字用某种形式化语言或自然语言表达的语义关系的文字说明。说明。 v 示例:示例:1.8 使用UML建模v UMLUML可用于任何面向对象系统开发建模,不仅可以为使可用于任何面向对象系统开发建模,不仅可以为使用用UMLUML进行软件建模,同样可以使用进行软件建模,同样可以使用UMLUML
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 移动通信技术在智慧社区服务的综合应用考核试卷
- 残值及回购合同范本
- 礼仪用品行业品牌法律风险防控考核试卷
- 种子批发商品牌形象塑造与传播考核试卷
- 广播影视设备网络营销咨询批发考核试卷
- 渔业机械制造企业的服务化转型考核试卷
- 【部编版】四年级语文下册第五单元《交流平台 初试身手》精美课件
- 会展现场应急管理与救援考核试卷
- 罐头食品生产流程优化考核试卷
- 食道癌护理小讲课
- 内蒙古鄂尔多斯市2020年中考英语试题(解析版)
- Vue.js前端开发实战(第2版) 课件 第2章 Vue.js开发基础
- 异面直线 高一下学期数学湘教版(2019)必修第二册
- 笔墨时空-解读中国书法文化基因智慧树知到期末考试答案2024年
- 计算机网络故障的诊断与解决方法
- GLB-2防孤岛保护装置试验报告
- 的沟通技巧评估表
- 职场人健康状况调查报告
- 卵巢囊肿诊治中国专家共识解读
- 两癌筛查的知识讲座
- 仪器共享平台方案
评论
0/150
提交评论