网
上
班级
学号
姓名
购
物
系
统
UML模型
**师范大学**学院
目录
软件架构文档
1. 介绍
1.1 目的
这篇文档提供了对B2C在线销售系统的系统架构的总揽,从不同的视角描述了该系统。同时介绍了B2C在线销售网站有关架构的想法,包含架构分析的关键决策,目的在于帮助开发人员理解网上销售系统的基本结构。
1.2 范围
介绍了网上销售系统的登录系统、注册系统、浏览商品系统、购物系统。
1.3 定义,缩写词
B2C:BusinessToCustomer
1.4 参考文献
无
1.5 内容概览
1.5.1 登录系统
用户如果要进行购物操作,需要输入正确的用户名和密码,如果输入错误,则停留在登录页;
1.5.2 注册系统
客户如果从来没有在本网站购买过东西,需要注册一个Customer账号;
1.5.3 浏览商品系统
进入B2C系统后,客户必须知道有关的商品信息,可以得到商品的名称、价格、各种属性信息,并
能根据需要输入相关信息进行搜索;
1.5.4 购物系统
当客户看中某件商品后,可以根据需要进行购买,操作后生成购物单,然后可以下订单。
2. 体系结构表示方法
这篇文档使用一系列视图反映系统架构的某个方面;
用例视图:概括了架构上最为重要的用例和它们的非功能性需求;
逻辑视图:展示了描述系统关键方面的重要用例实现场景(使用交互图);
部署视图:展示构建在处理节点上的物理部署以及节点之间的网络配置(使用部署图);
数据视图:描述了数据流、持久性数据模式、对象与持久性数据之间的模式映射、对象到数据库、存储过程以及触发器的映射机制(使用类图描述数据模型,活动图表示数据流)。
3. B2C购物网上购物系统要达到的目标和限制
3.1 目标
客户可以正确登录,在登录页面输入信息时能够在输入错误的同时看到错误提示;正确登录后可以看到商品的列表,点击其中一条信息后可以看到某个商品的详细信息,看中后可以很方便的进行购买,在生成购物单之后客户可以看到。
客户在首页可以很方便地进行注册,输入的注册信息要进行验证,验证正确后将信息存入数据库。
管理员正确登录后可以修改用户信息,商品信息。
3.2 限制
客户和管理员的界面分开,客户不能修改逻辑上不能修改的信息;
管理员不能修改用户密码,还有同级别的管理员的信息。
4. 用例视图
B2C在线销售系统描述的主要用例有:商品类别,检索商品,商品详细,顾客注册,修改注册信息,查看订单,顾客登录系统,顾客退出系统,商品放入购物车,管理购物车,下订单,管理员
登录系统,管理员退出系统,管理业务数据,管理系统权限,管理管理员,付款状态批处理,商品库存批处理,配送状态批处理。
4.1 系统用例图
系统用例图见图4.1:
图4.1系统用例图
4.2 商品类别
4.2.1 用例简述
顾客浏览商品类别,系统返回此类别下的子类别或商品的一览。
4.2.2 基本事件流
1顾客:在商品大类别页面,选择某个大类别;
2系统:根据顾客选择的商品类别,返回此类别下所有的中类别信息;
3顾客:在商品中类别页面,选择某个中类别;
4系统:根据顾客选择的商品类别,返回此类别下所有的小类别信息;
5顾客:在商品小类别页面,选择某个小类别;
6系统:根据顾客选择的商品类别,返回此类别下所有的商品信息;
7用例结束。
4.2.3 活动图
商品类别的活动图见图4.2
图4.2商品类别的活动图
4.3 检索商品
4.3.1 用例简述
顾客输入商品相关的关键词,系统检索相关的商品,并显示这些商品的信息。
4.3.2 基本事件流
1顾客:在商品检索页面,输入商品检索条件,提交检索请求;
2系统:在系统中检索与输入条件相符的商品数据;
3系统:把检索条件相符的商品数据显示在页面上;
4用例结束。
4.3.3 活动图
检索商品的活动图见图4.3
图4.3检索商品的活动图
4.4 商品详细
4.4.1 用例简述
顾客点击商品一览页面上的某个商品,获得该商品的详细介绍信息。
4.4.2 基本事件流
1顾客:点击商品一览页面上的某个商品;
2系统:在商品详细页面上显示商品的详细介绍信息;
3系统:用例结束。
4.4.3 活动图
查看商品的活动图见图4.4
图4.4查看商品的活动图
4.5 顾客注册
4.5.1 用例简述
顾客在购物网站上输入注册信息,成为网站会员。
4.5.2 基本事件流
1顾客:在会员注册画面,输入用户编号、密码、用户姓名、电子邮件地址和联系电话等信息,提交注册请求;
2系统:对顾客的信息进行检查;
3系统:顾客的信息被系统保存;
4系统:显示注册完了画面,提示顾客注册成功;
5用例结束。
4.5.3 活动图
顾客注册的活动图见图4.5
图4.5顾客注册的活动图
4.6 修改注册信息
4.6.1 用例简述
顾客修改自己的注册信息。
4.6.2 基本事件流
1顾客:进入在会员信息画面;
2系统:显示此顾客的用户编号、密码、用户姓名、电子邮件地址等信息,其中除用户编号外,其他都是可修改项目;
3顾客:编辑能够被修改的项目;
4系统:检查顾客输入的信息;
5系统:顾客输入的信息被系统保存;
6系统:显示注册信息更新完了画面,提示顾客注册信息更新成功;
7用例结束。
4.6.3 活动图
修改注册信息的活动图见图4.6
图4.6修改注册信息的活动图
4.7 查看订单
4.7.1 用例简述
顾客可以查看自己的订单。
4.7.2 基本事件流
1顾客:点击会员页面上的订单状况;
2系统:在订单一览页面上显示和该会员相关的所有订单的一览信息;
3顾客:在订单一览页面上点击某条订单;
4系统:在订单详细页面上显示该订单的详细信息;
5用例结束。
4.7.3 活动图
查看订单的活动图见图4.7
图4.7查看订单的活动图
4.8 顾客登录系统
4.8.1 用例简述
顾客输入合法的用户编号和密码后,登录系统。
4.8.2 基本事件流
1顾客:在顾客登录页面上,输入用户编号和密码;
2系统:根据用户编号和密码检索系统,获得顾客信息;
3系统:在会员信息页面上,显示欢迎顾客登录系统,顾客身份由游客变为会员;
4结束用例。
4.8.3 活动图
顾客登录系统的活动图见图4.8
图4.8顾客登录系统的活动图
4.9 顾客退出系统
4.9.1 用例简述
顾客退出系统。
4.9.2 基本事件流
1顾客:提交退出系统的请求;
2系统:注销顾客,并使顾客的状态由会员变成游客。
4.9.3 活动图
顾客退出系统的活动图见图4.9
图4.9顾客退出系统的活动图
4.10 商品放入购物车
4.10.1 用例简述
顾客把商品放入购物车。
4.10.2 基本事件流
1顾客:在商品详细页面,提交将该商品放入购物车的请求;
2系统:检查商品是否有效;
3系统:检查商品的库存数;
4系统:将商品放入购物车;
5系统:在购物车页面,显示顾客的购物车中的商品;
6用例结束。
4.10.3 活动图
商品放入购物车的活动图见图4.10
图4.10商品放入购物车的活动图
4.11 管理购物车
4.11.1 用例简述
顾客查看购物车中的商品。
4.11.2 基本事件流
1顾客:提交查看购物车的请求;
2系统:在购物车页面,显示购物车中的所有商品信息(商品名,价格,数量等);
3顾客:修改购物车中选购商品的数量,并提交此请求;
4系统:检查商品的库存数;
5系统:更新购物车中选购商品的数量;
6系统:在购物车页面上,显示更新后的购物车中商品信息;
7顾客:选择购物车中的商品,并提交删除请求;
8系统:删除购物车中顾客选择的商品;
9系统:在购物车页面上,显示更新后的购物车中商品信息;
10用例结束。
4.11.3 活动图
管理购物车的活动图见图4.11
图4.11管理购物车的活动图
4.12 下订单
4.12.1 用例简述
顾客准备将购物车中的商品进行结账。
4.12.2 基本事件流
1顾客:提交结账的请求;
2系统:检查顾客的身份;
3系统:检查购物车中的商品;
4系统:显示配送地址指定页面;
5顾客:确定系统记录的配送地址或者更改原有的配送地址;
6系统:验证更改的配送地址的合法性;
7系统:更改系统记录的配送地址并显示支付方式:货到付款和信用卡支付;
8顾客:选择某个支付方式,并输入相应的信息;
9系统:检查信息的合法性;
10系统:显示根据优惠规则,计算出折扣金额。显示顾客订单中的商品信息,付款金额,折扣金额,商品配送的地址,付款方式;
11顾客:在订单确认页面,确认订单的内容,提交下单;
12系统:显示用户订单提交成功并订单数据存入系统;
13用例结束。
4.12.3 活动图
下订单的活动图见图4.12
图4.12下订单的活动图
4.13 管理员登录系统
4.13.1 用例简述
管理员输入有效的用户编号和密码后,登录系统。
4.13.2 基本事件流
1管理员:在管理员登陆页面上,输入用户编号和密码,提交登录系统的要求;
2系统:查询系统,获得管理员的信息,并将赋予管理员相应的权限;
3系统:根据登录管理员的权限,在管理机能页面上显示相应的管理页面的入口;
4用例结束。
4.13.3 活动图
管理员登录系统的活动图见图4.13
图4.13管理员登录系统的活动图
4.14 管理员退出系统
4.14.1 用例简述
管理员退出系统。
4.14.2 基本事件流
1管理员:提交退出系统的请求;
2系统:注销管理员;
3系统:显示管理员登录页面,提示此管理员已经退出系统;
4用例结束。
4.14.3 活动图
管理员退出系统的活动图见图4.14
图4.14管理员退出系统的活动图
4.15 管理业务数据
4.15.1 用例简述
管理员管理商品,订单,会员等相关的业务数据,包括对数据的新增,更新,删除,查询。
4.15.2 基本事件流
1管理员:实施业务数据的新增,更新,删除,查询操作;
2系统:在系统中实现对业务数据的相关操作;
3用例结束。
4.15.3 活动图
管理业务数据的活动图见图4.15
图4.15管理业务数据的活动图
4.16 管理系统权限
4.16.1 用例简述
管理员管理系统权限。
4.16.2 基本事件流
1管理员:对系统中的全体的权限进行新增,更新,删除,检索操作;
2系统:在系统中实现权限相关的操作;
3用例结束。
4.16.3 活动图
管理员管理系统权限的活动图见图4.16
图4.16管理员管理系统权限的活动图
4.17 管理管理员
4.17.1 用例简述
管理员管理管理员的数据。
4.17.2 基本事件流
1管理员:对系统中的管理员数据进行新增,更新,删除,检索操作。并赋予管理员系统的某些权限;
2系统:在系统中实现相关的操作;
3用例结束。
4.17.3 活动图
管理管理员的活动图见图4.17
图4.17管理管理员的活动图
4.18 付款状态批处理
4.18.1 用例简述
此批处理程序完成同财务系统的交互,获得订单的最新状态,并更新购物系统中订单付款状态。
4.18.2 基本事件流
1管理员:运行此批处理程序,并将自己的用户名和密码作为参数;
2系统:验证管理员是否有执行程序的权限;
3系统:连接财务系统;
4系统:获得一组订单的最新支付状态的列表;
5系统:根据获得的列表来更新购物系统内订单的付款状态;
6用例结束。
4.18.3 活动图
付款状态批处理的活动图见图4.18
图4.18付款状态批处理的活动图
4.19 商品库存批处理
4.19.1 用例简述
此批处理程序完成同库存系统的交互,获得商品的最新库存数,并更新购物系统中商品的库存数。
4.19.2 基本事件流
1管理员:运行此批处理程序,并将自己的用户名和密码作为参数;
2系统:验证管理员是否有执行程序的权限;
3系统:连接库存系统;
4系统:获得一组商品的最新库存数的列表;
5系统:根据获得的列表来更新购物系统内商品的库存数;
6用例结束。
4.19.3 活动图
商品库存批处理的活动图见图4.19
图4.19商品库存批处理的活动图
4.20 配送状态批处理
4.20.1 用例简述
此批处理程序完成同物流系统的交互,获得订单的最新配送状态,并更新购物系统中订单的配送状态。
4.20.2 基本事件流
1管理员:运行此批处理程序,并将自己的用户名和密码作为参数;
2系统:验证管理员是否有执行程序的权限;
3系统:连接物流系统;
4系统:获得一组订单的最新配送状态的列表;
5系统:根据获得的列表来更新购物系统内订单的配送状态;
6用例结束。
4.20.3 活动图
配送状态批处理的活动图见图4.20
图4.20商品库存批处理的活动图
5. 逻辑视图
逻辑视图部分主要叙述了设计阶段的工作。
5.1 总揽
图5.1的领域模型是B2C在线销售系统的设计实体及其之间的关系;
图5.1领域模型
5.2 主要Package的介绍
5.2.1 B2C在线销售系统Package图见图5.2
图5.2B2C在线销售系统Package图
5.2.2 Webapp
Webapp包包含了action、form包,它们属于显示层的代码,主要使用struts框架。
5.2.3 Service
Service包包含了业务实现的主要接口,每个接口有一个对应的serviceImpl的实现,serviceImpl类放在serviceImpl包中,其中serviceImpl的实现是通过调用dao接口来实现的,它们属于业务层的代码,主要使用spring框架。
5.2.4 Dao
Dao包包含了业务实现的主要接口,每个接口都有一个对应的Hibernate版本的daoHibernate的实现,daoHibernate类放在daoHibernate包中,通过daoHibernate对数据库进行访问,它们属于持久层的代码,主要使用Hibernate框架。
5.2.5 Model
Model包包含了POLO类和Hibernate映射文件。
5.2.6 Search
Serach包包含了对页面进行处理的一些比较复杂的显示操作。
5.2.7 util
util包包含了一些常用的操作,如时间转换、字符串转换等。
5.2.8 admin
admin包包含了属于管理员操作的webapp、service、serviceImpl、dao、daoHibernate、model等包,这些包的关系同上。
5.2.9 user
user包包含了属于管理员操作的webapp、service、serviceImpl、dao、daoHibernate、model等包,这些包的关系同上。
6. 过程视图
过程视图部分叙述几个主要子系统的处理流程。
6.1 用户注册
6.1.1 用户注册的系统顺序图见图6.1
图6.1用户注册的系统顺序图
6.1.2 用户注册的VOPC类图见图6.2
图6.2用户注册的VOPC类图
6.1.3 用户注册的协作图见图6.3
图6.3用户注册的协作图
6.2 下订单
6.2.1 下订单的系统顺序图见图6.4
图6.4下订单的系统顺序图
6.2.2 下订单的VOPC类图见图6.5
图6.5下订单的VOPC类图
6.2.3 下订单的协作图见图6.6
图6.6下订单的协作图
6.3 管理业务数据
6.3.1 管理业务数据的系统顺序图见图6.7
图6.7管理业务数据的系统顺序图
6.3.2 管理业务数据的VOPC类图见图6.8
图6.8管理业务数据的VOPC类图
6.3.3 管理业务数据的协作图见图6.9
图6.9管理业务数据的协作图
6.4 商品库存批处理
6.4.1 商品库存批处理的系统顺序图见图6.10
图6.10商品库存批处理的系统顺序图
6.4.2 商品库存批处理的VOPC类图见图6.11
图6.11商品库存批处理的VOPC类图
6.4.3 商品库存批处理的协作图见图6.12
图6.12商品库存批处理的协作图
7. 部署视图
部署视图描述了如何将具体软件制品分配到计算节点(具有处理服务的某种事物)上,表示了软件元素在物理架构上的部署,以及物理元素之间的通信。
7.1 部署视图
B2C在线销售系统的部署视图见图7.1
图7.1B2C在线销售系统的部署视图
7.2 GenericPC
普通的个人计算机。
7.3 WebBrowser
通用个人计算机上的网页浏览器,如:IE6.0,Firefox等。
7.4 Apache
Web服务器,可以运行在所有广泛使用的计算机平台上。
7.5 Struts
一个为开发基于模型-视图-控制器模式的应用架构的开源框架,是利用JavaServlet和JSP构建Web应用的一项非常有用的技术。事件从客户端(浏览器)由用户操作出发的事件,Struts使用Action来接受浏览器表单提交的事件。
7.6 Tomcat6.0
Tomcat6.0提供Servlet容器。
7.7 Hibernate
Hibernate提供对象关系映射框架,对JDBC进行了非常轻量级的对象封装,使得可以使用对象编程思维来操纵数据库,完成数据持久化。
7.8 MySQL
MySQL是小型关系型数据库管理系统,其体积小、速度快、总体拥有成本低,开放源码数据库。
8. 数据视图
B2C在线销售系统数据在关系数据库中的组织。B2C在线销售系统的数据视图见图8.1
图8.1B2C在线销售系统的数据视图
9. 规模和性能
9.1 满足的规模
能够满足100人同时在线浏览网页,20人同时进行有关数据库的操作。
9.2 满足的性能
能够满足让顾客可以认同的相应时间。
10. 质量
系统正式使用时,登录、注册、查看商品、生产订单的流程正常。
因篇幅问题不能全部显示,请点此查看更多更全内容