网上图书销售系统本文档介绍网上图书销售系统的UML建模过程。1.1网上图书销售系统的需求分析寻找需求不是件容易的事情,软件开发人员最讨厌的就是需求经常变化,因此,在建模之前明确需求非常重要。1.1.1系统总体的功能需求网上图书销售系统是一个复杂的电子商务系统,它必须提供用户的接口以供用户登录并选择喜好的图书;同时还必须提供系统的管理接口以供管理员和一般的网站工作人员处理客户订单并维护网站正常运作。系统总体功能需求框图如图1-1所示。网上图书销售系统管理员接口模块数据服务模块用户接口模块图1-1系统总体功能需求框图1.用户接口模块用户接口是网站用户使用图书销售系统服务的入口,所有的在线用户都通过浏览登录网站,并进行一系列的查询,订购操作。用户接口模块包括了用户信息维护、商品查询、订购商品和订单维护4个部分。用户登录系统后,用户ID将会被保存在服务器的缓存中,用户在系统中所做的操作,包括查询、订购等都将被系统存储在数据库中,以供系统那个进行销售情况以及销售走势分析。2.管理员接口模块这是系统提供给网站维护和管理人员的接口。管理员接口模块包括商品信息维护、内部员工信息维护、订单处理、销售情况查询、报表维护5个部分。网站的一般工作人员通常只具有订单处理的权限,他们获得用户提交的订单,并根据库存情况来决定发货或者推迟发货。网站的管理员具有所有的管理权限,可以处理客户的订单,可以阅览网站商品的销售情况、销售走势,以便根据不同的情况及时的调整经营战略,将库存成本和资金占有用率降到最低的限度。3.数据服务模块数据服务器模块是系统正常运行的基础,包括客户的查询,定单的保存;网站工作人员的定单处理;网站管理员的销售情况查询与分析。1.1.2用户接口模块用户接口模块包括如图1-2所示的几个方面。用户接口模块商品查询订购商品用户信息维护订购维护图1-2用户接口模块1.用户信息维护每个使用该系统的用户必须经过注册,而注册的用户名是用户的唯一标识。系统可以接收更多可用的客户信息,比如购物方面的喜好、经济能力等。系统的后台程序会自动记录每个用户在登录网站后进行的所有操作,包括查询和订购信息。这些信息对于系统的管理员都是珍贵的数据,系统分析程序可以根据用户的查询记录判断该客户的喜好,可以根据用户的购买情况判断该客户的经济情况。系统后台程序可以根据分析的结果自动得出给该用户的推荐商品,在用户登录时显示在醒目的位置。用户维护功能如图1-3所示。1:输入新客户信息F:将记录更新到数据库O:生成新的客户列表图1-3用户信息维护功能前置条件:用户登录。2.商品查询商品查询模块可以根据商品的名称、种类、价格、厂家等各种条件进行组合查询。商品查询结果的列表中,用户可以进一步的查看详细信息。商品查询功能如图1-4所示。1:输入商品的查询条件F:到数据库中查询相应信息O:提供符合条件的商品列表图1-4商品查询功能前置条件:用户登录。3.订购商品客户在根据喜好得到相应的商品列表后,可以选择订购商品。在订购商品后,系统会自动保存并更新该用户的定单。系统的工作人员可以及时得到订单并处理,根据情况选择发货,缺货或延迟发货。用户所有的订购商品记录都将保存在系统数据中供后台程序分析该用户的喜好和购买力。以后该用户登录时可以推荐与其购买力相应的商品。订购商品功能如图1-5所示。1:输入订购商品F:更新该用户的订单O:生成新的客户订单图1-5订购商品功能前置条件:用户已登录,商品可供购买。4.订单维护客户在订购商品后可以查询其订单的状态(包括处理中、发货中、缺货中和已经完成),并可以对处理中和缺货中的订单进行增加、删除和修改的操作。订单修改的结果会及时更新并提交给工作人员。客户的订单维护信息也将被保存在系统的数据库中供分析使用。订单维护功能如图1-6所示。1:输入要更改的信息F:更新该用户的订单O:生成新的客户订单图1-6订单维护功能前置条件:用户登录2.1.3管理员接口模块管理员接口模块包括如图1-7所示的几个方面。管理员接口模块订单处理销售情况查询内部员工信息维护报表维护商品信息维护图1-7管理员接口模块说包括的功能模块管理员接口模块是系统管理员事业网兜核心模块,是整个网上图书销售系统正常运行的基础。1.商品信息维护系统管理员登录后可以对系统所有的商品信息进行维护,包括商品价格的调整、商品描述信的更新、新商品的加入以及过期商品的删除。系统的后台程序可以根据商品的销售情况提供给管理员一份详细分析报告。管理员可以根据该报告及时的调整热门商品的信息(例如将其放置到醒目的位置)、对非热门的商品进行价格调整,这一切的数据都来源自系统客户的查询和订购信息。商品信息维护功能如图1-8所示。I:输入要更改商品的信息F:把更新信息保存到数据库O:生成新的商品信息图1-8商品信息维护功能前置条件:用户已登录。2.内部员工信息维护系统管理员登录后可以用对内部员工和普通员工,系统管理员拥有所有的权限,而普通员一般只拥有订单处理的权限。但管理员可以定制任意员工的权限,比如增加他的报表打印权限内部员工信息维护功能如图1-9所示。I:输入要更改员工的信息F:把更新信息保存到数据库O:生成新的员工信息图1-9内部员工信息维护功能前置条件:用户已登录。3.订单处理订单处理一般是普通员工的工作。用户在订购商品后,系统会及时更新其订单,普通员工登录后,可以获取未处理的订单,并根据数据库情况发货或选择延时发货。客户在查询商品时会显示商品的库存数量,但系统的管理者并不希望显示某商品的库存为零,因为这样会失去部分客户。因此,在订购商品后可能会出现库存不足的情况,这时工作人员一般选择延时发货或者拒绝订单。如果该商品有现货,那么工作人员确认用户订单后选择发货,订单处理功能如图1-10所示。I:输入订单的处理结果F:把处理结果保存到数据库O:更新客户订单信息图1-10订单处理功能前置条件:管理员或普通工作人员已登录。4.销售情况查询销售情况查询是系统编码过程中非常重要部分,能够为企业管理者的决策提供参考的信息。管理员登录后,可以得到详细的销售情况列表并既是更新热门商品的信息(如排列位置),可以根据销售的走势和以往的销售记录及时判断部分商品可能会出现库存不足并及时进货。由于本功能模块涉及到企业的经营信息,考虑到商业信息的安全性,需要管理员级的用户才可以使用本模块。销售情况查询功能如图1-11所示。I:输入要查询的条件F:根据条件到数据库中查询O:给出详细的查询结果图1-11销售情况查询功能前置条件:用户已登录。5.报表维护报表维护模块提供查询结果的打印输出功能,如图1-12所示。I:输入所需数据的条件F:根据条件到数据库中查询O:打印查询结果图1-12报表维护功能1.2系统的UML建模1.2.1建立初始模型选择菜单[File-New]“CreateNewModel”对话框,选择J2EE模式,然后点击[OK]按钮。此时,RationalRose会自动加载J2EE本身的一些构架模型。加载完成后,就可以开始设计自己的模型,在此之前先保存该模型,并且将该模型取名为“网上图书销售系统”。1.2.2系统的用例图用例图(UseCaseView)强调从用户的角度看到的或需要的系统功能,是被称为参与者的外部用户所能观察到的系统功能的模型图。1.确定参与者在本系统的UML建模中,可以创建以下的参与者。(1)顾客:(2)管理员:(3)一般员工。2.创建用例根据业务流程,网上图书销售系统可以分为以下的几个用例(UseCases)。(1)订单处理:(2)订单维护:(3)订单状态查询:(4)个人信息维护:(5)订购:(6)接收发货:(7)库存查询:(8)缺货拒绝:(9)商品查询:(10)商品信息维护:(11)销售查询:(12)员工信息维护:(13)报表维护:(14)订单增加:(15)订单删除。3.创建用例图系统管理的用例图如图2-1所示。接受订单并发货缺货处理库存查询一般员工图书信息维护员工信息维护销售记录查询报表维护订单处理includeincludeinclude查询订单include更新库存extend拒绝订单extend管理员新书采购图2-1系统管理用例图系统用户的用例图如图2-1所示。增加删除订单状态查询个人信息维护商品查询订购订单维护顾客includeincludeinclude图2-2系统用户用例图1.2.3系统的时序图与协作图(1)顾客建立订单时序图如图2-3所示:顾客:登录模板商品查询模块订购理模块管理模块1:输入账号密码2:提交用户3:提示输入查询条件4:输入查询条件6:提交商品ID5:显示查询商品列表7:提交订单8:提交成功9:提交订单成功图2-3顾客建立订单时用户首先使用自己的账号和密码登录系统,登录模块会将客户的ID保存在系统缓存中并提交给商品查询模块。商品查询模块提示客户输入查询条件,客户输入适当的查询条件后查询模块显示符合查询条件的商品列表。客户得到商品列表后,提交自己想要购买的商品ID,订购模块得到商品ID。生成订单并提交给数据模块进行保存,保存成功后,订购模块提示用户订购商品成功。(2)顾客删除订单时序图如图2-4所示。:顾客登录模板订单查询模板订单处理模板数据模板1:输入账号密码2:提交用户ID3:显示用户订单信息4:提交要删除商品的ID5:更新用户订单6:更新成功7:提示删除成功图2-4客户删除订单时序图客户在提交订单后可以对订单进行维护(添加、删除、修改)。客户首先输入自己的账号和密码登录系统。登录模块会将客户的ID保存在系统缓存中并提交给订单查询模块。订单查询模块显示该客户当前的所有订单,客户得到该列表后,选择需要删除的商品ID,订单处理模块把删除信息提交给数据模块,数据模块保存信息。订单处理模块提示用户删除操作成功。(3)管理员处理订单时序图如图2-5所示。:管理员订单模块订单处理库存查询数据模块1:输入账号密码2:提交用户ID3:未处理订单列表4:提交商品ID5:提交该商品库存6:接受订单7:更新客户订单状态8:更新成功9:提交处理成功图2-5管理员处理订单时序图管理员使用其账号和密码登录后,登录模块会将管理员的ID保存在系统缓存中并提交给订单处理模块。订单处理模块提交给管理员未处理的列表,管理员提交某商品ID得到该商品的库存情况,如果库存充足则接受订单,并把接受信息提交数据模块,数据模块更新该客户的订单信息并返回成功信息给订单处理模块,订单处理模块提示管理员该操作成功。(4)顾客建立订单协作图2-6所示。:顾客:登录模板商品查询模块订购理模块管理模块1:输入账号密码2:提交用户3:提示输入查询条件4:输入查询条件5:显示查询商品列表6:提交商品ID7:提交订单8:提交成功9:提交订单成功图2-6顾客建立订单协作图(5)顾客删除订单协作图如图2-7所示。:顾客登录模板订单查询模板订单处理模板数据模板1:输入账号密码4:提交要删除商品的ID7:提示删除成功2:提交用户ID3:显示用户订单信息5:更新用户订单6:更新成功图2-7顾客删除订单协作图(6)管理员处理订单协作图如图2-8所示。:管理员订单模块订单处理库存查询数据模块1:输入账号密码4:提交商品ID5:提交该商品库存2:提交用户ID3:未处理订单列表9:提交处理成功6:接受订单7:更新客户订单状态8:更新成功图2-8管理员处理订单协作图1.2.4系统的活动图活动图可以分为垂泳道,每个泳道进表示工作流中不同的参与者。查看泳道中的活动,就可以知道某个参与者的责任。通过不同泳道中活动的过渡,可以了解谁要与谁进行通信。这些信息在建模或理解业务程时非常重要。顾客购买商品和管理员处理订单的活动图如图2-9所示。商品查询顾客查询订单状态订单已处理未接受处理订单接受订单有库存拒绝订单无库存更新订单记录和库存订单已接受管理员图8系统活动图从图2-9中可以看出,管理员、顾客发生了相互的关系。顾客登录后查询商品,在选择了自己希望购买的商品后提交订单,接下来顾客处于查询订单的循环状态。与此同时,管理员