目录
在共享汽车系统UML类图解析与绘制-CSDN博客的类图基础上,使用对象图进一步展示了系统在某一时刻的具体状态和对象之间的关系。通过对象图清晰地看到系统中各个对象的实例化属性以及它们如何协作完成系统的功能。
一、对象图的用途
对象图是 UML(统一建模语言)中的一种重要工具,用于展示系统中对象的实例及其相互关系。它帮助我们从具体实例的角度理解系统的运行状态,尤其是在复杂系统中,对象图可以清晰地展示对象之间的关联和数据流动。
二、共享汽车系统的对象图分析
以下是对共享汽车系统对象图的详细解读:
1. 对象实例及其属性
1.1 Administrator(管理员)
管理员是系统的管理者,负责车辆、行程、计费规则和用户的管理。对象图中的 administrator1
包含以下属性:
-
属性:
-
adminID = A001
(管理员ID) -
account = admin001
(管理员账号) -
name = 张三
(姓名) -
password = 123456
(密码)
-
1.2 User(用户)
用户是系统的使用者,可以查看附近的共享汽车、开始和结束行程、结算费用等。对象图中的 user1
包含以下属性:
-
属性:
-
userID = U001
(用户ID) -
name = 李四
(姓名) -
phoneNumber = 13822664578
(手机号) -
password = 654321
(密码)
-
1.3 SharedCar(共享汽车)
共享汽车是用户可以租用的车辆,包含车辆的基本信息和状态。对象图中的 sharedCar1
包含以下属性:
-
属性:
-
carID = C001
(车辆ID) -
carModel = 特斯拉 Model 3
(车型) -
area = 鼎湖区
(所属区域) -
currentLocation = 肇庆市鼎湖区莲花停车场
(当前位置) -
carStatus = 可用
(车辆状态)
-
1.4 Trip(行程)
行程记录了用户的使用过程,包含行程的基本信息和费用结算。对象图中的 trip1
包含以下属性:
-
属性:
-
tripID = T001
(行程ID) -
startTime = 2025-3-27 8:00:00
(开始时间) -
startLocation = 广东省肇庆市丰乐路
(起始位置) -
endLocation = 广东省肇庆市丰乐路20路
(结束位置) -
duration = 2.5
(时长,单位:小时) -
cost = 50.0
(费用,单位:元) -
userID = U001
(用户ID) -
carID = C001
(车辆ID)
-
1.5 BillingTool(计费工具)
计费工具用于管理计费规则和计算费用。对象图中的 billingTool1
包含以下属性:
-
属性:
-
carStartTime = 2025-3-27 8:00:00
(汽车开始使用时间)
-
1.6 BillingRule(计费规则)
计费规则定义了费用的计算方式。对象图中的 billingRule1
包含以下属性:
-
属性:
-
billingRuleID = BR001
(计费规则ID) -
name = 常规计费规则
(名称) -
detail = 按里程和时长计费
(详细描述) -
price = 2.0每公里,1.5每分钟
(价格)
-
2. 对象之间的关系
2.1 Administrator 和 SharedCar
-
关系:管理员管理共享汽车。
-
实例:
administrator1
管理sharedCar1
。
2.2 User 和 Trip
-
关系:用户发起并管理行程。
-
实例:
user1
发起并管理trip1
。
2.3 Trip 和 SharedCar
-
关系:行程使用共享汽车。
-
实例:
trip1
使用sharedCar1
。
2.4 Trip 和 BillingRule
-
关系:行程使用计费规则进行费用结算。
-
实例:
trip1
使用billingRule1
进行费用结算。
2.5 BillingTool 和 BillingRule
-
关系:计费工具使用计费规则。
-
实例:
billingTool1
使用billingRule1
。
三、系统工作流程
3.1 用户发起行程
-
用户登录:
user1
通过userLogin()
方法登录系统。 -
查看附近车辆:
user1
调用viewSurroundingCars()
方法查看附近的共享汽车。 -
选择车辆:
user1
选择sharedCar1
并扫码开锁(scanToUnlock()
)。
3.2 行程开始
-
开始行程:
user1
调用startTrip()
方法开始行程。 -
记录开始时间:系统记录
trip1
的开始时间(startTime
)和起始位置(startLocation
)。
3.3 行程结束与费用结算
-
结束行程:
user1
调用endTrip()
方法结束行程。 -
记录结束位置和时长:系统记录
trip1
的结束位置(endLocation
)和总时长(duration
)。 -
费用结算:系统根据
billingRule1
计算费用(calculateCost()
),并将费用记录到trip1
的cost
属性中。
3.4 管理员管理
-
管理车辆:
administrator1
通过manageCars()
方法管理sharedCar1
。 -
管理计费规则:
administrator1
通过manageBillingRules()
方法更新或删除billingRule1
。
四、共享汽车系统对象图绘制
五、对象图的价值
对象图不仅帮助我们理解系统的静态结构,还可以用于:
-
需求分析:通过实例化视角验证需求是否完整。
-
设计验证:确保系统设计符合实际需求。
-
代码实现:指导开发人员实现系统的对象结构。
-
文档记录:为系统维护和后续开发提供参考。
总结
对象图作为一种强大的建模工具,能够帮助我们更好地理解和设计复杂的系统结构。