第01章UML与面向对象_第1页
第01章UML与面向对象_第2页
第01章UML与面向对象_第3页
第01章UML与面向对象_第4页
第01章UML与面向对象_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 主讲:王定成v联系方式: 手机E-mail: 总学时数: 共34学时(2学分) 其中: v讲课24学时v实验10学时(5次)v实验时间安排:上课:表现、考勤上课:表现、考勤上机:表现、考勤上机:表现、考勤作业和实验报告:质量、次数作业和实验报告:质量、次数期末:课程论文期末:课程论文v教材: 李虎、赵龙刚译,UML基础、案例与应用人民邮电出版社,2004.8。v主要参考书: 邱仲潘等译(wendy著),UML with Rational Rose从入门到精通,电子工业出版社,2000年。 (美)刘润东,UML对象设计与编程 ,北京希望电子出版社 ,2001。vRat

2、ional Rosev其他: 1、Visio 2、Visual UML 3、TogethervUML Distilled Martin Fowler UML最佳入门书籍最佳入门书籍几本有影响的参考书:几本有影响的参考书:vMartin Fowler: “统一建模语言(统一建模语言(UML)的发明者)的发明者Grady Booch本人,都本人,都不一定比不一定比Martin Fowler更会用更会用UML” 官方文献和经典著作:官方文献和经典著作:v一方面是严谨、准确,但又高度抽象化甚至形式化;一方面是严谨、准确,但又高度抽象化甚至形式化;v另一方面则是生动、直观,不求面面俱到,但能让人很另一方

3、面则是生动、直观,不求面面俱到,但能让人很快就对概念大厦的全貌一目了然快就对概念大厦的全貌一目了然 从从1986年在故乡英国拿到电子工程学位,先后参与开发建模年在故乡英国拿到电子工程学位,先后参与开发建模软件软件Ptech,成为独立开发顾问,参与国家保健服务系统的,成为独立开发顾问,参与国家保健服务系统的开发,再移居美国,加入著名的克莱斯勒开发,再移居美国,加入著名的克莱斯勒C3项目,到成为软项目,到成为软件顾问公司件顾问公司ThoughtWorks的首席科学家。的首席科学家。 - An Introduction to Object-Oriented Analysis and Design U

4、ML和模式应用和模式应用-面向对象分析与设计导论面向对象分析与设计导论 THE BEST Object Orientated Analysis and Design tutorial book (A) 在在 OOA/D、迭代式开发和、迭代式开发和 UML 方面是全球方面是全球最畅销的书籍之一,已被翻译成多种语言并最畅销的书籍之一,已被翻译成多种语言并在业界和院校中被广泛使用在业界和院校中被广泛使用 介绍各种介绍各种UML软件模型,加深对面向对象分软件模型,加深对面向对象分析与设计的理解析与设计的理解 结合结合Java语言,灵活使用语言,灵活使用UML 通过一个案例(考勤卡系统),贯穿全书:通过

5、一个案例(考勤卡系统),贯穿全书:v从用户需求到最终实现从用户需求到最终实现v从各种从各种UML图表到完成最后图表到完成最后Java代码代码vWeb Resources http:/ /uml/ / http:/ http:/ http:/ http:/ http:/1112v 面向对象面向对象(Objec-Oriented,OO)不仅是一些具体的软不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系,用什么观点来研究问题并进行求解,以

6、及现实世界的关系,用什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。如何进行系统构造的软件方法学。v 概括地说,面向对象方法的基本思想包括两个主要方面。概括地说,面向对象方法的基本思想包括两个主要方面。一方面是从现实世界中客观存在的事务出发来构造软件系统,一方面是从现实世界中客观存在的事务出发来构造软件系统,另一方面在系统的构造中尽可能地运用人类的自然思维方式。另一方面在系统的构造中尽可能地运用人类的自然思维方式。1对象对象:v 对象对象(Object)从一般意义上来讲,它是现实世从一般意义上来讲,它是现实世界中一个实际存在的事物,它可以是看得见摸界中一个实际存在的事物,它可以

7、是看得见摸得着的东西,如汽车;也可以是日常生活中一得着的东西,如汽车;也可以是日常生活中一个抽象的概念,如课程。个抽象的概念,如课程。v对象具有自己的状态特性和动作。对象具有自己的状态特性和动作。13v面向对象的方法最初用于计算机模拟和图形面向对象的方法最初用于计算机模拟和图形用户界面,但更常用在信息系统开发上,究用户界面,但更常用在信息系统开发上,究其原因是其原因是OO开发具有的优点。其优点主要开发具有的优点。其优点主要体现在两方面:自然性和重用性。体现在两方面:自然性和重用性。14 面向对象的开发中,通常把面向对象的开发中,通常把OO系统中相互联系的所有系统中相互联系的所有对象分成三类:问

8、题域类、对象分成三类:问题域类、GUI类和数据访问类,这就要类和数据访问类,这就要求开发人员在设计和建造系统时分清这三类。求开发人员在设计和建造系统时分清这三类。15 统一建模语言(统一建模语言(UML)仅仅是一种语言)仅仅是一种语言,不是一种系统设计的方法,而是系统建模的不是一种系统设计的方法,而是系统建模的标准。标准。UML经历了多年的研究、发展并不断经历了多年的研究、发展并不断完善,成为现在诸多领域内建模的首选标准。完善,成为现在诸多领域内建模的首选标准。开发人员主要使用开发人员主要使用UML来构造各种模型,以来构造各种模型,以便描述系统需求和设计。便描述系统需求和设计。16v问题:开发

9、人员如何与用户进行沟通以了解系统问题:开发人员如何与用户进行沟通以了解系统的需求?开发人员之间如何沟通以确定各个部分的需求?开发人员之间如何沟通以确定各个部分能够无缝地协作?这就是为什么需要为系统建模。能够无缝地协作?这就是为什么需要为系统建模。v 在系统设计中采用模型化设计的重要原因之一在系统设计中采用模型化设计的重要原因之一是管理系统设计的复杂性。模型化可以帮助用户是管理系统设计的复杂性。模型化可以帮助用户从高层理解系统,使用户专注于系统设计的重要从高层理解系统,使用户专注于系统设计的重要部分,收集关键信息,而不需要关心一些无关重部分,收集关键信息,而不需要关心一些无关重要的部分。要的部分

10、。17v在在20世纪世纪80年代,尝试不同方法进行面向对象的分析与设计。其年代,尝试不同方法进行面向对象的分析与设计。其中有少数方法开始在一起关键项目中发挥作用,包括中有少数方法开始在一起关键项目中发挥作用,包括Booch方法、方法、OMT方法、方法、RDD方法、方法、OBA方法和方法和Objectory方法。方法。v20世纪世纪90年代中期,出现了第二代面向对象方法,包括年代中期,出现了第二代面向对象方法,包括Booch94、OMT等。面向对象方法已经成为软件分析和设计方法的主流,这等。面向对象方法已经成为软件分析和设计方法的主流,这些方法所做的最重要的尝试是在程序设计与计算机科学之间寻求些

11、方法所做的最重要的尝试是在程序设计与计算机科学之间寻求合理平衡,来进行复杂软件的开发。合理平衡,来进行复杂软件的开发。vUML是是Grady Booch、James Rumbaugh和和Ivar Jacobson智慧智慧的结晶。他们被人们称为的结晶。他们被人们称为“三个好朋友三个好朋友”。18v三人曾分别创立自己的建模语言,在三人曾分别创立自己的建模语言,在1995年前后,决定停止年前后,决定停止竞争,取三种建模语言的精华,将之融为一体,为软件开发竞争,取三种建模语言的精华,将之融为一体,为软件开发师、架构师和分析师提供一个更方便的工具。他们还加盟到师、架构师和分析师提供一个更方便的工具。他们

12、还加盟到Rational Software Corporation(Rational)公司。这家公司公司。这家公司开发工具和软件,以支持基于统一建模语言的软件设计。开发工具和软件,以支持基于统一建模语言的软件设计。v许多公司感到许多公司感到UML能够适应公司的战略目标,因此成立了一能够适应公司的战略目标,因此成立了一个个UML联盟。联盟的成员包括联盟。联盟的成员包括DEC、Hewlett-Packard、Intellicorp、Microsoft、OracIe、Rational和其他和其他些公司。些公司。 1997年,应年,应“对象管理组织对象管理组织”(OMG) (Object Manage

13、ment Group )向外界征求标准建模语言的建议,联)向外界征求标准建模语言的建议,联盟制订了盟制订了UML 1.0版并提交给版并提交给OMG。vUML成为软件工业界事实上的标准,并且仍在不断发展。成为软件工业界事实上的标准,并且仍在不断发展。OMG正式批准正式批准UML 2.0版(版(2009.6)。)。 UML包括了一些可以相互组合图表的图形元素。包括了一些可以相互组合图表的图形元素。由于由于UML是一种语言,所以是一种语言,所以UML具有组合这些元素的具有组合这些元素的语法规则。语法规则。 UML提供这些图的目的是用多个视图来展示一个提供这些图的目的是用多个视图来展示一个系统,这组视

14、图被称为一个模型系统,这组视图被称为一个模型(model)。一个系统的一个系统的UML模型有点像一个建筑物按照比例缩小模型有点像一个建筑物按照比例缩小并经艺术家粉饰后的建筑模型。并经艺术家粉饰后的建筑模型。在这里要注意的重要一点在这里要注意的重要一点是一个是一个UML模型只描述了一模型只描述了一个系统要做什么,它并没告诉我们系统是如何被实施个系统要做什么,它并没告诉我们系统是如何被实施的的。 在科学和工程技术领域中模型是一个很有用途的概念。在科学和工程技术领域中模型是一个很有用途的概念。在最通常的意义下,当你建立了一个模型后,你其实就在运用你在最通常的意义下,当你建立了一个模型后,你其实就在运

15、用你已经了解的很多知识来帮助你理解暂时还不知道的很多东西。已经了解的很多知识来帮助你理解暂时还不知道的很多东西。在某些领域中,一个模型可能是一组数学方程式;而在另一些领在某些领域中,一个模型可能是一组数学方程式;而在另一些领域中,一个模型可能是计算机仿真程序。域中,一个模型可能是计算机仿真程序。模型可能有许多种类型。模型可能有许多种类型。就我们的目的而言,一个模型是一组就我们的目的而言,一个模型是一组UML图,为了理解和开发一图,为了理解和开发一个系统,我们可以检查、获取和修改这些图。个系统,我们可以检查、获取和修改这些图。Use CaseDiagramsUse CaseDiagrams用例图

16、ScenarioDiagramsScenarioDiagrams协作图StateDiagramsStateDiagrams构件图ComponentDiagramsComponentDiagrams部署图StateDiagramsStateDiagrams对象图ScenarioDiagramsScenarioDiagrams状态图Use CaseDiagramsUse CaseDiagrams时序图StateDiagramsStateDiagrams类图活动图模型 UML的含义为统一建模语言,的含义为统一建模语言,“统一统一”在在UML中的含义:中的含义:v在以往出现的方法和表示法方面在以往出现

17、的方法和表示法方面 UML合并了许多面向对象合并了许多面向对象方法中被普遍接受的概念,对每一种概念方法中被普遍接受的概念,对每一种概念UML都给出了清晰都给出了清晰的定义、表示法和有关术语。使用的定义、表示法和有关术语。使用UML可以对已有的各种方可以对已有的各种方法建立的模型进行描述,并比原来的方法描述得更好。法建立的模型进行描述,并比原来的方法描述得更好。v在软件开发的生命期方面在软件开发的生命期方面 UML对于开发的要求具有无缝性,对于开发的要求具有无缝性,开发过程中的不同阶段可以采用相同的一套概念和表示法,开发过程中的不同阶段可以采用相同的一套概念和表示法,在同一个模型中它们可以混合使

18、用,而不必去转换概念和表在同一个模型中它们可以混合使用,而不必去转换概念和表示法。这种无缝性对迭代的增量式软件开发至关重要。示法。这种无缝性对迭代的增量式软件开发至关重要。24 UML可用于任何面向对象系统开发建模,不仅可以为可用于任何面向对象系统开发建模,不仅可以为使用使用UML进行软件建模,同样可以使用进行软件建模,同样可以使用UML对其他非计算对其他非计算机领域系统进行建模,机领域系统进行建模,UML常进行以下应用:常进行以下应用:v信息系统(信息系统(Information System):向用户提供信息的存):向用户提供信息的存储、检索和提交,处理存放在关系或对象数据库中大量具储、检

19、索和提交,处理存放在关系或对象数据库中大量具有复杂关系的数据。有复杂关系的数据。v技术系统(技术系统(Technical System) 处理和控制技术设备,处理和控制技术设备,如电信设备、军事系统或工业过程。如电信设备、军事系统或工业过程。v嵌入式系统(嵌入式系统(Embedded Real-Time System) 它以软它以软件的形式来嵌入到硬件设备中从而来控制硬件设备的运行,件的形式来嵌入到硬件设备中从而来控制硬件设备的运行,通常在手机、家电或汽车等设备上的系统。通常在手机、家电或汽车等设备上的系统。25vA. 这里面有什么东东?这里面有什么东东? 月老,小伙,姑娘,恋人,玫瑰花月老,

20、小伙,姑娘,恋人,玫瑰花vB. 每个东东看上去是什么样的?每个东东看上去是什么样的? 月老,看上去有些年纪了,挺热心的月老,看上去有些年纪了,挺热心的 小伙,看上去很强壮,很诚实的小伙,看上去很强壮,很诚实的 姑娘,看上去好漂亮,还很温柔姑娘,看上去好漂亮,还很温柔 恋人,看上去很黏糊,当然就结婚了恋人,看上去很黏糊,当然就结婚了 玫瑰花,火红火红的,难怪姑娘动情了玫瑰花,火红火红的,难怪姑娘动情了vC. 每个东东能做点什么?每个东东能做点什么? 月老:牵线搭桥,介绍认识月老:牵线搭桥,介绍认识 小伙:追求献花,表达爱意小伙:追求献花,表达爱意 姑娘:仰慕倾情,以身相许姑娘:仰慕倾情,以身相许

21、 恋人:拍拖,恋人:拍拖,结婚,结婚 玫瑰花:令姑娘头晕,传情示爱玫瑰花:令姑娘头晕,传情示爱vD. 这些东东都呆在什么地方?这些东东都呆在什么地方? 月老:婚介所,交友网站月老:婚介所,交友网站 小伙:软件园,住盘城小伙:软件园,住盘城 姑娘:鼓楼医院,住新街口姑娘:鼓楼医院,住新街口 恋人:情侣路,电影院,恋人:情侣路,电影院, 玫瑰花:花店里,小伙手中,姑娘手中玫瑰花:花店里,小伙手中,姑娘手中vE. 这些东东之间有什么关系?这些东东之间有什么关系?关系关系月老月老小伙小伙姑娘姑娘恋人恋人玫瑰玫瑰月老月老干妈干妈舅妈舅妈撮合者撮合者没关系没关系小伙小伙干儿子干儿子男友老公男友老公男主角男

22、主角买主买主姑娘姑娘外甥女外甥女女友太太女友太太女主角女主角受主受主恋人恋人作品作品组合组合组合组合使用者使用者玫瑰玫瑰没关系没关系信物信物受物心意受物心意 信物信物vF. 这些东东是怎么成事的?这些东东是怎么成事的? 月老牵线搭桥,介绍小伙和姑娘认识月老牵线搭桥,介绍小伙和姑娘认识 姑娘和小伙一见钟情,成为一对恋人姑娘和小伙一见钟情,成为一对恋人 一对恋人开始拍拖一对恋人开始拍拖 小伙追求献花,表达对姑娘的爱意小伙追求献花,表达对姑娘的爱意 姑娘收到姑娘收到999火红玫瑰,激动得头晕目眩火红玫瑰,激动得头晕目眩 小伙真心求婚,姑娘以身相许小伙真心求婚,姑娘以身相许 一对恋人终于走入婚姻殿堂一

23、对恋人终于走入婚姻殿堂vA.这里面有什么东东?这里面有什么东东?类与对象类与对象vB.每个东东看上去是什么样的?每个东东看上去是什么样的?类的属性类的属性vC.每个东东能做点什么?每个东东能做点什么?类的方法类的方法vD.这些东东都呆在什么地方?这些东东都呆在什么地方?类的行为、状态、部署类的行为、状态、部署vE.这些东东之间有什么关系?这些东东之间有什么关系?类间的关联类间的关联vF.这些东东是怎么成事的?这些东东是怎么成事的?类间的交互类间的交互vA.这里面有什么东东?这里面有什么东东?vObject Class 我我 本剧与我无关本剧与我无关 我的朋友我的朋友 小伙小伙 我朋友的妻子我朋

24、友的妻子 姑娘姑娘 月老月老 恋人恋人 玫瑰玫瑰 vB.每个东东看上去是什么样的?每个东东看上去是什么样的? 每个事物看上去都有自己的属性,在每个事物看上去都有自己的属性,在每个属性上都有一个特征值每个属性上都有一个特征值v小伙:体格,特征值:强壮小伙:体格,特征值:强壮v姑娘:性情,特征值:温柔姑娘:性情,特征值:温柔v月老:年纪,特征值:较大月老:年纪,特征值:较大v恋人:关系,特征值:黏糊恋人:关系,特征值:黏糊v玫瑰花:颜色,特征值:火红玫瑰花:颜色,特征值:火红vC.每个东东能做点什么?每个东东能做点什么? 每个事物都具备某种能力每个事物都具备某种能力v小伙:追求、送花、娶亲小伙:追

25、求、送花、娶亲v姑娘:爱慕、相许、出嫁姑娘:爱慕、相许、出嫁v月老:牵线搭桥月老:牵线搭桥v玫瑰:示爱玫瑰:示爱vD.这些东东都呆在什么地方?这些东东都呆在什么地方? 每个事物都会有它合理的或者必须每个事物都会有它合理的或者必须的空间位置和逻辑位置。尤其当这的空间位置和逻辑位置。尤其当这些位置对事物的行为造成重要影响些位置对事物的行为造成重要影响的时候,表明他们的位置极其重要。的时候,表明他们的位置极其重要。 本剧列出的位置对故事主要情节没本剧列出的位置对故事主要情节没有太大的影响,系统中不予考虑。有太大的影响,系统中不予考虑。vE.这些东东之间有什么关系?这些东东之间有什么关系? 事物之间的

26、关系非常多,面向对象事物之间的关系非常多,面向对象的观点的观点一般分为主要的三类:一般分为主要的三类:v整体整体-部分关系(组成和聚合),部分关系(组成和聚合),甲是乙的一个组成部分:如恋人甲是乙的一个组成部分:如恋人和小伙,恋人和姑娘的关系和小伙,恋人和姑娘的关系v抽象抽象-具体关系(泛化),具体关系(泛化),甲是甲是乙的一个特例:如人和小伙,人乙的一个特例:如人和小伙,人和月老,人和姑娘的关系和月老,人和姑娘的关系v合作关系(关联),合作关系(关联),甲会对乙做甲会对乙做点什么:如月老和小伙、姑娘,点什么:如月老和小伙、姑娘,小伙和玫瑰,小伙和姑娘的关系小伙和玫瑰,小伙和姑娘的关系vF.这些东东是怎么成事的?这些东东是怎么成事的? 每个事物都会尽量利用伙伴的能力每个事物都会尽量利用伙伴的能力 整体事物的能力依靠部分事物的能整体事物的能力依靠部分事物的能力力 抽象事物的属性和能力就是具体事抽象事物的属性和能力就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论