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