




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,面向对象技术与应用,王少锋Email:wangsf2003年9月18日,.,2,助教,刘敬liuj02陈勇y-chen02,.,3,主要内容,教学计划面向对象技术概述UML概述,.,4,讲课计划,9月18日,25日10月9日,16日,23日,30日11月6日,13日,20日,27日12月4日,11日,18日,25日(共14次)一课程简介,面向对象技术概述,UML(UnifiedModelingLanguage)简介(1-2次)二UseCase图,顺序图,协作图(3次)三类图,对象图,包状态图,活动图,构件图,配置图(3次),.,5,四Web建模(1次)五Rose开发工具的使用(1次)Add-In,Script,StereotypeRose等开发工具的简单使用穿插于各章节讲六UML与设计模式(1次)七UML和Rose常见问题分析(1次)*八OO程序设计语言、代码生成(1次)九RUP(RationalUnifiedProcess)(1次)十实例应用分析(穿插于各章节讲)十一复习及答疑(1次),.,6,一.为什么学习这门课?从程序员(programmer)到系统分析员(systemanalyst)从建筑工人(worker)到建筑师(architect),.,7,二、课程要求:清晰、准确、熟练地掌握面向对象方法的主要思想、基本概念与原则。针对具体问题会应用面向对象技术进行系统分析和设计,掌握在ROSE环境下用UML进行分析和设计的技术。学会用Java或其它面向对象语言实现用面向对象方法建立的系统模型。,.,8,三、预备知识:了解软件工程的基本原理,会使用Java或其它OOPL。OOPL:Object-OrientedProgrammingLanguage本课程和其它课程的关系,.,9,四、大作业:1.根据一个小型系统的需求说明,用UML建立系统的分析与设计模型。(系统模型图)2.用Java(JSP)或其它OOPL实现作业1中的模型,完成编程和调试。要求:独立、按时完成五、考核方式作业1:30%(分析和设计)作业2:20%(实现+设计报告)期终考试:50%,.,10,参考书,主要参考书:1.上学期的讲义,2003年春季学期软件学院研究生课程面向对象技术与应用,电子版已放在,用户名ss,密码ss。2.TheUnifiedModelingLanguageUserGuide,GradyBooch,JamesRumbaugh,IvarJacobson,Addison-Wesley,1999(有中译本“UML用户指南”,邵维忠等译,机械工业出版社)英文电子版已放在ftp上。英文版:Themust-haveguidetoUML.,.,11,3.TheUnifiedModelingLanguageReferenceManual,J.Rumbaugh,I.Jacobson,G.Booch,Addison-Wesley,1999(有中译本)英文版:TheauthoritativereferencemanualonUML,amust-haveforanyoneseriousaboutadvancedusageofUML.英文和中文电子版已放在ftp上。4.MasteringUMLwithRationalRose2002,WendyBoggsandMichaelBoggs,SYBEX,2002中译本为“UML与RationalRose2002从入门到精通”,邱仲潘等译,电子工业出版社,2002年中译本注意和旧版本的区别“UMLwithRationalRose从入门到精通”,WendyBoggs,MichaelBoggs著,邱仲潘等译,电子工业出版社,2000年(是介绍Rose98i)英文电子版已放在ftp上。,.,12,其它参考书:5.UMLDistilled(2ndEdition),MartinFowler,KendallScott著(有中译本UML精粹,徐家福译,清华大学出版社)英文电子版已放在ftp上。英文版:AquickandsimpleintroductiontoUML.6.面向对象的系统分析,邵维忠,杨芙清著,清华大学出版社,广西科学技术出版社,19987.面向对象的系统设计,邵维忠,杨芙清著,清华大学出版社,20038.UML和模式应用:面向对象分析与设计导论,CraigLarman著,1998(姚淑珍,李虎等译,机械工业出版社,2002)英文版:ApplyingUMLandpatterns:anintroductiontoobject-orientedanalysisanddesign,英文第一版北图可借到,英文第二版电子版已放在ftp上。,.,13,9.BuildingWebApplicationswithUML,JimConallen,Addison-Wesley,2000(国内能买到第一版影印版,上有2002年10月出版的该书的第二版)10.DesignPatterns:ElementsofReusableObject-OrientedSoftware,ErichGamma,RichardHelm,RalphJohnson,JohnVlissides,Addison-Wesley,1994(有影印版和中译本)英文和中文电子版已放在ftp上。11.RUP2003在RationalSuiteEnterprise中,.,14,讲义、参考书与课程内容的关系,一OO技术概述,UML简介二、三UML的构成四Web建模五Rose开发工具的使用(Add-In,Script,Stereotype)六UML与设计模式七UML和Rose常见问题分析*八OO实现技术九RUP十实例应用分析十一复习及答疑,2.UML用户指南3.UML参考手册4.UML与RationalRose2002从入门到精通5.UMLDistilled6.面向对象的系统分析7.面向对象的系统设计8.UML和模式应用9.BuildingWebApplicationswithUML10.设计模式11.RUP2003,1.讲义,一十一,.,15,进一步读物,国际上和面向对象技术有关的刊物,如:IEEESoftwareJSS(JournalofSystemsandSoftware)UML98,UML99,UML2000,UML2001(会议论文集,清华图书馆能借到)UML2002(会议录编目中)UML2003,2003年10月20日-24日/technology/uml/index.htm(OMG:ObjectManagementGroup),.,16,18193LinksonObjects对象在程序执行时可以被创建和删除。,.,33,类的示例,类:Employee,类名,属性,方法,.,34,封装(Encapsulation),封装就是把对象的属性和方法结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。,.,35,说明:封装就是使一个对象形成两个部分:接口和实现,对于用户来说,接口是可见的,实现是不可见的。封装提供两种保护1.保护对象:防止被用户误用。2.保护客户端:封装能减小实现过程改变的副作用,即实现过程的的改变不会影响到相应客户端的改变。,.,36,继承(Inheritance),特殊类的对象拥有其一般类的全部属性与方法,称作特殊类对一般类的继承。(一般类/特殊类;父类/子类;超类/子类;基类/派生类等是相同的概念。),.,37,说明:继承保证类之间的一致性父类可以为所有子类定制规则;(许多OOP语言提供了这种实现机制,如C+中的虚函数,Java中的接口等)。利用继承可以开发更贴近现实的模型继承增加软件重用的机会降低开发和维护费用问题:面向对象技术和软件重用的关系?继承的目的?是否只为重用?,.,38,子类可以继承父类的属性,也可以增加或重新定义继承的属性。子类可以继承父类的操作,也可以增加或重新定义继承的操作。(重新定义称为override)override(覆盖)和overload(重载)的区别。,.,39,override的例子,publicclassAStringname;publicStringgetValues()return“Valueis:”+name;,publicclassBextendsAStringaddress;publicStringgetValues()return“Valueis:”+address;,.,40,overload的例子,publicclassAintage;Stringname;publicvoidsetValue(inti)age=i;publicvoidsetValue(Strings)name=s;,.,41,继承可分为单继承和多继承单继承:子类只从一个父类继承多继承:子类从多于一个的父类继承,.,42,单继承例子,例:交通工具是一个父类,地面交通工具和空中交通工具是子类,.,43,多继承例子,一个两栖交通工具同时继承地面交通工具和水上交通工具。,.,44,多继承可能引起的问题:“命名冲突”问题C+中采用成员名限定解决Eiffel中采用方法再命名机制Java中不支持多继承,.,45,多态(Polymorphism),多态是指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。,.,46,多态的例子,.,47,说明:跟多态相关的概念:覆盖(override),动态绑定(dynamicbinding)多态属于运行时问题,而重载(overload)是编译时问题。,.,48,消息(Message),消息就是向对象发出的服务请求,它包含下述信息:提供服务的对象标识、服务(方法)标识、输入信息和回答信息。,.,49,说明:通过消息进行对象之间的通信,是OO方法的一个原则。采用消息这个术语的好处(而不是函数调用):第一,更接近人们日常思维所采用的术语;第二,其涵义更具有一般性,不限制采用何种实现技术。如在分布式环境中,对象可以在不同的网络结点上实现并且相互提供服务,在这种情况下,消息术语具有更强的适应性。,.,50,面向对象分析OOA,简单地说,OOA(Object-OrientedAnalysis)面向对象的分析,就是运用面向对象的方法进行需求分析。,.,51,面向对象设计OOD,定义:OOD(Object-OrientedDesign)面向对象的设计,就是在OOA模型的基础上运用面向对象方法进行系统设计,目标是产生一个符合具体实现条件的OOD模型。,.,52,OOA和OOD的关系,OOA和OOD采用一致的概念和表示法,二者之间不存在鸿沟。,OOA,OOD,分析,设计,数据流图DFD,模块结构图MSD,实体-关系图ERD,传统方法的分析和设计之间存在鸿沟,OO方法的分析与设计之间不存在鸿沟,类图,类图,.,53,OOA/OOD和结构化分析/设计,OOA/OOD中的思维过程,发现过程,以及用户、分析员、设计人员之间的交流与结构化分析/设计是本质不同的。一些适合于早期方法的概念,如内聚、耦合、抽象、有意识地推迟设计决策等同样适用于OOA/OOD。OOA/OOD对结构化方法是“revolution”还是“evolution”?,.,54,主要内容,教学计划面向对象技术概述UML概述,.,55,WhatistheUML?,UMLstandsforUnifiedModelingLanguage.TheUMLisalanguageforvisualizing(可视化)specifying(详述)constructing(构造)documenting(文档化)theartifactsofasoftware-intensivesystem.,.,56,说明:UMLcanbeusedwithallprocesses,throughoutthedevelopmentlifecycle,andacrossdifferentimplementationtechnologies.,.,57,WhyBuildModels?,更好地理解问题(Tounderstandtheproblembetter)人员之间的沟通(Tocommunicatewithotherpersons)发现错误或疏漏的地方(Tofinderrorsoromissions)获取设计结果(Toplanoutthedesign)生成代码(Togeneratecode),.,58,UML1.3,June99,UML1.4,Sep.,2001,UML1.5,March,2003,UML2.0,HistoryoftheUML,即将正式发布,.,59,2001年,OMG开始UML2.0的工作,UML2.0是一个比较大的升级工作。UML2.0规范说明分为四大部分(1)UML2.0Infrastructure(2)UML2.0Superstructure(3)UML2.0ObjectConstraintLanguage(4)UML2.0DiagramInterchange其中(1)、(3)已被OMG接受,(2)、(4)的最后修订版本已被OMG接受,正处于finalization阶段。正式发布时,有些部分可能会合并。,.,60,UML是由世界著名的面向对象技术专家G.Booch,J.Rumbaugh和I.Jacobson发起,在Booch方法,OMT方法和OOSE方法的基础上,广泛征求意见,集众家之长,几经修改而完成的。Threeamigos,BoochRumbaughJacobson,.,61,说明:标准建模语言UML是软件工程领域中具有划时代意义的研究成果。UML吸取了面向对象技术领域中其它流派的长处。随着UML被OMG采纳为标准,面向对象领域的方法学大战(methodwars)也告结束。UML得到了诸多大公司的支持,如IBM,HP,Oracle,Microsoft等。预计:UML将成为面向对象技术领域内占主导地位的标准建模语言。,.,62,一些主要的OO建模技术(UML之前),Object-orientedsystemsanalysis,byShlaer/Mellorin1988OOA/OOD,byPeterCoadandEdwardYourdonin1991Responsibility-driven,CRC-cardsbyRebeccaWirfs-Brock(in1990)BoochMethod,byGradyBoochin1991OMT(ObjectModellingTechnique),byJamesRumbaugh,etc.in1991OOSE(Object-orientedsoftwareengineering),byIvarJacobsonin1992其它还有很多,.,63,ContributionstotheUML,.,64,各种OOA/D方法的比较:Object-orientedmethods:principlespublicclassHelloWorldextendsjava.applet.Appletpublicvoidpaint(Graphicsg)g.drawString(Hello,World!,10,10);,.,81,在UML中,对这个applet的建模如下图所示,类HelloWorld用一个矩形表示。类HelloWorld中给出了paint操作,在一个附属的note中说明了该操作的实现。,.,82,前面这个类图反映出了“H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 东海杯考试题及答案
- 电大商法考试题及答案
- 团队沟通与协作能力提升培训工具
- 《光学现象与应用:光的折射与反射教案》
- 信息安全防护措施执行模板
- 乡村振兴护理员考试题库及答案
- 大学vb考试题及答案
- 学术研究诚信保障责任书9篇范文
- 数据分析基础模型及处理流程模板
- 旅游景点综合评价报告表
- 八年级上教案全等三角形辅助线作法
- 碧桂园山营销示范区区抢工宝典课件
- 蜘蛛人外墙保温施工方案
- 《广播电视编导概论》课程教学大纲
- DB51∕T 2502-2018 中国川菜烹饪技术用语及菜名翻译规范
- 国外期刊运作的主要模式及发展趋势
- 区域性再生资源集散市场实施方案
- 液氨使用与储存安全技术规范
- 《幼儿园大班第一学期家长会》 PPT课件
- 施工手册柱式桥台
- PCR室作业指导书_检验SOP文件
评论
0/150
提交评论