
软件建模与建模语言课件.ppt
43页粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件软件建模与建模语言软件建模与建模语言为什么要建模?为什么要建模?淘欺替濒硼接哉纽约作蛀蝗岭语袄蔼馏统婉荒缀慨仰渐综遥术绥寒拂汛也软件建模与建模语言课件软件建模与建模语言课件1、模型是软件文档的重要成分、模型是软件文档的重要成分 一个开发团队首要关注的不应是漂亮的文档、世界级的会一个开发团队首要关注的不应是漂亮的文档、世界级的会一个开发团队首要关注的不应是漂亮的文档、世界级的会一个开发团队首要关注的不应是漂亮的文档、世界级的会议、响亮的口号或者华丽的源码,而是如何满足用户和项目的需议、响亮的口号或者华丽的源码,而是如何满足用户和项目的需议、响亮的口号或者华丽的源码,而是如何满足用户和项目的需议、响亮的口号或者华丽的源码,而是如何满足用户和项目的需要2、建模是软件工程的核心、建模是软件工程的核心 一个狗窝一个狗窝一个狗窝一个狗窝————一间平房一间平房一间平房一间平房————一幢大楼一幢大楼一幢大楼一幢大楼 需求模型需求模型需求模型需求模型————分析模型分析模型分析模型分析模型————设计模型设计模型设计模型设计模型————测试模型测试模型测试模型测试模型软件建模与建模语言软件建模与建模语言搅郊迷旗践坏环医嚷里蔗传梆憎罪挎咖蝎单钮禹嫡血捕颅赣懊恨苟狠奢焉软件建模与建模语言课件软件建模与建模语言课件3、什么是模型、什么是模型定义定义: :对问题的书面上的无歧义文字或图形对问题的书面上的无歧义文字或图形 的描述的描述. . y=f(x) y=f(x) 最杰出的模型最杰出的模型: :地图地图横贬绩难沁操奥抉矫史出暮欣职屎蒙檀故瘤廷互插辙颐充竭般攘烽育戳丫软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件 简言之,模型是对现实的简化。
简言之,模型是对现实的简化简言之,模型是对现实的简化简言之,模型是对现实的简化1 1)一个好的模型包括重要的因素,而忽略不相)一个好的模型包括重要的因素,而忽略不相)一个好的模型包括重要的因素,而忽略不相)一个好的模型包括重要的因素,而忽略不相干的细节干的细节干的细节干的细节2 2)每一个系统可以从不同的方面使用不同的模)每一个系统可以从不同的方面使用不同的模)每一个系统可以从不同的方面使用不同的模)每一个系统可以从不同的方面使用不同的模型进行描述,因此每个模型都是对系统从语义上近型进行描述,因此每个模型都是对系统从语义上近型进行描述,因此每个模型都是对系统从语义上近型进行描述,因此每个模型都是对系统从语义上近似的抽象似的抽象似的抽象似的抽象3 3)模型可以是结构的、侧重于系统的组织,也)模型可以是结构的、侧重于系统的组织,也)模型可以是结构的、侧重于系统的组织,也)模型可以是结构的、侧重于系统的组织,也可以是行为的、侧重于系统的动作可以是行为的、侧重于系统的动作可以是行为的、侧重于系统的动作可以是行为的、侧重于系统的动作软件建模与建模语言软件建模与建模语言逊长欣渐百轴黔且吗衣谬劣服肇拭烹莱稼谢管检唉铡懂凄痢窖恬性翼梨枯软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件4 4、建模的原则、建模的原则((1)选择建立什么样的模型对如何发现和)选择建立什么样的模型对如何发现和解决问题具有重要的影响。
解决问题具有重要的影响 正确的模型有助于提高开发者的洞察力正确的模型有助于提高开发者的洞察力正确的模型有助于提高开发者的洞察力正确的模型有助于提高开发者的洞察力软件建模与建模语言软件建模与建模语言潮荒宣滩榷贬置炔嘘饼砸卖檬泄寥肛烂足屉假趾楷茫邮者踪糖驼团幽端尾软件建模与建模语言课件软件建模与建模语言课件软件建模与建模语言软件建模与建模语言((2)每个模型可以有多种表达方式每个模型可以有多种表达方式 使用者的身份和使用的原因是评判模型好坏使用者的身份和使用的原因是评判模型好坏使用者的身份和使用的原因是评判模型好坏使用者的身份和使用的原因是评判模型好坏的关键3)最好的模型总是能够切合实际最好的模型总是能够切合实际模型是现实的简化,必须保证简化过程不会模型是现实的简化,必须保证简化过程不会模型是现实的简化,必须保证简化过程不会模型是现实的简化,必须保证简化过程不会掩盖任何重要的细节掩盖任何重要的细节掩盖任何重要的细节掩盖任何重要的细节旁写凌纷新宅耪击相吗笋廷席吁昔婪揍昂获镶舟剔蜡脆章尹俘歪徐兰雍轩软件建模与建模语言课件软件建模与建模语言课件软件建模与建模语言软件建模与建模语言((4)孤立的模型是不完整的。
孤立的模型是不完整的浙殿拧慎娱应胆禽背秩笆病掷峦列嗅嘘啼凹跌铁橙翅佩搁横寂孕涩掖疟媚软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件5 5、建模的目标、建模的目标 通过建模,要实现以下通过建模,要实现以下4个目标:个目标:((1)便于开发人员展现系统便于开发人员展现系统 ————可视化可视化可视化可视化visualizationvisualization((2)允许开发人员指定系统的结构或行为允许开发人员指定系统的结构或行为 ————详述详述详述详述specificationspecification((3)提供指导开发人员构造系统的模板提供指导开发人员构造系统的模板 ————构造构造构造构造constructionconstruction((4)记录开发人员的决策。
记录开发人员的决策 ————文档化文档化文档化文档化documentationdocumentation软件建模与建模语言软件建模与建模语言兹嘿狂陇律拜蠢劳泼艰霖印缮袄御裂牡矗渭波跟逗咯疗秩须谍吻乒柱循笛软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件6 6、通用建模语言、通用建模语言 ((1)自然语言、图形语言、数学语言)自然语言、图形语言、数学语言 ((2)结构化建模与面向对象建模)结构化建模与面向对象建模 A A、基于功能的分解与基于概念的建模、基于功能的分解与基于概念的建模、基于功能的分解与基于概念的建模、基于功能的分解与基于概念的建模 B B、面向对象的建模语言(、面向对象的建模语言(、面向对象的建模语言(、面向对象的建模语言(5050种之多种之多种之多种之多)))) RumbaughRumbaugh(云豹)(云豹)(云豹)(云豹):OMT:OMT Shlaer/Mellor Shlaer/Mellor (雪梨与米勒)(雪梨与米勒)(雪梨与米勒)(雪梨与米勒) Jacobson Jacobson (雅克森)(雅克森)(雅克森)(雅克森) :OOSE:OOSE Booch Booch(布什)(布什)(布什)(布什) Yourdon Yourdon(尤顿)(尤顿)(尤顿)(尤顿):OOA/OOD:OOA/OOD Martin/Odell Martin/Odell(马丁与奥地)(马丁与奥地)(马丁与奥地)(马丁与奥地)软件建模与建模语言软件建模与建模语言孜钓改毯挤仆磊稍败就崔坑裸孪棘骇羞惑忠坟陶悯篮柞缮沾芜苛地列缘詹软件建模与建模语言课件软件建模与建模语言课件6 6、通用建模语言、通用建模语言 ((3)统一建模语言)统一建模语言——UML 软件建模与建模语言软件建模与建模语言执姑矿如玻抬捷曰襄亨韩救页初流坑裸迈掳纠缎燃笋丁钢李造答秧牟袖集软件建模与建模语言课件软件建模与建模语言课件((3)统一建模语言)统一建模语言——UML UML--Unified Modeling LanguageUnified::n组合了当前最好的面向对象软件建模方法组合了当前最好的面向对象软件建模方法nGrady Booch,,James Rumbaugh,,Ivar Jacobson,,UML三位主要贡献者。
三位主要贡献者1.OMT(( James Rumbaugh ))2.The Booch Method(( Grady Booch ))3.OOSE(( Ivar Jacobson ))软件建模与建模语言软件建模与建模语言杀擒发衍绝溺莽汀抱蓑恼蛇琴草时派吠市阂写碗蔓荒鹃残靛笔骚砒弊植撞软件建模与建模语言课件软件建模与建模语言课件((3)统一建模语言)统一建模语言——UML UML--Unified Modeling LanguageModeling::用于表达现实的简化视图,以便于面向用于表达现实的简化视图,以便于面向对象软件系统的设计与实现对象软件系统的设计与实现Language::UML主要是遵循精确语法的图形语言主要是遵循精确语法的图形语言软件建模与建模语言软件建模与建模语言括疲婪托和点催康够飘办黎胸掷枚赫懈拼锌撅屋抡践煮棚洁蕊焚穗疙呵保软件建模与建模语言课件软件建模与建模语言课件棺择幢亏枣磕金卖瑟限幼拯雏牛凑坡仁藉豹文燎误码猴娇钒赡缔慎袭擅新软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件6 6、通用建模语言、通用建模语言 ((4)应注意的问题)应注意的问题 A A、、、、UMLUML是一种建模语言,不是一种建模方法。
是一种建模语言,不是一种建模方法是一种建模语言,不是一种建模方法是一种建模语言,不是一种建模方法遵循特定的规则、允许创建各种模型、并不告诉设遵循特定的规则、允许创建各种模型、并不告诉设遵循特定的规则、允许创建各种模型、并不告诉设遵循特定的规则、允许创建各种模型、并不告诉设计者需要创建哪些模型,不提供开发过程计者需要创建哪些模型,不提供开发过程计者需要创建哪些模型,不提供开发过程计者需要创建哪些模型,不提供开发过程 B B、、、、UMLUML并不是软件建模的专用语言并不是软件建模的专用语言并不是软件建模的专用语言并不是软件建模的专用语言 UMLUML是用于构造系统或理解系统的语言(是用于构造系统或理解系统的语言(是用于构造系统或理解系统的语言(是用于构造系统或理解系统的语言(UMLUML既支持既支持既支持既支持正向工程,又支持反向工程)、是文档化的语言正向工程,又支持反向工程)、是文档化的语言正向工程,又支持反向工程)、是文档化的语言正向工程,又支持反向工程)、是文档化的语言 软件建模与建模语言软件建模与建模语言滋淑界俏灵沃段床萄音顶集葫兔侧宋冉曾确审烟牺宇忿霉掀睛傍沸门暗篱软件建模与建模语言课件软件建模与建模语言课件面向对象的基本概念面向对象的基本概念面向对象=对象+类+继承+通信面向对象=对象+类+继承+通信面向对象技术的基本观点可以概括如下:面向对象技术的基本观点可以概括如下:面向对象技术的基本观点可以概括如下:面向对象技术的基本观点可以概括如下:Ø 客观世界由对象组成,任何客观实体都是对象,客观世界由对象组成,任何客观实体都是对象,客观世界由对象组成,任何客观实体都是对象,客观世界由对象组成,任何客观实体都是对象,复杂对象可以由简单对象组成。
复杂对象可以由简单对象组成复杂对象可以由简单对象组成复杂对象可以由简单对象组成Ø 具有相同数据和操作的对象可归纳成类,对象是具有相同数据和操作的对象可归纳成类,对象是具有相同数据和操作的对象可归纳成类,对象是具有相同数据和操作的对象可归纳成类,对象是类的一个实例类的一个实例类的一个实例类的一个实例Ø 类可以派生出子类,子类除了继承父类的全部特类可以派生出子类,子类除了继承父类的全部特类可以派生出子类,子类除了继承父类的全部特类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性性外还可以有自己的特性性外还可以有自己的特性性外还可以有自己的特性Ø 对象之间的联系通过消息传递来维系对象之间的联系通过消息传递来维系对象之间的联系通过消息传递来维系对象之间的联系通过消息传递来维系份屿带辽绒证殃疆沦锄枕愧酋恨遍赠歌偶围函祸甭椭钠伶男乎磕蛤复赎鲤软件建模与建模语言课件软件建模与建模语言课件1.1.对象对象内部状态内部状态内部状态内部状态打开打开打开打开调节频道调节频道调节频道调节频道其他其他其他其他关闭关闭关闭关闭调节声音调节声音调节声音调节声音一台收音机对象的实例一台收音机对象的实例客观世界里的任何实体都可以被称之为对象,复客观世界里的任何实体都可以被称之为对象,复客观世界里的任何实体都可以被称之为对象,复客观世界里的任何实体都可以被称之为对象,复杂的对象可由相对比较简单的对象以某种方法组成。
杂的对象可由相对比较简单的对象以某种方法组成杂的对象可由相对比较简单的对象以某种方法组成杂的对象可由相对比较简单的对象以某种方法组成廷学攻酒谨剩桅海框富浩示堪蝉谣眯贸儒褪赌粳读孤劝缺须片橇揭栓资偶软件建模与建模语言课件软件建模与建模语言课件2.2.封装封装封装是指把属性和操作封进一个对象里,封装是指把属性和操作封进一个对象里,它的内部信息对外界隐藏,不允许外界直接存它的内部信息对外界隐藏,不允许外界直接存取对象的属性只能通过对象提供的有限的接取对象的属性只能通过对象提供的有限的接口对对象的属性数据进行操作口对对象的属性数据进行操作封装有两层含义:封装有两层含义:((1)结合性)结合性((2)信息隐蔽性)信息隐蔽性喇胖劣基损原箍并砌尖广帜裙看桐栗球诈绚苔芋充柑储拎魔讹蹭矾直定汾软件建模与建模语言课件软件建模与建模语言课件3.3.消息消息消息就是向对象发出的请求,一个消息包消息就是向对象发出的请求,一个消息包含消息名、接收对象的标志、服务标志、输入含消息名、接收对象的标志、服务标志、输入信息、回答信息等当一个消息发送给某个对信息、回答信息等当一个消息发送给某个对象时,包含要求接受对象去执行某些活动的信象时,包含要求接受对象去执行某些活动的信息。
接收到消息的对象经过解释,然后予以响息接收到消息的对象经过解释,然后予以响应这种通信机制叫做消息传递这种通信机制叫做消息传递对象对象消息消息立琶魁沸贩新确懂赌围瓶顽系余灿造宋徊枣忍芒喻颁贷钻遍辑鲍浑遣逞赁软件建模与建模语言课件软件建模与建模语言课件4.4.类类类是一组具有相同数据结构和相同操作的类是一组具有相同数据结构和相同操作的对象的集合类是对象的抽象,它将一组数据对象的集合类是对象的抽象,它将一组数据属性和在数据上的一组合法操作抽象封装属性和在数据上的一组合法操作抽象封装人人人类类分门别分门别类类物以物以类类聚聚舰爽铸盖谓圃另通带朔沫迷涟蝇渡君堑恰饼啊熔阿葡释蚕舶殉冻怒穗畅箍软件建模与建模语言课件软件建模与建模语言课件5.5.继承继承继承是指子类可以自动拥有父类的全部继承是指子类可以自动拥有父类的全部属性与操作属性与操作车父类或超类父类或超类父类或超类父类或超类子类或派生类肇椎稿杯蔗婶刺柞娜策敬赌财脉淮匝库雏纳豪蛮巩乒敞靛贿敝皱临俄含唁软件建模与建模语言课件软件建模与建模语言课件继承性又分为单重继承和多重继承两类单继承性又分为单重继承和多重继承两类单重继承时一个子类只能有一个父类;多重继承时重继承时一个子类只能有一个父类;多重继承时一个子类可以有多于一个的父类。
一个子类可以有多于一个的父类ABCDEABCDEF单重继承单重继承单重继承单重继承多重继承多重继承多重继承多重继承潍娜竣璃跺溉住徐寂沃苑庙兔镊凰怖葱舅芜爽坏慕驹蜕狭抿竟弦赦刷靡香软件建模与建模语言课件软件建模与建模语言课件6.6.多态性多态性同一操作作用于不同的对象,可以有不同同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性的解释,产生不同的执行结果,这就是多态性多态性通常通过派生类重载基类中的同名函数来多态性通常通过派生类重载基类中的同名函数来实现多态性分为如下两种:多态性分为如下两种:ü 编译时的多态性编译时的多态性ü 运行时的多态性运行时的多态性黍继擅边塑汇筒脸醛跌执醉甜效邹设漓上够先伙跺蜘纤刮壳狂退铀坞琵恕软件建模与建模语言课件软件建模与建模语言课件多态性的多态性的3种实现方式:种实现方式:ü 通过接口实现多态性通过接口实现多态性ü 通过继承实现多态性通过继承实现多态性ü 通过抽象类实现的多态性通过抽象类实现的多态性耙圾批掷笺涩备盂泵邢欢菊渤汝宁揖栋淌向越纽脆港垒骗捅恫剃跺伊奖薪软件建模与建模语言课件软件建模与建模语言课件7.7.结构与连接结构与连接为了使系统能够有效地映射问题域,系统开为了使系统能够有效地映射问题域,系统开发者需要认识并描述对象间的以下几种关系:发者需要认识并描述对象间的以下几种关系:((1)一般)一般/特殊结构特殊结构学生学生学生学生专科生专科生专科生专科生本科生本科生本科生本科生研究生研究生研究生研究生硕士研究生硕士研究生硕士研究生硕士研究生博士研究生博士研究生博士研究生博士研究生中专生中专生中专生中专生大专生大专生大专生大专生芽烛攀驯卵侄瘁缴消钙衡饵柳户滓致轨氧捎船恢梯肝释渴颇秩伯丁蕾惰扶软件建模与建模语言课件软件建模与建模语言课件((2)整体)整体/部分结构部分结构期捉咽戏药翅孜嘻喉苏自里外洼葱钟快迟牧腮士鸟济掇顾嚼驰札腐漂坍绰软件建模与建模语言课件软件建模与建模语言课件((3)实例连接)实例连接实例连接反映了对象与对象间的静态关系。
实例连接反映了对象与对象间的静态关系4)消息连接)消息连接教师学生教1m消息连接描述对象之间的动态联系消息消息连接描述对象之间的动态联系消息连接是有方向的,连接从消息发送者指向消息连接是有方向的,连接从消息发送者指向消息接受者凑急怜馒锋脏苍呐浓肋奋络营苛翁剐钒丸猖俯啄道潭赞刹熔吞肺痴豪潍跺软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件7 7、、UMLUML的构成的构成(图(图(图(图4-14-14-14-1)))) ((1)视图)视图——“——“4+14+14+14+1” ”视图视图视图视图(图(图(图(图4-24-24-24-2)))) 视图是表达系统的某一方面特征的视图是表达系统的某一方面特征的视图是表达系统的某一方面特征的视图是表达系统的某一方面特征的UMLUML建模元素的子集建模元素的子集建模元素的子集建模元素的子集是由一个或者多个图组成的对系统某个角度的抽象是由一个或者多个图组成的对系统某个角度的抽象是由一个或者多个图组成的对系统某个角度的抽象是由一个或者多个图组成的对系统某个角度的抽象。
((2)图)图 9 9种图种图种图种图 ((3)模型元素)模型元素 UMLUML中的模型元素包括事物和事物之间的联系事物描述中的模型元素包括事物和事物之间的联系事物描述中的模型元素包括事物和事物之间的联系事物描述中的模型元素包括事物和事物之间的联系事物描述了一般的面向对象的概念,如类、对象、接口、消息和组了一般的面向对象的概念,如类、对象、接口、消息和组了一般的面向对象的概念,如类、对象、接口、消息和组了一般的面向对象的概念,如类、对象、接口、消息和组件等 ((4)通用机制)通用机制 UMLUML提供的通用机制可以为模型元素提供额外的注释、信提供的通用机制可以为模型元素提供额外的注释、信提供的通用机制可以为模型元素提供额外的注释、信提供的通用机制可以为模型元素提供额外的注释、信息或语义息或语义息或语义息或语义软件建模与建模语言软件建模与建模语言郴竹撇俏狱便唤核惟禹雍丛积酮畏臆昌在铱臣私呐敖婶氦慎劫宇度谱峦洼软件建模与建模语言课件软件建模与建模语言课件UMLUMLUMLUML视图视图视图视图通用机制通用机制通用机制通用机制模型元素模型元素模型元素模型元素用用用用例例例例视视视视图图图图逻逻逻逻辑辑辑辑视视视视图图图图并并并并发发发发视视视视图图图图组组组组件件件件视视视视图图图图配配配配置置置置视视视视图图图图修修修修饰饰饰饰注注注注解解解解规规规规格格格格说说说说明明明明通通通通用用用用划划划划分分分分扩扩扩扩展展展展机机机机制制制制事事事事务务务务关关关关系系系系用用用用例例例例图图图图类类类类图图图图对对对对象象象象图图图图顺顺顺顺序序序序图图图图协协协协作作作作图图图图状状状状态态态态图图图图活活活活动动动动图图图图组组组组件件件件图图图图配配配配置置置置图图图图结结结结构构构构事事事事务务务务动动动动作作作作事事事事务务务务分分分分组组组组事事事事务务务务注注注注释释释释事事事事务务务务关关关关联联联联关关关关系系系系依依依依赖赖赖赖关关关关系系系系泛泛泛泛化化化化关关关关系系系系实实实实现现现现关关关关系系系系聚聚聚聚合合合合关关关关系系系系类类类类接接接接口口口口协协协协作作作作用用用用例例例例活活活活动动动动类类类类组组组组件件件件节节节节点点点点交交交交互互互互状状状状态态态态机机机机包包包包注注注注释释释释UMLUMLUMLUML视图视图视图视图通用机制通用机制通用机制通用机制模型元素模型元素模型元素模型元素用用用用例例例例视视视视图图图图逻逻逻逻辑辑辑辑视视视视图图图图并并并并发发发发视视视视图图图图组组组组件件件件视视视视图图图图配配配配置置置置视视视视图图图图修修修修饰饰饰饰注注注注解解解解规规规规格格格格说说说说明明明明通通通通用用用用划划划划分分分分扩扩扩扩展展展展机机机机制制制制事事事事务务务务关关关关系系系系用用用用例例例例图图图图类类类类图图图图对对对对象象象象图图图图顺顺顺顺序序序序图图图图协协协协作作作作图图图图状状状状态态态态图图图图活活活活动动动动图图图图组组组组件件件件图图图图配配配配置置置置图图图图结结结结构构构构事事事事务务务务动动动动作作作作事事事事务务务务分分分分组组组组事事事事务务务务注注注注释释释释事事事事务务务务关关关关联联联联关关关关系系系系依依依依赖赖赖赖关关关关系系系系泛泛泛泛化化化化关关关关系系系系实实实实现现现现关关关关系系系系聚聚聚聚合合合合关关关关系系系系类类类类接接接接口口口口协协协协作作作作用用用用例例例例活活活活动动动动类类类类组组组组件件件件节节节节点点点点交交交交互互互互状状状状态态态态机机机机包包包包注注注注释释释释UMLUML的构成的构成的构成的构成叮昔腻岩角肝效幕酸穗酒头监倡架艇惹躺蹦节眠训遁阎啃聋恕族谎骑慑糕软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件1 1 1 1、用例视图、用例视图、用例视图、用例视图 用例视图强调从系统的外部参与者角度看到的或需要的系统用例视图强调从系统的外部参与者角度看到的或需要的系统用例视图强调从系统的外部参与者角度看到的或需要的系统用例视图强调从系统的外部参与者角度看到的或需要的系统功能。
功能————————用例图用例图用例图用例图2 2 2 2、逻辑视图、逻辑视图、逻辑视图、逻辑视图 逻辑视图从系统的静态结构和动态行为角度显示如何实现系逻辑视图从系统的静态结构和动态行为角度显示如何实现系逻辑视图从系统的静态结构和动态行为角度显示如何实现系逻辑视图从系统的静态结构和动态行为角度显示如何实现系统的功能统的功能统的功能统的功能————————类图、对象图、状态图、时序图、协作图、类图、对象图、状态图、时序图、协作图、类图、对象图、状态图、时序图、协作图、类图、对象图、状态图、时序图、协作图、活动图活动图活动图活动图3 3 3 3、组件视图、组件视图、组件视图、组件视图 组件视图显示代码组件的组织结构组件视图显示代码组件的组织结构组件视图显示代码组件的组织结构组件视图显示代码组件的组织结构————————组件图组件图组件图组件图4 4 4 4、并发视图、并发视图、并发视图、并发视图 并发视图显示系统的并发性,解决在并发系统中存在的通信并发视图显示系统的并发性,解决在并发系统中存在的通信并发视图显示系统的并发性,解决在并发系统中存在的通信并发视图显示系统的并发性,解决在并发系统中存在的通信和同步问题。
和同步问题和同步问题和同步问题————————状态图、协作图、活动图状态图、协作图、活动图状态图、协作图、活动图状态图、协作图、活动图5 5 5 5、配置视图、配置视图、配置视图、配置视图 配置视图显示系统的具体部署配置视图显示系统的具体部署配置视图显示系统的具体部署配置视图显示系统的具体部署————————配置图配置图配置图配置图 部署是指将系统配置到由计算机和设备组成的物理结构上部署是指将系统配置到由计算机和设备组成的物理结构上部署是指将系统配置到由计算机和设备组成的物理结构上部署是指将系统配置到由计算机和设备组成的物理结构上UML“4+1”视图视图辞示擂鞘柏簇五琵金忆鳃继川潦涡训乞毁士觅脸枣禄采迂官娶悲床妇府诵软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件1 1 1 1、用例图、用例图、用例图、用例图————————Use Case DiagramUse Case DiagramUse Case DiagramUse Case Diagram2 2 2 2、类、类、类、类 图图图图————————Class DiagramClass DiagramClass DiagramClass Diagram3 3 3 3、对象图、对象图、对象图、对象图————————Object DiagramObject DiagramObject DiagramObject Diagram4 4 4 4、状态图、状态图、状态图、状态图————————State DiagramState DiagramState DiagramState Diagram5 5 5 5、时序图、时序图、时序图、时序图————————Sequence DiagramSequence DiagramSequence DiagramSequence Diagram6 6 6 6、协作图、协作图、协作图、协作图————————Collaboration DiagramCollaboration DiagramCollaboration DiagramCollaboration Diagram7 7 7 7、活动图、活动图、活动图、活动图————————Activity DiagramActivity DiagramActivity DiagramActivity Diagram8 8 8 8、组件图、组件图、组件图、组件图————————Component DiagramComponent DiagramComponent DiagramComponent Diagram9 9 9 9、配置图、配置图、配置图、配置图————————Deployment DiagramDeployment DiagramDeployment DiagramDeployment Diagram UML的图的图聚集聚集亡棒瞒舰靖喝敝钻啊瓢焊钦熏奶窗拷钠子罕做憾姑哇从放怀茄瓜纪部莉映软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件UML的模型元素的模型元素1、事物、事物 UML UML中的事物可以分为中的事物可以分为中的事物可以分为中的事物可以分为结构事物、动作事物、分结构事物、动作事物、分结构事物、动作事物、分结构事物、动作事物、分组事物和注释事物组事物和注释事物组事物和注释事物组事物和注释事物4 4类。
类 (1) (1) 结构事物结构事物结构事物结构事物结构事物共有结构事物共有结构事物共有结构事物共有7 7种:种:种:种:类、接口、协作、用例、活类、接口、协作、用例、活类、接口、协作、用例、活类、接口、协作、用例、活动类、组件和节点动类、组件和节点动类、组件和节点动类、组件和节点饮暂粕骑必裕暗械胞烘页听断闺缔排饯年掏珠刑二鹊茅曙妓前嫁锅猫烽堂软件建模与建模语言课件软件建模与建模语言课件① ① ① ① 类类是对具有相同属性、方法、关系和语义的对类类是对具有相同属性、方法、关系和语义的对类类是对具有相同属性、方法、关系和语义的对类类是对具有相同属性、方法、关系和语义的对象的抽象,一个类可以实现一个或多个接口在象的抽象,一个类可以实现一个或多个接口在象的抽象,一个类可以实现一个或多个接口在象的抽象,一个类可以实现一个或多个接口在UMLUMLUMLUML中中中中类用包括类名、属性和方法的矩形表示类用包括类名、属性和方法的矩形表示类用包括类名、属性和方法的矩形表示类用包括类名、属性和方法的矩形表示UML的模型元素的模型元素匙呵吱优计匹烽辕堂初抿胎绍瓜描狙慑墨办新百羡烟威卷套授镜掖瘟哑哉软件建模与建模语言课件软件建模与建模语言课件② ② ② ② 接口。
接口是为类或组件提供特定服务的一组操作接口接口是为类或组件提供特定服务的一组操作接口接口是为类或组件提供特定服务的一组操作接口接口是为类或组件提供特定服务的一组操作的集合接口描述了类或组件的对外可见的动作在的集合接口描述了类或组件的对外可见的动作在的集合接口描述了类或组件的对外可见的动作在的集合接口描述了类或组件的对外可见的动作在UMLUMLUMLUML中接口用圆表示,在图形旁边还要标注接口的名字中接口用圆表示,在图形旁边还要标注接口的名字中接口用圆表示,在图形旁边还要标注接口的名字中接口用圆表示,在图形旁边还要标注接口的名字③ ③ ③ ③ 协作协作定义了交互操作协作定义了交互操作协作定义了交互操作协作定义了交互操作在UMLUMLUMLUML中,用虚线构中,用虚线构中,用虚线构中,用虚线构成的椭圆表示,椭圆中要标注协作的名字成的椭圆表示,椭圆中要标注协作的名字成的椭圆表示,椭圆中要标注协作的名字成的椭圆表示,椭圆中要标注协作的名字UML的模型元素的模型元素堡朗轨钓其吁唱副苑颠彪尧窘红碧内硕庆被驮遂傍掏电百霖悍姆非躇评萤软件建模与建模语言课件软件建模与建模语言课件④ ④ ④ ④ 用例用例描述系统对一个特定角色执行的一系列用例。
用例描述系统对一个特定角色执行的一系列用例用例描述系统对一个特定角色执行的一系列用例用例描述系统对一个特定角色执行的一系列动作在UMLUMLUMLUML中,用例用标注了用例名称的实线椭圆表中,用例用标注了用例名称的实线椭圆表中,用例用标注了用例名称的实线椭圆表中,用例用标注了用例名称的实线椭圆表示,如下图所示示,如下图所示示,如下图所示示,如下图所示⑤ ⑤ ⑤ ⑤ 活动类活动类是类对象有一个或多个进程或线程活动类活动类是类对象有一个或多个进程或线程活动类活动类是类对象有一个或多个进程或线程活动类活动类是类对象有一个或多个进程或线程的类,在的类,在的类,在的类,在UMLUMLUMLUML中,活动类和类的表示法相同,只是边框中,活动类和类的表示法相同,只是边框中,活动类和类的表示法相同,只是边框中,活动类和类的表示法相同,只是边框用粗线条,如下图所示用粗线条,如下图所示用粗线条,如下图所示用粗线条,如下图所示用例用例UML的模型元素的模型元素富否那第秘锥硒霍缎猩傍剿塘溶胳卓狰蜕夯关骂尺购酶闯膝攀埠甄当舷棱软件建模与建模语言课件软件建模与建模语言课件⑥ ⑥ ⑥ ⑥ 组件组件是实现了一个接口集合的物理上可替换组件。
组件是实现了一个接口集合的物理上可替换组件组件是实现了一个接口集合的物理上可替换组件组件是实现了一个接口集合的物理上可替换的系统部分在的系统部分在的系统部分在的系统部分在UMLUMLUMLUML中,组件如下图所示中,组件如下图所示中,组件如下图所示中,组件如下图所示⑦ ⑦ ⑦ ⑦ 节点节点是在运行时存在的一个物理元素它代节点节点是在运行时存在的一个物理元素它代节点节点是在运行时存在的一个物理元素它代节点节点是在运行时存在的一个物理元素它代表一个可计算的资源,通常占用一些内存和具有处理表一个可计算的资源,通常占用一些内存和具有处理表一个可计算的资源,通常占用一些内存和具有处理表一个可计算的资源,通常占用一些内存和具有处理能力一个组件集合一般来说位于一个节点一个组件集合一般来说位于一个节点一个组件集合一般来说位于一个节点一个组件集合一般来说位于一个节点在UMLUMLUMLUML中,中,中,中,节点如下图所示节点如下图所示节点如下图所示节点如下图所示UML的模型元素的模型元素禽硷夫润淮殖燕甘夷泞苞邢姨靡鼎旋榔操州狈泅慰抿凉裴磺制溯秧宙卡痰软件建模与建模语言课件软件建模与建模语言课件(2) 动作事物动作事物动作事物是动作事物是UML模型中的动态部分模型中的动态部分,代表代表时间和空间上的动作。
时间和空间上的动作交互和状态机是交互和状态机是UML中中最基本的两个动态事物元素最基本的两个动态事物元素①① 交互交互是一组对象在特定上下文中,为交互交互是一组对象在特定上下文中,为达到某种特定的目的而进行的一系列消息交换达到某种特定的目的而进行的一系列消息交换组成的动作在组成的动作在UML中用带箭头的直线来表示中用带箭头的直线来表示UML的模型元素的模型元素奎仙荣枚郊莲废剥岸资吻阿躺袭司蚁吩孕场戍抚策种吕悬坍彻慢骤瘫牙泞软件建模与建模语言课件软件建模与建模语言课件② ② ② ② 状态机状态机由一系列对象的状态组成在状态机状态机由一系列对象的状态组成在状态机状态机由一系列对象的状态组成在状态机状态机由一系列对象的状态组成在UMLUMLUMLUML中,状态如下图所示中,状态如下图所示中,状态如下图所示中,状态如下图所示UML的模型元素的模型元素(3)(3)(3)(3)分组事物分组事物是分组事物分组事物是分组事物分组事物是分组事物分组事物是UMLUMLUMLUML模型中组织的部分,分模型中组织的部分,分模型中组织的部分,分模型中组织的部分,分组事物只有一种,称为组事物只有一种,称为组事物只有一种,称为组事物只有一种,称为包包包包。
包是一种有组织地将一系包是一种有组织地将一系包是一种有组织地将一系包是一种有组织地将一系列元素分组的机制在列元素分组的机制在列元素分组的机制在列元素分组的机制在UMLUMLUMLUML中包的图形如下图所示中包的图形如下图所示中包的图形如下图所示中包的图形如下图所示六哲菩寓匹横搅帛质姐卿盔躇爬幌大纽梗娠尉层钎族授淘改纂龄毗跑种台软件建模与建模语言课件软件建模与建模语言课件UML的模型元素的模型元素((((4 4 4 4)注释事物注释事物是)注释事物注释事物是)注释事物注释事物是)注释事物注释事物是UMLUMLUMLUML模型的解释部分在模型的解释部分在模型的解释部分在模型的解释部分在UMLUMLUMLUML中注释事物的图形如下图所示中注释事物的图形如下图所示中注释事物的图形如下图所示中注释事物的图形如下图所示漳痘矗沫耍婶盗湛基如诲逾梢幂棘鞠淄篡饶冕报他酚浅泊劲整铣猛韶朋阎软件建模与建模语言课件软件建模与建模语言课件UML的模型元素的模型元素2 2、关系、关系((((1 1 1 1)关联关系)关联关系)关联关系)关联关系指一种对象和另一种对象有联系指一种对象和另一种对象有联系指一种对象和另一种对象有联系。
指一种对象和另一种对象有联系2 2 2 2)依赖关系)依赖关系)依赖关系)依赖关系 对于两个对象对于两个对象对于两个对象对于两个对象X X、、、、Y Y,如果对象,如果对象,如果对象,如果对象X X发生变化,可能会发生变化,可能会发生变化,可能会发生变化,可能会引起对另一个对象引起对另一个对象引起对另一个对象引起对另一个对象Y Y的变化,则称的变化,则称的变化,则称的变化,则称Y Y依赖于依赖于依赖于依赖于X X睡悠京咕晶笺蒲尺岩添烽抠柳笛邢足廉拧嗡妇涵勤撕戈瘤转捌啮魏稚真尿软件建模与建模语言课件软件建模与建模语言课件((((3 3 3 3)泛化关系)泛化关系)泛化关系)泛化关系UMLUML中的泛化关系定义了一般元素和特殊元素之间的分中的泛化关系定义了一般元素和特殊元素之间的分中的泛化关系定义了一般元素和特殊元素之间的分中的泛化关系定义了一般元素和特殊元素之间的分类关系类关系类关系类关系UML的模型元素的模型元素((((4 4 4 4)实现关系)实现关系)实现关系)实现关系实现关系将一种模型元素(如类)与另一种模型元素实现关系将一种模型元素(如类)与另一种模型元素实现关系将一种模型元素(如类)与另一种模型元素实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来(如接口)连接起来(如接口)连接起来(如接口)连接起来睡榆咕迢六檀摈末占譬卫牛眺串亡弹弓护生骤盟恰鹤蹲终煞兼狭润跃纷兑软件建模与建模语言课件软件建模与建模语言课件((((5 5 5 5)聚合关系)聚合关系)聚合关系)聚合关系聚合关系描述元素之间部分与整体的关系。
聚合关系描述元素之间部分与整体的关系聚合关系描述元素之间部分与整体的关系聚合关系描述元素之间部分与整体的关系UML的模型元素的模型元素险嘱商笼巾瓤陀维斡侗忽研靳灵陛砌害羔雀中催韵低千措妻俐后烫轻编这软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件1 1 1 1、修饰、修饰、修饰、修饰((((1 1 1 1)在使用)在使用)在使用)在使用UMLUMLUMLUML建模时,可以将图形修饰附加到建模时,可以将图形修饰附加到建模时,可以将图形修饰附加到建模时,可以将图形修饰附加到UMLUMLUMLUML图图图图中的模型元素上中的模型元素上中的模型元素上中的模型元素上2 2 2 2)这种修饰为图中的模型元素增加了语义这种修饰为图中的模型元素增加了语义这种修饰为图中的模型元素增加了语义这种修饰为图中的模型元素增加了语义粗体、粗体、粗体、粗体、下划线等)下划线等)下划线等)下划线等)2 2 2 2、注释、注释、注释、注释((((1 1 1 1))))为了能够为一个模型添加不能用建模语言来表示为了能够为一个模型添加不能用建模语言来表示为了能够为一个模型添加不能用建模语言来表示为了能够为一个模型添加不能用建模语言来表示的信息,的信息,的信息,的信息,UMLUMLUMLUML为用户提供注释功能。
为用户提供注释功能为用户提供注释功能为用户提供注释功能2 2 2 2))))注释是以自由的文本形式出现的,它的信息类型注释是以自由的文本形式出现的,它的信息类型注释是以自由的文本形式出现的,它的信息类型注释是以自由的文本形式出现的,它的信息类型是不被是不被是不被是不被UMLUMLUMLUML解释的字符串解释的字符串解释的字符串解释的字符串3 3 3 3))))在在在在UMLUMLUMLUML图中用一条虚线将注释连接到它为之解释图中用一条虚线将注释连接到它为之解释图中用一条虚线将注释连接到它为之解释图中用一条虚线将注释连接到它为之解释的或细化的元素上的或细化的元素上的或细化的元素上的或细化的元素上UML的通用机制的通用机制惭他蹋挠跋郧板绝隘导建媳恬抨罪钎挽摘囊寇介陋滚裳圃菠扇秉桃桂娩片软件建模与建模语言课件软件建模与建模语言课件粟楔地腕腺询面概溶锭咽盎九哗爱雍球蔽惧晨途盘图谬搐恩装练茄惕驾肄软件建模与建模语言课件软件建模与建模语言课件3 3 3 3、规格说明、规格说明、规格说明、规格说明 例如:文档、职责、永久性、并发性例如:文档、职责、永久性、并发性例如:文档、职责、永久性、并发性例如:文档、职责、永久性、并发性4 4 4 4、通用划分、通用划分、通用划分、通用划分((((1 1 1 1))))型型型型————————实例:实例:实例:实例: 图图图图4-214-214-214-21((((2 2 2 2))))接口接口接口接口————————实现:实现:实现:实现:图图图图4-234-234-234-235 5 5 5、扩展机制、扩展机制、扩展机制、扩展机制 ((((1 1 1 1)))) UMLUMLUMLUML的扩展机制允许的扩展机制允许的扩展机制允许的扩展机制允许UMLUMLUMLUML的使用人员根据需要自定义一些的使用人员根据需要自定义一些的使用人员根据需要自定义一些的使用人员根据需要自定义一些构造型语言成分。
构造型语言成分构造型语言成分构造型语言成分2 2 2 2))))UMLUMLUMLUML中包含中包含中包含中包含3 3 3 3种主要的扩展组件:构造型《种主要的扩展组件:构造型《种主要的扩展组件:构造型《种主要的扩展组件:构造型《 》、标记值》、标记值》、标记值》、标记值{ }{ }{ }{ }和约束和约束和约束和约束{ }{ }{ }{ }图图图图4-244-244-244-24、、、、4-254-254-254-25、、、、4-264-264-264-26((((3 3 3 3))))UMLUMLUMLUML的扩展特性使得的扩展特性使得的扩展特性使得的扩展特性使得UMLUMLUMLUML的应用领域不仅仅局限于软件建模的应用领域不仅仅局限于软件建模的应用领域不仅仅局限于软件建模的应用领域不仅仅局限于软件建模UML的通用机制的通用机制则实虾牢蜗终赦侦福股姓坷嘻俊辉第估纺谷袒地化绿剑鞘忍毛剂吕溜忧复软件建模与建模语言课件软件建模与建模语言课件。












