学生宿舍管理系统uml
时间: 2023-10-03 21:02:11 浏览: 248
学生宿舍管理系统的UML可以根据需求分析的功能模块图来设计。整个系统可以分为三个子系统:宿舍楼学生子系统、宿舍楼管理员子系统和系统管理员子系统。
宿舍楼学生子系统的功能模块包括:
- 登录宿舍楼学生子系统
- 查询相关公告
- 查询所在宿舍的信息
- 查询宿舍电费信息
- 查询离返校记录
- 提交报修信息
- 插入离返校时间
宿舍楼管理员子系统的功能模块包括:
- 登录宿舍楼管理员子系统
- 查询宿舍楼的所有信息
- 查询宿舍及学生信息
- 按学号查询学生住宿的详细信息
- 按宿舍号查询所住学生的详细信息
- 查询所有宿舍报修的信息
- 修改学生的宿舍信息
- 提交宿舍卫生得分
- 登记报修解决
系统管理员子系统的功能模块包括:
- 登录系统管理员子系统
- 管理宿舍楼管理员信息
- 管理宿舍信息
- 管理宿舍楼的学生信息
- 查询所有宿舍楼的学生宿舍信息
- 查询所有宿舍的信息
- 查询各个宿舍楼的学生宿舍信息
相关问题
学生宿舍管理系统uml类图
学生宿舍管理系统的UML类图包括以下几个类:学生、宿舍、宿舍管理员、宿舍楼。
学生类包括属性:学号、姓名、性别、年龄、所在宿舍。
宿舍类包括属性:宿舍号、所在宿舍楼、可容纳人数、已住人数。
宿舍管理员类包括属性:工号、姓名、管理的宿舍楼。
宿舍楼类包括属性:楼号、楼名、所在校区、所属学校。
在UML类图中,学生和宿舍之间是双向关联关系,一个学生可以住在一个宿舍,一个宿舍可以容纳多个学生。宿舍和宿舍管理员之间是双向关联关系,一个宿舍管理员管理一个宿舍楼,一个宿舍楼可以有多个宿舍管理员。宿舍和宿舍楼之间是单向关联关系,一个宿舍属于一个宿舍楼,但一个宿舍楼可以包含多个宿舍。
此外,还可以在UML类图中添加方法,如学生可以申请换宿舍、宿舍管理员可以进行宿舍分配等操作的方法。
通过这样的UML类图,可以清晰地显示出学生宿舍管理系统中各个类之间的关系和属性,为系统的设计和实现提供了良好的参考。
希望我的回答能够帮到你。
学生宿舍管理系统uml图
### 学生宿舍管理系统 UML 图设计示例
#### 1. 系统用例图
系统用例图展示了不同角色与系统之间的交互行为。对于学生宿舍管理系统而言,主要涉及的角色有管理员、学生以及维护人员。
- **管理员**可以执行的操作包括但不限于:查看所有学生的住宿情况、分配宿舍、调整宿舍安排、处理维修请求等。
- **学生**能够提交入住申请、查询个人住宿信息、发起维修请求等操作。
- **维护人员**负责接收并解决由学生提出的各种设施问题报告。
这些关系可以通过用例图清晰地表示出来[^1]。
```plantuml
@startuml
actor Admin as 管理员
actor Student as 学生
actor Maintainer as 维护人员
Student --> (提交入住申请)
Student --> (查询个人住宿信息)
Student --> (发起维修请求)
Admin --> (查看所有学生的住宿情况)
Admin --> (分配宿舍)
Admin --> (调整宿舍安排)
Admin --> (处理维修请求)
Maintainer --> (接收维修请求)
Maintainer --> (解决问题)
@enduml
```
#### 2. 类图
类图用于定义系统的结构化组件及其属性方法。针对本案例:
- `User` 是一个抽象基类,派生出具体的子类如 `Administrator`, `Resident`(居民), 和 `MaintenanceStaff`.
- 各个实体之间存在关联关系,比如一位 `Resident` 可能会发出多个 `RepairRequest`.
以下是简化版的学生宿舍管理系统部分核心对象的关系示意:
```plantuml
@startuml
class User {
+String name
+int id
}
abstract class Resident extends User{
+Room roomInfo
}
class Administrator extends User{}
class MaintenanceStaff extends User {}
class Room {
+int roomId
+List<Resident> residents
}
class RepairRequest {
+Date requestTime
+Status status
+MaintenanceStaff handler
}
Resident "0..*" -- "*" RepairRequest : 发起
MaintenanceStaff "1" -- "0..*" RepairRequest : 处理
@enduml
```
#### 3. 动态图 - 序列图
序列图用来描述参与者间消息传递的时间顺序。这里给出一个简单的例子——当一名新生通过在线平台提交入学登记表之后触发的一系列动作.
```plantuml
@startuml
participant 新生 as Freshman
participant 宿舍管理系统 as System
participant 管理员 as Admin
Freshman -> System: 提交入学登记表
System -> Admin: 接收新注册通知
Alt 如果当前房源充足
Admin -> System: 分配床位给该名同学
Else
Admin -> System: 将其加入等待列表
End
System -> Freshman: 返回确认邮件/短信
@enduml
```
阅读全文