基于JSP和MySQL的网上商城的设计与实现
前言
项目开发目的
近年来,互联网的快速发展,推动了网上购物的潮流,越来越多的人在 网上购买商品,尚购公司为了有力的推销自己的产品,决定打造一个 B2C 模 式的商城,用于销售自己本公司的产品。
项目开发定义
本系统主要有以下功能:
- 用户功能实现
- 用户的登录
-
用户的注册
-
系统功能实现
- 商品模块
- 订单模块
-
评论模块
-
后台管理
- 管理员的登录
- 用户的管理
- 几大模块信息的管理
项目开发平台
-
IDE:MyEclipse
-
数据库:MySQL
第1章 项目开发计划书
1.1 项目范围
系统主要分为五大模块 :
-
登录注册模块
-
商品模块
-
订单模块
-
评论模块
-
后台管理模块
初始活动 :
-
与客户交流,获取需求
-
分析需求,制定开发方案
-
根据系统的大小以及各方面的要求,选择合适的框架
-
根据系统的开发周期,选定人员
最后活动 :
系统测试 :对项目做单元测试和集成测试,针对测试报告,进一步改进。 减少 bug 数。
1.2 项目成果
序号 | 内容 | 计划时间 | 实际时间 | 状态 |
---|---|---|---|---|
1 | 项目设计 | 20 天 | 30 天 | 已完成 |
2 | 文档开发 | 10 天 | 3 天 | 已完成 |
3 | 界面开发 | 2 天 | 2 天 | 已完成 |
4 | 登录注册模块 | 2 天 | 2 天 | 已完成 |
5 | 商品模块 | 3 天 | 3 天 | 已完成 |
6 | 订单模块 | 3 天 | 2 天 | 已完成 |
7 | 评论模块 | 3 天 | 3 天 | 已完成 |
8 | 后台管理模块 | 3 天 | 3 天 | 已完成 |
9 | 系统测试 | 5 天 | 5 天 | 已完成 |
1.3 项目风险分析
序号 | 风险 | 概率(%) | 严重性(%) | 措施 |
---|---|---|---|---|
1 | 时间不够(因为自 己在学习,没有足 够多的时间) | 80 | 100 | 尽量的腾出时间,可能 的话,晚上也加班完成 项目。 |
2 | 超期限 | 80 | 100 | 把握时间,排出进度表, 按进度执行。 |
3 | 由于系统集成时候 问题引起的最终产 品的缺陷 | 90 | 100 | 经过大量的测试,用不 同的操作系统平台,考 虑会出现的各种软硬件 环境错误信息。设计软 件的时候捕获所有可能 的错误信息。 |
4 | 遵循标准(如命名 规则)中的差别 | 80 | 10 | 建立命名规则要求 |
第2章 需求规格说明书
2.1 问题陈述
近年来,互联网的快速发展,推动了网上购物的潮流,越来越多的人在网上 购买商品,尚购公司为了有力的推销自己的产品,决定打造一个 B2C 模式的商 城,用于销售自己本公司的产品。
2.2 要达到的目标
本系统要达到的目标:
-
在网站上发布公司产品,并能够对库存、订单进行处理
-
能够注册会员和登录系统
-
能够查询和浏览产品详细,会员可以购买商品,下订单,和收藏商品
2.3 需求分析
浏览商品
标识符 | UC003 |
---|---|
用例名称 | 浏览商品 |
简要说明 | 浏览商品和商品详细信息 |
参与者 | 管理员、会员、游客。 |
基本流 | 1. 打开系统。 2. 浏览商品 |
备选流 | 无 |
前置条件 | 成功打开系统 |
后置条件 | 浏览商品 |
搜索商品
标识符 | UC004 |
---|---|
用例名称 | 搜索商品 |
简要说明 | 搜索想要浏览的商品 |
参与者 | 管理员、会员、游客。 |
基本流 | 1. 打开系统。 2. 在搜索栏中输入搜索条件。 3. 点击搜索按钮。 4. 根据搜索条件查询符合条件的商品并显示。 |
备选流 | 无 |
前置条件 | 成功打开系统 |
后置条件 | 搜索到预期的商品。 |
收藏商品
标识符 | UC005 |
---|---|
用例名称 | 收藏商品 |
简要说明 | 将商品收藏起来,以便于以后查看 |
参与者 | 会员。 |
基本流 | 1. 选择商品 2. 点击收藏 3. 将商品收藏到收藏夹中。 |
备选流 | 无 |
前置条件 | 成功登录系统 |
后置条件 | 成功将商品收藏。 |
加入购物车
标识符 | UC006 |
---|---|
用例名称 | 加入购物车 |
简要说明 | 将商品加入购物车 |
参与者 | 会员。 |
基本流 | 1. 选择商品 2. 点击加入购物车 3. 将商品加入到购物车中。 |
备选流 | 无 |
前置条件 | 成功登录系统 |
后置条件 | 成功将商品加入到购物车中。 |
商品管理
标识符 | UC007 |
---|---|
用例名称 | 商品管理 |
简要说明 | 对系统中的商品进行管理 |
参与者 | 管理员 |
基本流 | 1a. 上架商品 1. 选择未上架商品。 2. 点击上架按钮。 3. 提示上架成功。 2a. 下架商品 1. 选择已上架商品。 2. 点击下架按钮。 3. 提示下架成功。 3a. 新增商品 1. 点击新增按钮,进入到新增页面。 2. 按要求输入商品信息。 3. 点击保存。 4. 提示保存成功。 4a. 修改商品 1. 选择商品。 2. 点击修改按钮。 3. 修改商品信息。 4. 点击保存。 5. 提示保存成功。 5a. 删除商品 1. 选择商品。 2. 点击上传按钮。 3. 提示是否要删除该商品。 4. 点击确定。 5. 提示删除商品成功。 |
备选流 | 无 |
前置条件 | 管理员成功登录系统 |
后置条件 | 1a. 成功将商品上架。 2a. 成功将商品下架。 3a. 成功新增商品信息。 |
评论
标识符 | UC010 |
---|---|
用例名称 | 评论 |
简要说明 | 会员对本次交易进行评论。 |
参与者 | 会员。 |
基本流 | 1. 选择已完成的订单。 2. 点击评论。 3. 输入评论。 4. 点击提交评论。 5. 评论提交成功。 |
备选流 | 1a. 追评 1. 选择已完成并已评论的订单。 2. 点击追评按钮。 3. 输入追评。 4. 点击提交。 5. 成功提交追评。 |
前置条件 | 1. 会员成功登录系统。 2. 订单已经完成。 |
后置条件 | 成功评论。 |
回复评论
标识符 | UC011 |
---|---|
用例名称 | 回复评论 |
简要说明 | 对评论进行回复。 |
参与者 | 管理员。 |
基本流 | 1. 选择要回复的评论。 2. 点击回复按钮。 3. 输入回复信息。 4. 点击提交。 5. 回复评论提交成功。 |
备选流 | 无 |
前置条件 | 3. 管理员成功登录系统。 4. 会员已评论。 |
后置条件 | 成功回复评论。 |
第3章 系统设计书
3.1 命名规则
开发人员统一命名规范程序代码,更好的统一各模块。
数据库命名规则 :
-
表 :“Tab_”+“表描述词”。如:Tab_User 指用户表
-
列 :“表描述词‘’的首字母为小写。如:userId 措用户表的 ID 数据库名:shang_gou
类命名规则 :
用名词或名词短语命名类、每个单词或短语的第一个字母必须大写。 如:public class UserDaoImpl(){}
函数命名规则 :
用动词或动词短语命名方法。用下述范例所示的 Pascal 大写方式命名方法。如:public String UserFind()、public void MakeMD5 ()
属性命名规则 用动词或动词短语命名方法。字母里面不能含有大写字母及下划线。如:loginname、loginpassword
接口的命名规则
使用名词或名词短语,或者描述行为的形容词来命名接口。例如,UserDao(描述性名词),在接口名前加前缀 I,以表示这个类型是一个接口。 如:public interface UserDao {}
JSP 命名规则
用名词或名词短语命名类 、每个单词或短语的第一个字母必须大写。 如:Log.jsp、index.jsp
3.2 软件结构图
3.2.1 系统总架构图
3.2.2 系统文件结构图
3.3 系统功能结构设计
-
用户注册 :提供新用户功能,检查注册信息的有效性,并将注册用户信息存入对应数据库的数据表中
-
评论管理 :会员对本次交易进行评论,管理员对评论进行回复
3.4 类图
3.4.1 包图
根据其功能将其为七个包,如下图所示。
包名 | 主要功能 |
---|---|
Web | 页面层,用于存放页面视图 |
dao | 数据接口 |
bean | 实体包,保存实体模型 |
control | 访问控制包,用于实现界面和业务连接控制 |
dao.impl | 数据业务包 |
3.5 时序图
3.5.1 用户注册
用户在注册页面添加个人信息提交传给服务器管理员保存。
3.5.2 商品添加
3.6 数据库设计
3.6.1 数据库
-
数据库名称 :shang_gou
-
数据文件大小 :3M
-
数据文件物理位置 :C:\ MySQL \MSSQL.1\MSSQL\DATA\ shang_gou.mdf
-
日志文件大小 :1M
-
日志文件物理位置 :C: \MySQL \MSSQL.1\MSSQL\Data\ shang_gou_log.ldf
-
文件组名称 :PRIMARY
3.6.2 表设计
以下不包括 SQL Server 为数据库提供的默认的系统表。
系统用户表(sys_user)
字段名 | 字段说明 | 类型 | 长度 | 是否为空 | 备注 |
---|---|---|---|---|---|
account | 用户账号 | varchar | 30 | NO | 主键 |
password | 用户密码 | Varchar | 30 | NO | |
nickname | 用户昵称 | Varchar | 30 | NO | |
name | 姓名 | Varchar | 10 | YES | |
sex | 性别 | Varchar | 2 | YES | |
birth_date | 出生日期 | date | YES | ||
邮箱 | Varchar | 30 | YES | ||
Varchar | 20 | YES | |||
mobile_phone | 手机 | varchar | 20 | NO | |
phone | 电话 | varchar | 20 | YES | |
addr | 地址 | varchar | 200 | YES |
会员表(member)
字段名 | 字段说明 | 类型 | 长度 | 是否为空 | 备注 |
---|---|---|---|---|---|
member_account | 管理员编号 | varchar | 30 | NO | 主键 |
member_password | 管理员名 | varchar | 30 | NO | |
member_nickname | 管理员密码 | varchar | 30 | NO | |
name | 姓名 | varchar | 10 | YES | |
sex | 性别 | varchar | 2 | YES | |
age | 年龄 | int | 3 | YES | 默认值 为 0 |
birth_date | 出生日期 | date | YES | ||
constellation | 星座 | varchar | 10 | YES | |
邮箱 | varchar | 30 | YES | ||
varchar | 20 | YES | |||
mobile_phone | 手机 | varchar | 20 | YES | |
phone | 电话 | varchar | 20 | YES | |
addr | 地址 | varchar | 200 | YES |
地址表(address)
字段名 | 字段说明 | 类型 | 长度 | 是否为空 | 备注 |
---|---|---|---|---|---|
addr_no | 地址编码 | varchar | 30 | NO | 主键 |
member_account | 会员账号 | varchar | 30 | NO | |
addr | 收件地址地址 | varchar | 200 | NO | |
postcode | 邮编 | varchar | 10 | YES | |
name | 收件人 | varchar | 10 | NO | |
mobile_phone | 手机 | varchar | 20 | NO | |
phone | 电话 | varchar | 20 | YES |
商品类型表(commodity_type)
字段名 | 字段说明 | 类型 | 长度 | 是否为空 | 备注 |
---|---|---|---|---|---|
type_no | 类型编码 | varchar | 30 | NO | 主键 |
type_name | 类型名称 | varchar | 30 | NO | |
parent_type_no | 父类型编码 | varchar | 30 | NO | |
remark | 备注 | varchar | 100 | YES | |
new_account | 新增人 | varchar | 10 | YES | 外键(sys_user) |
new_date | 新增时间 | date | YES | ||
commentaccount | 修改人 | varchar | 10 | YES | 外键(sys_user) |
modification_date | 修改时间 | date | YES |
商品表(commodity)
字段名 | 字段说明 | 类型 | 长度 | 是否为空 | 备注 |
---|---|---|---|---|---|
commodity_no | 商品编码 | varchar | 30 | NO | 主键 |
type_no | 类型编码 | varchar | 30 | NO | 外 键 (commodity_ty pe) |
commodity_name | 商品名称 | varchar | 30 | NO | |
commodity_intro | 商品简介 | varchar | 100 | NO | |
commodity_detail | 商品详情介绍 | varchar | 300 | YES | |
price | 单价 | float | NO | 0 | |
is_putaway | 是否上架 | tinyint | 1 | NO | 0 |
new_account | 新增人 | varchar | 10 | YES | 外键(sys_user) |
new_date | 新增时间 | date | YES | ||
commentaccount | 修改人 | varchar | 10 | YES | 外键(sys_user) |
modification_date | 修改时间 | date | YES |
商品图片表(commodity_picture)
字段名 | 字段说明 | 类型 | 长度 | 是否为空 | 备注 |
---|---|---|---|---|---|
picture_no | 商品编码 | int | 10 | NO | 主键(自动增长列) |
commodity_no | 类型编码 | varchar | 30 | NO | 外键(commodity) |
prcture_addr | 商品名称 | varchar | 300 | NO | |
prcture_rank | 商品简介 | varchar | 30 | NO | |
prcture_sequence | 商品详情介绍 | varchar | 300 | NO |
商品规格表(commodity_specification)
字段名 | 字段说明 | 类型 | 长度 | 是否为空 | 备注 |
---|---|---|---|---|---|
sku_no | SKU 编码 | int | 10 | NO | 主键 ( 自 动 增 长列) |
sku_code | SKU 码 | varchar | 30 | NO | |
commodity_no | 商品编码 | varchar | 30 | NO | 外 键 (commodity) |
stock_number | 库存数量 | int | 10 | NO | 0 |
sell_number | 已售数量 | int | 10 | NO | 0 |
spec1 | 规格 1 | varchar | 30 | NO | |
Spec2 | 规格 2 | varchar | 30 | NO | |
Spec3 | 规格 3 | varchar | 30 | YES | |
Spec4 | 规格 4 | varchar | 30 | YES | |
Spec5 | 规格 5 | varchar | 30 | YES | |
remark | 备注 | varchar | 100 | YES |
商品参数表(commodity_parameter)
字段名 | 字段说明 | 类型 | 长度 | 是否为空 | 备注 |
---|---|---|---|---|---|
parameter_no | 参数编码 | int | 10 | NO | 主键 ( 自 动 增 长列) |
commodity_no | 商品编码 | varchar | 30 | NO | 外键 (commodity) |
parameter_name | 参数名称 | varchar | 30 | NO | |
parameter_explain | 参数说明 | varchar | 100 | NO | 0 |
购物车表(shopping_no)
字段名 | 字段说明 | 类型 | 长度 | 是否为空 | 备注 |
---|---|---|---|---|---|
shopping_no | 购物车编码 | int | 10 | NO | 主键 ( 自 动 增 长列) |
member_account | 会员编码 | varchar | 30 | NO | 外键(member) |
commodity_no | 商品编码 | varchar | 30 | NO | 外 键 (commodity) |
订单表(order)
字段名 | 字段说明 | 类型 | 长度 | 是否为空 | 备注 |
---|---|---|---|---|---|
order_no | 订单号 | varchar | 30 | NO | 主键 |
member_account | 会员编码 | varchar | 30 | NO | 外键(member) |
addr_no | 地址编码 | varchar | 30 | NO | 外 键 (address) |
order_date | 订单日期 | date | NO | ||
account | 修改人 | varchar | 10 | YES | 外 键 (sys_user) |
modification_date | 修改时间 | date | YES | ||
# 第4章 系统操作手册 |
4.1 用户登入模块操作
会员输入账号和错误密码时候会提示密码错误的框、输入正确密码进入主 页,就可以看到物品的信息和价格了,还有可以看到搜索框,可以去搜索你想要 的物品,后显示物品的信息和价格了。
4.2 用户注册模块操作
没有会员账号的可以选择注册按钮,进入注册界面去申请注册会员。密码和 重复密码不一样的时候回提示注册失败。注册成功后会直接跳到登入界面在进行 重新登入。
4.3 订单提交模块操作
会员选好物品后并点击购买后会进入订单提交界面,会员可以查看到自己的 收件地址,和你选好的物品名称和金额。
4.4 商品留言评论
参考文献
- 网上购物模拟系统(吉林大学·郭秋野)
- 电子产品网络购物系统的设计与实现(电子科技大学·李睿)
- 基于B/S的网上购物系统的设计与实现(厦门大学·荆飞)
- 基于JSP网上购物系统的实现与应用(南昌大学·曾磊)
- 基于SSI e家电脑商城的设计与实现(武汉工业学院·胡炼)
- 基于JSP/Servlet的三层式网上书店的研究与实现(吉林大学·郭小雪)
- 基于SSM框架的B2C网上商城系统的设计与实现(湖南大学·陈峰)
- 龙城电子商城购物系统的设计与实现(电子科技大学·任艳梅)
- 基于JSP网上购物系统的实现与应用(南昌大学·曾磊)
- 龙城电子商城购物系统的设计与实现(电子科技大学·任艳梅)
- 基于JSP技术的网络交易平台设计与实现(电子科技大学·黄华)
- 基于J2EE的在线购物网站设计与实现(江西农业大学·夏超)
- 基于J2EE的在线购物网站设计与实现(江西农业大学·夏超)
- 电子产品网络购物系统的设计与实现(电子科技大学·李睿)
- 基于SSH的网上商城的设计与实现(电子科技大学·李黎)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设客栈 ,原文地址:https://bishedaima.com/yuanma/35310.html