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

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

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

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

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

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

相关推荐
rolt2 天前
PlantUML描述《分析模式》第4章企业财务观察(2)
领域模型·架构师·uml
吴声子夜歌4 天前
PlantUML——状态图
uml·plantuml·状态图
吴声子夜歌4 天前
PlantUML——序列图
uml·plantuml·序列图
吴声子夜歌5 天前
PlantUML——活动图
uml·plantuml·活动图
吴声子夜歌5 天前
PlantUML——类图(一)
uml
吴声子夜歌5 天前
PlantUML——类图(二)
uml·plantuml·类图
吴声子夜歌6 天前
PlantUML——对象图
uml·plantuml·对象图
吴声子夜歌6 天前
PlantUML——用例图
uml·plantuml
rolt8 天前
PlantUML描述《分析模式》第4章企业财务观察(1)
产品经理·架构师·uml·系统工程
KobeSacre9 天前
UML 学习
学习·uml