您好,欢迎访问三七文档
统一建模语言UML快速入门UML的由来UML的全名:unifiedmodelinglanguage统一建模语言UML在RationalSoftware公司的支持下于1994年开始成形。是GradyBooch,JamesRumbaugh,IvarJacobson三位从事面向对象方法研究的专家合作研究的成果。UML标准是OMG协会在1997年制定的。注OMG:ObjectManagementGroup,对象管理组织为什么要建模?模型帮助我们按照实际情况对系统进行可视化模型可以让我们描述系统的结构和行为,并且利用它和同事沟通模型提供了指导我们创建系统的模板,我们还可以利用它为使用系统的人提供帮助模型对我们所做的决策进行文档化UML概述什么是UML?一种通用可视化建模语言。用来对软件密集型系统进行可视化、详述、构造和文档化。Unified:UML是一种标准语言,广泛运用于全世界Modelling:UML用途在建模Language:一种建模语言UML的层次UML在设计上分3个层次概念层规格说明层实现层概念层:一种图形表示方法,让相关人员可以一眼就看出所要表达的含义动物界动物狮子UML的层次对象和类的概念对象的引入:能用于指定一台特定的电视机类的引入:把不同品牌、尺寸和型号的电视机捆绑在一个集合中,用于描述电视机的共同属性应用类:定义电视机模型应用对象:在类的基础上定义属于某一品牌和型号尺寸的一台特定的电视机类是对象的抽象,对象是类的实例UML中的类类名属性:类型=初始值方法名(参数表):返回值类型TVbrandName:stringmodelType:stringsize:integerturnon():booleanturnoff():boolean规格说明层:一种图形,目的是将该图形转换为程序代码。UML的层次实现层:将规格说明转换为程序代码。UML的层次UML基础知识-事物事物类型内容表示法举例结构事物类,接口,用例,组件,结点等动作事物交互,状态等分组事物包注释事物解释部分UML基础知识-关系关系功能表示法关联实例之间连接的描述依赖两个模型元素间的关系,对一个元素(提供者)的改变可能影响或提供信息给其他元素泛化更概括的描述和更具体的种类间的关系,适用于继承实现说明和实现间的关系依赖dependency一个事物(独立事物)发生变化会影响使用它的另一个事物(依赖事物),但反之则不然。箭头指向独立事物。举例:“CourseScheduel”类依赖于“Course”类Add(c:Course)Remove(c:Course)CourseScheduelCourseUML基础知识-关系泛化generalization泛化指把一般类连接到较为特殊的类,也称为超类/子类关系或父类/子类关系举例:类的泛化关系火车交通工具机动车汽车三轮车自行车非机动车基类叶子类单继承UML基础知识-关系关联association是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系关联可以有名称角色关联中靠近它的一端的类对另一端的类呈现的职责多重性在关联的另一端的每个对象要求在本端的类必须有多少个对象PersonCompanyWorksforPersonCompanyemployeeemployerPersonCompanyWorksfor1..**UML基础知识-关系Question?1、描述下列关联?StudentCourseEnrolled-in10..451..5PersonCarCarWheel2、标注下列关联的多重性?ownshasAnswersPersonCarCarWheelownshas10..*14聚合aggregation表示类之间的关系是“整体-部分”的关系。“包含”、“组成”、“分成部分”组合composition特殊的聚合每个部分只能属于一个整体,且整体和部分具有一致的生命周期。学生杭州电子科技大学软件职业技术学院UML基础知识-关系实现realization实现用于接口和实现它的类之间什么是接口?一个类提供给另一个类的一组操作On:ButtonOff:ButtonincreaseVol:ButtondecreaseVol:ButtonChannel:Button[]TVRadioturnon()turnoff()interfaceControlTVControlUML基础知识-关系UML基础知识-视图一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图(view)。视图由多个图(Diagrams)构成,它不是一个图表(Graph),而是在某一个抽象层上,对系统的抽象表示。如果要为系统建立一个完整的模型图,需定义一定数量的视图,每个视图表示系统的一个特殊的方面。另外,视图还把建模语言和系统开发时选择的方法或过程连接起来。UML基础知识-视图视图名称视图内容静态表现动态表现观察角度1用户模型视图(用例视图)系统行为及动力用例图交互图状态图活动图用户、分析员、测试员2结构模型视图(设计视图)问题及解决方案类图对象图交互图状态图活动图类、接口、协作3行为模型视图(进程视图)性能、可伸缩性和吞吐量类图对象图交互图状态图活动图线程、进程4实现模型视图(实现视图)构件、文件构件图交互图状态图活动图配置、发布5环境模型视图(实施视图)部件发布、交付和安装配置图(实施图)交互图状态图活动图拓扑结构的节点UML基础知识-图UML语言定义了五种类型9种不同的图,把它们有机结合起来就可以描述系统的所有视图。用例图(Usecasediagram)从用户角度描述系统功能,并指出各功能的操作者。静态图(Staticdiagram),表示系统的静态结构。包括类图、对象图、包图。行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。包括状态图、活动图。交互图(Interactivediagram),描述对象间的交互关系。包括顺序图、合作图。实现图(Implementationdiagram)用于描述系统的物理实现。包括构件图、部件图。UML基础知识-图UML静态图用例图(UseCaseDiagram)类图(ClassDiagram)对象图(ObjectDiagram)构件图(ComponentDiagram)实施图(DeploymentDiagram)UML动态图状态图(StateDiagram)顺序图(SequenceDiagram)协作图(CollaborationDiagram)活动图(ActivityDiagram)UML项目实践使用UML进行项目的分析和设计时,一般遵循的步骤是第一步,描述需求,产生用例图第二步,根据需求建立系统的静态模型,构造系统的结构,这个步骤产生:类图,对象图,组件图和部署图第三步,描述系统的行为,产生状态图,活动图,顺序图用例图usecasediagram从系统的使用者的角度所理解的系统的总体功能。建立于系统需求阶段,是开发者和用户对系统需求达成的共识。用例描述一个系统做什么参与者表示用例的使用者在与这些用例交互时所扮演的角色可以是:人、硬件设备或一个系统客户取款UML基础知识-图UML项目实践-举例系统用例图根据系统的需求分析可知,系统中的角色有银行客户、工作人员和系统,其中银行客户使用ATM系统进行交易;工作人员可以更改ATM的设置、放置现金、机器维护等;系统则作为外部角色参与整个活动,系统用例图如图1所示:UML项目实践-举例ATM(自动柜员机)系统的用例图客户(from角色)转帐(from用例)取钱(from用例)查询余额(from用例)信用系统(from角色)付款(from用例)修改密码(from用例)维护ATM硬件设备(from用例)银行官员(from角色)添加现金(from用例)存钱(from用例)UML项目实践-举例顾客用例图顾客先将自己的磁卡或智能卡插入ATM机,ATM机先审核该卡,如果合法,则提示用户输入密码,如密码错误,则提示重新输入,如果输入次数超过限制,则自动吐卡;如果密码正确,则让顾客选择服务类型,此时顾客就可以进行取款、查询余额、设置密码、转账等操作,操作完成后退磁卡或智能卡,顾客用例图如图2所示:类图classdiagram显示一组类、接口、协作以及它们之间关系的图对象图objectdiagram显示某一时刻系统中一组对象以及它们之间关系UML基础知识-图UML项目实践-举例ATM系统中取款用例的类图活动图activitydiagram显示从活动到活动的流与交互图不同:交互图观察传递消息的对象,而活动图观察对象之间传送的操作活动图包括动作状态:不能被分解活动状态:能被分解转换:同步棒用来说明并发分叉和汇合对象流UML基础知识-图UML项目实践-举例ATM系统中“客户插入卡”的活动图UML项目实践-举例客户取款存款-转账-更改密码活动图顺序图和协作图均被称为交互图interactiondiagram由一组对象、对象间的关系、对象间发送的消息组成一种动态视图可以单独使用、也可以对用例中的特定控制流程建模顺序图sequencediagram强调消息的时间顺序有对象生命线、有控制焦点协作图collaborationdiagram强调收发消息的对象的组织结构有路径、有顺序号同构的:两种图之间可以相互转换,而没有任何信息损失UML基础知识-图UML项目实践-举例某客户Joe取20美元的顺序图UML项目实践-举例某客户Joe取20美元的协作图状态图statechartdiagram对一个对象按事件排序的行为建模与交互图不同:交互图对共同工作的对象群体的行为建模,而状态图对单个对象的行为建模状态图包括状态、转换、事件、动作初始态每张状态图有1个初始态终止态每张状态图有多个终止态UML基础知识-图UML项目实践-举例账目类的状态图UML项目实践-举例存取款状态图取款输入密码3次不正确,系统退去选择取款选择退出服务选择继续服务输入密码密码输入不正确选择服务类型存款选择退出系统选择继续服务插入磁卡密码输入正确选择存款UML项目实践-举例存取款状态图构件图componentdiagram构件:系统中遵从一组接口且提供其实现的物理的、可替换的部分构件图显示系统中的构件以及它们之间的依赖、泛化和关联关系构件图可以用来对源代码。可执行的发布体、物理数据库建模实施图deploymentdiagram展现了系统运行时,系统内处理结点以及驻留在结点中的构件TicketSellerUML基础知识-图UML项目实践-举例ATM系统客户的构件图UML项目实践-举例ATM系统的实施图绘制UML图工具软件RationalRoseVisioVisualModelerTogetherVisualUMLEnterpriseArchitect(EA)
本文标题:UML快速入门
链接地址:https://www.777doc.com/doc-4703925 .html