基于JAVA实现的电子商品管理系统

showy

发布日期: 2018-12-01 12:40:23 浏览量: 3361
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

一、系统分析

1.1 系统主要功能

  • 系统管理员的注册、登录

  • 对管理员的管理,包括查询、删除、添加管理员等功能

  • 对商品的管理,包括查询商品信息、更新商品信息、管理商品类型、管理商品评价等功能

  • 查询商品信息,包括查询全部商品、根据商品编号查询库存量量、根据商品编号/商品名称/商品类型查询商品信息等功能

  • 更新商品信息,包括添加商品、修改商品、删除商品等功能

  • 管理商品类型,包括查询全部商品类型、根据商品编号查询商品类型、添加商品类型等功能

  • 管理商品评价,包括查询全部商品评价、根据商品编号查询商品评价、更新商品评价、删除商品评价等功能

1.2 系统功能模块图

1.3 系统程序结构

1.3.1 结构总览

  • 程序结构分为实体层、数据访问层、业务层、控制层、菜单工具、系统入口

具体的结构调用关系如下:

1.3.2 实体层

  • 层名称:vo

  • 构成:类 Admin、类 Assessment、类 Product、类 ProType

  • 说明:把数据库的各个表,抽象为一个类,类的一个成员对应着表中的列,类的一个对象对应着表中的一行

1.3.3 数据访问层

  • 层名称:dao

  • 构成:类 BaseDao、接口 IAdminDao、类 AdminDaoImpl(实现接口 IAdminDao)、接口 IProductDao、类 ProductDaoImpl(实现接口 IProductDao)

  • 说明:

    • 类 BaseDao:定义方法实现功能:

      • 加载数据库驱动
      • 连接数据库
      • 查询数据库
      • 更新数据库
      • 关闭数据库连接
    • 接口 IAdminDao:定义方法:

      • 登录
      • 注册
      • 查询管理员信息
      • 删除管理员
    • 类 AdminDaoImpl:继承类 BaseDao,实现接口 IAdminDao

    • 接口 IProductDao:定义方法:

      • 查询全部商品信息
      • 按商品编号查询库存量
      • 按商品编号查询商品信息
      • 按商品类别查看商品信息
      • 按商品名称查询商品信息
      • 添加商品
      • 修改商品信息
      • 删除商品信息
      • 按商品编号查询商品类型
      • 查询全部商品类型
      • 添加商品类型
      • 按商品编号查询商品评价
      • 查询全部商品评价
      • 更新商品评价
      • 删除商品评价
    • 类 ProductDaoImpl:继承类 BaseDao,实现接口 IProductDao

1.3.4 业务层

  • 层名称:biz

  • 构成:接口 IAdminBiz、类 AdminBizImpl(实现接口 IAdminBiz)、接口 IProductBiz、类 ProductBizImpl(实现接口 IProductBiz)

  • 说明:

    • 接口 IAdminBiz:定义方法:

      • 登录
      • 注册
      • 查询管理员信息
      • 删除管理员
    • 类 AdminBizImpl:实现接口 IAdminBiz

    • 接口 IProductBiz:定义方法:

      • 查询全部商品信息
      • 按商品编号查询库存量
      • 按商品编号查询商品信息
      • 按商品类别查看商品信息
      • 按商品名称查询商品信息
      • 添加商品
      • 修改商品信息
      • 删除商品信息
      • 按商品编号查询商品类型
      • 查询全部商品类型
      • 添加商品类型
      • 按商品编号查询商品评价
      • 查询全部商品评价
      • 更新商品评价
      • 删除商品评价
    • 类 ProductBizImpl:实现接口 IProductBiz

    • 注意:业务层是对数据访问层的逻辑判断,功能和方法一一对应

1.3.5 控制层

  • 层名称:manage

  • 构成:类 ProductManage

  • 说明:

    • 定义方法实现对“欢迎界面”、“主界面”、“管理员管理界面”、 “商品信息管理界面”、“查询商品信息界面” 、“更新商品信息界 面” 、“商品评价系统界面” 、“商品类型管理界面”的管理(包 括页面切换,命令接收,功能方法调用)
    • 定义方法实现对业务层 biz 的方法进行封装(包括查询商品信息,更 新商品信息等功能)

1.3.6 系统入口

  • 层名称:test

  • 构成:类 SystemTest

  • 说明:类 SystemTest 是主类,是程序的入口,含有主方法,在主方法里调用类 ProductManage 的方法

1.3.7 菜单工具

  • 层名称:util

  • 构成:类 Menu

  • 说明:定义方法实现打印界面(欢迎界面、主界面等)

二、数据库设计

2.1 数据库名称

  • productDB

2.2 表的设计

2.2.1 管理员表(Admin)

2.2.2 评价表(Assessment)

2.2.3 商品表(Product)

2.2.4 商品类别表(ProType)

三、系统详细设计

3.1 数据访问层 BaseDao 类

3.1.1 类的构成

3.1.2 驱动加载

  • 原形:static 静态数据块

  • 调用方法:类 Class 的 forName()方法,加载库中的驱动

  • 驱动路径:“com.microsoft.sqlserver.jdbc.SQLServerDriver”

3.1.3 数据库连接

  • 方法原形:private void getConn();

  • 调用方法:类 DriverManger 的 getConnection(),获取数据库连接

  • 数据库路径:“jdbc:sqlserver://127.0.0.1:1433;databasename=productDB” 数据库用户名:“sa” 数据库密码:“ok”

3.1.4 查询数据库

  • 方法原形:public ResultSet excuteQuery(String sql,Object[] params);

  • 流程图:

3.1.5 更新数据库

  • 方法原形:public int excuteUpdate(String sql,Object[] params);

  • 流程图:

3.1.6 关闭数据库连接

  • 方法原形:public void closeAll();

  • 流程图:

3.2 管理员管理模块

3.2.1 登录模块

  • 接口 IAdminDao 定义原形:public Admin getAdmin(String uname,String upwd);

  • 类 AdminDaoImpl 方法实现

  • 接口IAdminBiz定义原型:public boolean validateLogin(String uname,String upwd);

  • 类 AdminBizImpl 方法实现:调用 AdminDaoImpl 的 getAdmin()方法,返回结果为空则返回 false,不为空则返回 true

  • 控制层的控制方法:

    • 方法原形:private boolean login();
    • 功能说明:实现与用户的交互
    • 流程图:

3.2.2 注册模块

  • 接口 IAdminDao 定义原形:public int addAdmin(Admin admin);

  • 类 AdminDaoImpl 方法实现:流程图如下左图

  • 接口 IAdminBiz 定义原形:public boolean register(Admin admin);

  • 类 AdminBizImpl 方法实现:调用 AdminDaoImpl 的 addAdmin()方法,返回结果为 0 则返回 false,不为 0 则返回 true

  • 控制层的控制方法:

    • 方法原形:private boolean register();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.2.3 查看管理员模块

  • 接口 IAdminDao 定义原形:public List<Admin> getAdminInfo();

  • 类 AdminDaoImpl 方法实现:流程图如下左图

  • 接口 IAdminBiz 定义原形:public List<Admin> getAdminInfo();

  • 类 AdminBizImpl 方法实现:调用 AdminDaoImpl 的 getAdminInfo()方法,直接 返回的到的返回值

  • 控制层的控制方法:

    • 方法原形:private void adminQuery();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.2.4 删除管理员模块

  • 接口 IAdminDao 定义原形:public int deleteAdminInfo(Admin admin);

  • 类 AdminDaoImpl 方法实现:流程图如左图

  • 接口 IAdminBiz 定义原形:public boolean deleteAdminInfo(Admin admin);

  • 类 AdminBizImpl 方法实现:调用 AdminDaoImpl 的 deleteAdminInfo()方法,返 回结果为 0 则返回 false,不为 0 则返回 true

  • 控制层的控制方法:

    • 方法原形:private void adminDelete();
    • 功能说明:实现与用户的交互
    • 流程图如右图:

3.3 商品管理模块

3.3.1 查询商品信息模块

3.3.1.1 查询全部商品

  • 接口 IProductDao 定义原形:public List<Product> getAllProInfo();

  • 类 ProductDaoImpl 方法实现:流程图如下左图

  • 接口 IProductBiz 定义原形:public List<Product> getAllProInfo();

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 getAllProInfo()方法,将得 到的返回值返回

  • 控制层的控制方法:

    • 方法原形:private void proAllInfoQuery();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.1.2 按商品编号查询库存量

  • 接口 IProductDao 定义原形:public int getProCountById(int proId);

  • 类 ProductDaoImpl 方法实现:流程图如下左图

  • 接口 IProductBiz 定义原形:public int getProCountById(int proId);

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 getProCountById()方法,将 得到的返回值返回

  • 控制层的控制方法:

    • 方法原形:private void proCountQueryById();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.1.3 按商品编号查询商品信息

  • 接口 IProductDao 定义原形:public Product getProInfoById(int proId);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public Product getProInfoById(int proId);

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 getProInfoById()方法,将得到的返回值返回

  • 控制层的控制方法:

    • 方法原形:private void proInfoQueryById();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.1.4 按商品名称查询商品信息

  • 接口 IProductDao 定义原形:public Product getProInfoByName(String proName);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public Product getProInfoByName(String proName);

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 getProInfoByName()方法, 将得到的返回值返回

  • 控制层的控制方法:

    • 方法原形:private void proInfoQueryByName();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.1.5 按商品类型查询商品信息

  • 接口 IProductDao 定义原形:public List<Product> getPorInfoByType(int proTypeId);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public List<Product> getPorInfoByType(int proTypeId);

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 getPorInfoByType()方法, 将得到的返回值返回

  • 控制层的控制方法:

    • 方法原形:private void proInfoQueryByType();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.2 更新商品信息模块

3.3.2.1 添加商品

  • 接口 IProductDao 定义原形:public int addProInfo(Product product,Assessment assessment);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public boolean addProInfo(Product product,Assessment assessment)

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 addProInfo()方法,得到的 返回值为 0 时返回 false,否则返回 true

  • 控制层的控制方法:

    • 方法原形:private void proAdd();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.2.2 修改商品

  • 接口 IProductDao 定义原形:public int updateProInfo(Product product,Assessment assessment);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public boolean updateProInfo(Product product, Assessment assessment);

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 updateProInfo()方法,得到 的返回值为 0 时返回 false,否则返回 true

  • 控制层的控制方法:

    • 方法原形:private void proUpdate();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.2.3 删除商品

  • 接口 IProductDao 定义原形:public int deleteProInfo(Product product);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public boolean deleteProInfo(Product product);

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 deleteProInfo()方法,得到的返回值为 0 时返回 false,否则返回 true

  • 控制层的控制方法:

    • 方法原形:private void proDelete();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.3 商品类型管理模块

3.3.3.1 查询全部商品类型

  • 接口 IProductDao 定义原形:public List<ProType> getAllProType();

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public List<ProType> getAllProType();

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 getAllProType()方法,将得到的返回值返回

  • 控制层的控制方法:

    • 方法原形:private void proAllTypeQuery();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.3.2 按商品编号查询商品类型

  • 接口 IProductDao 定义原形:public ProType getProTypeById(int proId);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public ProType getProTypeById(int proId);

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 getProTypeById()方法,将 得到的返回值返回

  • 控制层的控制方法:

    • 方法原形:private void proTypeQueryById();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.3.3 添加商品类型

  • 接口 IProductDao 定义原形:public int addProType(ProType proType);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public boolean addProType(ProType proType);

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 addProType()方法,得到的返回值为 0 时返回 false,否则返回 true

  • 控制层的控制方法:

    • 方法原形:private void proTypeAdd();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.4 商品评价系统模块

3.3.4.1 查询全部商品评价

  • 接口 IProductDao 定义原形:public List<Assessment> getAllProAssessment();

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public List<Assessment> getAllProAssessment();

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 getAllProAssessment()方法, 将得到的返回值返回

  • 控制层的控制方法:

    • 方法原形:private void proAllAssessmentQuery();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.4.2 按商品编号查询商品评价

  • 接口 IProductDao 定义原形:public Assessment getProAssessmentById(int proId);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public Assessment getProAssessmentById(int proId);

  • 类 ProductBizImpl方法实现:调用ProductDaoImpl的getProAssessmentById()方法, 将得到的返回值返回

  • 控制层的控制方法:

    • 方法原形:private void proAssessmentQueryById();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.4.3 更新商品评价

  • 接口 IProductDao 定义原形:public int updateProAssessment(Assessment assessment);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public boolean updateProAssessment(Assessment assessment);

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 updateProAssessment()方法, 得到的返回值为 0 时返回 false,否则返回 true

  • 控制层的控制方法:

    • 方法原形:private void proAssessmentUpdate();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.3.4.4 删除商品评价

  • 接口 IProductDao 定义原形:public int deleteProAssessment(int proId);

  • 类 ProductDaoImpl 方法实现:流程如下左图

  • 接口 IProductBiz 定义原形:public boolean deleteProAssessment(int proId);

  • 类 ProductBizImpl 方法实现:调用 ProductDaoImpl 的 deleteProAssessment()方法, 得到的返回值为 0 时返回 false,否则返回 true

  • 控制层的控制方法:

    • 方法原形:private void proAssessmentDelete();
    • 功能说明:实现与用户的交互
    • 流程图如下右图:

3.4 界面功能调控

3.4.1 界面总览

  • 欢迎界面:方法原形:private void welcomeOperation();

  • 主界面:方法原形:private void mainOperation();

  • 管理员管理界面:方法原形:private void adminOperation();

  • 商品管理界面:方法原形:private void productOperation();

  • 商品信息查询界面:方法原形:private void proQueryOperation();

  • 商品信息更新界面:方法原形:private void proUpdateOperation();

  • 商品类型管理界面:方法原形:private void proAssessmentOperation();

  • 商品评价系统界面:方法原形:private void proTypeOperation();

3.4.2 功能介绍

  • 打印对应界面

  • 接收用户输入的指令

  • 对指令进行判断,并调控调用相应功能方法

  • 与用户交互

3.4.3 结构流程

3.5 关于接收用户输入

3.5.1 关于接收字符串(String)

  • 调用扫描器 Scanner 的 next()方法

  • 调用类 String 的 trim()方法,用于去除字符串的前后的空格

3.5.2 关于接收整形变量(int)

  • 以字符串形式接收

  • 调用封装类 Integer 的 praseInt()方法,将字符串转化为整型变量

  • 若抛出异常 NumberFormatException,提示用户输入可识别选项

  • 结构流程:流程图:

四、系统使用说明

  • 用户进入欢迎界面,可以选择登录、注册、退出程序功能。用户登录失败 3 次时,提示并退出程序

  • 用户登录成功后,可以进入主界面,可以选择管理员管理、商品管理

  • 用户进入管理员管理界面,可以选择查看管理员、删除管理员、添加管理员、 返回主界面功能

  • 用户进入商品管理系统,可以选择商品信息查询、商品信息更新、商品类型管理、商品评价系统、返回主界面功能

  • 用户进入商品信息查询界面,可以选择查询所有商品、按商品编号查询库存量、按商品编号查询商品信息、按商品名称查询商品信息、按商品类型编号查看商 品信息、返回上页功能

  • 用户进入商品信息更新界面,可以选择添加商品、修改商品、删除商品、返回上页功能

  • 用户进入商品类型管理界面,可以选择查询商品全部类型、按商品编号查询商品类型、添加商品类型、返回上页功能

  • 用户进入商品评价系统界面,可以选择查看商品全部评价、按商品编号查询商品评价、更新商品评价、删除商品评价、返回上页功能

五、心得体会

  • 初步了解了“三层构架”的原理

  • 对项目开发的流程有了初步的了解

  • 对 JDBC 技术有了更深的了解,对数据库的驱动加载、连接、查询、更新 应用更加熟练

  • 对集合类的泛型技术有了更加熟练的应用

  • 对异常的抛出、捕获、处理,应用更加熟练

  • 对断点调试,有了进一步的认识

  • 对数据库的 SQL 语句,有了初步的认识

参考文献

[1] 王英杰, 高益民. 高等教育的国际化[J]. 清华大学教育研究. 2000:13-16

[2] 毛利锐, 沈灌群. 中国教育通史[M]. 济南: 山东教育出版社. 1988.20-22

[3] 郎波. JAVA 语言程序设计(第二版) [M]. 清华大学出版社. 2010.9

[4] 尉哲明, 李慧哲 等编著. Java 技术教程. 北京: 高等教育出版社. 2004

[5] 耿祥义, 张跃平编著. Java2 实用教程. 北京: 清华大学出版社, 2001

附录

程序主界面

上传的附件 cloud_download 基于JAVA实现的电子商品-商品管理系统.7z ( 1.68mb, 314次下载 )
error_outline 下载需要12点积分

keyboard_arrow_left上一篇 : 基于ASP.NET和SQL SERVER数据库的招聘网站设计与实现 基于Java的人事档案管理系统 : 下一篇keyboard_arrow_right



萧易
2021-05-29 15:53:25
表结构显示不全
。。。
2021-05-31 13:24:21
数据库表放全啊
丁系錀
2021-06-10 23:19:06
基本功能实现的还是可以,美中不足的就是太多了

发送私信

如果你错过了爱,便错过了生活

13
文章数
12
评论数
最近文章
eject