1、1UML练习题练习题用例图用例图练习题:练习题:l试画出学院班级管理系统的用例图。试画出学院班级管理系统的用例图。 用例有:登录;找回密码;查看、修改、删除、录入班级基本用例有:登录;找回密码;查看、修改、删除、录入班级基本信息,参与者有管理员与系院领导。信息,参与者有管理员与系院领导。l试画出学生成绩管理的用例图。试画出学生成绩管理的用例图。 用例有:登录;找回密码;录入、修改、保存、查询、删除成用例有:登录;找回密码;录入、修改、保存、查询、删除成绩,参与者有教师与学生。绩,参与者有教师与学生。l试画出网上选课系统的用例图。试画出网上选课系统的用例图。 用例有:登录;找回密码;查询课程信息
2、;按课程编号查询;用例有:登录;找回密码;查询课程信息;按课程编号查询;按课程名查询;选择课程;删除已选课程;维护课程信息;参与按课程名查询;选择课程;删除已选课程;维护课程信息;参与者有系统管理员与学生。者有系统管理员与学生。l试画出帐号管理系统的用例图。试画出帐号管理系统的用例图。 用例有:创建新账户;设置账户;设置账户基本信息;设置账用例有:创建新账户;设置账户;设置账户基本信息;设置账户权限;删除帐户;查询账户。参与者有系统管理员。户权限;删除帐户;查询账户。参与者有系统管理员。l一台自动饮料售货机共有一台自动饮料售货机共有6种不同饮料,售货机上有种不同饮料,售货机上有6个个按钮,分按
3、钮,分别对应别对应6种饮料,顾客可以通过按钮来选择所要的饮料。每个按种饮料,顾客可以通过按钮来选择所要的饮料。每个按钮旁有一个指示灯,用来表示该售货机中是否还有这种饮料可售。钮旁有一个指示灯,用来表示该售货机中是否还有这种饮料可售。售货机有一个硬币槽的找零槽,用来收钱和找钱,假设一位顾客售货机有一个硬币槽的找零槽,用来收钱和找钱,假设一位顾客购买矿泉水,不用找零,请给出描述上述场景的用例图。购买矿泉水,不用找零,请给出描述上述场景的用例图。例例1:学院班级管理系统的用例图:学院班级管理系统的用例图系统管理员登录录入班级基本信息查询班级基本信息删除班级基本信息修改班级基本信息找回密码系院领导用例
4、有:登录;找回密码;查看、修改、删除、录入班级基本信息,用例有:登录;找回密码;查看、修改、删除、录入班级基本信息,参与者有管理员与系院领导。参与者有管理员与系院领导。例例2:学生成绩管理的用例图:学生成绩管理的用例图教师录入成绩登录修改成绩查询成绩删除成绩保存成绩学生找回密码用例有:登录;找回密码;录入、修改、保存、查询、删除成绩,用例有:登录;找回密码;录入、修改、保存、查询、删除成绩,参与者有教师与学生。参与者有教师与学生。例例3:网上选课系统的用例图的用例图:网上选课系统的用例图的用例图学生查询课程信息维护课程信息选择课程删除已选课程登录按课程编号查询按课程名查询找回密码系统管理员用例
5、有:登录;找回密码;查询课程信息;按课程编号查询;用例有:登录;找回密码;查询课程信息;按课程编号查询;按课程名查询;选择课程;删除已选课程;维护课程信息;按课程名查询;选择课程;删除已选课程;维护课程信息;参与者有系统管理员与学生。参与者有系统管理员与学生。例例4:帐号管理系统的用例图:帐号管理系统的用例图系统管理员创建新帐号设置帐号权限设置帐号查询帐号删除帐号设置帐号基本信息用例有:创建新账户;设置账户;设置账户基本信息;用例有:创建新账户;设置账户;设置账户基本信息;设置账户权限;删除帐户;查询账户。参与者有系统管理员。设置账户权限;删除帐户;查询账户。参与者有系统管理员。例例5:饮料自
6、动售货机顾客购买矿泉水的用例图:饮料自动售货机顾客购买矿泉水的用例图自动售货机选择饮料付 款找 钱提供饮料显示是否有饮料收 钱顾 客一台自动饮料售货机共有一台自动饮料售货机共有6种不同饮料,售货机上有种不同饮料,售货机上有6个按钮,分别对应个按钮,分别对应6种饮料,种饮料,顾客可以通过按钮来选择所要的饮料。每个按钮旁有一个指示灯,用来表示该顾客可以通过按钮来选择所要的饮料。每个按钮旁有一个指示灯,用来表示该售货机中是否还有这种饮料可售。售货机有一个硬币槽的找零槽,用来收钱和售货机中是否还有这种饮料可售。售货机有一个硬币槽的找零槽,用来收钱和找钱,假设一位顾客购买矿泉水,请给出描述上述场景的用例
7、图。找钱,假设一位顾客购买矿泉水,请给出描述上述场景的用例图。类图类图例例1: (1)类Student和类Course之间是什么关系?并用文字性语言描述该类图表达意思。 答:关联关系。 该图描述的是:学生和课程之间的选择关系,一个学生可以选择多门课程,一门课程可以被多个学生所选择。(2)写出Student类生成的java代码public class Student private String name; private Course selecters; public void Student() public void test()例例2:某高校中有以下事物:学校、教师、教室、教材、:某高
8、校中有以下事物:学校、教师、教室、教材、课程、课桌、学生、班级、学院、讲台、机房、计算机、课程、课桌、学生、班级、学院、讲台、机房、计算机、交换机、社团,试绘制反映这些事物联系的类图。交换机、社团,试绘制反映这些事物联系的类图。例例3:创建一个类图。下面给出创建类图所需的信息。p学生(student)可以是在校生(undergraduate)或者毕业生(graduate)。p在校生可以是助教(tutor)。p一名助教指导一名学生。p教师和教授属于不同级别的教员。p一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助理,一名教授可以有5名教师助理。p教师助理是毕业生。创建类图的步骤如
9、下:(1)将学生可以是在校生或者毕业生建模为3个类:Student、UnderGraduate和Graduate,其中,后两个类是Student类的子类。(2)为“在校生可以是助教的一种”建立模型,即建立UnderGraduate类的另一个超类Tutor。(3)通过创建从Tutor到Student的关联(名为tutors),建立一名助教指导一名学生的模型。(4)将“教师和教授属于不同级别的教员”建模为3个类:Instructor、Teacher和Professor,其中,后两个类是Instructor类的子类。(5)建立“一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助理,一名
10、教授可以有5名教师助理”的模型。创建TeacherAssistant类,并使其与Teacher类和Professor类都建立关联。(6)将TeacherAssistant类建模为Graduate类的派生类。例例4: 宾馆客房业务管理提供客房预订、预订变更、客房入住、退房结帐、旅客信息查询几个方面的功能。订房人可以通过电话、短信、网络或面对面等方式预定客房。允许预定人根据自己情况的变化更改预定信息。旅客入住客房前需要出示证件并登记,并要预交一定的押金。旅客提交押金后,柜台工作人员将在电脑上登记旅客信息,分配房间,并打印旅客入住单,旅客持入住单到指定客房入住。旅客离开宾馆前需要退房结账。旅客或宾馆
11、管理人员可以随时查询旅客或客房的入住信息。分析这个问题,提取涉及的类,并画出类图。顺序图顺序图1 指出左图中的参与者?指出左图中的参与者?A B C D2 哪些是对象?哪些是对象?A B C D3 Server类调用了类调用了CreditService类中的类中的什么操作?什么操作?A B C D1. A 2. B 3. B 打电话挂断电话忙音挂断电话交谈提示接通音按小王的电话号码提示正常音拿起电话小张电话小王挂断电话忙音挂断电话交谈提示接通音按小王的电话号码提示正常音拿起电话例:打电话例:打电话顺序图顺序图ATM登录返回验证结果返回验证结果验证验证密码提示输入密码输入密码插卡ATMATM用户
12、BankPassword Wrongloop返回验证结果返回验证结果验证验证密码提示输入密码输入密码插卡状态图状态图 例:一个简单的下棋游戏,游戏双方称为黑方和白方。白方首先走第一步,然后黑白双方轮流走棋。如果有一方不能继续走棋,则另一方获得胜利,游戏结束;如果比方同意平局,则游戏结束。请画出该问题的状态图。l 分析下面的状态图,回答问题分析下面的状态图,回答问题下降状态在第一层上升状态向第一层下降空闲状态上升到达到达上升超时下降到达第一层(1) 以下那些图形元素是对状态的描述?(a) 超时 (b) 到达 (c) 在第一层(2) 空闲状态 超时后转移到_状态(a) 向第一层下降 (b) 上升状
13、态 (c) 终态答案(1)(c)(2)(a) 例:某信用卡系统账户具有例:某信用卡系统账户具有使用状态使用状态和和冻结状态冻结状态,其中使用,其中使用状态又包括状态又包括正常状态正常状态和和透支状态透支状态两种子状态。如果账户余额两种子状态。如果账户余额小于零则进入透支状态,透支状态时既可以存款又可以取款,小于零则进入透支状态,透支状态时既可以存款又可以取款,但是透支金额不能超过但是透支金额不能超过5000元;如果余额大于零则进入正元;如果余额大于零则进入正常状态,正常状态时既可以存款又可以取款;如果连续透支常状态,正常状态时既可以存款又可以取款;如果连续透支100天,则进入冻结状态,冻结状态
14、下既不能存款又不能取天,则进入冻结状态,冻结状态下既不能存款又不能取款,必须要求银行工作人员解冻。用户可以在使用状态或冻款,必须要求银行工作人员解冻。用户可以在使用状态或冻结状态下请求注销账户。根据上述要求,绘制账户类的状态结状态下请求注销账户。根据上述要求,绘制账户类的状态图。图。注销/ destroy冻结 余额100/ freeze注销/ destroy解冻/ unfreeze开户/ new冻结状态do / unfreezeexit / destroy使用状态取款 余额=-5000/ withdraw存款 余额0/ deposit取款 余额=0/ deposit存款/ deposit取款
15、余额=0/ withdraw正常状态do / depositdo / withdrawexit / destroy透支状态do / depositdo / withdrawdo / freezeexit / destroy活动图活动图例:例:否是是否管理员登录处理借书图书是否可借处理还书是否过期更新借书人信息收取罚金加水到容器中将咖啡放到过滤器中点燃咖啡炉取出咖啡杯把过滤器放到咖啡炉上冲调咖啡倒咖啡找饮料取一听可口可乐喝饮料人找到可口可乐没有可口可乐没有咖啡找到咖啡熄灭咖啡炉构件图构件图补充:构件图中的关系及解释补充:构件图中的关系及解释关系关系名称名称含义含义图例图例构件向外提供的服务。构件
16、向外提供的服务。构件依赖外部提供的服务构件依赖外部提供的服务(由构由构件到接口件到接口)。实例实例1.图中的构件名称是图中的构件名称是Dictionary字典。字典。该构件向外提供两个接口,即两个服务该构件向外提供两个接口,即两个服务Spell-check拼写检查、拼写检查、Synonyms同义词。同义词。图中图中“Planner计划者计划者”构件构件向外提供一个向外提供一个“update更新更新”接口服务。接口服务。同时,该构件要求外部接口提同时,该构件要求外部接口提供一个供一个“Reservations预定预定”服务。服务。实例实例2.1. 构件图用于那种建模阶段?构件图用于那种建模阶段?
17、 A.动态建模动态建模B.静态建模静态建模2. 一个构件只能对特定的另一个构件提供特定的一种服务。这种说法正一个构件只能对特定的另一个构件提供特定的一种服务。这种说法正确吗?确吗?A.正确正确B.错误错误3. 构件图用于描述系统中各物理部件之间的服务的依赖提供关系。这种构件图用于描述系统中各物理部件之间的服务的依赖提供关系。这种说法正确吗?说法正确吗? A.正确正确B.错误错误4. 构件图中实线箭头表示服务的依赖,虚线箭头表示服务的提供。这种构件图中实线箭头表示服务的依赖,虚线箭头表示服务的提供。这种说法正确吗?说法正确吗? A.正确正确B.错误错误 答案:答案:1.B 2.B 3.A 4.B 习题习题