一、问题描述
一个公司可以雇佣多个人,某个人在同一时刻只能为一家公司服务。每个公司只有一个总经理,总经理下有多个部门经理管理公司的雇员,公司的雇员只归一个经理管理。请为上面描述的关系建立类模型,注意捕捉类之间的关联并标明类之间的多重性。
问题分析
根据题目描述在各个类之间建立关联关系:公司与总经理之间为一对一关系,总经理和部门经理之间为一对多关系,部门经理与普通雇员之间也为一对多关系,其中普通雇员、部门经理、总经理都可以由统一的员工泛化而来。
二、问题描述
在某出版系统中,存在出版社、图书、作者三个实体类。绘制简单类图来描述三者之间的关系。
问题分析
根据题干,首先创建出版社、图书、作者三个实体类。随后,根据常识,在图书和出版社以及图书和作者之间建立关联关系,然后填写合适的多重性:一个出版社可能出版多本图书,一本书只能归属于一个出版社;一本图书可能有一个及以上的作者,一个作者也可能出版很多本书。
三、问题描述
某银行储蓄系统需求说明如下:
①开户。客户可填写开立账户申请表,然后交由工作人员验证并输入系统。系统会建立账户记录,并会提示客户设置密码(若客户没做设置,则会有一个默认密码)。如果开户成功,系统会打印一本存折给客户。
② 密码设置。在开户时客户即可设置密码。此后,客户在经过身份验证后,还可修改密码。
③ 存款。客户可填写存款单,然后交由工作人员验证并输入系统。系统将建立存款记录,并在存折上打印该笔存款记录。
④取款。客户可按存款记录逐笔取款,由客户填写取款单,然后交由工作人员验证并输入系统。系统首先会验证客户身份,根据客户的账户、密码,对客户身份进行验证。如果客户身份验证通过,则系统将根据存款记录累计利息,然后注销该笔存款,并在存折上打印该笔存款的注销与利息累计。
请根据以上信息绘制出系统的用例图。
问题分析
1.识别参与者:工作人员和客户;
2.确定用例模型:
(1)工作人员作为客户与系统交互的代理有申请开户、存款及取款用例。打印存折用例作为申请开户的扩展用例存在。
(2)客户有输入密码用例,分别作为取款用例以及申请开户用例的包含用例存在。
四、问题描述
机票预订系统是某航空公司推出的一款网上购票系统。其中,未登录的用户只能查询航班信息,已登录的用户还可以网上购买机票,查看行程,也可以退订机票。系统管理员可以安排系统中的航班信息。此外,该购票系统还与外部的一个信用评价系统有交互,当用户一个月内退订2次及以上的机票时,需要降低该用户在信用评价系统中的信用等级。当信用等级过低时,则不允许该用户再次购买机票。
根据机票预订系统,画出系统的用例图,类图,对象图。
问题分析
1.确定参与者:
系统主要有3类参与者,用户,管理员,信用评价系统。用户又包括了未注册用户和注册用户。所以用户应该是一个抽象的参与者。
2.确定用例:
未注册用户:可以注册,查询航班。
注册用户:登录系统,查询航班,购买机票,退订机票,查看行程。
管理员:登录系统,设定航班安排。
信用评价系统:修改信用等级,检查信用等级。(2个用例并不是由信用评价系统触发的,是由其它用例触发的。)
用例图:
类图:
确定类元素:用户,管理员,机票,航班,机场
对象图: