UML_用例图练习题及参考答案)PPT教学课件
- 格式:ppt
- 大小:107.50 KB
- 文档页数:7
1. 找出actor和外部系统,确定系统边界.参与者:呼叫者、邮箱用户2. 主要功能分析(参与者期望的系统行为等)(1). 呼叫者保留信息(留言).(2). 邮箱用户管理信息: 收听/存储/删除.(3). 邮箱用户更改问候语.(4). 邮箱用户更改密码.3. 初步找到的用例呼叫者:保留信息邮箱主人:接收信息、更改问候语、更改密码4. 进一步寻找用例邮箱主人:登录邮箱呼叫者、邮箱主人:拨打邮箱号码5. 分析用例之间的关系本例较为简单,只使用“包含关系”即可.6. 绘制初步用例图7. 编写每一个用例的脚本8. 区分脚本中的主事流或异常情况事件流9. 细化用例图,完成用例模型(略)用例1: 拨打邮箱号1. 呼叫者拨打语音邮件系统的主号码.2. 语音邮件系统发出提示音:输入邮箱号码并加#号.3. 呼叫者输入接收者的邮箱号.4. 语音邮件系统发出问候语:已进入XX的邮箱,请留言. 用例2: 保留信息1. 呼叫者完成邮箱号输入操作.2. 呼叫者说出信息.3. 呼叫者挂断电话.4. 语音邮件系统将记录的信息存放在接收者的邮箱中. 用例3: 登录系统1. 邮箱用户完成邮箱号输入操作.2. 邮箱用户键入密码并后跟#键.(默认号码与邮箱号相同)3. 语音邮件系统播放邮箱菜单:按1键接收信息.按2键更改密码.按3键更改问候语.用例4: 接收信息1. 邮箱用户完成登录操作.2. 邮箱用户选择“接收信息”菜单选项.3. 语音邮件系统播放信息菜单:按1收听当前信息; 按2存储当前信息; 按3删除当前信息;按4返回邮箱菜单.4. 邮箱用户选择“收听当前信息”菜单选项.5. 语音邮件系统播放当前新信息,若无新信息,播放当前已有信息.(注意: 只播放,不删除)6. 语音邮件系统播放信息菜单.7. 用户选择”删除当前信息”,则信息被永久删除.8. 继续执行第3步.用例4变体#1: 存储一条信息1.1 以第6步作为开始.1.2 用户选择“存储当前信息”.1.3 当前信息从新信息队列中删除并添加到旧信息队列中.1.4 继承执行第3步.用例5: 更改问候语1. 邮箱用户完成登录操作.2. 邮箱用户选择“更改问候语”菜单选项.3. 邮箱用户说出新的问候语.4. 邮箱用户按下#键.5. 邮件系统设置新的问候语.用例5变体#1: 在确认前挂断电话1.1 以第3步作为开始.1.2 邮件用户挂断电话.1.3 邮件系统保留旧的问候语.用例6: 更改密码1. 邮箱用户完成登录操作.2. 邮箱用户选择“更改密码”菜单选项.3. 邮箱用户输入新的密码.4. 邮箱用户按下#键.5. 邮件系统设置新的密码.用例6变体#1: 在确认前挂断电话1.1 以第3步作为开始.1.2 邮件用户挂断电话.1.3 邮件系统保留旧的密码.。
UML试题(内含答案)【用例图】1.用例图的节点包括(ABD)A、用例B、边界C、关联D、执行者2.用例之间的关系主要有(BCD)A、聚合B、继承C、扩展D、包含3.在采用用例模型捕获需求时,需要执行如下(ABCD)操作A、描述非功能需求B、用例建模C、识别用例D、识别参与者4.在识别用例时,以下(ABC)问题可以帮助识别用例A、当系统状态发生故障时,是否需要通知参与者B、系统是否存在外部事件,如果存在,是哪个能参与者通知系统这些个部事件C、参与者希望系统为他提供什么样的功能D、系统运行环境是什么5.在用例图中,可以用(D)来表示整个软件系统或其中一些子系统的边界,也可以用它表示软件系统的不同发布版本的功能范围A、执行者B、关联关系C、用例D、边界框6.(B)作为完成用例任务的责任承担者,协调、控制其他类共同完成用例规定的功能或行为A、数据对象B、控制类C、实体类D、边界类7.基于用例图的需求捕获的第一步就是确定系统的参与者,在寻找系统参与者时,可以根据以下(ABCD)等问题来确定A、系统同环境如何进行交互B、由谁安装系统C、系统为哪些对象提供信息、服务D、系统的使用者是谁8.如果用例B是用例A的某项子功能,并且建模者确切地知道在A所对应的动作序列中何时将调用B,则称(A)A、用例A扩展用例BB、用例A继承用例BC、用例A包括用例BD、用例A实现用例B9.如果用例A与用例B相似,但A的动作序列是通过改写B的部分或者扩展B的动作而获得的,则称(B)A、用例A实现用例BB、用例A继承用例BC、用例A扩展用例BD、用例A包括用例B10.如果用例A与用例B相似,但A的功能较B多,A的动作序列是通过在B的动作序列中的某些执行点上插入附加的动作序列而构成的,则称(C)A、用例A扩展用例BB、用例A包含用例BC、用例A继承用例BD、用例A实现用例B11.在UML中,(A)表示使用软件系统的功能,与软件系统交换信息的外部实体A、执行者B、类C、用例D、用例图12.在用例图中,执行者之间的关系只有(B)一种A、包含B、继承C、扩展D、实现【静态图】1.对于类,其属性的可见性表示对类的外部世界的可见性,它有以下(ABCD)选项A、公开(public)B、包内公开(package)C、保护(protected)D、私有(private)2.在UML中,以下(ABCD)是可以应用于包的构造型A、框架{《Framework》}B、虚包{《Facade》}C、子系统{《Subytem》}D、系统{《ytem》}3.两个类之间的关联表示他们之间存在一种不适于继承的逻辑关系。
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、给出下面带关联类类图的另一种普通类图表示。
判断题1、UML中一共有九种图:它们是用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、部署图(√)2、用例图是从程序员角度来描述系统的功能(×)3、类图是描述系统中类的静态结构,对象图是描述系统中类的动态结构(×)4、活动图和状态图用来描述系统的动态行为(√)5、协作图的一个用途是表示一个类操作的实现(√)选择题6、请在下面选项目中选出两种可以互相转换的图(ab)(a) 顺序图 (b)协作图 (c) 活动图 (d) 状态图7、下面哪些图可用于BD阶段(acd)(a)用例图 (b)构件图 (c)类图 (d)顺序图8、右图中的参与者有?(ad)(a) 1 (b) 2 (c) 3 (d) 49、右图中的用例有?(bc)(a) 1 (b) 2 (c) 3 (d) 410、2和3之间是什么关系?5和6呢?(b)(a) 扩展,包含(b) 包含,扩展11、5缺少了3仍然是个完整的用例?(b)(a) 是的(b) 不是12、4能够参与2吗?1能够参与5吗?(b)(a) 可以,不可以 (b) 不可以,可以3.6 习题右图描述了菜单(Menu)、菜单项(MenuItem)、抽象命令类(Command)和具体命令类(OpenCommand,PasteCommand)之间的关系,完成1-4题(1)哪两个类之间存在组合关系①Menu、MenuItem②MenuItem、Command①Command、OpenCommand②Command、PasteCommand(2)OpenCommand和PasteCommand是什么关系①组合②泛化③聚合④没关系(3)编辑菜单(EditMenu)是一种菜单,下面哪个图较好的描述了二者之间的关系(4)下面哪份代码(C++)最接近于图中对MenuItem的描述①class MenuItem{private:virtual void Click() =0;public:Command* command;};②class MenuItem{public:virtual void Click() = 0;private:Command* command;};③class MenuItem{private:virtual void Click() = 0;void undo();public:Command* command;};④class menuitem{public:virtual void Click() = 0;private:Command* command;};右图描述了图形接口(Graphics)、线段(Segment)、矩形(Rectangle)、点(Point)和三维点(Point3D)之间的关系,完成5-7题(5)下面哪个关系没有在图中出现①关联②泛化③实现④依赖(6)下面对图中①②③④四处的多重性的描述哪个不正确①0...* ②1 ③0...* ④1(7)下面哪份代码(Java)最接近于图中对Segment的描述①public class Segment implements Graphics{privatc void Draw();public Point ptStart;public Point ptEnd;}②public class Segment extends Graphics{public void Draw();private Point ptStart;private Point ptEnd;}③public class Segment implements Graphics{private Point ptStart;private Point ptEnd;public void Draw();}④public class segment implements graphics{public void Draw();private Point ptStart;private Point ptEnd;}习题4.51 指出左图中的参与者?(A)A①B②C③D④2 哪些是对象?(B)A①B②③④ C ④D⑤⑥⑦⑧⑨⑩3 Server类调用了CreditService类中的什么操作?(B)A⑦B⑧ C ⑦⑧D⑧⑨练习5.71.请指出下面的消息标签各部分的内容。
某大学教务管理系统UML模型随着高校校园网的建设和Internet技术的引进,基于校园网和Internet的应用系统的开发正在蓬勃发展。
教务管理师高校教学管理的一向重要工作,现代化的高校教务管理需要现代化的信息管理系统支持。
新世纪背景下,高校教育体制进行了大规模的改革,招生人数逐年增加,教学计划不断更新。
在高校日常管理中,教务管理无疑是核心工作,重中之重。
其管理模式的科学化与规范化,管理手段的信息化与自动化对于学校的总体发展产生深远的影响,由于管理内容过多,繁琐,处理的过程也非常复杂,并且随着学校人员的增加,教务管理系统的信息量大幅上升,因此往往很难及时准确地掌握教务信息的运作状态这使得高校教务管理的工作量大幅度增加,另外,随着教育改革的不断深化,教学管理模式也在发生变化,例如实施学分制、学生自主选课等。
这一切都有赖于计算机网络技术和数据库技术的支持,在这样的形势下建立和完善一个集成化的教务管理系统势在必行。
目前,国内高校都开发了自己基于校园网的教务管理系统。
由于其教务管理模式不尽相同,不同学校的实际教务管理情况各有自己的特点,因而各高校需要针对自己的教务管理模式和特点建立自己的教务管理系统。
本设计是基于某高校的教务管理模式开发的基于校园网的教务管理系统。
这样一个系统不仅可以降低工作量、提高办公效率,而且使分散的教务信息得到集中处理,对减轻教务工作负担、提高教务管理水平、实现教务管理的现代化具有重要意义。
1.建立系统用例模型1.1确定系统模型的参与者仔细分析教务管理系统问题描述。
在UML中,角色代表位于系统之外和系统进行交互的一类对象,本系统中创建主要的角色有以下三类:(1)教务员:教务员在教学管理系统中对全体学生进行用户登录、学籍管理、选课管理、教学管理和成绩管理,并且对教师进行登录管理、教学管理和成绩管理。
教务处工作人员处理日常的系统维护,例如维护和及时更新学生,教师信息以及安排选课等。
(2)教师:教师根据教务系统的选课安排进行教学,将学生的考试成绩录入此系统。
ATM建模1、浏览器和框图窗口之间有关系吗?如果有,是怎么样的关系?答:有。
我们可以用浏览器打开一个或几个UML框图。
改变框图中的元素时,Rose自动更新浏览器。
同样用浏览器改变元素时,Rose自动更新相应框图。
这样,Rose就可以保证模型的一致性。
2、用例图中的参与者和用例分别表示什么?答:从用例图中我们可以看到系统干什么,与谁交互。
用例是系统提供的功能(系统“干什么”),参与者是系统与谁交互,参与者可以是人、系统或其他实体。
3、ATM用例图中的箭头从参与者指向用例表示什么?从用例指向参与者又表示什么?答:箭头从参与者到用例表示由参与者启动用例。
箭头从用例到参与者表示用例产生一些参与者要使用的信息。
4、RUP有哪五个工作流程?我们在RUP的哪个工作流程中画用例图?答:RUP(统一软件开发过程)的五个核心工作流程包括:需求捕获、分析、设计、实现和测试。
在需求捕获时画用例图。
5、活动图中的泳道表示什么意思?答:泳道是活动图里的竖段,包含特定人员或组织要进行的所有活动。
可以把活动图分为多个泳道,每个泳道对应每个人员或组织,他们各自的活动都放在各自的泳道中。
6、活动图中的同步棒表示什么意思?答:表示并发控制流的分叉和汇合。
结合图中具体来说,同一段时间内这几个活动同时发生/这几个活动都结束之后才进入下个决策点的判断中。
7、活动图中的初始状态和终止状态分别用什么表示?数目上有什么限制?答:实心圆和牛眼。
初始状态必须有,而且只能有1个。
终止状态可以是0,1或多个。
8、活动图中决策点之后的[ ]里的内容是什么,有什么要求?答:保证条件,用来控制在决策之后采取什么路径。
保证条件应该是互斥的。
9、类由哪几部分组成,分别表示什么意思?答:类图中每个类都是用方框表示的,分成三个部分。
第一部分是类名;第二部分是类包含的属性,属性是类和相关的一些信息;最后一部分包含类的方法,方法是类提供的一些功能。
10、类的属性和方法左边有一些修饰,分别表示什么意思?答:若是一个小锁图标,表示这个属性和方法是private的(UML中用’-’表示),该属性和方法只在本类中可访问。