工学软件工程PPT课件_第1页
工学软件工程PPT课件_第2页
工学软件工程PPT课件_第3页
工学软件工程PPT课件_第4页
工学软件工程PPT课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、2021-12-141面 向 对 象 基 础Week 05Object Oriented OOAdopted from 邱嘉文建立面向对象的世界观第1页/共44页2021-12-142软件工程方法学传统方法学传统方法学 面向对象方法学面向对象方法学相同点:都将软件开发划分为分析、设计、编码、测试等阶段不同点:思想不同,方法不同。另外,传统软件工程更关注功能模块,面向对象软件工程更关注对象的抽取和设计两类软件工程方法学没有绝对的替代关系第2页/共44页2021-12-143客观世界世界主观世界认识世界改造世界世界是什么样的呢?建模认识现实世界持不同的世界观就会得到对现实世界的不同认识 建立不同的

2、世界模型。第3页/共44页2021-12-144模型是对现实的抽象第4页/共44页2021-12-145模型没有对错同一世界的不同理解符 合建 模人 目的 性达 到多 少第5页/共44页2021-12-146现代目的:现代目的:在计算机中模拟现实世界的物和事在计算机中模拟现实世界的物和事。传统目的:传统目的: 控制计算机运行控制计算机运行 科学计算。科学计算。软 件 开 发 的 目 的第6页/共44页2021-12-147FACEBD看待事物的六个角度A.这里面有什么东东?B.每个东东看上去是什么样的?C.每个东东能做点什么用?D.这些东东都呆在什么地方?E.这些东东之间有什么关系?F.这些东

3、东是怎么成事的?第7页/共44页2021-12-148“昨天我的一个朋友结婚了” 这里面有什么东东?这里面有什么东东? 月老,小伙,姑娘,恋人,玫瑰花。月老,小伙,姑娘,恋人,玫瑰花。 每个东东看上去是什么样的?每个东东看上去是什么样的? 月老,看上去有些年纪了,挺热心的。月老,看上去有些年纪了,挺热心的。 小伙,看上去很强壮,很实诚的。小伙,看上去很强壮,很实诚的。 姑娘,看上去好漂亮,还很温柔。姑娘,看上去好漂亮,还很温柔。 恋人,看上去很黏糊,当然就结婚了。恋人,看上去很黏糊,当然就结婚了。 玫瑰花,火红火红的,难怪姑娘动情了。玫瑰花,火红火红的,难怪姑娘动情了。本故事纯属虚构,如有雷同

4、,请莫对号入座本故事纯属虚构,如有雷同,请莫对号入座第8页/共44页2021-12-149 月老月老 小伙小伙 姑娘姑娘 恋人恋人 玫瑰花玫瑰花每个东东有什么用?牵线搭桥,介绍认识。牵线搭桥,介绍认识。追求献花,表达爱意。追求献花,表达爱意。仰慕倾情,以身相许。仰慕倾情,以身相许。拍拖拍拖结婚。结婚。令姑娘头晕,传情示爱。令姑娘头晕,传情示爱。第9页/共44页2021-12-1410关系关系月老月老小伙小伙姑娘姑娘恋人恋人玫瑰玫瑰月老月老干妈舅妈撮合者没关系小伙小伙干儿子男友老公男主角买送主姑娘姑娘外甥女女友太太女主角受主恋人恋人作品组合组合使用者玫瑰玫瑰没关系信物受物心意 信物这些东东之间有

5、什么关系?第10页/共44页2021-12-1411 月老牵线搭桥,介绍小伙和姑娘认识;月老牵线搭桥,介绍小伙和姑娘认识; 姑娘和小伙一见钟情,成为一对恋人;姑娘和小伙一见钟情,成为一对恋人; 一对恋人开始拍拖;一对恋人开始拍拖; 小伙追求献花,表达对姑娘的爱意;小伙追求献花,表达对姑娘的爱意; 姑娘收到姑娘收到999火红玫瑰,激动得头晕目眩;火红玫瑰,激动得头晕目眩; 小伙真心求婚,姑娘以身相许;小伙真心求婚,姑娘以身相许; 一对恋人终于走入婚姻殿堂。一对恋人终于走入婚姻殿堂。这些东东是怎么成事的?第11页/共44页2021-12-1412 A.这里面有些什么东东?这里面有些什么东东? 答:

6、答: 这里面有的都是事物。这里面有的都是事物。 大陆第一个翻译大陆第一个翻译Object的人不翻译为的人不翻译为“对象对象”,而,而是把它翻译为是把它翻译为“事物事物”就好了,这样就可以省掉这就好了,这样就可以省掉这个问题。台湾人的翻译就非常准确个问题。台湾人的翻译就非常准确,叫做叫做“物件物件”。 故事中,故事中, 有月老,小伙,姑娘,恋人,玫瑰等事物(对象)有月老,小伙,姑娘,恋人,玫瑰等事物(对象)用面向对象世界观看事物的答案第12页/共44页2021-12-1413B.每个事物看上去是什么样的?每个事物看上去是什么样的? 每个事物看上去都有自己的属性,在每个属性上都每个事物看上去都有自

7、己的属性,在每个属性上都有一个特征值。有一个特征值。 故事中:故事中: 月老,有属性:年纪,特征值:较大;月老,有属性:年纪,特征值:较大; 小伙,有属性:体格,特征值:强壮;小伙,有属性:体格,特征值:强壮; 姑娘,有属性:性情,特征值:温柔;姑娘,有属性:性情,特征值:温柔; 恋人,有属性:关系,特征值:黏糊;恋人,有属性:关系,特征值:黏糊; 玫瑰花,有属性:颜色,特征值:火红。玫瑰花,有属性:颜色,特征值:火红。第13页/共44页2021-12-1414C.每个事物能做点什么用?每个事物能做点什么用? 每个事物都具备某种能力;每个事物都具备某种能力; 这些事物有什么用,就要看它有什么能

8、力了。这些事物有什么用,就要看它有什么能力了。 大陆第一个翻译大陆第一个翻译Method的人就把它翻译为的人就把它翻译为“能力能力”就好了,这样也可以省掉这个问题。台湾人的翻译就好了,这样也可以省掉这个问题。台湾人的翻译好象也叫好象也叫“方法方法”。 故事中:故事中: 月老有牵线搭桥,介绍认识的能力(方法);月老有牵线搭桥,介绍认识的能力(方法); 小伙有小伙有“追求追求”的能力,姑娘有的能力,姑娘有“嫁人嫁人”的能力;的能力; 恋人有恋人有“拍拖拍拖”的能力,玫瑰有的能力,玫瑰有“示爱示爱”的能力。的能力。能力能力=方法方法第14页/共44页2021-12-1415D.这些事物都呆在什么地方

9、?这些事物都呆在什么地方? 每个事物都会有它合理的或者必须的每个事物都会有它合理的或者必须的物理位置物理位置和和逻辑位置逻辑位置。尤其当这些位置对事物的行为造成重要影响的时候,表明尤其当这些位置对事物的行为造成重要影响的时候,表明他们的位置是极其重要的。他们的位置是极其重要的。 面向对象的世界观中叫事物的部署。面向对象的世界观中叫事物的部署。 故事中位置对主要情节没有太大的影响,可以不列出来。故事中位置对主要情节没有太大的影响,可以不列出来。第15页/共44页2021-12-1416E.这些事物之间有什么关系?这些事物之间有什么关系? 事物之间的关系非常多,面向对象的观点一般分为主事物之间的关

10、系非常多,面向对象的观点一般分为主要的三类:要的三类: 整体整体-部分关系,甲是乙的一个组成部分。部分关系,甲是乙的一个组成部分。 如恋人和小伙,恋人和姑娘的关系。如恋人和小伙,恋人和姑娘的关系。 笼统笼统-具体关系,甲是乙的一个特例。具体关系,甲是乙的一个特例。 如人和小伙,人和月老,人和姑娘的关系。如人和小伙,人和月老,人和姑娘的关系。 伙伴关系,甲会对乙做点什么。伙伴关系,甲会对乙做点什么。 如月老和小伙、姑娘,小伙和玫瑰,小伙和姑如月老和小伙、姑娘,小伙和玫瑰,小伙和姑娘的关系。娘的关系。第16页/共44页2021-12-1417F.这些事物是怎么成事的?这些事物是怎么成事的? 每个事

11、物都会尽量利用伙伴的能力;每个事物都会尽量利用伙伴的能力; 整体事物的能力依靠部分事物的能力;整体事物的能力依靠部分事物的能力; 笼统事物的属性和能力就是具体事物的属性和能力;具笼统事物的属性和能力就是具体事物的属性和能力;具体事物除了有笼统事物的属性和能力外,还可以有自己体事物除了有笼统事物的属性和能力外,还可以有自己特殊的。特殊的。 事物分工协作,互通信息,共同完成整体的目标。事物分工协作,互通信息,共同完成整体的目标。继承继承第17页/共44页2021-12-1418俗语俗语术语术语举例举例出了什么事?用例用例我的一个朋友结了婚。具体事物对象对象我的一个朋友,他未婚妻事物类型类类小伙,姑

12、娘,玫瑰,月老属性属性属性年龄,体格,性情能力方法方法牵线,追求,结婚位置部署部署软件园,情侣路整-部关系聚集关系聚集关系恋人-小伙,恋人-姑娘笼-具关系继承关系继承关系人-小伙,人-姑娘伙伴关系关联关系关联关系小伙-姑娘,小伙-玫瑰成事过程用例实现用例实现相识,相恋,结婚变成行话第18页/共44页2021-12-1419Why采用统一的语言符号, 来理解需求与设计, 避免产生歧义. 随着工具对UML的支持, 现在很多工具能够通过UML模型生成软件代码。避免鸡同鸭讲避免鸡同鸭讲UMLUML是一种是一种Language(语言)(语言)UML是一种是一种Modeling(建模)(建模)Langua

13、geUML是是Unified(统一)(统一)Modeling Language已进入全面应用阶段的事实标准已进入全面应用阶段的事实标准应用领域正在逐渐扩展,包括商业建模、嵌入式系统建模、流程建模等应用领域正在逐渐扩展,包括商业建模、嵌入式系统建模、流程建模等第19页/共44页2021-12-1420UML不是一门程序设计语言,但可以使用代码生成器工具将UML模型转换为多种程序设计语言代码,或使用反向生成器工具将程序源代码转换为UML。UMLUML不是一门编程语言,不是一门编程语言,只是一套符号集合只是一套符号集合第20页/共44页2021-12-1421九十年代中,面向对象方法已经成为软件分析

14、和设计方法的主流。1994年10月Jim Rumbaugh和Grady Booch共同合作把他们的OMT和Booch方法统一起来,到1995年成为“统一方法”(Unified Method)版本0.8。随后,Ivar Jacobson加入,并采用他的用例(User case)思想,到1996年,成为“统一建模语言”版本0.9。1997年1月,UML版本1.0被提交给OMG(Object Management Group)组织,作为软件建模语言标准的候选。其后的半年多时间里,一些重要的软件开发商和系统集成商都成为“UML伙伴”,如IBM,Mircrosoft,HP等.1997年11月7日被正式采

15、纳作为业界标准。UML的孕育与发展第21页/共44页2021-12-14221.2、UML的的核心组员第22页/共44页2021-12-1423UML发展历程第23页/共44页2021-12-1424用例UML符号第24页/共44页2021-12-1425实现关系(实现关系(Realization)UML中的四种关系泛化关系(Generalization)依赖关系(Dependency)关联关系(Association)单向或多向单向或多向一个发生变化会引起另一个发生变化一个发生变化会引起另一个发生变化类与接口之间的实现关系第25页/共44页2021-12-1426在关联关系中,有两种比较特殊

16、的关系:在关联关系中,有两种比较特殊的关系:聚合和组合聚合和组合 聚合关系:聚合(Aggregation)是一种特殊形式的关联。聚合表示类之间是整体与部分关系整体与部分关系 如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系来描述关联关系弱关联弱关联 强关联强关联第26页/共44页2021-12-1427 A.这里面有什么东东?这里面有什么东东?我我的朋友我朋友的妻子故事与故事与“我我”无关,去掉无关,去掉“我我”,我的朋友是小,我的朋友是小伙,他妻子是姑娘,于是得到两个类:伙,他妻子是姑娘,于是得到两个类:姑娘小伙我的一个朋友结婚了第27页/共44页2021-12

17、-1428 他们已经拍拖两年了,如胶似漆,你情我愿,不就成了。他们已经拍拖两年了,如胶似漆,你情我愿,不就成了。 拍拖必须是一对恋人所为,于是出来:拍拖必须是一对恋人所为,于是出来:旁白:一对恋人是由一个姑娘和一个小伙组成,一对恋人能够拍拖,关系黏糊,也就能结婚了。姑娘出嫁恋人关系黏糊拍拖结婚11小伙娶亲他们怎么就成了?第28页/共44页2021-12-1429 两年前,姑娘的舅妈介绍他俩认识,他俩一见钟情,两年前,姑娘的舅妈介绍他俩认识,他俩一见钟情,于是便拍起拖来了。于是便拍起拖来了。 舅妈是月老,可能撮合了好多对恋人,我朋友他们只舅妈是月老,可能撮合了好多对恋人,我朋友他们只不过是其中一

18、对,于是得到:不过是其中一对,于是得到:恋人关系拍拖结婚月老撮合促成小伙钟情娶亲姑娘爱慕出嫁1.*11他们是怎么拍拖起来的?第29页/共44页2021-12-1430 姑娘喜欢小伙年轻,健壮,实诚;姑娘喜欢小伙年轻,健壮,实诚; 小伙喜欢姑娘年轻,漂亮,温柔。小伙喜欢姑娘年轻,漂亮,温柔。 姑娘小伙都感谢月老的热心肠。姑娘小伙都感谢月老的热心肠。姑娘年龄,性情容貌爱慕,出嫁月老年龄,性情撮合小伙年龄,性情体格钟情,娶亲逐渐发现共性逐渐发现共性.他们都喜欢对方什么?第30页/共44页2021-12-1431 月老,小伙,姑娘有共同的属性月老,小伙,姑娘有共同的属性“年纪年纪”和和“性情性情”,虽

19、,虽然作为普通人还有很多其他的属性,但在此起重要作用的大概然作为普通人还有很多其他的属性,但在此起重要作用的大概就这两条了,于是得到关系。就这两条了,于是得到关系。普通人年龄,性情月老撮合小伙体格钟情,娶亲姑娘容貌爱慕,出嫁他们都是普通人第31页/共44页2021-12-1432 小伙不仅对姑娘甜言蜜语,而且经常送花给姑娘表达爱意,求小伙不仅对姑娘甜言蜜语,而且经常送花给姑娘表达爱意,求婚那次一次就献了婚那次一次就献了999朵火红的玫瑰朵火红的玫瑰。他们怎么拍拖的?第32页/共44页2021-12-1433完整故事情节的静态模型第33页/共44页2021-12-1434搞清过程的活动图第34页

20、/共44页2021-12-1435拍拖过程的活动图第35页/共44页2021-12-1436初次见面顺序图:初次见面顺序图:复述情节的顺序图第36页/共44页2021-12-1437求婚过程的顺序图第37页/共44页2021-12-1438恋人的状态图恋人的状态图定点观察的状态图第38页/共44页2021-12-1439UML各种类型图Use CaseDiagramsUse CaseDiagrams用例图用例图ScenarioDiagramsScenarioDiagrams协作图协作图StateDiagramsStateDiagrams构件图ComponentDiagramsComponentDiagra

温馨提示

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

评论

0/150

提交评论