类图实例操作练习
用例图类图实例练习
操作类主要是对数据库的操作,包括有添加进货单、添加物品详细 信息两个操作。其中添加进货单可以对进货信息数据库执行添加,修 改,删除的操作,添加物品信息可以 物品信息数据库执行添加修改 删除的操作。
操作类还包含对数据的查询操作,查询进货单查询是对进货信息数 据库的查询,可以根据货单号和进货时间两个关键字进行查询;物品 信息查询是对物品信息数据库执行的查询操作,主要以物品编号和物 品名称做为关键字进行查询;归村信息查询功能是对货物在活柜上的 存放情况进行查询。
1、找出系统中的参与者和用例画出用例图
例:有一业务需求列表如下,要求我们为其构建一 个用例图。
• 系统可以供教师使用来为学生记录成绩 • 系统根据需要创建报告卡 • 系统允许用户浏览记录的成绩
通过访谈,我们就会得出一个修改过的新的系统需 求列表。
• 我们需要的系统可以供教师使用来为学生记录并更新成绩。
• 系统根据需求由管理人员创建报告卡,管理人员要检查报告 卡的准确性。
• 教师需要通过计算机分发报告卡。
• 系统允许教师和学生浏览记录的成绩。
• 参与者
• 教师、学生、管理员
• 用例
• 记录成绩 • 更新成绩 • 生成报告卡 • 检查报告卡的准确性 • 分发报告卡 • 浏览成绩
பைடு நூலகம்
创建类图
数据库类包括有进货信息数据库、物品信息数据库、柜存信 息数据库。其中进货信息数据库和物品信息数据库是人工创 建,手动输入数据,然后存入库中;柜存信息数据库是根据 接到的进货单的信息,自动生成的数据库,其中主要保存着 货物的数量,查询该数据库可以让管理员及时提醒采购员对 缺货商品进行采购。
4-2类图练习题
Student
Teacher
Professor
1 1 UnderGraduate Graduate TeacherAssistant n
1
2 创建类图 。 系统需求描述: (1)系统允许管理员通过从磁盘加载存货数据来运 行存货清单报告。 (2)管理员通过从磁盘加载存货数据、向磁盘保存 存货数据来更新存货清单。 (3)售货员做销售记录。 (4)电话操作员是处理电话订单的特殊售货员。 (5)任何类型的销售都需要更新存货清单。 (6)如果交易使用了信用卡,那么售货员需要核实 信用卡。 (7)如果交易使用了支票,那么售货员需要核实支 票。
类图练习题
1创建一个类图。下面给出创建类图所需的信息。 学生(student)可以是在校生 (undergraduate)或者毕业生(graduate)。 在校生可以是助教(tutor)。 一名助教指导一名学生。 教师和教授属于不同级别的教员。 一名教师助理可以协助一名教师和一名教授, 一名教师只能有一名教师助理,一名教授可以 有5名教师助理。 教师助理是毕业生。
credit card +Verify() 0..* n sale +Update() check +verify() 0..* n 1 n +Load() +Save() +Update()
inventory
3 图书管理系统需求如下: 添加图书 删除图书 添加标题 删除标题 添加借阅者信息 删除借阅者信息 登陆
phone order
walk-in sale
telephone operator
sales clerk
创建类图的步骤如下所示: (1)确定可以在用例图中找到的类。 (2)建模类与类之间的关系。 (3)为类图中的关联关系添加合适的角色名。 (4)为已被封装到类中的独立功能建模类。 (5)为类图中的类添加必要的特性和操作。
uml图练习题
uml图练习题UML(Unified Modeling Language)是一种广泛应用于软件开发的建模语言,它通过图形化的方式来表示软件系统的结构和行为。
在软件工程中,UML图是非常重要的工具,能够帮助开发人员更好地理解和设计软件系统。
下面将通过练习题来巩固对UML图的理解和应用,从而进一步提升软件开发的能力。
题目一:银行管理系统某银行打算开发一个全新的银行管理系统,方便用户进行存取款、转账、查询等操作。
请根据以下需求描述,使用UML图设计该银行管理系统的类图。
需求描述:1. 银行系统中有多个用户,每个用户拥有一个唯一的账户。
2. 每个账户可以进行存款、取款和转账操作。
3. 转账操作可以在不同的账户之间进行。
4. 银行系统需要记录每个用户的账户信息,包括账户号码、用户名和余额。
根据上述需求,我们可以设计如下的UML类图:[银行管理系统类图]在类图中,我们可以看到四个主要的类:用户类(User)、账户类(Account)、存款类(Deposit)和转账类(Transfer)。
它们之间的关系可以通过箭头表示,例如,用户类与账户类之间的关系是“拥有”,账户类与存款类之间的关系是“操作”,账户类与转账类之间的关系是“发起”。
题目二:订单管理系统某电商公司需要开发一个订单管理系统,用于管理用户的购买订单。
请根据以下需求描述,使用UML图设计该订单管理系统的活动图。
需求描述:1. 用户可以浏览商品列表和商品详情。
2. 用户可以将选中的商品添加到购物车。
3. 用户可以在购物车中修改商品数量或删除商品。
4. 用户可以选择结算购物车中的商品并生成订单。
5. 用户可以查看订单列表和订单详情。
根据上述需求,我们可以设计如下的UML活动图:[订单管理系统活动图]在活动图中,我们可以看到几个关键的活动:浏览商品、添加到购物车、修改购物车、生成订单和查看订单。
这些活动之间通过箭头连接,表示顺序执行的关系。
题目三:酒店管理系统某酒店需要开发一个酒店管理系统,方便管理员进行房间、客户和订单的管理。
uml练习题
uml练习题UML练习题UML(Unified Modeling Language)是一种用于软件系统设计的建模语言,它提供了一种标准化的图形化表示方法,用于描述系统的结构、行为和交互。
在软件开发过程中,UML被广泛应用于需求分析、系统设计和系统测试等阶段。
为了更好地掌握UML的使用,下面将提供一些UML练习题,帮助读者加深对UML的理解和应用。
练习一:类图设计假设你正在设计一个图书馆管理系统,需要使用UML类图来描述系统的类和它们之间的关系。
请根据以下需求,设计一个简单的类图。
1. 图书馆(Library)有一个名称(name)和一个地址(address)。
2. 图书馆有一个管理员(Librarian),每个管理员都有一个姓名(name)和一个工号(id)。
3. 图书馆中可以存放多本图书(Book),每本图书都有一个标题(title)、一个作者(author)和一个出版日期(publishDate)。
4. 图书馆的管理员可以借出图书,每次借书需要记录借书人(Borrower)的姓名(name)和借书日期(borrowDate)。
练习二:时序图设计假设你正在设计一个在线购物系统,需要使用UML时序图来描述用户下单购买商品的过程。
请根据以下需求,设计一个简单的时序图。
1. 用户(User)在网站上浏览商品,选择需要购买的商品。
2. 用户点击“下单”按钮,系统生成一个订单(Order),并显示订单详情。
3. 系统向用户展示可选择的支付方式(Payment Method)。
4. 用户选择一种支付方式,并提供相应的支付信息。
5. 系统验证支付信息,如果支付成功,则将订单状态更新为“已支付”(Paid)。
6. 系统向用户发送订单确认邮件。
练习三:活动图设计假设你正在设计一个在线旅游预订系统,需要使用UML活动图来描述用户预订旅游的流程。
请根据以下需求,设计一个简单的活动图。
1. 用户在网站上浏览旅游目的地,并选择感兴趣的目的地。
UML例题
extends A {
private int k;
public void C(){
} public void test3(){
}
}
当手机开机时,它处于空闲状态(idle),当用户使用电话呼叫某人(call someone)时,收集进入拨号状态(dialing)。如果呼叫成功,即电话接通(connected),手机就处于通话状态(working);如果呼叫不成功(can’t connect),例如对方线路有问题,关机、拒绝接听。这时手机停止呼叫,重新进入空闲状态,手机进入空闲状态下被呼叫(be called),手机进入响铃状态(ringing);如果用户接听电话(pick),手机处于通话状态;如果用户未做出任何反应(haven’t acts),可能他没有听见铃声,手机一直处于响铃状态,如果用户拒绝来电(refused),手机回到空闲状态(idle)。
学校教师教室教材课程课桌学生班级学院讲台机房计算机交换机社团试绘制反映这些事物联系的类图类student和类course之间是什么关系
1.部分例题
2.某高校中有以下事物:学校、教师、教室、教材、课程、课桌、学生、班级、学院、讲台、机房、计算机、交换机、社团,试绘制反映这些事物联系的类图
2.
类Student和类Course之间是什么关系?并用文字性语言描述该类图表达意思。该图描述的是:学生和课程之间的选择关系,一个学生可以选择多门课程,一门课程可以被多个学生所选择。
public class A {
private int i;
private B b;
public void A(){
}
public v class B {
private int j;
4-2类图练习题
用例图示例
Administrator update inventory
<<include>> load inventory data <<include>>
run inventory reports
save inventory data <<include>>
<<include>> <<extend>> sale <<extend>> verify check verify credit card
credit card +Verify() 0..* n sale +Update() check +verify() 0..* n 1 n +Load() +Save() +Update()
inventory
3 图书管理系统需求如下: 添加图书 删除图书 添加标题 删除标题 添加借阅者信息 删除借阅者信息 登陆
创建类图的步骤如下: (1)将学生可以是在校生或者毕业生建模为3个类: Student、UnderGraduate和Graduate,其中,后两个类 是Student类的子类。 (2)为“在校生可以是助教的一种”建立模型,即建立 UnderGraduate类的另一个超类Tutor。 (3)通过创建从Tutor到Student的关联(名为tutors),建 立一名助教指导一名学生的模型。 (4)将“教师和教授属于不同级别的教员”建模为3个类: Instructor、Teacher和Professor,其中,后两个类是 Instructor类的子类。 (5)建立“一名教师助理可以协助一名教师和一名教授, 一名教师只能有一名教师助理,一名教授可以有5名教师 助理”的模型。创建TeacherAssistant类,并使其与 Teacher类和Professor类都建立关联。 (6)将TeacherAssistant类建模为Graduate类的派生类。
上机二 类图对象图上机练习题
一、按照描述画出下列的类图
⏹一个教室有若干桌子,桌和椅一一对应,每个椅子坐两个人。
派生关联:
一个桌子可供两人使用。
⏹一个文件夹可以有多个子文件夹或多个文件,文件有的是加密的,有的是
未加密的。
二、第七章课后的上机练习题
三、根据本节所学的知识画出实验一当中的类图
–企业进、存、销管理系统”功能性需求包括以下内容:
–(1)采购员根据生产原料的使用情况判断采购用品,对需要订购产品信息统计订货的,并制作产品订单。
最后根据订单进行采
购活动。
–(2)仓库管理员负责产品的库存管理。
包括产品入库管理、处理盘点信息、处理报损产品信息和一些信息的设置。
这些设置信
息,包括:供应商信息、产品信息。
仓库管理员每天对产品进行一
次盘点,当发现库存产品有损坏时,及时处理报损信息。
当产品生
产后,将产品进行入库。
当产品销售后时,产品进行出库处理。
–(3)统计人员负责统计分析管理,包括:查询产品信息、查询销售信息、查询供应商信息、查询缺货信息、查询报表信息,并
制作报表。
统计分析员使用系统的统计分析功能,了解产品信息、
销售信息、供应商信息、库存信息。
–(4)在销售员为客户提供售货服务时,接受客户购买产品,根据系统的定价计算出产品的总价,客户付款,系统自动保存客户
购买记录。
–(5)系统管理员负责本系统的系统维护。
系统管理员负责员工信息管理、供货商信息管理以及系统维护等。
每种管理者都通过
自己的用户名称和密码登录到各自的管理系统中。
–。
UML用例模型和类图练习
UML用例模型和类图练习
1.
一个小型网络水果超市,负责给用户网上订购苹果、芒果、桃子、荔枝。
用户可以注册成为会员,预约、订购、查询、取消等常规动作。
请设计用例模型.
1)参与者
2)用例图
3)一个重要的用例进行描述
2. 画出类图
一家公司有许多部门,通过部门名唯一的确定一个部门,每个部门有一名经理主管,也有的经理不管理任何一个部门;
每个部门生产多种产品,每种产品仅有一个部门生产。
该公司有许多员工为之工作,员工又进一步划分为经理与工人两类。
每名工人可以参加多个项目,每个项目需要多名工人;
每位经理可以主持多个项目,每个项目仅有一人主持。
UML实验习题
下图是一个信用卡账户管理的类图模型,根据类图映射出其对应的数据库模型。
下图是一个报纸排版系统的类图,该系统可以负责文字段落的排版,同时用户可以调整段落文字的宽和高,在页面中的位置,或把段落文字从一个页面移动到另一个页面。
修改该类图,使得文字段落的内容可以出现在多个页面当中。
如果用户改变页面中某个段落的位置,则其他页面中对应的段落也将会自动改变位置。
下图为一个图形编辑器的类图。
一个Sheet由若干line和box组成,一个line由若干linesegment组成,同时每个linesegment由两个point确定,同时连接两个box。
同一水平线或垂直线的linesegment可共享一个point。
Selection为包含若干line和box的集合,buffer为被剪切或粘贴的line和box的集合。
下面的类图并没有明确一个line或box具体是属于buffer,selection还是sheet。
修改该类图以明确该约束。
作业3(类图)
建立Class图思考题:
1.销售飞机票系统
问题陈述:
在一个简单的机票销售系统中,售票员根据旅客需要的航班,查询有无机票,若有,则负责录入、修改旅客的基本信息(姓名、身份证号、航班号、票价、到达港等信息),并提供机票;保险业务员负责录入、修改客票信息(航班、日期),并提供乘机保险单;销售部经理可随时查询每一航班的售票情况(航班号,售票数量、营业额);并在日结时计算日营业额。
根据上述问题陈述,建立系统类图(Class Diagram)。
2.简易饮料自动售货机系统
问题陈述:
简易饮料自动售货系统用于顾客自助购买饮料。
不同的饮料有不同的价格。
顾客投入规定面值的硬币,当投入的硬币达到或超过某些饮料价格时,对应饮料的选择键会亮起来,顾客可以按下选择键,购买该饮料;若投入的钱数大于所选饮料的价格时,系统会自动退还多余的钱币。
顾客也可以在按下选择饮料键前,按售货机上的退币键,当按下退币键后,系统将顾客投入的所有钱币退出。
根据上述问题陈述,建立系统类图(Class Diagram)。
3.自拟系统
根据你熟悉的问题,写出问题陈述,并建立系统类图(Class Diagram)。
4.作业要求
作业名称统一为:作业3-XXX(XXX是自己的名字)
作业提交日期:11月22日周五晚9点前
作业提交信箱:xujin0209@。
类图练习题
专题三:类图(对象图)一、单项选择题1.在UML中,类之间的关系有一种为关联关系,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一()A.0 (1)B.0….*C.1….*D.*….*2.通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员A.B.C.D.3add (A、4、类(A5、在A6、在7、、Chair、AC8ABCD9Castle)和方法Close(c:Castle),则类Cowboy和类Castle之间的关系是:……()A、依赖(dependency)关系B、组成(composition)关系C、泛化(generalization)关系D、包含(include)关系10、根据下面的代码,判断下面那些叙述是正确的?()publicclassHouseKeeper{privateTimeCardtimecard;publicvoidclockIn(){timecard.punch();}}A、类HouseKeeper和类TimeCard之间存在关联(Association)关系;B、类HouseKeeper和类TimeCard之间存在泛化(Generalization)关系;C、类HouseKeeper和类TimeCard之间存在实现(Realization)关系;D、类HouseKeeper和类TimeCard之间存在包含(Inclusion)关系11、已知类A需要类B提供的服务,下列所描述的四种情况中,哪种情况不好把类A和类B之间的关系定义成依赖关系()A、类A中存在两个操作都需要访问类B的同一个对象B、类A的某个操作内部创建了类B的对象,而其他操作均与类B无关C、类A的某个操作其参数是类B的对象,而其他操作均与类B无关D、类B是一个全局变量12、“一个研究生在软件学院做助教(teachingassistant),同时还在校园餐厅打工做收银员(cashier)。
类图实例和习题要点
图书基本信息
图书类别信息 读者借阅图书信息
9
10 11 12
BorrowType
Store Reserve Fine
读者借阅类型信息
图书在图书馆中的存放位置信息 读者预订图书信息 读者罚款信息
系统的用户接口可以作为系统的边界类:
(如果采用页面形式表示用户接口,可把页面看成边界类)
Login(登录)、Main(主界面)、 SystemManage(系统管理)、 ReadrManage(读者管理)、 BookManage(图书管理)、 BorrowManage(借阅管理)、 FineManage(罚款管理)等窗体
2.每个HouseKeeper都有一个Manager负责,有的 Manager可能负责多个HouseKeeper,有的Manager 可能一个HouseKeeper都没有,下面哪幅图适合描述 类HouseKeeper和类Manager的关系? A
HouseKeeper
0..n 1
Manager
B
HouseKeeper
Librarian Manage Book
Borrow-Lend
Reader
顶层用例图
administrator delete user add user
update user
query user
系统管理员Manage User 子用例图
Librarian Set ReaderCard Query ReaderInfo
1.
(3)根据MVC模式寻找 根据用例图找出边界类;在用例图中找出控制类; 数据库设计完毕后,可以根据数据表获得实体类。 (4)有些类无法通过上述方法找到,可能还需要 从后面的动态模型(如时序图和协作图)中通过 分析对象来确定。
作业—画类图
画类图
• 一台微机有一个显示器,一个主机,一个 键盘,一个鼠标,汉王笔(可有可无)、 主机包括一个机箱和一个主板,一个电源, 存储器等部件。存储器又分为固定存储器、 活动存储器、固定存储器又分为内存和硬 盘,活动存储器又分为软盘和光盘。
画类图
• 一个软件公司有许多部门,分为开发部门 和管理部门两种。每个开发部门开发多个 软件产品。每个部门由部门名字唯一确定。 该公司有许多员工,员工分为经理、工作 人员和开发人员。开发部门有经理和开发 人员,管理部门有经理和工作人员。每个 开发人员可参加多个开发项目,每个开发 项目需要多个开发人员,开发人员使用语 言开发项目。每位经理可主持多个开发项 目。
画类图
• 显示器屏幕上圆心坐标为(100,100)的 位置画一个半径为40的圆,在圆心坐标为 (200,300)的位置画一个半径为20的圆, 在圆心坐标为(400,150)的位置画一条 弧,弧的起始角度为30度,结束角度为120 度,半径为50。
例题2:用非正式分析法分析确定下述杂货店问题中 的对象 、确定对象类之间可能有的继承关系
• 系统能够按病人姓名和按日期进行查询,能够显示记录的病人 数据和预约信息。接待员可以取消预约,可以打印出前两天预 约尚未接诊的病人清单,系统可以从病人记录中获知病人的电 话号码。接待员还可以打印出关于所有病人的每天和每周的工 作安排。
SOTFWARE ENGINEERING
作业—画类图
画类图
• 一本书的组成有一个封面,一个目录,一 个前言节有0个或 多个插图,还有0个或多个表格,最后有一 个附录。
画类图
• 交通工具分为空中、陆上、水上等,空中 交通工具分为客机、货机、专用轻型机; 陆上交通工具分为火车、汽车;火车汽车 又分为客车、货车;水上交通工具分为客 轮、货轮、客货混合轮。
类图习题
1、请按下述要求作出类图。
* 一个年级里有3到5个班级。
* 一个班级有1到40名学生。
* 1个班级有1名担任班主任,在此基础之上外也可能有再加一名副班主任。
2、请按下述要求作出书橱的类图。
* 可以把书放到书橱里。
* 书橱的门有木制的门或玻璃制的门。
3、请按下述要求作出网上商店的类图。
* 为了一次可以购买多件商品,为每个顾客准备一个购物车。
* 购物车里可以装入10件商品。
* 顾客分会员及非会员两类。
4、请按下述要求作出公司的类图。
* 某公司部里有科,职员从属于某一个科。
* 科之间也有可能有上下级关系。
* 现在,一个科的职员数为5到30人。
* 科里的职员数将来有可能增减。
5、请按下述要求作出宾馆的类图。
* 客房分为套间,双人间,单人间3种。
* 套间里有3张床,双人间有两张床,单人间有一张床。
1、下面关于类的描述恰当的一项是A 表示商业流程或系统的控制流程B 表示使用该系统的人与系统功能之间的关系C 表示构件之间的依赖关系D 表示类的构造及类之间的静态关系E 表示对象之间消息的交互2、从下列选项中选出一项正确表示类的图3、下面是关于类的操作的描述,请选择一项错误的A 操作中可以标记参数B 操作是在类的最下端C 类作用域的操作是在操作名下面划线表示D 返回值是在分号(;)后标记的E 在分析建模阶段可以省略4、下面关于可见性package的描述正确的一项是A 所有的类都不可访问B 只有自身类可以访问C 所有的类都可以访问D 自身类以及同一个包中的类可以访问E 自身类以及继承该类的子类可以访问5、下面关于抽象操作的描述正确的是(多选)A 抽象操作是将通用的操作,多个类都可以访问B 在操作抽象下划线表示C 在继承了该类的子类中定义操作的内容D 实际并不进行操作E 表示的是对象之间是如何连接的6、下列类型的描述正确的是(多选)A 表示不依赖实现的抽象类B 表示依赖实现的具体类C 在类型上标记《pattern》标签D 在类型上标记《type》标签E 实现类可以有多个类型7、下面关于功能(utility)的描述正确的是A 表示类间关系的含义货使用的条件B 概括各个类中使用的全局变量或程序C 给各个类的参数赋值D 使类或参与者等具备特别的含义,从而进行分类7、下面关于模板类的描述正确的是A 具备网络化状态的类B 拥有聚集关系的类C 在子类中定义实现必须的类D 只能间接拥有实例的类E 根据赋给属性的值可以生成新的类8、下面哪项是表示N项关联9、下面关于类之间关联的排序的描述正确的是A 多重度大于1时,必须要进行排序B 表示有关联的类的实例包含顺序C 表示类之间的关联具有方向D 表示排序时用{abstract}E 如果无排序,必须要明确标识出10、下面关于可诱导性的描述正确的是(多选)A 表示关联类存在顺序性B 必须在关联的两端都标识出C 必须只在关联的一端标识出D 可以在一端或两端标识出E 表示有关联的类之间存在方向性11、从下面选项出选出正确的限定子图“一个年级有3~5个班级。
信息管理系统 UML实验三__类图
实验三.类图第一题:软件学院打算开发一个学生选课系统。
画出系统类图!1.新的系统允许学生利用局域网上的PC机来注册本学期的课程,并可以查看自己已学的所有课程的所有成绩。
新的系统允许教师决定要教哪些课程,并通过管理员更新数据库,教师在学期末登记自己教授的课程的成绩。
2.学院已有课程目录(course catalog)数据库部分,课程目录数据库中保存了所有的课程信息新的学生注册系统将读取课程目录数据库中的课程信息,但不会修改数据库中的课程信息。
管理员通过其它系统来维护课程信息3.在每个学期初,学生可以获取这个学期所开设的所有课程的目录,在课程目录中包含每门课的详细信息,如professor(讲课教师,因为后面约定老师可以有教授、副教授和讲师3种类型), department, prerequisite等。
4.每个学生在一个学期,根据自己所在系的培养计划,必修课必须选,选修课自愿,但一学期不可超过8门课程,不少于3门课程。
(第8周周二到周五可以退课,但必须保证本学期课程不少于3门,退课需交纳50/门的费用,由计费系统扣费,扣费成功后,该门课程从学生的选课计划中删除,否则,退课不成功)5.每门课的学生人数最多为200人,最少为30人,如果选修课学生人数少于30人,该门课将被取消,必修课无最低人数限制。
在每个学期,有一个选课期,在这个时间段内,学生可以改变他们的选课计划(Schedule),注册系统允许学生在这段时间内可以增加或删除所选课程,选课最后一天只能选课,不可退课,在学期结束的时候,学生可以通过系统查询成绩,由于学生成绩属于敏感信息,因此系统要有安全措施来防止非授权的存取。
(学生查询成绩前,需要先评教)。
6.教师可以读取系统来获取他们所教的课程的信息,可以了解哪些学生选了他们的课,也可以登记该门课程的学生成绩。
7.教师分为讲师、副教授、教授。
此系统涉及到得参与者有:①学生;②教师;③管理员;④课程目录数据库;⑤计费系统。
类图实例操作练习
4.4.2 聚合关系
共享聚合关系
如果聚合关系中的处于部分方的对象同时参与了多个处于整体方对象的 构成,则该聚合称为共享聚合。 共享聚合关系可以通过聚合的重数反映出来,而不必引入另外的图示符 号。如果作为整体方的类的重数不是1,那么该聚合就是共享聚合。
UML建模实例教程
4.4.2 聚合关系
绘制聚合关系
UML建模实例教程
4.3.3 绘制带操作的实体类
完成步骤
(1)添加方法 (2)设置方法的属性
UML建模实例教程
4.3.3 绘制带操作的实体类
完成步骤
(1)添加方法 (2)设置方法的属性
UML建模实例教程
4.3.3 绘制带操作的实体类
完成步骤
(3)设置抽象方法
UML建模实例教程
4.3.3 绘制带操作的实体类
(1)右键单击类间的关系, 打开【open specification】 对话框,选择【Role B Detail】选项卡。 (2)选择【Aggregate】复 选框,即可绘制共享聚合关 系(空心菱形)。
UML建模实例教程
4.4.3 组合关系
组合关系
组合关系是聚合关系中的复合聚合。组合(也称为组成)是由聚合(也 称为聚集)演变而来。如果构成整体类的部分类,完全隶属于整体类, 则这样的聚合称为复合聚合或组合。
UML建模实例教程
4.4.1 关联关系
关联关系
关联可以使用名称、角色、多重性和导航性等来进行修饰。 (1)名称 由于关联是双向的,可以在关联的一个方向上为关联起一个名字 (2)角色 角色是关联关系中一个类对另一个类所表现出来的职责。 (3)多重性 约束是UML三大扩展机制之一,多重性就是一种约束。关联的多重性是 用来在类图中图示关联中的数量关系。 (4)导航性 导航性描述的是一个对象通过导航访问另一个对象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任务目标 了解静态模型的基本功能和基本图形组成 。
教学方法 分组教学法 资料查询法 案例教学法
UML建模实例教程
4.1 静态建模概述
静态模型概述
可以借用自然界中的类与对象的表示方法,在计算机的软件系 统中描述与实现类和对象。 对象就是可以控制和操作的实体,它可以是一个设备、一个组 织或一个商务,它包括属性的描述和行为的描述二方面。属性描 述类的基本特征;行为描述类具有的功能,也就是对指定类的对 象可以进行哪些操作。 以面向对象方式建造的模型,由于建造在真实世界的基本概念 上,与真实世界非常接近,使得该模型易于交流,易于验证,易 于维护 。 UML的静态建模就需要借助于类图和对象图,使用UML进行静 态建模
UML建模实例教程
4.4.4 泛化关系
泛化关系
泛化表示一个泛化的元素和一个具体的元素之间的关系。 泛化又称继承,UML中的泛化是通用元素和具体元素之间的一种分类 关系。具体元素完全拥有通用元素的信息,并且还可附加一些其它信息。 泛化可用于类、用例等各种模型元素。父类与子类的泛化关系图示为 一个带空心三角形的直线,空心三角形紧挨着父类 。
UML建模实例教程
4.4.2 聚合关系
聚合关系
聚合是关联的特例。如果类与类之间的关系具有“整体与部分”的特点, 则把这样的关联称为聚合。聚合关系描述了“has a”的关系。 在UML中聚合的图示方式为,在表示关联关系的直线末端加一个空心的 小菱形,空心菱形紧挨着具有整体性质的类
UML建模实例教程
UML建模实例教程
4.3.4 绘制边界类图
完成步骤
(3)依次添加WebShop电子商城中的“注册页面”、“个人资 料页面”、“当前订单”、“历史订单”、“关闭帐号页面”、 “删除用户页面”等边界类,得到的WebShop电子商城的边界类 图(部分)
UML建模实例教程
4.3.5 绘制控制类图
完成步骤
UML建模实例教程
4.3.5 绘制控制类图
完成步骤
(3)依次添加WebShop电子商城中的“处理注册”、“查询个人资 料”、“查询当前订单”、“查询历史订单”和“处理帐号关闭”等边 界类,得到的WebShop电子商城的控制类图(部分) 。
UML建模实例教程
4.3.6 UML中的类与语言中的类
完成步骤
UML建模实例教程
任务3
任务目标 确定WebShop电子商城系统中的类之间的关系, 并在类图中表现这些关系。
教学方法 分组教学法 案例教学法 SDSPR教学法
UML建模实例教程
4.4.1 关联关系
关联关系
关联关系是一种结构关系,它指明一个对象与另一个对象之间的联系。 根据不同的含义,关联可分为普通关联、递归关联、限定关联、或关 联、有序关联、三元关联和聚合等七种。
系统的 边界类
系统的 控制类
UML建模实例教程
4.3.2 绘制带属性的实体类
类的名称和பைடு நூலகம்性
类的名称是一个字符串,是每个类中所必有的构成元素,用于区别于其 他类。类的名称应该来自系统的问题域,并且应该尽可以可能地明确, 避免造成歧义。通常情况下,类的名称为一个名词。 类的属性是类的一个组成部分,描述了类在软件系统中所代表的一个事 物的特性。在绘制类图时,类的属性放在类名字的下方,用来描述该类 的对象所具有的特征。
(1)右键单击视图区域中的 “Logical View”节点,选择新 建包,命名为“控制类图”。
(2)在类图中添加名为“处理登录” 的类,右键单击该类,在右键菜单 中选择【Open Specification】菜 单,在打开的类的属性设置对话框 中选择【Stereotype】下拉列表框, 选择【control】项,即可将“处理 登录”类设置为控制类。
UML建模实例教程
4.3.2 绘制带属性的实体类
类的属性内容
(1)可见性 可见性用于描述类的属性、类的方法对于其它的类或包是否可以访问的 特性。
(2)属性名 类的属性是描述类的特性,一个类可能有多个属性。 (3)类型 属性的类型用来说明该属性是什么数据类型。 (4)初始值 初始值是指属性最初获得的赋值。 (5)属性字符串 属性字符串用来指定关于属性的其他信息。
4.2 类图概述
三种类图
实体类:它表示的是系统领域内的实体。
边界类:边界类是系统的用户界面,直接 跟系统外部参与者交互,与系统进行信息 交流。 控制类:控制类是控制系统中对象之间的 交互。它负责协调其他类的工作,实现对 其他对象的控制。
UML建模实例教程
4.2 类图概述
提示
在传统的C/S系统中,实体类、边界类和控制类没有严格的一一对 应关系; 在现在流行的设计模式(如:MVC模式)中,实体类、边界类和控 制类一一对应。 分析人员、组织、设备、事件和外部系统等,找出各种可能有用的 候选对象,以发现实体类; 阅读系统文档和用例,查找用例的事件流中的名词(包括角色、类、 类属性和表达式),从中寻找到类(实体类); 对于边界类,分析阶段不需要深入研究用户界面的窗口部件,只要 能说明通过交互所实现的目标就可以。 有些类无法通过以上方法找到; 有些类需要从协作图和顺序图中通过分析对象来确定。
UML建模实例教程
【任务2-2】绘制WebShop商品类图
6.设置属性的数据类型
在添加类的属性的时候,默 认情况下不会要求输入属性 的数据类型,如果要设置类 的属性的数据类型,在如下 图所示的对话框中,在指定 的属性上双击(如: g_Name),打开类属性设 置对话框,在【Type】下拉 列表中,选择属性对应的数 据类型(如:String)即可
UML建模实例教程
4.3.3 绘制带操作的实体类
完成步骤
(1)添加方法 (2)设置方法的属性
UML建模实例教程
4.3.3 绘制带操作的实体类
完成步骤
(1)添加方法 (2)设置方法的属性
UML建模实例教程
4.3.3 绘制带操作的实体类
完成步骤
(3)设置抽象方法
UML建模实例教程
4.3.3 绘制带操作的实体类
UML建模实例教程
4.4.3 组合关系
绘制组合关系
Rational Rose 2003中并没有提供“组合关系”的图形,可以通过以下 步骤在Rose 2003中绘制组合关系图形。 (1)如图6-33所示,通过选择【aggregate】绘制一个聚合的关系(空 心菱形)。 (2)右键单击这个关系,打开【open specification】对话框,选择 【Role B Detail】选项卡。如图6-33所示。 (3)在【Containment of List】中选择【By Value】空心菱形就变成 实心菱形。 。
4.4.2 聚合关系
共享聚合关系
如果聚合关系中的处于部分方的对象同时参与了多个处于整体方对象的 构成,则该聚合称为共享聚合。 共享聚合关系可以通过聚合的重数反映出来,而不必引入另外的图示符 号。如果作为整体方的类的重数不是1,那么该聚合就是共享聚合。
UML建模实例教程
4.4.2 聚合关系
绘制聚合关系
UML建模实例教程
4.4.1 关联关系
绘制关联关系
(1)在类图绘制工具栏上选择图 标 ,在源类上单击鼠标左键,拖放 鼠标到目标类上,添加从源类到目标 类的关系。 (2)右键单击这个关系,打开【open specification】对话框,选择 【Multiplicy】列表框,设置多重性。 (3)选择【Navigable】复选框设置 关联关系的导航性(设置是否显示箭 头)。
完成步骤
(4)完成 WebShop电 子商城实体 类图的绘制
UML建模实例教程
课堂实践 1
操作要求
(1)讨论类图在软件系统建模中的重要作用。 (2)确定图书管理系统中的主要实体类、边界类和控制类。 (3)绘制图书管理系统的类图(不含属性和方法)。 (4)在步骤(3)绘制的类图基础上添加类的属性和方法。
UML建模实例教程
4.2 类图概述
类图概述
类图是用来描述软件系统中类以及类之间 的关系的一种图示,是从静态角度表示系 统的。 类图是构建其它图的基础,如果没有类图, 就没有状态图、顺序图和协作图等,也就 无法表示软件系统的其它各个侧面。 类图中允许出现的模型元素只有类和它之 间的关系。
UML建模实例教程
UML建模实例教程
【任务2-2】绘制WebShop商品类图
1.打开工程
2.新建类图
在视图区域中右键单击“Logical View”节点,依次选择【New】 【Class Diagram】
UML建模实例教程
【任务2-2】绘制WebShop商品类图
3.添加类
单击类图绘图工具栏上的 ,在绘 图编辑区域中单击鼠标左键,就可 以绘制一个类
UML建模实例教程
4.4.1 关联关系
关联关系
关联可以使用名称、角色、多重性和导航性等来进行修饰。 (1)名称 由于关联是双向的,可以在关联的一个方向上为关联起一个名字 (2)角色 角色是关联关系中一个类对另一个类所表现出来的职责。 (3)多重性 约束是UML三大扩展机制之一,多重性就是一种约束。关联的多重性是 用来在类图中图示关联中的数量关系。 (4)导航性 导航性描述的是一个对象通过导航访问另一个对象。
UML建模实例教程
任务2
任务目标 阅读WebShop电子商城系统文档和用例模型,确 定该系统中的类,并绘制类图。
教学方法 分组教学法 SDSPR教学法 案例教学法
UML建模实例教程
4.3.1 类的概述
具体类和抽象类
有自己的具体对象的类称 为具体类。具体类中的操作 都有具体实现的方法。 没有具体对象的类称为抽 象类。抽象类一般为父类, 用于描述其它类(子类)的 公共属性和行为(操作)。