第16章 UML建模文档格式.docx
- 文档编号:22920761
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:58
- 大小:768.37KB
第16章 UML建模文档格式.docx
《第16章 UML建模文档格式.docx》由会员分享,可在线阅读,更多相关《第16章 UML建模文档格式.docx(58页珍藏版)》请在冰豆网上搜索。
【问题2】
(4分)
根据说明中的描述,给出图3-1中类C6~C9的属性。
【问题3】
(2分)
图3-1中包含了哪种设计模式?
实现的是该系统的哪个功能?
试题分析
此题,应当属于最简单的类图题了。
只是出题者,有一个小小的疏忽,少了个类名。
问题1分析:
问题1找类名:
直接从类图看,C2有三个子类,而C6也同样有三个子类。
这个明显的破展,为我们解题提供了捷径。
阅读题干找出有三个从属关系的事物来:
系统的用户(User)仅限于该大学的学生(Student)、教师(Faculty)和其他工作人员(Staff);
查询某位作者(Author)的所有出版物。
系统中保存了会议文章(ConfPaper)、期刊文章(JournalArticle)和校内技术报告(TechReport)等学术出版物的信息。
这个关系找到了,然后结合类图,来看。
用户(User),出版物(Publication)要判别出是C2和C6。
其它后面的空就容易了。
C2和Author(作者)有共同的父类。
说明只有用户(User)可以与其在同一个级别上。
而Author(作者)和C6之间有一个writtenby1对多的关系,说明C6就是出版物(Publication),因为作者可以有多个出版物。
所以可以确定C2为User,C6为Publication。
然后要填写C3,C4,C5就是学生(Student)、教师(Faculty)和其他工作人员(Staff),这个次序可以随意。
填写C7,C8,C9就是会议文章(ConfPaper)、期刊文章(JournalArticle)和校内技术报告(TechReport)这个次序也可随意。
只是这个位置的次序决定了问题2的内容排列次序。
填英文。
惟一的遗憾是从题干中找不出作者(Author)和用户(User)的父类是什么,是人(Person)?
只能让人想像了。
问题2分析:
问题2的答案,全在题干第2点的陈述中。
此处不作解析。
问题3分析:
题干第5.查询引用了某篇出版物的所有出版物。
这个说明加上类图中有一个类名为Observer。
可以断定为观察者模式,实现的功能即是第5点的陈述。
试题答案
(3)
问题1:
C1:
题干少个单词
C2:
User
C3:
Student
C4:
Faculty
C5:
Staff
C6:
Publication
C7:
ConfPaper
C8:
JournalArticle
C9:
TechReport
问题2:
题目,作者,出版年份
会议名称,召开时间,召开地点
期刊名称,出版月份,期号,主办单位
ID
问题3:
观察者模式,实现:
引用他人学术出版物发送电子邮件通知该用户。
试题2(2017年上半年试题3)
阅读下列系统设计说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
某玩具公司正在开发一套电动玩具在线销售系统,用于向注册会员提供端对端的玩具定制和销售服务。
在系统设计阶段,"
创建新订单
(NewOrder)"
的设计用例详细描述如表3-1所示,候选设计类分类如表3-2所示,并根据该用例设计出部分类图如图3-1所示。
表3-1创建新订单(NewOrder)
设计用例
用例名称
创建新订单NewOrder
用例编号
ETM-R002
参与者
会员
前提条件
会员已经注册并成功登录系统
典型事件流
1.会员(C1)点击“新的订单”按钮;
2.系统列出所有正在销售的电动玩具清单及价格(C2)
3.会员点击复选框选择所需电动玩具并输入对应数量,点击“结算”按钮;
4.系统自动计算总价(C3),显示销售清单和会员预先设置个人资料的收货地址和支付方式(C4);
5.会员点击“确认支付”按钮;
6.系统自动调用支付系统(C5)接口支付该账单;
7.若支付系统返回成功标识,系统生成完整订单信息持久存储到数据库订单表(C6)中;
8.系统将以表格形式显示完整订单信息(C7),同时自动发送完整订单信息(C8)至会员预先配置的邮箱地址(C9)。
候选事件流
3a
(1)会员点击“定制”按钮;
(2)系统以列表形式显示所有可以定制的电动玩具清单和定制属性(如尺寸、颜色等)(C10);
(3)会员点击单选按钮选择所需要定制的电动玩具并填写所需要定制的属性要求,点击“结算”按钮;
(4)回到步骤4.
7a
(1)若支付系统返回失败标识,系统显示会员当前默认支付方式(C11)让会员确认;
(2)若会员点击“修改付款”按钮,调用“修改付款”用例,可以新增并存储为默认支付方式(C12),回到步骤4;
(3)若会员点击“取消订单”,则该用例终止执行。
表3-2候选设计类分类
接口类(Interface,负责系统与用户之间的交互)
(a)
控制类(Control,负责业务逻辑的处理)
(b)
实体类(Entity,负责持久化数据的存储)
(c)
在订单处理的过程中,会员可以点击“取消订单"
取消该订单。
如果支付失败,该订单将被标记为挂起状态,可后续重新支付,如果挂起超时30分钟未支付,系统将自动取消该订单。
订单支付成功后,系统判断订单类型:
(1)对于常规订单,标记为备货状态,订单信息发送到货运部,完成打包后交付快递发货;
(2)对于定制订单,会自动进入定制状态,定制完成后交付快递发货。
会员在系统中点击”收货"
按钮变为收货状态,结束整个订单的处理流程。
根据订单处理过程所设计的状态图如图3-2所示。
图3-2订单状态图
(6分)
根据表3-1中所标记的候选设计类,请按照其类别将编号C1~C12分别填入表3-2
中的(a)、(b)和(c)处。
【问题2】(4分)
根据创建新订单的用例描述,请给出图3-1中X1~X4处对应类的名称。
【问题3】(5分)
根据订单处理过程的描述,在图3-2中S1~S5处分别填入对应的状态名称。
一、实体类
实体类是用于对必须存储的信息和相关行为建模的类。
实体对象(实体类的实例)用于保存和更新一些现象的有关信息,例如:
事件、人员或者一些现实生活中的对象。
实体类通常都是永久性的,它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。
二、边界类
边界类是系统内部与系统外部的业务主角之间进行交互建模的类。
边界类依赖于系统外部的环境,比如业务主角的操作习惯、外部的条件的限制等。
它或者是系统为业务主角操作提供的一个GUI,或者系统与其他的系统之间进行一个交互的接口,所以当外部的GUI变化时,或者是通信协议有变化时,只需要修改边界类就可以了,不用再去修改控制类和实体类。
业务主角通过它来与控制对象交互,实现用例的任务。
边界类调用用例内的控制类对象,进行相关的操作。
一个系统可能会有多种边界类:
用户界面类-帮助与系统用户进行通信的类
系统接口类-帮助与其他系统进行通信的类
设备接口类-为用来监测外部事件的设备(如传感器)提供接口的类
三、控制类
控制类用于对一个或几个用例所特有的控制行为进行建模,它描述的用例的业务逻辑的实现,控制类的设计与用例实现有着很大的关系。
在有些情况下,一个用例可能对应多个控制类对象,或在一个控制类对象中对应着对个用例。
它们之间没有固定的对应关系,而是根据具体情况进行分析判断,控制类有效将业务逻辑独立于实体数据和边界控制,专注于处理业务逻辑,控制类会将特有的操作和实体类分离,者有利于实体类的统一化和提高复用性。
当业务主角通过边界类来执行用例的时候,产生一个控制类对象,在用例被执行完后,控制类对象会被销毁。
控制类的特点:
独立于环境、和用例的实现关联、使用关联实体类或操作实体类对象、
专注于业务逻辑的实现。
当然如果用例的逻辑较为简单,可以直接利用边界类来操作实体类,而不必再使用控制类。
或者用例的逻辑较为固定,业务逻辑固定不会改变。
也可以直接在边界类实现该逻辑。
(3)问题1
(a):
C4、C5、C7、C8、C10、C11
(b):
C3
(c):
C1、C2、C6、C9、C12
问题2
X1:
收货地址
X2:
支付方式
X3:
邮箱地址
X4:
电动玩具定制属性
问题3
S1:
订单挂起
S2:
订单备货
S3:
订单定制
S4:
订单发货
S5:
订单收货
试题3(2016年下半年试题3)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
某种出售罐装饮料的自动售货机.(VendingMachine)的工作过程描述如下:
(1)顾客选择所需购买的饮料及数量。
(2)顾客从投币口向自动售货机中投入硬币(该自动售货机只接收硬币)。
硬币器收集投入的硬币并计算其对应的价值。
如果所投入的硬币足够购买所需数量的这种饮料且饮料数量足够,则推出饮料,计算找零,顾客取走饮料和找回的硬币;
如果投入的硬币不够或者所选购的饮料数量不足,则提示用户继续投入硬币或重新选择饮料及数量。
(3)一次购买结束之后,将硬币器中的硬币移走(清空硬币器),等待下一次交易。
自动售货机还设有一个退币按钮,用于退还顾客所投入的硬币。
已经成功购买饮料的钱是不会被退回的。
现采用面向对象方法分析和设计该自动售货机的软件系统,得到如图3-1所示的用例图,其中,用例“购买饮料”的用例规约描述如下。
参与者:
顾客。
主要事件流:
1.顾客选择需要购买的饮料和数量,投入硬币;
2.自动售货机检查顾客是否投入足够的硬币;
3.自动售货机检查饮料储存仓中所选购的饮料是否足够;
4.自动售货机推出饮料;
5.自动售货机返回找零。
各选事件流:
2a.若投入的硬币不足,则给出提示并退回到1;
3a.若所选购的饮料数量不足,则给出提示并退回到1。
根据用例“购买饮料”得到自动售货机的4个状态:
“空闲”状态、“准备服务”状态、“可购买”状态以及“饮料出售”状态,对应的状态图如图3-2所示。
所设计的类图如图3-3所示。
根据说明中的描述,使用说明中的术语,给出图3-2中的S1~S4所对应的状态名。
根据说明中的描述,使用说明中的术语,给出图3-2中的E1~E4所对应的事件名
(5分)
根据说明中的描述,使用说明中的术语,给出图3-3中C1~C5所对应的类名。
本题问题1系统中的状态图,是对状态转换的图形化表达。
从题目的说明部分可知,在状态转换过程中,涉及到的状态一共有四种:
空闲、准备服务、可购买、饮料出售。
从状态图涉及的转换可知S1~S4分别为:
空闲、准备服务、饮料出售、可购买。
关于状态转换的分析如下:
(1)
清空硬币器后,自动售货机等待下一次交易,进入空闲状态。
此时可任意的进行饮料选择数量,一旦顾客投入硬币,自动售货机便进入准备服务状态。
(2)
当自动售货机进行准备服务状态时,开始计算硬币价值,如果硬币不够则提示顾客继续投入硬币。
如果硬币足够,则进入可购买状态。
(3)
进行可购买状态后,自动售货机判断饮料数量。
如果数量不够,则返回准备服务状态提示用户重新选择饮料。
如果数量足够,则推出饮料进入饮料出售状态。
(4)
进行饮料出售状态后,自动售货机计算找零,并返回进入空闲状态等待下一次交易。
本题问题2主要是分析四种状态中的跳转事件。
根据状态图和试题主要事件流的描述可以推出事件E1是饮料数量不足,事件E2是硬币数量足够,事件E3是推出饮料,事件E4是返回找零。
本题问题3根据主要事件流的描述,可以推断出C1~C5的类名分别对应自动售货机、硬币器、饮料储存仓、硬币、饮料。
(3)问题1:
空闲,S2:
准备服务,S3:
饮料出售,S4:
可购买。
E1:
饮料数量不足,E2:
硬币数量足够,E3:
推出饮料,E4:
返回找零。
C1:
自动售货机,C2:
硬币器,C3:
饮料储存仓,C4:
硬币,C5:
饮料。
试题4(2016年上半年试题3)
试题三(共15分)
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某软件公司欲设计实现一个虚拟世界仿真系统。
系统中的虚拟世界用于模拟现实世界中的不同环境(由用户设置并创建),用户通过操作仿真系统中的1~2个机器人来探索虚拟世界。
机器人维护着两个变量b1和b2,用来保存从虚拟世界中读取的字符。
该系统的主要功能描述如下:
(1)机器人探索虚拟世界(RunRobots)。
用户使用编辑器(Editor)编写文件以设置想要模拟的环境,将文件导入系统(LoadFile)从而在仿真系统中建立虚拟世界(SetupWorld)。
机器人在虚拟世界中的行为也在文件中进行定义,建立机器人的探索行为程序(SetupProgram)。
机器人在虚拟世界中探索时(RunProgram),有2种运行模式:
①自动控制(Run):
事先编排好机器人的动作序列(指令(Instruction)),执行指令,使机器人可以连续动作。
若干条指令构成机器人的指令集(InstructionSet)。
②单步控制(Step):
自动控制方式的一种特殊形式,只执行指定指令中的一个动作。
(2)手动控制机器人(ManipulateRobots)。
选定1个机器人后(SelectRobot),可以采用手动方式控制它。
手动控制有4种方式:
①Move:
机器人朝着正前方移动一个交叉点。
②Left:
机器人原地沿逆时针方向旋转90度。
③Read:
机器人读取其所在位置的字符,并将这个字符的值赋给b1;
如果这个位置上没有字符,则不改变b1的当前值。
④Write:
将b1中的字符写入机器人当前所在的位置,如果这个位置上已经有字符,该字符的值将会被b1的值替代。
如果这时b1没有值,即在执行Write动作之前没有执行过任何Read动作,那么需要提示用户相应的错误信息(ShowErrors)。
手动控制与单步控制的区别在于,单步控制时执行的是指令中的动作,只有一种控制方式,即执行下个动作;
而手动控制时有4种动作。
现采用面向对象方法设计并实现该仿真系统,得到如图3-1所示的用例图和图3-2所示的初始类图。
图3-2中的类“Interpreter”和“Parser”用于解析描述虚拟世界的文件以及机器人行为文件中的指令集。
图3-1
用例图
图3-2初始类图
根据说明中的描述,给出图3-1中U1~U6所对应的用例名。
图3-1中用例U1~U6分别与哪个(哪些)用例之间有关系,是何种关系?
(5分)
根据说明中的描述,给出图3-2中C1~C5所对应的类名。
1.紧扣题意,注意U1-U6所在的位置,可以确定用例名。
2.UML中的泛化关系和扩展关系
3.C1在正中间,这是文件,C2和C5注意箭头的类型和关系的区别。
C3和C4有关系,而C4在Parser有关系得到。
U1/U2:
Run、Step
U3:
Write
U4/U5/U6:
Move、Left、Read
U1和U2和RunProgram有泛化关系
U3,U4,U5,U6和SelectRobot有扩展关系
文件
C2:
机器人在虚拟世界的行为
C3:
Instruction
C4:
InstructionSet
C5:
仿真系统
试题5(2015年下半年试题3)
某出版社拟开发一个在线销售各种学术出版物的网上商店(ACShop),其主要的功能需求描述如下:
(1)ACShop在线销售的学术出版物包括论文、学术报告或讲座资料等。
(2)ACShop的客户分为两种:
未注册客户和注册客户。
(3)未注册客户可以浏览或检索出版物,将出版物添加到购物车中。
未注册客户进行注册操作之后,成为ACShop注册客户。
(4)注册客户登录之后,可将待购买的出版物添加到购物车中,并进行结账操作。
结账操作的具体流程描述如下:
①从预先填写的地址列表中选择一个作为本次交易的收货地址。
如果没有地址信息,则可以添加新地址。
②选择付款方式。
ACShop支持信用卡付款和银行转账两种方式。
注册客户可以从预先填写的信用卡或银行账号中选择一个付款。
若没有付款方式信息,则可以添加新付款方式。
③确认提交购物车中待购买的出版物后,ACShop会自动生成与之相对应的订单。
(5)管理员负责维护在线销售的出版物目录,包括添加新出版物或者更新在售出版物信息等操作。
现采用面向对象方法分析并设计该网上商店ACShop,得到如图3-1所示的用例图和图3-2所示的类图。
根据说明中的描述,给出图3-1中
(1)~(4)所对应的用例名。
根据说明中的描述,分别说明用例“添加新地址”和“添加新付款方式”会在何种情况下由图3-1中的用例(3)和(4)扩展而来?
(7分)
根据说明中的描述,给出图3-2中
(1)~(7)所对应的类名。
本题属于软件设计师的传统考题,问题1与问题3都有成熟的解题套路,在以前考题分析中已有非常详细的介绍。
在此主要分析问题2。
问题2涉及到的是扩展关系运作机制,在扩展关系中,一个用例称为基础用例,另一个用例称为扩展用例,其中扩展用例是对基础用例的补充,扩展用例不是每次都执行,要特定条件满足才执行。
以本题中用例“添加新地址”为例,他就是一个扩展用例,什么时候他会执行呢?
就是当选择收货地址时,系统检测发现没有地址信息,此时会“添加新地址”来完成新地址的添加,然后再先择收货地址。
添加新付款方式用例情况与此类似。
(1)添加出版物到购物车
(2)结账
(3)选择收货地址
(4)选择付款方式
当选择收货地址时,没有地址信息,则使用扩展用例“添加新地址”来完成新地址的添加。
当选择付款方式时,没有付款方式信息,则使用扩展用例“添加新付款方式”来完成新付款方式的添加。
(1)出版物目录
(2)待购买的出版物
(3)学术出版物
(4)-(6)论文、学术报告、讲座资料
(7)订单
试题6(2015年上半年试题3)
某物品拍卖网站为参与者提供物品拍卖平台,组织拍卖过程,提供在线或线下交易服务。
网站主要功能描述如下:
(1)拍卖参与者分为个人参与者和团体参与者两种。
不同的团体也可以组成新的团体参与拍卖活动。
网站记录每个参与者的名称。
(2)一次拍卖中,参与者或者是买方,或者是卖方。
(3)一次拍卖只拍出来自一个卖方的一件拍卖品;
多个买方可以出价:
卖方接受其中一个出价作为成交价,拍卖过程结束。
(4)在拍卖结算阶段,买卖双方可以选择两种成交方式:
线下成交,买卖双方在事先约定好的成交地点,当面完成物价款的支付和拍卖品的交付;
在线成交,买方通过网上支付平台支付物价款,拍卖品由卖方通过快递邮寄给买方。
一次拍卖过程的基本事件流描述如下:
(1)卖方在网站上发起一次拍卖,并设置本次拍卖的起拍价。
(2)确定拍卖标的以及拍卖标的保留价(若在拍卖时间结束时,所有出价均低于拍卖标的保留价,则本次拍卖失败)。
(3)在网站上发布本次拍卖品的介绍。
(4)买方参与拍卖,给出竟拍价。
(5)卖方选择接受一个竟拍价作为成交价,结束拍卖。
(6)系统记录拍卖成交价,进入拍卖结算阶段。
(7)卖方和买方协商拍卖品成交方式,并完成成交
现采用面向对象方法对系统进行分析与设计,得到如表3-1所示的类列表以及如图3-1所示的类图,类中关键属性与方法如表3-2所示。
根据说明中的描述,给出图3-1中
(1)~(7)所对应的类名(类名使用表3-1中给出的序号)。
根据说明中的描述,确定表3-2中的属性/方法分别属于哪个类(类名、方法/属性名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第16章 UML建模 16 UML 建模