类图由类及类与类之间的关系组成常有关联泛化继承

上传人:ni****g 文档编号:570019460 上传时间:2024-08-01 格式:PPT 页数:47 大小:357.50KB
返回 下载 相关 举报
类图由类及类与类之间的关系组成常有关联泛化继承_第1页
第1页 / 共47页
类图由类及类与类之间的关系组成常有关联泛化继承_第2页
第2页 / 共47页
类图由类及类与类之间的关系组成常有关联泛化继承_第3页
第3页 / 共47页
类图由类及类与类之间的关系组成常有关联泛化继承_第4页
第4页 / 共47页
类图由类及类与类之间的关系组成常有关联泛化继承_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《类图由类及类与类之间的关系组成常有关联泛化继承》由会员分享,可在线阅读,更多相关《类图由类及类与类之间的关系组成常有关联泛化继承(47页珍藏版)》请在金锄头文库上搜索。

1、秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承 类图由类及类与类之间的关系组成。常有关联、类图由类及类与类之间的关系组成。常有关联、泛化(继承)、依赖和细化等泛化(继承)、依赖和细化等4种关系。种关系。1. 关联关联(relating)关联表示两个类的对象之间存在某种语义上的联系。关联表示两个类的对象之间存在某种语义上的联系。(1) 普通关联普通关联(common relating)只要在类与类之间存在连接关系就可以用普通关只要在类与类之间存在连接关系就可以用普通关联表示。关联是双向的

2、,可在一个方向上为关联起一联表示。关联是双向的,可在一个方向上为关联起一个名字,在另一个方向上起另一个名字(也可不起名个名字,在另一个方向上起另一个名字(也可不起名字)。为避免混淆,在名字前面(或后面)加一个表字)。为避免混淆,在名字前面(或后面)加一个表示关联方向的黑三角。示关联方向的黑三角。9.4.2 表示关系的符号表示关系的符号(Relationship Symbol)诱刃闹虽介费疼斋汾杭两腋甸连楷禄煽痹涯跟陡晕心杖兵蝶迸沃堂炬凑蕉类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类

3、图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.6 普通关联示例普通关联示例货移悄混谰挡滥灵眩乘盅焊仆烟巴匈脏扶脑艳柿其鹤犊载元麦宏邵血彭削类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承在表示关联的直线两端可以写上在表示关联的直线两端可以写上重数重数(multiplicity),),它表示该类有它表示该类有多少个对象与对方的一个对象连接多少个对象

4、与对方的一个对象连接。重。重数的表示方法通常有:数的表示方法通常有:01表示表示0到到1个对象个对象0*或或*表示表示0到多个对象到多个对象1+或或1*表示表示1到多个对象到多个对象115表示表示1到到15个对象个对象3表示表示3个对象个对象如果图中未明确标出关联的重数,则默认重数是如果图中未明确标出关联的重数,则默认重数是1。靡轰酚夯飞雄忠坐家派棋单榔后替达栖规妓的价预草勋神孝郝捐慷缄慌扑类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图

5、由类及类与类之间的关系组成常有关联泛化继承(2) 关联的角色关联的角色(Role of relating)参与此参与此关联的对象所扮演的角色关联的对象所扮演的角色(即起的作用),(即起的作用),例如,图例如,图9.7是一个是一个递归关联递归关联(即一个类与它本身有(即一个类与它本身有关联关系)的例子。一个人与另一个人结婚,必然一关联关系)的例子。一个人与另一个人结婚,必然一个人扮演丈夫的角色,另一个人扮演妻子的角色。如个人扮演丈夫的角色,另一个人扮演妻子的角色。如果没有显式标出角色名,则意味着用类名作为角色名。果没有显式标出角色名,则意味着用类名作为角色名。键部桓蜀堪代歇族飘柜斋拼煌僵盗厨菜酮

6、切信氟泉骨占褂腑点某筐鳖宰踏类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.7 关联的角色关联的角色脖用倔阀今数猛煮钮掩蝶狭找替漫觅关抱淖彰疆屑庇跳影获酮垣坑溜匪抢类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系

7、组成常有关联泛化继承(3) 限定关联限定关联(restrained relating)通常用在一对多或多对多的关联关系中,可以把通常用在一对多或多对多的关联关系中,可以把模型中的模型中的重数从一对多变成一对一重数从一对多变成一对一,或从多对多简化或从多对多简化成多对一成多对一。在类图中把限定词放在关联关系末端的一。在类图中把限定词放在关联关系末端的一个小方框内。个小方框内。例如,某操作系统中一个目录下有许多文件,一个文例如,某操作系统中一个目录下有许多文件,一个文件仅属于一个目录,在一个目录内文件名确定了惟一件仅属于一个目录,在一个目录内文件名确定了惟一一个文件。图一个文件。图9.8利用限定词

8、利用限定词“文件名文件名”表示了目录与表示了目录与文件之间的关系,可见,利用限定词把一对多关系简文件之间的关系,可见,利用限定词把一对多关系简化成了一对一关系。化成了一对一关系。咖王留钧低湖断记虚医疼耶琐它旦肤磐喳响摸锌秃仰瞩耿扒羌社岗敢概肖类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.8 一个受限的关联一个受限的关联由于目录加文件名可惟一地确定一个文件,因此,由于目录加文件名可惟一地确

9、定一个文件,因此,限定词限定词“文件名文件名”应该放在靠近目录的那一端。应该放在靠近目录的那一端。荒拎橇娶获媚幼奸株铜搽桓野捅曲先尼疤禄俭傀存戏臆际巧舌治巢讶仁晾类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承(4) 关联类关联类(class of relating)为了为了说明关联的性质说明关联的性质可能需要一些附加信息。可可能需要一些附加信息。可以以引入一个关联类引入一个关联类来记录这些信息。

10、关联中的每个连来记录这些信息。关联中的每个连接与关联类的一个对象相联系。关联类通过一条虚线接与关联类的一个对象相联系。关联类通过一条虚线与关联连接。与关联连接。敞掖丘监买艇收纶极耶苛物萄炕卖畸脐输寇蔡吊株挣醒偷聪苹皱迹莽拢肛类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承例如,图例如,图9.9是一个电梯系统的类模型,是一个电梯系统的类模型,队列就是电队列就是电梯控制器类与电梯类的关联关系上的关联类

11、梯控制器类与电梯类的关联关系上的关联类。从图中。从图中可以看出,一个电梯控制器控制着可以看出,一个电梯控制器控制着4台电梯,这样,台电梯,这样,控制器和电梯之间的实际连接就有控制器和电梯之间的实际连接就有4个,每个连接都个,每个连接都对应一个队列(对象),每个队列(对象)存储着来对应一个队列(对象),每个队列(对象)存储着来自控制器和电梯内部按钮的请求服务信息。自控制器和电梯内部按钮的请求服务信息。电梯控制电梯控制器通过读取队列信息,选择一个合适的电梯为乘客服器通过读取队列信息,选择一个合适的电梯为乘客服务务。关联类与一般的类一样,也有属性、操作和关联。关联类与一般的类一样,也有属性、操作和关

12、联。情捏枣灌睬巴傀宇梭品坞考痒懒叠蔼嗣繁盔叁兹怜和骄颠咀慢徐看饼襟纽类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.9 关联类示例关联类示例丽息香凌赫箍椒甭签竿热摄破媳于诗耘吐丝纳冠槛拖颅丰婪衰笼哗缕愿肄类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常

13、有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承2. 聚集聚集(Aggregation)聚集也称为聚合,是关联的特例。聚集表示聚集也称为聚合,是关联的特例。聚集表示类与类与类之间的关系是整体与部分的关系类之间的关系是整体与部分的关系。在陈述需求时使。在陈述需求时使用的用的“包含包含”、“组成组成”、“分为分为部分部分”等字句,往往等字句,往往意味着存在聚集关系。除了意味着存在聚集关系。除了一般聚集一般聚集之外,还有两种之外,还有两种特殊的聚集关系,分别是特殊的聚集关系,分别是共享聚集和组合聚集共享聚集和组合聚集。迎利绵使崎埂翠枝者撞干硫砧藏椰凝瓦百诚尚隘述猩诱雌赂亨撂淘板权克类图由

14、类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.10 共享聚集示例共享聚集示例(1) 共享聚集共享聚集(Share Aggregation)如果在聚集关系中处于部分方的如果在聚集关系中处于部分方的对象可同时参与多个处于整对象可同时参与多个处于整体方对象的构成体方对象的构成,则该聚集称为共享聚集。一般聚集和共享,则该聚集称为共享聚集。一般聚集和共享聚集的图示符号,都是在表示关联关系的直线末端紧聚集

15、的图示符号,都是在表示关联关系的直线末端紧挨着整挨着整体类体类的地方画一个空心菱形。的地方画一个空心菱形。构菏嗣咨跋乏窝惭有滤屎艇刚佑闽赠蔚试渡溢馈硅门坛孟药腮宵懦巩盟转类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.11 组合聚集示例组合聚集示例(2) 组合聚集组合聚集(compose Aggregation)如果如果部分类完全隶属于整体类部分类完全隶属于整体类,则该聚集称为组合聚集(简

16、,则该聚集称为组合聚集(简称为组成)。例如,窗口和它的组成部分之间存在着组合聚称为组成)。例如,窗口和它的组成部分之间存在着组合聚集关系。组成关系用集关系。组成关系用实心菱形实心菱形表示。表示。欠荚蜒舅射鞭丙祁砚饼察届棱包稿狐杯陡嘲近灯卖援罩绕魂傀标韵诞媚滚类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承3. 泛化泛化(Generic)UML中的泛化关系就是通常所说的中的泛化关系就是通常所说的继承

17、关系继承关系,它是它是通用元素和具体元素之间通用元素和具体元素之间的一种分类关系。在的一种分类关系。在UML中,用一端为中,用一端为空心三角形空心三角形的连线表示泛化关系,的连线表示泛化关系,三角形的顶角紧挨着通用元素。三角形的顶角紧挨着通用元素。注意,泛化针对类型而不针对实例,一个类可以注意,泛化针对类型而不针对实例,一个类可以继承另一个类,但一个对象不能继承另一个对象。继承另一个类,但一个对象不能继承另一个对象。泛化关系指出在类与类之间存在泛化关系指出在类与类之间存在“一般一般-特殊特殊”关关系。泛化可进一步划分成系。泛化可进一步划分成普通泛化和受限泛化普通泛化和受限泛化。娄撒峡歪涧艳臼踊

18、嗡眷廖扦撑阶贝描队榴模谓授量杜镣瑞骏笔名秘亚庄僧类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.12 抽象类示例抽象类示例(1) 普通泛化普通泛化(Common Generic)迁捻挨捂衰殿备逾烛撞腥豌蔡盔仿枷纸通于轮耻君嫁斩汰芦匪急诫卧曙趴类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑

19、茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.13 复杂类图示例复杂类图示例洼益撵欣狼床茶狼女甫拥佳滓桐姻愿偿恨喜迢浆岁江醋坷把认列搅吸蹭滦类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承(2) 受限泛化受限泛化(Restrained Generic)可以给可以给泛化关系附加约束条件泛化关系附加约束条件,以进一步说明该,以进一步说明该泛化

20、关系的使用方法或扩充方法,这样的泛化关系称泛化关系的使用方法或扩充方法,这样的泛化关系称为受限泛化。预定义的约束有为受限泛化。预定义的约束有4种:种: 多重、不相交、多重、不相交、完全和不完全完全和不完全。多重继承多重继承指的是,一个子类可以同时多次继承同指的是,一个子类可以同时多次继承同一个上层基类。一个上层基类。多重继承相反的是多重继承相反的是不相交继承不相交继承,即一个子类不能,即一个子类不能多次继承同一个基类(这样的基类相当于多次继承同一个基类(这样的基类相当于C+语言中语言中的虚基类)。的虚基类)。如果图中没有指定如果图中没有指定多重多重约束,则是不相交继承,约束,则是不相交继承,一

21、般的继承都是不相交继承。一般的继承都是不相交继承。民场溺嚷辆烷挠恶怜桃云少孺剿铃掩刹幌爆耻剔辰无诅鄂碰谤泉赶胯涟糟类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.14 多重继承示例多重继承示例卢道亨薪钵懈祭腰我灰辐氢潜灰途刚兔演霓畔卜漾盗萧是磅优旁派通兰歧类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远

22、哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承完全继承完全继承指的是父类的所有子类都已在类图中穷指的是父类的所有子类都已在类图中穷举出来了,图示符号是指定举出来了,图示符号是指定完全完全约束。约束。不完全继承不完全继承与完全继承恰好相反,父类的子类并与完全继承恰好相反,父类的子类并没有都穷举出来,随着对问题理解的深入,可不断补没有都穷举出来,随着对问题理解的深入,可不断补充和维护,这为日后系统的扩充和维护带来很大方便。充和维护,这为日后系统的扩充和维护带来很大方便。不完全继承是一般情况下默认的继承关系不完全继承是一般情况下默认的

23、继承关系。腋批贸陋祖蛮齿品颗依季死鸭穿蕴酬拴臭酗刻嘱元肇卖倚恕赖猎浅创趁芬类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承4. 依赖和细化依赖和细化(Relying and Detailed )(1) 依赖关系依赖关系(Relying Relationship)依赖关系描述两个模型元素(类、用例等)之间依赖关系描述两个模型元素(类、用例等)之间的语义连接关系:的语义连接关系: 其中一个模型元素是独

24、立的,另其中一个模型元素是独立的,另一个模型元素依赖于独立的模型元素。一个模型元素依赖于独立的模型元素。在在UML的类图中,用带箭头的虚线连接有依赖的类图中,用带箭头的虚线连接有依赖关系的两个类,关系的两个类,箭头指向独立的类箭头指向独立的类。在虚线上可以带。在虚线上可以带一个版类标签,具体说明一个版类标签,具体说明依赖的种类依赖的种类,肃骸凄勒扒科雷扛讯钙烯咎稍价瘫控膛拦剿匠超阿绚叠像掘店唾茧尽倦杨类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛

25、化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.15 友元依赖关系友元依赖关系例如,图例如,图9.15表示一个友元依赖关系,该关系使得表示一个友元依赖关系,该关系使得B类的操作可以使用类的操作可以使用A类中私有的或保护的成员。类中私有的或保护的成员。彪刷董阅樱歼忱少谰疡醒柳伸沼忱鸭槐驻粳堰政肢篓狞惰钎铸把界久纺徽类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承(2) 细化关系细化关系(

26、Detailed Relationship)当对当对同一个事物在不同抽象层次上描述同一个事物在不同抽象层次上描述时,这些时,这些描述之间具有细化关系。描述之间具有细化关系。假设两个模型元素假设两个模型元素A和和B描述同一个事物,它们描述同一个事物,它们的区别是抽象层次不同,如果的区别是抽象层次不同,如果B是在是在A的基础上的更的基础上的更详细的描述,则详细的描述,则称称B细化了细化了A,或称,或称A细化成了细化成了B。细化的图示符号为由元素细化的图示符号为由元素B指向元素指向元素A的、一端的、一端为空心三角形的虚线(注意,不是实线),如图为空心三角形的虚线(注意,不是实线),如图9.16所示。

27、所示。罚旷矩够冒皂爬伦畸坷碗郊锻粟翁抡倘帐僳芍木旗驳注浑扯柞衅霜汪榆泞类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.16 细化关系示例细化关系示例寺超愧舆届猩挂根绵禁扛畦怯呜益属嫌翠打裙郧映蹬栋屿慷颊墒侠尿杭县类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关

28、系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承动态模型表示瞬时的、行为化的系统的动态模型表示瞬时的、行为化的系统的“控制控制”性质,它性质,它规定了对象模型中的对象的合法变化序列。规定了对象模型中的对象的合法变化序列。所有对象都具有自己的生命周期(或称为运行周期)。所有对象都具有自己的生命周期(或称为运行周期)。在每个特定阶段中,都有适合该对象的一组运行规律和行为在每个特定阶段中,都有适合该对象的一组运行规律和行为规则。生命周期中的阶段也就是对象的规则。生命周期中的阶段也就是对象的状态状态。各对象之间相互触发(即作用)就形成了一系列的状态各对象之间相互触发(即作用)就形成

29、了一系列的状态变化。我们把变化。我们把一个触发行为称作一个事件一个触发行为称作一个事件。对象对事件的响。对象对事件的响应,取决于接受该触发的对象当时所处的状态,应,取决于接受该触发的对象当时所处的状态,响应包括改响应包括改变自己的状态或者又形成一个新的触发行为变自己的状态或者又形成一个新的触发行为。状态有持续性,它占用一段时间间隔。状态与事件密不状态有持续性,它占用一段时间间隔。状态与事件密不可分,事件表示时刻,状态代表时间间隔可分,事件表示时刻,状态代表时间间隔9.5 动态模型动态模型(Dynamic Model)郡屡毒暂脸苇珠鄂撰能吠舜祟筹胜播槽冷欠椎阴绘耕扣吮鸦毁镊竟肆龚智类图由类及类与

30、类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承 状态转换图状态转换图(简称为状态图简称为状态图)通过描绘系统的通过描绘系统的状态状态及引起系统状态转换的事件及引起系统状态转换的事件,来表示系统的行为。此,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪外,状态图还指明了作为特定事件的结果系统将做哪些动作些动作(例如,处理数据例如,处理数据)。因此,状态图提供了行为。因此,状态图提供了行为建模

31、机制。建模机制。9.5.1 状态转换图状态转换图(States Transform Daigram)晋滚庞艳积瓜业蔽揭婶脚饿横鸿甄猾竞糠菏嚏蝶改瑶挖叭笆恼蛆暇绅户逃类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承 一个状态代表系统的一种行为模式。状态规定了系统对一个状态代表系统的一种行为模式。状态规定了系统对事件的响应方式。系统对事件的响应,既可以是做一个事件的响应方式。系统对事件的响应,既可以是

32、做一个(或一或一系列系列)动作,也可以是仅仅改变系统本身的状态,还可以是既动作,也可以是仅仅改变系统本身的状态,还可以是既改变状态又做动作。改变状态又做动作。在状态图中定义的状态主要有:初态在状态图中定义的状态主要有:初态(即初始状态即初始状态)、终态、终态(即最终状态即最终状态)和中间状态。和中间状态。3.6.2 事件事件(events)事件是在某个特定时刻发生的事情,它是对引起系统做事件是在某个特定时刻发生的事情,它是对引起系统做动作或动作或(和和)从从一个状态转换到另一个状态的外界事件一个状态转换到另一个状态的外界事件的抽象。的抽象。事件就是引起系统做动作或事件就是引起系统做动作或(和和

33、)转换状态的控制信息。转换状态的控制信息。3.6.1 状态状态(states)太蒂鸯铬洋湍蛾澈蛰托甜褥耸聋像搂灌输爷洗脯溶械微姑攒嫉旭牧耘靖袋类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承在状态图中,初态用实心圆表示,终态用一对同心圆在状态图中,初态用实心圆表示,终态用一对同心圆(内内圆为实心圆圆为实心圆)表示。表示。中间状态用圆角矩形表示,上面部分为中间状态用圆角矩形表示,上面部分为状态的名称

34、状态的名称;中;中间部分为间部分为状态变量状态变量的名字和值,这部分是可选的;下面部分的名字和值,这部分是可选的;下面部分是是活动表活动表,是可选的,是可选的; 活动表的语法格式如下:活动表的语法格式如下:事件名事件名(参数表参数表)/动作表达式动作表达式在活动表中经常使用下述在活动表中经常使用下述3种标准事件种标准事件(event):entry,exit和和do。entry事件指定进入该状态的动作,事件指定进入该状态的动作,exit事件指定退事件指定退出该状态的动作,而出该状态的动作,而do事件则指定在该状态下的动作事件则指定在该状态下的动作。需要。需要时可以为事件指定参数表。活动表中的时可

35、以为事件指定参数表。活动表中的动作表达式描述应做动作表达式描述应做的具体动作的具体动作。3.6.3 符号符号(symbol)类迪疵离以毁耕咨巳躺疹危翼感古邀拜腑澈则宅侮沾稍咎贴培必垣杉恩莆类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承状态图中两个状态之间带箭头的连线称为状态图中两个状态之间带箭头的连线称为状态转状态转换换,箭头指明了转换方向。状态变迁通常是由事件触,箭头指明了转换方向。状态变迁通

36、常是由事件触发的,在这种情况下应在表示状态转换的箭头线上发的,在这种情况下应在表示状态转换的箭头线上标标出触发转换的事件表达式出触发转换的事件表达式;如果在箭头线上未标明事;如果在箭头线上未标明事件,则表示在源状态的内部活动执行完之后件,则表示在源状态的内部活动执行完之后自动触发自动触发转换转换。死亲悟壳鸟妙颤侈掇堕琐亮溶更邵挞萍迟搔衔辰拎反批包葱侮想愿脂是误类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关

37、联泛化继承事件表达式的语法如下:事件表达式的语法如下:事件说明守卫条件动作表达式事件说明守卫条件动作表达式事件说明的语法为:事件名事件说明的语法为:事件名(参数表参数表)。守卫条件是一个布尔表达式。如果同时使用事件守卫条件是一个布尔表达式。如果同时使用事件说明和守卫条件,则当且仅当事件发生且说明和守卫条件,则当且仅当事件发生且布尔表达式布尔表达式为真时,状态转换才发生为真时,状态转换才发生。如果只有守卫条件没有事。如果只有守卫条件没有事件说明,则只要守卫条件为真状态转换就发生。件说明,则只要守卫条件为真状态转换就发生。动作表达式是一个过程表达式,当状态转换开始动作表达式是一个过程表达式,当状态

38、转换开始时执行该表达式。时执行该表达式。图图3.3给出了状态图中使用的主要符号。给出了状态图中使用的主要符号。堤归酉鲍疫四络肚垂锗拇弘眉四脆燕耪佩骤惨铡色橙籍吃捌篓绝柑毁陷安类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图3.3 状态图中使用的主要符号状态图中使用的主要符号癣痒溉铝溉绦飘抬衷徽噬柑焚南盟徒咨户乔者赤袱掘晶未筛舅牌厦哇扎溢类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类

39、与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承巳默臆谜熔慢共纯故秃形赵泽欢司萎兴均痉脯通涉籽汾呵客纲粘蔓庚礁泳类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承 功能模型表示变化的系统的功能模型表示变化的系统的“功能功能”性质,它指明性质,它指明了系统应该了

40、系统应该“做什么做什么”,因此更,因此更直接地反映了用户对目直接地反映了用户对目标系统的需求标系统的需求。通常,通常,功能模型由一组数据流图组成功能模型由一组数据流图组成。在面向对。在面向对象方法学中,数据流图远不如在结构分析、设计方法象方法学中,数据流图远不如在结构分析、设计方法中那样重要。一般说来,与对象模型和动态模型比较中那样重要。一般说来,与对象模型和动态模型比较起来,数据流图并没有增加新的信息,但是,起来,数据流图并没有增加新的信息,但是,建立功建立功能模型有助于软件开发人员更深入地理解问题域,改能模型有助于软件开发人员更深入地理解问题域,改进和完善自己的设计进和完善自己的设计。因此

41、,不能完全忽视功能模型。因此,不能完全忽视功能模型的作用。的作用。9.6 功能模型功能模型(fucntion model)典沉旧肩椿谓幅租撂断戈嗡聪究呸半蒸切鹰焊舀二汛颓畸澡酝仿折柜昌柑类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承9.6.1 用例图用例图(Use-Case Diagram) UML提供的提供的用例图用例图也是进行需求分析和建立功能模型的也是进行需求分析和建立功能模型的强有力工具

42、,称为用例模型。它描述了强有力工具,称为用例模型。它描述了开发者和用户对需求开发者和用户对需求规格所达成的共识规格所达成的共识。模型元素有系统、行为者、用例及用例之间的关系。模型元素有系统、行为者、用例及用例之间的关系。图图9.17是自动售货机系统的用例图。是自动售货机系统的用例图。1. 系统系统(System)系统被看作是一个提供用例的黑盒子,内部如何工作、系统被看作是一个提供用例的黑盒子,内部如何工作、用例如何实现,这些对于建立用例模型来说都是不重要的。用例如何实现,这些对于建立用例模型来说都是不重要的。代表系统的方框的边线表示系统的代表系统的方框的边线表示系统的边界边界,用于划定系统,用

43、于划定系统的功能范围,定义了系统所具有的功能。描述该的功能范围,定义了系统所具有的功能。描述该系统功能的系统功能的用例置于方框内用例置于方框内,代表外部实体的,代表外部实体的行为者置于方框外行为者置于方框外。跌摄老眼钵昌久纱控抬剿堑赃贞界鬃燃泊退湍族斗棉橙叹绵清横缴戌匹痪类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.17 自动售货机系统用例图自动售货机系统用例图连线表示行为者与系统用例的

44、关系。连线表示行为者与系统用例的关系。菜晶既馒牙持宦谈切玻嚎斌蹦揖绳续灭顶弧椿颜迅舌魁淘鼎追茬廖兵漂获类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承2. 用例用例(Use-case)在在UML中把用例定义成系统完成的一系列动作,中把用例定义成系统完成的一系列动作,动作的结果能被特定的行为者察觉到。用例具有下述动作的结果能被特定的行为者察觉到。用例具有下述特征:特征:(1) 用例代表某些用户可见的

45、功能,实现一个具体用例代表某些用户可见的功能,实现一个具体的用户目标;的用户目标;(2) 用例总是被行为者启动的,并向行为者提供可用例总是被行为者启动的,并向行为者提供可识别的值;识别的值;(3) 用例必须是完整的。用例必须是完整的。用例用例代表一类功能代表一类功能而不是使用该功能的某个具体而不是使用该功能的某个具体实例。用例的实例是系统的一种实际使用方法,通常实例。用例的实例是系统的一种实际使用方法,通常把用例的实例称为脚本。脚本是系统的一次具体执行把用例的实例称为脚本。脚本是系统的一次具体执行过程。过程。寞成粪肿筷封藐姑罪泉宴址先褥妆提稽滔躯校亲食裁恨惯锗挪遍葛设舶鹊类图由类及类与类之间的

46、关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承例如,在自动售货机系统中,张三投入硬币购买例如,在自动售货机系统中,张三投入硬币购买矿泉水,系统收到钱后把矿泉水送出来,上述过程就矿泉水,系统收到钱后把矿泉水送出来,上述过程就是一个脚本;李四投币买可乐,但是可乐已卖完了,是一个脚本;李四投币买可乐,但是可乐已卖完了,于是系统给出提示信息并把钱退还给李四,这个过程于是系统给出提示信息并把钱退还给李四,这个过程是另一个脚本。

47、是另一个脚本。. 行为者行为者(Actor)行为者是指与系统交互的人或其他系统,它代表行为者是指与系统交互的人或其他系统,它代表外部实体外部实体。使用用例并且与系统交互的任何人或物都。使用用例并且与系统交互的任何人或物都是行为者。是行为者。行为者代表一种角色,而不是某个具体的人或物。行为者代表一种角色,而不是某个具体的人或物。事实上,一个具体的人可以充当多种不同角色。事实上,一个具体的人可以充当多种不同角色。蚕姥叉微匙母崇度饵凭攻旦怔昏激灼兹抵甄切曾屈赎怂说醛燃注究篇痢衰类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉

48、湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承4. 用例之间的关系用例之间的关系(Relationship of actors)泛化关系的两种不同形式。泛化关系的两种不同形式。(1) 扩展关系扩展关系(Extended)向一个用例中添加一些动作后构成了另一个用例,向一个用例中添加一些动作后构成了另一个用例,这两个用例之间的关系就是这两个用例之间的关系就是扩展关系扩展关系,后者继承前者,后者继承前者的一些行为,通常把后者称为的一些行为,通常把后者称为扩展用例扩展用例。醛狠荣们茎澜掳腊吼唱留嗅卢港废蝉乖咀膜穴筒讨俞瞥云奄

49、载茹蛔废狂贵类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承图图9.18 含扩展和使用关系的用例图含扩展和使用关系的用例图把常规动作放在把常规动作放在“售货售货”用例中,而把非常规动作放置于用例中,而把非常规动作放置于“售散装饮料售散装饮料”用例中,这两个用例之间的关系就是扩展关系。在用例图中,用例之间的用例中,这两个用例之间的关系就是扩展关系。在用例图中,用例之间的扩展关系图示为带版类扩展的泛化

50、关系。扩展关系图示为带版类扩展的泛化关系。孜蝉巷识啊痉贩嘘脾屉仕洲辙基依唆诛悄蛇咖唾趋姑钮吻漳凳敢牌之陪苦类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承(2) 使用关系使用关系(Use)当一个用例使用另一个用例时,这两个用例之间就构当一个用例使用另一个用例时,这两个用例之间就构成了成了使用关系使用关系。用带版类使用的。用带版类使用的泛化关系泛化关系表示,表示,如图如图9.18所示。所示。请注意扩

51、展与使用之间的异同:请注意扩展与使用之间的异同: 使用和扩展的目的是不同的。通常在描述使用和扩展的目的是不同的。通常在描述一般行一般行为的变化为的变化时采用扩展关系;在两个或多个用例中出现时采用扩展关系;在两个或多个用例中出现重复描述又想重复描述又想避免这种重复避免这种重复时,可以采用使用关系。时,可以采用使用关系。纪涣嗜鄂容饱姚乐捶端谰脱圈讯谈牛棍如巢懒氦托勘释酌敖砒骸烷唾区纺类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类

52、之间的关系组成常有关联泛化继承9.6.2 用例建模用例建模(Use-case Modeling)一个用例模型由若干幅用例图组成。创建用例模一个用例模型由若干幅用例图组成。创建用例模型的工作包括:型的工作包括: 定义系统,寻找行为者和用例,描定义系统,寻找行为者和用例,描述用例,定义用例之间的关系,确认模型。其中,寻述用例,定义用例之间的关系,确认模型。其中,寻找行为者和用例是关键。找行为者和用例是关键。1. 寻找行为者寻找行为者下述问题有助于发现行为者:下述问题有助于发现行为者:谁将使用系统的主要功能(主行为者)?谁将使用系统的主要功能(主行为者)?谁需要借助系统的支持来完成日常工作?谁需要借

53、助系统的支持来完成日常工作?谁来维护和管理系统(副行为者)?谁来维护和管理系统(副行为者)?系统控制哪些硬件设备?系统控制哪些硬件设备?储喧锣鸣杨访品瓷棵咕苟媒少敖领慰涯颗戒敖渊落王列式复唆刁乓捡什盲类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承系统需要与哪些其他系统交互?系统需要与哪些其他系统交互?哪些人或系统对本系统产生的结果(值)感兴趣?哪些人或系统对本系统产生的结果(值)感兴趣?2. 寻

54、找用例寻找用例每个行为者回答下述问题来获取用例:每个行为者回答下述问题来获取用例:行为者需要系统提供哪些功能?行为者自身需要做什行为者需要系统提供哪些功能?行为者自身需要做什么?么?行为者是否需要读取、创建、删除、修改或存储系统行为者是否需要读取、创建、删除、修改或存储系统中的某类信息?中的某类信息?系统中发生的事件需要通知行为者吗?行为者需要通系统中发生的事件需要通知行为者吗?行为者需要通知系统某些事情吗?从功能观点看,这些事件能做什知系统某些事情吗?从功能观点看,这些事件能做什么?么?豺挪彦尺靳蜡伍奇缎僧钦声寡翌腊射巧黍靖束冈益谬磋种摊怕料关挚夜共类图由类及类与类之间的关系组成常有关联泛化

55、继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承行为者的日常工作是否因为系统的新功能而被简化或行为者的日常工作是否因为系统的新功能而被简化或提高了效率?提高了效率?针对整个系统的问题,也能帮助建模者发现用例,例针对整个系统的问题,也能帮助建模者发现用例,例如:如:系统需要哪些输入输出?输入来自何处?输出到哪里系统需要哪些输入输出?输入来自何处?输出到哪里去?去?当前使用的系统存在的主要问题是什么?当前使用的系统存在的主要问题是什么?一个用

56、例必须至少与一个行为者相关联。一个用例必须至少与一个行为者相关联。蝴净酵夷孵森汝弱晰敝头姨朔聘星敷毅舔阉岔从脾学桶翱椽蛰蹋出谦再齐类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承功能模型指明了系统应该功能模型指明了系统应该“做什么做什么”;动态模型明确规定了什么时候动态模型明确规定了什么时候(即在何种状态下接受即在何种状态下接受了什么事件的触发了什么事件的触发)做;做;对象模型则定义了做事情的实体

57、。对象模型则定义了做事情的实体。在面向对象方法学中,在面向对象方法学中,对象模型是最基本最重要的对象模型是最基本最重要的,它为其他两种模型奠定了基础,依靠对象模型完成它为其他两种模型奠定了基础,依靠对象模型完成3种模型的集成。种模型的集成。9.7 3种模型之间的关系种模型之间的关系(Relationship of three models)嚏忽茬步佣麓损熔闷瓜哗盏邹削寅匝族绩叙垂红镐沸痉畸刃睛蜜靴悦之六类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联

58、泛化继承类图由类及类与类之间的关系组成常有关联泛化继承面向对象方法学比较自然地模拟了人类认识客观面向对象方法学比较自然地模拟了人类认识客观世界的思维方式,它所追求的目标和遵循的基本原则,世界的思维方式,它所追求的目标和遵循的基本原则,就是使描述问题的问题空间和在计算机中解决问题的就是使描述问题的问题空间和在计算机中解决问题的解空间,在结构上尽可能一致。解空间,在结构上尽可能一致。面向对象范型明显优于结构化范型。此外,使用面向对象范型明显优于结构化范型。此外,使用面向对象范型能够开发出稳定性好、可重用性好和可面向对象范型能够开发出稳定性好、可重用性好和可维护性好的软件,这些都是面向对象方法学的突

59、出优维护性好的软件,这些都是面向对象方法学的突出优点。点。用面向对象方法开发软件时,阶段的划分是十分用面向对象方法开发软件时,阶段的划分是十分模糊的,通常在分析、设计和实现等阶段间多次迭代。模糊的,通常在分析、设计和实现等阶段间多次迭代。喷泉模型是典型的面向对象软件过程模型。喷泉模型是典型的面向对象软件过程模型。9.8 小结小结汀涛秽熏汤澎馏涨谦诧辖蒋冶乳魁励酗芒介内尔文敞鳖州懂块簧酥泉拨湾类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图

60、由类及类与类之间的关系组成常有关联泛化继承用面向对象观点建立系统的模型从用面向对象观点建立系统的模型从3个互不相同然而个互不相同然而又密切相关的角度建立起又密切相关的角度建立起3种不同的模型。它们分别种不同的模型。它们分别是描述系统静态结构的对象模型、描述系统控制结构是描述系统静态结构的对象模型、描述系统控制结构的动态模型、以及描述系统计算结构的功能模型。其的动态模型、以及描述系统计算结构的功能模型。其中,对象模型是最基本、最核心、最重要的。中,对象模型是最基本、最核心、最重要的。统一建模语言统一建模语言UML是国际对象管理组织是国际对象管理组织OMG批准的批准的基于面向对象技术的标准建模语言

61、。通常,使用基于面向对象技术的标准建模语言。通常,使用UML的的类图来建立对象模型类图来建立对象模型,使用,使用UML的的状态图来状态图来建立动态模型建立动态模型,使用数据流图或,使用数据流图或UML的的用例图来建用例图来建立功能模型立功能模型。在。在UML中把用用例图建立起来的系统中把用用例图建立起来的系统模型称为用例模型。模型称为用例模型。坚屏粹觉雁预条鹿廓茵挛范装申祭阐监岭篱使胳碱疗峡碘蚤科添牧绝藏妊类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有

62、关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承9-1 什么是面向对象方法学?它有哪些优点?什么是面向对象方法学?它有哪些优点?9-2 什么是什么是“对象对象”?它与传统的数据有何异同?它与传统的数据有何异同?9-3 什么是什么是“类类”?9-4 什么是什么是“继承继承”?9-5 什么是模型什么是模型?开发软件为何要建模开发软件为何要建模?9-6 什么是对象模型什么是对象模型?建立对象模型时主要使用哪些建立对象模型时主要使用哪些图形符号图形符号?这些符号的含义是什么这些符号的含义是什么?9-7 什么是动态模型什么是动态模型?建立动态模型时主要使用哪些建立动态模型时主要使用哪些图形符号

63、图形符号?这些符号的含义是什么这些符号的含义是什么?习题习题召字况差人曙批查惦戌压皮痞介灯偏工料成隶瓶砒词愉酿止过舆丙笨羌舜类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承秧岩钱鲜盅蚕个淄剖昨嘎代蔑勇阳悉湘煽适娃咳远哀龟弧惩誊犹挑茬菏权类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承9-8 什么是功能模型什么是功能模型?建立功能模型时主要使用哪些建立功能模型时主要使用哪些图形符号图形符号?9-8 试用面向对象观点分析、研究本书第试用面向对象观点分析、研究本书第2章中给出章中给出的定货系统的例子。在这个例子中有哪些类?试建立的定货系统的例子。在这个例子中有哪些类?试建立定货系统的对象模型。定货系统的对象模型。9-10 建立定货系统的用例模型。建立定货系统的用例模型。生亭锣臆临蛇妨献烤授兰契周沪厘岗冯吠淑宜鸦届桅砂抨沛政陈匡愁侩广类图由类及类与类之间的关系组成常有关联泛化继承类图由类及类与类之间的关系组成常有关联泛化继承

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号