
系统分工:
梁 志 负责总体设计和画用例图、活动图:
王向宝 负责前台设计包括:注册、浏览、反馈 、登录
罗全力 负责前台设计包括:购买、查询、顾客和管理员类的设计
张雅东 负责后台设计包括:商品管理(添加、删除商品,添加、删除标题)、会员管理、商品类和标题类的设计
李 俊 负责后台设计包括:文本编辑管理(编辑购物流程、条款信息、促销信息)和订单管理 、订单类的设计
电子商务系统
1.系统需求
随着社会的发展,电子商务成为了一个热门的话题,而网上购物已经成为当今社会一种比较流行的购物方式。一个完整的购物系统就是一个现实中的一个商城,或者就是一个超市。本系统就是一个类似超市的网上购物系统。
首先用户进入电子商场的大厅,也就是商城的首页。在这里用户可以看到所有的商品的种类,这里改提供了查询,促销商品、购物车等链接命令。用户可以单击商城活动告示查看商城发布的公告,或者是商城举办的促销活动。还可以查看具体商品,并从这里进入具体的商品界面。同样能够方便地搜索商品,而且能够运用虚拟的购物车替代现实中的购物车进行购物。用户在查看商品的价格等详细情况之后,就可以把购物车中不满意的商品去掉,当用户购买完商品后,就可以结帐了,也就是下定单,在用户下完定单之后,商城将根据定列表的内容,使用某种手段进行确认,然后进行发货,发货成功并且收到款后,一个真正意义上的交易也就形成了,以上这些功能是用户所需要的,但是一个功能完善的电子商城还需要管理员自己的货物和商品。例如进货、添加商品、删除没有的商品以及向用户发送促销活动的公告、删除过期公告,最后还有对注册会员的管理,这些都写要管理员来处理。
通过上述电子商务系统的分析,可以获得如下的功能性需求。
(1)种类显示:只要涉及商场所卖的产品,都可以显示在这里。比如电脑、书籍、服务等。本系统采用分级式的管理,当单击某个人具体的种类后面还会分成更细的第二类别。第二类别中显示的就是具体的商品实物了。
(2)查询。用户可以利用此项功能来查找需要的商品。用户只要输入想要查找商品的关键字,然后单击“查询”就可以查询到相关的信息了。
(3)最新产品。根据电子商场的动态管理,可以将商场中新的商品放到一张列表中显示出来,供用户参考。
(4)电子商场活动信息。在这里,商家可以以公告的形式显示商场近期的一些重要活动,比如什么时候举行促销活动,什么产品将举行展销会等。
(5)促销产品罗列。商场为了吸引用户的购买欲,可以实施状况的促销计划,这里商场设置了一个促销产品的列表,用户可以打开这个列表查看促销的商品。
(6)购买流程。有些用户可能不懂怎么在网上交易,可以在购买流程这个窗口中了解所有购买流程的信息,这个窗口是很有必要的。
(7)购物车。本系统中最主要的一个功能。用户在网上商城购买商品,都要经过这个购物车,才可以将物品买到手。
(8)登录、注册。用户要想在电子商场中购买商品,就必须先登录这个电子商场,如果还不是会员才可以将物品买到手。
(9)个人信息。注册为会员的用户,都将拥有个人信息这个窗口,在这个窗口中,用户可以查看订单、查看资料、查看购物车。
(10)系统设置。这个任务只有管理员才能操作。其中管理员可以进行订单管理、会员管理、商品管理、分类管理、数据库管理、系统参数设置。
2.需求分析
2.1功能设置
由本系统的总体任务可以找出顾客和系统管理员的活动信息。
(1)顾客:顾客可看到所有商品的种类,查询商品,查看商城发布的各
种公告,使用购物车购买商品。
(2)系统管理员:系统管理员添加商品,删除没有的商品,发布公告,
删除公告,管理注册会员,添加商品标题,删除商品标题。
系统总体功能示意图:
2.2模块划分
在前台,可以将系统分为用户模块,包括注册,登录和个人信息三个方面;查询模块;浏览商品模块,包括商品一级种类显示,二级种类显示;信息反馈模块;购物车模块,包括选商品,购物和结帐。
在后台,可以将系统分为会员管理模块;订单管理模块;商品管理模块,包括商品分类管理;编辑文本管理,包括促销商品展示编辑,商场公告的编辑,购物流程的编辑;系统设置模块,包括订单设置、商场设置、银行信息设置和主题设置。下面是电子商场系统模块体系图:
2.3识别参与者和用例
通过对系统的分析,可以确定系统中有两个参与者:系统管理员Asministrator和顾客customer。各参与者的描述如下:
Customer 顾客浏览商品、查询商品、查看商城活动,注册并且登录后还可以购买商品,反馈商城的信息。
Asministrato系统管理员可以编辑促销产品、编辑购物流程、编辑条款信息、删除会员、添加会员、添加和管理商品、管理订单和系统设置。
2.3.1 顾客Customer用例图
用例说明如下:
(1)登录用例描述表
| 用例名称 | 登录 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC001 登录系统 顾客(会员)、系统管理员 无 登录到系统 1.系统提示用户输入用户名和密码 2.用户输入用户名和密码 3.系统验证用户名和密码,若正确,则登录到系统中 如果用户输入无效的用户名和密码,系统显示错误信息,并返回重新提示用户输入用户名和密码:或者取消登录或者终止登录。 |
(2)修改个人信息用例:
| 用例名称 | 修改个人信息 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC002 会员可以修改密码和基本信息。 顾客(会员) 顾客登录到系统 会员完成自己的信息的修改。 1.顾客点击要修改个人信息 2.顾客输入要修改的信息 3.提交到数据库,修改数据库的内容。 然后输入无效的用户名,旧密码不正确,EMAIL格式不正确则提示重新输入,或终止用例。 |
(3)反馈信息用例
| 用例名称 | 反馈信息 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC003 会员对商品的评价和服务信息反馈 顾客(会员) 会员登录 对服务和商品的质量评价反馈给系统 1.单击反馈信息按钮 2.在输入框中输入你要反馈的信息 3.提交到数据库中并显示在页面中 提出对系统的服务质量,商品的价格和质量和商家应提供何种商品等建议 |
(4)查询商品用例
| 用例名称 | 反馈信息 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC004 顾客可以查询自己需要的商品 顾客 无 显示出所查询的商品 1.在查询的文本框中输入要查询的信息 2.点击提交,即可显示信息。 假如系统存在所查询的信息则显示否则提示该信息不存在,返回再查询。 |
(5)查看市场活动
| 用例名称 | 查看市场活动 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC005 查看商城各种活动和各种促销信息 顾客(会员) 无 显示各种活动和促销信息 1.点击活动信息按钮 2.显示各种活动信息 无 |
(6)顾客浏览用例
| 用例名称 | 浏览商品 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC006 查看商场的各种商品 顾客(会员) 无 显示商品在页面中 显示各种商品和商品具体信息 查看一级标题,查看二级商品标题查看具体商品查看打折商品 |
(7)顾客注册用例
| 用例名称 | 顾客注册 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC007 注册成为会员 顾客 无 顾客注册成为会员 1.点击注册进入注册页面 2.输入相关信息 3.提交信息到数据库中 如果输入的用户名有重名,EMAIL格式不正确,密码格式、长度不对则返回重新注册,或取消,终止用例 |
(8)购买商品用例。
| 用例名称 | 购买商品 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC008 购买商品 顾客(会员) 登录到系统 完成对商品购买 1.找到所需要的商品 2.点击添加到购物车 3.点击我的购物车,查看购物车商品, 4.点击结算,选择要付款的方式 5.点击完成,显示购物单 可对购物商品数量添加,和删除商品,选择不同的付款方式,假如信息不全,则提示要完成所要输入信息,或取消,终止用例 |
2.3.2 系统管理员用例
用例说明如下:
(1)编辑文本管理用例
| 用例名称 | 编辑文本管理 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC009 编辑用户购物流程,各种促销产品和商城规则条款信息 系统管理员 管理员登录进入系统 编辑各种信息显示在页面上 1.选择要编辑的内容 2.输入要编辑的内容 3.提交,则内容显示在页面上 编辑促销产品,编辑购物流程,编辑条款信息 |
(2)会员管理
| 用例名称 | 会员管理 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC010 是删除会员,添加会员,查看会员订单,查看会员购物车等会员的父用例。 系统管理员 管理员登录进系统 完成会员各种信息的管理 1.选择管理表项(如: 删除会员、添加会员) 2.输入或修改会员信息,提交 删除会员、添加会员信息、查看会员的订单,查看会员的购物车 |
(3)商品管理用例
| 用例名称 | 商品管理 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC011 用于添加一级商品类别,更新一级商品,添加二级商品目录,删除二级商品目录,移动二级商品目录 系统管理员 管理员登录进系统 完成商品标题和商品各种信息的管理 1.进入商品管理模块 2.选择要更新的项目 3.输入要更新的信息 4.确认、提交 添加二级商品目录,删除二级商品目录,移动二级商品 删除具体商品,移动具体商品 |
(4)订单管理用例
| 用例名称 | 订单管理 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC012 查看订单信息,修改订单状态,根据状态查询订单信息,如对交易是否完成的状态进行查找。 系统管理员 管理员登录进系统 完成对订单的修改 1.进入订单模块 2.修改订单的状态(如交易玩成则添加到订单完成状态) 查看订单信息、修改订单状态、根据状态查询订单信息,(如对交易是否完成的状态进行查找) |
(5) 系统设置
| 用例名称 | 系统设置 |
| 标识符 用例描述 参与者 前置条件 后置条件 基本操作流程 可选操作流程 | UC013 可以对货币、数字格式,日期格式,对销售E-nail、商城名称进行设置 系统管理员 管理员登录进系统 完成对系统的相关设置 1.进入系统设置模块 2.选择设置对象 3.输入要设置的内容,提交 可以对日期格式,银行名称公司水印,价格格式设置,提交,或者取消推出用例 |
2.3 静态结构模型
在该系统中可以确定的主要对象包括顾客信息(Customer)、商品信息(Goods)、订单(Order)、标题(Titile)、系统管理员(Asministrator)。
2.3.1 类Customer
类Customer描述了会员的信息。会员的信息包括用户名、用户的姓名、QQ号、用户地址、用户邮编、城市、用户联系电话、用户EMAIL、用户所在的省份、所在公司。
私有属性
loginName:String用户名
lastName: String用户姓名
middleName: String用户QQ号
address: String用户地址
zip: String用户邮编
city: String用户所在城市
phone: String用户联系电话
email: String用户联系电话
country: String用户所在的省份
company: String用户所在公司名称
公共操作
newCustomer(loginName:String,lastName: String)创建一个Customer对象。
findCustomer(loginName:String)返回指定Customer对象。
addBuy(buy:Buy)添加购买记录。
delBuy(buy:Buy)删除购买记录。
getBuyNum()返回购买商品的数目。
getGoods(goods[]:goods)返回已购买的商品。
setBackInfo(backInfo:BackInfo)设置反馈信息.
另外还有设置和获取对象属性值的方法有:
setloginNam(loginName:String)
get()
setName(name:name)
getName()
2.3.2类Goods
类Goods属性主要包括商品名称、产品所属类型、产品单价。
name:String商品名称。
catid:String 产品的类型。
price:商品的单价。
公共操作
newGoods(name:String, catid:String)创建新的Goods对象。
getGoodsName()返回该商品的名称。
setGoodsPrice(price:String)设置商品的价格
getGoodsPrice()返回商品的价格。
setGoodsInfo(goodsInfo:String)设置商品的相关信息
getGoodsInfo()获取商品的相关信息。
2.3.3类Order
类Order属性主要有用户的ID号、用户的姓名、下订单的时间。
customerID:string用户ID号。
customername:string用户姓名。
date:Date下订单时间。
buyNum:string购买商品的数量。
webID:String订单的webID号
公共操作
neworder(order:order, customerID:ID, name:string, date:Date)创建order对象。
getName()返回顾客姓名。
getGoods()返回购买的商品。
getDate()返回下订单的日期。
2.3.4管理员
管理员类的属性主要有,ID号,和姓名。
AsministratorrID:string管理员ID号。
Asministratore:string管理员姓名。
公共操作
newAsministratorr (loginName:String,lastName: String)创建一个Asministratorr对象。
addGoods ()添加商品。
delGoods ()删除商品。
addTitle()添加标题。
delTitle ()删除标题。
MoveTitle ()移动标题。
MoveGoods ()移动商品。
Settext()设置文本信息。
2.3.5标题title类
标题可分为三级,一级标题和二级标题分别继承标题类。主要属性有标题名,在该标题下商品的信息。
标题类的属性:标题的名称Titlename
公共操作
newTitle (TitleName:String)创建一个Title对象。
AddTitle()添加一个二级标题
DelTitle()删除一个二级标题
GetNumTitle()获取一个二级标题的数量
2.3.6二级标题类
标题类的属性:标题的名称Titletwoname、该种类商品的信息GoodsMessage
公共操作:
newGoods (GoodsName:String)创建一个Good对象
Addname()添加商品的名称
DelGoods()删除该商品
2.3.7公共操作类
公共操作类似将一些常用的共能代码单独写在一个类中,如链接数据库,删除、查询、插入数据库等代码封装成为一个类。以便让其他模块引用。
2.3.8类图
3.动态行为模式
3.1时序图
3.1.1顾客注册成为会员时序图
3.1.2顾客反馈信息时序图
3.1.3顾客浏览商品时序图
3.1.4顾客查询商品时序图
3.1.5顾客购买商品时序图
3.2.6管理员添加商品时序图
3.2.7管理员删除商品时序图
3.2.8管理员添加二级商品目录时序图
3.2.9管理员删除二级商品目录时序图
3.2.10管理员编辑促销产品时序图
3.2.11管理员编辑条款信息时序图
3.2.12管理员编辑购买流程时序图
3.2.13管理员删除会员时序图
3.2.14用户结算时序图
3.3.活动图
3.3.1用户顾客的活动图
从图中可以看出,顾客首先登录电子商城的首页,在这个首页中,查看活动信息、查看促销产品和新商品、搜索商品查看购物流程和浏览商品是并列的活动。在顾客购买时,需要进行判断,只有登录的顾客才可以购买商品,没有登录系统的顾客,必须先登录系统,如果该用户不是会员,必须先注册成为会员,然后才能去服务台下订单。
3.3.2管理端管理员的活动图
从下图可以看出,管理员首先输入管理员用户名和密码才可以进入电子商城的后台管理页面。管理员进入后,会员管理、商品管理、订单管理、编辑文本管理、系统设置是并列的活动,在会员管理中,还有具体的删除会员和编辑会员活动,在商品管理中也有类似的活动。其实,订单管理、编辑文本管理和系统设置下都有具体的活动。
3.4协作图
3.4.1顾客登录协作图
3.4.2顾客注册协作图
3.4.3顾客浏览商品协作图
3.4.4反馈信息协作图
3.4.5顾客查询商品协作图
3.4.6顾客购买商品协作图
3.4.7管理员删除会员协作图
3.4.8管理员添加商品协作图
3.4.9管理员添加商品标题协作图
3.4.10管理员删除商品协作图
3.4.11管理员删除标题协作图
3.4.12管理员编辑文本协作图
4.系统数据库设计
4.1数据库的需求分析
根据电子商务系统的用户,对应数据表的设计及功能如下。
(1)购物车信息表(basket):存放用户购物车基本信息。
(2)商品二级类别表(category):存放商品的二级种类信息。
(3)顾客信息表(customer):存放顾客注册时填写的一些基本信息。
(4)商品一级类别表(group):存放商品的一级种类信息。
(5)订单表(order):存放顾客下订单的基本信息。
(6)商品信息表(product):存放电子商场中商品的基本参数信息。
(7)系统参数设置表(setting):存放系统设置的参数信息。
4.2数据库的逻辑设计
(1)购物车信息表。购物车信息表(basket)主要保存了用户的购物车的内容。
Basket表
| 字段名称 | 字段类型 | 字段说明 |
| ID(主关键字) | int | 自动编号 |
| customerid | int | 用户ID号 |
| productid | varchar | 商品ID号 |
| orderid | int | 订单ID号 |
| lineadddate | varchar | 加入时间 |
| qty | int | 默认值为1 |
| price | double | 价格 |
| 字段名称 | 字段类型 | 字段说明 |
| ID(主关键字) | int | 二级类型名ID号 |
| desc | varchar | 类型名称 |
| groupid | varchar | 一级类型ID号 |
Customer表
| 字段名称 | 字段类型 | 字段说明 |
| ID(主关键字) | int | ID号,自动编号 |
| loginname | varchar | 用户名 |
| password | varchar | 密码 |
| lastname | varchar | 用户姓名 |
| middlename | varchar | QQ号 |
| initials | varchar | 用户主页 |
| IP | varchar | 默认为空 |
| address | varchar | 用户地址 |
| zip | varchar | 用户邮编 |
| city | varchar | 城市 |
| phone | varchar | 用户联系电话 |
| varchar | 用户EMAIL | |
| group | varchar | 默认为Customer |
| country | varchar | 用户所在省份 |
| company | varchar | 所在公司的名称 |
| joindate | varchar | 默认为空 |
Group表
| 字段名称 | 字段类型 | 字段说明 |
| ID(主关键字) | int | 商品一级类型名id号 |
| name | varchar | 类型名称 |
Order表
| 字段名称 | 字段类型 | 字段说明 |
| ID(主关键字) | int | ID号,自动编号 |
| date | varchar | 下达订单时间 |
| status | tinyint | 购买商品的件数 |
| shipping | tinyint | 托运方式 |
| payment | tinyint | 付款方式 |
| customerid | int | 用户ID号 |
| topay | double | 商品总价 |
| webid | varchar | 订单的web ID号 |
| notes | longtext | 订单附注 |
| 字段名称 | 字段类型 | 字段说明 |
| ID(主关键字) | int | ID号,自动编号 |
| productID | varchar | 商品的名称 |
| catid | int | 产品所属的类型 |
| description | longtext | 商品的描述 |
| price | double | 商品的单价 |
| stock | int | 库存数量 |
| frontpage | tinyint | 是否置顶 |
| new | tinyint | 是否是新商品 |
| 字段名称 | 字段类型 | 字段说明 |
| shopname | varchar | 商场名称 |
| shopurl | varchar | 商场网址 |
| shoptel | varchar | 销售电话 |
| bankaccount | varchar | 银行帐号 |
| bankaccountowner | varchar | 银行户名 |
| bankname | varchar | 银行名称 |
| theme | varchar | 系统颜色主题 |
| webmaster_mail | varchar | 管理员E_mail |
| background | varchar | 背景 |
叶子青 黄炳强 《网络开发实用工程》人民邮电出版社
牛丽平 郭新志 宋强 杨继萍《面向对象设计与分析》清华大学出版社
