【UML】-- 类图练习题含答案

一、练习一

学生包括本科生、研究生两种;
研究生的一部分利用课余时间担任助教;
教师包括助教、讲师和教授三种;
一名助教可以为一位讲师或一位教授助课,一位讲师只能有一名助教,一位教授最多可以有 5 名助教。

 二、练习二

请按下述要求画出类图。
1 )一家公司包含许多部门,通过部门名称唯一的确定一个部门,每个部门由一名经理主管,也有的经理不管理任何部门;
2 )每个部门生产多种产品,每种产品仅由一个部门生产;
3 )该公司有许多员工为之工作,员工又分为经理与工人两类;
4 )每位工人可以参与多个项目,每个项目需要多位工人参与;

        (5)每位经理可以主持多个项目,每个项目仅由一位经理主持

三、练习三

按如下描述绘制出“飞船系统”的类图。
1. 神舟六号飞船是神舟飞船系列的一种,它由轨道舱、返回舱和逃逸救生塔组成。
2. 航天员可以在返回舱内驾驶飞船,轨道舱则是航天员工作和休息的场所。在紧急情况下,可以利用逃逸救生塔逃生。
3. 在飞船两侧有多个太阳能电池翼,可以为飞船提供电能。

 四、练习四

某学校打算做一个考试管理系统,当前情况如下:
1. 讲师会讲很多门课,大部分课程需要安排一次考试,有些不需要;
2. 考试试卷由讲师出;
3. 学生需要参加很多考试,每门考试都有成绩。

 

以前答案仅供参考,有问题可以指出,感谢观看。

<think>好的,我现在需要处理用户关于例题和画题的请求。首先,用户可能希望了解的基本概念,并通过例题学习如何绘制。我应该先回忆的主要元素,比如、属性、方法、关系等。然后,考虑一个合适的例题,比如书馆管理系统中的,这例子比较常见,也容易理解。 接下来,用户提到画题,可能需要具体的步骤说明。我应该分步骤解释如何从需求分析到确定,再确定关系。例如,书馆系统可能涉及书、会员、借阅记录等。每个的属性和方法需要列出,比如书的ISBN、标题,会员的姓名、ID等。 然后,确定之间的关系。例如,会员和借阅记录之间的关联,书和借阅记录之间的关联,以及可能的继承关系,比如用户可以分为会员和管理员。不过,在简单的例题中,可能不需要太复杂的继承,保持基础即可。 需要注意用户可能对UML关系型(如关联、继承、聚合、组合)不太熟悉,所以需要用简单的中文解释,并举例说明。例如,会员和借阅记录之间的“1对多”关联,因为一个会员可以有多个借阅记录。 还要确保符合系统级指令中的格式要求,数学公式和独立公式用正确的LaTeX格式。不过本身不涉及数学公式,但可能在例题中出现一些数量关系,比如多重性(1..*),这时候需要用$1..*$的格式。 然后,检查是否需要提供绘的提示,比如使用工具或手绘注意事项。用户可能想知道如何实际绘制,比如用Enterprise Architect、Visio或在线工具如Lucidchart,或者手绘时的布局建议。 最后,总结关键点,强调的用途和设计时的注意事项,比如避免过度复杂,保持单一职责原则等。确保回答结构清晰,分步骤,帮助用户逐步理解和解决问题。</think>### 例题与画题分步解析 #### 1. **基础概念** UML(统一建模语言)中用于描述系统静态结构的表,主要包含: - **(Class)**:用矩形表示,分三栏:名、属性、方法 - **关系(Relationships)**:关联、继承、聚合、组合、依赖等 - **多重性(Multiplicity)**:如$1..*$表示“1到多” --- #### 2. **例题书馆管理系统** **需求描述**: - 会员可以借阅多本书,每本书有唯一ISBN号 - 每本书可被多个会员借阅,但同一时间只能被一个会员持有 - 系统需记录借阅和归还日期 - 管理员负责管理书籍信息 --- #### 3. **画步骤** **步骤1:识别及其属性/方法** | 名 | 属性 | 方法 | |------|------|------| | 会员 | -会员ID: String<br>-姓名: String | +借书()<br>+还书() | | 书 | -ISBN: String<br>-标题: String | +查询状态() | | 借阅记录 | -借阅日期: Date<br>-归还日期: Date | +计算逾期费用() | | 管理员 | -工号: String | +添加书籍()<br>+删除书籍() | **步骤2:确定之间关系** 1. **关联关系(Association)** - 会员与借阅记录:$1$对$n$(一个会员对应多个记录) - 书与借阅记录:$1$对$n$(一本书在不同时间被多次借阅) - 管理员与书:$1$对$n$(管理员管理多本书) 2. **继承关系(Inheritance)**(可选) - 若系统有`用户`父,会员和管理员可继承自`用户` --- #### 4. **绘制示例(文字描述)** ```plaintext +----------------+ +----------------+ +------------------+ | 会员 | | 书 | | 借阅记录 | |----------------| |----------------| |------------------| | -会员ID: String| | -ISBN: String | | -借阅日期: Date | | -姓名: String | | -标题: String | | -归还日期: Date | |----------------| |----------------| |------------------| | +借书() |<>----| +查询状态() |<>----| +计算逾期费用() | | +还书() |1 *|1 *| | | +----------------+ +----------------+ +------------------+ ▲ ▲ | | |继承 |关联 | | +----------------+ +------------------+ | 用户 | | 管理员 | |----------------| |------------------| | -用户名: String| | -工号: String | | -密码: String | |------------------| +----------------+ | +添加书籍() | | +删除书籍() | +------------------+ ``` --- #### 5. **关键绘提示** 1. **工具选择**:使用StarUML、Lucidchart或PlantUML等工具 2. **布局规范**: - 关联关系用**实线箭头** - 继承关系用**空心三角箭头** - 多重性标注在关联线两端(如$1..*$) 3. **简化原则**:避免过度细化,优先体现核心与关系 --- #### 6. **常见错误避免** - ❌ 混淆聚合(Aggregation)与组合(Composition) - 聚合用空心菱形(整体与部分可独立存在) - 组合用实心菱形(部分随整体销毁) - ❌ 遗漏多重性标注 - ❌ 将方法写成具体代码逻辑(中仅写方法名) 如果需要具体绘演示或更复杂案例解析,请进一步说明需求方向(如电商系统、学生选课系统等)!
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四月天行健

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值