江西理工大学UML与设计模式复习题(答案参考版)

合集下载

uml期末考试复习题

uml期末考试复习题

uml期末考试复习题UML期末考试复习题一、选择题1. 在UML中,用于表示类和类之间关系的符号是:A. 菱形B. 圆形C. 矩形D. 三角形2. 以下哪个不是UML用例图中的元素?A. 参与者B. 用例C. 类D. 关系3. 在UML中,状态图(Statechart)用于描述:A. 对象的生命周期B. 系统的动态行为C. 系统的静态结构D. 系统的并发行为4. 以下哪个UML图用于展示系统的动态行为?A. 类图B. 序列图C. 组件图D. 部署图5. 在UML中,一个对象的表示方法是:A. 矩形B. 椭圆形C. 圆形D. 三角形二、简答题1. 解释UML中类图的基本组成元素及其含义。

2. 描述UML用例图的用途和主要元素。

3. 什么是UML的组件图?它在软件开发中扮演什么角色?4. 解释UML中包(Package)的概念及其作用。

5. 描述UML中活动图(Activity Diagram)的特点和用途。

三、应用题1. 假设你正在设计一个图书馆管理系统,请绘制一个类图,展示至少5个类,并说明它们之间的关系。

2. 为图书馆管理系统中的“借书”功能绘制一个用例图,并简述参与者和用例之间的关系。

3. 为图书馆管理系统中的“查询书籍”功能绘制一个活动图,展示从开始到结束的完整流程。

4. 设计一个简单的状态图,描述一个“电梯”系统在不同状态下的转换。

5. 绘制一个序列图,展示图书馆管理系统中“借书”功能的用户交互过程。

四、论述题1. 论述UML在软件开发过程中的重要性,并举例说明UML如何帮助团队成员理解系统设计。

2. 描述UML中不同类型的关系(如关联、聚合、组合、继承等)及其在实际应用中的意义。

3. 讨论UML部署图在系统部署和硬件规划中的作用。

结束语以上复习题覆盖了UML的基本概念、图示类型及其应用,希望能够帮助同学们在期末考试中取得好成绩。

请同学们认真复习,理解每一种UML图的特点和应用场景,以便在实际开发中能够灵活运用。

uml试题及答案(考试专用)

uml试题及答案(考试专用)

一、名词解释:用例:是外部可见的系统单元,这些功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。

泳道:在活动图中,泳道用垂直实线绘出,垂直线分隔的区域就是泳道;组件:组件是定义了良好接口的物理实现单元,是系统中可替换的物理部件.双向工程:双向工程包括正向工程和逆向工程.正向工程就是从模型到代码,而逆向工程则是从代码到模型.正向和逆向工程结合在一起叫双向工程。

对象流:对象流是动作状态或者活动状态与对象之间的依赖关系,表示动作使用对象或者动作对对象的影响。

二、填空题1、UML中的模型元素包括事物和事物之间的联系。

2、Rational Rose包括了统一建模语言、面向对象的软件工程及对象建模技术。

3、时序图包含的4个元素有对象、生命线、消息、激活 .4、协作图以对象图的方式绘制各个参与对象,并且将消息和链平行放置。

5、组件是定义了良好接口的物理实现单元,是系统中可替换的物理部件.6、状态机包含了一个类的对象在其生命期间所有状态的序列以及对象对接收到的事件所产生的反应。

7、包图建模技术包括对成组的元素建模和对体系结构视图建模。

8、内部转换只有一个原状态但是没有目标状态 ,因此转换后并不改变状态本身。

9、分叉可以用来描述并发线程,每个分叉可以有一个输入转换和两个或多个输出转换.10、配置图描述了系统执行处理过程中系统资源元素的配置情况以及软件到这些资源元素的映射.三、1。

简述时序图的建模步骤。

如何识别用例?答:建模步骤:1)设置交互语境;2)确定对象;3)分析消息和条件;4)分析附加约束;5)对建模结果精化和细化2。

Rational Rose中有哪几种视图,各个视图的作用是什么?答:Rational Rose有四种视图:①用例视图:用例视图是被称为参与者的外部用户所能观察到的系统功能的模型图。

用例是系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用。

用例模型的用途是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行. 用例视图是其他视图的核心,它的内容直接驱动其他视图的开发。

UML复习题

UML复习题

(一)一、选择题1、软件开发过程中,最困难的一个环节是()A、程序语言的学习B、详细设计C、需求分析D、编码设2、若将活动状态比作方法,那么动作状态即()A、方法名B、方法返回值C、方法体中的每一条语句D、方法的可见性3、UML提供了一系列的图支持面向对象的分析与设计,其中()给出系统的静态设计视图;()对系统的行为进行组织和建模是非常重要的;()和()都是描述系统动态视图的交互图,其中()描述了以时间顺序组织的对象之间的交互活动,()强调收发消息的对象的组织结构。

A、状态图B、用例图C、顺序图D、部署图E、通信图F、类图G、时序图4、在一个订单输入子系统中,创建新订单和更新订单都需要检查用户帐号是否正确。

那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是()关系A.包含(include)B.扩展(extend)C.分类(classification)D.聚集(aggregation)5、Innovation公司正在为Rose开发插入件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG 格式、BMP格式、GIF格式等。

在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。

为了描述这些算法,如下图中,那个最适合()A. 活动图B. 状态图C. 类图D. 用例图二、简答题1、找出并说明下面类图中的错误。

Class C1{C2 c2 = new C2();public void f1(){ c2.f2(); }}Class C2{public void f2(){ f2(); }}4、请找出下面类图中存在的错误并画出正确的类图。

5、对于如下类图,请写出OCL约束:(1)、对于一个班级而言,只有注册人数大于25人方可开课并且由于教室大小的约束,人数又不能超过80人。

(2)每个学生必须经注册后方能听课6、请解释下面两个活动图(图1和图2)的执行流程,并讨论它们的区别。

uml参考题(带答案版)

uml参考题(带答案版)

uml参考题(带答案版)1、⾯向对象的核⼼要素:对象,封装,消息,类,抽象,继承,多态性(7个)2、封装把类构成那两个部分,⼜提供了哪两种保护两个部分:接⼝部分,和实现部分两种保护:1,对象内部的状态被保护起来,不会被与该对象沟通的对象直接篡改;2另⼀⽅⾯,对象内部特征的变化不会改变其他对象与该对象的沟通⽅式。

(另⼀种⽼师课件的答案:两种保护:1.⾸先保护对象,防⽌⽤户直接存取对象的内部细节;。

2.其次封装也保护了客户端,防⽌对象实现部分的变化可能产⽣的副作⽤,即实现部分的改变影响到客户端的改变。

)3、消息提供了服务的哪四个⽅⾯对象标识,服务(⽅法)标识,输⼊信息和回答信息等5、下⾯是⼀个⽤例描述的⽚断:Use Case: Withdraw Cash(提取现⾦)参与者:Customer主事件流:1. 储户插⼊ATM卡,并键⼊密码。

2. 储户按“Withdrawal”按钮,并键⼊取款数⽬。

3. 储户取⾛现⾦、ATM卡并拿⾛收据。

4. 储户离开。

上述描述中存在的问题:只描述了参与者的动作序列,没有描述系统的⾏为。

改进的描述:答:1. 通过读卡机,储户插⼊ATM卡。

2. ATM系统从卡上读取银⾏ID、帐号、加密密码、并⽤主银⾏系统验证银⾏ID和帐号。

3. 储户键⼊密码,ATM系统根据上⾯读出的卡上加密密码,对密码进⾏验证。

4. 储户按“FASTCASH”按钮,并键⼊取款数量,取款数量应该是5美元的倍数。

5. ATM系统通知主银⾏系统,传递储户帐号和取款数量,并接收返回的确认信息和储户帐户余额。

6. ATM系统输出现⾦,ATM卡和显⽰帐户余额的收据。

7. ATM系统记录事务到⽇志⽂件。

7、什么是场景,⼀个⽤例可以有多少个主要场景和次要场景?场景:是使⽤系统的⼀个特定情节或通过⽤例的⼀个特定执⾏路径。

每个⽤例有且只有⼀个主要场景可以有多个次要场景8、按照耦合度从⾼到低,说明类之间的关系有哪些?由强到弱:继承,组合,聚合,关联,依赖9、标准类图中成员四个可见性分别⽤什么表⽰?Public + Protected # Package ~Private -10、association aggregation generalization dependency 分别代表什么关系关联关系聚合关系泛化关系依赖关系11、给出下⾯带关联类类图的另⼀种普通类图表⽰。

uml建模与设计期末复习题库

uml建模与设计期末复习题库

uml建模与设计期末复习题库UML建模与设计期末复习题库一、选择题1. UML代表什么?A. Unified Modeling LanguageB. Unified Modeling LogicC. Universal Modeling LanguageD. User Modeling Language2. 在UML中,用以表示类的符号是什么?A. 圆形B. 矩形C. 椭圆形D. 三角形3. 以下哪个不是UML的视图?A. 用例视图B. 逻辑视图C. 物理视图D. 实现视图4. UML中的关联关系用哪种图形表示?A. 直线B. 虚线C. 箭头D. 曲线5. 以下哪个UML图用于描述系统的动态行为?A. 类图B. 状态图C. 活动图D. 序列图二、填空题1. UML是一种标准的______建模语言。

2. UML中的类图主要用于描述系统的______结构。

3. 在UML中,______用于表示对象间的通信。

4. 用例图用于描述系统的功能需求,它由______和用例组成。

5. 活动图主要用于描述系统的______流程。

三、简答题1. 简述UML的主要特点。

2. 解释UML中的聚合和组合的区别。

3. 描述UML中状态图的作用和应用场景。

4. 阐述UML中序列图和协作图的区别。

四、应用题1. 给出一个简单的图书馆管理系统的用例图,并说明每个用例的功能。

2. 假设你正在设计一个在线购物网站,请绘制该网站的类图,并解释主要类的属性和方法。

3. 描述如何使用活动图来表示一个用户登录系统的过程。

4. 绘制一个简单的银行账户管理系统的序列图,展示用户存款的交互过程。

五、论述题1. 论述UML在软件开发过程中的重要性。

2. 分析UML中各种图在系统设计和分析中的作用和相互关系。

结束语通过本题库的复习,希望同学们能够对UML建模与设计有一个全面而深入的理解,为期末考试做好充分的准备。

祝大家考试顺利!。

UML建模期末考试题及答案

UML建模期末考试题及答案

UML建模期末考试题及答案一、单项选择题(每题2分,共20分)1. UML中用于表示系统的静态结构的图是:A. 活动图B. 用例图C. 类图D. 状态图答案:C2. 在UML中,一个类可以拥有的属性和方法的集合被称为:A. 接口B. 实现C. 封装D. 抽象答案:C3. 以下哪个不是UML中的关系?A. 关联B. 依赖C. 泛化D. 映射答案:D4. 以下哪个不是UML中的行为图?A. 活动图B. 序列图C. 状态图D. 部署图答案:D5. 在UML中,表示对象之间交互的图是:A. 用例图B. 类图C. 序列图D. 组件图答案:C6. 在UML中,一个对象的生命周期可以用以下哪个图来表示?A. 活动图B. 序列图C. 状态图D. 部署图答案:C7. 在UML中,表示系统的物理架构的图是:A. 用例图B. 部署图C. 组件图D. 包图答案:B8. 以下哪个是UML中的对象?A. 类B. 接口C. 实例D. 以上都是答案:C9. 在UML中,表示一个类可以实例化多少次的关系是:B. 泛化C. 聚合D. 组合答案:D10. 在UML中,表示对象之间交互的顺序的图是:A. 活动图B. 序列图C. 状态图D. 用例图答案:B二、多项选择题(每题3分,共15分)1. UML中,以下哪些图可以用来描述系统的动态行为?A. 活动图B. 序列图C. 状态图D. 用例图答案:A、B、C2. 在UML中,以下哪些元素可以表示类之间的关系?A. 关联B. 依赖C. 泛化D. 组合答案:A、B、C、D3. 以下哪些图可以用来描述系统的静态结构?A. 类图B. 对象图D. 部署图答案:A、B、C、D4. 在UML中,以下哪些图可以用来描述系统的交互?A. 序列图B. 通信图C. 用例图D. 活动图答案:A、B5. 在UML中,以下哪些元素可以表示对象之间的交互?A. 消息B. 信号C. 事件D. 操作答案:A、B、C三、简答题(每题10分,共30分)1. 请简述UML中用例图的作用。

UML考试题及答案

UML考试题及答案

UML考试题及答案UML 统⼀建模⼀、选择题 (共40分,每⼩题2分)1、下⾯的模型图中,哪个能正确表⽰“1个教师可以指导0个到多个学⽣的论⽂,1个学⽣必须有1个教师指导其论⽂” 的意思(C )2、计算机由CUP 、内存、硬盘、显⽰器、⿏标等构成,那么计算机类和⿏标类之间的关系是( C )A 继承关系B 关联关系C 聚合关系D 依赖关系 3、下⾯( B )图形表⽰依赖关系。

4、关于UML ,下⾯说法正确的是( D )A UML 是⼀种⾯向对象的建模⽅法。

B UML 是⼀种形式化的语⾔,使⽤UML 建⽴的模型可被计算机编译执⾏。

C UML 是⼀种⾯向对象的编程语⾔。

D UML 是⼀种⾯向对象的建模语⾔,但不是建模⽅法。

ABCD5、顺序图和交互图的关系,类似与下⾯的哪种关系(C )A 类和对象的关系B 类和参与者关系C Java和编程语⾔的关系D UML和Java的关系6、要对⼀个企业的⼯作流程建模,下⾯4种图中的(B )是最重要的。

A 交互图B 活动图C 状态图D 类图7、关于参与者,错误的说法是(C )A 参与者是与所建⽴的系统交互的⼈或物。

B 参与者可以是实际的⼈,也可以其他系统。

C 参与者是系统的⼀部分,是⽤例图的重要组成部分。

D 参与者之间可以存在泛化关系。

8、UML中关联的多重性是指(B )A ⼀个类有多个⽅法被另⼀个类调⽤。

B ⼀个类的实例对象能够与另⼀个类的多少个实例对象相关联。

C ⼀个类的某个⽅法被另⼀个类调⽤的次数。

D 两个类所具有的相同的⽅法和属性。

9、关于类图的说法正确的是(A )A 类图分为3个层次:对象层、特征层和关系层,其中对象层给出系统中所有反映问题域和系统责任的对象。

B 类图分为3个层次:对象层、特征层和关系层,其中特征层给出系统中所有反映问题域和系统责任的对象。

C 类图只是⼀种辅助模型,不如其他图重要。

D 类图定义了系统的功能需求,描述了系统的动态⾏为。

10、根据Coad/Yourdon的定义,⾯向对象的概念不包括(D )A 对象B 继承C 消息D 封装11、使⽤UML对系统进⾏动态建模,不能使⽤以下哪种图(A )A 类图B 顺序图C 状态图D 活动图12、UML 的结构事物不包括( D )A 接⼝B 类C 协作D 状态机 13、分析下⾯的顺序图,并指出哪种说法是正确的( C )A “求战”、“怎么办”以及“⽕烧连营”这3条消息并没有严格的次序,⽐如:“求战”消息有可能在“⽕烧连营”之前产⽣。

UML试题及答案(2)(最新整理)

UML试题及答案(2)(最新整理)

C.活动图可以用来描述多个用例间多个对象之间的行为。
D.活动图可以用来描述企业中的工作流。
25、在构件图中可以包含下面哪些建模元素? (ABCD)
A.接口
B.包
C.约束
D.依赖
26、下面哪些陈述是错误的?(AC)
A.在活动图中,一个活动结束后不能立即紧接着开始另一个活
动。
B.在顺序图中,从对象图标垂直向下延伸的一条虚线称为这个
A.create,process,reserve,acknowledge,commit
B.process,reserve,acknowledge,commit
C.Payment,save
第 5页
D.payment,create,save
: Participant
aPaymentWindow : Window
一、选择题。 1、下列描述中,哪个不是建模的基本原则(D) A.要仔细的选择模型 B.每一种模型可以在不同的精度级别上表示 所要开发的系统 C.模型要与现实相联系 D.对一个重要的系统用一个模型就可以充 分描述 2、(A)模型的缺点是缺乏灵活性,特别是无法解决软件需求不明 确或不准确的问题 A、瀑布模型 B、原型模型 C、增量模型 D、螺旋模型 3、下面哪个不是 UML 中的静态视图(A) A.状态图 B.用例图 C.对象图 D.类图 4、(A)技术是将一个活动图中的活动状态进行分组,每一组表示 一个特定的类、人或部门,他们负责完成组内的活动。 A、泳道 B、分叉汇合 C、分支 D、转移 5、下列关于状态图的说法中,正确的是( C ) A. 状态图是 UML 中对系统的静态方面进行建模的五种图之一。 B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态
8、在进行需求分析时,系统分析员必须从 功能性需求、非功能性需
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

UML 与设计模式复习题题型:单项选择题、多项选择题、简答题、设计题1、简述GRASP 模式的内容。

答:GRASP 是General Responsibility Assignment Software Pattern(通用责任分配软件模式)的缩写。

GRASP 模式可以用来设计类,这个模式包括9个基本原则:创建者、信息专家、低耦合、控制器、高内聚、多态性、纯虚构、间接性、防止变异。

2、掌握如何阅读、绘制活动图的基本方法。

答:1.阅读活动图:活动图的主要元素•初始节点和活动终点:用一个实心圆表示初始节点,用一个圆圈内加一个实心圆来表示活动终点•活动节点:是活动图中最主要的元素之一,它用来表示一个活动•转换:当一个活动结束时,控制流就会马上传递给下一个活动节点,在活动图中称之为“转换”,用一条带箭头的直线来表示活动图的主要元素•分支与监护条件:分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。

而每个离开转换上都会有一个监护条件,用来表示满足什么条件的时候执行该转换。

2.绘制活动图•绘制时首先决定是否采用泳道:主要根据活动图中是否要体现出活动的不同实施者•然后尽量使用分支、分岔和汇合等基本的建模元素来描述活动控制流程•如果需要,加入对象流以及对象的状态变化,利用一些高级的建模元素(如辅助活动图、汇合描述、发送信号与接收信号、引脚、扩展区)来表示更多的信息•活动图的建模关键是表示出控制流,其它的建模元素都是围绕这一宗旨所进行的补充工作流程,控制流程,业务流程中使用。

3、掌握如何阅读顺序图,如图所示,类Reservation,Window必须实现哪些方法? : Participant答:Window类必须实现enterCreditCardDetails()方法和confirm()方法,在Window类中有调用payment和save()方法的语句,能够接收acknowledge的参数。

Reservation必须实现reserve()方法和commot()方法。

4.掌握用例图、类图、配置图、包图、顺序图、活动图、状态图等各类图的基本表示符号和构成元素。

答:见书本或老师给的复习PPT。

5.掌握类图中,有哪些类型的关系,简述各种关系所表达的主要内容。

答:1、关联双向关联:指双方都知道对方的存在,都可以调用对方的公共属性和方法。

单向关联:表示相识关系,指类A知道类B,类A可以调用类B的公共属性和方法。

没有生命期的依赖。

一般是表示为一种引用。

自身关联(反身关联):自己引用自己,带着一个自己的引用。

2、聚合/组合当类之间有整体-部分关系的时候,我们就可以使用组合或者聚合。

聚合:表示A聚合B,但是B可以离开A而独立存在(独立存在的意思是在某个应用的问题域中这个类的存在有意义)。

组合(也有人称为包容):表示的是B被A包容,而且B不能离开A而独立存在。

但这是视问题域而定的,例如在关心汽车的领域里,轮胎是一定要组合在汽车类中的,因为它离开了汽车就没有意义了。

但是在卖轮胎的店铺业务里,就算轮胎离开了汽车,它也是有意义的,这就可以用聚合了。

在《敏捷开发》中还说到,A组合B,则A需要知道B的生存周期,即可能A负责生成或者释放B,或者A通过某种途径知道B的生成和释放。

3、依赖指类B可能要用到类A的一些方法,也可以这样说,要完成类B里的所有功能,一定要有类A的方法协助才行。

类B依赖于类A的定义,一般是在类B类的头文件中包含了类A的头文件。

注意,要避免双向依赖。

一般来说,不应该存在双向依赖。

4、泛化(继承)泛化关系:如果两个类存在泛化的关系时就使用,例如父和子,动物和老虎,植物和花等。

依赖和聚合\组合、关联等有什么不同?依赖是一种弱关联,只要一个类用到另一个类,但是和另一个类的关系不是太明显的时候(可以说是“uses”了那个类),就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系,而不是必然的关系,就是“我在某个方法中偶然用到了它,但在现实中我和它并没多大关系”。

例如我和锤子,我和锤子本来是没关系的,但在有一次要钉钉子的时候,我用到了它,这就是一种依赖,依赖锤子完成钉钉子这件事情。

这里还要说明一下,所谓的这些关系只是在某个问题域才有效,离开了这个问题域,可能这些关系就不成立了,例如可能在某个问题域中,我是一个木匠,需要拿着锤子去干活,可能整个问题的描述就是我拿着锤子怎么钉桌子,钉椅子,钉柜子;既然整个问题就是描述这个,我和锤子就不仅是偶然的依赖关系了,我和锤子的关系变得非常的紧密,可能就上升为组合关系。

这个例子可能有点荒谬,但也是为了说明一个道理,就是关系和类一样,它们都是在一个问题领域中才成立的,离开了这个问题域,他们可能就不复存在了。

6、统一过程中有哪四个阶段,各阶段需要完成的主要工作有哪些?答:1)初始阶段:编制简要的愿景文档、业务案例、确定范围、粗略评估成本。

2)细化阶段:细化愿景文档、迭代地实现核心构架、解决高风险的问题、定义大多数的需求和范围、进一步评估成本。

3)构造阶段:迭代地实现系统的其余部分、准备部署。

4)提交阶段:beta测试、部署。

7.为什么采用迭代和增量的开发方法?答:在增量开发中,需求文档中指定的系统按功能划分为子系统。

定义发布时首先定义一个小的功能子系统,然后在每一个新的发布中增加新功能。

而迭代开发是在一开始就提交一个完整的系统,然后在每一个新的发布中改变每个子系统的功能。

(1)可以更早的发现问题(2)可以及早为那些以前从未提供的功能开拓市场。

(3)当运行系统出现未预料到的问题时,经常性的发布可以使开发人员能全面、快速地修复这些问题。

(4)针对不同的发布版本,开发团队将重点放在不同的专业领域技术上。

8.统一软件建模过程的五个核心工作流是什么?答:1捕获需求。

需求捕获阶段的主要工作是建立并通过多次迭代来完善待开发系统的用例模型。

进行初步的用户界面设计。

主要考虑谁是用户以及可以通过用例来完成什么业务或任务。

2分析。

对需求捕获阶段所描述的用例模型进行精细化和组织,解决多个用例共享资源时的并发与冲突的细节,多个用例间的冗余,在捕获需求阶段得到的用例是采用面向用户的语言表达的,在分析阶段要采用面向开发人员的语言进行描述。

3设计。

构造系统,联系具体的编程语言,确定的构件类,具体的操作系统,还结合分布与并行技术,数据库技术,用户界面技术,事务管理技术等相关问题,将系统划分成子系统、接口和类,并设计类中方法的实现算法,接口的具体规范。

4实现。

在实现阶段,将基于设计的结果,探讨如何用源代码,脚本,二进制代码,可执行体等构件来实现系统。

对构件进行单元测试,通过编译和连接把它们集成为一个或多个可执行程序,之后再进行集成和测试5测试。

就是执行各种测试并系统地处理每个测试的结果,发现有缺陷的构造要重新测试,甚至可能要送回给其它核心工作流(如设计和实现),这样才能修复严重的缺陷9、画出一个状态图,模拟电梯的状态及状态间的转移过程。

10.图形编辑器一般都具有一些基本图形,如直线、矩形等,用户可以直接使用基本图形画图,也可以把基本图形组合在一起创建复杂图形。

(1)请绘制出相应的类图(2)请描述类图中每个类的功能及类与类之间的关系Graphics:基本图形和组合图形的父类,声明了所有图形共同的操作,如Draw;也声明了专用于组合图形管理子图形的操作,如Add、Remove。

Line、Rectangle:基本图形类。

GroupGraphics:组合图形类,与父类有组合关系,从而可以组合所有图形对象(基本图形和组合图形)。

11.用户打印文件,计算机向打印机服务器发送打印命令,打印机如果空闲,则直接打印,否则把打印文件存储在打印队列中。

请分析出相关的对象,画出时序图和通信图。

13、设计一个自动取款机ATM系统(1)、获取领域知识;分析用户的基本需求,建立Use Case模型及用例模板描述。

(2)、定义类;建立系统的静态模型(类图);(3)、描述系统的动态行为(状态图、合作图、时序图、活动图任选一个);答:1、用例图图1自动取款机(ATM)系统用例图从上面的图1知,ATM系统的参与者是储蓄客户和ATM机,从图1知ATM机的功能有存款、取款和其他服务,相应的,储蓄客户可以在ATM机上完成上述业务。

2、类图显示系统的静态结构。

逻辑类、实现类,实现类就是程序员处理的实体。

类在类图上使用包含三个部分的矩形来描述,如图2所示。

最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的操作(或者说"方法")。

本例中许多单个的帐户组成了帐户库,帐户具有帐户类型、帐户号、余额三个属性。

许多银行储户组成了储户库。

ATM系统包含了许多ATM机。

银行储户及ATM机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。

通过类图不仅可以使设计者明确的表达自己的设计意图,也能帮助自己整理思路,充实及优化自己的设计。

图2银行系统类图3、比如可以采用状态图描述系统的动态行为。

图3描述了顾客在ATM机上进行操作会经历的几种状态,及各种状态之间转换的条件。

因为是简化了的例子,所以除了等待顾客插入磁卡的起始状态和结束服务的终止状态,顾客会处于输入密码、选择服务类型、存款及取款四种状态。

相关文档
最新文档