文章目录
- 第1章 绪论
-
- 1.1 引言
- 1.2 内容
- 第2章 需求分析
-
- 2.1 功能需求
-
- 2.1.1 系统功能模块架构图
- 2.2 性能需求
-
- 2.2.1 精度
- 2.2.2 安全性
- 2.2.3 灵活性
- 2.3 系统需求
- 第3章 建模分析
-
- 3.1 用例图分析与设计
-
- 3.1.1 用户用例图分析
- 3.1.2 系统管理员用例图分析
- 3.1.3 用例规约
- 3.2 类图分析与设计
- 3.3 数据建模
- 3.4 顺序图分析与设计
-
- 3.4.1 用户借车顺序图
- 3.4.2 用户还车顺序图
- 3.4.3 系统管理员管理用户、车辆顺序图
- 3.5 协作图分析与设计
-
- 3.5.1 用户借车协作图
- 3.5.2 用户还车协作图
- 3.5.3. 系统管理员管理用户、车辆协作图
- 3.6 状态图分析与设计
-
- 3.6.1 用户状态图
- 3.6.2 车辆状态图
- 3.6.3 管理员状态图
- 3.6.4 订单状态图
- 3.7 活动图建模与分析
-
- 3.7.1 用户借车、还车活动图
- 3.7.2 系统管理员活动图
- 3.8 面向对象设计分析
-
- 3.8.1 外观模式
- 3.8.2 迭代器模式
- 3.8.3 责任链模式
- 3.8.4 原型模式
- 3.8.5 策略模式
- 3.8.6 观察者模式
- 结 论
- 参考文献
第1章 绪论
1.1 引言
1.2 内容
首先,在进入共享单车管理系统后,系统会提示用户进行登录,若是第一次使用该系统,需要进行注册。在登录之后,系统会根据用户的位置显示附近可用的共享单车,用户可以根据提示去选择距离自己最近的共享单车。之后用户需要扫码开锁或者输入自行车的编 进行开锁。在骑行的过程中,若用户临时有事,可以进行临时锁车,不过要在规定时间内回来,否则系统会额外收费。此外,共享单车要在规定范围内使用,不能骑出运营区。在归还车辆时,不能将车辆停在小区、学校、公园、医院等禁止停车区域,否则会进行罚款。
系统不仅要对用户进行管理,还要对车辆进行管理。系统要管理用户的登录注册,解决用户在使用过程中遇到的问题,收集用户的反馈信息等。系统会根据车辆的使用情况进行分析,对车辆进行调度,将偏远地区的车辆运送到对车辆需求较高的地方,方便用户使用。此外,系统还要根据用户反馈,安排工作人员对问题车辆进行维修。
第2章 需求分析
2.1 功能需求
共享单车管理系统主要为用户提供登录、注册及单车租赁服务,另外还要负责车辆的维修与管理
2.1.1 系统功能模块架构图
? 图3.1 用户用例图
3.1.2 系统管理员用例图分析
(1)用例模型执行者:系统管理员
(2)包括:管理用户、管理车辆
? 图3.3 类图
3.3 数据建模
根据3.3的类图进行数据建模
? 图3.5 用户借车顺序图
3.4.2 用户还车顺序图
? 用户进入还车页面,可以浏览自己的订单信息,请求还车结束订单,进入支付页面进行付款,付款成功,系统锁车,用户还车成功
? 图3.7 系统管理员管理用户、车辆顺序图
3.5 协作图分析与设计
3.5.1 用户借车协作图
? 图3.9 用户还车协作图
3.5.3. 系统管理员管理用户、车辆协作图
? 图3.11 用户状态图
3.6.2 车辆状态图
? 车辆状态图主要包括空闲状态、被借状态、临时锁车状态和故障状态
? 图3.13 管理员状态图
3.6.4 订单状态图
? 订单状态主要包括订单生成状态、记录信息状态、订单完成状态、订单支付状态
? 图3.15 用户借车、还车活动图
3.7.2 系统管理员活动图

? 图3.16 系统管理员活动图
3.8 面向对象设计分析
3.8.1 外观模式
? 在共享单车管理系统中,我们为用户提供借车服务、临时锁车服务和还车服务,这些服务我们运用了外观模式,将一系列复杂的流程封装成一个接口提供给用户使用。通过这种模式,使得客户端和系统之间解耦,让系统内部的模块更容易扩展和维护。此外,还更好的划分了访问层次。在系统中,有些方法是对外的,有些方法是内部相互交互使用的,通过外观模式,把那些暴露给外部的更能集中到门面中,这样可以实现客户端的调用,隐藏了系统内部的细节。
3.8.2 迭代器模式
? 当用户进行借车、还车和锁车时,调用的数据都是同一个,但是它们又是以不同的方式来遍历对象的,所以该系统使用了迭代器模式,提供一种方法顺序的访问各个元素,从而遍历整个对象,而又无需暴露该对象的内部表示。迭代器模式简化了聚合类,支持以不同的方式来遍历一个聚合对象。
3.8.3 责任链模式
? 用户进行单车租赁服务是一个长时间的过程,而在这个过程中如何处理用户的请求则用到了责任链模式。用户在进行借车或锁车时,只需要将请求发送到责任链上即可,无需关心请求的处理细节和请求的传递。通过责任链模式可以解耦请求的发送者和请求的处理者。
3.8.4 原型模式
? 当用户由借车状态进入临时锁车状态时或进入还车状态时会进行相应的操作,这些操作会通过复制借车状态的实例来创建一个新的实例而无需知道相应类的信息。原型模式的本质就是clone,可以解决构建复杂对象的资源消耗问题,能再某些场景中提升构建对象的效率;还有一个重要的用途就是保护性拷贝,可以通过返回一个拷贝对象的形式,实现只读的限制。
3.8.5 策略模式
? 车辆在借车状态下和临时锁车状态下其费用计算方式是不同的,所以它们使用的算法也是不同的,所以共享单车管理系统使用了策略模式,把不同状态下的的费用算法封装起来,使他们在适当的时候进行相互替换。这样不仅避免使用多重条件判断,而且算法可以自由切换。
3.8.6 观察者模式
? 在该系统中,用户和车辆需要在多种状态之间转换,所以使用了观察者模式,定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于他的对象都得到通知并被自动更新。观察者和被观察者时抽象耦合的,并建立了一套触发机制来实现广播通知。
结 论
? 在实践过程中,我遇到了很多问题,这些问题之前在单独学习每一个部分的时候是没有遇到的,当统筹起来,对一个软件进行系统的建模分析的时候,很多问题都暴露了出来,包括知识点不够熟悉、设计模式没有深刻理解、PowerDesign使用不够熟练等,之后我通过重新回顾课本、在 上搜索学习教程等方法成功的解决了这些问题,完成了此次实践。
? 通过本次实践,我对软件建模与分析这门课程有了一个系统的认识,将理论与实践联合起来,加深了对软件建模的理解,掌握了用例图、类图等多种UML图的画法,熟练的掌握了PowerDesign建模工具使用方法,也让我明白了软件建模与分析对软件开发的重要性和意义。
参考文献
1 邹盛荣.UML面向对象需求分析与建模教程(第二版).北京:科学出版 ,2019.1
2 弗里曼(美).Head First设计模式(中文版).中国电力出版
3 促进共享单车与城市空间融合发展.王光荣.管理工程学
4 共享单车深入发展面临的问题及对策.刘力.2021.7
5 共享单车管理系统的设计与实现.李志伟.电脑知
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!