很好的UML学习资料(简洁明了)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

UML期末考试参考资料第1页(共60页)第一章概述§1.1模型一.模型:1.模型:简而言之,模型是对现实的简化。模型提供了系统的蓝图,包含细节设计,也包含对系统的总体设计。一个好的模型包括重要的因素,而忽略不相干的细节。每一个系统可以从不同的方面使用不同的模型进行描述,因此每个模型都是对系统从语义上近似的抽象。模型可以是结构的、侧重于系统的组织,也可以是行为的、侧重于系统的动作。通常,模型由一组图示符号和组织这些符号的规则组成,利用它们来定义和描述问题域中的方法和概念。2.建模的重要性:1)软件的建模:许多软件开发组织总是像建造狗窝一样进行软件开发,得到的结果通常情况下都是失败;如果你像盖房子或者盖写字楼一样开发软件,问题就不仅仅是写代码,而是怎么样写正确的代码和怎么样少写代码。这就使得高质量的软件开发变成了一个结构、过程和工具相结合的问题。2)建模的作用:用户可以通过模型直观地看到用户与系统间的交互;分析人员可以看到模型对象间的交互;开发人员可以看到要开发的对象和每个对象的任务;测试人员可以看到对象间的交互并根据这些交互准备测试案例;项目管理人员可以看到整个系统及各部分的交互;而信息总管可以看看高层模型,看看公司的各个系统如何相互交互。二.建模的目标:建立模型可以帮助开发者更好地理解正在开发的系统。通过建模,要实现以下四个目标:1.帮助开发人员按照实际情况或按照开发人员所需要的样式对系统进UML期末考试参考资料第2页(共60页)行可视化;2.允许开发人员详细说明系统的结构或行为;3.给出一个指导开发人员构造系统的模板;4.对开发人员作出的决策进行文档化。§1.2面向对象分析与设计一.面向对象的基本概念:面向对象=对象+类+继承+通信(Coad和Yourdon给出的简单定义)。1.面向对象技术的基本观点:1)客观世界由对象组成,任何客观事物都是对象,复杂对象可以由简单对象组成。2)具有相同数据和操作的对象可归纳成类,对象是类的一个实例。3)类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性。4)对象之间的联系通过消息传递来维系。由于类的封装性,它具有某些对外界不可见的数据,这些数据只能通过消息请求调用可见的方法来访问。2.面向对象方法的基本出发点就是尽可能地按照人类认识世界的方法和思维方式来分析和解决问题,使人们分析、设计一个系统的方法尽可能接近认识一个系统的方法。二.面向对象的核心元素:1.对象:客观世界里的任何实体都可以被称之为对象,对象可以是具体的有形的物,如:人、汽车等;也可以是无形的事物或概念,如:抽象的规则、计划或事件。2.封装:是面向对象方法的一个重要原则。是指把属性和操作封进一个对象里,它的内部信息对外界隐藏,不允许外界直接存取对象的属性,只能通过对象提供的有限的接口对对象的属性数据进行操作。对于外界来说,只能知晓对象的外部行为而无法了解对象行为的内部实现细节,这样可以保证对象内部属性数据的安全性。封装有两层含义:UML期末考试参考资料第3页(共60页)1)结合性,即把对象的全部属性和方法结合起来,形成一个独立的不可分割的单位;2)信息隐藏性,即尽可能隐蔽对象的内部细节,对外形成一个边界,只保留有限的对外接口使之与外部发生联系。3.消息消息就是向对象发出的请求,一个消息包含消息名、接收对象的标志、服务标志、输入标志、输入信息、回答信息等。4.类类是对象的抽象,类好比是一个对象模板。5.继承“泛化”6.多态性同一个操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,即在程序运行的时候,根据对外部触发进行反应的对象的不同,可以动态的选择某个操作的实现方法,这就是多态性。1)多态性分为如下两种:编译时的多态性。编译时的多态性是通过重载来实现的。系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。运行时的多态性。运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。2)多态性大致有以下三种表现方式:通过接口实现多态性。通过继承实现多态性。通过抽象类实现多态性。7.结构与连接1)为了使系统能够有效地映射问题域,系统开发者需认识并描述对象之间的以下几种关系:对象的分类关系。对象之间的组成关系。对象属性之间的静态联系。对象行为之间的动态联系。2)面向对象方法分别用以下几种结构和连接来反映对象之间的几种关系:UML期末考试参考资料第4页(共60页)一般/特殊结构。整体/部分结构。实例连接。消息连接。三.面向对象的分析:面向对象分析(Object-OrientedAnalysis),简称OOA,是指利用面向对象的概念和方法为软件需求建造模型,以使用户需求逐步精确化、一致化、完全化的分析过程。1.面向对象分析模型:面向对象分析中建造的模型主要有对象模型、动态模型和功能模型。面向对象分析的关键是识别出问题领域内的对象,在分析它们之间的相互关系之后建立起问题领域的简洁、精确和可理解模型。2.面向对象分析的基本过程:1)问题论域分析:业务范围、业务规则、业务处理过程、系统责任范围、边界。2)发现和定义对象分类及内部特征:属性和服务。3)识别对象的外部联系:一般特殊、整体与部分,实例连接,消息连接。4)建立系统的静态结构模型:绘制对象类图和对象图,系统与子系统结构图等,编制文档。5)定义用例,建立系统的动态行为模型:分析系统行为,建立动态模型,并用图形和文字表达。6)建立详细说明。7)原型开发。3.面向对象分析的基本原则:1)抽象原则:面向对象分析方法中的类就是抽象得到的:系统中的对象使对现实世界中的事物的抽象;类是对对象的抽象;一般类是对特殊类的进一步抽象;属性是事物静态特征的抽象;服务是事物动态特征的抽象。2)分类原则:分类就是把具有相同属性和服务的对象划分为一类,用类作为这些对象的抽象描述。分类原则实际上是抽象原则运用于对象描述时的一种表现形式,通过不同程度的抽象可以形成一般/特UML期末考试参考资料第5页(共60页)殊结构。3)聚合原则:聚合是把一个复杂的事物看出若干简单事物的组合体,从而简化对复杂事物的描述。在面向对象分析中运用聚合原则将一个较复杂的事物划分为几个组成部分,分别用整体和部分进行描述,这样形成的整体/部分结构不仅能清楚地表达事物的组成关系,还可以简化分析过程。4)关联原则:关联是人类思考问题时常用的方法,通过一个事物可以联想到另外的事物,产生联想的原因是事物之间存在着某些联系。在面向对象的分析过程中运用关联原则可以在系统模型中明确地表示对象之间的静态联系。5)消息通信原则:这一原则要求对象之间只能通过消息进行通信,而不允许在对象外直接地存取对象内部的属性。§1.3UML简介一.UML:UML(UnifiedModelingLanguage),即统一建模语言,是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。UML是一种绘制软件蓝图的标准语言,它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。二.UML的构成:总体来说,UML由以下几个部分构成:1.视图:视图是表达系统的某一方面特征的UML建模元素的子集,视图并不是图,它是由一个或者多个图组成的对系统某个角度的抽象。UML期末考试参考资料第6页(共60页)UML中的视图大致分为5种:(如图所示)1)用例视图:用例视图强调从系统的外部参与者(主要是用户)角度看到的或需要的系统功能。描述系统应该具备的功能。用例模型的用途是列出系统中的用例和参与者,并显示哪个参与者参与哪个用例的执行。用例视图是其他视图的核心,它的内容直接驱动其他视图的开发。系统要提供的功能都是在用例视图中描述的,用例视图的修改会对所有其他的视图产生影响。此外,通过测试用例视图,还可以检验和最终校验系统。2)逻辑视图:逻辑视图从系统的静态结构和动态行为的角度显示如何实现系统的功能。描述用例视图中提出的系统功能的实现。与用例视图相比,逻辑视图主要关注系统内部,它既描述系统的静态结构(类、对象以及它们之间的关系),也描述系统内部的动态协作关系。系统的静态结构在类图和对象图中进行描述,而动态模型则在状态图、顺序图、协作图以及活动图中进行描述。逻辑视图的使用者主要是设计人员和开发人员。3)并发视图:并发视图。显示系统的并发性,解决在并发系统中存在的通信和同步问题。并发视图主要考虑资源的有效利用、代码的并发执行以及系统环境中异步事件的处理。除了将系统划分为并发执行的控制以外,并发视图还需要处理线程之间的通信和同步。并发视图的使用者是开发人员和系统集成人员。并发视图由状态图、协作图,以及活动图组成。4)组件视图:组件视图显示代码组件的组织结构。组件视图描述系统的实现模块以及它们之间的依赖关系。组件视图主要由组件图构成,它的使用者主要是开发人员。UML期末考试参考资料第7页(共60页)5)配置视图:配置视图显示系统的具体部署(部署是指将系统配置到由计算机和设备组成的物理结构上)。配置视图显示系统的物理部署,它描述位于节点上的运行实例的部署情况。配置视图主要由配置图表示,它的使用者是开发人员、系统集成人员和测试人员。2.图:视图由图组成,UML通常提供9种基本的图1)用例图(UseCaseDiagram):显示多个外部参与者以及他们与系统提供的用例之间的连接。用例是系统中的一个可以描述参与者与系统之间交互作用的功能单元。用例仅仅描述系统参与者从外部观察到的系统功能,并不描述这些功能在系统内部的具体实现。用例图的用途是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行。2)类图(ClassDiagram):类是对应用领域或应用解决方案中概念的描述。类图以类为中心组织,类图中的其他元素或属于某个类,或与类相关联。UML期末考试参考资料第8页(共60页)3)对象图(ObjectDiagram):对象图是类图的变体,它使用与类图相似的符号描述,不同之处在于对象图显示的是类的对象实例而非实际的类。可以说,对象图是类图的一个例子,用于显示系统执行时的一个可能的快照,即在某一时间点上系统可能呈现的样子。4)状态图(StateDiagram):UML期末考试参考资料第9页(共60页)是对类描述的补充,它用于显示类的对象可能具备的所有状态,以及引起状态改变的事件。状态图由对象的各个状态和连接这些状态的转换组成。每个状态对一个对象在其生命周期中满足某种条件的一个时间段建模。事件的发生会触发状态间的转换,导致对象从一种状态转化到另一新的状态。5)顺序图(SequenceDiagram):显示多个对象之间的动态协作,重点是显示对象之间发送的消息的时间顺序。顺序图也显示对象之间的交互,就是在系统执行时,某个指定时间点将发生的事情。顺序图的一个用途是用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。UML期末考试参考资料第10页(共60页)6)协作图(CollaborationDiagram):对在一次交互中有意义的对象和对象间的链建模。除了显示消息的交换(称之为交互)以外,协作图也显示对象以及他们之间的关系。顺序图和协作图都可以表示对象间的交互关系,但它们的侧重点不同。顺序图用消息的几何排列关系来表达消息的时间顺序,各角色之间的关系是隐含的;协作图用各个角色的几何排列来表示角色之间的关系,并用消息来说明这些关系。7)活动图(ActivityDiagram):是状态图的一个变体,用来描述执行算法的工作流程中涉及UML期末考试参考资料第11页(共60页)的活动。状态图表示一个对象在一段时间内的状态变化,而活动图则描述多个对象的状态变化序列。8)组件图(ComponentDiagram):用代码组件来显示代码物理结构,组件可以是源代码组件、二进制组件或一个可执行的

1 / 60
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功