首页 UML

UML

举报
开通vip

UMLUML建模技术入门目录第1章UML的概要第2章用例图第3章类图(基本)第4章顺序图第5章协作图第6章类图(与交互图的一致性)第7章类图(类的扮演角色)第8章类图(属性和操作)第9章类图(关系)第10章状态图第11章包第12章构件图和部署图第1章UML的概要什么是UML?UML就是一种表示法(绘图方法)UnifiedModelingLanguage(统一建模语言)整理归纳多种表示法后得到的一种表示法不依存特定的开发过程使系统规格化,可视化,文档化的图式语言定义用于表示模型的图形的含义及其关系基于面向对象的基础1997...

UML
UML建模技术入门 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 第1章UML的概要第2章用例图第3章类图(基本)第4章顺序图第5章协作图第6章类图(与交互图的一致性)第7章类图(类的扮演角色)第8章类图(属性和操作)第9章类图(关系)第10章状态图第11章包第12章构件图和部署图第1章UML的概要什么是UML?UML就是一种表示法(绘图方法)UnifiedModelingLanguage(统一建模语言)整理归纳多种表示法后得到的一种表示法不依存特定的开发过程使系统规格化,可视化,文档化的图式语言定义用于表示模型的图形的含义及其关系基于面向对象的基础1997年确立的OMG(ObjectManagementGroup)标准2003年发行的UML1.5最新版2004年预定发行UML2.0版UML是一种标准表示法第1章UML的图名称描述内容捕获需求内容(用于需求 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 )捕获逻辑结构(用于分析,设计)捕获行为(用于分析,设计)捕获实现执行环境(用于设计)分类(使用地方)用例图类图交互图部署图构件图顺序图协作图状态图活动图描述系统提供的功能以及和外部元素的关联描述类的定义以及类间的关系按时间顺序描述对象间的交互动作以连接关系描述对象间的交互动作描述一个对象的状态转换描述工作流和事件流以及算法描述源代码和模块的结构以及文件间的依赖关系描述系统运行的执行环境和执行模块的分配对象图描述某一时刻的对象状态第1章用例图描述系统为外部提供的功能会员登录顾客搜索商品将商品放进购物篮从购物篮放回商品购买商品● 网上购物系统的用例图第1章类图用类来静态描述问题域类就是问题域的概念(事情,物体)购物篮商品● 类图第1章对象图描述某一瞬间的对象状态对象是问题域的概念(物体,事情)的实体12月17日刘建先生的购物篮咖喱:商品● 对象图第1章顺序图描述系统的动态行为顺序图是按时间顺序描述对象间的消息交换● 会员登录的顺序图A:顾客:会员登录画面1:输入姓名和电话号码:黑名单:会员:会员列表2:输入信用卡号码3:检查信用4:创建5:添加到列表中第1章协作图和顺序图一样,描述对象间的消息交换协作图是以对象的连接关系为中心来描述消息交换的● 会员登录的协作图A:顾客:会员登录画面1:输入姓名和电话号码:黑名单:会员:会员列表2:输入信用卡号码4:创建5:添加到列表中3:检查信用第1章状态图着眼于对象状态的图着眼于一个对象,描述这个对象发生了怎样的状态变化● 购物篮的状态图放入商品空购买完毕将商品放入购物篮从购物篮放回商品[商品件数=0]购买保存期限过期将商品放入购物篮从购物篮放回商品[商品件数>0]第1章活动图描述业务的流程、用例的流程以及算法● 购买商品的活动图输入会员ID和密码显示商品一览将商品放入购物篮购买[NG][OK][购物完毕][继续购物]第1章构件图描述系统文件的组成描述源代码,二进制文件,执行文件等之间的依赖关系● 构件图Basket.javaGoods.java第1章部署图描述系统执行时计算机系统的构成● 部署图第1章终端PC服务器GUI顾客管理程序顾客DBUML公共机制注释必要时可在建立的模型中添加注释等包把模型的内容分成群组注释包第1章第1章UML的优点标准化可有效促进和外部的交流,如获取外部的知识等当启动新项目时无需学习表示法表现力高且便于理解的表示法可从多种角度表示模型模型元素直观易懂可提高维护性可在整个开发过程中使用同一种表示法可跟踪各阶段做出的成果各阶段开发人员之间的顺利交流便于信息反馈和发现解决存在的问题第2章用例图目标学完本章后,要求达到:能说明用例图的表示法和使用方法能看懂用例图、读取用户的需求能通过用例图描述用户的需求第2章用例图描述用户对系统的需求从用户角度思考不考虑内部的事物,而是从「该如何使用系统」的角度,来进行黑盒式的思考在系统开发的初期阶段创建用例图分析,设计的出发点以用例图为基础,进行分析设计,并做成其它UML的图用例图由以下元素构成用例参与者关联第2章用例图的模型元素参与者关联用例参与者名用例名第2章系统边界参与者描述系统外部元素所起的作用参与者不是系统的一部分可以和系统进行频繁的信息交换,也可被动接收来自系统的信息可能的参与者系统使用者启动系统人开发对象以外的相关系统(现有的系统)硬件顾客第2章用例用例用于描述系统所提供的功能它并不是系统内部结构,而是着眼于从系统外部所看到的功能从使用者角度考虑并不是考虑「怎样去实现系统」,而是考虑「该如何去使用系统」包含系统需要的所有功能一个用例表示一个功能集中所有的用例,可完整描述该如何使用系统不是系统中的功能,不做成用例可通过关联将用例和一个以上的参与者连接可用系统边界(选项)框起来搜索商品搜索商品第2章参与者是角色顾客谢小姐店长店员参与者是一个角色,并不是某个别人实际上一个人也可以负责两个角色第2章参与者是其他系统的例子顾客WEB购物系统顾客信息管理系统(现有)DM发送系统(现有)询问调查系统(现有)会员登录WEB购物系统顾客顾客信息管理系统第2章参与者是硬件的例子温度计气象观测系统获取气象数据气象观测系统温度计气压计气压计第2章用例的大小用参与者可识别到的系统的功能大小为标准一个用例的功能一旦结束,表示参与者已达到目的在一个用例中不能发生中断进行租赁业务<录像带租赁店的例子>检查会员证● 过小做租赁的带子的记录计算金额● 恰当的大小借出录像带还回录像带● 过大第2章用例描述在创建用例图的同时,以用例为单位创建以下文档概要用几行字描述用例的作用,目的等脚本描述一个用例的具体流程事件流描述所有用例的流程第2章什么是活动图为描述一次完整的业务、处理的内容和流程,而将多个相关的业务和处理步骤按顺序排列而成的图称为活动图活动图有以下3种描述方法描述对应每个用例的事件流描述整个企业或所有业务模型内的工作流描述某个对象所持有操作的内部算法活动图是状态图的特殊形态第2章活动图的模型元素初始状态动作状态终止状态同步条[监护条件1]条件判断[监护条件2]动作状态A动作状态E动作状态B泳道1泳道2动作状态D动作状态C第2章活动图的模型元素动作状态相当于构成业务和处理的一个单位用箭头符号连接两个动作状态,来表示动作的顺序条件判断特殊的动作状态表示使用多个不同的监护条件,根据动作的结果可转移到不同的地方同步条表示输入到同步条的所有转移处于等待状态泳道用于明确表示处理间的不同情况第2章购买处理支付货款顾客销售部门发送部门处理销售库存处理发送商品收取商品活动图的例子第2章第3章类图(基本)目标学完本章后,要求达到:能说明类图的表示法和使用方法能看懂类图,并理解其含义能用类图描述问题域第3章类图描述系统的静态结构不表示系统的功能,而是着眼于问题域中存在的“物体”类图由以下元素组成类关系(关联、聚合、泛化等)类着眼于现实中存在的“物体(对象)”的属性、行为的共同性,并进行抽象后得到的能从各种不同角度,制作多种类图描述所有类的类图以包为单位而表示的类图等第3章类图的模型元素类A属性名操作名()类C属性名操作名()类B类D1..*0..1角色A角色C类聚合关联角色泛化多重性第3章类的表示法用划分为3个区域的矩形来表示上面的区域:类名中间的区域:属性下面的区域:操作属性和操作的写法是每行一个类名属性1属性2属性3操作1()操作1()操作属性类名第3章●不显示操作和属性区域表示类的几种方法可不显示属性和操作区域中的某一个,或两者都不显示但是,不显示并不表示一定没有属性和操作员工工龄退休姓名年龄获取姓名()设置姓名()●显示属性和操作区域员工●不显示操作区域员工●不显示属性区域获取姓名()设置姓名()工龄退休姓名年龄员工员工姓名 …获取姓名()设置姓名()●省略显示省略显示第3章类图的关系通过对象间的协作工作可以实现系统行为为进行协作工作,类之间必须要有某种关系通过描述类与类之间的关系,可以创建更加正确的模型在UML中,主要有以下几种类型的关系关联聚合泛化等第3章关联使用关联表示对象之间具有永久关系关联是用在两个类之间画相连实线来表示的在关联类的一端称之为关联端点考生关联大学第3章关联端点关联名为了明确关联的意思,可以给关联起一个名字通常关联名是动词关联名是有方向性的,想明确关联的方向时,可在关联名的后面加上一个黑三角考生关联名大学报考志愿第3章角色名表示从一个类来看,对方类的作用或位置可以在类的关联端点上标出自己对于对方类来说扮演的角色名考生角色名大学考生报考志愿学校教授工作单位第3章例题:试画类图想描述的内容有图书馆、书、作者这几个类图书馆、书、作者有各自的名字书上有图书编号作者有自己的经历从图书馆的角度来看,书具有藏书的作用作者写书第3章例题:试画类图(题解)图书馆名字书名字图书编号藏书作者名字经历写书第3章表示相关联的类之间,对象数目的相应关系参与关联的对象数目多重性可以写在关联的两端点上一定为110或10..10以上*或0..*1以上1..*指定范围1..5离散值1,3,5多个指定范围1..5,10..20多重性多重性类A类B10..*第3章多重性的例子(1)从「考生」类的角度来看「大学」类的多重性考生A参加甲、乙2所大学的考试考生B只参加甲大学的考试考生C参加甲、乙、丁3所大学的考试考生A考生B考生C甲大学乙大学丙大学丁大学1..*第3章多重性的例子(2)从「大学」类的角度来看「考生」类的多重性甲大学有考生500人报名参加考试乙大学有考生200人报名参加考试丙大学目前还没有考生报名参加考试甲大学乙大学丙大学0..*500人200人0人第3章多重性的例子(3)考生参加1所以上大学的考试大学中有0个以上的考生参加考试考生大学0..*1..*第3章类型和实例UML中的模型元素具有类型和实例的两面性类型是一般的描述,而实例是具体的描述比如,类和对象商品● 类型和实例(类和对象)方便面:商品第3章对象的表示法有3种表示方法只表示对象名表示对象名和类名只表示类名(无名对象)星球大战星球大战:录像带:录像带①只表对象名②表示对象名和类名③只表示类名第3章描述对象的属性值会员会员编号姓名住址电话号码朱先生:会员会员编号=0000001姓名=朱之凡住址=上海市红口区…电话号码=01-234-5678谢小姐:会员会员编号=0000002姓名=谢晓悠住址=上海市扬浦区…电话号码=01-876-5432第3章多对象指由多个对象所组成的集合体想同时表示同一个类中的多个对象时,可以用多对象表示方法用相重叠的两个四角形来表示多对象:会员簿多对象:会员第3章对象图对象图用于描述对象与对象之间的关系在系统开发中,根据需求来使用对象图表示系统某一时刻的一个快照决定类图的多重性表示系统(对象之间)的状态:汽车:车体右前:轮胎左前:轮胎右后:轮胎左后:轮胎:引擎对象链第3章干部部门部长管理部门用对象图来考虑多重性试想一下某公司的「干部」和「部门」的关系如果这个公司有「部门」的话,则总有一个「干部」是部门的部长有的干部并不管理部门,也有的干部兼任几个「部门」的部长多重性:相关联的某一方有一个对象时,就可能成为其另一方的对象数第3章用对象图来考虑多重性(2)吴:干部 规划 污水管网监理规划下载职业规划大学生职业规划个人职业规划职业规划论文 部:部门会计部:部门陈:干部技术部:部门李:干部干部部门部长管理部门1*第3章●对象图●类图用对象图来表示系统的状态朱先生:会员朱先生的购物篮:购物篮朱先生:会员咖喱:商品朱先生的购物篮:购物篮方便面:商品第3章例题:设定多重性有一辆汽车由4个轮胎、1个车体和1个引擎所组成画出相应的类图第3章例题:设定多重性(题解)(参考)对象图车车体轮胎引擎类图111141:车:车体右前:轮胎左前:轮胎右后:轮胎左后:轮胎:引擎第3章多个关联类之间如果有不同意义的关联,可画出多个关联为表示不同意义的关联,可加上角色名或关联名邮件地址收件人发件人第3章聚合当某一个类成为另一类的一部分时,可使用聚合的关系表示类之间的关系是整体与部分的关系也称为Part-of关系或has-a关系关联的特殊形式在整体一侧的关联端点上加上菱形标记来表示聚合会员列表会员朱之凡聚合XX年度会员列表刘建谢晓悠整体部分第3章组合整体对象强烈拥有部分对象的聚合关系部分对象的生命周期依赖于整体对象的生命周期在整体一侧的关联端点上加上实心菱形标记来表示组合整体一侧的类称为组合类整体一侧的多重性总是为1键盘液晶屏硬盘笔记本电脑输入设备显示设备补助记忆设备0..*11111组合类(整体)部分类角色名部分类部分类的多重性组合第3章关联,聚合,组合的区别关联表示有结构上的关系聚合整体和部分的关系部分侧的生命线周期独立于整体侧所有关系很弱多个对象可共享部分侧的对象如不清楚是否有聚合关系,可以先作为关联组合整体和部分的关系部分侧的生命周期依存于整体侧的生命周期强烈的拥有关系多个对象不可共享部分侧的对象如不清楚是否有组合关系,可以先作为聚合第3章泛化泛化用于描述一般的元素(超类)和特定的元素(子类)间的关系子类继承超类的所有特性(属性、操作、关系),并具有独自的特性也称为is-a关系义务教育学校小学初中任意学校高中大学学校第3章表示泛化关系的几种方法超子2聚合超类子类子1・・・超子2省略显示子1・・・● 共享目标方式● 分离目标方式第3章递归关联表示同一个类中的对象之间有信息的交换0,1公司总公司分公司0..*公司可有多个子公司。公司可有一个总公司。第3章限定符指根据类的属性、为了减少相关联的对象数目而设置的条件使用限定符后,可减小多重性分店1..*1顾客分店11顾客顾客ID限定符第3章关联类具有类与类之间的关联信息的类可和普通的类一样定义属性、操作和关系对于一个关联,只能创建一个关联类多重性为1对多、多对多时,或将来多重性可能发生变化的情况下,经常会使用关联类商品仓库0..*1..*库存数量关联类第3章N元关联表示3个以上类之间的关联用空心菱形向类画实线来表示不能使用聚合和限定符年度员工部门N元关联第3章N元关联的关联类也可以使用关联类空心菱形和关联类之间用虚线连接年度员工部门销售成绩销售额利润关联类第3章第4章顺序图(交互图)目标学完本章后,要求达到:能说明顺序图的表示法和使用方法能看懂顺序图并理解其中的含义能用顺序图来描述对象间的交互第4章从动态的侧面来捕捉问题域对象间的消息交换在面向对象的系统中,对象之间边交换消息,程序边执行根据脚本等的内容说明,可以确定对象的交互确定对象的交互手段—〉交互图顺序图顺序描述消息从上到下的流程协作图以对象之间的连接为中心来表示消息的交换情况什么是对象的交互交互图第4章商谈日期和时间的消息交换知道了想约在6月1日商谈张小姐6月1日有什么约定吗?没有约定,是有空的请帮我预约在6月1日预约好了会议室PDA李先生PDA会议室商谈?(6/1)有无约定?(6/1)没有约定,有空知道了预约(6/1)张小姐李先生结束第4章顺序图按时间的顺序来表示对象间的消息交换的图能明确描述实现用例所需对象的集合和这些对象之间的消息交换按时间的顺序逐个描述消息便于对应脚本说明、表示具体的内容也可以用“协作图”来表示系统中相同的行为顺序图由以下元素组成对象生命线消息激活第4章顺序图的模型元素对象A对象B1:消息1()消息参与者2:消息2()对象C3:消息3()对象生命线第4章表示对象生存的期间在对象下面画一条虚线来表示如果画有生命线,则表示对象已经存在(被生成了)如果生命线一直延伸到该图的最下方,就意味着该对象在这顺序图的整个期间中一直存在可在两个对象的生命线之间画一条箭头线,来表示有一个对象向另一个对象发送消息的情况生命线(生存线):商品列表:商品取得价格()生命线第4章消息表示对象间的信息交换(通信)消息是从发送消息方的生命线向接收消息方的生命线画一条带箭头的实线来表示的表示消息的箭头,可以指向左右的任一个方向由于消息是按从上到下的顺序依次发出的,所以可省略消息编号消息的种类有2种同步消息实心三角箭头异步消息三角箭头第4章同步消息使用实心三角箭头表示发送消息方等待消息完成后,再发送下一条消息表示消息的嵌套控制下图中表示,消息1发送完后,再发送消息4对象A同步消息消息1消息2对象B对象C对象D消息3消息4第4章异步消息使用箭头表示发送消息方不等消息完成,就可发送下一条消息表示消息没有嵌套控制下图中,不等消息1发送完成,就调用、发送消息4对象A异步消息消息1消息2对象B对象C对象D消息3消息4第4章返回带有箭头的虚线同步消息的返回消息不是新的消息下图中,用返回1到返回4表示消息1到消息4的回复消息对象A返回消息消息1消息2对象B对象C对象D消息3消息4返回1返回3返回2返回4第4章激活激活表示下面两个意思对象执行某个操作的期间操作的执行和调用该操作方的控制关系用细长的矩形框表示激活激活的上端表示开始时间,下端表示结束时间激活是任选项:类A激活foo()m1()r1m2()r2:类B第4章为表示对象生成的时刻,可对该对象直接画一个称为生成的消息在对象销毁的时刻,画一个×对象的生成和销毁星球大战:商品生成 用此消息可以生成一个对象×该对象此时销毁第4章一个对象的生命线在某个时刻所作的处理有分支情况出现时,生命线也要产生分支生命线的分支表示有多个处理流程有两个会员列表的生命线,但并不能同时进行会员登录生命线的分支:会员列表登录(特别会员)生命线的分支登录(一般会员):一般会员:特别会员:画面生成[特别会员]()生成[一般会员]()处理的分支第4章指对象自己调用自身的操作对该对象自己的生命线画一个消息调用自身的操作a:商品列表:显示画面商品一览显示()调用自身的操作:顾客生成()取得商品信息()商品信息显示()第4章顺序图的例子对象A:类Am0()参与者对象的生成对象B:类B对象C:类Cm1()[x>0]m2(:p1)[x≦0]m2(:p2)m3()×生命线的分支对象的销毁激活第4章对象排列的顺序顺序图中的对象要尽可能排列得容易看懂按出场的前后次序从左到右排列对象画消息时尽量从左到右:A更换顺序m1()m3():参与者:B:Cm2():Am1()m3():参与者:B:Cm2()第4章例题:试画顺序图想描述的内容参与者店员希望订货对象能告诉自己,与某一个商品编号相对应的商品名称订货对象根据商品目录,取得该商品的对象第4章第4章例题:试画顺序图(题解):订货取得商品的名称(商品编号):店员:商品目录取得商品(商品编号)第4章:商品商品取得名称()名称名称第5章协作图(交互图)目标学完本章后,要求达到:能说明协作图的表示法和使用方法能看懂协作图并理解其含义能用协作图描述对象间的交互能说明协作图和顺序图的特征第5章什么是协作图协作图是着眼于对象间的连接关系为中心,描述消息和数据交换的图能明确描述实现用例所需对象的集合和这些对象之间的消息交换也能用顺序图表示系统的相同行为协作图由下述元素组成对象链消息第5章协作图的模型元素对象A对象B1:消息1()链参与者2:消息2()对象C3:消息3()对象消息标签消息消息编号第5章链表现在两个对象间有消息发送、也就是有某种数据交换的关系两个对象间用实线相连来表示链协作图中,用链来连接对象与对象,然后沿着链可加上消息箭头:会员列表:会员链第5章协作图的消息对象A对象B1:显示姓名()对象C2:通知姓名()同步消息异步消息第5章消息的表示法消息中要加上消息的标签消息的标签用下面的格式来描述前置项监护条件顺序表达式返回值:=消息名(参量表)     2:商品信息:=取得商品信息(商品编号)第5章前置项、监护条件、迭代前置项指定在执行该消息前必须完成的消息前置项的表示法是在消息编号的最后加上“/”来描述的在有多个前置项的情况下,用“,”来分隔消息编号监护条件表示发送消息的条件迭代在顺序表达式中用“*”来表示重复发送消息前置项,监护条件,顺序表达式,返回值是任选项前置项监护条件顺序表达式返回值:=消息名(参量表)2a,3a/[ID号码>100]2*[i=1..n]:会员信息:=取得会员信息(会员ID)第5章协作图的例子Web窗口商品4:选择()1:商品信息:=显示()消息:顾客5:选择()商品列表3:显示()2:商品信息:=取得商品信息()消息编号返回值第5章并行处理可使用相同的消息编号来表示同时发送多个消息为了区别消息,在消息编号中需加上英语字母:图像3b*[i=1..n]:显示():Web窗口1:显示():商品列表:商品:图像列表3a*[i=1..n]:显示()2a:显示()2b:显示()同时并行处理第5章前置项的例子:图像3b*[i=1..n]:显示():Web窗口1:显示():商品列表:商品:图像列表3a*[i=1..n]:显示()2a:显示()2b:显示():按钮2a,2b/2:显示()2a,2b消息发送后第5章协作图和顺序图是等价的:用户:A:B1:a()2:b()3:c()4:d():用户:A1:a()2:b()3:c()4:d():B第5章协作图和顺序图是等价的第5章:Aa():店员:Bb():Cc():A1:a():店员:B:C1.1:b()1.1.1:c()顺序图和协作图的比较第5章第6章类图(与交互图的一致性)目标学完本章后,要求达到:能够学会如何保持交互图(顺序图,协作图)和类图的一致性第6章交互图和类图的一致性交互图为对象分配适当的类为消息分配操作名检查是否保持了交互图和类图的一致性类图为实现交互图的消息而追加必要的属性和操作根据脚本和交互图,修改类的需求说明,关系和多重性等,检查信息是否有欠缺检查是否保持了交互图和类图的一致性第6章交互图和类图的一致性:订货:录像带取名字()订货录像带取名字()有消息的交换→类之间存在关系接收消息→有此操作找出与对象对应的类消息是类的操作第6章例题:考虑一下和类图的一致性想描述的内容画出与以下顺序图对应的类图:商品列表:商品取得价格()第6章例题:考虑一下和类图的一致性(题解)商品列表商品取得价格()第6章 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 必须保持类图和交互图的一致性对象和类要有对应关系消息和关联消息和操作第6章第7章类图(类的扮演角色)目标学完本章后,要求达到:能说明构造型的含义能说明类的扮演角色第7章库存● 构造型<>商品列表构造型构造型是一种能将UML元素语义的分类进行扩展的功能用引号《》把字符串括起来,并放在UML元素名字的上方或前面用于表示应用软件或问题域的固有含义能扩展所有元素有若干个预先定义好的构造型用户也可定义新的构造型不可与适用于相同类型元素中的定义好的关键字相同也有和图标相关联的构造型<>设定库存数第7章商品列表员工<>取得姓名类的扮演角色管理商品画面管理商品商品打印IF:管理商品画面:管理商品商品列表管理商品画面对象接收来自外部的要求后,把接收到的内容转发给管理商品对象。管理商品对象集中了合适的对象,它会适时要求一个合适的对象。商品列表会员购物篮第7章类的构造型用于描述类的扮演角色类的构造型的例子实体(entity):用于处理问题域的知识的类边界(boundary):用于处理和参与者的信息交换的类控制(control):用于处理用例流程的类例外(exception):用于表示例外处理的类效用(utility):用于归总共同的属性和操作的类元类(metaclass):定义类的类第7章第8章类图(属性和操作)关于第8章和第9章的类图第8章和第9章中介绍的类图表示法,主要用于设计阶段实现时所必不可少的表示法第8章目标学完本章后,要求达到:能说明属性、操作的表示方法和接口的表示方法能描述属性、操作和接口第8章设计属性和操作定义为实现属性和操作所需的详细信息指定可见性指定类型指定初始值指定参数第8章可见性表示限制外部对属性和操作的访问通过适当设定可见性,可实现封装可见性的种类+public所有的类都可以访问~package只有自己以及同一包内的类可以访问#protected只有自己及其子类可以访问-private只有自己可以访问第8章可见性–操作1()#操作2()~操作3()+操作4()类1类2类3类4包子类第8章属性在构成类的信息中,将知识性的静态信息称为属性   -工龄:int=1员工工龄退休年龄姓名年龄属性名员工-工龄:int=1-退休年龄:int=60-姓名:String-年龄:int可见性类型初始值● 只显示属性名● 显示可见性、属性名、类型、初始值可见性属性名:类型表示=初始值第8章+取得姓名():String+设定姓名(姓名:String):void操作在构成类的信息中,将行为(动态)信息称为操作  +设定姓名 (姓名:String):void员工取得姓名()设定姓名()操作名可见性参数类型返回值类型● 只显示操作名● 显示可见性、操作名、参数名、参数类型、返回值类型员工参数名   可见性 操作名(参数名:参数类型):返回值类型第8章+设定姓名(in姓名:String=“○○△△”):void操作的参数操作参数的定义如下所示在有多个参数的情况下,用逗号(,)分隔可以省略参数名关于输入输出类别,可指定下列3个中的任何一个in输入(省略时的默认值)out输出inout输入输出 in姓名:String=“○○△△”默认值输入输出类别输入输出类别参数名:类型=默认值第8章员工派生属性派生属性是指可通过其他属性等计算得出的属性虽是冗长信息,但考虑到便于理解和设计上的缘故(主要是为提高性能),可以使用在属性名的前面加上“/”来表示员工入公司的年月日/工龄派生属性第8章类作用域类作用域类中的所有对象具有能共享的属性值或操作实例作用域类中的每个对象(实例)都各自持有固有的属性值或操作类作用域用在属性、操作的下面加条下划线来表示如果没有特别指明的话,则为实例作用域第8章出租车定员=4驾驶员姓名类作用域创建()分配车辆()实例作用域类作用域的例子定员=4驾驶员=朱先生驾驶员=徐先生驾驶员=吴先生类中的所有对象共享各实例都具有值第8章出租车定员=4驾驶员姓名类作用域创建()分配车辆()实例作用域调用类作用域的例子出租车定员 = 4 驾驶员姓名类作用域创建() 分配车辆()实例作用域● 调用各作用域的操作//调用类来实现类作用域的操作驾驶员朱先生的出租车=出租车.创建()//调用对象来实现实例作用域的操作驾驶员朱先生的出租车.分配车辆()类作用域实例作用域类对象第8章接口可从外部其他元素看到的操作的功能只具有操作的功能,不具有属性,关联,操作的实现和类一样用四角形来表示实例,使用名为《interface》的构造型由于不具有属性,所以可以省略属性区域用实现关系(带空心白色三角的虚线)符号来连接实现接口的元素(类,构件等)<>接口类A实现关系接口第8章接口的例子+打开()+关闭()+移动()+改变尺寸<>窗口IFWindowsX-windowMacX-window也可用持有接口名的小圆作表示接口。但是,无法显示操作一览。窗口IF第8章第9章类图(关系)目标学完本章后,要求达到:能说明关系的表示法及其实现方法能描述关联的方向性和依赖关系第9章设计类之间的关系决定关联的方向(导航性)设定依赖关系设定关联的约束和派生关联判断关系的实现方法由于编程语言不支持关联(依赖关系),所以必须根据情况来判断实现方法适应多重性的设计设计关联类第9章关联的方向(1)用没有箭头的实线来表示具有双向消息流的关联用关联连接于类的对象间,可向任意方向发送消息Class1Class2Object1:Class1Object2:Class2Message1()Message2()双向调用双向关联第9章关联的方向(2)用带箭头的实线来表示具有单向消息流的关联只能向箭头方向发送消息不可反向发送消息Class3Class4Object3:Class3Object4:Class4Message3()单向调用单向关联第9章依赖关系表示两个模型元素(类等)之间存在的使用关系用带箭头的虚线表示类之间使用的依赖关系,主要有以下3种作为局部变量引用时通过参数引用时作为全局引用时第9章依赖关系-作为局部变量引用时类A将类B作为其所持有的操作中的局部变量来使用的情况类A+foo()+bar()类BclassA{publicvoidfoo(){ClassBb=newClassB();b.bar();//某种处理}}使用方被使用方第9章依赖关系-用参数引用时类A通过其持有的操作中的参数来取得类B时的情况类A+foo(b:ClassB)+bar()类BclassA{publicvoidfoo(ClassBb){b.bar();//某种处理}}使用方被使用方第9章依赖关系-全局引用时定义模型整体或包整体能引用类B、此时类A引用类B时的情况类A+foo()+bar()类BclassA{publicvoidfoo(){ClassB.bar();//某种处理}}使用方被使用方第9章约束用于在UML元素中添加条件和限制时的扩展功能可添加在任何UML的模型元素内模型制作者可自由定义但是,UML已经定义过的部分除外在“{}”中描述描述内容可使用自然语言,也可以用某种形式的语言银行账号-存款账号:int{值大于0}在属性中添加的约束第9章关联的约束可在关联中添加约束条件文件二进制数据ASCII数据{xor}员工列表员工{ordered}第9章派生关联派生关联是指从其他关联所导出的关联在关联名前加上“/”来表示总经理命令上司一般员工命令/直接命令派生关联第9章多重性是1或者0..1时的设计订货顾客-订货的顾客11//定义订货类classOrder{...privateCustomerorderCustomer;//订货的顾客...}通常是作为实例变量来实现第9章多重性为1个以上时的设计通常用包容器类来实现用注释来标明用了什么包容器类什么是包容器类?表示包含其他对象的类Set,List,Dictionary,Stack,Queue等也可以使用参数化类订货订货商品11..*List注释第9章参数化类//C++中用模板实现#include//订货类classOrder{...private:ListitemList;...};第9章订货订货商品11订货商品列表ListT关联类的设计由于关联类不可直接实现,所以要作为普通类来重新描述商品仓库0..*1..*库存数量商品仓库0..*1..*库存数量11第9章关联类的设计(通过对象图来确认多重性)0..*1..*所有仓库中都没有牛肉饭。也没有库存。此时,商品到库存的多重性为0。第9章仓库库存商品上海:仓库方便面:商品牛肉饭:商品咖喱:商品苏州:仓库同理,如果上海仓库中商品有1种的话,库存也有1个。商品有2种的话,库存也有2个。上海有方便面。库存也有1个。此时,商品到库存的多重性为1。上海和苏州都有咖喱。库存也有2个。此时,商品到库存的多重性为2。………………上海的方便面库存上海的咖喱库存苏州的咖喱库存第10章状态图目标学完本章后,要求达到:能说明状态图的表示法和使用方法能看懂状态图,并理解状态图的含义能用状态图来描述对象的状态变化第10章状态图对象从生成到销毁期间会有很多的状态变化生成到销毁期间对象的状态变化→状态图是用于着眼于一个具体的对象来表明其状态的变化表示对来自外部的事件,某一对象如何作出反应的情况只需创建有复杂生命周期的类生命周期第10章朱之凡:人状态图的例子着眼于“人”类中的“朱之凡”对象,按时间先后顺序表示其状态变化的图婴儿幼儿学生社会人老人出生走路上学就职退休死亡第10章状态图的模型元素初始状态状态A状态B事件名[监护条件]/动作名状态状态转移终止状态第10章状态表示对象具有的一个状况、条件状态A状态名第10章初始状态用于表示生命周期的初始状态在状态图中只描述一个初始状态(如果有组成状态的话,也只有一个入口)状态表示对象创建时的初始状态第10章状态终止状态表示生命周期的结束、状态、子状态的结束有时,有不存在终止状态的情况(对象永远存在时)有时,会有多个终止状态的情况(有多个终止条件时)表示对象销毁时的终止状态第10章事件给对象带来某种影响的触发情况监护条件只有该条件成立时,才发生相应的状态转移用于根据条件的不同,转移目的地也不同(有分支)的情况事件、监护条件、状态转移状态转移从一个状态转移到另一个状态以下情况会引起转移事件触发满足监护条件重新返回自身状态的,称之为自转移。状态A状态B事件[监护条件]事件[监护条件]状态转移自转移第10章动作指发生转移时所执行的动作事件触发(有监护条件的情况)且监护条件成立时,发生转移动作在转移时执行状态A状态B事件[监护条件]/动作第10章事件、监护条件、状态转移、动作的例子高中生落榜生大学生考试(合格)/入学手续考试(合格)/入学手续考试(不合格)考试(不合格)第10章Q:研讨会类的对象会有什么样的状态?提示:可通过属性值来判断状态研讨会听讲人数定员接受申请()例题:找状态第10章报名中UML入门:研讨会听讲人数=5名额=10UML入门:研讨会听讲人数=10名额=10报名截止例题:找状态(题解)A:有报名中状态(听讲人数<名额)和报名截止状态(听讲人数=名额)听讲人数<名额听讲人数=名额第10章例题:试画状态图Q:请用状态图来表示研讨会对象从“报名中”状态转移到“报名截止”状态的情况。报名中报名截止第10章第10章第10章第10章例题:试画状态图(题解)A:报名中报名截止接收申请(听讲人数<名额)接收申请(听讲人数<名额)第10章状态可分成2个区域名字区域指定状态名字内部转移区域入场动作指进入该状态时所执行的动作活动指从入场到退场的时间内,或到动作结束时所要持续进行的动作退场动作指从一个状态退出时所执行的动作状态Aentry/入场动作do/活动exit/退场动作名字区域内部转移区域第10章入场动作、退场动作、活动的例子入场动作进入“员工”状态时,要执行“加入公司手续”退场动作从“员工”状态退出时,要执行“辞退公司手续”活动进入“员工”状态后,则“工作”这一动作一直要持续到从“员工”状态退出为止从开始到结束,活动需要一定的时间正常执行结束,或对象转移到其他的状态时,活动被中断员工entry/加入公司手续do/工作exit/辞退公司手续第10章组成状态在状态内部还含有状态的状态内部状态称为子状态内部状态可以嵌套,能分成很多层次通过使用组成状态,能简单描述复杂的生命周期组成状态子状态第10章状态21状态22状态1状态3状态2组成状态的初始状态和终止状态状态1状态2状态3表示组成状态开始的初始状态第10章表现组成状态结束的终止状态历史状态第10章历史状态使用历史状态,表示保存子状态(状态21或状态22)的历史表示没有历史的情况下,从历史状态转移到子状态的情况状态21状态22状态1H状态2并发子状态表示在组成状态中,同时产生了多个子状态烹饪过程淘米准备配料准备煮饭结束煮饭完毕准备完毕煮好烤鱼完毕烤鱼煮调味打开电饭锅的电源调味完毕准备完毕第10章第11章包目标学完本章后,要求达到:能说明包的表示法和使用方法能看懂包,并理解包的含义能用包来描述如何分组模型元素第11章什么是包第11章包是基于模型元素的含义或作用,而将模型元素分组的一种机制目的是通过分组,可提高模型的维持性包中间还可以含有其它的包(嵌套)包的模型元素包A(客户端)包B(提供者)依赖关系包包C泛化关系第11章用包修饰的类名第11章A包PP::A用包名来修饰类名为明确类所属的包,可用包名来修饰类名包名::类名包与包之间的依赖关系(单向):A:B消息P::AQ::BAPBQ在类A向类B发送消息的情况下,表明它们所属的包P和包Q之间存在单向的依赖关系。第11章包与包之间的依赖关系(双向)在不同包中的类与类之间,如果有双向发送消息的情况,那么它们所属的包与包之间存在双向的依赖关系。EFGH包R包S包R包S第11章包的分割方法用类的构造型来分割包重新组成包,以尽可能使依赖关系不成为双向关系(循环)把包归总为一个分割包最好把可以复用的包独立起来第11章第12章构件图和部署图目标学完本章后,要求达到:能说明构件图和部署图的表示法和使用方法能理解构件图和部署图的含义能用构件图和部署图来表现软件的结构和配置第12章什么是构件图描述系统实际构成时的源文件、编译后执行文件的文件名及结构的关系图设计阶段注重于物理层面,作为实现的前一阶段,在考虑构件的结构时可以使用构件图第12章构件图的模型元素构件A构件B构件依赖关系第12章构件名构件编译、链接或执行的单位具体可以是执行文件、动态库、源文件、数据文件、数据库的表、帮助文件等使用构造型,可定义各种各样的构件《executable》执行文件《file》数据文件《table》数据库表《document》文档等构件第12章构件的依赖关系用依赖关系来描述构件间的关系构件图主要描述以下两个方面源文件(编译)的依赖关系执行文件的依赖关系第12章源文件的依赖关系的例子memberResistrationForm.htmlBlackList.javaMember.javaMemberList.java第12章执行文件的依赖关系的例子<>main.exe<>member.tbl<>client.exe<>usage.hlp第12章构件的接口<
>member.tbl<>member.exeupdateMembers第12章什么是部署图描述执行时的系统结构(硬件、软件)执行环境中的硬件结构和连接关系对硬件(节点)部署软件(构件)第12章部署图的模型元素节点A节点B节点关联节点名第12章节点执行演算的资源具有内存和处理能力节点可以是构件、进程、对象节点之间的关联(实线)表示节点之间有交流(有通信路径)信道、网络的种类服务器A<>member.exe构件<
>member.tbl第12章节点的类型和实例节点也有类型和实例使用节点类型对所使用的计算机等作一般性表示用节点实例来表示实际部署某节点类型的计算机时的情况在节点名下面添加下划线来描述节点实例节点名:节点类型名  (节点名、节点类型名均为选项)第12章构件的类型和实例构件也有类型和实例在构件名下面添加下划线来表示构件实例用实例表示实际被部署的执行文件用类型表示该执行文件的定义构件类型可使用于构件图和部署图中构件实例只可使用于部署图中main.exemain.exe类型(类型)实例第12章结束谢谢!第12章
本文档为【UML】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_532070
暂无简介~
格式:ppt
大小:2MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2014-03-30
浏览量:132