E2、UML类图顺序图状态图实训

一、实验目的

在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。在掌握面向对象七个设计原则基础上,能够在具体软件设计中能实际运用这些原则来提高系统的可维护性。

二、实验工具

1.Star UML,NetBeans,eclipse,Myeclipse 软件。

2.Windows系统PC机。

三、实验要求

  1. 《设计模式》教材P23页思考与练习第1、2、3题。

四、实验内容

1.类图:某商场会员管理系统包含一个 ++++会员类++++** (Member),会员的基本信息包括 ++++会员编号、会员姓名、联系电话、电子邮箱、地址++++ 等,会员可分为 金卡会员 (GoldMember)和 银卡会员 (SilverMember)两种,不同类型的会员在购物时可以享受不同的折扣;每个会员可以拥有-个或多个订单(Order),每一个 订单 又可以包含至少一条商品销售信息(Productltem), 商品销售信息 包括 ++++订单编号、商品编号、商品数量、商品单价和折扣++++ 等;每一条商品销售信息对应一类商品(Product), 商品信息 包括 ++++商品编号、商品名称、商品单价、商品库存量、商品产地++++ 等。**

1、Member(会员):

属性: Mnumber(会员编号): String、 Mname(会员姓名): String、 Mcall(联系电话): int、 Memail(电子邮箱): String、Maddress(地址): String。

会员类是其他会员类型的基类,可以进一步细分为金卡会员(GoldMember)和银卡会员(SilverMember)。

  1. GoldMember(金卡会员):

继承自Member类。金卡会员在购物时可享受特定的折扣。

  1. SilverMember(银卡会员):

继承自Member类。 银卡会员在购物时可享受特定的折扣。

  1. Order(订单):

属性: OderNumber(订单编号): String。一个会员可拥有一个或多个订单。

  1. Productltem(商品销售信息):

属性: Order(订单): void方法,可能表示订单的创建或处理)、 unit_price(单价): double、 discount(折扣): double、 product_number(商品编号): int、 Quantity(数量): int、Order_number(订单编号): int、每个订单可以包含至少一条商品销售信息。

6、 Product(商品):

属性: Product_number(商品编号): int、 product_name(商品名称): String、unit_price(单价): double、 inventory(库存量): int、 product_origin(商品产地): String、每一条商品销售信息对应一类商品。

7、类之间的关系:

(1)泛化关系:Member类是金卡会员(GoldMember)和银卡会员(SilverMember)的基类,表示金卡会员和银卡会员都是会员的一种。

(2)关联关系:一个会员(Member)可以拥有多个订单(Order),表示会员与订单之间的一对多关系。

(3)关联关系:一个订单(Order)可以包含多个商品销售信息(Productltem),表示订单与商品销售信息之间的一对多关系。

(4)关联关系:一个商品销售信息(Productltem)对应一个商品(Product),表示商品销售信息与商品之间的一对一关系。

  1. 顺序图: 图书管理员 打开 借书界面 , ++++输入借书信息++++** ++++提交借书请求;++**++****

系统 ++++证借书卡状态++++** ,如果该借书卡未借书:则 ++++记录借书信息++++ ++++修改图书状态++++ ++++借书卡状态++++ ,并提示 ++++借书成功++++ ,否则提示 ++++借书失败++++ **

  1. 某销售信息管理系统中 :销售部员工 可以 ++++提交订单++++** ,刚提交的订单为 ++++"初始"状态++++ ; 系统管理员 可以 ++++处理订单++++ ,如果 ++++订单无误++++ ,则 ++++修改订单为"备货"状态++++ ,否则将 ++++订单退还++++ 给提交订单的 销售部员工 修改,员工此时可以 ++++取消订单++++ ; 仓库管理员 ++++备货完毕++++ 后可将订单状态改为 ++++"发货"状态++++ ; 销售部员工 在确认客户已经 ++++收到货物++++ 后,可将订单改为" ++++关闭"状态++++ 。绘制状态图描述上述过程。**
  • 实验思考

通过本次实验,我更加明确了面向对象设计原则在提高系统复用性和可维护性方面的重要性。在设计类图时,我特别注意了如何合理地应用封装、继承和多态等原则,以确保设计的合理性和高效性。

在设计商场会员管理系统的类图时,我学习到了如何将现实世界的问题抽象成计算机世界中的类和对象。通过泛化、关联等关系,我能够清晰地表达出不同类之间的关系,这对于后续的系统开发和维护非常关键。

顺序图帮助我理解了系统操作的动态过程。在绘制图书借阅系统的顺序图时,我学会了如何通过顺序图来描述对象间的交互过程,这对于理解系统的运行机制和调试程序非常有帮助。

通过绘制销售信息管理系统的状态图,我深入理解了状态图在描述对象状态变化中的作用。状态图不仅帮助我清晰地展示了订单状态的流转,也让我认识到在设计系统时需要考虑的各种状态转换条件。

实验让我意识到理论知识与实践操作的结合是至关重要的。通过将《设计模式》中的理论应用到实际的软件设计中,我能够更好地理解

相关推荐
肖老师+17 小时前
可视化建模与UML《状态图实验报告》
uml·可视化建模
rolt3 天前
[pdf,epub]162页《分析模式》漫谈合集01-35提供下载
ddd·架构师·uml·领域驱动设计·面向对象
守望时空334 天前
UML活动图绘制指南
uml
A_cot4 天前
理解设计模式与 UML 类图:构建稳健软件架构的基石
microsoft·设计模式·简单工厂模式·工厂方法模式·uml
肖老师+4 天前
可视化建模与UML《协作图实验报告》
uml·可视化建模
喵~来学编程啦8 天前
【软件工程】一篇入门UML建模图(类图)
软件工程·uml
梁辰兴8 天前
Enterprise Architect 16 下载、安装与无限30天操作
uml·安装教程·下载·enterprise·architect·ea·16
成工小白9 天前
丹摩征文活动|丹摩智算平台下的YoloV8模型训练与测试实践
linux·yolo·uml·类图
oioihoii9 天前
UML中类图的介绍与使用
c++·设计模式·c#·uml