




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UML期末复习资料一、填空题:(16分)1. 软件开发是一套关于软件开发各个阶段的定义、任务和作用的,建立在理论上的一门工程学科。2. 经典的软件工程思想将软件的开发分为以下5个阶段:需求捕获、系统分析与设计、系统实现、测试和维护。3. UML(Unified Modeling Language,统一建模语言),是一种面向对象的建模语言。它主要作用是帮助用户对软件系统进行面向对象的描述和建模,它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。4. UML由视图、图、模型元素和通用机制四个部分组成。5. UML中的5种视图分别为:用例视图、逻辑视图、并发视图、组件视图和配置视图。6. UML中的建模机制分为静态建模机制和动态建模机制。二、问答题:(24分)1. 请您阐述UML的组成及其之间的包含关系。答:UML由视图、图、模型元素和通用机制组成。其中视图包含图,图包含模型元素,通用机制用于表示其它信息,比如注释、模型元素的语义。2. 请您阐述各视图下的各种图的组成。答:用例视图有用例图;逻辑试图有类图和对象图;并发视图有时序图、协作图、状态图、和活动图;组件视图有组件图;配置视图有配置图;3. 您如何理解UML中模型元素和通用机制的概念。答:模型元素(Model Element)代表面向对象中的类、对象、接口、消息和关系等概念。UML中的模型元素包括事物和事物之间的联系通用机制(General Mechanism)用于表示其它信息,比如注释、模型元素的语义等。4. 如何理解UML中的静态建模机制和动态建模机制。答:静态建模机制所建立的图都是静态图,包括用例图、类图、对象图组件图和配置图;动态建模机制所建立的模型或者可以执行,或者表示执行时事物的时序状态或交互关系,包括有状态图、活动图、时序图和协作图。5. 用例图中的和之间的区别。答:扩展关系(extend):1)、一个用例也可以被定义为基础用例的增量扩展;2)、基础用例不必知道扩展用例的任何细节,它仅为其提供扩展点;3)、使用扩展关系时,基础用例没有扩展也是完整的。包含关系(include):1)、一个用例可以简单地包含其它用例具有的行为,并把它包含的用例行为作为自身行为的一部分;2)、用例之间的包含用例称为提供者用例;3)、使用包含关系时,必须在客户用例中说明提供者用例被包含的详细位置6. 请您简述时序图和协作图的区别和联系。答:联系:时序图和协作图都来自UML元模型的相同信息,都是表示对象间的交互作用;他们的语义是等价的;它们可以从一种形式转换成另一种形式而不丢失任何信息。区别:时序图和协作图的侧重点不同,前者主要描述交互过程中的时间顺序,后者主要是明确的表达出对象间的关系;时序图有生命线和激活期而协作图没有。7. 请您阐述类图中关联、泛化、实现、依赖各自的适用情况。答:1)关联表示对象之间的结构关系。2)泛化表示类之间的一般和泛化关系。3)实现飙汗死规格说明和其实现之间的关系。4)依赖表示类之间的使用关系。8. 您如何理解动态视图在UML建模中的作用。答:1) 动态视图描述了系统的动态结构,并且建立响应的动态模型;2) 动态模型又描述了系统随时间变化的行为,这些行为是用从静态视图中抽取的系统的瞬间值的变化来描述的。9. 您如何理解静态视图在UML中的作用。答:1) 静态视图显示论文系统的静态结构,特别是存在事物的种类(例如类、类型)的对象结构中;2) 静态视图将行为实体描述成离散的模型元素,但不包括动态行为的细节。三、名词解释题:(15分)1. UML中的视图、图、模型元素、通用机制?答:视图:用于表达系统某一方面特征的UML建模元素的子集。图:是模型元素集的图形表示。模型元素:代表面向对象中的类、对象、接口、消息和关系等概念。通用机制:用于表示其他信息,比如注释、模型元素的语义。2. 用例图?类图?时序图?协作图?状态图?活动图?答:用例图:描述系统功能,由软件需求到最终实现的每一步。类图:系统的静态结构,是对一组具有相同属性、操作、关系和语义的对象的描述。时序图:按时间顺序描述系统元素间的交互,用来显示对象之间的关系,并强调对象的时间顺序,同时显示对象之间的交互。协作图:按时间和空间顺序描述系统元素之间的交互和它们之间的关系状态图:描述系统元素的状态条件和响应,通过对类对象的生存周期建立模型来描述对象随时间变化的动态行为。活动图:描述系统元素的活动,用于对计算机流程工作流程建模。3. 什么是泳道?答:泳道是活动图中的一些垂直展现,它将活动图中的活动状态进行分组,每一组表示负责某些活动业务组织。4. 静态建模机制?动态建模机制?答:静态建模机制:利用用例图、类图、对象图、包、组件图和配置图进行UML建模。动态建模机制:利用消息、状态图、时序图、协作图和活动图进行UML建模。四、UML图与代码转换:(35分)1. 根据以下UML图写出Java或C#的代码结构2. 据以下UML图写出Java或C#的代码结构3. 据以下UML图写出Java或C#的代码结构4. 根据场景画出UML的建模分析图形5. 用户使用电话的状态图分析:6. 客户购买商品操作购物车的时序图:7. 某学校信息系统用例图的部分内容。用户请求系统做的事件(例如修改个人信息、查看个人信息和删除个人信息)8. 学生参加考试流程的活动图描述(使用泳道区分不同对象的活动状态)25、UML中有哪些扩展机制?答案:构造型、标记值、约束26、什么是参与者?如何确定系统的参与者?答案:参与者(actor ,有些书翻译成“角色”)是一种特殊的类,是系统外部的一个实体,这个实体可以是任何的人或物,它以某种方式参与了用例的执行过程。在获取用例前首先要确定系统的参与者,可以根据下面的一些问题来寻找系统的参与者:谁使用系统?谁安装系统、维护系统?谁启动系统、关闭系统?谁从系统中获取信息,谁提供信息给系统?在系统交互中,谁扮演了什么角色?系统会与哪些其他系统相关联?27、什么是用例?如何确定系统的用例?答案:用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。 可以根据下面的一些问题来识别用例:参与者希望系统提供什么功能;系统是否存储和检索信息;当系统改变状态时,是否通知参与者;是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件。28、什么是顺序图,顺序图是由那些部分组成?答案:顺序图是强调消息时间顺序的交互图。是描述系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,顺序图描述了类相互协作的完成预期行为的动态过程。顺序图是由:类角色、生命线、激活期和消息组成。29、什么是协作图,协作图是由那些部分组成?答案:协作图作为另一种交互图而言,强调的是参加交互的对象的组织。协作图是由:类角色、关联角色和消息流组成。30、试论述类与用例的区别。答案:类是对一组具有相同属性、操作、关系和语义的对象的描述。类是对事物的抽象。而用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。31、试比较边界类与实体类的异同点。答案:实体类是对系统中需要存储的信息和其信息的行为建立模型。实体类具有永久的特性,这类似于数据库中的表一样用于保存系统的业务信息。边界类位于系统与外界的交接处,它在一个或多个角色和系统之间建立相互作用的模型。32、什么是依赖?他与关联有什么区别?答案:依赖是一种使用关系,它说明了一个事物声明说明的变化可能影响到使用它的另一个事物,但反之未必。也就是说,服务的使用者以某种方式依赖于服务的提供者。而关联是一种结构关系,它详述了一个事物的对象与另一个事物的对象相互联系。33、什么是泛化?泛化是否就是类的继承,如果不是请说明理由答案:泛化是一般事物(称为父类或超类)和较特殊事物(称为子类或孩子类)之间的关系。泛化不是类的继承,类的继承是泛化的一种。34、试论述聚合和组合的异同。答案: 聚合描述了整体对象拥有部分对象的关系。组合是聚合的一种形式,它具有强的拥有关系,而且整体与部分的生命周期是一致的。35、什么是动作状态?什么是活动状态?它们有什么区别?答案:动作状态是活动图中最小单位的构造块,表示原子动作。活动状态表示的是可以分割的动作。可以将对象的活动状态理解为一个组合,它的控制流由其他活动状态或动作状态组成。36、活动图与传统的流程图有什么区别?答案:流程图一般限于顺序过程,而活动图则可以对付并行过程。流程图明确指出了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序。37、什么是对象图,请简述对象的作用?答案:对象图是描述在某一时刻,一组对象以及它们之间关系的图形。对象图是描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。38、包的访问可见性有几种?请描述各访问可见性的区别。答案:可见性可以分成3种:公有访问(public)、保护访问(protected)、私有访问(private)公有访问(public):包内的模型元素可以被任何引入此包的其他包的内含元素访问。 保护访问(protected):表示此元素只能被当前包的子包访问。私有访问(private):表示此元素只能被当前包内的模型元素访问。39、什么是对象图,请简述对象的作用?答案:对象图(Object Diagram)是描述在某一时刻,一组对象以及它们之间关系的图形。对象图是描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。40、请描述组件图和部署图的关系?答案:组件图用于描述系统中软件的构成,但没有描述系统中与硬件有关的构成情况。部署图则用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件。41、请叙述类,组件和节点的关系?答案:组件是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。节点和组件的关系: 组件是参与系统执行的事物,而节点是执行组件的事物。简单的说就是组件是被节点执行的事物,如假设节点是一台服务器,则组件就是其上运行的软件。组件表示逻辑元素的物理模块,而节点表示组件的物理部署。这表明一个组件是逻辑单元(如类)的物理实现,而一个节点则是组件被部署的地点。一个类可以被一个或多个组件实现,而一个组件也可以部署在一个或多个节点上。42、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。掌握利用两种图进行的设计的方法。答案:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。43、什么是高内聚度? 答案:高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。包括两个意思:不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。不相关的职责不要分派给同一个类。44、什么是对象间的可见性?答案:可见性(Visibility)指的是一个对象能够“看到” 或者引用另一个对象的能力45、标准建模语言UML的重要内容可以由哪五类图(共9种图形)来定义?答案:用例图、静态图(包括类图、对象图和包图)、行为图、交互图和实现图。46、简述统一建模语言(UML):答案:统一建模语言(UML)是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进行可视化详述和文档化。UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统。47、UML的交互图中是谁在交互?为什么交互?如何交互?答案:对象在交互,为完成特定功能而交互,以发送消息方式交互。48、状态图中所谓主要事件有那四类?答案:1)信号事件;2)调用事件;3)变化事件;4)时间事件。49、UML顺序图中定义的消息有那三种?答案:同步 调用(Procedure Call)是最主要的同步消息;异步 (Asynchronous);返回消息(Return)。50、面向对象技术的“泛化关系”是什么含有含义,其目的是什么?答案:指一般元素与特殊元素之间的关系。其目的:子类共享父类的属性和操作;实现多态。51、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。掌握利用两种图进行的设计的方法。答:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。52、什么是高内聚度 高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。包括两个意思:不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。不相关的职责不要分派给同一个类。53、什么是对象间的可见性?答:可见性(Visibility)指的是一个对象能够“看到” 或者引用另一个对象的能力54.可以用_和_两种方法找概念类。答案:概念类类别表、 标识名词短语54、统一过程中有哪四个阶段,各阶段需要完成的主要工作有哪些?答:1)初始阶段:编制简要的愿景文档、 业务案例、 确定范围、 粗略评估成本。2)细化阶段:细化愿景文档、 迭代地实现核心构架、 解决高风险的问题、 定义大多数的需求和范围、 进一步评估成本3)构造阶段:迭代地实现系统的其余部分、 准备部署4)提交阶段:beta 测试、部署55、统一过程中的核心工作流有哪些?答:业务建模、 需求分析、 设计、 实现、 测试。56、定义大多数的需求和范围的工作是在UP中的(11)阶段完成的。(11)A初始阶段 B细化阶段 C构造阶段 D提交阶段57、下列(12)不在UP的初始阶段中完成的(12)A编制简要的愿景文档 B粗略评估成本 C定义大多数的需求 D业务案例58、.领域模型是一组表示真实世界的(16),不是(17)的模型。答案:(16)概念类 (17)软件部件59、在协作图中通过(18)表示出消息的时间顺序。答案:(18)消息编号60、对象之间的关联关系有哪几种?答案:(UML中类间关系:继承、实现、依赖、关联、聚合、组合)61UML语言定义了五种类型不同的图,把它们有机的结合起来就可以描述系统的所有视图,请列举出这些图形名称,并简要描述它们的作用。参考答案:(用例图(Use case diagram) 从用户角度描述系统功能,并指出各功能的操作者。静态图(Static diagram),表示系统的静态结构。包括类图、对象图、包图。行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。包括状态图、活动图。 交互图(Interactive diagram), 描述对象间的交互关系。包括顺序图、合作图。 实现图( Implementation diagram ) 用于描述系统的物理实现。包括构件图、部件图。 )62请分点叙述UML的特点。参考答案:((1) 统一标准UML统一了Booch、OMT和OOSE等方法中的基本概念,已成为OMG的正式标准,提供了标准的面向对象的模型元素的定义和表示。(2) 面向对象UML还吸取了面向对象技术领域中其他流派的长处。UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。 (3) 可视化、表示能力强系统的逻辑模型或实现模型都能用UML模型清晰的表示,可用于复杂软件系统的建模。(4) 独立于过程UML是系统建模语言,独立于开发过程。 (5) 易掌握、易用由于UML的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。)63、请按順序写出软件发展生命周期中之各项工作的名称。计划、分析、设计、编程、测试、部署、维护64、请比较软件开发时,分析及設計两项工作之不同。 分析:规范what to do,定义Problem,目标为do the right thing设计:规范how to do,定义Solution,目标为do the thing right65、由小到大写出各种软件测试之策略。单元测试、整合测试、系统测试、驗收测试 66、写出各种软件维护工作之种类。校正性维护、適应性维护、完善性维护、防範性维护 67、UML是那三个英文字的縮写? Unified Modeling Language68、UML所统一是什么?统一了Notation,但是沒有统一Process69、UML之主要用途为何? 以一个英文单字来描述: modeling 以三个英文单字来描述: write software blueprint 以四个方向来描述: visualization, specification, construction, documentation70、所謂“建模(Modeling)”是指软件发展生命周期中之哪些工作?是指分析与设计之有关工作71、面向对象软件开发中最重要、最核心之UML图形为何?类图(Class Diagram)72、UML中用来描述流程之图形为何?活动图(Activity Diagram)73、UML中用来描述对象间彼此调用合作以完成特定功能之图形为何? 交互图(Interactive Diagram)74、UML中用以建模使用者之需求及系统之功能之图形为何?使用用例图(Use Case Diagram)75、UML中用以描述单一对象,接受外界事件,改变內部状态,且作出适当回应之图形为何?状态图(State Diagram)76、UML中用来描述系统中各类软件项目及其组织架构之图形为何?组件图(Component Diagram)77、UML中用来描述系统中各类硬件项目及其组织架构及软件组件于硬件上之分布状況之图形为何?部署图(Depolyment Diagram)78、UML2.0中之交互图有哪些? 通信图(Communication diagram) 交互概览图(Interaction overview diagram) (UML 2.0) 顺序图(Sequence diagram) 时间图(UML Timing Diagram) (UML 2.0)79、UML之交互图中是谁在交互?为什么交互?如何交互? 对象在交互,为完成特定功能而交互,以发送消息方式交互80、UML中的“4+1”视图是什么?在分析阶段,表达用户需求用哪个视图最好?答:“4+1”视图是逻辑视图、进程视图、实现视图、配置视图、用例视图;表达用户需求用用例视图最好。81、RUP的特点是什么?答,RUP特点为:用例驱动;以体系结构为中心;使用迭代和增量的方法开发软件。82、分析以下“工厂方法”模式图并回答问题:(1) 上述五个类中,哪些类定义了接口?哪些类实现了接口? (2分)答: Creator和Product类定义了接口 ConcreteCreator和ConcreteProduct类实现了接口(2)哪个类仅使用接口?(1分)答:Client类仅使用接口。(3)哪个类实际创建产品?(1分)答:ConcreteCreator类实际创建产品。83、何谓OO三种模型?各模型都表达(描述)什么?三种模型的关系如何?交互模型包括哪些框图?这些框图(协作图除外)主要作用是什么?答 1)OO三种模型是:类模型,状态模型,和交互模型2)类模型描述静态整体结构,状态模型描述对象随时间变化的情况,交互模型描述对象交互情况;3)类模型定义数据结构,状态模型和交互模型操作这个结构;4)交互模型包括用例图、顺序、协作图和活动图;5)用例图描述系统功能,顺序图描述对象之间的交互,活动图描述工作流程和算法。1、UML(Unified Modeling Language,统一建模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。2、UML是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。它为开发人员与客户之间,以及开发人员之间的沟通与理解架起了“桥梁”。3、UML不是开发工具,只是建模语言。4、OOA三种基本模型:功能模型、对象模型、动态模型。5、软件是程序、数据和相关文档的完整集合。6、软件开发过程分为如下几个阶段:需求分析、总体设计、详细设计、编程与测试、维护。7、面向对象的软件工程方法包括面向对易用的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)。8、软件方法学包含3个要素:方法、工具和过程。9、对象是现实世界中一个实际存在的事物,它可以是看得见摸得着的东西。10、类是一组具有相同属性的操作的对象集合,它为所有属于该类的对象提供了统一的描述。11、封装是指将对象属性和操作结合在一起,构成一个独立的对象。封装使得对象属性和操作紧密结合在一起,这反映了事物的状态特性与动作是事物不可分割的特征。12、继承是指子类可以拥有父类的全部属性和操作,继承是OO方法的一个重要的概念,并且是OO技术可以提高软件开发效率的一个重要原因。13、多态性是指在父类中定义的属性和操作被子类继承后,可以具有不同的数据类型或表现出不同的行为。14、OO开发中的三层设计:问题域类、GUI类和数据访问类。15、面向对象设计准则:模块化、抽象、信息隐藏、低耦合、高内聚。16、UML的构成:元元模型层、元模型层、模型层、用户模型层。17、UML的核心是由视图、图、模型元素、通用机制组成。18、UML中的视图细分:(1)用例视图(用例视图强调从系统的外部参与者角度需要的功能,描述系统应该具有的功能);(2)逻辑视图(逻辑视图的使用者主要是设计人员和开发人员,描述用例视图提出的系统功能的实现);(3)并发视图(并发视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理);(4)组件视图(组件是不同类型的代码模块,它是构造应用的软件单元。而组件视图是描述系统的实现模块以及它们之间的依赖关系);(5)部署视图(部署视图使用者主要是开发人员,系统集成人员和测试人员,它显示系统的物理部署,它描述位于节点上的运行实例的部署情况,还允许评估分配结果和资源分配。)19、UML图细分:一类是静态图,一类是动态图。(1)静态图:用例图、类图、对象图、组件图和部署图;(2)动态图:顺序图、协作图、状态图和活动图。20、模型元素。(1)事物,是UML模型中面向对象基本的模块,它们在模型中属于静态部分,代表物理上或概念上的元素。在UMl中的事物可分为四种,分别是结构事物,动作事物,分组事物,注释事物。(2)关系,UML中的关系共分为五种:分别是关联关系、依赖关系、泛化关系、实现关系、聚合关系。(3)实现关系,实现关系描述一个元素实现另一个元素。(4)聚合关系,描述元素之间部分与整体的关系。21、通用机制。(1)修饰,为图中的模型元素增加了语义。(2)用于为模型元素添加额外信息与说明。(3)规格说明,模型元素具有许多用于维护该元素的数据值特性,特性用名称和标记值定义。(4)扩展机制,UML的扩展机制允许UML的使用保山根据需要自定义一些构造型语言成分,通过该扩展机制用户可以定义使用自己的元素。第二章 用例图1、用例的四个基本组成部分:用例、参与者、系统、关系。2、参与者。(1)是系统外的一个实体,参与者通过向系统输入或者系统要求参与者提供某种信息来进行交互。(2)参与者用于表示使用系统的对象。(3)参与者的特征是其作为外部用户与系统发生交互。(4)参与者总是处理正在建模的系统的外部,它们不是系统的组成部分。(5)一个问题:如何识别参与者?3、用例(1)用例是用户期望系统具备的功能,它定义了系统的行为特征,如果没有这些特征,系统就不能被成功地使用。(2)用例的目标是要定义系统的一个行为,但并不显示系统的内部结构。(3)一个问题:如何识别用例?4、关系(1)用例与参与者之间的连线称为关系,关系也称为关联或通信关联。5、泛化,是一种表示UMl中项目的继承关系的技术。(1)泛化用例是指一个用例(一般为子用例)和另一个用例(你用例)之间的关系,其中的父用例描述了子用例与其他用例共享的特性,而这些用例是有着同一个父用例的。6、详细了解P31-32.7、包含关系,和对象之间的高用关系比较相像,它描述的是一个用例需要某种类型的功能,而该功能被另一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例。8、为了使用包含关系,用例必须遵循以下两个约束条件:(1)客户用例只依赖于提供者用例的返回结果,不必了解提供者用例的内部结构;(2)客户用例总会要求提供者用例执行,对提供者用例的调用是无条件的。9、扩展关系,是一种依赖关系,它指写出一个用例可以增强另一个用例的功能。第三章1. 构成面向对象模型的基本元素有类、对象、类与类之间的关系等。2. 类图和对象图合称为结构模型视图或者静态视图,用于描述系统的结构或静态特征3. 类图:用来描述系统中的类以及类与类之间的静态关系4. 对象:又来描述特定时刻实际存在的若干对象以及它们之间的关系5. 一个系统的模型中可以包含多个对象图,每个对象图描述了系统在某个特定时刻的状态6. 面向对象模型的基础是类、对象以及它们之间的关系7. 类图是任何面向对象系统的核心8. 类图根据系统中的类的关系描述系统的静态视图9. 类图是面向对象系统建模中最常用和最基本的图之一10. 类图可以包含类、接口、依赖关系、泛化关系、关联关系、和实际关系等模型元素11. 在类图中也可以包含注释、约束、包或子系统12. 类图用于对系统的静态视图建模,通常以如下所示的某种方式适用类图(1) 对系统的词汇建模(2) 对协作建模(3) 对数据库模式建模13. 类是构成类图的基础14. 类定义了一组具有状态和行为的对象,这些对象具有相同的属性、操作、关系和语义。(1)、属性通常没有省份的数据值表示(2)、关系则用有身份的对象之间的关系来表示(3)、行为由操作来描述,方法是操作的实现15. UML规范采用一个具有3个预定义分栏的图标表示,分栏中包含的信息有:名称、属性和操作16. 类在它的包含者内必须有唯一的名称,类对他的包含者来说是可见的17. 类的多重性说明了类可以具有多少个实例,通常情况下,可以有0个或多个18. 类名通常表示为一个名词,即不带前缀,也不带后缀19. 类名可分为简单名称和路径名称,简单名称只有类名没有前缀;路径名称中可以包含由类所在包的名称表示的前缀20. 描述类属性的语法格式:可见性 属性名 :类型 =初始值 属性字符串21. 最常用的可见类型有3种:公有(Public)、私有(Private)、被保护(Protected)(1)、Public的属性和操作可以在它所在类的外部被查看、使用和更新;Public类型用符号“+”表示(2)、Private可见性是限制最为严格的可见性类型,只有包含Private元素的类本身才能使用Private属性中的数据,或者调用Private;Private类型用符号“-”表示(3)、Protected的属性和操作可以被类的其他方法访问,也可以被任何相应继承类所声明的方法访问,但是非继承的类无法访问Protected属性和操作;Protected类型用符号“#”表示22. 每个属性都应有唯一的属性名23. 常用的数据类型有整型、实型、布尔型、枚举型等24. 类的所有对象的状态由其属性的特定值所决定25. 属性和数据类型之间要用冒号分隔,数据类型与初始值之间用等号分隔26. 描述类的属性的语法格式中的最后一项是属性字符串,属性字符串用来指定关于属性的其他信息27. 类的作用域属性(类变量):能被所属类的所有对象共享;在类图中表示是要在属性名下面加一条下划线28. 操作描述了处理数据的具体方法,类操作是 所属对象的行为的抽象29. 属性是描述对象特征的值,操作用于操纵属性或执行其他动作30. 操作的具体实现称为方法31. 一个类可以有0个或多个操作32. 操作由返回值类型、名称和参数表进行描述33. 描述操作的语法:(参数表):返回类型属性字符串34. 操作名通常使用能够描述类的行为的动词或者动词短语,操作名的第一个字母通常使用小写形式,当操作名包含多个单词时,要合并起来,从第二个单词起,所有单词的首字母都是大写形式35. 参数用来指定提供给操作以完成工作的信息。操作可以有参数,也可以没参数。当参数表中包含多个参数时,各参数之间要用逗号分隔开36. 操作除了具有名称与参数外,还可以有返回类型。返回类型被指定在操作名称尾端的冒号之后,它指定了该操作传回的对象类型37. Void关键字表示无返回值38. 职责:是指类或者其他元素的契约或者义务39. 约束指定了类应该满足的一个或者多个规则40. 注释可以包含文本和图形41. 在构造类图之前,首先要定义类42. 彼此相互依赖较强的两个类称为紧密耦合43. 关联意味着类实际上以属性的形式包含对其他类的一个或多个对象的引用44. 在对象图中两个类的相应对象所具有的关系被称为链45. 关联描述的是规则,而链描述的是事实46. 一个完整的关联定义包含了3个部分:表示类之间关联关系的直线和两个关联端点47. 直线以及关联名称定义了该关心的标志和目的,关联端点定义了参与关联的对象所应遵循的规则48. 一般情况下使用一个动词或者动词短语命名关联关系49. 关联端点可以包含诸如角色、多重性、定序、约束、限定符、导航性、可变性等特征中的部分或者全部(1)、关联中的角色通常用字符串命名(2)、关联的多重性指的是有多少对象可以参与关联。多重性可以用来表达一个取值范围、特定值、无限定的范围或者一组离散值,在UML中多重性是用由数字标识的范围来表示的(3)、定序就是指将一组对象按一定的顺序排列(4)、约束定义了附加于模型元素之上的限制条件,保证了模型元素在系统生命周期中的完整性,约束的格式世界上是一个文本字符串,约束可以使用的语言可以是OCL、某种编程语言甚至也可以是自然语言(5)、限定符定义了被参考对象的一个属性,并使用该属性作为直接访问被参考对象的关键字(6)、导航性描述的是一个对象通过链进行导航访问另一个对象。导航性使用置于关联端点的箭头表示。(7)、可变性允许建模者对属于某个关联的链进行操作,默认情况是允许任何形式的编辑,例如添加、删除等50. UML定义了3种扩展机制,即标记值、原型和约束51. 关联类是一种将数据值和链接关联在一起的手段52. 或关联是值对多个关联附加约束条件,是类中的对象一次只能参与一个关联关系,当两个关联不能同时发生时,用一条虚线连接这两个关联,并且虚线的中间带有OR关键字53. 聚合用来表明一个类是实际上拥有但可能共享另一个类的对象54. 组合所表达的内涵:为组成来的内在部分建模55. 泛化关系是一种存在于一般元素和特殊元素之间的分类关系56. 泛化主要有两个用途:第一个用途是当变量被声明承载某个给定类的值时,可使用类的实例作为值,被称做可替代性原则。第二个用途是泛化使得多态操作成为可能57. 使用泛化的基本原则是:只有在一个类确实是另一个类的特殊类型时才使用泛化,而不是为了方便使用58. 泛化约束用于表明泛化有一个与其相关的约束,带有约束条件的泛化也被称为受限泛化59. 不完全约束表示类图中没有完全显示出泛化的类60. 完全约束表示类图中显示了全部内容61. 解体约束表示紧靠约束下面的泛化来不能子类化为通用的类62. 重叠约束表示两个子类可以共享相同的子类63. 关联关系、泛化关系和实现关系都属于依赖关系64. 依赖关系用一个带有箭头的虚线表示65. 在UML规范中定义了4种基本的依赖类型,分别是使用依赖,抽象依赖、绑定依赖和授权依赖(1)、使用依赖:依赖关系-使用、调用、参数、实例化、发送(2)、抽象依赖:依赖关系-跟踪、精化、派生(3)、授权依赖:依赖关系-访问、导入、友元66. 实现关系用于规定规格说明与其实现之间的关系,它通常在接口以及实现该接口的类之间,以及用例和实现该用例的协作之间67. UML将实现关系表示为末端带有空心三角形的虚线,带有空心三角形的那一端指向被实现元素,接口表示为一个小圆圈,并和实现该接口的类用一条线段连接起来68. 为了声明操作是抽象的,以指明Store和retrieve操作实现将由子类决定,应以斜体字来表示这些操作69. 接口是对对象行为的描述,但是并不给出对象的实现和状态70. 接口通常被描述为抽象操作71. 接口可以用构造型的类表示,也可以用一个“球形”来表示72. 对象是类的实例,对象图也可以看做是类图的实例73. 对象名的下面要有下划线74. 对象名的三种表示方法:第一 对象名:类名 第二 :类名 第三 对象名75. 链有3种命名方法:1、使用相应的关联命名 2、使用关联端点的角色名命名 3、使用与对应类名一致的角色名命名76. 对象图示形式只有名称和属性两个分栏77. 包图是维护和控制系统总体结构的重要建模工具包里的元素可以具有Public和Private可见性第四章1、 活动图本质上是一种流程图。它描述从活动到活动的控制流。活动图可以显示用例内部和用例之间的路径;活动图还可以向读者说明需要满足什么条件用例才会有效,以及用例完成后系统保留的条件或者状态。2、 活动图由初始节点启动,被绘制成实心圆。另一端是活动的结束,由一个含实心圆的圆圈表示。3、 活动标记符是一个带有圆角的矩形。4、 在一个活动图中只能有一个开始状态,但可以有多个结束状态。5、 建模活动图步骤: (1)标识需要活动图的用例 (2)建模每一个用例的主路径 (3)建模每一个用例的从路径 (4)添加泳道来标识活动的事务分区 (5)改进高层活动并添加到更多活动图。6、 活动图的主路径描述了用例图的主要工作流,此时的活动图没有任何转移条件或错误处理。建模的从路径的目标就是进一步添加活动图的内容,包括判断、转移条件错误处理等。7、 分叉和汇合与转移形影不离。分叉是用于将一个控制流分为两个或多个并发运行的分支,它可以用来描述并发线程。8、 汇合与分叉相反,代表两个或多个并发控制流同步发生,它将两个或多个控制流合成到一起形成一个单向控制流。9、 活动图的主要作用就是来描述工作流,其中活动都代表工作流中的一组动作的执行。第五章1、 顺序图描述了对象之间传递消息的时间顺序,它用来表示用例中的行顺序。2、 顺序图代表了一个相互作用,在以时间为次序的对象之间的通信集合。3、 顺序图的主要用途之一是为用例建造逻辑建模。即用来为某个用例的泛化功能提供其所缺乏的解释,即把用例表达的需求,转化为进一步,更加正式层次的精细表达。4、 顺序图主要的4个标记符:对象,生命线,消息,激活5、 在面向对象系统中,行为的执行者是对象,而不是类,因此协作图通常描述的是对象层次而不是类层次。6、 消息是用来说明顺序图中不同活动对象的通信,因此,消息可以激发某个操作,创建或解构某对象。7、 同步消息:在发送消息的对象进行另一个活动之前需要等待返回折回应消息。8、 异步消息表示发送消息的对象不用等待回应的消息,即可开始另一个活动。9、 当一条消息被传递给对象的时候,它会触发该对象的某个行为,这时就说该对象被激活了。10、 创建顺序图模型: (1)确定需要建模的作例 (2)确定用例的工作流 (3)确定各工作流涉及的对象,并按从左到右顺序进行布置 (4)添加消息和条件以便创建每一个工作流第六章 通信图1、通信图主要用于显示系统对象之间需要哪些链接以传递交互的消息。2、通信图中的对象:未指定对象所属类名、完全限定对象名、未指定对象名3、对象实例角色:未命名对象扮演的角色、未命名对象扮演指定类的角色、具体某个对象扮演具体的角色、制定类的实例化对象所扮演的角色。4、类角色的不同表示方法:只用角色名,没有指定角色代表的类;指定类名而未指定角色名;完全限定了类名和角色名,方法是同时指定角色名和类名。5、关联角色适用于在通信图中说明特定情况下的两个类角色之间的关联。关联角色和关联的表示法相同,也就是在两个类角色富豪件的一条实线。关联角色还可以指示导航,以指示消息流的传递方向。也可以把多重性添加到关联角色中。6、链接的目的是让消息在不同系统对象之间传递。链接可以使用parameter或者local固化类型。注意:对象名总是带有下划线,而类角色则不带有下划线。如果一条线将两个表示对象的标号连接一起,那么它是一个连接;如果连接的是两个类角色,则连接为关联角色。7、消息是通信图中对象与对象或类角色与类角色之间通信的方式。通信图上的参与者也能给自己发送消息。8、通信图中的消息:(1)同步消息:使用一个实心箭头表示 。(2)异步消息:使用一个半开箭头表示 。(3)简单消息。使用一个开放箭头表示 。9、每个消息之前使用数字表示通信图上的次序。10、在单个关联角色或链接之间还可以有多个消息,并且这些消息可以是同时调用。在通信图中为表示这种并发的多个消息,采用数字加字母的表示法。11、有的消息只有在特定条件为真时才应该被调用,因此,需要在通信图中添加一组控制点,描述调用消息前需要评估的条件。控制点由一组逻辑判断语句组成,只有当逻辑判断语句为真时才调用相关的消息。12、消息也可以在通信图中创建对象。对象实例用new固化类型,消息使用create固化类型,以明确指示该对象实在运行过程中创建的。13、迭代是一种非常基本和重要的控制流类型,用来指示重复的处理过程。迭代的两种标记:(1)用于单个对象发送消息到一组娶她对象。1.*:Message(2)指示消息从一个对象到另一个对象被发送多次。1.1.n:Message14、顺序图着重于对象间消息传递的时间顺序,通信图着重于表达对象之间的静态链接关系。对系统模型通信图最好的方法是将顺序图转换成通信图。第一步:将顺序图中所有系统对象和参与者添加到通信图中。第二步:添加系统对象与参与者之间的通信链接,使它们能相互通信。最后:添加在交互期间参与者与系统对象之间传递的消息。15、是否决定使用通信图或者顺序图:如果主要针对特定交互期间的消息流,则可以使用顺序图;如果集合处理交互所设计的不同参与者与对象之间的链接,则可以使用通信图。第十章 构造实现方式图1、实现方式图包括组件图和部署图两种类型。2、组件图用来建模系统的各个组件(包括源代码文件、二进制文件、脚本、可执行文件)之间的关系,它们是通过功能或者位置(文件)组织在一起的。3、组件是软件的单个组成部分,它和类的共同点是:两者都具有自己的名称,都可以实现一组接口,都可以具有以来关系,都可以被嵌套,都可以参与交互,都可以拥有自己的实例;它们的区别是:组件描述了软件设计的物理实现,即代表了系统设计中特定类的实现,而类则描述了软件设计的逻辑组织的意图。4、每个组件都应有一个名称以表示该组件并区别其他组件。在对软件系统进行建模时,会使用3种类型的组件:配置组件、工作产品组件、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济宁市2024-2025学年八年级上学期语文期末模拟试卷
- 集安市2025-2026学年七年级上学期语文月考模拟试卷
- 2025年度财务人员年度工作报告
- 电解铝生产安全知识培训课件
- 电表量程的选择课件
- 高血压糖尿病防治课件
- 电脑无法显示课件问题
- qhse管理体系考试及答案
- 电缆知识培训教材课件
- 电算化工资管理应用课件
- (2025秋新修订)人教版三年级数学上册全册教案(教学设计)
- 2025年秋季学期学校全面工作计划
- 2024-2030年钻石行业市场调研及前景趋势预测报告
- 老高糖健康管理培训课件
- 璧山区辅警考试题及答案
- 一例股骨颈骨折个案护理
- 【经典】高一英语完形填空专题练习及答案共20篇
- 柴油供货合同范本模板
- 陈琴《经典素读课程分层教学》
- 年高校辅导员培训ppt
- 危险化学品企业安全风险隐患排查治理导则危险化学品安全风险隐患排查表
评论
0/150
提交评论