- 245.00 KB
- 2022-07-29 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
..UML期末复习资料一、填空题:〔16分〕1.软件开发是一套关于软件开发各个阶段的定义、任务和作用的,建立在理论上的一门工程学科。2.经典的软件工程思想将软件的开发分为以下5个阶段:需求捕获、系统分析与设计、系统实现、测试和维护。3.UML〔UnifiedModelingLanguage,统模语言〕,是一种面向对象的建模语言。它主要作用是帮助用户对软件系统进展面向对象的描述和建模,它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。4.UML由视图、图、模型元素和通用机制四个局部组成。5.UML中的5种视图分别为:用例视图、逻辑视图、并发视图、组件视图和配置视图。6.UML中的建模机制分为静态建模机制和动态建模机制。二、问答题:〔24分〕1.请您阐述UML的组成及其之间的包含关系。答:UML由视图、图、模型元素和通用机制组成。其中视图包含图,图包含模型元素,通用机制用于表示其它信息,比方注释、模型元素的语义。2.请您阐述各视图下的各种图的组成。答:用例视图有用例图;逻辑试图有类图和对象图;并发视图有时序图、协作图、状态图、和活动图;组件视图有组件图;配置视图有配置图;..word.zl.\n..3.您如何理解UML中模型元素和通用机制的概念。答:模型元素〔ModelElement〕代外表向对象中的类、对象、接口、消息和关系等概念。UML中的模型元素包括事物和事物之间的联系通用机制〔GeneralMechanism〕用于表示其它信息,比方注释、模型元素的语义等。4.如何理解UML中的静态建模机制和动态建模机制。答:静态建模机制所建立的图都是静态图,包括用例图、类图、对象图组件图和配置图;动态建模机制所建立的模型或者可以执行,或者表示执行时事物的时序状态或交互关系,包括有状态图、活动图、时序图和协作图。5.用例图中的<>和<>之间的区别。答:扩展关系〔extend〕:1〕、一个用例也可以被定义为根底用例的增量扩展;2〕、根底用例不必知道扩展用例的任何细节,它仅为其提供扩展点;3〕、使用扩展关系时,根底用例没有扩展也是完整的。包含关系〔include〕:1〕、一个用例可以简单地包含其它用例具有的行为,并把它包含的用例行为作为自身行为的一局部;2〕、用例之间的包含用例称为提供者用例;..word.zl.\n..3〕、使用包含关系时,必须在客户用例中说明提供者用例被包含的详细位置6.请您简述时序图和协作图的区别和联系。答:联系:时序图和协作图都来自UML元模型的一样信息,都是表示对象间的交互作用;他们的语义是等价的;它们可以从一种形式转换成另一种形式而不丧失任何信息。区别:时序图和协作图的侧重点不同,前者主要描述交互过程中的时间顺序,后者主要是明确的表达出对象间的关系;时序图有生命线和激活期而协作图没有。7.请您阐述类图中关联、泛化、实现、依赖各自的适用情况。答:1〕关联表示对象之间的构造关系。2〕泛化表示类之间的一般和泛化关系。3〕实现飙汗死规格说明和其实现之间的关系。4〕依赖表示类之间的使用关系。8.您如何理解动态视图在UML建模中的作用。答:1)动态视图描述了系统的动态构造,并且建立响应的动态模型;2)动态模型又描述了系统随时间变化的行为,这些行为是用从静态视图中抽取的系统的瞬间值的变化来描述的。..word.zl.\n..9.您如何理解静态视图在UML中的作用。答:1)静态视图显示论文系统的静态构造,特别是存在事物的种类〔例如类、类型〕的对象构造中;2)静态视图将行为实体描述成离散的模型元素,但不包括动态行为的细节。三、名词解释题:〔15分〕1.UML中的视图、图、模型元素、通用机制?答:视图:用于表达系统某一方面特征的UML建模元素的子集。图:是模型元素集的图形表示。模型元素:代外表向对象中的类、对象、接口、消息和关系等概念。通用机制:用于表示其他信息,比方注释、模型元素的语义。2.用例图?类图?时序图?协作图?状态图?活动图?答:用例图:描述系统功能,由软件需求到最终实现的每一步。类图:系统的静态构造,是对一组具有一样属性、操作、关系和语义的对象的描述。时序图:按时间顺序描述系统元素间的交互,用来显示对象之间的关系,并强调对象的时间顺序,同时显示对象之间的交互。协作图:按时间和空间顺序描述系统元素之间的交互和它们之间的关系状态图:描述系统元素的状态条件和响应,通过对类对象的生存周期建立模型..word.zl.\n..来描述对象随时间变化的动态行为。活动图:描述系统元素的活动,用于对计算机流程工作流程建模。3.什么是泳道?答:泳道是活动图中的一些垂直展现,它将活动图中的活动状态进展分组,每一组表示负责某些活动业务组织。4.静态建模机制?动态建模机制?答:静态建模机制:利用用例图、类图、对象图、包、组件图和配置图进展UML建模。动态建模机制:利用消息、状态图、时序图、协作图和活动图进展UML建模。四、UML图与代码转换:〔35分〕1.根据以下UML图写出Java或C#的代码构造2.据以下UML图写出Java或C#的代码构造..word.zl.\n..3.据以下UML图写出Java或C#的代码构造4.根据场景画出UML的建模分析图形..word.zl.\n..5.用户使用的状态图分析:6.客户购置商品操作购物车的时序图:7.某学校信息系统用例图的局部容。用户请求系统做的事件〔例如修改个人信息、查看个人信息和删除个人信息〕..word.zl.\n..8.学生参加考试流程的活动图描述〔使用泳道区分不同对象的活动状态〕25、UML中有哪些扩展机制? 答案:构造型、标记值、约束26、什么是参与者?如何确定系统的参与者? 答案:参与者(actor,有些书翻译成“角色〞)是一种特殊的类,是系统外部的一个实体,这个实体可以是任何的人或物,它以某种方式参与了用例的执行过程。 在获取用例前首先要确定系统的参与者,可以根据下面的一些问题来寻找系统的参与者:①谁使用系统?..word.zl.\n..②谁安装系统、维护系统?③谁启动系统、关闭系统?④谁从系统中获取信息,谁提供信息给系统?⑤在系统交互中,谁扮演了什么角色?⑥系统会与哪些其他系统相关联?27、什么是用例?如何确定系统的用例? 答案:用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。 可以根据下面的一些问题来识别用例: ①参与者希望系统提供什么功能; ②系统是否存储和检索信息; ③当系统改变状态时,是否通知参与者; ④是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件。28、什么是顺序图,顺序图是由那些局部组成? 答案:顺序图是强调消息时间顺序的交互图。是描述系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,顺序图描述了类相互协作的完成预期行为的动态过程。顺序图是由:类角色、生命线、激活期和消息组成。29、什么是协作图,协作图是由那些局部组成? 答案:协作图作为另一种交互图而言,强调的是参加交互的对象的组织。 协作图是由:类角色、关联角色和消息流组成。30、试论述类与用例的区别。 答案:类是对一组具有一样属性、操作、关系和语义的对象的描述。类是对事物的抽象。而用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。..word.zl.\n..31、试比拟边界类与实体类的异同点。 答案:实体类是对系统中需要存储的信息和其信息的行为建立模型。实体类具有永久的特性,这类似于数据库中的表一样用于保存系统的业务信息。 边界类位于系统与外界的交接处,它在一个或多个角色和系统之间建立相互作用的模型。32、什么是依赖?他与关联有什么区别? 答案:依赖是一种使用关系,它说明了一个事物声明说明的变化可能影响到使用它的另一个事物,但反之未必。也就是说,效劳的使用者以某种方式依赖于效劳的提供者。而关联是一种构造关系,它详述了一个事物的对象与另一个事物的对象相互联系。33、什么是泛化?泛化是否就是类的继承,如果不是请说明理由 答案:泛化是一般事物〔称为父类或超类〕和较特殊事物〔称为子类或孩子类〕之间的关系。 泛化不是类的继承,类的继承是泛化的一种。34、试论述聚合和组合的异同。 答案:..word.zl.\n..聚合描述了整体对象拥有局部对象的关系。组合是聚合的一种形式,它具有强的拥有关系,而且整体与局部的生命周期是一致的。35、什么是动作状态?什么是活动状态?它们有什么区别? 答案:动作状态是活动图中最小单位的构造块,表示原子动作。活动状态表示的是可以分割的动作。可以将对象的活动状态理解为一个组合,它的控制流由其他活动状态或动作状态组成。36、活动图与传统的流程图有什么区别? 答案:流程图一般限于顺序过程,而活动图那么可以对付并行过程。 流程图明确指出了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序。37、什么是对象图,请简述对象的作用? 答案:对象图是描述在某一时刻,一组对象以及它们之间关系的图形。 对象图是描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。38、包的访问可见性有几种?请描述各访问可见性的区别。 答案:可见性可以分成3种:公有访问〔public〕、保护访问〔protected〕、私有访问〔private〕 公有访问〔public〕:包的模型元素可以被任何引入此包的其他包的含元素访问。保护访问〔protected〕:表示此元素只能被当前包的子包访问。 私有访问〔private〕:表示此元素只能被当前包的模型元素访问。39、什么是对象图,请简述对象的作用? 答案:对象图〔ObjectDiagram〕是描述在某一时刻,一组对象以及它们之间关系的图形。 对象图是描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。..word.zl.\n..40、请描述组件图和部署图的关系? 答案:组件图用于描述系统中软件的构成,但没有描述系统中与硬件有关的构成情况。部署图那么用于描述系统硬件的物理拓扑构造以及在此构造上运行的软件。41、请表达类,组件和节点的关系? 答案:组件是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。 节点和组件的关系: ①组件是参与系统执行的事物,而节点是执行组件的事物。简单的说就是组件是被节点执行的事物,如假设节点是一台效劳器,那么组件就是其上运行的软件。 ②组件表示逻辑元素的物理模块,而节点表示组件的物理部署。这说明一个组件是逻辑单元〔如类〕的物理实现,而一个节点那么是组件被部署的地点。一个类可以被一个或多个组件实现,而一个组件也可以部署在一个或多个节点上。42、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差异和各自的优缺点。掌握利用两种图进展的设计的方法。 答案:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。 顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。协作图在增加对象时比拟容易,而且分支也比拟少,但如果消息比拟多时难以表示消息之间的顺序。43、什么是高聚度?..word.zl.\n.. 答案:高聚度是对一个类中的各个职责之间相关程度和集中程度的度量。一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高聚度。 包括两个意思: ①不要给一个类分派太多的职责,在履行职责时尽量将局部职责分派给有能力完成的其它类去完成。 ②不相关的职责不要分派给同一个类。44、什么是对象间的可见性? 答案:可见性〔Visibility〕指的是一个对象能够“看到〞或者引用另一个对象的能力45、标准建模语言UML的重要容可以由哪五类图(共9种图形)来定义? 答案:用例图、静态图(包括类图、对象图和包图)、行为图、交互图和实现图。46、简述统模语言(UML): 答案:统模语言(UML)是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进展可视化详述和文档化。UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开场的软件开发的全过程。UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统。47、UML的交互图中是谁在交互?为什么交互?如何交互? 答案:对象在交互,为完成特定功能而交互,以发送消息方式交互。48、状态图中所谓主要事件有那四类? 答案:1)信号事件;2)调用事件;3)变化事件;4)时间事件。..word.zl.\n..49、UML顺序图中定义的消息有那三种? 答案:同步调用(ProcedureCall)是最主要的同步消息;异步(Asynchronous);返回消息(Return)。50、面向对象技术的“泛化关系〞是什么含有含义,其目的是什么? 答案:指一般元素与特殊元素之间的关系。其目的:子类共享父类的属性和操作;实现多态。51、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差异和各自的优缺点。掌握利用两种图进展的设计的方法。答:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。协作图在增加对象时比拟容易,而且分支也比拟少,但如果消息比拟多时难以表示消息之间的顺序。52、什么是高聚度高聚度是对一个类中的各个职责之间相关程度和集中程度的度量。一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高聚度。包括两个意思:不要给一个类分派太多的职责,在履行职责时尽量将局部职责分派给有能力完成的其它类去完成。不相关的职责不要分派给同一个类。53、什么是对象间的可见性?答:可见性〔Visibility〕指的是一个对象能够“看到〞或者引用另一个对象的能力..word.zl.\n..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〕软件部件..word.zl.\n..59、在协作图过 〔18〕 表示出消息的时间顺序。答案:(18)消息编号60、对象之间的关联关系有哪几种?答案:〔UML中类间关系:继承、实现、依赖、关联、聚合、组合〕61.UML语言定义了五种类型不同的图,把它们有机的结合起来就可以描述系统的所有视图,请列举出这些图形名称,并简要描述它们的作用。参考答案:〔用例图(Usecasediagram)从用户角度描述系统功能,并指出各功能的操作者。静态图(Staticdiagram),表示系统的静态构造。包括类图、对象图、包图。行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。包括状态图、活动图。交互图(Interactivediagram),描述对象间的交互关系。包括顺序图、合作图。实现图(Implementationdiagram)用于描述系统的物理实现。包括构件图、部件图。〕62.请分点表达UML的特点。参考答案:〔(1)统一标准 UML统一了Booch、OMT和OOSE等方法中的根本概念,已成为OMG的正式标准,提供了标准的面向对象的模型元素的定义和表示。 (2)面向对象 UML还吸取了面向对象技术领域中其他流派的长处。UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。(3)可视化、表示能力强 系统的逻辑模型或实现模型都能用UML模型清晰的表示,可用于复杂软件系统的建模。 (4)独立于过程 UML是系统建模语言,独立于开发过程。(5)易掌握、易用 由于UML的概念明确,建模表示法简洁明了,图形构造清晰,易于掌握使用。〕..word.zl.\n..63、请按順序写出软件开展生命周期中之各项工作的名称。方案、分析、设计、编程、测试、部署、维护64、请比拟软件开发时,分析及設計两项工作之不同。 分析:规whattodo,定义Problem,目标为dotherightthing设计:规howtodo,定义Solution,目标为dothethingright65、由小到大写出各种软件测试之策略。单元测试、整合测试、系统测试、驗收测试66、写出各种软件维护工作之种类。校正性维护、適应性维护、完善性维护、防範性维护67、UML是那三个英文字的縮写? UnifiedModelingLanguage68、UML所统一是什么?统一了Notation,但是沒有统一Process69、UML之主要用途为何? ·以一个英文单字来描述:modeling..word.zl.\n.. ·以三个英文单字来描述:writesoftwareblueprint·以四个方向来描述:visualization,specification,construction,documentation70、所謂“建模(Modeling)〞是指软件开展生命周期中之哪些工作?是指分析与设计之有关工作71、面向对象软件开发中最重要、最核心之UML图形为何?类图(ClassDiagram)72、UML中用来描述流程之图形为何?活动图(ActivityDiagram)73、UML中用来描述对象间彼此调用合作以完成特定功能之图形为何? 交互图(InteractiveDiagram)74、UML中用以建模使用者之需求及系统之功能之图形为何?使用用例图(UseCaseDiagram)75、UML中用以描述单一对象,承受外界事件,改变內部状态,且作出适当回应之图形为何?状态图(StateDiagram)76、UML中用来描述系统中各类软件工程及其组织架构之图形为何?..word.zl.\n..组件图(ponentDiagram)77、UML中用来描述系统中各类硬件工程及其组织架构及软件组件于硬件上之分布状況之图形为何?部署图(DepolymentDiagram)78、UML2.0中之交互图有哪些? 通信图(municationdiagram) 交互概览图(Interactionoverviewdiagram)(UML2.0) 顺序图(Sequencediagram)时间图(UMLTimingDiagram)(UML2.0)79、UML之交互图中是谁在交互?为什么交互?如何交互? 对象在交互,为完成特定功能而交互,以发送消息方式交互 80、UML中的“4+1”视图是什么?在分析阶段,表达用户需求用哪个视图最好?答:“4+1〞视图是逻辑视图、进程视图、实现视图、配置视图、用例视图;表达用户需求用用例视图最好。81、RUP的特点是什么?答,RUP特点为:用例驱动;以体系构造为中心;使用迭代和增量的方法开发软件。82、分析以下“工厂方法〞模式图并答复以下问题:..word.zl.\n..(1)上述五个类中,哪些类定义了接口?哪些类实现了接口?〔2分〕答:Creator和Product类定义了接口ConcreteCreator和ConcreteProduct类实现了接口〔2〕哪个类仅使用接口?〔1分〕答:Client类仅使用接口。〔3〕哪个类实际创立产品?〔1分〕答:ConcreteCreator类实际创立产品。83、何谓OO三种模型?各模型都表达〔描述〕什么?三种模型的关系如何?交互模型包括哪些框图?这些框图〔协作图除外〕主要作用是什么?答1〕OO三种模型是:类模型,状态模型,和交互模型2〕类模型描述静态整体构造,状态模型描述对象随时间变化的情况,交互模型描述对象交互情况;3〕类模型定义数据构造,状态模型和交互模型操作这个构造;4〕交互模型包括用例图、顺序、协作图和活动图;5〕用例图描述系统功能,顺序图描述对象之间的交互,活动图描述工作流程和算法。1、UML(UnifiedModelingLanguage,统模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进展分析、设计。..word.zl.\n..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〕逻辑视图〔逻辑视图的使用者主要是设计人员和开发人员,描述用例视图提出的系统功能的实现〕;..word.zl.\n..〔3〕并发视图〔并发视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理〕;〔4〕组件视图〔组件是不同类型的代码模块,它是构造应用的软件单元。而组件视图是描述系统的实现模块以及它们之间的依赖关系〕;〔5〕部署视图〔部署视图使用者主要是开发人员,系统集成人员和测试人员,它显示系统的物理部署,它描述位于节点上的运行实例的部署情况,还允许评估分配结果和资源分配。〕19、UML图细分:一类是静态图,一类是动态图。〔1〕静态图:用例图、类图、对象图、组件图和部署图;〔2〕动态图:顺序图、协作图、状态图和活动图。20、模型元素。〔1〕事物,是UML模型中面向对象根本的模块,它们在模型中属于静态局部,代表物理上或概念上的元素。在UMl中的事物可分为四种,分别是构造事物,动作事物,分组事物,注释事物。〔2〕关系,UML中的关系共分为五种:分别是关联关系、依赖关系、泛化关系、实现关系、聚合关系。〔3〕实现关系,实现关系描述一个元素实现另一个元素。〔4〕聚合关系,描述元素之间局部与整体的关系。21、通用机制。〔1〕修饰,为图中的模型元素增加了语义。〔2〕用于为模型元素添加额外信息与说明。〔3〕规格说明,模型元素具有许多用于维护该元素的数据值特性,特性用名称和标记值定义。〔4〕扩展机制,UML的扩展机制允许UML的使用根据需要自定义一些构造型语言成分,通过该扩展机制用户可以定义使用自己的元素。第二章用例图..word.zl.\n..1、用例的四个根本组成局部:用例、参与者、系统、关系。2、参与者。〔1〕是系统外的一个实体,参与者通过向系统输入或者系统要求参与者提供某种信息来进展交互。〔2〕参与者用于表示使用系统的对象。〔3〕参与者的特征是其作为外部用户与系统发生交互。〔4〕参与者总是处理正在建模的系统的外部,它们不是系统的组成局部。〔5〕一个问题:如何识别参与者?3、用例〔1〕用例是用户期望系统具备的功能,它定义了系统的行为特征,如果没有这些特征,系统就不能被成功地使用。〔2〕用例的目标是要定义系统的一个行为,但并不显示系统的部构造。〔3〕一个问题:如何识别用例?4、关系〔1〕用例与参与者之间的连线称为关系,关系也称为关联或通信关联。5、泛化,是一种表示UMl中工程的继承关系的技术。〔1〕泛化用例是指一个用例〔一般为子用例〕和另一个用例〔你用例〕之间的关系,其中的父用例描述了子用例与其他用例共享的特性,而这些用例是有着同一个父用例的。6、详细了解P31-32.7、包含关系,和对象之间的高用关系比拟相像,它描述的是一个用例需要某种类型的功能,而该功能被另一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例。8、为了使用包含关系,用例必须遵循以下两个约束条件:〔1〕客户用例只依赖于提供者用例的返回结果,不必了解提供者用例的部构造;..word.zl.\n..〔2〕客户用例总会要求提供者用例执行,对提供者用例的调用是无条件的。9、扩展关系,是一种依赖关系,它指写出一个用例可以增强另一个用例的功能。第三章1.构成面向对象模型的根本元素有类、对象、类与类之间的关系等。2.类图和对象图合称为构造模型视图或者静态视图,用于描述系统的构造或静态特征3.类图:用来描述系统中的类以及类与类之间的静态关系4.对象:又来描述特定时刻实际存在的假设干对象以及它们之间的关系5.一个系统的模型中可以包含多个对象图,每个对象图描述了系统在某个特定时刻的状态6.面向对象模型的根底是类、对象以及它们之间的关系7.类图是任何面向对象系统的核心8.类图根据系统中的类的关系描述系统的静态视图9.类图是面向对象系统建模中最常用和最根本的图之一10.类图可以包含类、接口、依赖关系、泛化关系、关联关系、和实际关系等模型元素11.在类图中也可以包含注释、约束、包或子系统12.类图用于对系统的静态视图建模,通常以如下所示的某种方式适用类图(1)对系统的词汇建模(2)对协作建模(3)对数据库模式建模13.类是构成类图的根底14.类定义了一组具有状态和行为的对象,这些对象具有一样的属性、操作、关系和语义。〔1〕、属性通常没有省份的数据值表示..word.zl.\n..〔2〕、关系那么用有身份的对象之间的关系来表示〔3〕、行为由操作来描述,方法是操作的实现1.UML规采用一个具有3个预定义分栏的图标表示,分栏中包含的信息有:名称、属性和操作2.类在它的包含者必须有唯一的名称,类对他的包含者来说是可见的3.类的多重性说明了类可以具有多少个实例,通常情况下,可以有0个或多个4.类名通常表示为一个名词,即不带前缀,也不带后缀5.类名可分为简单名称和路径名称,简单名称只有类名没有前缀;路径名称中可以包含由类所在包的名称表示的前缀6.描述类属性的语法格式:[可见性]属性名[:类型][=初始值][{属性字符串}]7.最常用的可见类型有3种:公有〔Public〕、私有〔Private〕、被保护〔Protected〕〔1〕、Public的属性和操作可以在它所在类的外部被查看、使用和更新;Public类型用符号“+〞表示〔2〕、Private可见性是限制最为严格的可见性类型,只有包含Private元素的类本身才能使用Private属性中的数据,或者调用Private;Private类型用符号“-〞表示〔3〕、Protected的属性和操作可以被类的其他方法访问,也可以被任何相应继承类所声明的方法访问,但是非继承的类无法访问Protected属性和操作;Protected类型用符号“#〞表示8.每个属性都应有唯一的属性名9.常用的数据类型有整型、实型、布尔型、枚举型等10.类的所有对象的状态由其属性的特定值所决定11.属性和数据类型之间要用冒号分隔,数据类型与初始值之间用等号分隔12.描述类的属性的语法格式中的最后一项为哪一项属性字符串,属性字符串用来指定关于属性的其他信息13.类的作用域属性〔类变量〕:能被所属类的所有对象共享;在类图中表示是要在属性名下面加一条下划线14.操作描述了处理数据的具体方法,类操作是所属对象的行为的抽象..word.zl.\n..1.属性是描述对象特征的值,操作用于操纵属性或执行其他动作2.操作的具体实现称为方法3.一个类可以有0个或多个操作4.操作由返回值类型、名称和参数表进展描述5.描述操作的语法:[〔参数表〕][:返回类型][{属性字符串}]6.操作名通常使用能够描述类的行为的动词或者动词短语,操作名的第一个字母通常使用小写形式,当操作名包含多个单词时,要合并起来,从第二个单词起,所有单词的首字母都是大写形式7.参数用来指定提供应操作以完成工作的信息。操作可以有参数,也可以没参数。当参数表中包含多个参数时,各参数之间要用逗号分隔开8.操作除了具有名称与参数外,还可以有返回类型。返回类型被指定在操作名称尾端的冒号之后,它指定了该操作传回的对象类型9.Void关键字表示无返回值10.职责:是指类或者其他元素的契约或者义务11.约束指定了类应该满足的一个或者多个规那么12.注释可以包含文本和图形13.在构造类图之前,首先要定义类14.彼此相互依赖较强的两个类称为严密耦合15.关联意味着类实际上以属性的形式包含对其他类的一个或多个对象的引用16.在对象图中两个类的相应对象所具有的关系被称为链17.关联描述的是规那么,而链描述的是事实18.一个完整的关联定义包含了3个局部:表示类之间关联关系的直线和两个关联端点19.直线以及关联名称定义了该关心的标志和目的,关联端点定义了参与关联的对象所应遵循的规那么..word.zl.\n..1.一般情况下使用一个动词或者动词短语命名关联关系2.关联端点可以包含诸如角色、多重性、定序、约束、限定符、导航性、可变性等特征中的局部或者全部〔1〕、关联中的角色通常用字符串命名〔2〕、关联的多重性指的是有多少对象可以参与关联。多重性可以用来表达一个取值围、特定值、无限定的围或者一组离散值,在UML中多重性是用由数字标识的围来表示的〔3〕、定序就是指将一组对象按一定的顺序排列〔4〕、约束定义了附加于模型元素之上的限制条件,保证了模型元素在系统生命周期中的完整性,约束的格式世界上是一个文本字符串,约束可以使用的语言可以是OCL、某种编程语言甚至也可以是自然语言〔5〕、限定符定义了被参考对象的一个属性,并使用该属性作为直接访问被参考对象的关键字〔6〕、导航性描述的是一个对象通过链进展导航访问另一个对象。导航性使用置于关联端点的箭头表示。〔7〕、可变性允许建模者对属于某个关联的链进展操作,默认情况是允许任何形式的编辑,例如添加、删除等3.UML定义了3种扩展机制,即标记值、原型和约束4.关联类是一种将数据值和关联在一起的手段5.或关联是值对多个关联附加约束条件,是类中的对象一次只能参与一个关联关系,当两个关联不能同时发生时,用一条虚线连接这两个关联,并且虚线的中间带有{OR}关键字6.聚合用来说明一个类是实际上拥有但可能共享另一个类的对象7.组合所表达的涵:为组成来的在局部建模8.泛化关系是一种存在于一般元素和特殊元素之间的分类关系9.泛化主要有两个用途:第一个用途是当变量被声明承载某个给定类的值时,可使用类的实例作为值,被称做可替代性原那么。第二个用途是泛化使得多态操作成为可能10.使用泛化的根本原那么是:只有在一个类确实是另一个类的特殊类型时才使用泛化,而不是为了方便使用11.泛化约束用于说明泛化有一个与其相关的约束,带有约束条件的泛化也被称为受限泛化..word.zl.\n..1.不完全约束表示类图中没有完全显示出泛化的类2.完全约束表示类图中显示了全部容3.解体约束表示紧靠约束下面的泛化来不能子类化为通用的类4.重叠约束表示两个子类可以共享一样的子类5.关联关系、泛化关系和实现关系都属于依赖关系6.依赖关系用一个带有箭头的虚线表示7.在UML规中定义了4种根本的依赖类型,分别是使用依赖,抽象依赖、绑定依赖和授权依赖〔1〕、使用依赖:依赖关系------使用、调用、参数、实例化、发送〔2〕、抽象依赖:依赖关系------跟踪、精化、派生〔3〕、授权依赖:依赖关系------访问、导入、友元8.实现关系用于规定规格说明与其实现之间的关系,它通常在接口以及实现该接口的类之间,以及用例和实现该用例的协作之间9.UML将实现关系表示为末端带有空心三角形的虚线,带有空心三角形的那一端指向被实现元素,接口表示为一个小圆圈,并和实现该接口的类用一条线段连接起来10.为了声明操作是抽象的,以指明Store和retrieve操作实现将由子类决定,应以斜体字来表示这些操作11.接口是对对象行为的描述,但是并不给出对象的实现和状态12.接口通常被描述为抽象操作13.接口可以用构造型的类表示,也可以用一个“球形〞来表示14.对象是类的实例,对象图也可以看做是类图的实例15.对象名的下面要有下划线16.对象名的三种表示方法:第一对象名:类名第二:类名第三对象名17.链有3种命名方法:1、使用相应的关联命名2、使用关联端点的角色名命名..word.zl.\n..3、使用与对应类名一致的角色名命名1.对象图示形式只有名称和属性两个分栏2.包图是维护和控制系统总体构造的重要建模工具包里的元素可以具有Public和Private可见性第四章1、活动图本质上是一种流程图。它描述从活动到活动的控制流。活动图可以显示用例部和用例之间的路径;活动图还可以向读者说明需要满足什么条件用例才会有效,以及用例完成后系统保存的条件或者状态。2、活动图由初始节点启动,被绘制成实心圆。另一端是活动的完毕,由一个含实心圆的圆圈表示。3、活动标记符是一个带有圆角的矩形。4、在一个活动图中只能有一个开场状态,但可以有多个完毕状态。5、建模活动图步骤:〔1)标识需要活动图的用例〔2〕建模每一个用例的主路径〔3〕建模每一个用例的从路径〔4〕添加泳道来标识活动的事务分区〔5〕改良高层活动并添加到更多活动图。6、活动图的主路径描述了用例图的主要工作流,此时的活动图没有任何转移条件或错误处理。建模的从路径的目标就是进一步添加活动图的容,包括判断、转移条件错误处理等。7、分叉和集合与转移形影不离。分叉是用于将一个控制流分为两个或多个并发运行的分支,它可以用来描述并发线程。8、..word.zl.\n..集合与分叉相反,代表两个或多个并发控制流同步发生,它将两个或多个控制流合成到一起形成一个单向控制流。1、活动图的主要作用就是来描述工作流,其中活动都代表工作流中的一组动作的执行。第五章1、顺序图描述了对象之间传递消息的时间顺序,它用来表示用例中的行顺序。2、顺序图代表了一个相互作用,在以时间为次序的对象之间的通信集合。3、顺序图的主要用途之一是为用例建造逻辑建模。即用来为某个用例的泛化功能提供其所缺乏的解释,即把用例表达的需求,转化为进一步,更加正式层次的精细表达。4、顺序图主要的4个标记符:对象,生命线,消息,激活5、在面向对象系统中,行为的执行者是对象,而不是类,因此协作图通常描述的是对象层次而不是类层次。6、消息是用来说明顺序图中不同活动对象的通信,因此,消息可以激发某个操作,创立或解构某对象。7、同步消息:在发送消息的对象进展另一个活动之前需要等待返回折回应消息。8、异步消息表示发送消息的对象不用等待回应的消息,即可开场另一个活动。9、当一条消息被传递给对象的时候,它会触发该对象的某个行为,这时就说该对象被激活了。10、创立顺序图模型:(1〕确定需要建模的作例〔2〕确定用例的工作流〔3〕确定各工作流涉及的对象,并按从左到右顺序进展布置〔4〕添加消息和条件以便创立每一个工作流第六章通信图1、通信图主要用于显示系统对象之间需要哪些以传递交互的消息。2、通信图中的对象:未指定对象所属类名、完全限定对象名、未指定对象名..word.zl.\n..3、对象实例角色:未命名对象扮演的角色、未命名对象扮演指定类的角色、具体某个对象扮演具体的角色、制定类的实例化对象所扮演的角色。4、类角色的不同表示方法:①只用角色名,没有指定角色代表的类;②指定类名而未指定角色名;③完全限定了类名和角色名,方法是同时指定角色名和类名。5、关联角色适用于在通信图中说明特定情况下的两个类角色之间的关联。关联角色和关联的表示法一样,也就是在两个类角色富豪件的一条实线。关联角色还可以指示导航,以指示消息流的传递方向。也可以把多重性添加到关联角色中。6、的目的是让消息在不同系统对象之间传递。可以使用parameter或者local固化类型。注意:对象名总是带有下划线,而类角色那么不带有下划线。如果一条线将两个表示对象的标号连接一起,那么它是一个连接;如果连接的是两个类角色,那么连接为关联角色。7、消息是通信图中对象与对象或类角色与类角色之间通信的方式。通信图上的参与者也能给自己发送消息。8、通信图中的消息:〔1〕同步消息:使用一个实心箭头表示。〔2〕异步消息:使用一个半开箭头表示。〔3〕简单消息。使用一个开放箭头表示。9、每个消息之前使用数字表示通信图上的次序。10、在单个关联角色或之间还可以有多个消息,并且这些消息可以是同时调用。在通信图中为表示这种并发的多个消息,采用数字加字母的表示法。11、有的消息只有在特定条件为真时才应该被调用,因此,需要在通信图中添加一组控制点,描述调用消息前需要评估的条件。控制点由一组逻辑判断语句组成,只有当逻辑判断语句为真时才调用相关的消息。12、消息也可以在通信图中创立对象。对象实例用new固化类型,消息使用create固化类型,以明确指示该对象实在运行过程中创立的。..word.zl.\n..13、迭代是一种非常根本和重要的控制流类型,用来指示重复的处理过程。迭代的两种标记:〔1〕用于单个对象发送消息到一组娶她对象。1.*:Message〔2〕指示消息从一个对象到另一个对象被发送屡次。1.[1..n]:Message14、顺序图着重于对象间消息传递的时间顺序,通信图着重于表达对象之间的静态关系。对系统模型通信图最好的方法是将顺序图转换成通信图。第一步:将顺序图中所有系统对象和参与者添加到通信图中。第二步:添加系统对象与参与者之间的通信,使它们能相互通信。最后:添加在交互期间参与者与系统对象之间传递的消息。15、是否决定使用通信图或者顺序图:如果主要针对特定交互期间的消息流,那么可以使用顺序图;如果集合处理交互所设计的不同参与者与对象之间的,那么可以使用通信图。第十章构造实现方式图1、实现方式图包括组件图和部署图两种类型。2、组件图用来建模系统的各个组件〔包括源代码文件、二进制文件、脚本、可执行文件〕之间的关系,它们是通过功能或者位置〔文件〕组织在一起的。3、组件是软件的单个组成局部,它和类的共同点是:两者都具有自己的名称,都可以实现一组接口,都可以具有以来关系,都可以被嵌套,都可以参与交互,都可以拥有自己的实例;它们的区别是:组件描述了软件设计的物理实现,即代表了系统设计中特定类的实现,而类那么描述了软件设计的逻辑组织的意图。4、每个组件都应有一个名称以表示该组件并区别其他组件。在对软件系统进展建模时,会使用3种类型的组件:配置组件、工作产品组件、执行组件。5、在组件图中也可以使用接口。通过使用接口,组件尅使用其他组件中定义的操作;而且,使用命名的接口可以防止系统中的不同组件直接发生依赖关系,这有利于组件的更新。6、组件的接口可以分为:导入接口和导出接口。..word.zl.\n..7、组件和组件、组件和接口都存在依赖关系;组件也可以包含在其他组件中。事物处理组件由3个独立组件组成:数据访问、事物逻辑和用户接口。8、组建图可以用来为系统的静态实现视图进展建模,是基于系统组件的特殊的类图。可以为源代码建模、为可执行版本建模、为数据库建模等。9、部署图用来对部署系统是设计的硬件进展建模。构造部署图可以帮助系统的有关人员了解软件中各个组件驻留在什么硬件上,以及这些硬件之间的交互关系,另外,部署图还可以用来描述哪一个软件应该安装在哪一个硬件上。10、节点用来表示一种硬件;节点的标记是一个立方体;部署图中的节点可以分为处理器和设备两种类型。节点可以建模为某种硬件的通用形式;通过确定需要模型描述某个特定节点的信息还是所有节点实例的通用信息可以确定何时需要建模节点实例。11、在部署图中,不同节点之间的通信路径是通过关联关系表示的。固化类型通常用来描述两种硬件之间的通信方法或者协议。12、通常情况下,建模人员使用部署图为嵌入式系统建模,为客户/效劳器系统建模,或者为完全的分布式系统建模;在使用部署图为客户/效劳器系统建模时需要考虑客户端和效劳器端的网络连接以及系统的软件组件在节点上的分布情况。13、完全分布式系统肺部与假设干个分散的节点上,由于网络通信量的变化和网络鼓掌等原因,系统是在动态变化这的,节点的数量和软件组件的分布可以不断变化。14、通过组合组件图和部署图可以得到一个完整的实现方式图,它可以可视化地描述应在什么硬件上部署软件以及怎样部署。部署情况:〔1〕将硬件和安装在其上的软件组件用依赖关系连接起来〔2〕将软件组件直接绘制在代表其所安装的硬件节点上。15、如何建模实现方式图的步骤:〔1〕建模节点;..word.zl.\n..〔2〕建模通信关联;〔3〕建模软件组件、类和对象等;〔4〕建模依赖关系。16、添加节点和关联关系首先需要为模型确定节点,通过分析系统的需求描述,从中抽取出代表硬件的节点。17、在构造组件图时需要首先找出系统中存在的组件、接口及组件间的依赖关系。18、在构造部署图时,应当首先找出系统中的节点以及不同节点之间的关系。第16章图书管理系统的分析与设计。1、持有借阅证的借阅者可以借阅图书、归还图书、查询借阅信息2、学生还书时只需要将所借阅的图书交给图书管理员,由图书管理员负责输入图书信息,然后由系统验证该图书是否为本图书馆中的藏书,假设是那么系统删除相应的借阅信息,并更新相应的学生账户。在还书时也会检验该学生是否有超期未还的图书。3、在一个图书馆中,多本图书可以拥有一个名称,为了区别每一本图书,需要为每一本图书指定一个唯一的编号,在本系统中,图书标题采用图书名称、名称、作者以及图书的ISBN号标识每一种图书。4、通过对系统的分析,可以确定系统中有两个参与者:图书管理员Librarian和系统管理员Administrator5、DisplayLoanInfo:显示借阅者的所有信息ModifyPassword:对用户密码的修改QueryLoanInfo:完成查找某个借阅者6、类Borrower描述了借阅者的信息〔本系统中借阅者为一名学生〕。7、业物逻辑层:BLL数据访问:DAL..word.zl.\n..模型:Modd页面设计:E:\MVCTest\web\8、系统中的五个重要的类:Borrowe、Book、Title、Loan和Manager9、用户选择不同的菜单:(1)createWindow()创立图书馆管理系统的图形用户界面主窗口(2)borrowBook()当用户选择“借阅图书〞菜单项时,调用该操作(3)returnBook()当用户选择“归还图书〞菜单项时,调用该操作(4)queryLoan()当用户选择“查询借阅信息〞菜单项时,调用该操作(5)modifyPassword()当用户选择“修改密码〞菜单项时,调用该操作10、系统管理员对系统维护界面:(1)addTitle()当用户选择“添加图书种类〞菜单项时,调用该操作(2)delTitle()当用户选择“删除图书种类〞菜单项时,调用该操作(3)addBorrower()当用户选择“添加借阅者〞菜单项时,调用该操作(4)delBorrower()当用户选择“删除借阅者〞菜单项时,调用该操作(5)addBook()当用户选择“添加图书〞菜单项时,调用该操作(6)delBook()当用户选择“删除图书〞菜单项时,调用该操作(7)manager()当用户选择“管理员〞菜单项时,调用该操作11、createDialog()当用户运行系统时,调用该方法以创立登录对话框。Login()当用户输入用户名和登录密码并单击登录按钮后,调用该方法完成对用户身份的验证。12、借阅操作createDialog()创立BorrowDialog对话框inputBorrowerID()调用该方法,系统将获取用户输入的借书证号信息..word.zl.\n..inputBookID()调用该方法,系统将获取用户输入的图书信息。四、简答题1.什么是UML?简介统模语言〔UML〕仅仅是一种语言。它不是系统设计的方法,而是系统建模的标准。UML经历了许多年的研究、开展并不断完善,成为现在诸多领域建模的首选标准。开发人员主要使用UML来构造各种模型,以便描述系统需求和设计。2.顺序图与协作图的区别顺序图和协作图都可以表示各个对象之间的交互关系,但是它们的侧重点不同。顺序图用消息的排序关系来表达消息的时间顺序,各角色之间的关系是隐含的;协作图用各个角色的排列来表示角色之间的关系,并用消息说明这些关系。在实际应用中可以根据需要来选择两种图,如果需要重点强调时间或顺序,那么选择顺序图;如果需要重点强调上下文,那么选择协作图。3.概念模型建立的步骤1、运用概念目录列表或名词性短语找出问题领域中的后选概念2、绘制概念到概念模型图中3、为概念添加关联关系4、为概念添加属性..word.zl.\n..4.在UML中什么是用例?〔用例是什么?〕如何识别用例用例是用户期望系统具备的功能,它定义了系统的行为特征,如果没有这些特征,系统就不能被成功地使用。识别用例:通过询问以下问题1〕.参与者需要从系统中获取哪种功能?即参与者要系统“做什么〞;2〕.参与者是否需要读取、生产、删除、修改或存储系统中的某种信息?3〕.系统的状态改变时,知否通知参与者?4〕.系统需要什么样的输入/输出信息?5.类图转换。〔多对多拆分成一对多〕〔两个不同的例子〕略,见考试用图。6.活动图的概念和用途活动图本质上是一种流程图,它描述从活动到活动的控制流。用来建模工作室,活动图可以显示用例部和用例之间的路径;活动图还可以向读者说明需要满足什么条件用例才会有效,以及用例完成后系统保存的条件或者状态。活动图在用例图之后提供了系统分析中对系统的进一步充分表述。7.解释和比拟用例图当中的extend和include关系扩展〔extend〕:extend关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。extend的基用例中将存在一个扩展点,只有当扩展点被激活时,子用例才会被执行。extend关系在用例图中使用带箭头的虚线表示〔在线上标注<>〕,箭头从子用例指向基用例。..word.zl.\n..包含〔include〕:include为包含关系,当两个或多个用例中共用一组一样的动作,这时可以将这组一样的动作抽出来作为一个独立的子用例,供多个基用例所共享。因为子用例被抽出,基用例并非一个完整的用例,所以include关系中的基用例必须和子用例一起使用才够完整,子用例也必然被执行。Include关系在用例图中使用带箭头的虚线表示〔在线上标注<>〕,箭头从基用例指向子用例。8.OO开发当中的三层设计概念〔面向开发〕面向对象的开发中,通常把OO系统中相互联系的所有对象分成三类:问题域类、GUI类和数据访问类。其中问题域类是指和用户相关的对象类;GUI类的作用是方便用户与问题类进展交互;数据访问类实现问题域类和数据库的交互。在实现系统是首先确定问题域类,然后实现GUI类,最后再确定数据访问类的顺序逐步实现。9.UML当中四层体系构造元元模型层,元模型层,模型层,用户模型图。10.用例图当中四个主要组成局部是什么用例,参与者,系统,关系。..word.zl.