1、UMLUML统一建模语言统一建模语言UMLUML建模案例建模案例网上订单网上订单处置系统处置系统UMLUML统一建模语言统一建模语言一、需求分析一、需求分析一、需求分析一、需求分析 随着网络的发展和计算机的普及,越来越多的企业都在因特网上建立了自己的企业网站。网上订单处理系统就是企业在进行网上销售活动时,利用计算机来对客户选择产品的订单进行系统的处理,从而提高企业经营管理的效益。网上订单处理系统的功能性需求包括以下内容:(1)客户在企业网站中选择需要的产品并放入购物车,进行订购。(2)客户输入购买细节,提交订单,系统自动将订单信息保存到数据库。(3)客户能够要求企业营销人员与自己联系,进一步了
2、解产品、协商价格,确认订单的细节。(4)企业营销人员在收到客户的联系要求后,及时与客户联系,为客户提供咨询服务,确认订单的细节。如果需要修改原订单,将修改后的订单信息更新到数据库并向客户发出订单确认信息。(5)客户收到订单确认信息后,汇款或网上支付产品款项至企业银行账户。(6)订单处理系统检查用户帐号及付款金额,若金额无误,修改订单状态,将付款成功信息通知营销人员。(7)订单处理系统从数据库中获取订购信息和收到的付款信息生成发票后将该发票提供给营销人员。营销人员发E-mail通知客户已发货,并将发票提供给仓库管理员。(8)系统从数据库中获得该客户的订单信息和个人资料,生成订购信息列表,将该列表
3、提供给仓库管理员。由仓管员根据订购信息列表配货后,向客户发货并附上发票。最后修改订单的状态。UMLUML统一建模语言统一建模语言二、二、二、二、创建系统用例模型创建系统用例模型创建系统用例模型创建系统用例模型 客户用例能够通过该系统进行如下活动:(1)选择产品。客户可以查询所需要的产品,包括价格和型号等。将选中的产品加入购物车,同时,客户可随时增减购物车内产品,界面自动对总价进行更新。(2)订购产品。客户可以输入一份购买产品的订单,该订单包括提供送货地址,以及相关付款的情况。(3)协商联络。客户要求营销人员在订单确认之前与自己联系,进一步了解产品的细节、协商价格等。(4)付款。客户收到订单确认
4、信息后,通过汇款或网上支付完成付款。UMLUML统一建模语言统一建模语言二二二二、创建系统用例模型创建系统用例模型创建系统用例模型创建系统用例模型 营销人员用例能够通过该系统进行如下活动:(1)联络协商。营销人员联系客户,对订单细节进行解释,并协商价格。按协商后的结果修改原订单,将新的订单信息保存到数据库中。(2)修改订单状态。客户提交订单后,营销人员检查订单后,发送e-mail给客户,修改订单为确认状态。客户付款成功,钱款到账,金额无误,营销人员修改订单为付款成功状态。(3)通知发货。营销人员确认客户付款无误后,将客户订购信息提交给仓库管理员以便及时配货和发货。(4)打印发票。营销人员使用系
5、统从数据库中提取订购信息和收到的付款信息生成发票。发E-mail给客户,通知已发货。UMLUML统一建模语言统一建模语言二、二、二、二、创建系统用例模型创建系统用例模型创建系统用例模型创建系统用例模型 仓库管理员用例比较简单,能够通过该系统修改订单状态。当仓库管理员向客户发货后,将订单状态修改为已发货。UMLUML统一建模语言统一建模语言三、创建系统静态模型三、创建系统静态模型三、创建系统静态模型三、创建系统静态模型 根据系统需求,创建静态系统类图。我们可以识别系统中存在的主要实体类:客户类(Customer)、营销人员类(Salesman)、仓库管理员类(Warehouse Manager)
6、、产品类(Product)、付款类(Payment)、发票类(Invoice)和订单类(Order)。辅助类:数据库类(DataBase)和商品列表类(List)。界面类:产品界面类(ProductForm),购物清单界面(ShoppingListForm)、查询界面(QueryForm)、输入订单界面(InputForm)和订单服务界面(OrderForm)。UMLUML统一建模语言统一建模语言三、三、三、三、创建系统动态模型创建系统动态模型创建系统动态模型创建系统动态模型 1 1 1 1、客户选择产品的序列图和交互图、客户选择产品的序列图和交互图、客户选择产品的序列图和交互图、客户选择产品
7、的序列图和交互图 客户选择产品的工作流程:(1)客户进入选择产品的界面ProductForm,获得产品的信息。(2)客户将选择的产品放入购物车,通过List类中的计算方法,获得总价格并将价格返回到ProductForm界面。(3)客户进入显示购物清单的界面ShoppingListForm,查看购物详情。(4)客户可以修改购物清单中产品的内容,ShoppingListForm会重新计算总价并显示修改后的购物清单。UMLUML统一建模语言统一建模语言三、三、三、三、创建系统动态模型创建系统动态模型创建系统动态模型创建系统动态模型 2 2、客户订购产品的序列图和交互图、客户订购产品的序列图和交互图、
8、客户订购产品的序列图和交互图、客户订购产品的序列图和交互图 客户订购产品的工作流程:(1)客户在订单信息界面InputForm输入订单信息。(2)界面将信息发送到订单类Order创建新订单。同时通过付款类Payment设置订单的状态。(3)然后Order类将订单信息保存到数据库DataBase.(4)最后向界面InputForm返回订单详情。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 客户与营销人员协商联络的工作流程描述如下:(1)客户在提交订单后选择在界面InputForm发送消息给Salesman要求咨询。(2)营销
9、人员接到咨询请求信息后,从数据库DataBase获得客户订单的详细情况。(3)接着营销人员与客户进行联系,为客户提供咨询服务,双方就订单细节问题进行沟通。(4)双方达成共识后,如果需要修改现有订单的内容,由营销人员在订单界面OrderForm修改,然后将修改好的订单内容通知Order类,订单类负责将修改好的订单数据保存到数据库DataBase。3 3 3 3、客户和营销员协商联络订的序列图客户和营销员协商联络订的序列图客户和营销员协商联络订的序列图客户和营销员协商联络订的序列图和交互图和交互图和交互图和交互图UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系
10、统动态模型三、创建系统动态模型 客户付款的工作流程:(1)客户根据订单金额完成付款。(2)系统中的付款类Payment,得到客户付款到账的消息,马上对到账的金额进行确认是否与订单中的应付金额一致。如果金额无误,确定付款成功。(3)付款类Payment设置付款状态为已付款。同时Payment发送E-mail告知客户钱款已收到。(4)付款类通知订单类Order更改订单状态为已支付,并更新数据库订单的信息。(5)如果客人支付的金额有问题,向客户发生E-mail告知支付的金额有误。4 4 4 4、客户付款的序列图和交互图客户付款的序列图和交互图客户付款的序列图和交互图客户付款的序列图和交互图UMLUM
11、L统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 营销人员修改订单状态的工作流程:(1)营销人员在确认客户付款无误的前提下,在订单服务界面OrderForm进行订单状态的修改。(2)订单服务界面将修改后的订单状态通知订单类Order,由Order对指定的订单的状态进行重新的设定。(3)Order对象将修改好的订单状态保存到数据库DataBase。5 5 5 5、营销员修改订单状态的序列图和、营销员修改订单状态的序列图和、营销员修改订单状态的序列图和、营销员修改订单状态的序列图和交互图交互图交互图交互图UMLUML统一建模语言统一建模语言
12、三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 营销人员打印发票的工作流程:(1)营销人员订单服务界面OrderForm请求获得客户订单详情。OrderForm从数据库DataBase获得订单详情并返回给订单服务界面 (2)营销人员在OrderForm界面执行打印发票的命令。打印完毕后将发票发送给仓库管理员。6 6 6 6、营销员打印发票序列图和协作图、营销员打印发票序列图和协作图、营销员打印发票序列图和协作图、营销员打印发票序列图和协作图 UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 营
13、销员通知仓管员发货的工作流程:(1)营销人在订单服务界面OrderForm将客户的购物清单发送到仓库管理员处。(2)仓库管理获得购物清单后,根据购物清单进行配货。(3)仓库管理随即向客人发货并附上发票。(4)然后仓库管理员修改订单的状态。同时,将订单更改后的数据保存到数据库。7 7 7 7、营销员通知仓管员发货的序列图和协作图、营销员通知仓管员发货的序列图和协作图、营销员通知仓管员发货的序列图和协作图、营销员通知仓管员发货的序列图和协作图 UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型 在网上订单处理系统中,客户付款行为包含
14、以下三种状态:未付款状态、部分付款状态、全额付款状态。它们之间的转化规则是:(1)客户确认订购产品,企业接受客户的订单后,付款行为进入未付款阶段。(2)当客户支付了部分款项后,客户的付款行为进入部分付款状态。(3)当支付完全部的款项后,客户的付款行为进入全额付款状态。8 8、付款行为状态图、付款行为状态图、付款行为状态图、付款行为状态图 UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型9 9、订单对象状态图、订单对象状态图、订单对象状态图、订单对象状态图 在网上订单处理系统中,订单对象包含以下六种状态:未确认状态、已取消状态、
15、被确认状态、已修改状态、已付款状态和已完成状态。它们之间的转化规则是:(1)客户在线订购产品后,建立了一个新的订单,订单处于未经双方确认的状态。(2)在未向客户发货前,客户可以随时取消订单,此时订单处于已取消的状态。(3)当双方确认订单内容后,订单处于确定的状态。(4)同样,在未向客户发货前,客户随时可以修改订单的内容,这时订单属修改状态。(5)客户支付清全额款项后,订单进入已付款状态。(6)当向客户发货完毕后,订单进入已完成状态。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1010、客户选择产品活动图、客户选择产品活动图
16、、客户选择产品活动图、客户选择产品活动图 在客户选择产品的活动图中,活动的对象是客户,具体的活动过程描述如下:(1)客户进入显示产品的界面,浏览产品和选择自己需要的产品。(2)客户将选择好的产品放入购物车。(3)客户可以对购物车中的产品进行增减。(4)客户确定购买购物车中的产品,在界面提交订购信息。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1111、客户订购产品活动图、客户订购产品活动图、客户订购产品活动图、客户订购产品活动图 客户订购产品的活动图中,活动的对象是客户和系统,我们使用二个泳道图来表示活动的过程,具体描述如
17、下:(1)客户在订购界面输入订购产品的详细信息。(2)系统生成新的订单,并将订单保存到数据库。(3)将订单已被接受的信息和订单详细的情况通过E-mail发送给客户。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1212、客户联系营销员活动图、客户联系营销员活动图、客户联系营销员活动图、客户联系营销员活动图 客户与营销人员联络协商的活动图。在活动图中的二个泳道,分别是客户泳道和营销人员泳道,具体的活动过程描述如下:(1)用户订购产品后,在界面发送信息给营销人员要求咨询订单和产品详情。(2)营销人员接到该消息后立即与客户取得联系
18、,双方就订单内容进行协商并对订单内容予以最终的确认。(3)如果最终确认的订单内容与原订单有出入,营销人员修改原订单,然后将修改后的订单保存到数据库。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1313、客户付款活动图、客户付款活动图、客户付款活动图、客户付款活动图 对于客户付款的活动图,创建了二个泳道,分别是客户泳道和付款对象,具体活动过程描述如下:(1)用户通过汇款或网上支付的方式付款到企业开立银行账户内。(2)系统接收到到款通知后,由付款对象对到账的金额进行核实。如果金额与应付的金额有出入,立即向客户发生错误信息。(3
19、)如果金额正确,修改付款状态和订单状态。(4)同时,将数据保存到数据库。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1414、通知仓管员发货活动图、通知仓管员发货活动图、通知仓管员发货活动图、通知仓管员发货活动图 通知仓管员发货的活动图。在活动图中有二个泳道,分别是客户泳道和营销人员泳道,具体的活动过程描述如下:(1)营销人员在确定客户付款金额正确无误后,从数据库获得客户的订购清单。(2)然后将订购清单发送到仓库管理员处,通知仓管员及时向客户发货。(3)仓库管理员接到通知后,立即根据客户的购物清单进行配货并向客户发货。(4
20、)仓库管理员发货后,修改订单的状态并保存到数据库。UMLUML统一建模语言统一建模语言三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型三、创建系统动态模型1515、营销员打印发票活动图、营销员打印发票活动图、营销员打印发票活动图、营销员打印发票活动图 营销人员打印发票的活动图。在活动图中二个泳道,分别是营销人员泳道和仓库管理员泳道,具体的活动过程描述如下:(1)营销人员在确定客户付款金额正确无误后,从数据库获得客户的订单和付款的详细信息。(2)然后打印发票。(3)将打印好的发票转送到仓库管理员处。(4)仓库管理员发货时将发票一并附上。UMLUML统一建模语言统一建模语言四、创建系统
21、部署模型四、创建系统部署模型四、创建系统部署模型四、创建系统部署模型1 1、系统构件图、系统构件图、系统构件图、系统构件图 在网上订单管理系统中,我们可以对系统的主要参与者和主要的业务实体类分别创建对应的构件进行映射。我们前面在类图中创建Customer类、Salesman 类、Warehouse Manager类、各种界面类、Product类、Payment类、Invoice类、Order类、DataBase类和List类。所以可以映射出相同的这些构件,包括客户构件、营销人员构件、仓管员构件、页面构件和产品构件、付款构件、发票构件、订单构件、数据库构件、产品列表构件和主程序构件。UMLUML统一建模语言统一建模语言四、创建系统部署模型四、创建系统部署模型四、创建系统部署模型四、创建系统部署模型2 2、系统部署图、系统部署图、系统部署图、系统部署图 在网上订单处理系统中,系统包括五种节点,分别是:数据库节点,由一台数据库服务器负责数据的存储,处理等;系统服务器节点,用于处理系统的业务逻辑;客户端浏览器节点,用户通过客户端登录系统进行操作;企业内部客户端节点,是供企业内部人员,如营销员、仓管员使用的客户端;打印机节点,用于打印发票和报表数据。