面向对象分析与设计(课堂PPT)_第1页
面向对象分析与设计(课堂PPT)_第2页
面向对象分析与设计(课堂PPT)_第3页
面向对象分析与设计(课堂PPT)_第4页
面向对象分析与设计(课堂PPT)_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

第2章UML概述,2.1UML的历史2.2UML的特点2.3UML的构成2.4UML的视图2.5UML的图2.6UML的模型元素2.7UML的软件工程行为,1,2.1UML的历史,UML是UnifiedModelingLanguage(统一建模语言)的简称。Booch给出的定义:UML是对软件密集型系统中的制品进行可视化、详述、构造和文档化的语言。制品是指软件开发过程中产生的各种各样的产物,如模型,源代码,测试用例,等。,2,2.1UML的历史,模型的重要性:可以更好地理解问题。可以加强人员之间的沟通。可以更早地发现错误或疏漏的地方。可以获得设计结果。为最后的代码生成提供依据。,3,2.1UML的历史,4,2.1UML的历史,UML是由世界著名的面向对象技术专家:G.Booch,J.Rumbaugh,I.Jacobson发起,在Booch方法、OMT方法和OOSE方法的基础上,汲取其他面向对象方法的优点,广泛征求意见,几经修改而完成的。最新的UML规范说明,是2003年3月发布的UML1.5版本,在上下载。,5,2.1UML的历史,众多的OO方法:1988年,Shlaer/Mellor,面向对象的系统分析方法,Object-orientedSystemAnalysis1990年,RebeccaWirfsBrock,职责驱动CRC方法,Responsibility-DrivenCRC-cards1991年,PeterCoad,EdwardYourdon,面向对象分析与设计方法,OOA/OOD,6,2.1UML的历史,众多的OO方法:1991年,GradyBooch,Booch方法,比较适合于系统的设计和构造。1991年,JamesRumbaugh,OMT方法,ObjectModellingTechnique,比较适合于分析和描述以数据为中心的信息系统。,7,2.1UML的历史,众多的OO方法:OMT方法,使用对象模型、动态模型、功能模型、用例模型,共同完成对整个系统的建模。,8,2.1UML的历史,众多的OO方法:1992年,IvarJacobson,OOSE方法,Object-orientedSoftwareEngineering,比较适合于商业工程和需求分析。面向用例,用例贯穿于整个开发过程。其他方法,有50多种,9,2.1UML的历史,10,2.2UML的特点,UML的主要特点:统一的标准。已被OMG(ObjectManagementGroup)接受为标准的建模语言。面向对象。支持面向对象软件开发。可视化,表示功能强大。独立于过程。不依赖于特定的软件开发过程。概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。,11,2.3UML的构成,UML的定义包括UML语义和UML表示法:UML语义。描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致和通用的定义性说明。此外,UML还支持对元模型的扩展定义。UML表示法。定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法进行系统建模提供了标准。,12,2.3UML的构成,UML的重要内容可以由下列5类图来定义:用例图。从用户角度描述系统功能,并指出各功能的操作者。静态图(类图、对象图、包图)。类图描述系统中类的静态结构,包括类,类之间联系,类的内部结构(属性和操作)。对象图是类图的实例,显示类的多个对象实例,使用与类图几乎完全相同的标识。包图描述系统的分层结构。,13,2.3UML的构成,UML的重要内容可以由下列5类图来定义:行为图(状态图、活动图)。行为图描述系统的动态模型和组成对象间的交互关系。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,只为那些有多个状态且其行为受外界环境的影响,并且发生改变的类画状态图。活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。,14,2.3UML的构成,UML的重要内容可以由下列5类图来定义:交互图(时序图、协作图)。交互图描述对象之间的交互关系。时序图描述对象之间的动态合作关系,强调对象之间消息发送的顺序。协作图描述对象间的协作关系。如果强调时间和顺序,则用时序图。如果强调上下级关系,则用协作图。,15,2.3UML的构成,UML的重要内容可以由下列5类图来定义:实现图(组件图、配置图)。组件图描述代码部件的物理结构及各组件之间的依赖关系。一个组件可能是资源代码组件,一个二进制组件,或者一个可执行组件。配置图描述系统中软硬件的物理体系结构。,16,2.3UML的构成,采用面向对象技术设计系统时,工作流程可以视为如下过程:描述需求。用例图。建立系统的静态模型。类图,对象图,包图,组件图,配置图。描述系统的行为。状态图,活动图,时序图,协作图。,17,2.3UML的构成,18,2.3UML的构成,19,2.3UML的构成,20,2.3UML的构成,21,2.4UML的视图,视图(View)是表达系统的某一方面特征的UML建模元素的子集。视图并不是“真正的”图,而是由一个或多个图组成的、对系统某个角度的抽象。UML中的视图大致可以分为以下5种:用例视图,逻辑视图,实现视图,进程视图,部署视图,22,2.4UML的视图,一般而言,系统通常是从多个不同的方面来描述的。系统的使用实例。使用实例从系统外部参与者的角度描述系统的功能。系统的逻辑结构。逻辑结构描述系统内部的静态结构和动态行为,即从内部描述如何设计实现系统功能。,23,2.4UML的视图,系统的构成。描述系统由哪些构件组成。系统的并发特性。描述系统的并发性,解决并发系统中存在的各种通信和同步问题。系统的配置。描述系统的软件和硬件设备之间的配置关系。,24,2.4UML的视图,用例视图表示系统的功能性需求。强调从用户角度看到的或需要的系统功能。用例图。逻辑视图表示系统的概念设计和子系统结构。展现系统的静态或结构组成及特征。类图,对象图。实现视图说明代码的结构。体现系统实现的结构和行为特征。组件图。,25,2.4UML的视图,进程视图说明系统中并发执行和同步的情况。体现系统的动态或行为特征。时序图,协作图,状态图,活动图。部署视图定义硬件结点的物理结构。体现系统实现环境的结构和行为特征。配置图。,26,2.4UML的视图,如果这5个视图不能完全满足需求,用户可以定义自己的视图。,27,2.5UML的图,图是模型元素集的图形表示,由顶点(模型元素)和弧(关系)相互连接组成。UML中的图大致可以分为以下9种:用例图,类图,对象图,时序图,协作图,状态图,活动图,组件图,配置图。用例图描述用户看到的系统功能。类图描述系统的静态结构。对象图描述系统在某个时刻的静态结构。,28,2.5UML的图,时序图按时间顺序描述系统元素间的交互。协作图按时间和空间顺序描述系统元素间的交互和它们之间的关系。状态图描述系统元素的状态条件和响应。活动图描述系统元素的活动。组件图描述实现系统的元素的组织。配置图描述环境的配置,将实现系统的元素映射到配置上。,29,2.6模型元素,UML中的模型元素:包括事物和事物之间的联系。事物描述了一般的面向对象的概念。如类,对象,接口,消息,组件等。事物代表任何可以定义的东西。事物之间的联系组成有意义的结构模型。,30,2.6模型元素,UML中的事物的分类:结构事物,动作事物,分组事物,注释事物。结构事物描述系统中的结构成分。类,接口,协作,用例,活动类,组件,节点。动作事物描述系统在时间和空间上的动作。交互,状态机。分组事物描述系统的组织机构。包。注释事物对模型元素进行意义解释。注释。,31,2.6模型元素,UML中的事物的联系:也称为UML中的常用关系。关联关系连接元素,链接实例。依赖关系一个元素对另一个元素的依附。泛化关系一个元素是另一个元素的特例。实现关系一个元素实现另一个元素。聚合关系元素之间部分与整体之间的关系。,32,2.7UML的软件工程行为,分析阶段:用户的需求用UML的用例图来描述。设计阶段:用具体的类来处理用户接口、数据库存取、通信和并行性等问题。实现阶段:用某种面向对象程序设计语言,将来自设计阶段的类转换成实际的代码。测试阶段:UML模型作为生成测试用例的依据。,33,2.7UML的软件工程行为,测试阶段:UML模型作为生成测试用例的依据。具体而言如下:单元测试阶段:使用类图和类规格说明。集成测试阶段:使用构件图和协作图。系统测试阶段:使用用例图来验证系统的行为。,34,2.8UML的工具,RationalRose2003。Rational公司开发的用于分析和设计面向对象软件系统的工具。GradyBooch,IvarJacobson,JimRumbaugh此时是Rational公司的员工。Together6.1。用纯Java开发的工具。ArgoUMLv0.14。开放源代码的工具。其他工具,Visio,VisualUML。,35,2.9UML的例子,在Web浏览器中,输出“Hello,World!”的Javaapplet程序代码:importjava.awt.Graphics;classHelloWorldextendsjava.applet.Appletpublicvoidpaint(Graphicsg)g.drawString(“Hello,World!”,10,10);,36,2.9UML的例子,Hello,World的类图(1):HelloWorld类与注解的关系,37,2.9UML的例子,Hello,World的类图(2):HelloWorld类与Appl

温馨提示

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

评论

0/150

提交评论