软件建模与建模语言

上传人:豆浆 文档编号:49194562 上传时间:2018-07-25 格式:PPT 页数:43 大小:1.80MB
返回 下载 相关 举报
软件建模与建模语言_第1页
第1页 / 共43页
软件建模与建模语言_第2页
第2页 / 共43页
软件建模与建模语言_第3页
第3页 / 共43页
软件建模与建模语言_第4页
第4页 / 共43页
软件建模与建模语言_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《软件建模与建模语言》由会员分享,可在线阅读,更多相关《软件建模与建模语言(43页珍藏版)》请在金锄头文库上搜索。

1、软件建模与建模语言 为什么要建模?为什么要建模?1 1、模型是软件文档的重要成分、模型是软件文档的重要成分一个开发团队首要关注的不应是漂亮的文档、世界级的会一个开发团队首要关注的不应是漂亮的文档、世界级的会 议、响亮的口号或者华丽的源码,而是如何满足用户和项目的需议、响亮的口号或者华丽的源码,而是如何满足用户和项目的需 要。要。 2 2、建模是软件工程的核心、建模是软件工程的核心一个狗窝一个狗窝一间平房一间平房一幢大楼一幢大楼需求模型需求模型分析模型分析模型设计模型设计模型测试模型测试模型软件建模与建模语言3、什么是模型定义:对问题的书面上的无歧义文字或图形 的描述.y=f(x)最杰出的模型:

2、地图简言之,模型是对现实的简化。简言之,模型是对现实的简化。 (1 1)一个好的模型包括重要的因素,而忽略不相)一个好的模型包括重要的因素,而忽略不相 干的细节。干的细节。 (2 2)每一个系统可以从不同的方面使用不同的模)每一个系统可以从不同的方面使用不同的模 型进行描述,因此每个模型都是对系统从语义上近型进行描述,因此每个模型都是对系统从语义上近 似的抽象。似的抽象。 (3 3)模型可以是结构的、侧重于系统的组织,也)模型可以是结构的、侧重于系统的组织,也 可以是行为的、侧重于系统的动作。可以是行为的、侧重于系统的动作。软件建模与建模语言4 4、建模的原则、建模的原则 (1 1)选择建立什

3、么样的模型对如何发现和)选择建立什么样的模型对如何发现和 解决问题具有重要的影响。解决问题具有重要的影响。正确的模型有助于提高开发者的洞察力。正确的模型有助于提高开发者的洞察力。软件建模与建模语言软件建模与建模语言(2 2)每个模型可以有多种表达方式。)每个模型可以有多种表达方式。使用者的身份和使用的原因是评判模型好坏使用者的身份和使用的原因是评判模型好坏 的关键。的关键。(3 3)最好的模型总是能够切合实际。)最好的模型总是能够切合实际。模型是现实的简化,必须保证简化过程不会模型是现实的简化,必须保证简化过程不会 掩盖任何重要的细节。掩盖任何重要的细节。软件建模与建模语言(4 4)孤立的模型

4、是不完整的。)孤立的模型是不完整的。5 5、建模的目标、建模的目标通过建模,要实现以下通过建模,要实现以下4 4个目标:个目标: (1 1)便于开发人员展现系统。)便于开发人员展现系统。可视化可视化visualizationvisualization (2 2)允许开发人员指定系统的结构或行为。)允许开发人员指定系统的结构或行为。详述详述specificationspecification (3 3)提供指导开发人员构造系统的模板。)提供指导开发人员构造系统的模板。构造构造constructionconstruction (4 4)记录开发人员的决策。)记录开发人员的决策。文档化文档化docu

5、mentationdocumentation软件建模与建模语言6 6、通用建模语言、通用建模语言(1 1)自然语言、图形语言、数学语言)自然语言、图形语言、数学语言 (2 2)结构化建模与面向对象建模)结构化建模与面向对象建模A A、基于功能的分解与基于概念的建模、基于功能的分解与基于概念的建模B B、面向对象的建模语言(、面向对象的建模语言(5050种之多种之多)RumbaughRumbaugh(云豹)(云豹):OMT:OMTShlaerShlaer/Mellor /Mellor (雪梨与米勒)(雪梨与米勒)Jacobson Jacobson (雅克森)(雅克森) :OOSE:OOSEBoo

6、chBooch(布什)(布什)YourdonYourdon(尤顿)(尤顿):OOA/OOD:OOA/OODMartin/Odell Martin/Odell(马丁与奥地)(马丁与奥地)软件建模与建模语言6 6、通用建模语言、通用建模语言(3 3)统一建模语言)统一建模语言UML UML 软件建模与建模语言(3 3)统一建模语言)统一建模语言UMLUMLUML UMLUnified Modeling LanguageUnified Modeling Language UnifiedUnified:n n组合了当前最好的面向对象软件建模方法组合了当前最好的面向对象软件建模方法n nGrady Gr

7、ady BoochBooch,James James RumbaughRumbaugh,IvarIvar JacobsonJacobson,UMLUML三位主要贡献者。三位主要贡献者。 1.OMT1.OMT( James James RumbaughRumbaugh ) 2.The 2.The BoochBooch Method Method( Grady Grady BoochBooch ) 3.OOSE3.OOSE( IvarIvar Jacobson Jacobson )软件建模与建模语言(3 3)统一建模语言)统一建模语言UMLUMLUML UMLUnified Modeling La

8、nguageUnified Modeling Language ModelingModeling: 用于表达现实的简化视图,以便于面向用于表达现实的简化视图,以便于面向 对象软件系统的设计与实现。对象软件系统的设计与实现。 LanguageLanguage: UMLUML主要是遵循精确语法的图形语言。主要是遵循精确语法的图形语言。软件建模与建模语言6 6、通用建模语言、通用建模语言(4 4)应注意的问题)应注意的问题A A、UMLUML是一种建模语言,不是一种建模方法。是一种建模语言,不是一种建模方法。遵循特定的规则、允许创建各种模型、并不告诉设遵循特定的规则、允许创建各种模型、并不告诉设计者

9、需要创建哪些模型,不提供开发过程计者需要创建哪些模型,不提供开发过程B B、UMLUML并不是软件建模的专用语言并不是软件建模的专用语言。 UMLUML是用于构造系统或理解系统的语言(是用于构造系统或理解系统的语言(UMLUML既支既支持正向工程,又支持反向工程)、是文档化的语言。持正向工程,又支持反向工程)、是文档化的语言。 软件建模与建模语言面向对象的基本概念面向对象的基本概念面向对象对象类继承通信面向对象对象类继承通信面向对象技术的基本观点可以概括如下:面向对象技术的基本观点可以概括如下: 客观世界由对象组成,任何客观实体都是对象,客观世界由对象组成,任何客观实体都是对象, 复杂对象可以

10、由简单对象组成。复杂对象可以由简单对象组成。 具有相同数据和操作的对象可归纳成类,对象是具有相同数据和操作的对象可归纳成类,对象是 类的一个实例。类的一个实例。 类可以派生出子类,子类除了继承父类的全部特类可以派生出子类,子类除了继承父类的全部特 性外还可以有自己的特性。性外还可以有自己的特性。 对象之间的联系通过消息传递来维系。对象之间的联系通过消息传递来维系。1.1.对象对象内部状态内部状态打开打开调节频道调节频道其他其他关闭关闭调节声音调节声音一台收音机对象的实例客观世界里的任何实体都可以被称之为对象,复客观世界里的任何实体都可以被称之为对象,复 杂的对象可由相对比较简单的对象以某种方法

11、组成。杂的对象可由相对比较简单的对象以某种方法组成。2.2.封装封装封装是指把属性和操作封进一个对象里,封装是指把属性和操作封进一个对象里,它的内部信息对外界隐藏,不允许外界直接存它的内部信息对外界隐藏,不允许外界直接存取对象的属性。只能通过对象提供的有限的接取对象的属性。只能通过对象提供的有限的接口对对象的属性数据进行操作。口对对象的属性数据进行操作。封装有两层含义:封装有两层含义:(1 1)结合性)结合性(2 2)信息隐蔽性)信息隐蔽性3.3.消息消息消息就是向对象发出的请求,一个消息包消息就是向对象发出的请求,一个消息包含消息名、接收对象的标志、服务标志、输入含消息名、接收对象的标志、服

12、务标志、输入信息、回答信息等。当一个消息发送给某个对信息、回答信息等。当一个消息发送给某个对象时,包含要求接受对象去执行某些活动的信象时,包含要求接受对象去执行某些活动的信息。接收到消息的对象经过解释,然后予以响息。接收到消息的对象经过解释,然后予以响应。这种通信机制叫做消息传递。应。这种通信机制叫做消息传递。对象对象消息消息4.4.类类类是一组具有相同数据结构和相同操作的类是一组具有相同数据结构和相同操作的对象的集合。类是对象的抽象,它将一组数据对象的集合。类是对象的抽象,它将一组数据 属性和在数据上的一组合法操作抽象封装。属性和在数据上的一组合法操作抽象封装。人 人人类类分门别分门别类类物

13、以物以类类聚聚5.5.继承继承继承是指子类可以自动拥有父类的全部继承是指子类可以自动拥有父类的全部属性与操作。属性与操作。车父类或超类父类或超类子类或派生类继承性又分为单重继承和多重继承两类。单继承性又分为单重继承和多重继承两类。单重继承时一个子类只能有一个父类;多重继承时重继承时一个子类只能有一个父类;多重继承时 一个子类可以有多于一个的父类。一个子类可以有多于一个的父类。ABCDEABCDEF单重继承单重继承多重继承多重继承6.6.多态性多态性同一操作作用于不同的对象,可以有不同同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。的解释,产生不同的执行结果,这就是

14、多态性。多态性通常通过派生类重载基类中的同名函数来多态性通常通过派生类重载基类中的同名函数来实现。实现。多态性分为如下两种:多态性分为如下两种: 编译时的多态性编译时的多态性 运行时的多态性运行时的多态性多态性的多态性的3 3种实现方式:种实现方式: 通过接口实现多态性通过接口实现多态性 通过继承实现多态性通过继承实现多态性 通过抽象类实现的多态性通过抽象类实现的多态性7.7.结构与连接结构与连接为了使系统能够有效地映射问题域,系统开为了使系统能够有效地映射问题域,系统开发者需要认识并描述对象间的以下几种关系:发者需要认识并描述对象间的以下几种关系:(1 1)一般)一般/ /特殊结构特殊结构学

15、生学生专科生专科生本科生本科生研究生研究生硕士研究生硕士研究生博士研究生博士研究生中专生中专生大专生大专生(2 2)整体)整体/ /部分结构部分结构计算机主机外设主板(3 3)实例连接)实例连接实例连接反映了对象与对象间的静态关系。实例连接反映了对象与对象间的静态关系。(4 4)消息连接)消息连接教师学生教1m消息连接描述对象之间的动态联系。消息消息连接描述对象之间的动态联系。消息连接是有方向的,连接从消息发送者指向消息连接是有方向的,连接从消息发送者指向消息 接受者。接受者。7 7、UMLUML的构成的构成(图(图4-14-1)(1 1)视图)视图“4+1”“4+1”视图视图(图(图4-24

16、-2)视图是表达系统的某一方面特征的视图是表达系统的某一方面特征的UMLUML建模元素的子集。建模元素的子集。是由一个或者多个图组成的对系统某个角度的抽象。是由一个或者多个图组成的对系统某个角度的抽象。 (2 2)图)图9 9种图种图(3 3)模型元素)模型元素UMLUML中的模型元素包括事物和事物之间的联系。事物描述中的模型元素包括事物和事物之间的联系。事物描述 了一般的面向对象的概念,如类、对象、接口、消息和组了一般的面向对象的概念,如类、对象、接口、消息和组 件等。件等。(4 4)通用机制)通用机制UMLUML提供的通用机制可以为模型元素提供额外的注释、信提供的通用机制可以为模型元素提供额外的注释、信 息或语义。息或

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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