《实验一基于.UML地网上购物系统分析与设计.doc》由会员分享,可在线阅读,更多相关《实验一基于.UML地网上购物系统分析与设计.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 实验一 基于 UML 的网上购物系统分析与设计一、实验目的一、实验目的1熟悉 UML 各图的基本功能和使用方法。2掌握如何使用建模工具绘制 UML 各图方法。3学习面向对象的系统分析与设计方法。二、实验器材二、实验器材1PC 一台。2Rational Rose 2003 工具软件。三、实验内容三、实验内容利用 Ration Rose 统一建模工具,以华龙百货销售有限公司的网上购物系统为实验案例,进行基于 UML 的系统分析与设计,完成需求获取、系统分析、系统设计各阶段的基本任务。四、实验步骤四、实验步骤1分析网上购物系统的需求,绘制用例图,建立用例模型。识别用例之间的关系。用例图如图:网上购
2、物用例图顾客服务用例图订单管理用例图顾客管理用例图商品管理用例图2分析主要用例的用例描述(包括主事件流、可选事件流和例外事件流) 。答:搜索商品搜索商品用例名:搜索商品(Search for Items)简要说明:这个用例描述顾客根据关键词搜索商品的过程。前置条件:顾客已进人 Main Page 页面。事件流:(无) 。基本事件流:(1)顾客输人关键词,点击“搜索”按钮;(2)系统根据所输人关键词,查询数据库;(3)系统显示查询结果。替代事件流:数据库中无符合关键词的商品(缺货或者没有该商品) 。(1)在基本事件流第 2 步,系统查询数据库时,查到数据库商品无符合关键词的商品,用例开始;(2)
3、系统显示“查无符合关键词的商品!”信息;(3)用例结束。后置条件:(无) 。把商品加人购物车把商品加人购物车用例名:把商品加人购物车(Add Items to Shopping Cart)简要说明:这个用例描述把物品加人购物车的过程。前置条件:顾客已登录,并进人 ItemUI 页面。事件流:(无) 。基本事件流:(1)顾客点击所选商品旁的“加进购物车”按钮,用例开始;(2)系统根据所选商品的 PID 查询数据库,看是否有所选商品;(3)系统根据顾客的 C1D 查询数据库,获取顾客信息;(4)系统把所选商品信息及顾客信息加人顾客的购物车中;(5)系统更新显示购物车的信息;(6)用例结束。替代事件
4、流一:所查商品不符合要求(缺货或者没有该商品) 。(1)在基本事件流第 2 步,系统查询数据库时,查到数据库里该商品已不存在,或者数量为 0,用例开始;(2)系统显示“商品已无,加人购物车失败”信息;(3)用例结束。替代事件流二:顾客没有购物车。(1)在基本事件流的第 3 步,系统查出顾客没有购物车,用例开始;(2)系统提示顾客创建一个新的购物车;(3)用例结束。后置条件:(无) 。查着购物车查着购物车用例名:查看购物车(View the Shopping Cart) o简要说明:这个用例描述顾客查看购物车信息的过程。前置条件:顾客已登录并且拥有一个购物车。事件流:(无) 。基本事件流:(1)
5、顾客点击“查看购物车”按钮,用例开始;(2)系统根据当前顾客 CID 查询相关的购物车;(3)系统显示该购物车信息;(4)用例结束。替代事件流:顾客购物车已不存在。(1)系统根据顾客名查不到相关的购物车(可能是未访问时间太长,系统已取消该购物车) ;(2)系统显示“购物车不存在”信息;(3)用例结束。后置条件:(无) 。从购物车删除某商品从购物车删除某商品用例名:从购物车删除某商品(Delete ltcms in Shopping Cart)简要说明:这个用例描述顾客删除购物车中某商品的过程。前置条件:顾客已登录,并且已在购物车界面。事件流:(无) 。基本事件流:(1)顾客点击 从购物车删除某
6、商品”按钮,用例开始;(2)系统显示“是否删除该商品?”警告;(3)顾客选择确定;(4)系统根据购物车 IID 和顾客 CID 访问数据库;(5)删除购物一车中的该商品;(6)系统更新购物车显示界面;(7)用例结束替代事件流:顾客取消删除。(1)在基本事件流第 3 步中,顾客取消,用例开始;(2)系统返回购物车界面;(3)用例结束。后置条件:(无) 。修改购物车修改购物车用例名:修改购物车(Update the Shopping Cart) o简要说明:这个用例描述顾客更新购物车中商品数量的过程。前置条件:顾客已登录,并且已在购物车界面。事件流:(无) 。基本事件流:(1)顾客修改购物车中商品
7、数量(可以不修改) ,点击“修改商品信息”按钮,用例开始;(2)系统根据购物车 IID 和顾客 CID 访问数据库;(3)系统将新的购物车信息保存到购物车数据库(数量为 0 则删掉商品信息) ;(4)系统根据数据库中购物车信息更新购物车界面;(5)用例结束。替代事件流:库存商品数量不足。(1)系统检查到顾客欲购商品数量大于库存中商品数量,用例开始;(2)系统显示该商品数量不足的信息:(3)用例结束后置条件:(无) 。购买购物车中的商品购买购物车中的商品用例名:购买购物车中的商品(Purchase Items in Cart) o简要说明:这个用例描述顾客选择好所要商品后,确定购买的过程。前置条
8、件:顾客已登录,并且已在购物车界而。事件流:(无) 。基本事件流:(1)顾客点击“结算”按钮,用例开始;(2)系统根据登录顾客 CID 查询顾客数据库;(3)系统根据顾客信息显示送货信息;(4)顾客修改送货信息(可以不改) ,并选择提交;(5)系统查询商品数据库.检查该商品库存是否满足购物数量;(6)系统对于购物车中的每种商品。在商品数据库的商品信息中减去相应的数量;(7)顾客通过支付系统进行结算;(8)根据送货信息、创建一个新的订单,订单号根据订单数据库数据由系统自动生成;(9)系统将该顾客的商品信息加人新建的订单中;(10)系统设置订单状态;(11)系统把订单信自、保存到订单数据库;(12
9、)系统显示订单信息和“购物成功”信息;(13)用例结束。替代事件流:商品数量不足。(1)在基本事件流第 5 步中.系统检查出商品数量不足,用例开始;(2)系统显示数量不足信息并返回购物车界而,并提示顾客修改购物车中的相关商品数量或者删除该商品;(3)用例结束。后置条件;(无) 。3绘制抽象类图,建立网上购物系统的领域模型,给出关键业务概念的术语表。网上购物部分的分析类图4进行系统分析,根据用例描述,绘制顺序图,完成用例实现。在用例实现过程中,需考虑新增加的责任如何分配。答:顺序图如下:搜索商品用例的顺序图把商品加入购物车用例顺序图查看购物车用例的顺序图修改购物车用例的顺序图从购物车删除某商品用
10、例的顺序图购买购物车中的商品用例的顺序图5根据顺序图,绘制协作图。答:对应协作图如下:搜索商品用例的协作图把商品加入购物车用例协作图查看购物车用例的协作图修改购物车用例的协作图从购物车删除某商品用例的协作图购买购物车中的商品用例的协作图6绘制网上购物过程的活动图。7绘制订单对象的状态图。8绘制分析类图,建立分析模型。网上购物部分的分析类图9绘制包图,完成系统总体结构设计。10分析系统的设计模式,绘制设计类图。11进行系统的数据库设计。答:数据库设计如下表所示:顾客(Customer()信息表 字段名称字段类型说明备注 CIDInt顾客编号Primary Key LoginNameVarchar
11、(20)登录名称Not Null CustomerPasswordVarchar(20)顾客密码Not Null CustomerEmailVarchar(40)顾客电子邮箱Not Null CustomerNameVarchar(20)顾客姓名 CustomerSexVarchar(2)顾客性别 CustomerTelVarchar(16)顾客电话 CustomerHandphoneVarchar(13)顾客手机 CustomerAddressVarchar(100)顾客地址 CustomerZipVarchar(10)顾客邮编 CustomerLevelInt顾客级别 CustomerCr
12、eatDateDatetime建立日期商品(Product)信息表 字段名称字段类型说明备注 PIDInt商品编号Primary Key CaIDInt类别编号Not Null ProductNameVarchar(100)商品名称 ProductContentVarchar(5000)商品内容 ProductDescriptionVarchar(2000)商品简介 PriceDecimal(9,2)会员价格 MemberPriceDecimal(9,2)会员价格 ProductPictureVarchar(200)商品图片 ProductstocksInt商品库存 RegisterDateD
13、atetime商品上架日期商品类别(ProductCategory)表 字段名称字段类型说明备注 CaIDInt类别编号Primary Key CategoryNameVarchar(100)类别名称订单(Order)表字段名称字段类型说明备注OIDInt订单编号Primary KeyCIDInt顾客编号Foreign key ,Not NullOrderDateDatetime订单提交日期Not NullOrderRecNameVarchar收货人姓名OrderRecAddressVarchar收货人地址OrderEmailVarchar收货人电子信箱OrderTelVarchar收货人电话
14、OrderRecZipVarchar收货人邮编OrderTotalAmountDecimal(9,2)商品总金额OrderStatusInt订单状态订单状态:1 为核查,2 为发货,3为等待货物,4 为交付,5 为取消,默认为 1订单项目(OrderLineItem)表字段名称字段类型说明备注LIDInt订单项编号Primary KeyOIDInt订单编号Foreign key ,Not NullIIDInt购物项目编号Foreign key ,Not NullPIDInt商品编号Foreign key ,Not NullQuantityInt订单项数量Not NullLineItemAmou
15、ntDecimal(9,2)订单项金额Not Null购物车(cart)表字段名称字段类型说明备注IIDInt购物项目编号Primary KeyCIDInt顾客编号Foreign key ,Not NullPIDInt商品编号Foreign key ,Not NullQuantityInt购物项数量Not NullPriceDecimal(9,2)价格MemberPriceDecimal(9,2)会员价格12绘制系统的部署图。五、实验结果最终类图:六、实验小结答:在实验中遇到的主要问题是创建各种模型图的时候,不知道如何使用UML 去创建模型,不知道创建菜单和创建工具在哪里,经过询问同学后和上网搜索之后知道了位置,才顺利进行了实验。实验中做的过程不是很难,实验还是比较简单的。这次实验给了我很大的启发和锻炼,很大程度上考验了我对基础知识的掌握和具体动手画图的能力,在做实验的过程中我也发现了自己很多基础知识并不牢固,通过复习使我更深刻的理解的 UML 以及数据结构的具体知识,而且还使我提高了具体解决问题的能力。通过本次实验课的学习,我基本学会使用了 UML 的使用方法,学会使用UML 绘制各种模型图,初步了解了软件工程的基本思想和前期设计,应该说,这次实验的收获还是巨大的。