收藏 分享(赏)

UML复习点.doc

上传人:HR专家 文档编号:11561143 上传时间:2020-06-24 格式:DOC 页数:1 大小:33.50KB
下载 相关 举报
UML复习点.doc_第1页
第1页 / 共1页
亲,该文档总共1页,全部预览完了,如果喜欢就下载吧!
资源描述

1、面向对象四要素:对象、类、继承、消息。建模原因:是为了能够更好地理解正在开发的系统。建模要达到的4个目的:(1)模型有助于按照实际情况或按照所需要的样式对系统进行可视化。(2)模型能够规约系统的结构或行为。(3)模型给出了指导构造系统的模板。(4)模型对做出的决策进行文档化。 建模基本原理:(1)选择要创建什么模型,对如何动手解决问题和如何形成解决方案有着意义深远的影响。(2)可以在不同的精度级别上表示每一种模型。(3)最好的模型是与现实相联系的。(4)单个模型或视图是不充分的,对每个重要的系统最好用一小组几乎独立的模型从多个视角去逼近。UML概念:是一种对软件密集型系统的制品进行可视化,详述

2、,构造和文档化的语言。 4种关系:依赖(是两个模型元素间的语义关系)、关联(是类之间的结构关系)、泛化(是一种特殊/一般关系)、实现(是类目之间的语义关系,其中一个类目指定了由另一个类目保证执行的合约)。 3类主要的行为事物:交互,状态机,活动。UML4种事物:结构事物:是UML模型中的静态部分,描述概念元素或物理元素。行为事物:是UML模型中的动态部分,代表了跨越时间和空间的行为。分组事物:是UML模型中的组织部分,是一些由模型分解成的“盒子”。注释事物:是UML模型中的解释部分,用来描述,说明和标注模块中的任何元素。3种构造块:事物、关系、图。UML的“4+1”视图、作用与意义:是UML从

3、不同角度来观察和描述软件系统的体系结构所建立的五种视图。每个视图都是整个系统描述的一个投影,说明了系统的一个特殊侧面。五种视图分别是:用例视图,逻辑视图,数据视图,进程视图、部署视图。UML的公共机制:(1)规约(提供了对构造块的语法和语义的文字叙述);(2)修饰;(3)通用划分(三种划分方式:对类和对象划分接口和实现的分离类型和角色的分离);(4)扩展机制(包括衍型、标记值、约束)。UML透视图:概念透视图:用图来描述现实世界或关注领域中的事物。规格说明透视图:用图来描述软件的抽象物或具有规格说明的接口的构件,但是并不约定特定实现。实现透视图:用图来描述特定技术中的软件实现。应用UML的方式

4、:草图、蓝图、编程语言。UML=UML成员+UML建模规则 UML成员=UML事物+关系+模型图 分析:强调的是对问题和需求的调查研究,而不是解决方案。 设计:强调的是满足需求的概念上的解决方案,而不是其实现。OOA:强调的是在问题领域内发现和描述对象。遵循原则:构造和分解相结合的原则。抽象化和具体化相结合的原则。封装的原则。相关的原则。行为约束的原则。OOA/OOD的优点:在对象、结构、属性和服务的认定方面,提出了一套系统的原则。该方法完成了从需求角度触发的对象和分类结构的认定工作,面向对象的设计可以在此基础上,从设计的角度进一步类和类层次结构的认定。OOD:强调的是定义软件对象以及它们如何

5、协作以实现需求。职责分配:是OOD的基本策略。OOD体系结构的各个部分及其内容:(1)问题论域:设计构造为底层应用建立模型的类和对象,细化分析结果。(2)人机交互:设计有关类接口视图的用户模型的类和对象,设计用户界面。(3)任务管理:确定系统资源的分配,设计用于系统中类行为控制的对象或类。(4)数据管理:确定持久对象的存储,将对象转换成数据库记录或表格。软件开发生命期:指软件产品从考虑其概念开始,到该产品交付使用为止的整个时期。3个过程:软件定义的过程、软件开发的过程、软件使用与维护的过程。9个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。 UM

6、L软件开发过程的基本特征:(1)用例驱动的系统。(2)以体系结构为中心。(3)螺旋上升式的开发过程。(4)以质量控制和风险管理为目标。UP概念:是一种流行的构造面向对象系统的迭代软件开发过程。科目:是在一个主题域中的一组活动及相关制品。6个核心过程工作流(业务建模、需求、分析与设计、实施、测试、部署)和3个核心支持工作流(配置和变更管理、项目管理、环境)。UP统一过程中各阶段需要完成的主要工作:(1)初始阶段:编制简要的愿景文档、 业务案例、 确定范围、 粗略评估成本。(2)细化阶段:细化愿景文档、 迭代地实现核心构架、 解决高风险的问题、 定义大多数的需求和范围、 进一步评估成本。(3)构造

7、阶段:迭代地实现系统的其余部分、准备部署。(4)提交阶段:beta 测试、部署。RUP是一个二维的面向对象开发模型,兼顾技术和管理。特点:以体系结构为中心,以质量管理和风险控制为目标,以用例为驱动,采用迭代式以螺旋上升的模式进行软件开发。RUP(Rational统一过程)的阶段:(1)初始。为项目建立构想、范围和初始计划;(2)细化。构建核心体系架构,解决高风险问题,完成绝大部分需求的定义,并估计总体计划和资源;(3)构造。完成所有的需求、分析和设计;(4)移交。把系统交付给它的最终用户。“FURPS+”:功能性(F)、可用性(U)、可靠性(R)、性能(P)、可支持性(S)。+是指一些辅助性和

8、次要的因素:实现、接口、操作、包装、授权。迭代开发概念:是将整个软件开发过程组织成一系列固定的短期小项目,每次迭代都产生经过测试、集成并可执行的局部系统。优点:(1)减少失败的可能性,提高生产率。(2)在早期缓解高风险。(3)早期可见的进展。(4)早期反馈、用户参与和调整。(5)可控复杂性。(6)经验可被用于改进开发过程本身。类的契约和责任:分为行为职责和认知职责。用例描述的方式:摘要:简介描述用例,通常只给出主成功场景。非正式:用若干非正式段落来描述用例,通常给出多个不同场景。详述:详细描述用例,通常给出所有的步骤及场景,并给出前置和后置条件等细节设计模式:对被用来在特定场景下解决一般设计问

9、题的类和相互通信的对象的描述。即,对特定问题的描述或解决方案。目的: 易于理解,维护,扩展和重用.交互图:描述对象间通过消息的交互。有两种类型:顺序图、通信图。类图:显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。系统顺序图(SSD):是用例模型的一部分,可视化展示了对一个特定的用例,外部的参与者产生的事件,它们的顺序以及系统内的事件。 协作图:在对一次交互中有意义的对象和对象间的链建模。活动图:提供了丰富的表示法来表示一系列的活动,其中包括并行的活动。活动图常用于可视化业务工作流及过程和用例。状态图:描述了某个对象的状态和感兴趣的事件以及对象响应该事件的行为

10、。部署图:是用来显示系统中软件和硬件的物理架构。从部署图中可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。构件图:构件图主要用于描述各种软件构件之间的依赖关系,例如,可执行文件和源文件之间的依赖关系.所设计的系统中的构件的表示法及这些构件之间的关系构成了构件图。 泳道图:是一种特殊形式的活动图,其使用垂直实线将活动图划分为泳道,从而每一个活动都只能明确地属于一个泳道,每条泳道代表每个整个工作流程的某个部分的职责,用到最终可以由组织单元或者业务对象模型中的一组类来实施。顺序图:一般用于确认和丰富一个使用情境的逻辑。顺序图概念:是一种详细表示对象之间及对象与参与者之间动态联系的图

11、形文档。用途:(1)帮助分析员对照检查每个用况中描述的用户需求是否已落实到对象上,提醒分析员去补充遗漏的对象类或服务。(2)帮助分析员发现主动对象。(3)通过对一个特定的对象群体的动态方面建模,深刻理解对象间的交互。(4)表示用例的行为顺序,描述对象之间以及对象与Actor之间的消息发送关系。(5)发现类并依据其职责构建类的属性和方法。5种动态图:用例图;顺序图;通信图;活动图;状态图。参与者:所有系统外界和系统发生交互的外部实体。可能是人或者其他的软硬件系统。用例:是文本形式的情节描述,广泛应用于需求的发现和记录工作中。(参与者、场景、用例)。用例3种形式:摘要(简洁的一段式摘要);非正式(

12、非正式的段落格式);详述(详细编写所有步骤及各种变化)。用例的作用:(1)作为计划的基础;(2)用来捕获功能需求;(3)作为软件测试的基础;(4)作为文档的基础。用例建模的步骤:(1)确定系统的范围、边界、用例、执行者。(2)描述用例。(3)用例分类、确定用例之间的关联。(4)建立用例图。(5)定义用例图的层次结构。(6)审核用例模型。领域模型:是对真实世界中概念类的表示,可以表达领域对象或者概念类、概念类之间的关联以及概念类的属性。创建领域模型的步骤:寻找概念类;将其绘制为UML类图中的类;添加关联和属性。概念类:是思想,事物或对象。符号(表示概念类的词语或图形);内涵(概念类的定义);外延

13、(概念类所适用的一组示例)。找到概念类的三条策略:重用和修改现有的模型;使用分类列表;确定名词短语。多重性:定义了一个类有多少个实例可以和另一个类的一个实例关联。 操作契约:通过领域模型中的对象的状态变换,定义了系统操作执行后的详细的系统行为。组成部分:操作:操作的名称和参数。交叉引用:会发生此操作的用例。前置条件:执行操作之前,对系统或领域模型对象状态的重要假设。后置条件:最重要的部分。完成操作后,领域模型对象的状态。聚集也称为聚合,分为共享聚集和组合聚集。 层:对类、包或子系统的粗粒度的分组,具有对系统主要方面加以内聚的职责。常见的层:用户界面;应用逻辑和领域对象;技术服务。GRASP:是

14、通用职责分配软件模式。一共包括9种模式,它们描述了对象设计和职责分配的基本原则。9个模式:创建者,控制器,纯虚构,信息专家,高内聚,间接性,低耦合,多态性,防止变异。可见性:是一个对象看见其他对象或引用其他对象的能力。为了使发送者对象能够向接收者对象发送消息,发送者必须具有接收者的可见性,即发送者必须拥有对接收者对象的某种引用或指针。方式:属性可见性(B是A的属性);参数可见性(B是A方法中的参数);局部可见性(B是A中方法的局部对象);全局可见性(B具有某种方式的全局可见性)。测试驱动开发:要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进

15、行。这有助于编写简洁可用和高质量的代码,并加速开发过程。重构:是重写或重新构建已有代码的结构化和规律性方法,但不会改变已有代码的外在行为,而是采用一系列少量转换的步骤,并且每一步都结合了重新执行的测试。 设计模式:是一套被反复使用,多数人知晓的,经过分类编目的,系统设计经验的总结。面向对象方法主要特点:使人们更好地认识客观世界。能很好地适应需求变化。容易实现软件复用。系统易于维护和修改。对象模型的类型:动态模型(有助于设计逻辑、代码行为或方法体【顺序图或通信图】);静态模型(有助于设计包、类名、属性和方法特征标记的定义【类图】)。软件开发模型:指软件开发全部过程,活动和任务的结构框架。能清晰,

16、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。常见模型:瀑布模型,增量模型,螺旋模型,喷泉模型,智能模型、UP。标准建模语言UML的重要内容可以五类图(共9种图形)来定义:用例图、静态图(包括类图、对象图和包图)、行为图、活动图和实现图。架构:是一组重要决策,其中涉及软件系统的组织,对结构元素及其组成系统的接口的选择,这些元素特定于其相互协作的行为,这些结构和行为元素到规模更大的子系统的组成,以及指导该组织结构的架构风格。架构分析是在功能性需求的语境中,识别和处理系统非功能性需求的活动。架构视图的细节:逻辑视图、进程视图、部署视图、数据视图、安全视图、

17、实现视图、开发视图、用例视图。逻辑架构:是软件类的宏观组织结构,它将软件类组织成包,子系统和层等。分层架构模式:是一种经典的软件逻辑架构模式,其将软件类组织为独立的,职责相关的离散层,具有清晰内聚的关注分离。较低的层是低级别和一般性服务,较高的层则是与应用相关。协作和耦合从较高层到较低层进行,避免从较低层到较高层的耦合。分层架构使得软件机构清晰,架构稳定,具有良好的可维护性和代码使用性。常见软件分层包括用户界面层,业务逻辑层和技术服务层。根据UML的图在不同架构视图中的应用分类:(1)用户模型视图:用例图。(2)结构模型视图:类图、对象图。(3)行为模型视图:顺序图、通信图、状态图、活动图。(

18、4)实现模型视图:构件图。(5)环境模型视图:部署图软件系统体系结构模型的作用:(1)指出系统应该具有的功能;(2)为完成这些功能,涉及到哪些类,这些类之间如何相互联系; (3)类和它们的对象如何协作才能实现这些功能;(4)指明系统中各功能实现的先后时间顺序;(5)根据软件系统体系结构模型,制定出相应的开发进度计划。 常用设计模式:(1)信息专家模式:将责任分配给拥有完美责任的信息的类。用于解决职责分配问题。(2)创建者模式:创建类A的实例的责任分配给类B,如果一个或多个下面的条件为真:B聚合了A对象;B包含了A对象;B记录了A对象的实例等。解决了对象由谁来创建的问题。(3)低耦合:分配职责时

19、使对象间的耦合度尽可能低。(4)控制器模式:将接收和处理系统事件消息的责任分配给代表下列方面的类:代表整个系统,设备或子系统;代表一个与系统事件相对应的用力场景。业务用例:以整个客户组织机构为研究目标,从其外部和其发生业务往来的外部涉众出发,以增加业务价值的角度来描述整个业务过程。业务用例是超越组织边界的业务过程,可以包括合作伙伴和供应商,计算机处理,甚至是客户组织机构内部的人工处理过程。 系统用例:则是在系统边界划分好后,确定由计算机系统完成的业务范围。它是一个系统参与者,与计算机系统一起实现一个目标。 业务用例和系统用例的区别:一般,一个业务用例需要一个到多个系统用例进行支持。软件生存周期

20、各个阶段的基本任务:(1)问题定义阶段必须回答要解决的问题是什么。(2)可行性研究阶段要回答对于上一个阶段所确定的问题有行得通的解决办法吗。(3)需求分析阶段要准确地确定为解决此问题,目标系统必须做什么。(4)总体设计阶段必须回答应如何解决此问题。(5)详细设计阶段回答该怎样具体地实现这个系统.(6)编码和单元测试阶段是写出正确的、易理解、易维护的程序模块。(7)综合测试阶段是通过各种类型的测试/调试使软件达到预定要求。(8)软件维护阶段对软件进行改正性、适应性、完善性和预防性维护活动。UML概念简述、使用UML进行建模的目的:UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准

21、表示。可以用UML对软件密集型系统的制品进行可视化详述和文档化。UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统。目的:(1)使用模型可以更好地理解问题。(2)加强人员之间的沟通。(3)更早地发现错误或疏漏的地方。(4)获取设计结果。(5)为最后的代码生成提供依据。比较共享聚集和组合聚集:(1)二者都表示“整体-部分”的组成关系。(2)共享聚集表示较弱的拥有关系,组合聚集表示较强的

22、拥有关系。(3)在UML中共享聚集用空心菱形表示,组合聚集用实心黑色菱形表示。(4)共享聚集的多重性是*,组合聚集的“整体”端的重数必须是1。(5)二者都具有传递性。比较通信图和顺序图:(1)二者同属活动图,都用于描述系统中对象之间的动态关系。通信图可视化地表示了对象之间随时间发生的交互,展示对象之间的关联、显示对象之间的消息传递。(2)两者在语义上是等价的,但两者并不能完全相互代替。(3) 两者可相互转换,但两者强调重点不同。顺序图强调的是交互的时间顺序,通信图强调的是交互的语境和参与交互的对象的整体组织。(4)顺序图按照时间顺序布图,而通信图按照空间组织布图。顺序图可以清晰地表示消息之间的

23、顺序和时间关系,但需要较多的水平方向的空间。通信图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。顺序图的优点:(1)大量有效的表示法选项。(2)方便地表示调用流的顺序。缺点:强制在右侧增加新对象,消耗水平空间。 通信图的优点:能够在二维空间内灵活的增加新对象。缺点:(1)不易查阅消息的顺序;(2)表示法选项较少。比较对象之间的同步与异步操作:(1)同步消息的发送者把进程控制传递给消息的接收者,然后暂停活动,等待消息的接收者放弃或返回控制。(2)同步消息的接收者执行所请求的操作,如果需要,可以把控制传递给另一个对象角色,请求做某个操作,并且当该操作完成后把控制

24、返回给原来的同步消息的发送者。(3)同步消息的接收者也可以直接返回或发送信息给原来的消息发送者。(4)异步消息的发送者通过发送消息把信号传递给消息的接收者,然后继续自己的活动,不等待消息的接收者返回信息或控制。(5)异步消息的接收者执行所请求的操作,操作完成后可以向异步消息的发送者返回信息。(6)异步消息的发送者和接收者采用并发工作方式。比较状态图和活动图:相同:(1)使用相同的图形符号。(2)可以描述一个系统或对象在生存周期的状态或行为。(3)可以描述系统或对象在多进程中的同步或异步操作的并发行为。(4)可以用条件分支来描述系统或对象的行为控制流。不同:(1)二者对于描述状态或行为的不同侧重

25、点。活动图不显示对象所有可能的动态行为,只显示特定交互中对象的行为,状态图可以显示对象所有的动态行为;状态图只建模一个对象的行为,活动图可以建模多个对象的活动,活动图中也允许建模特定活动中对象的某个状态。(2)二者触发一个系统或对象的状态(或活动)发生迁移的机制不同。活动状态迁移不需要事件触发,活动执行完毕可以直接进入下一个活动状态。(3)二者描述多个对象共同完成一个操作的机制不同。活动图置于责任区中,责任区将活动按责任目标和组织归属的原则分类。状态图采用状态嵌套方式描述多对象协作。类与构件之间的联系与区别:类和构件都可用来对同一事物建模。构件表示封装了其内容的系统模块,它在其环境中的表现形式可以被替代。构件通过所提供的和所需要的接口定义了其行为。类是逻辑抽象,构件是物理抽象。类可以直接有属性和操作,构件则仅拥有可以通过其接口访问的操作。 构件包括:实施构件,工作产品构件,执行构件三种。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报