UML面向对象建模基础_第1页
UML面向对象建模基础_第2页
UML面向对象建模基础_第3页
UML面向对象建模基础_第4页
UML面向对象建模基础_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

UML面向对象建模基础1编辑pptUML面向对象建模基础1编辑pptUML面向对象建模本课程内容安排:

1、面向对象概念与UML介绍:

2、类建模与类图介绍:

3、用例与用例图介绍:

4、顺序图介绍:

5、状态图介绍:

6、活动图:

7、协作图与构建图与部署图介绍:

8、UML在软件开发实例中的具体应用。2编辑pptUML面向对象建模本课程内容安排:2编辑ppt1、面向对象的分析和设计(OOAD)3编辑ppt1、面向对象的分析和设计(OOAD)3编辑ppt1.1、面向对象程序设计的引入:随着信息技术的发展,软件复杂性的增长使软件开发越来越困难应用软件网络操作系统软件可能是人类制造出来的最复杂的实体4编辑ppt1.1、面向对象程序设计的引入:随着信息技术的发展,软件复杂1.2、面向对象的分析和设计(OOAD)面向对象的方法按照人类的自然思维的方式,面对客观世界建立软件模型。充分体现了对复杂系统进行分解、抽象、模块化等思想OOA依照用户所理解的真实世界中的对象概念,发现和分析对象的内部构成和外部关系,建立准确而简洁的软件系统的对象模型。

OOD是根据已建立的系统对象模型,运用面向对象技术,进行软件设计。5编辑ppt1.2、面向对象的分析和设计(OOAD)面向对象的方法按照2、面向对象的基本概念。6编辑ppt2、面向对象的基本概念。6编辑ppt面向对象的基本概念类与对象抽象封装继承多态7编辑ppt面向对象的基本概念类与对象7编辑ppt2.1类和对象的概念多边形对象多边形类属性

顶点

边的颜色

填充颜色方法

绘制

擦除

移动抽象为8编辑ppt2.1类和对象的概念多边形对象多边形类属性

顶点

边的颜色属性1方法1属性3方法22.2类和对象的关系:抽象考察特定应用程序相关问题的某些方面的过程Class9编辑ppt属性1方法1属性3方法22.2类和对象的关系:抽象考2.3类的特性:封装信息隐藏的过程有选择的数据隐藏防止意外的数据破坏更易于隔离和修复错误10编辑ppt2.3类的特性:封装信息隐藏的过程10编辑ppt类的特性:封装封装是允许有选择地隐藏类中的属性和方法的过程在类的外部不能访问在类的外部可以访问私有公有类11编辑ppt类的特性:封装封装是允许有选择地隐藏类中的属性和方法的过程2.4类的特性:继承超类是有其他类继承其特征和行为的类继承其他类的类称为子类动物12编辑ppt2.4类的特性:继承超类是有其他类继承其特征和行为的类动物12.5类的特性:多态性

同样的函数在不同的类上有不同的行为类:形状方法:绘制移动初始化子类对各个子类实现的方法将产生不同的结果13编辑ppt2.5类的特性:多态性同样的函数在不同的类上有不同的行为类2.6类的其他知识接口:

接口是一个收集方法和常数表单的契约。当类执行一个接口,它就许诺声明在那个接口中执行所有的方法。 在不同类中实现取用相同参数的同名成员函数契约,设计的灵魂

重载

在同一类中实现取用不同参数的同名成员函数消息

对象之间的交互 包含三个方面的内容:

消息的接收者;接收对象应采用的方法;方法所需要的参数14编辑ppt2.6类的其他知识接口:14编辑ppt3、模型与建模

15编辑ppt3、模型与建模

15编辑ppt3.1什么是模型模型是现实的简化

模型提供了系统的设计图。模型可以包含详细的规划,也可以包含概括性的规划,这种规划高度概括了正在考虑的系统。好的模型包括那些具有高度抽象性的元素。模型有助于按原样或根据需要使系统可视化通过模型可以详细说明系统的结构或行为模型可以提供一个指导我们构建系统的模板模型可以记录已经做出的决策16编辑ppt3.1什么是模型模型是现实的简化16编辑ppt3.2、为什么要建模建模是为了让我们更好地理解将要开发的系统。UserInterface(VisualBasic,Java)BusinessLogic(C++,Java)DatabaseServer(C++&SQL)17编辑ppt3.2、为什么要建模建模是为了让我们更好地理解将要开发的系统3.3、建模要实现的目的模型有助于按原样或根据需要使系统可视化。通过模型可以详细说明系统的结构或行为。模型可以提供一个指导我们构建系统的模板。模型可以记录已经做出的决策。18编辑ppt3.3、建模要实现的目的18编辑ppt3.4、建模的原则选择创建什么模型对于如何处理问题以及如何形成解决方案有很深远的影响。每一种模型可以在不同的精度级别上表示。最佳模型与现实情况是紧密相连的。一个模型不足以全面地反映实际情况。每个具有一定规模的系统都是通过一组几乎独立的模型来表示的。19编辑ppt3.4、建模的原则选择创建什么模型对于如何处理问题以及如何4、UML的基本概念。20编辑ppt4、UML的基本概念。20编辑ppt4.1UML简介统一建模语言UML(UnifiedModelingLanguage)是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统进行可视化、详述、构造和文档化。从企业信息系统到基于Web的分布式应用,甚至严格的实时嵌入式系统都适合于用UML来建模。它是一种富有表达力的语言,可以描述开发所需要的各种视图,然后以此为基础开发系统。

21编辑ppt4.1UML简介统一建模语言UML(UnifiedMod4.2UML的语义与语法:1.UML语义描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。2.UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例22编辑ppt4.2UML的语义与语法:1.UML语义描述基于UML的精4.3在不同系统中的应用信息系统: 与数据库有关的系统技术系统:处理和控制技术设备嵌入式系统:控制像移动电话这样的设备以 及家用设备分布式系统:使用CORBA和类似的面向对 象机制分布在不同系统上的 数据库系统系统软件:操作系统和编写系统实用程序业务系统:与工作流有关的系统23编辑ppt4.3在不同系统中的应用信息系统: 与数据库有关的系统23编5、UML的组成。24编辑ppt5、UML的组成。24编辑ppt5.UML的组成

标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:25编辑ppt5.UML的组成标准建模语言UML的重要内容可以由下列五类图:类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。以洗衣机为例:类图如右下:26编辑ppt类图:类图描述系统中类的静态结构。不仅定义系统中的类,表示类对象图:对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。如下面:左图指明对象和它对应的类名;右图尽管指明了对象所属类,但并未提供一个具体的对象名,这是匿名对象。27编辑ppt对象图:对象图是类图的实例,几乎使用与类图完全相同的标识。他用例图用例图:是从用户角度描述系统功能,并指出各功能的操作者。以洗衣机系统如下:28编辑ppt用例图用例图:是从用户角度描述系统功能,并指出各功能的操作者状态图状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。如下为一洗衣过程的状态图。29编辑ppt状态图状态图是对类图的补充。在实用上并不需要为所有的类画状态顺序图顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。30编辑ppt顺序图顺序图显示对象之间的动态合作关系,它强调对象之间消息发活动图活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动31编辑ppt活动图活动图描述满足用例要求所要进行的活动以及活动间的约束关协作图协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。32编辑ppt协作图协作图描述对象间的协作关系,协作图跟顺序图相似,显示对构件图构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。33编辑ppt构件图构件图描述代码部件的物理结构及各部件之间的依赖关系。一部署图配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。下面为不同品牌计算机的通信部署图:34编辑ppt部署图配置图定义系统中软硬件的物理体系结构。它可以显示实际的UML中几个图的关系用例图需求类图(复杂)状态图顺序图类图(简单)活动图协作图35编辑pptUML中几个图的关系用例图需求类图(复杂)状态图顺序图类图(UML应用领域

最常用的是为软件系统建模,但不限于软件系统建模。UML还可用来描述其他非软件系统,如一个机构的组成或机构中的工作流程等。36编辑pptUML应用领域最常用的是为软件系统建模,但不限于软件UML应用---需求分析阶段UML的用例视图可以表示客户的需求,通过用例建模可以对外部的角色以及它们所需要的系统功能建模。37编辑pptUML应用---需求分析阶段UML的用例视图可以表UML应用---分析阶段

分析阶段主要考虑所要解决的问题。可用UML的逻辑视图和动态视图来描述,类图描述系统的静态结构;协作图、状态图、顺序图和活动图描述系统的动态特征。在分析阶段,只为问题领域的类建模,不定义软件系统的解决方案的细节(如用户接口的类数据库等)。38编辑pptUML应用---分析阶段分析阶段主要考虑所要解决的问题。UML应用---设计阶段在设计阶段把分析阶段的结果扩展成技术解决方案,加入新的类来提供技术基础结构---用户接口,数据库操作等。分析阶段的领域问题类被嵌入在这个技术基础结构中,设计阶段的结果是构造阶段的详细的规格说明。39编辑pptUML应用---设计阶段在设计阶段把分析阶段的结果扩展成技术UML应用---构造阶段在构造(或程序设计)阶段把设计阶段的类转换成某种面向对象程序设计语言的代码。40编辑pptUML应用---构造阶段在构造(或程序设计)阶段把设计阶段的UML应用---测试阶段对系统的测试通常分为单元测试、集成测试、系统测试和接受测试几个不同级别。不同的测试小组使用不同的UML图作为他们工作的基础。单元测试使用类图和类的规格说明;集成测试典型地使用组件图和协作图;而系统测试实现用例图来确认系统的行为是否符合这些图中的定义。41编辑pptUML应用---测试阶段对系统的测试通常分为单元测试、集成测6、一个UML案例42编辑ppt6、一个UML案例42编辑ppt

顺序图案例

刘备孔明关羽求战请拟策略张飞请防守荆州请防守荆州前线孙权曹操请联络孙权请孙权领兵相助借东风火攻火攻曹军43编辑ppt顺序图案例刘备的责任?

刘备求战请拟策略请防守荆州请联络孙权我必须

迎战曹操!!44编辑ppt刘备的责任?刘备求战请使用UML表示

孔明请拟策略请联络孙权请孙权领兵相助借东风火攻火攻曹軍孔明拟定策略联合孙权借东风火攻45编辑ppt使用UML表示孔明请拟使用UML表示

关羽张飞请防守荆州请防守荆州前线关羽防守荆州张飞防守荆州前线46编辑ppt使用UML表示关羽张飞

关羽防守荆州张飞防守荆州前线刘备迎战曹操孔明拟定策略联合孙权借东风火攻UML的类图

怎么根据模型来写代码呢?47编辑ppt关羽防守荆州张飞防守荆州前线刘备迎战

使用C#

刘备迎战曹操写C#程序class刘备{public迎战曹操(){

……}}48编辑ppt使用C#刘备迎战曹操写

孔明拟定策略联合孙权借东风火攻写C#程序class孔明{public拟定策略(){

……}public联合孙权(){

……}private

借东风火攻(){

……}}49编辑ppt孔明拟定策略联合孙权借东风火攻写C#class刘备{public

迎战曹操(){

……}}使用C#class孔明{public

拟定策略(){

……}public联合孙权(){

……}private

借东风火攻(){

……}}class关羽{public

防守荊州(){

……}}class张飞{public

防守前线(){

……}}准备填写public方法内容依样画葫芦50编辑pptclass刘备{使用C#class孔明{class关羽写C#程序内容

刘备求战请拟定策略请防守荆州请联络孙权写C#程序class刘备{孔明k=new孔明关羽

g=

new关羽public

迎战曹操(){

k.拟定策略

g.防守荆州

k.联合孙权}}51编辑ppt写C#程序内容写C#程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论