基于javaWeb 手机销售系统设计与实现

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php python(flask Django) 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作

☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟

我的博客空间发布了2000+毕设题目 方便大家学习使用

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

文末有源码下载地址

3 系统总设计

3.1系统功能设计

手机销售信息系统,主要包括用户和管理员,围绕系统业务功能来操作。

3.2系统总体模块图

本毕业设计开发了一个基于WEB的手机销售信息系统来满足人们快捷购物的需求,并在能够满足商品浏览,根据用户浏览过的手机商品进行类型进行个性化手机推荐等功能的基础上,结合自己对手机个性化浏览推荐,以达到更加快捷、方便购物的目的,实现手机销售平台智能化。

对本系统分为前台和后台,前台供普通用户使用,后台由系统管理员使用,同时普通用户也可以登录个人后台,前台功能模块和后台功能模块又可以细分为各个功能模块。如图4-1所示:

3 系统总设计

3.1系统功能设计

手机销售信息系统,主要包括用户和管理员,围绕系统业务功能来操作。

3.2系统总体模块图

本毕业设计开发了一个基于WEB的手机销售信息系统来满足人们快捷购物的需求,并在能够满足商品浏览,根据用户浏览过的手机商品进行类型进行个性化手机推荐等功能的基础上,结合自己对手机个性化浏览推荐,以达到更加快捷、方便购物的目的,实现手机销售平台智能化。

对本系统分为前台和后台,前台供普通用户使用,后台由系统管理员使用,同时普通用户也可以登录个人后台,前台功能模块和后台功能模块又可以细分为各个功能模块。如图4-1所示:

图3-1 前后台功能模块图

前台供普通用户使用,同时普通用户也可以登录个人后台,前台功能模块主要包括首页信息展现,用户注册、登录 购物车订单、售后管理等。如图4-2所示:

图3-2 用户前后台功能模块图

后台管理,主要包括系统管理、手机管理、订单管理等处理系统日常业务工作,主要功能如图4-3所示:

图3-3 管理员后台功能模块图

前台主要业务功能,主要功能如图3-4所示:

图4-4 前台功能模块图

系统通过用户访问的手机商品的记录推算出用户经常访问的手机类型,系统根据用户的访问类型,检索该类型的访问量最高的手机推荐给用户。通过此算法达到根据用户浏览喜好,推荐系统内最欢迎的(访问量高的)手机商品给用户,达到根据用户个人的访问数据计算出用户喜欢手机的类型,精准推荐相应的手机的目的。如果用户是没登录访问,或者普通游客访问,则系统默认推荐最受欢迎的手机商品,如图4-5所示:

图4-5 智能推荐算法流程图

系统普通购物流程,系统通过访问系统,然后通过筛选条件,选择自己喜好的手机,提交购物车,然后提交订单,模拟支付,然后查看订单,具体流程如图4-6所示:

图4-6普通购物流程图

3.3数据库层设计

3.3.1概念模型设计

将需求分析得到的用户需求抽象为信息结构,即概念模型的过程就是概念结构设计,它是整个数据库设计的关键。

(2)系统中实体E-R图

根据手机销售信息系统的设计系统的要求,规划出了以下一些实体。

用户信息实体,主要包括 用户编号,用户名,密码,姓名,邮箱,联系电话,联系地址 等信息实体。如图4.2所示:

图4.2 用户实体属性图

管理员信息实体,主要包括 管理员编号,用户名,密码,姓名 等信息实体。如图4.3所示:

图4.3 管理员实体属性图

分类信息信息实体,主要包括 分类信息编号,分类名称,类型 等信息实体。如图4.4所示:

图4.4 分类信息实体属性图

手机信息实体,主要包括 手机编号,手机名称,折扣,当前价格,介绍,图片,尺寸,颜色,手机分类,厂家,商品分类,浏览量,库存,上架 等信息实体。如图4.5所示:

图4.5 手机实体属性图

3.3.2关系模型设计

一个实体型转换为一个关系模式的集合。实体的属性就是关系的属性,实体的码就是关系的码。

对于实体间的联系则有以下不同的情况:

手机销售信息系统中,实体有用户实体,管理员实体,分类信息实体,手机实体,评论实体,公告实体,访问记录实体,订单实体,订单项实体等等,他们之间的关系如图4.11所示:

图4.11 系统整体E-R图

3.4小结

本章主要介绍的内容是总体设计或者概要设计,简单介绍了手机销售信息系统的设计,主要是在架构设计、总体模块设计和数据库设计的方面介绍的,为进一步的详细设计做准备。

4详细设计

详细设计阶段的任务就是把在总体设计阶段提出的比较抽象概括的解决问题的方法具体化,也就是"应该怎样具体地实现这个系统"。在本阶段将包括数据库的设计和每个模块的详细设计,确定实现模块功能所需要的算法和数据结构。

4.1 后台设计

4.1.1角色权限设计

用户注册后或管理员输入自己的用户账号、密码,通过身份验证后可以进入相应的管理界面首页。用户页面分为修改个人信息、首页、浏览手机、在线下单等模块。管理员管理页面分为用户管理、手机管理、分类管理、订单管理等模块。

4.1.2角色验证设计

当用户需要登录的时候,需要有响应的页面来实现这一功能。登录界面是用来支持用户进行登录功能操作的界面,当在界面中输入用的用户名和密码后,就可以通过身份验证进入该系统。 登录界面需要让用户输入用户名、密码。如果是错误登录信息造成的还要显示错误信息。否则,当信息输入和权限选择正确时,将分别将用户导入各自对应的操作界面首页。

注册用户是构成网站主体的一个重要组成部分,网站设置注册用户的目的之一在于方便网站信息的管理。用户在登录之前需要先进行注册,在首页中点击"注册"链接就可以到达注册页面。用户注册要输入用户名、密码、邮箱和验证码,通过系统校验成功即可登录。进入页面首页也可以进行密码修改的操作。操作功能过程如下图4-7:

图5.1 注册管理流程图

4.2数据库设计

大多数网络应用系统都需要后台数据库的支持。在Windows操作系统中,Access和MYSQL是最常见的网络后台数据库。在互联网上,很多人出于价格的考虑选择Access数据库,但是实现比较大的网络应用系统,还是应该选择MYSQL。本系统就是应用MYSQL数据库存储数据。

4.2.1逻辑结构设计

1 用户( 用户编号,用户名,密码,姓名,邮箱,联系电话,联系地址 )

2 管理员( 管理员编号,用户名,密码,姓名 )

3 分类信息( 分类信息编号,分类名称,类型 )

4 手机( 手机编号,手机名称,折扣,当前价格,介绍,图片,尺寸,颜色,手机分类,厂家,商品分类,浏览量,库存,上架 )

5 评论( 评论编号,手机,评论,用户,时间 )

6 公告( 公告编号,标题,内容,时间 )

7 访问记录( 访问记录编号,用户,手机,时间 )

8 订单( 订单编号,订单流水,下单时间,总价,用户,地址,联系电话,状态 )

9 订单项( 订单项编号,订单,手机,数量,价格,用户,时间 )

4.2.2 物理结构设计

由各个关系模式和根据需求分析阶段数据字典的数据项描述,给出各数据表结构。

(1)用户信息表如表4.1所示:

表4.1 用户信息表

|----|----------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | uid | INTEGER | 11 | 是 | 用户编号 |
| 2 | Username | VARCHAR | 40 | 否 | 用户名 |
| 3 | Password | VARCHAR | 40 | 否 | 密码 |
| 4 | Fullname | VARCHAR | 40 | 否 | 姓名 |
| 5 | mailbox | VARCHAR | 40 | 否 | 邮箱 |
| 6 | Contactn | VARCHAR | 40 | 否 | 联系电话 |
| 7 | Contacta | VARCHAR | 40 | 否 | 联系地址 |

(2)管理员信息表如表4.2所示:

表4.2 管理员信息表

|----|----------|---------|----|----|-------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | Aid | INTEGER | 11 | 是 | 管理员编号 |
| 2 | Username | VARCHAR | 40 | 否 | 用户名 |
| 3 | Password | VARCHAR | 40 | 否 | 密码 |
| 4 | Fullname | VARCHAR | 40 | 否 | 姓名 |
| ||||||

(3)分类信息表如表4.3所示:

表4.3 分类信息表

|----|-----------------|---------|----|----|--------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | Cid | INTEGER | 11 | 是 | 分类信息编号 |
| 2 | Classificationn | VARCHAR | 40 | 否 | 分类名称 |
| 3 | type | VARCHAR | 40 | 否 | 类型 |

(4)手机信息表如表4.4所示:

表4.4 手机信息表

|----|------------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | Mid | INTEGER | 11 | 是 | 手机编号 |
| 2 | Phonename | VARCHAR | 40 | 否 | 手机名称 |
| 3 | discount | VARCHAR | 40 | 否 | 折扣 |
| 4 | Currentp | VARCHAR | 40 | 否 | 当前价格 |
| 5 | introduce | VARCHAR | 40 | 否 | 介绍 |
| 6 | picture | VARCHAR | 40 | 否 | 图片 |
| 7 | size | VARCHAR | 40 | 否 | 尺寸 |
| 8 | colour | VARCHAR | 40 | 否 | 颜色 |
| 9 | Mobilepc | VARCHAR | 40 | 否 | 手机分类 |
| 10 | Manufactor | VARCHAR | 40 | 否 | 厂家 |
| 11 | Commodityc | VARCHAR | 40 | 否 | 商品分类 |
| 12 | Browsingv | VARCHAR | 40 | 否 | 浏览量 |
| 13 | Stock | VARCHAR | 40 | 否 | 库存 |
| 14 | Theshelves | VARCHAR | 40 | 否 | 上架 |

(5)评论信息表如表4.5所示:

表4.5 评论信息表

|----|-------------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | cid | INTEGER | 11 | 是 | 评论编号 |
| 2 | Mobilephone | VARCHAR | 40 | 否 | 手机 |
| 3 | comment | VARCHAR | 40 | 否 | 评论 |
| 4 | user | VARCHAR | 40 | 否 | 用户 |
| 5 | time | VARCHAR | 40 | 否 | 时间 |

(6)公告信息表如表4.6所示:

表4.6 订单信息表

|----|---------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | Nid | INTEGER | 11 | 是 | 公告编号 |
| 2 | Title | VARCHAR | 40 | 否 | 标题 |
| 3 | content | VARCHAR | 40 | 否 | 内容 |
| 4 | time | VARCHAR | 40 | 否 | 时间 |

(7)访问记录信息表如表4.7所示:

表4.7 访问记录信息表

|----|-------------|---------|----|----|--------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | Aid | INTEGER | 11 | 是 | 访问记录编号 |
| 2 | user | VARCHAR | 40 | 否 | 用户 |
| 3 | Mobilephone | VARCHAR | 40 | 否 | 手机 |
| 4 | time | VARCHAR | 40 | 否 | 时间 |

(8)订单信息表如表4.8所示:

表4.8 订单信息表

|----|-----------|---------|----|----|------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | Oid | INTEGER | 11 | 是 | 订单编号 |
| 2 | Orderflow | VARCHAR | 40 | 否 | 订单流水 |
| 3 | Ordertime | VARCHAR | 40 | 否 | 下单时间 |
| 4 | Total | VARCHAR | 40 | 否 | 总价 |
| 5 | user | VARCHAR | 40 | 否 | 用户 |
| 6 | address | VARCHAR | 40 | 否 | 地址 |
| 7 | Contactn | VARCHAR | 40 | 否 | 联系电话 |
| 8 | state | VARCHAR | 40 | 否 | 状态 |

(9)订单项信息表如表4.9所示:

表4.9 订单项信息表

|----|-------------|---------|----|----|-------|
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | Oid | INTEGER | 11 | 是 | 订单项编号 |
| 2 | Order | VARCHAR | 40 | 否 | 订单 |
| 3 | Mobilephone | VARCHAR | 40 | 否 | 手机 |
| 4 | Number | VARCHAR | 40 | 否 | 数量 |
| 5 | Price | VARCHAR | 40 | 否 | 价格 |
| 6 | user | VARCHAR | 40 | 否 | 用户 |
| 7 | time | VARCHAR | 40 | 否 | 时间 |

4.3小结

本章主要是在上一章的总体设计的基础之上对系统进行详细设计,主要分为两个方面来设计,分别为后台设计和数据库设计,在后台设计方面,主要是介绍了系统的物理结构以及逻辑结构的设计。

5编码设计与实现

5.1程序编码

系统所有连接数据库代码,通过java类,DBO方法连接

主要通过open方法初始化链接数据链接

复制代码
public void open()

{  String driver = "com.mysql.jdbc.Driver";

     String url = "jdbc:mysql://127.0.0.1:3306/jspphoneshop?characterEncoding=gb2312&mysqlEncoding=gb2312";     // MySQL配置时的用户名

    String user = "root";

    // MySQL配置时的密码

    String password = "abc123";

  

    try {

      Class.forName(driver);

      conn = DriverManager.getConnection(url, user, password);



stmt=conn.createStatement();

System.out.println("打开数据库连接");

}

catch (Exception ex)

{

System.err.println("打开数据库时出错: " + ex.getMessage());

}

}

而在jsp页面通过<%@ page import="com.util.*"%>引用DBO方法来调用数据库链接

5.2程序编码

5.2.1用户注册

注册用户是构成网站主体的一个重要组成部分,网站设置注册用户的目的之一在于方便网站信息的管理。用户在登录之前需要先进行注册,在首页中点击"注册"链接就可以到达注册页面。用户注册要输入用户名、密码、邮箱和验证码,通过系统校验成功即可登录。进入页面首页也可以进行密码修改的操作。操作功能过程,如图所示:

注册流程图如图4-4所示:

图4-4购物车流程图

5.2.2手机管理

管理员可以通过分类筛选和高级搜索查找手机,查看手机详细信息、修改手机信息和下架手机。管理员还可以上架手机,输入手机的基本信息和对应的分类。如图所示

主要流程图如图4-5所示:

5.2.3购物车流程

首页有个我的购物车的选项,点击进入就是购物车页面模块。购物车中显示了用户加入购物车的手机的列表。包括手机的名称、单价、购买数量。用户还可以修改手机的购买数量,删除某手机,也可以全部清空购物车。购物车中还显示所有手机一共的总价。点击结算,就会跳到支付的界面并且产生订单。支付成功订单的状态就是已支付,否则是未支付。订单的状态由管理员修改,如图所示

复制代码
if(session.getAttribute("yhm")!=null){
yhm=(String)session.getAttribute("yhm");
}
if(keyid!=null){
sql="select count(1) as num from Orderitem  where Ordera='' and  usera='"+yhm+"' and Mobilephone='"+keyid+"' ";
rs=db.query(sql);
if(rs.next()){
num=rs.getInt("num");
}
int a=Integer.parseInt(Currentp)*10/Integer.parseInt(discount);
if(num==0){

 sql="insert into Orderitem(Ordera,Mobilephone,Number,Price,usera,time) values('','"+keyid+"','"+sl+"','"+a+"','"+yhm+"','"+StaticMethod.getStringDate()+"')";
;//订单项SQL 语句




}else{
sql="update Orderitem set Number=Number+'"+sl+"' , Price=Price+'"+a+"' where  Ordera='' and  usera='"+yhm+"' and Mobilephone='"+keyid+"'";
}
System.out.print(sql);
db.update(sql);
sql="update Mobilephone set Stock=Stock-"+sl+" where Mid='"+keyid+"'";
db.update(sql);//减少库存
}
%>

5.2.4手机推荐

系统通过用户访问的手机商品的记录推算出用户经常访问的手机类型,系统根据用户的访问类型,检索该类型的访问量最高的手机推荐给用户。通过此算法达到根据用户浏览喜好,推荐系统内最欢迎的(访问量高的)手机商品给用户,达到根据用户个人的访问数据计算出用户喜欢手机的类型,精准推荐相应的手机的目的。如果用户是没登录访问,或者普通游客访问,则系统默认推荐最受欢迎的手机商品。

图3-1 前后台功能模块图

大家点赞、收藏、关注、评论啦 其他的定制服务 商务合作 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

相关推荐
宇宙老魔女9 小时前
三星手机无法安装APK,国内的小米,华为却可以安装
华为·智能手机
线束线缆组件品替网9 小时前
Panduit 数据中心布线设计实战解析
数码相机·测试工具·智能手机·电脑·pcb工艺·智能手表·智能电视
Name_NaN_None9 小时前
有主机没键盘,手机怎么当电脑键盘?—「应急方法」
智能手机·电脑
二号小明10 小时前
AutoGLM-Phone 9B 端侧智能体:基于 vLLM 与 Docker 的云端部署与 ADB 联调指南
人工智能·计算机视觉·自然语言处理·智能手机
TheNextByte110 小时前
如何轻松从 POCO 手机恢复已删除的音乐文件
智能手机
美团骑手阿豪2 天前
Unity适配 安卓15+三键导航模式下的 底部UI被遮挡
android·智能手机
一尘之中2 天前
手机开源系统(LineageOS/PostmarketOS实战)
智能手机·开源·ai写作
千里马学框架3 天前
疑难ANR面试题:crash导致ANR深入剖析
android·智能手机·framework·perfetto·性能·anr·小米汽车