UML与业务建模-C.ppt
《UML与业务建模-C.ppt》由会员分享,可在线阅读,更多相关《UML与业务建模-C.ppt(198页珍藏版)》请在三一办公上搜索。
1、UML与业务建模,中程在线 咨询培训师CSAI 软件工程首席顾问徐锋,中程在线信息产业培训网,Agenda,UML背景与基础UML的组成常用UML模型基础RUP的UML业务建模法,中程在线信息产业培训网,Agenda,UML背景与基础UML的组成常用UML模型基础RUP的UML业务建模法,中程在线信息产业培训网,模型是对现实的简化,中程在线信息产业培训网,建模的目的与原则,建模目的:帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化 仅当需要模型时,才构建它 选择要创建什么模型对如何动手解决问
2、题和如何形成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型是不充分的。对每个重要的系统最好用一组几乎独立的模型去处理。,中程在线信息产业培训网,UML发展历程,中程在线信息产业培训网,UML特性与发展现状,UML是一种Language(语言)UML是一种Modeling(建模)LanguageUML是Unified(统一)Modeling Language已进入全面应用阶段的事实标准应用领域正在逐渐扩展,包括嵌入式系统建模、业务建模、流程建模等多个领域成为“产生式编程”的重要支持技术:MDA、可执行UML等,中程在线信息产业培训网,为什么
3、使用UML建模,UML是一种统一的、标准化的建模语言 UML是一种应用面很广泛的建模语言,中程在线信息产业培训网,草图和蓝图,蓝图一般是指采用CASE工具绘制的、正式的、规范的UML模型 草图则通常是指手工绘制的、规范度较低的在纸张的UML模型 大胆地绘制草图,尽可能基于草图进行讨论。对于局部的、重要性不高的、共享范围较小的UML模型,直接将草图扫描到电脑存档即可;对于全局的、重要性高的、高度共享的,在草图的基础上用CASE工具绘制成为正式的蓝图,并将其纳入统一的模型管理中,中程在线信息产业培训网,谁应该建模,业务建模:以领域专家为主,需求分析人员是主力,系统分析员、架构师可参与需求模型:以需
4、求分析人员为主,系统分析员是主力,领域专家提供指导,架构师和资深开发人员参与设计模型:高层设计模型以架构师为主,系统分析员从需求方面提供支持,资深开发人员从技术实现方面提供支持。详细设计模型则以资深开发人员为主,架构师提供指导。实现模型:以资深开发人员(设计人员)为主,架构师提供总体指导。数据库模型:以数据库开发人员为主,架构师提供指导,资深开发人员(设计人员)予以配合。,中程在线信息产业培训网,常见认识误区,UML是一种方法论UML就是一堆图形UML只能够应用于面向对象开发中UML就是Rose里的符号UML的学习周期很长、很复杂,中程在线信息产业培训网,Agenda,UML背景与基础UML的
5、组成常用UML模型基础RUP的UML业务建模法,中程在线信息产业培训网,UML的组成,基本构造块:也就是建模元素,是模型的主体UML规则:也就是支配基本构造块如何放在一起的规则公共机制:运用于整个UML模型中的公共机制、扩展机制,中程在线信息产业培训网,事物构造块,事物构造块是对模型中最具有代表性的成分的抽象 结构事物:UML中的名词,它是模型的静态部分,描述概念或物理元素。行为事物:UML中的动词,它是模型中的动态部分,是一种跨越时间、空间的行为。分组事物:UML中的容器,用来组织模型,使模型更加的结构化。注释事务:UML中的解释部分,和代码中的注释语句一样,是用来描述模型的。,中程在线信息
6、产业培训网,面向对象视角下的世界,首先建立反应现实世界中不同事物的“构造块”,然后确定“构造块”之间的“关系”,再确定各个构造块的“属性”和“行为”。这样,在软件系统中就可以模拟现实世界的“构造块”之间的交互与协作 面向对象软件开发的核心思想就是高内聚(封装)、低耦合(消息驱动),使用简洁的接口拼合简单部件,中程在线信息产业培训网,结构事物,类(class)和对象(object)接口(interface)主动类(active class)用例(use case)协作(collaboration)构件(component)节点(node),中程在线信息产业培训网,类和对象,类是对一组具有相同属性
7、、相同操作、相同关系和相同语义的对象的抽象 UML中类是用一个矩形表示的,它包含三个区域,最上面是类名、中间是类的属性、最下面是类的方法 对象则是类的一个实例,中程在线信息产业培训网,接口,接口是描述某个类或构件的一个服务操作集,中程在线信息产业培训网,主动类,主动类实际上是一种特殊的类。引用它的原因,实际上是在开发中需要有一些类能够起到启动控制活动的作用 主动类是指其对象至少拥有一个进程或线程,能够启动控制活动的类,中程在线信息产业培训网,用例与协作,用例是著名的大师Ivar Jacobson首先提出的,现已经成为了面向对象软件开发中一个需求分析的最常用工具 用例实例是在系统中执行的一系列动
8、作,这些动作将生成特定执行者可见的价值结果。一个用例定义一组用例实例。协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其他元素构成的一个群体。对于某个用例的实现就可以表示为一个协作,中程在线信息产业培训网,构件,在实际的软件系统中,有许多要比“类”更大的实体,例如一个COM组件、一个DLL文件、一个JavaBeans、一个执行文件等等。为了更好地对在UML模型中对它们进行表示,就引入了构件(也译为组件)构件是系统设计的一个模块化部分,它隐藏了内部的实现,对外提供了一组外部接口。在系统中满足相同接口的组件可以自由地替换,中程在线信息产业培训网,节点,为了能够有效地对部署的结构进行建
9、模,UML引入了节点这一概念,它可以用来描述实际的PC机、打印机、服务器等软件运行的基础硬件 节点是运行时存在的物理元素,它表示了一种可计算的资源,通常至少有存储空间和处理能力,中程在线信息产业培训网,行为事物,交互(interaction):是在特定语境中,共同完成某个任务的一组对象之间交换的信息集合 交互的表示法很简单,就是一条有向直线,并在上面标有操作名 状态机(state machine):是一个对象或交互在生命周期内响应事件所经历的状态序列 在UML模型中将状态画为一个圆角矩形,并在矩形内写出状态名称及其子状态,中程在线信息产业培训网,分组事物,对于一个中大型的软件系统而言,通常会包
10、含大量的类,因此也就会存在大量的结构事物、行为事物,为了能够更加有效地对其进行整合,生成或简或繁、或宏观或微观的模型,就需要对其进行分组。在UML中,提供了“包(Package)”来完成这一目标,中程在线信息产业培训网,注释事物,结构事物是模型的主要构造块,行为事物则是补充了模型中的动态部分,分组事物而是用来更好地组织模型,似乎已经很完整了。而注释事物则是用来锦上添花的,它是用来在UML模型上添加适当的解释部分,中程在线信息产业培训网,关系构造块关联关系,关联(Association)表示两个类之间存在某种语义上的联系。关联关系提供了通信的路径,它是所有关系中最通用、语义最弱的。在UML中,使
11、用一条实线来表示关联关系 在关联关系中有两种比较特殊的关系:聚合和组合 聚合关系:聚合(Aggregation)是一种特殊形式的关联。聚合表示类间的关系是整体与部分的关系 如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系来描述,中程在线信息产业培训网,关系构造块其他关系,泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。实现关系是用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件的服务。扩展表示将一个构造型附加到一个元类上,使得元类的定义中包括这个构造型。有两个元素X、Y,如果修改元素X的定义可能
12、会引起对另一个元素Y的定义的修改,则称元素Y依赖于元素X。,中程在线信息产业培训网,UML规则,命名:也就是为事物、关系和图起名字。和任何语言一样,名字都是一个标识符 范围:与类的作用域相似,包括所有者作用域和目标作用域两类 可见性:,中程在线信息产业培训网,公共机制规格描述,在图形表示法的每个部分后面都有一个规格描述(也称为详述),它用来对构造块的语法和语义进行文字叙述。这种构思,也就使可视化视图和文字视图的分离:,中程在线信息产业培训网,公共机制UML修饰与通用划分,在为了更好的表示这些细节,UML中还提供了一些修饰符号,例如不同可视性的符号、用斜体字表示抽象类 UML通用划分:1)类与对
13、象的划分:类是一种抽象,对象是一个具体的实例 2)接口与实现的分离:接口是一种声明、是一个契约,也是服务的入口;实现则是负责实施接口提供的契约,中程在线信息产业培训网,UML扩展机制,构造型:在实际的建模过程中,可能会需要定义一些特定于某个领域或某个系统的构造块,中程在线信息产业培训网,UML扩展机制,标记值:则是用来为事物添加新特性的。标记值的表示方法是用形如“标记信息”的字符串 约束:是用来增加新的语义或改变已存在规则的一种机制(自由文本和OCL两种表示法)。约束的表示法和标记值法类似,都是使用花括号括起来的串来表示,不过它是不能够放在元素中的,而是放在相关的元素附近,中程在线信息产业培训
14、网,UML定义的图,中程在线信息产业培训网,UML视图和图,中程在线信息产业培训网,UML图形分类,中程在线信息产业培训网,4+1视图,中程在线信息产业培训网,4+1视图,用例视图:它是最基本的需求分析模型,是可被最终用户看到的系统行为的用例组成。常用的模型包括用例图、交互图、状态图、活动图等。设计视图:又称为逻辑视图,以问题域的语汇组成的类和对象集合,用来描述类、接口、协作。常用的模型包括类图、交互图、状态图、活动图等。进程视图:形成系统并发与同步机制的线程和进程,也就是将可执行线程和进程作为活动类的建模,可理解为设计视图的一次执行实例。它使用的模型与设计视图类似,区别在于更侧重于主动类。,
15、中程在线信息产业培训网,4+1视图,实现视图:对组成基于系统的物理代码的文件和组件进行建模,即装配与发布物理系统的构件和文件。常用的模型包括构件图、交互图、状态图、活动图。部署视图:包含了形成系统硬件拓扑结构的节点,也就是描述组件是如何物理地部署到一组物理的、可计算节点上的。常用的模型包括部署图、交互图、状态图、活动图。,中程在线信息产业培训网,开发过程,中程在线信息产业培训网,练习题,如果你想对一个类的用途进行简要描述,那么应该采用?请简要说明原因。A.标记值 B.规格描述 C.注释 D.构造型 请列举出三个以上UML中的事物构造块。说说适合用来表示“系统向用户提供的功能”的构造块是什么适用
16、于模型管理的是哪张图?下图所示的符号表示的是什么?它是关系构造块还是事物构造块?,中程在线信息产业培训网,Agenda,UML背景与基础UML的组成常用UML模型基础RUP的UML业务建模法,3.1 类图,中程在线信息产业培训网,理解面向对象思想,中程在线信息产业培训网,理解面向对象思想,每个对象都扮演了一个角色,并为其它成员提供特定的服务或执行特定的行为。在面向对象世界中,行为的启动是通过将“消息”传递给对此行为负责的对象来完成的;同时还将伴随着执行要求附上相关的信息(参数);而收到该消息的对象则会执行相应的“方法”来实现需求 用类和对象表示现实世界,用消息和方法来模拟现实世界的核心思想,中
17、程在线信息产业培训网,如何用UML表示一个类,名称:每个类都有一个惟一的名称,通常采用CamelCase格式表示属性:是已被命名的类的特性,它描述该类实例中包含的信息 操作:是类所提供的服务,它可以由类的任何对象请求以影响其行为属性名和操作名也通常采用CamelCase格式表示,只不过首字母通常为小写。,中程在线信息产业培训网,如何阅读类图,先看清有哪些类,然后看看类之间存在的关系,并结合多重性来理解类图的结构特点以及各个属性和方法的含义,中程在线信息产业培训网,读图过程,读出类:图中共有7个类,Order、OrderItem、Customer、Consignee、DeliverOrder、P
18、eddlery、Prodcut读出关系:从图中关系最复杂(也就是线最密集)的类开始阅读,本图中最复杂的就是Order类。1)OrderItem和Order之间是组合关系,根据箭头的方向可知Order包含了OrderItem。2)Order类和Customer、Consignee、DeliverOrder是关联关系。也就是说,一个订单和客户、收货人、送货单是相关的。,中程在线信息产业培训网,读图过程,多重性:用来说明关联的两个类之间的数量关系,中程在线信息产业培训网,读图过程理解方法和图,Order类,有两个方法:dispatch()和close(),从名字中可以猜出它们分别实现“分拆订单生成送
19、货单”和“完成订单”。而在DeliveOrder()类中则有一个Close()方法,同理它应该表示“完成送货”。而在OrderItem中有一个stateChange()方法和deliverState,不难猜出它就是用来改变其“是否交给收货人”标志位的,中程在线信息产业培训网,读图过程理解方法和图,先调用Order的dispatch()方法,它将根据其包含的OrderItem中产品信息,来按供应商户分拆成若干个DeliverOrder。商户登录系统后就可以获取其DeliverOrder,并在执行完后调用close()方法。这时,就将调用OrderItem的stateChange()方法来改为其状
20、态。同时再调用Order的close()方法,判断该Order的所有的OrderItem是否都已经送到了,如果是就将其真正close()掉,中程在线信息产业培训网,使用了更多建模元素的类图,中程在线信息产业培训网,辅助建模符号,导航箭号:类的实例之间只能沿着导航箭头的方向传递,在Order中可以获取其相应的Consignee,而从Consignee中是无法了解与其相关的Order的 角色名称:Customer端有一个“+Owner”字符串,这表示Customer扮演的角色是Owner,也能对关联进行命名,中程在线信息产业培训网,辅助建模符号,导出属性:是指可以根据其他值计算出来的特性,这种属性
21、应在其名称前加上一个“/”符号。限定符:在Order和OrderItem之间的组合关系中,OrderItem这端多了个方框,写着“ProductId”。在UML中称为限定符,存在限定符的关联称为受限关联。它用来表示某种限定关系。在本例中说明:对于一张订单,每一种产品只能用一个订单项 约束:用来说明规则,xor职责:在类的属性栏中添加注释行表示,或增加了一个新的分栏,中程在线信息产业培训网,对象约束语言,环境与约束:每个OCL表达式都必须是针对某个元素的,因此在OCL表达式前必须说明它针对元素(这就称为环境)1)“context Object inv:”,其中Object是OCL表达式针对的建模
22、元素名称;2)“Object”,其中Object是OCL表达式针对的建模元素名称。当声明了环境之后,就可以用self来引用它的变量,中程在线信息产业培训网,对象约束语言,子集约束:一致性:一个客户拥有零个或多个合同,发票是基于某个合同的,而一个客户将收到零张或多张发票 Invoice:=self.customer,中程在线信息产业培训网,对象约束语言,异或关系:规定的取值范围:Rectangle:length0 and width0,中程在线信息产业培训网,用类图表示软件系统模型,领域模型是从面向对象视角看待现实世界的结果,也就是通过类图描述现实世界中各种事物的关系。分析模型和领域模型很相近,
23、分析模型主要是针对软件系统,领域模型则更多偏重对业务领域的分析 设计模型则是在分析模型的基础上添加设计元素的结果。设计模型中的类的属性集更趋完善。,中程在线信息产业培训网,最常见的域建模错误 10,立即给关联指定多重度(multiplicity),确保每个关联都有明确的多重度。类图上的有些关联表示的是一对一的关系,而其他关联表示的是一对多的关系。这两种关系都被称为多重度。然而,不应在域建模期间就确定所有的多重度这将占用大量的时间,是导致分析瘫痪的主要原因之一,中程在线信息产业培训网,最常见的域建模错误 9,对名词和动词做过度的分析,而背离初衷。将很可能处于过低的抽象层次上,同时有神经崩溃的危险
24、。可以使用一些技巧来发现对象,但绝不要沉溺其中。,中程在线信息产业培训网,最常见的域建模错误 8,不对用例和时序图进行研究,就将操作分配给类。我们提倡在域建模过程中使用要求最低的方式。事实上,我们是想告诉您,不应在域建模期间将任何操作分配给类。因为,在项目的该阶段还没有足够的信息,无法就操作做出正确的决策。进入交互建模后,您将拥有足够的信息(至少我们希望如此)。在确保已满足用户需求之前,对代码进行优化以提高重用性。,中程在线信息产业培训网,最常见的域建模错误 7,对象和类的通用程度越高,在其他项目中重用它们的可能性就越大。一个完整的类在理论上是可以在任意数目的环境(context)中重用的,然
25、而要实现完整性和重用性,必须考虑属性和操作,而前面已经指出了不应在域建模期间将操作分配给类的原因,因此在完成高级类图期间,将过多的精力用于提供类的可重用性是不明智的。应快速完成域建模工作,以便有时间确保您要构建的系统正是客户所需要的。,中程在线信息产业培训网,最常见的域建模错误 6,对于每个“一部分(part-of)”关联,就使用聚集还是组合(composition)而争论不休。在UML中,最初描述的“按引用拥有(has by reference)”关系是聚集,而“按值拥有(has by value)”关系是一种被称为组合的“强”形式的聚集,在这种关系中,“部分(piece)”类归父类“所有”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 业务 建模
链接地址:https://www.31ppt.com/p-5451544.html