类图实例操作练习
- 格式:ppt
- 大小:3.39 MB
- 文档页数:182
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(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. 用户在网站上浏览旅游目的地,并选择感兴趣的目的地。
一、按照描述画出下列的类图
⏹一个教室有若干桌子,桌和椅一一对应,每个椅子坐两个人。
派生关联:
一个桌子可供两人使用。
⏹一个文件夹可以有多个子文件夹或多个文件,文件有的是加密的,有的是
未加密的。
二、第七章课后的上机练习题
三、根据本节所学的知识画出实验一当中的类图
–企业进、存、销管理系统”功能性需求包括以下内容:
–(1)采购员根据生产原料的使用情况判断采购用品,对需要订购产品信息统计订货的,并制作产品订单。
最后根据订单进行采
购活动。
–(2)仓库管理员负责产品的库存管理。
包括产品入库管理、处理盘点信息、处理报损产品信息和一些信息的设置。
这些设置信
息,包括:供应商信息、产品信息。
仓库管理员每天对产品进行一
次盘点,当发现库存产品有损坏时,及时处理报损信息。
当产品生
产后,将产品进行入库。
当产品销售后时,产品进行出库处理。
–(3)统计人员负责统计分析管理,包括:查询产品信息、查询销售信息、查询供应商信息、查询缺货信息、查询报表信息,并
制作报表。
统计分析员使用系统的统计分析功能,了解产品信息、
销售信息、供应商信息、库存信息。
–(4)在销售员为客户提供售货服务时,接受客户购买产品,根据系统的定价计算出产品的总价,客户付款,系统自动保存客户
购买记录。
–(5)系统管理员负责本系统的系统维护。
系统管理员负责员工信息管理、供货商信息管理以及系统维护等。
每种管理者都通过
自己的用户名称和密码登录到各自的管理系统中。
–。
UML用例模型和类图练习
1.
一个小型网络水果超市,负责给用户网上订购苹果、芒果、桃子、荔枝。
用户可以注册成为会员,预约、订购、查询、取消等常规动作。
请设计用例模型.
1)参与者
2)用例图
3)一个重要的用例进行描述
2. 画出类图
一家公司有许多部门,通过部门名唯一的确定一个部门,每个部门有一名经理主管,也有的经理不管理任何一个部门;
每个部门生产多种产品,每种产品仅有一个部门生产。
该公司有许多员工为之工作,员工又进一步划分为经理与工人两类。
每名工人可以参加多个项目,每个项目需要多名工人;
每位经理可以主持多个项目,每个项目仅有一人主持。
下图是一个信用卡账户管理的类图模型,根据类图映射出其对应的数据库模型。
下图是一个报纸排版系统的类图,该系统可以负责文字段落的排版,同时用户可以调整段落文字的宽和高,在页面中的位置,或把段落文字从一个页面移动到另一个页面。
修改该类图,使得文字段落的内容可以出现在多个页面当中。
如果用户改变页面中某个段落的位置,则其他页面中对应的段落也将会自动改变位置。
下图为一个图形编辑器的类图。
一个Sheet由若干line和box组成,一个line由若干linesegment组成,同时每个linesegment由两个point确定,同时连接两个box。
同一水平线或垂直线的linesegment可共享一个point。
Selection为包含若干line和box的集合,buffer为被剪切或粘贴的line和box的集合。
下面的类图并没有明确一个line或box具体是属于buffer,selection还是sheet。
修改该类图以明确该约束。
建立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)。
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个班级。
实验三.类图第一题:软件学院打算开发一个学生选课系统。
画出系统类图!1.新的系统允许学生利用局域网上的PC机来注册本学期的课程,并可以查看自己已学的所有课程的所有成绩。
新的系统允许教师决定要教哪些课程,并通过管理员更新数据库,教师在学期末登记自己教授的课程的成绩。
2.学院已有课程目录(course catalog)数据库部分,课程目录数据库中保存了所有的课程信息新的学生注册系统将读取课程目录数据库中的课程信息,但不会修改数据库中的课程信息。
管理员通过其它系统来维护课程信息3.在每个学期初,学生可以获取这个学期所开设的所有课程的目录,在课程目录中包含每门课的详细信息,如professor(讲课教师,因为后面约定老师可以有教授、副教授和讲师3种类型), department, prerequisite等。
4.每个学生在一个学期,根据自己所在系的培养计划,必修课必须选,选修课自愿,但一学期不可超过8门课程,不少于3门课程。
(第8周周二到周五可以退课,但必须保证本学期课程不少于3门,退课需交纳50/门的费用,由计费系统扣费,扣费成功后,该门课程从学生的选课计划中删除,否则,退课不成功)5.每门课的学生人数最多为200人,最少为30人,如果选修课学生人数少于30人,该门课将被取消,必修课无最低人数限制。
在每个学期,有一个选课期,在这个时间段内,学生可以改变他们的选课计划(Schedule),注册系统允许学生在这段时间内可以增加或删除所选课程,选课最后一天只能选课,不可退课,在学期结束的时候,学生可以通过系统查询成绩,由于学生成绩属于敏感信息,因此系统要有安全措施来防止非授权的存取。
(学生查询成绩前,需要先评教)。
6.教师可以读取系统来获取他们所教的课程的信息,可以了解哪些学生选了他们的课,也可以登记该门课程的学生成绩。
7.教师分为讲师、副教授、教授。
此系统涉及到得参与者有:①学生;②教师;③管理员;④课程目录数据库;⑤计费系统。