您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第6节UML为云服务建模
第六节为云服务建模统一建模语言UML为云服务建模•统一建模语言UML•服务的建模统一建模语言UML•类图是描述类、协作(类或对象间的协作)、接口及其关系的图。•类图是逻辑视图的重要组成部分,用于对系统的静态结构建模,涉及到具体的实现细节。–在系统分析阶段,类图主要用于显示角色和提供系统行为的实体的职责;–在系统设计阶段,类图主要用于捕捉组成系统体系结构的类结构;–在系统编码阶段,根据类图中的类及它们之间的关系实现系统的功能。电子商务网站的对象模型统一建模语言UML类图的组成元素•结构元素:类、接口•行为元素:协作、消息•组织元素:包、关系•注释元素:约束统一建模语言UML3.2UML中的类1、类的表示(1)类的定义类是具有相似结构、行为和关系的一组对象的描述符。(2)类的表示3.2UML中的类(3)类的命名•由字符、数字、下划线组成的惟一的字符串;•采用CamelCase格式(大写字母开头,混合大小写,每个单词一大写开始,避免使用特殊符号)•类名的两种表示方法简单名Order路径名java::awt::RectangetbusinessRule::Order3.2UML中的类(4)类的属性•属性描述了类的静态特征;•属性名的第一个字母小写;•属性的定义格式[可见性]属性名[:类型][‘[’多重性[次序]‘]’][=初始值][{特性}]说明:可见性包括+、-、#、~例:#visibility:Boolean=falsecolors:Color[3]points:Point[2..*ordered]name:String[0..1]3.2UML中的类(5)类的操作•操作名的命名规范习惯采用和属性名相同的命名规则。•类的操作的定义格式[可见性]操作名[(参数列表)][:返回类型][{特性}]•例:+hide():Boolean#create()-attachXWindow(xwin:XwindowPtr)3.2UML中的类(6)类的职责职责指类承担的责任和义务。在矩形框中最后一栏中写明类的职责。WashingMachineBrandnameModelnameSerialnumberCapacityAddclothes()Adddetergent()Removeclothes()Takedirtyclothesasinputandproducecleanclothesasoutput3.2UML中的类(7)类的约束约束指定了类所要满足的一个或多个规则。在UML中,约束是用花括号括起来的自由文本。WashingMachineBrandnameModelnameSerialnumberCapacityAddclothes()Adddetergent()Removeclothes(){capacity=16or18or20lb}3.2UML中的类2、类的种类(1)抽象类•当某些类有一些共性的方法或属性时,可以定义一个抽象类来抽取这些共性,然后将包含这些共性方法和属性的具体类作为该抽象类的继承;•抽象类是一种不能直接实例化的类,不能用抽象类创建对象;•抽象类可以实现多态;3.2UML中的类(1)抽象类•在UML中,抽象类和抽象方法的表示是将其名字用斜体表示。3.2UML中的类(2)接口•接口是一种类似于抽象类的机制,是一个没有具体实现的类。•接口可以实现多态;•在UML中接口有两种表示方法:《Interface》图标表示法Collection构造符号表示法3.2UML中的类(3)关联类–当两个类之间具有多对多的关系,并且有些属性不属于关联两端任何一个类;–关联类通过一条虚线和对应的关联连接;类图中的关系•依赖关系:•关联关系:协作、消息•继承关系:包、关系•实现关系:约束统一建模语言UML依赖关系-Dependency•软件开发中,往往会设计一些公用类,供别的类调用,如果这些公用类出问题了,那调用这些公用类的类都会因此而出问题。•依赖关系(Dependence):假设A类的变化引起了B类的变化,则说名B类依赖于A类。–在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。举例:–你很爱你老婆,没有你老婆你活不下去,可以这样表示–如果一个烟鬼嗜烟如命,用类图可以这样表示依赖关系-Dependency•association•关联是模型元素间的一种语义联系,当类之间在概念上有连接关系时,类之间的连接叫做关联。•队员和球队之间的关联,可以用短语“队员为篮球队效力”来刻画,图形表示为:PlayerTeamplayson关联关系Class1Class2associationnamerolename1rolename2multiplicity1multiplicity2关联有名称、角色、多重性和导航性等语法。关联关系(1)关联名–描述关联的作用;–通常使用动词或动词短语;关联关系(2)角色–关联两端的类可以某种角色参与关联;–通常使用名词或名词短语;关联关系(3)多重性–某个类有多少个对象可以和另一个类的单个对象关联;关联关系(4)关联的约束–关联可加上一些约束,以加强关联的含义;关联关系关联(4)关联的约束–一个BankTeller为顾客服务,但是服务的顺序要按照顾客排队的次序进行。在模型中可以通过在Customer类附近加上一个花括号括起来的“ordered(有序)”来说明这个规则,也就是指明约束。–另一种类型的约束是OR关系,图中标明高中生(highschoolstudent)选(choose)专业课(academic),或者选商务课(commercial)时的模型。关联关系——包含•一辆汽车有4个轮子,我们可以这样表示•你可能觉得这样表示还不太合适,汽车应该包含4个轮子,或者说轮子本来就属于汽车的一部分,那怎样画能更加贴切表示这样的关系呢?我们可以这样画:关联关系——聚合Aggregation•类之间的一种整体与部分的关系•体现了一种层次结构,整体类位于部分类的上层,多个部分类处于并列的层次UniversityDepartment1..n111..n关联关系——组合Composition•是一种特殊形式的聚合(强聚合),聚合中的每个部分只能属于一个整体;•表示类之间整体和部分的关系。•整体与部分具有相同的生存期。ButtonWindow1..n1Menu1..n111..n11..n关于聚合与组合•“弱”包含表示如果部门没有了,员工也可以继续存在;“强”包含表示如果部门没有了,员工也不再存在。•在做软件需求时,往往会将所有的包含关系画成“弱”包含,后面发现某些关系可以表示为“强”包含,应转为实心菱形。员工部门0..n0..n员工部门0..n0..n关于聚合与组合继承关系-Generalization•表示两个类元间“一般”与“特殊”的关系。•对应面向对象编程语言中类与类之间的继承关系。•“isakindof”关系,XX是一种XXAthleteSwimmerGolfer实现关系-Realization•表达一种说明元素与实现元素之间的关系;•类和接口之间的关系是实现关系,表示类实现接口提供的操作•显示一个类引用另一个类利用UML类图为服务建模1、服务中类的抽象层次概念类描述应用领域中的概念,仅包含类名,不考虑细节。分析类分析不针对具体语言,包含一些类的细节特性。设计类针对具体的语言,考虑类的实现细节。2、建立类图的步骤1)分析问题域,确定需求;2)寻找类,确定类的含义和职责;3)定义类的属性和操作;4)确定类之间的关系;5)精化类和类间的关系;6)绘制类图。利用UML类图为服务建模3、类的建模方法使用名词/动词寻找类:1)收集相关信息补充的需求规格说明用例项目说明文档其他文档2)分析信息名词、名词短语类或属性动词、动词短语操作利用UML类图为服务建模3.5如何建立类图3、类的建模方法使用CRC分析法寻找类:C-class(类)R-responsibility(职责)C-collaboration(协作)CRC分析法是根据类所要扮演的职责来确定类。3.5如何建立类图3、类的建模方法根据边界类、控制类、实体类帮助分析系统中的类:UML中类有三种主要的版型:边界类、控制类和实体类。边界类:位于系统与外界的交界处。如:窗体、对话框、报表、以及表示通讯协议的类、直接与外部设备交互的类。3.5如何建立类图3、类的建模方法根据边界类、控制类、实体类帮助分析系统中的类:UML中类有三种主要的版型:边界类、控制类和实体类。实体类:保存要放进持久存储体的信息。持久存储体就是数据库、文件等可以永久存储数据的介质。通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。3、类的建模方法根据边界类、控制类、实体类帮助分析系统中的类:UML中类有三种主要的版型:边界类、控制类和实体类。控制类:是控制其他类工作的类。利用UML类图为服务建模建模案例1、电子商务网站业务描述使用了更多辅助建模元素的类图时序图Login.jspLoginCheck.jspUserBeanC.javaWelcome.jsp1:userName,passWord2:userCheck(userName,passWord)3:true/false4:5:
本文标题:第6节UML为云服务建模
链接地址:https://www.777doc.com/doc-2111281 .html