版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、UML图UML提供了9种不同的模型图,用来对系统建模。类图、对象图、用例图、序列图、协作图、状态图、活动图、构件图、部署图。UML的设计视图包含了类、接口和协作,其中,设计视图的静态方面有类 图和对象图表现;动态方面由交互图序列图和协作图、状态图和活动图 表现。1、 类图描述系统的对象结构,它们显示构成系统的对象类以及这些对象类之间 的关系。类图是:静态设计视图。2、 对象图对象图类似类图,但并不描述对象类,它们对实际的对象实例建模一显 示实例届性的当前值。对象图是:静态设计视图。用例图用例图以图形化的方式描述系统与外部系统及用户的交互。换句话说, 它们以图形化的方式描述了谁将使用系统,以及用
2、户期望以什么方式与 系统交互。图1用例图3、newUserloc土&顼汨acldMoney与炯血加4、序列图是场景的图形化表示,描述以时间顺序组织的对象之间的交互活动盟日拓下:斐殴的船:checkMarket管理员翻开埔加用尸的界面,在畀面上逸择一中绢恿过在下拉列表中,并输入用P箜末信息,燃后向系城提交保存.慕获保存用户的搭原.丹建立.用口和狙的关腊.网stUserA如is creates userU牌我丘r gpN:ui: a;2: Get GreupList3: Eetur (hroupLi si4. Display ASFK6 Cr&i-ti& u.-r qbj.
3、ctT Set object propertiesAdd usr (usr口grow ED)9Get grgp ly ii hH:11: Set userJs戳gp abject12: Sam槌DB叩.Return group objectSave user (User ittfo. Group D)序列图:动态方面进行建模。5、协作图或称通信图。强调收发消息的对象的结构组织,类似序列图,但重点不是消息的时间顺序,它以一种网状格式表现对象之间的交互。协作图和序列图称为:交互图。协作图:动态方面进行建模。6、状态图对一个特定对象的动态行为建模,说明一个对象的生命周期-对象可以经历各种状态,以及引
4、起对象从一个状态向另一个状态转换的事件。图2.Seminar完整生命周期状态图:动态方面进行建模。7、活动图活动图是一种特殊的状态图, 它展示了在系统内从一个活动到另一个活 动的流程。活动图:动态方面进行建模。图9活动图8、构件图用来描述系统的物理结构,它可以用来显示程序代码如何分解模块。展 示一组构件之间的组织和依赖。构件图:静态实现视图。9、部署图描述系统中硬件和软件的物理架构,它描述构成系统架构的软件构件, 处理器和设备。它与构件图相关,通常一个节点包含一个或多个构件。部署图:静态实施视图。UML表达UML文档仅仅是设计与开发人员采用UML语言进行系统分析与设计的结 果,并没有给出如何进
5、行开发和采用何种开发流程,同样也不指导如何进 行面向对象设计。UML文档描述了面向对象分析与设计的结果。UML关系webJF发技术库c n-we b. c omUML有4种关系:依赖、关联、聚集关联一种、组合聚集的另一种形 式、泛化继承、实现1、 依赖1、- 或是依赖。2、其中一个事物独立事物发生变化会影响另一事物依赖事物的语义。3、例如自行车bicycle和打气筒pumpBicycle类和Pump类之间是依赖关系,在Bicycle类中无需定义Pump类型的变量。Bicycle类的定义如下:public class Bicycle/*给轮胎充气*/public void expandPump
6、pumppump.blow;Bicycle类调用Pump,但是并不是Pump p=new Pump的那种实例 化的调用,它依赖的是现在已存在一个对萦,而不是实例化的一 个新对象。Bicycle- Pump Bicycle依赖Pump。2、关联1、或是关联。2、两个相对独立的系统,当一个系统的实例与另一个系统的一些特定实例存在固定的对应关系,这两个系统之间为关联关系。给定一个连接两个类的关联,可以从一个类的对象导航到另一个类 的对象,反之亦然。通过一个指示的单向箭头修饰关联,可以显示 地描述导航的方向。3、A -c B,正确的描述是:类A的实例中包含了对类B的实例的引用。Bi cycleexpa
7、nd。继承:A般化 关联:C双向关联依敦:E戏向依赖蛆含:G聚合:HB实现D单向关联F单向傕赖导航方向A B,说明从类A的实例导航到类B的实例,因此类A中必然包含一个对类B的实例的引用。图C表示的是关联一端的 角色名称。4、例如客户和订单,每个客户对应一个特定订单;再例如公司和员工, 每个公司对应一些特定的员工,每个员工对应一特定公司;例如自 行车和主人。PersonBicwle-goToWork()un(),JPerson类与Bicycle类之间存在关联关系,这意味着在Person类中需要 定义一个Bicycle类型的成员变量。以下是Person类的定义:public class Perso
8、n(private Bicycle bicycle;什人的自行车public Bicycle getBicycle() return bicycle; public void setBicycle(Bicycle bicycle) this.bicycle=bicycle; /*骑自行车去上班*/public void goToWork() bicycle.run(); 5、关联关系是类与类之间的联接,它使一个类知道另一个类的届性和 方法0关联关系包括单向关联、双向关联、聚合关联、合成关联、反射关联关系。6、多重度。UML中关联的多重度是指一个类的实例能够与另一个类的多少个实例 相关联。关联表
9、示了对象间的结构关系,在很多建模问题中,说明一个关联的 实例中有多少个互相连接的对象是很重要的。这个“多少被称为关 联角色的多重度。指定关联一端的多重度,就是说明:在关联另一端的类的每个对象要 求在本端的类必须有多少个对象。可能的多重值描述表小含义0.10个或1个1只能1个0.*0个或多个*0个或多个1.*1个或我个只能3个0.5 |0到5个m.nm至U n个聚集是聚集。是一种特殊类型的关联,它描述了整体和局部间的结构关系。某个 类是另外某个类的一局部。在一个聚合关系中,子类实例可以比父 类存在更长的时间车和轮胎间的聚合关系的例子4)、当系统A被参加到系统B中,成为系统B的组成局部时,系统B和
10、系统A之间为聚集关系。例如自行车和它的响铃、龙头、轮胎、钢 圈以及刹车装置就是聚集关系,因为响铃是自行车的组成局部。而 人和自行车不是聚集关系,因为人不是由自行车组成的,如果一定 要研究人的组成,那么他应该由头、躯干和四肢等组成。由此可见, 可以根据语义来区分关联关系和聚集关系。5)、聚集关系和关联关系的区别还表现在以下方面:A、对丁具有关联关系的两个对象,多数情况下,两者有独立的生 命周期。比方自行车和他的主人,当自行车不存在了,它的主 人依然存在;反之亦然。8对丁具有聚集关系(尤其是强聚集关系)的两个对象,整体对 象会制约它的组成对象的生命周期。局部类的对象不能单独存 在,它的生命周期依赖
11、丁整体类的对象的生命周期,当整体消 失,局部也就随之消失。比方小王的自行车被偷了,那么自行 车的所有组件也不存在了。6)、不过,在用程序代码来表示关联关系和聚集关系时,两者比拟相例如自行车Bicycle与响铃Bell的聚集关系。public class Bicycle(private Bell bell;public Bell getBell()(return bell;public void setBell(Bell bell)this.bell=bell;/*发出铃声*/public void alert()bell.ring();在Bicycle类中定义了Bell类型的成员变量,Bicy
12、cle类利用自身的bell成员变量来发出铃声,这和在Person类中定义了Bicycle类型的成员 变量,Person类利用自身的bicycle成员变量去上班很相似。组合1、黑是组合。2、组合聚合关系是聚合关系的另一种形式,但是子类实例的生命周期依赖丁父类实例的生命周期。在图13中,显示了Company类和Department类之间的组合关系,3、 聚集1)、2)、4、3、注意组合关系如聚合关系一样绘制,不过这次菱形是被填充的。在UML中,关联,依赖,聚集,组成的联系十分紧密,不容易区分,本文试图 用通俗的语言来讲解这四种关系的区别。关联,即是发生关系,一个类A关联类B,说明类A中的字段或届性
13、中含有 类B的实例链接在C+中为指针,类B也可以关联类A,他们是对等的,没 有主次之分。依赖,类A依赖类B,说明类A中用到了类B,这个“用到,比关联的程度更 浅,比方,在局部变量函数中的变量和函数参数中用到了类B,也可能是类A用到了类B的静态函数。聚集:聚集也是一种关联,但是对丁关联来讲,关联的双方都是对等的,没有主 次之分,在聚集中,那么有主次之分,“主的一方只能有一个。那计算机来说,“计算机是一个对象,他就是“主,而“硬盘,“主板,“显示器等等那么 是“次的一方,“硬盘,“主板,“显示器聚集成“计算机,他们只是聚集 的关系,主板完蛋了,并不影响显示器,所以大家可以理解为聚集中的对象,即 是
14、一个整体,乂各自独立。组成:组成是一种特殊的聚集那当然也是关联喽,拿桌子来说吧,桌子有桌 面和桌腿组成,然桌面没有了或桌腿没有了,都不能称之为桌子,这个意思就是 说,对丁组成对象的个局部来讲,他们有一个有机的整体,不可分割的整体。桌 子对象主体对象要负责桌面,桌腿“次对象,主次之分的“次的生命 周期。拿C+砒言来讲,桌子对象内部含有桌面对象和桌腿对象的对象实例,这可不是指针喽,但在“聚集中是指针,这也就是聚集和组成的区别。5、泛化1、1是泛化。2、泛化generalization是一种特殊/一般关系,在其中特殊元素子元素基丁一般元素父元素而建立。用这种方法,子元素共享 了父元素的结构和行为也就
15、是说 子元素继承了父元素。3、表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化关系是子类指向父类的,或从实现接口的 类指向被实现的接口,与继承或实现的方向相反。如下列图所示:6、实现1、-1是实现。2、实现realization是类目之间的语义关系,其中的一个类目指定了 由另一个类目保证执行的合约。在两种地方会遇到实现关系:一种是在 接口和实现它们的类或构件之间;另一种是在用例和实现它们的协作之 问。四、UML构件概念构件的定义:构件是系统的可替代的物理局部,它表示的是实际的事物.构件 是定义了良好接口的物理实现单元 .它是系统中可以替代的局部.每个构件 表达了
16、系统设计中的特定类的实现.良好定义的构件不直接依赖丁其它构件 而依赖丁构件所支持的接口 .在这种情况下,系统中的一个构件可以被支持正确的接口的其它构件所替代 接口是被软件或硬件所支持的一个操作集.通过使用命名的接口 ,可以防止在系统的各个构件之间直接发生依赖关系.有利丁新构件的替换.五、大题知识点第四章P751、 补充类的届性。2、 判断类之间的关系,补充。3、 根据序列图,判断实例化的例子个数第六章P1254、 补充父类公共届性5、 填写关联的多重度6、 识别类应有的方法第八章P1817、 识别多重度8、 选择类适合的方法9、 判断关联和聚集的联系和区别第十章P23510、补充关系图中适合的
17、类名11、填写类的届性12、多重度补充总结大题考UML考以下知识点:1、给出类,填写类的届性,例如父类的公共届性等。这类题只需细读题目都可 以找出。记住答题的时候按照题目给出的名词进行填写, 不要自己画蛇添足。2、 给出类,选择类适合的方法。同上,细读题目。如果在序列图里面查找对应方法,要看活楚,如果有返回箭头虚线的,那么方法名应该选择Get*什么的, 例如P181页的题目。如果没有箭头虚线返回,那么应该是Create*或者Add* ,是届于一个无需返回值的操作动作。3、 给出类,画类与类之间的关系。这类题目要熟读说明,区分出继承关系,关 联关系和聚集关系。普遍是这几种关系。继承关系:父类子类聚集关系:局部整体,整体决定局部的生命周期,局部生命周期之间无必然 联系。关联关系:实在不行就关联吧。组合关系:局部整体,整体决定局部的生命周期,局部生命周期也影响局部 的生命周期,就是说局部之间有关联关系存在。没怎么出现过。依赖关系和实现关系。目前还没看到实际出现过。4、 给出关系,画出应该填写的类名。这种题一般还是比拟好做,因为有上下关系给出,加上说明和已出现的类名, 可以参考出来应该填写什么答案。5、给出UML关系图,填写多重度参考说明,这种题不难,不过要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江西省吉州窑文化旅游投资有限公司招聘劳务派遣人员1人(2)考试备考题库及答案解析
- 2026年丹棱县教师招聘笔试备考题库及答案解析
- 2026-广西供电局会务接待招聘考试参考题库-含答案
- 2026重庆巫山县生态环境局公开招聘7人考试备考题库及答案解析
- 杭州联合农村商业银行股份有限公司2027届校园招聘考试备考题库及答案解析
- 2026雅安职业技术学院附属医院第二批见习人员招募笔试模拟试题及答案解析
- 2026年中乐器制造行业发展趋势及投资前景报告及未来五至十年新兴市场与增量突破
- 2026年工业颜料制造行业发展趋势报告及未来五至十年产业升级与格局演变
- 2026广西河池市巴马县百林乡人民政府招聘交通协管员1人笔试参考题库及答案解析
- 2026年航空旅客运输行业现状及前景展望报告及未来五至十年智能体与场景落地
- (2025年)潍坊市临朐县公安辅警招聘知识考试题库及答案
- 健身房会员合同样本
- 2025年护理核心制度
- 板框压滤机工艺培训
- 内蒙古西部天然气蒙东管道有限公司招聘笔试题库2025
- 车棚电动车起火应急演练方案
- GJB843.10A-2021-潜艇核动力装置设计安全规定第10部分:控制系统设计准则
- 大队委面试题及答案
- 中国教会史课件
- 高分子化学(刘向东)全套教案课件
- 无人机驾驶技能培训(退役军人)专项服务方案
评论
0/150
提交评论