OOAUML入门解析.pptx
《OOAUML入门解析.pptx》由会员分享,可在线阅读,更多相关《OOAUML入门解析.pptx(96页珍藏版)》请在咨信网上搜索。
1、面向对象软件工程(标准建模语言UML)面向对象软件工程面向对象n“面向对象”是一种认识客观世界的世界观,这种世界观将客观世界看成是有许多不同种类的对象构成的,每个对象有自己的内部状态和运动规律,不同对象之间的相互联系、相互作用就构成了完整的客观世界。面向对象软件工程面向对象n“面向对象”是从结构组织的角度去模拟客观世界的一种方法,这种方法的基本着眼点是构成客观世界的那些成分-对象。n用“面向对象”的观点去认识客观世界,用“面向对象”的方法去模拟客观世界,这就构成了“面向对象”的完整含义。面向对象软件工程面向对象概念n对象 对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。属性表示
2、对象的性质,属性值规定了对象所有可能的状态。对象的操作是指该对象可以展现的外部服务。面向对象软件工程面向对象概念n类和实例 类是某些对象的共同特性的表示,它描述了这些对象内部是如何构造的。相同类的对象在它们的操作和它们的信息结构两个方面都有相同的定义。在面向对象系统中,每个对象都属于一个类。属于某个特定类的对象称为该类的实例。因此,常常把对象和实例当作同义词。实例是从某类创建的一个对象。面向对象软件工程面向对象概念n继承 如果类B继承类A,那么类A中描述的操作和信息结构将成为类B的一部分。借助继承,可以表示类之间的类似性,并且在其他类能继承的一个类中描述这些相似性。因此,就能够复用公共的描述。
3、继承常常被提倡为软件工业界中关于复用的一个核心思想。继承还有利于软件维护。通过抽取和共享公共特性就能够通用化一些类,并且把它们放在继承层次的更高位置。同样,如果希望增加新类,可以寻找这样一个类,它已经提供了适用于该新类的某些操作和信息结构。然后,让新类继承这个类,只需增加该新类所独有的那些内容。然后,使这个类专用化。面向对象软件工程 面向对象建模 面向对象思想比较自然地模拟了人类认识客观世界的方式,面向对象的分析和设计应该从建模开始。构造模型通常出于以下几个目地:n在着手解决一个复杂问题之前,对解决方案进行检测;n用于同客户或其他相关人员进行交流;n加强视觉效果;n对复杂问题进行简化。面向对象
4、软件工程面向对象建模n模型是对事物的一种抽象,人们常常在正式建造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质,抓住问题的要害;n在模型中,人们总是剔除那些与问题无关的、非本质的东西,从而使模型与真实的实体相比更加简单、易于把握;面向对象软件工程面向对象建模n在建造一个复杂系统时,开发者必须从多种不同的角度来抽象系统,使用准确的符号来构造模型,然后检查这些模型是否符合系统的需求,并逐步添加细节,从而将这些模型转化成实现方案。n建模语言是面向对象建模中的一个非常关键的因素。标准建模语言UMLUML的设计目标:n运用面向对象概念来构造系统模型n建立起从概念模型直至可执行体之间明显的对应
5、关系n着眼于那些有重大影响的问题n创建一种对人和机器都适用的建模语言标准建模语言UMLUML概要nUML由OMG与1997年11月批准为标准建模语言(Booch,Jacobson,Runbaugh)。nUML建立在当今国际上最有代表性的三种面向对象方法(Booch(Grady Booch:The Booch method targets object-oriented analysis and design with emphasis on detailed design)方法,OMT(Object Modeling Technique)方法,OOSE方法)的基础之上。nUML是一种建模语言而
6、不是一种方法,UML本身是独立于过程的。标准建模语言UML UML为人们提供了从不同的角度去观察和展示系统的各种特征的一种标准表达方式。在UML中,从任何一个角度对系统所作的抽象都可能需要用几种模型图来描述,而这些来自不同角度的模型图最终组成了系统的完整模型。标准建模语言UML 一般而言,我们可以从以下几种常用的视角来描述一个系统:n系统的使用实例:从系统外部的操作者的角度描述系统的功能。n系统的逻辑结构:描述系统内部的静态结构和动态行为,即从内部描述如何设计实现系统功能。n系统的构成:描述系统由哪些程序构件所组成。n系统的并发性:描述系统的并发性,强调并发系统中存在的各种通信和同步问题。n系
7、统的配置:描述系统的软件和各种硬件设备之间的配置关系。标准建模语言UMLUML模型图(5类,10种):n用例图n静态图(类图,对象图,包图)n行为图(状态图,活动图)n交互图(顺序图,合作图)n实现图(构件图,配置图)标准建模语言UMLUML语义n元-元模型:元模型的基础体系结构,定义一种说明元模型的语言n元模型:元-元模型的一个实例,定义一种说明模型的语言n模型:元模型的一个实例,定义一种语言来描述信息领域n用户对象:模型的一个实例,定义一个特定的领域标准建模语言UMLUML主要文件:nUML概要(UML Summary)nUML语义(UML Semantics)nUML表示法指南(UML
8、Notation Guide)n对象约束语言规约(Object Contraint language Specification):该文件定义并介绍了一种对象约束语言(OCL),其用途是用来说明在图形化的系统模型中不能充分表达的建模信息。它是一种形式化语言。http:/ 用例n 执行者n 系统:用于界定系统功能范围,描述该系统功能的用例都置于其中,而描述外部实体的执行者都置于其外。n 关联:连接执行者和用例,表示执行者所代表的系统外部实体与该用例所描述的系统需求有关。标准建模语言UML(用例图)用例图中的图符:n 使用:由用例A连向用例B,表示用例A中使用了用例B中的行为或功能。n 扩展:由用
9、例A连向用例B,表示用例B描述了一项基本需求,而用例A则描述了该基本需求的特殊情况。n 注释体:对UML实体进行文字描述n 注释连接:将注释体与要描述的实体连接,说明该注释体是针对该实体所进行的描述。使用扩展标准建模语言UML(用例图)设置边界风险分析交易估计进行交易超越边界更新帐目评价贸易经理营销人员记帐系统销售人员使用使用扩展标准建模语言UML(用例图)标准建模语言UML(用例图)用例模型的获取:n获取执行者n获取用例标准建模语言UML(用例图)获取执行者:n谁使用系统的主要功能(主要使用者)?n谁需要系统支持他们的日常工作?n谁来维护、管理系统使其能正常工作(辅助使用者)?n系统需要控制
10、哪些硬件?n系统需要与其他哪些系统交互?n对系统产生的结果感兴趣的是哪些人?标准建模语言UML(用例图)获取用例:n执行者要求系统提供哪些功能?n执行者需要读、产生、删除、修改或存储系统中的信息有哪些类型?n必须提醒执行者的系统事件有哪些?n执行者必须提醒系统事件有哪些?怎样把这些事件表示成用例中的功能?标准建模语言UML(类图)n在面向对象的建模技术中,类、对象和它们之间的关系是最基本的建模元素。对于一个想要描述的系统,其类模型、对象模型以及它们之间的关系揭示了系统的结构。n类图描述了系统中的类及其相互之间的各种关系,其本质反映了系统中包含的各种对象的类型以及对象间的各种静态关系(关联,子类
11、型)。标准建模语言UML(类图)类图中的图符:n 类:表示一个类,其中第一栏是类的 名,第二栏是类的属性,第三栏是类的操作。n 包:包是一种分组机制,表示一个类 图集合。n 关联:用于表示类的对象之间的关系。其特殊形式有组成关联和聚集关联。OperationsAttributesClassPackage标准建模语言UML(类图)类图中的图符:n 聚集关联:用于表示类的对象之间的关系是整体与部分的关系。n 组成关联:用于表示类的对象之间的关系:整体拥有各部分,部分与整体共存,如整体不存在了,部分也会随之消失。n 泛化关联:泛化关系(继承关系)定义了类和包间的一般元素和特殊元素之间的分类关系。标准
12、建模语言UML(类图)类图中的图符:n 依赖关系:有两个类或包元素X、Y,修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖于元素X。n 对象:类的一个实例。n 链接:用于表示对象间的关联关系的一个实例。ValuesObject标准建模语言UML(类图)n单一继承CarPowered VehicleTruckTruckCarPowered Vehicle标准建模语言UML(类图)n多重继承AircraftPowered VehicleCarAirplaneTruck标准建模语言UML(类图)n关联的基本UML表示法PersonCompanyCountry0.*0.*0.*1.
13、*1.10.1居民雇员雇主EmploymentSiteResidence标准建模语言UML(类图)关联表示的一些说明:UML并不要求关联一定要有名字。但给所有关联命名(组成和聚集关联除外),是一个好习惯。UML也不需要角色名。但最好给出有意义的角色名。UML通常简写多重性。Eg.0.*简写为*,1.1写为1。标准建模语言UML(类图)多向关联CompanyPurchasedQuantityItemType减价程度0.*0.*0.*厂商产品ItemPurchase CatalogunitPrice:Money标准建模语言UML(类图)整体/部分关联n组成n聚集标准建模语言UML(类图)组成整体:
14、组成对象(compositeobject)部分:成分对象(componentobject)n如果没有成分对象,组成对象也不存在。n 在任何时候,每个给定的成分对象只能是组成对象的组成部分。n组成是典型的异构。成分对象可能由多个类型混合组成。Eg.轮子、车轴、木头构成四轮马车。标准建模语言UML(类图)组成滑翔机机翼机尾机身fuselagetailleftWingrightWing1111标准建模语言UML(类图)聚集整体:聚集对象(aggregateobject)部分:构成对象(constituentobject)n构成对象不存在,聚集对象还可存在。n在任何时候,每个对象都可是多个聚集的构成。
15、n聚集往往是同构的。Eg.森林是树木构成的。标准建模语言UML(类图)聚集MgmtReportCorporateDivisionCorporationParagraphtextPartdivision0.*0.*11.*标准建模语言UML(类图)订单DateReceivedisPrepaidnumber:Stringprce:MoneyDispatch()close()订单项Quantity:Integerprice:MoneyisSatisfied:Boolean1*项客户NameaddressCreditRating():String团体客户ContactNamecreditRatingc
16、reditLimitRemind()billforMonth(Intrger)雇员产品个人客户CreditCard#creditRating()=“poor”销售代表1*0.11*标准建模语言UML(对象图)对象图n对象图是类图的一种变形。除了在对象名下面要加下划线以外,对象图中所使用的符号与类图基本相同。n对象图是类图的一种实例化。一张对象图表示的是与其对应的类图的一个具体实例,即系统在某一时期或者某一特定时刻可能存在的具体对象实例以及它们相互之间的具体关系。标准建模语言UML(对象图)作者计算机名字:String内存:Ineger名字:String年龄:Integer0.1Uses1.*小
17、王:作者小王的工作PC:计算机名字=“王小影”年龄=32小王的工作PC:计算机名字=“Compaq X”内存=32名字=“Dell486”内存=64类图对象图标准建模语言UML(对象图)n对象图并不象类图那样具有重要的地位,但是利用它可以帮助我们通过具体的实例分析,更具体直观地了解复杂系统类图的丰富内涵。n对象图还常常被用作合作图的一部分,用以展示一组对象实例之间的动态协作关系。标准建模语言UML(包图)n包是类的集合。n包图所显示的是类的包以及这些包之间的依赖关系。n如果两个包中的任意两个类之间存在依赖关系,则这两个包之间存在依赖关系。n包的依赖是不传递的。标准建模语言UML(包图)订单获取
18、界面订单获取应用AWT邮件发送清单界面邮件发送清单应用订单顾客标准建模语言UML(包图)何时使用包图:n在大项目中,包图是一种重要工具(有专家建议,只要你不能将整个系统的类图压缩到一张A4纸上,你就应该使用包图);n依赖产生耦合,应该尽量将依赖性减少到最低程度;n包的概念对测试也是特别有用的。标准建模语言UML(状态图)状态图n状态图是对类的一种补充描述,它展示了此类对象所具有的可能的状态以及某些事件发生时其状态的转移情况。n 表示状态。状态的改变称作转移,状态转移由箭头表示,箭头旁可以标出转移发生的条件。状态转移可以伴随有某个动作,它表明当转移发生时系统要做什么。n 表示初始状态。n 表示终
19、止状态。标准建模语言UML(状态图)下降状态在第一层上升状态向第一层下降空闲状态上升到达到达上升超时下降到达第一层标准建模语言UML(状态图)Custom order Statustentativecanceledconfirmedentry/self.cancelcustSubmitsOrdercustConfirmsOrdercustCancelsOrdercustCancelsOrderAfter(30days)Cust.notifyCanceled(self)self.fulfillmentStatus not=shipped标准建模语言UML(顺序图)顺序图n顺序图描述了对象之间动态
20、的交互关系,着重体现对象间消息传递的时间顺序。n顺序图由一组对象构成,每个对象分别带有一条竖线,称作对象的生命线,它代表时间轴,时间沿竖线向下延伸。顺序图描述了这些对象随着时间的推移相互之间交换消息的过程。消息用从一条垂直的对象生命线指向另一个对象的生命线的水平箭头表示。图中还可以根据需要增加有关时间的说明和其他注释。标准建模语言UML(顺序图):计算机:打印服务程序:打印队列:打印机打印文件打印文件打印机空闲保存文件打印机忙标准建模语言UML(合作图)合作图n与顺序图作用相同,合作图也是用来描述系统中对象之间的动态协作关系。合作图侧重于描述各个对象之间存在的消息收发关系(交互关系),而不专门
21、突出这些消息发送的时间顺序。n在合作图中,对象同样是用一个对象图符来表示,箭头表示消息发送的方向,而消息执行的顺序则由消息的编号来表明。标准建模语言UML(合作图)Eg.从一个帐户(fromAccount)传送一笔资金到另外一个帐户(toAccount)fromAccount:BankAccounttoAccount:BankAccount1.transferFunds(.)2.depositFunds(.)标准建模语言UML(合作图)n合作图中的多态性:指向目标对象有可能隶属的所有类的超类icon:(Polygon)Scal(factor:PositiveReal)标准建模语言UML(合作图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OOAUML 入门 解析
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。