学期2023-2024 (1)
统一建模语言UML期末大作业
题目: 线上药店管理系统
成绩:
班级: 计213-2
学号: 202158503239
姓名: 梁爽
教师: 郭艳燕老师
时间: 2023.12.24
原创性声明
专业: 软件工程 班级: 计213-2 学生姓名: 梁爽 学号: 202158503239
指导教师: 郭艳燕老师
设计题目: 线上药店管理系统
所呈交的课设计和课设计报告是本人在导师的指导下,独立工作取得的成果,所涉及到的其他人已经发表或撰写过的研究成果均已经在报告中注明引用。
供验收的设计作品符合下面第 1 项的情形:
1、完全独立完成(原创);
2、以往自己曾参与的开发项目(项目名称: )基础上的设计与分析。
3、在他人工作(来源: )的基础上,本人作了扩充,扩充的部分是 ;
4、在他人工作(来源: )的基础上,本人对其中的部分工作进行了改写,改写的部分是 ;
5、非本课教材(即其他相关书籍)的参考实例进行了扩充或改进,扩充或改进部分是 ;
6、非本课教材(即其他相关书籍)的参考实例未进行任何扩充或改进。
7、本课教材实例进行了扩充或改进,扩充或改进的部分是 。
8. 本课教材实例未进行任何扩充或改进。
9、其他 。
本人完全清楚学校及学院针对学术不端行为处理的有关规定,并对以上声明负完全的责任。
学生: 梁爽 (签名)
2023 年 12 月 24 日
表1统一建模语言UML课程期末大作业成绩评价表
课程目标 | 评价依据 | 评价指标及标准 | 满分 | 学生 | 教师 | 合计 |
课程目标1:理解面向对象的基本概念、理论和思想【理解】,掌握面向对象的分析原则【掌握】,运用面向对象的思维方式去分析软件系统,建立现实世界与机器世界的映射关系【应用】,使用UML可视化展示面向对象的分析设计思想【应用】。 | 大作业报告中软件项目的描述情况、软件项目面向对象分析的详细程度、正确性。 | 根据项目描述的准确度、分析的正确性、报告的完整读,整体的可读性。 5分:差 10分:一般 15分:良好 20分:优秀 | 20 | 20 |
|
|
课程目标2:理解软件开发过程中UML建模的作用【理解】,掌握UML知识(模型元素、图、视图)和UML建模技术【掌握】,能够针对具体的软件项目,结合面向对象方法,使用UML建模工具从多角度多层次构建软件系统的静态模型和动态模型,完成UML模型在软件开发阶段从需求、分析、设计、实现和配置的全过程应用【应用】 | 大作业报告中软件项目本身的难度、建立的UML模型种类的多少以及UML建模的准确度。 | 根据项目的难度、完成的准确度和理解情况给定分数。 50分:自己设计,并且比较合理,对自己所设计的系统理解透彻,UML模型正确。 45分:自己设计但其中存在不准确之处,或是参考现有案例但在其上进行大量修改和完善,并且理解透彻。 40分:参考现有案例,进行少量添加或修改,但能够有较好的理解。 35分:参考现有案例,但没有进行自己添加或修改,但能够进行较好的理解。 30分:没有完成设计,或者完全参考现有案例没有进行任何改动,并且在理解上存在较大偏差。 | 50 | 50 |
|
|
课程目标3:理解7种面向对象设计原则的深刻内涵【理解】,掌握这7种面向对象设计原则的使用方法【掌握】,能够选择和运用合适的面向对象设计原则来设计具有可扩展性、灵活性的软件【应用】,能够使用面向对象设计原则对系统重构方案进行分析和研究【分析】。 | 大作业报告中的设计是否使用到了面向对象的设计原则。 | 根据面向对象设计原则的使用数量,描述的准确度,与模型图的一致性。 5分:使用了1种设计原则 10分:使用了2种设计原则 15分:使用了3种设计原则 20分:使用了4种及以上设计原则 注意:必须要对使用的设计原则进行说明 | 20 | 20 |
|
|
课程目标4:理解UML是软件行业的标准化建模语言【理解】,能够通过UML图来交流设计思想【应用】。 | 答辩:与教师就设计作品进行交流。 | 根据答辩结果给出相应分数。 0分:不参与答辩 3分:答辩一般 6分:答辩良好 10分:答辩优秀 | 10 | / |
|
|
总 计 | 100 | 90 |
|
| ||
注:请在验收答辩前,对除“答辩”以外的其他项目完成自评。
【实验名称】线上药店管理系统
【实验类型】综合性实验
【实验目的】
1.掌握UML建模的基础知识及其应用;
2.熟悉Rational Rose环境及功能,能够设计出完整系统。
【实验要求】
【实验内容】
【实验步骤】
一、线上药店管理系统的需求分析
顾客:
1)注册登录
2)查询药品信息
3)将药品放入购物车
4)购买药品
5)查看查询和购买记录
6)在线咨询
药店管理员:
1)登录
2)添加、修改药品信息(出手价格、库存数量)
3)查询库存柜存药品信息
4)查询药品的详细信息(生产日期、保质期)
5)库存不足时,进货,药品入库
6)统计进货额、进货量
7)管理客户信息
药店销售员:
1)订单管理
2)统计销售额
3)在线咨询

图1 线上药店系统整体功能架构图
二、系统的UML建模
创建用例图的时候首先要确定参与者,在线上药店系统中,参与者主要有三类:顾客、销售员、管理员,另外还有线上支付系统,使得顾客顺利完成线上支付。针对不同的参与者,我们通过分析可以得到不同的用例图。
(1)顾客用例图

图1.1 顾客用例图
用例图说明:
1)顾客注册用例:未注册的顾客填写账号密码等信息完成注册操作。
2)顾客登录用例:顾客进入系统之前首先进行登录操作。
3)顾客找回密码用例:该用例是扩展用例,用于顾客忘记密码进不去系统的情况下。
4)顾客在线咨询用例:顾客可以询问某些病症需要什么药品,以及药品的功效,还可以申请修改订单信息。
5)顾客查询药品用例:顾客可以通过搜索查找药品以及其功效、价格等基本信息。
6)顾客添加购物车用例:顾客对于想要购买的药品,可以加入到购物车中。
7)顾客查询记录用例:顾客可以查看自己的浏览记录和购买记录。
8)顾客查询浏览记录用例:是查询记录的子用例,用于顾客查看自己已经看过的商品。
9)顾客查询购买记录用例:是查询记录的子用例,用于顾客查看自己所购买的商品。
10)顾客付款用例:对于购物车内的药品,顾客可以通过微信、支付宝等线上支付通道进行支付。
(2)销售员用例图

图1.2 销售员用例图
用例图说明:
1)销售员登录用例:销售员登录系统开始工作。
2)销售员订单管理用例:销售员可以修改订单信息,同时还可以统计订单信息。
3)销售员统计订单信息用例:是被包含的用例,基用例是统计销售额和订单管理。
4)销售员修改订单用例:是订单管理的被包含用例,也是在线解答的扩展用例。
5)销售员统计销售额用例:通过统计订单信息,销售员可以统计总的销售额。
6)销售员在线解答用例:回答顾客的一些问题,同时向顾客提供修改订单服务。
(3)管理员用例图

图1.3 管理员用例图
用例图说明:
1)管理员登录用例:管理员进入系统之前首先进行登录操作。
2)管理员药品信息管理用例:管理员可以修改和添加药品信息。
3)管理员添加药品信息用例:被包含用例,基用例是药品信息管理。
4)管理员修改药品信息用例:被包含用例,基用例是药品信息管理。
5)管理员库存药品管理用例:查询库存药品,判断该药品有没有缺货;药品详细信息查询,判断药品有没有过期。
6)管理员库存药品查询用例:被包含用例,基用例是库存药品管理。
7)管理员药品详细信息查询用例:被包含用例,基用例是库存药品管理。
8)管理员进货统计用例:对于缺货的药品,及时进行进货。
9)管理员用户信息管理用例:管理员可以查询顾客信息,同时可以管理销售员信息。
10)管理员查询顾客信息用例:被包含用例,基用例是用户信息管理。
11)管理员管理销售员信息用例:被包含用例,基用例是用户信息管理。
12)管理员缺货用例:扩展用例,通过查看库存药品判断缺不缺货。
13)管理员处理过期药品用例:扩展用例,通过查看药品详细信息进行过期处理。

图2.1 系统类图
(1)类图说明
用户:此处定义一个用户类的接口,声明一个登录的方法。
管理员:实现用户接口。属性:管理员ID和管理员姓名。方法:登录、进货、处理过期药品、用户管理、药品信息管理和药品库存管理。
销售员:实现用户接口。属性:销售员ID和销售员姓名。方法:登录、订单管理、在线解答和统计销售额。
顾客:实现用户接口。属性:顾客ID、医保卡号和姓名。方法:注册、登录、查询药品、添加购物车、删除购物车、在线咨询、付款和查询记录。
界面:显示各种界面。
界面控制类:属于界面的一种,是一个抽象类。方法:选择和退出。
销售员界面控制:是界面控制类的子类。
顾客界面控制:是抽象类界面控制类的子类。
管理员界面控制:抽象类界面控制类的子类。
总信息类:抽象类,便于其子类的修改与扩展。属性:药品号和顾客号。方法:增删改查。
药品总类:抽象类,属性:药品号。方法:增加、修改、查询、删除。
购物车类:记录客户购物车的物品。属性:药品号、顾客号、药品数量、药品地址。方法:增删改查。
浏览记录类:记录客户历史查看的药品。属性:顾客号、药品号、时间。方法:查询。
费用类:属性:账户号,交易类型,交易额,状态。方法有支付,回应缴费结果,查看,更新,返回。
支付界面:属性即界面的一般属性比如大小背景等此处图中均已省略,方法有显示支付和显示支付结果。
银联系统:主要进行交易,交易中自动更新数据库。
订单类:用于记录用户交易的信息。属性:顾客号、药品号、药品名称、药品数量、付款方式、商品单价、收货地址、医保卡号。方法:核对、付款、收款、修改。
药品类:用于存放药品的基本信息。属性:药品号、药品名称、药品单价、药品数量、药品信息。方法:获取、查看、出售。
药品信息:用于记录药品销售的基本信息。方法:增加、修改、查询、删除。
药品记录:用于记录进货药品的信息。属性:药品号、药品名称、进货数量、进货价格、进货时间、库存数量。方法:增加、更新、查询、统计。
(2)类之间关系说明
① 用户类是一个接口,管理员类、销售员类和顾客类都实现这个接口。
② 界面类和界面控制类之间是聚合关系,表示界面控制类是界面的一部分。
③ 界面控制类是一个抽象类,管理员界面控制类、销售员界面控制类和顾客界面控制类是抽象类的子类,两者之间是继承关系。
④ 总信息类和药品总类都是抽象类,;两者之间存在依赖关系,顾客界面控制类由总信息类组成,销售员界面控制类由总信息类和药品总类组成,管理员界面控制类由药品总类组成。
⑤ 购物车类、浏览记录、费用类和订单是总信息类的子类,药品类、药品信息类和药品记录类是药品总类的子类,两者之间是继承关系。
(3)设计原则
① 依赖倒置原则:高层模块不应该依赖底层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。在本类图中,总信息类与药品总类均是抽象类,它们依赖彼此抽象而不是依赖具体的类,可体现依赖倒置原则。
② 开闭原则:开放封闭原则的核心思想:对扩展开放,对修改封闭。在该类图中,在总信息类与药品总类的依赖倒置原则的基础之上,对内修改关闭,对外扩展开放。在该类图中,可以通过对总信息类与药品总类这两个抽象类扩展新的子类以及各种角色实现用户接口都体现了开闭原则。
③ 合成/聚合复用原则:合成/聚合复用原则是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。简单可以理解为要尽量使用合成/聚合,尽量不要使用继承。该类图中,在各类角色界面控制类中,均是由药品总类和总信息类聚合而成,体现合成/聚合复用原则。
④ 里氏代换原则:在程序当中,将一个父类对象替换成它的子类对象后,该程序不会发生异常。在该类图中,界面控制类是一个抽象类,管理员界面控制类、销售员界面控制类和顾客界面控制类是抽象类的子类,两者之间是继承关系。购物车类、浏览记录、费用类和订单是总信息类的子类,药品类、药品信息类和药品记录类是药品总类的子类,两者之间是继承关系。
⑤ 单一职责原则:指一个类或者一个模块应该有且只有一个职责。在该类图中,具体的体现是将角色的职责分成管理员、销售员和顾客三种。每个角色的界面都只有自己所要完成的那部分职责。
(1)顾客
① 顾客注册顺序图

图3.1 顾客注册顺序图
顺序图说明:
1)输入用户名和密码:顾客在页面时输入自己的用户名和密码。
2)传递用户名和密码:CustomerController将用户名和密码传递给CustomerService。
3)调用对数据库操作的方法:CustomerService中调用CustomerMapper中对数据库操作的方法。
4)将用户名和密码传递给数据库:CustomerMapper中有对数据库操作的方法将用户名和密码传递给数据库
5)查询是否符合条件:数据库接收到CustomerMapper传来的参数后,会查询传来的信息是否符合条件
6)写入数据库:将信息写入数据库
7)接收返回的信息:CustomerMapper会接收数据库查询到的信息。
8)进行相关业务逻辑处理:CustomerService会对CustomerMapper中传来的数据进行相关的业务逻辑的处理。
9)根据不同的返回结果对界面更新:CustomerController根据CustomerService中不同的处理结果对界面更新。
10)更新界面:界面完成更新操作
② 顾客登录顺序图

图3.2 顾客登录顺序图
顺序图说明:
1)输入用户名和密码:顾客在登录页面输入自己的用户名和密码
2)传递用户名和密码:CustomerController将用户名和密码传递给CustomerService
3)调用对数据库操作的方法:CustomerService中调用CustomerMapper中对数据库操作的方法
4)将用户名和密码传递给数据库:CustomerMapper中对数据库操作的方法将用户名和密码传递给数据库
5)查询是否符合条件:数据库接收到CustomerMapper传来的参数后,会查询该用户名和密码是否正确。
6)查询:数据库正在查询符合条件的数据
7)接收查询到的信息:CustomerMapper会接收数据库查询到的信息。
8)进行相关业务逻辑处理:CustomerServicel会对CustomerMapper中传来的数据进行相关的业务逻辑的处理。
9)根据不同的查询结果对界面更新:CustomerController根据CustomerService中不同的处理结果对界面更新。
10)更新界面:界面完成更新操作
③ 顾客找回密码顺序图

图3.3 顾客找回密码顺序图
顺序图说明:
1)点击找回密码:在登录界面点击找回密码,转到找回密码界面。
2)输入账号:顾客输入要找回密码的账号。
3)验证账号是否已注册:验证要找回密码的账号是否存在。
4)验证:在数据库中查找验证。
5)返回找回密码界面:验证成功后,返回找回密码界面。
6)输入新密码:顾客输入一个新的密码。
7)验证是否符合条件:验证新密码是否符合条件,不与原密码相同。
8)更新:将数据库中的密码进行更新。
9)成功:返回找回密码界面告知顾客操作已成功。
④ 顾客在线咨询顺序图

图3.4 顾客在线咨询顺序图
顺序图说明:
1)点击在线咨询:顾客遇到问题时,可以在线咨询。
2)传递咨询消息:将顾客要进行咨询这一消息传递给控制类。
3)传入相关问题:将顾客的问题传入数据库中。
4)查询:查询相关的问题。
5)找到答案:将数据库中找到的答案显示在顾客咨询界面上。
6)没找到通知销售员:没有找到答案,通知销售员进行线上解答。
7)解答:将销售员回答的结果显示在顾客咨询界面上。
⑤ 顾客查询药品顺序图

图3.5 顾客查询药品顺序图
顺序图说明:
1)请求进入查询界面:顾客登录后可进行药品查询工作。
2)顾客输入查询药品名称:顾客输入药品名称进行查找。
3)查询:根据顾客输入的药品名称在数据库中查询。
4)更新查询界面:将查找到的结果返回到查询界面。
⑥ 顾客添加购物车顺序图

图3.6 顾客添加购物车顺序图
顺序图说明:
1)请求进入浏览界面:顾客登录后可以浏览各种药品。
2)加入购物车:顾客将想要购买的药品加入购物车。
3)将药品存入数据库:将顾客要购买的药品存入数据库中。
4)添加:添加药品号到数据库中。
5)显示添加成功窗口:在浏览界面上通知顾客已成功加入购物车。
⑦ 顾客查询记录顺序图

图3.7 顾客查询记录顺序图
顺序图说明:
1)申请进入查询记录界面:顾客登录后可进行浏览记录和订单记录查询工作。
2)传入要查看的记录:顾客输入将要查看的记录。
3)查询:根据顾客输入的记录名称在数据库中查询。
4)更新界面:将查找到的结果更新到查询记录界面。
⑧ 顾客付款顺序图

图3.8 顾客付款顺序图
顺序图说明:
1)请求进入购物车界面:顾客登录之后可以执行查看购物车操作。
2)查看费用:顾客可以查看各个药品的费用以及总费用。
3)请求进入支付界面:顾客可以进入支付界面进行支付。
4)交易:顾客通过线上支付系统进行付款。
5)显示支付结果:线上支付系统将付款结果显示在支付界面上。
6)回应缴费结果:费用实体类对应的数据库将已支付的药品从数据库中去除。
7)更新购物车:已经购买的药品不在购物车中显示。
(2)销售员:
① 销售员统计销售额顺序图

图3.9 销售员统计销售额顺序图
顺序图说明:
1)请求进入订单界面:销售员登陆之后可以进行订单查看操作。
2)计算总的销售额:销售员可以通过订单控制类计算总的销售额。
3)访问订单数据库:订单控制类去访问订单数据库。
4)查询:查询数据库中的各个订单。
5)每项订单的销售额:将查询到的订单销售额返回给订单控制类。
6)显示总的销售额:订单控制类通过计算,将总的销售额显示到订单界面。
② 销售员订单管理顺序图

图3.10 销售员订单管理顺序图
顺序图说明:
1)请求进入订单界面:销售员登陆之后可以进入订单界面执行相应操作。
2)输入订单操作:可以对订单进行查询、修改操作。
3)将操作传入数据库:如果是查询操作,直接查询即可,如果是修改操作,就要传入要修改的信息。
4)执行相应的操作:根据需要查询或者更新数据库。
返回操作成功信息:成功查询或修改之后,将成功信息显示在订单界面中。
(3)管理员
① 管理员药品信息管理顺序图

图3.11 管理员药品信息管理顺序图
顺序图说明:
1)请求进入药品信息管理界面:管理登陆之后可以在药品信息管理界面中进行操作。
2)输入要执行的操作:有添加药品信息和修改药品信息两种操作。
3)将操作传入数据库中:将要添加或者修改的药品信息传入数据库中。
4)执行相应操作:根据传入的数据,更新数据库。
5)显示成功结果:将成功的结果显示在药品信息管理界面上。
② 管理员库存药品管理顺序图

图3.12 管理员库存药品管理顺序图
顺序图说明:
1)请求进入库存管理界面:管理员登陆之后可以进入库存管理界面进行操作。
2)输入相关操作:管理员可以查看库存,也可以查看药品生产日期。
3)传入相关数据:根据管理员选择的药品传入药品号。
4)查询:在数据库中查询。
5)库存数量:将库存数量返回库存管理界面。
6)库存充足、缺货:有管理员判断是否缺货。
7)补货:如果缺货的话,就进行补货。
8)生产日期:如果管理员进行查看日期操作,则把生产日期显示在界面上。
9)未过期、过期:判断药品是否过期。
10)输入药品信息:如果过期的话,输入药品号。
11)删除药品:对数据库执行删除操作。
12)删除:数据库删除过期的药品。
13)删除成功:将删除结果返回到界面上。
③ 管理员进货统计顺序图

图3.13 管理员进货统计顺序图
顺序图说明:
1)进入进货界面:管理员登录之后可以执行进货操作。
2)点击进货:管理员在进货界面点击进货。
3)输入进货的药品:输入进货的药品号。
4)更新:在数据库中更新药品的库存。
5)显示现在库存量:在激活界面上显示出进货商品的库存量。
④ 管理员用户信息管理顺序图

图3.14 管理员用户信息管理顺序图
顺序图说明:
1)请求进入用户管理界面:管理员登陆之后可以执行用户管理的操作。
2)输入操作:输入管理员想执行的操作内容。
3)传入数据库:将管理员想执行的内容的ID号传入数据库中。
4)查询:根据ID号在数据库中查询。
5)显示在界面上:将在数据库中查询到的结果显示在界面上。
(1)顾客
① 顾客注册协作图

图4.1 顾客注册协作图
② 顾客登录协作图

图4.2 顾客登录协作图
③ 顾客添加购物车协作图

图4.3 顾客添加购物车协作图
(2)销售员
① 销售员订单管理协作图

图4.4 销售员订单管理协作图
② 销售员统计销售额协作图

图4.5 销售员统计销售额协作图
(3)管理员
① 管理员进货统计协作图

图4.6 管理员进货统计协作图
② 管理员药品信息管理协作图

图4.7 管理员药品信息管理协作图
(1)顾客
① 顾客登录状态图

图5.1 顾客登录状态图
状态图描述:
顾客打开登录界面后填写好账号信息,信息提交后进入信息检查状态,信息检查有两个结果,若验证成功,顾客关闭登陆界面,进入角色功能界面开始其他操作;若验证失败,顾客可通过找回密码进行重置操作。
② 顾客购买药品状态图

图5.2 顾客购买药品状态图
状态图描述:
顾客成功登录之后,进入药品浏览界面,此时可以通过查询功能搜索所需药品,如果确定购买这种药品的话,就将其加入到购物车,不确定的话可以在线咨询销售员之后再加入到购物车中,然后提交订单,最后付款,成功购买药品。
(2)销售员
① 销售员统计销售额状态图

图5.3 销售员统计销售额状态图
状态图描述:
销售员未统计销售额之前,订单处于未统计状态,而当销售员统计之后,变为已统计状态,而当有新的订单时,已经统计过的就不会再统计了。
② 销售员修改订单状态图

图5.4 销售员修改订单状态图
状态图描述:
销售员可以查看顾客的原始订单,当销售员收到顾客的修改请求后,先查看未修改的订单,然后在此基础上进行修改。
③ 销售员状态图

图5.5 销售员状态图
状态图描述:
销售员首先进行登录,然后进入销售员界面,可以执行统计销售额、订单管理和在线解答三个操作。
(3)管理员
① 管理员状态图

图5.6 管理员状态图
状态图描述:
管理员首先进行登录,然后进入管理员界面,可以执行药品信息管理、库存药品管理、进货统计和用户信息管理四个操作。
② 管理员进货统计状态图

图5.7 管理员进货统计状态图
状态图描述:
管理员对于新进货的药品,执行进货统计操作,首先对于未统计的药品进行检验,如果药品合格的话,就将其统计下来,不合格的话就要将其回收。
(1)顾客
① 顾客总活动图

图6.1 顾客总活动图
顾客总活动图描述:
首先顾客登录系统,输入账号密码进行验证,验证不通过显示登录失败,可以直接退出或者通过找回密码重新登录。验证成功后,系统显示顾客可执行的所有操作。顾客可以在线询问,也可以自己查询药品,找到药品后选择加入购物车,然后提交订单,手机线上支付进行结账。最后退出系统。
② 顾客删除购物车活动图

图6.2 顾客删除购物车活动图
顾客删除购物车活动图描述:
首先顾客提出删除请求,然后转到购物车界面,询问顾客是否删除药品,如果否,则返回购物车页面,如果是,则更新数据库后返回购物车页面。
(2)销售员
① 销售员登录活动图

图6.3 销售员登录活动图
销售员登录活动图描述:
首先销售员选择登录,输入用户名和密码,进行信息验证,如果验证失败,则返回登录界面重新登录,如果验证成功,则显示销售员管理界面。
② 销售员订单管理活动图

图6.4 销售员订单管理活动图
销售员订单管理活动图描述:
首先销售员通过在线客服得出顾客要修改订单信息,然后转到修改页面,填写修改的信息,将数据保存到数据库中,系统提示修改成功,然后销售员将修改成功的信息告知顾客。
③ 销售员统计销售额活动图

图6.5 销售员统计销售额活动图
销售员统计销售额活动图:
首先销售员打开统计销售额页面,然后点击统计按钮,判断订单是否被统计,如果是,则直接查看,如果不是,则将订单上的金额提取出来,计算并显示总的销售额,销售员可以点击查看。
(3)管理员
① 管理员注册活动图

图6.6 管理员注册活动图
管理员注册活动图描述:
首先管理员提出注册请求,然后系统显示注册界面,管理员填写注册信息,判断是否符合规范,若不符合,则提示错误信息,重新填写注册信息;若符合,将注册信息保存到数据库中,并显示注册成功页面。
② 管理员库存药品管理活动图

图6.7 管理员库存药品管理活动图
管理员库存药品管理活动图描述:
首先管理员请求进入库存管理界面,然后点击库存药品查询,系统显示药品库存界面,通过界面所显示的信息,判断是否缺货,如果缺货的话,则联系供应商进货,如果不缺货,直接结束。
③ 管理员活动图

图6.8 管理员活动图
管理员活动图描述:
首先管理员要进行登录,输入自己的账号和密码,系统进行验证,如果验证不通过,则重新登录,若验证通过,直接显示管理员界面,此时可以看到管理员的主要任务是药品信息管理、库存信息管理、进货统计和用户信息管理。

图7.1 系统组件图
组件图描述:
用户首先在登录界面上进行登录,然后进行身份验证,验证成功后进入不同身份的界面,然后点击界面上的内容,通过业务逻辑层连接数据库,各自执行不同的操作。

图8.1 系统部署图
部署图描述:
部署图主要是用来说明如何配置系统的软件和硬件,线上药店管理系统的服务器负责保存整个Web应用程序,数据库是负责数据库管理。部署图(deployment diagram,配置图)是用来显示系统中软件和硬件的物理架构。使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件元素的配置和部署方式。
三、总结
通过本次实训,在老师的帮助和指导下,我了解了设计模式和设计原则,提高了对用例图、活动图、时序图、协作图、部署图、组件图、状态图、类图的了解,提高了自己的绘图能力,增强了对uml的理解。以下是UML的主要元素和图表类型的总结:
结构图:用于描述系统的静态结构和组成部分。常见的结构图包括:
类图(Class Diagram):描述类、接口、关系等。
对象图(Object Diagram):展示对象之间的关系和实例化关系。
包图(Package Diagram):描述包、子系统和组织结构等。
行为图:用于描述系统的动态行为和交互。常见的行为图包括:
用例图(Use Case Diagram):描述系统的功能需求和用户之间的关系。
活动图(Activity Diagram):展示系统或对象的工作流程和行为。
状态图(State Machine Diagram):表示对象在不同状态之间的转换和事件触发。
时序图(Sequence Diagram):展示对象之间的交互和消息传递顺序。
通信图(Communication Diagram):描述对象之间的消息交互关系。
交互图:用于描述系统中对象之间的动态交互和通信。常见的交互图包括:
顺序图(Sequence Diagram):展示对象之间的时间序列和消息传递顺序。
协作图(Collaboration Diagram):表示对象之间的协作和交互关系。
构件图:用于描述系统的物理架构和组件之间的关系。
部署图:用来对部署系统时涉及的硬件进行建模。
通过这次UML1期末大作业,我获得了宝贵的经验和技能,对UML建模和软件系统设计有了更深入的理解。我相信这些知识和技能将在我的职业生涯中发挥重要作用,帮助我更好地进行软件开发在今后的学习过程中,我会进一步加强自己对各种图的理解能力和绘制能力,学以致用,增强自己的综合能力。最后,我诚挚的感谢郭老师的教授和指导。