收藏 分销(赏)

面向对象分析与设计(课堂PPT).ppt

上传人:丰**** 文档编号:10764359 上传时间:2025-06-12 格式:PPT 页数:42 大小:638KB 下载积分:12 金币
下载 相关 举报
面向对象分析与设计(课堂PPT).ppt_第1页
第1页 / 共42页
面向对象分析与设计(课堂PPT).ppt_第2页
第2页 / 共42页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,2,章,UML,概述,2.1 UML,的历史,2.2 UML,的特点,2.3 UML,的构成,2.4 UML,的视图,2.5 UML,的图,2.6 UML,的模型元素,2.7 UML,的软件工程行为,1,2.1 UML,的历史,UML,是,Unified Modeling Language,(统一建模语言)的简称。,Booch,给出的定义:,UML,是对软件密集型系统中的制品进行可视化、详述、构造和文档化的语言。,制品是指软件开发过程中产生的各种各样的产物,如模型,源代码,测试用例,等。,2,2.1 UML,的历史,模型的重要性:,可以更好地理解问题。,可以加强人员之间的沟通。,可以更早地发现错误或疏漏的地方。,可以获得设计结果。,为最后的代码生成提供依据。,3,2.1 UML,的历史,4,2.1 UML,的历史,UML,是由世界著名的面向对象技术专家:,G.Booch,,,J.Rumbaugh,,,I.Jacobson,发起,在,Booch,方法、,OMT,方法和,OOSE,方法的基础上,汲取其他面向对象方法的优点,广泛征求意见,几经修改而完成的。,最新的,UML,规范说明,是,2003,年,3,月发布的,UML1.5,版本,在,www.uml.org,上下载。,5,2.1 UML,的历史,众多的,OO,方法:,1988,年,,Shlaer/Mellor,,面向对象的系统分析方法,,Object-oriented System Analysis,1990,年,,Rebecca WirfsBrock,,职责驱动,CRC,方法,,Responsibility-Driven CRC-cards,1991,年,,Peter Coad,,,Edward Yourdon,,面向对象分析与设计方法,,OOA/OOD,6,2.1 UML,的历史,众多的,OO,方法:,1991,年,,Grady Booch,,,Booch,方法,比较适合于系统的设计和构造。,1991,年,,James Rumbaugh,,,OMT,方法,,Object Modelling Technique,,比较适合于分析和描述以数据为中心的信息系统。,7,2.1 UML,的历史,众多的,OO,方法:,OMT,方法,使用对象模型、动态模型、功能模型、用例模型,共同完成对整个系统的建模。,8,2.1 UML,的历史,众多的,OO,方法:,1992,年,,Ivar Jacobson,,,OOSE,方法,,Object-oriented Software Engineering,,比较适合于商业工程和需求分析。面向用例,用例贯穿于整个开发过程。,其他方法,有,50,多种,9,2.1 UML,的历史,召开时间,召开地点,会议网址,UML98,1998.6.3-4,法国,Mulhouse,UML99,1999.10.28-30,美国科罗拉多州,Fort Collins,www.yy.ics.keio.ac.jp,UML2000,2000.10.2-6,英国,York,www.cs.york.ac.uk,UML2001,2001.10.1-5,加拿大多伦多,www.cs.toronto.edu,UML2002,2002.9.30-10.4,德国德累斯顿,www.inf.tu-dresden.de,UML2003,2003.10.20-24,美国旧金山,www.umlconference.org,10,2.2 UML,的特点,UML,的主要特点:,统一的标准。已被,OMG,(,Object Management Group,)接受为标准的建模语言。,面向对象。支持面向对象软件开发。,可视化,表示功能强大。,独立于过程。不依赖于特定的软件开发过程。,概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。,11,2.3 UML,的构成,UML,的定义包括,UML,语义和,UML,表示法:,UML,语义,。描述基于,UML,的精确元模型定义。元模型为,UML,的所有元素在语法和语义上提供了简单、一致和通用的定义性说明。此外,,UML,还支持对元模型的扩展定义。,UML,表示法,。定义,UML,符号的表示法,为开发者或开发工具使用这些图形符号和文本语法进行系统建模提供了标准。,12,2.3 UML,的构成,UML,的重要内容可以由下列,5,类图来定义:,用例图,。从用户角度描述系统功能,并指出各功能的操作者。,静态图(类图、对象图、包图),。类图描述系统中类的静态结构,包括类,类之间联系,类的内部结构(属性和操作)。对象图是类图的实例,显示类的多个对象实例,使用与类图几乎完全相同的标识。包图描述系统的分层结构。,13,2.3 UML,的构成,UML,的重要内容可以由下列,5,类图来定义:,行为图(状态图、活动图),。行为图描述系统的动态模型和组成对象间的交互关系。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,只为那些有多个状态且其行为受外界环境的影响,并且发生改变的类画状态图。活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。,14,2.3 UML,的构成,UML,的重要内容可以由下列,5,类图来定义:,交互图(时序图、协作图),。交互图描述对象之间的交互关系。时序图描述对象之间的动态合作关系,强调对象之间消息发送的顺序。协作图描述对象间的协作关系。如果强调时间和顺序,则用时序图。如果强调上下级关系,则用协作图。,15,2.3 UML,的构成,UML,的重要内容可以由下列,5,类图来定义:,实现图(组件图、配置图),。组件图描述代码部件的物理结构及各组件之间的依赖关系。一个组件可能是资源代码组件,一个二进制组件,或者一个可执行组件。配置图描述系统中软硬件的物理体系结构。,16,2.3 UML,的构成,采用面向对象技术设计系统时,工作流程可以视为如下过程:,描述需求,。用例图。,建立系统的静态模型,。类图,对象图,包图,组件图,配置图。,描述系统的行为,。状态图,活动图,时序图,协作图。,17,2.3 UML,的构成,基本构造块,规则,公共机制,UML,的构成,事物,关系,图,命名,范围,可见性,完整性,执行,规范说明,修饰,通用划分,扩展机制,18,2.3 UML,的构成,事物,关系,图,结构事物,类、接口、协作、用例、主动类、构件、结点,行为事物,交互、状态机,分组事物,包,注释事物,注解,依赖,关联,泛化,实现,扩展机制,版本,标记值,约束,用例图,顺序图,协作图,类图,对象图,状态图,活动图,构件图,部署图,19,2.3 UML,的构成,通用机制,视图,模型元素,UML,的构成,交互、状态机,注释,包,修饰,注释,类、接口,关联、依赖、泛化、实现、聚合,事物,规范说明,关系,通用划分,扩展机制,用例视图,逻辑视图,并发视图,组件视图,配置视图,结构事物,动作事物,分组事物,注释事物,用例图,组件图,配置图,类图、对象图,顺序图、协作图、状态图、活动图,20,2.3 UML,的构成,需求,用例图,活动图,类图,(,简单的,),顺序图,状态图,设计阶段,分析阶段,需求阶段,协作图,类图,(,复杂的,),21,2.4 UML,的视图,视图(,View,)是表达系统的某一方面特征的,UML,建模元素的子集。,视图并不是“真正的”图,而是由一个或多个图组成的、对系统某个角度的抽象。,UML,中的视图大致可以分为以下,5,种:,用例视图,逻辑视图,实现视图,,进程视图,部署视图,22,2.4 UML,的视图,一般而言,系统通常是从多个不同的方面来描述的。,系统的使用实例。,使用实例从系统外部参与者的角度描述系统的功能。,系统的逻辑结构。,逻辑结构描述系统内部的静态结构和动态行为,即从内部描述如何设计实现系统功能。,23,2.4 UML,的视图,系统的构成。,描述系统由哪些构件组成。,系统的并发特性。,描述系统的并发性,解决并发系统中存在的各种通信和同步问题。,系统的配置。,描述系统的软件和硬件设备之间的配置关系。,24,2.4 UML,的视图,用例视图,表示系统的功能性需求。强调从用户角度看到的或需要的系统功能。用例图。,逻辑视图,表示系统的概念设计和子系统结构。展现系统的静态或结构组成及特征。类图,对象图。,实现视图,说明代码的结构。体现系统实现的结构和行为特征。组件图。,25,2.4 UML,的视图,进程视图,说明系统中并发执行和同步的情况。体现系统的动态或行为特征。时序图,协作图,状态图,活动图。,部署视图,定义硬件结点的物理结构。体现系统实现环境的结构和行为特征。配置图。,26,2.4 UML,的视图,逻辑视图,进程视图,实现视图,部署视图,用例视图,如果这,5,个视图不能完全满足需求,用户可以定义自己的视图。,27,2.5 UML,的图,图是模型元素集的图形表示,由顶点(模型元素)和弧(关系)相互连接组成。,UML,中的图大致可以分为以下,9,种:,用例图,类图,对象图,时序图,协作图,状态图,活动图,组件图,配置图。,用例图,描述用户看到的系统功能。,类图,描述系统的静态结构。,对象图,描述系统在某个时刻的静态结构。,28,2.5 UML,的图,时序图,按时间顺序描述系统元素间的交互。,协作图,按时间和空间顺序描述系统元素间的交互和它们之间的关系。,状态图,描述系统元素的状态条件和响应。,活动图,描述系统元素的活动。,组件图,描述实现系统的元素的组织。,配置图,描述环境的配置,将实现系统的元素映射到配置上。,29,2.6,模型元素,UML,中的模型元素,:,包括,事物,和事物之间的,联系,。,事物,描述了一般的面向对象的概念。如类,对象,接口,消息,组件等。事物代表任何可以定义的东西。,事物之间的联系,组成有意义的结构模型。,30,2.6,模型元素,UML,中的事物的分类,:,结构事物,动作事物,分组事物,注释事物。,结构事物,描述系统中的结构成分。类,接口,协作,用例,活动类,组件,节点。,动作事物,描述系统在时间和空间上的动作。交互,状态机。,分组事物,描述系统的组织机构。包。,注释事物,对模型元素进行意义解释。注释。,31,2.6,模型元素,UML,中的事物的联系,:,也称为,UML,中的常用关系。,关联关系,连接元素,链接实例。,依赖关系,一个元素对另一个元素的依附。,泛化关系,一个元素是另一个元素的特例。,实现关系,一个元素实现另一个元素。,聚合关系,元素之间部分与整体之间的关系。,32,2.7 UML,的软件工程行为,分析阶段,:用户的需求用,UML,的用例图来描述。,设计阶段,:用具体的类来处理用户接口、数据库存取、通信和并行性等问题。,实现阶段,:用某种面向对象程序设计语言,将来自设计阶段的类转换成实际的代码。,测试阶段,:,UML,模型作为生成测试用例的依据。,33,2.7 UML,的软件工程行为,测试阶段,:,UML,模型作为生成测试用例的依据。具体而言如下:,单元测试阶段,:使用类图和类规格说明。,集成测试阶段,:使用构件图和协作图。,系统测试阶段,:使用用例图来验证系统的行为。,34,2.8 UML,的工具,Rational Rose 2003,。,Rational,公司开发的用于分析和设计面向对象软件系统的工具。,Grady Booch,,,Ivar Jacobson,,,Jim Rumbaugh,此时是,Rational,公司的员工。,Together 6.1,。用纯,Java,开发的工具。,ArgoUML v0.14,。开放源代码的工具。,其他工具,,Visio,,,Visual UML,。,35,2.9 UML,的例子,在,Web,浏览器中,输出“,Hello,,,World!”,的,Java applet,程序代码,:,import java.awt.Graphics;,class HelloWorld extends java.applet.Applet,public void paint(Graphics g),g.drawString(“Hello,,,World!”,10,10);,36,2.9 UML,的例子,Hello,,,World,的类图(,1,),:,HelloWorld,类与注解的关系,HelloWorld,paint(g,:,Graphics),:,void,g.drawString(“Hello,World!,10,10),说明,37,2.9 UML,的例子,Hello,,,World,的类图(,2,),:,HelloWorld,类与,Applet,类、,Graphics,类的关系,HelloWorld,paint(g,:,Graphics),:,void,Graphics,(from awt),Applet,(from applet),继承关系,依赖关系,38,2.9 UML,的例子,Hello,,,World,的类图(,3,),:,类库及,Applet,类上,的继承关系,HelloWorld,paint(g,:,Graphics),:,void,Applet,(from applet),Panel,(from awt),继承关系,继承关系,39,2.9 UML,的例子,Hello,,,World,的类图(,3,),:,类库及,Applet,类上的继承关系,Container,(from awt),Component,(from awt),ImageObserver,(from image),parent,Component,继承关系,继承关系,单向关联关系,实现关系,单向关联关系,角色,40,2.9 UML,的例子,Hello,,,World,的顺序图,:,不同对象之间的协同关系,:Thread,:Jre,run,:Toolkit,:ComponentPeer,target,:HelloWorld,run,paint,callbackLoop,handleExpose,控制焦点,类名,对象名,:,类名,执行类,Thread,的,run(),方法,异步消息,生命线,41,2.9 UML,的例子,Hello,,,World,的组件图,:,Applet,和,Web,页面及其他要用到文件的关系,HelloWorld.class,Hello.html,HelloWorld.java,hello.jpg,依赖关系,依赖关系,依赖关系,“,源代码文件”构件,“,源代码文件”构件,“,图片文件”构件,“html,文件”构件,42,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服