当前位置: 首页 > news >正文

购物管理系统

一、实验目的

1、系统中有两种类型的用户:管理员,客户

2、管理员的功能如下:

(1)登录

管理员账户可以预先设定一个admin,密码为ynuinfo#777。

(2)密码管理

(2.1)修改自身密码

修改管理员的密码。

(2.2)重置指定客户/用户的密码

管理员可以重置普通用户的密码,但不能查看普通用户的密码。

(3)客户管理

(3.1)列出所有客户信息:

客户信息包括:客户ID、用户名、用户级别(金牌客户、银牌客户、铜牌客户)、用户注册时间、客户累计消费总金额、用户手机号、用户邮箱;

(3.2)删除客户信息:

删除客户信息之前要给出警告提示,请用户确认是否继续删除操作。

(3.3)查询客户信息

可以根据客户ID或者客户的用户名进行查询,也可以一次查询所有客户的信息。

 (4)商品管理

(4.1)列出所有商品的信息

商品的信息包括:商品编号、商品名称、生产厂家、生产日期、型号、进货价、零售价格、数量。

(4.2)添加商品的信息

商品的信息包括:商品编号、商品名称、生产厂家、生产日期、型号、进货价、零售价格、数量。

(4.3)修改商品的信息

可以对上述的商品信息进行修改。

(4.4)删除商品的信息

可以删除商品,删除之前必须给出警告提示:删除后无法恢复,请用户确认是否继续删除操作。

(4.5)查询商品的信息

可以根据商品名称、生产厂家、零售价格进行单独查询或者组合查询(例如:查询联想公司、1000以上的商品清单)。

(5)退出登录

退出管理员登录。

3、客户的功能及需求说明如下:

(1)注册:

用户名长度不少于5个字符;密码长度大于8个字符,必须是大小写字母、数字和标点符号的组合。

  1. 登录:密码连续输入错误5次就锁定账户。

(3)密码管理

(3.1)修改自身密码

密码长度大于8个字符,必须是大小写字母、数字和标点符号的组合。

(3.2)忘记密码:可以让自行重置密码

模拟重置密码功能,当用户选择忘记密码功能的时候,让用户输入用户名和注册所使用的邮箱地址,系统会将一个随机生成的密码发到指定的邮箱。并提示用户可以使用这个密码登录。

(4)购物

(4.1)将商品加入购物车

用户可以输入商品编号和数量将指定的商品加入到购物车里。

(4.2)将商品从购物车中移除

可以将商品从购物车中移除,移除之前必须给出警告提示:请用户确认是否继续移除操作。移除操作不影响商品的数量。

(4.3)修改购物车中的商品

修改商品数量,当数量小于或等于0,则将该商品从购物车中清除。

(4.4)结账(模拟的支付渠道:支付宝、微信、银行卡)

模拟支付操作,不调用实际的支付宝、微信、银行卡。只是表明进行了相关的操作,操作成功以后,系统中相应的商品数量要进行修改。

(4.5)查看购物历史

查看用户的购物历史:时间、购买的商品清单。

(5)退出登录

退出登录。

二、实验仪器设备及软件

开发用的计算机硬件体系架构和主要配置:

处理器  13th Gen Intel(R) Core(TM) i7-13700H   2.40 GHz

机带 RAM  32.0 GB (31.7 GB 可用)

设备 ID       A803A327-228E-4AD5-ACEF-39D8CC3BB183

产品 ID       00342-30970-60493-AAOEM

系统类型     64 位操作系统, 基于 x64 的处理器

笔和触控     没有可用于此显示器的笔或触控输入

开发环境使用的操作系统:Windows 11 家庭中文版

开发使用的Java SDK版:JDK22

开发使用的项目管理工具:Gitpod

开发使用的代码编辑工具:IntelliJ IDEA 2024.1.4

三、实验方案

1.1版:使用集合框架类ArrayList存放用户信息、商品信息和购物历史信息,该版本支持将用户信息、商品信息、购物历史信息存放到文本文件txt中。

1.2版:该版本支持将用户信息、商品信息、购物历史信息存放到Excel文件中。其他要求和1.1版相同。

1.5版:该版本支持将所有信息存放在一种数据库(例如:sqlite(推荐)、Mysql、SQL server等均可)中。其他要求和1.1版相同。

四、实验步骤

1.1版:

(1)本次迭代的功能要求:

使用集合框架类ArrayList存放用户信息、商品信息和购物历史信息,该版本支持将用户信息、商品信息、购物历史信息存放到文本文件txt中。

(2)本次迭代的数据模型、主要流程及类结构(ER图、流程图、类图):

ER图:

流程图:

管理员流程图:

客户流程图:

购物流程图:

类图:

(3)本次迭代的关键代码片段截图:

1.2版:

(1)本次迭代的功能要求:

该版本支持将用户信息、商品信息、购物历史信息存放到Excel文件中。其他要求和1.1版相同。

(2)本次迭代的数据模型、主要流程及类结构(ER图、流程图、类图):

ER图:

流程图:

管理员流程图:

客户流程图:

购物流程图:

类图:

(3)本次迭代的关键代码片段截图:

五、实验结果及分析

1.1版:

本次版本迭代成功实现了将数据存储在txt文本文件中的目标,为了方便读取文件,使用了逗号分隔符。

1.2版:

本次版本迭代成功实现了将数据存储在Excel文本文件中的目标,为了方便读取文件,与版本1.1一样也使用了逗号分隔符。

六、总结及自我评价

1.1版:

  成功实现了预期目标,设计以及程序合理。

亮点:

  不使用普通的文本文件,而是使用带有逗号分隔符的类似于CSV的文本文件。

1.2版:

  成功实现了迭代目标,设计以及程序合理。

亮点:

  使用带有逗号分隔符的类似于CSV的Excel文件来记录数据。

http://www.dtcms.com/a/597598.html

相关文章:

  • Isaac-GR00T项目在7自由度Franka机械臂上的微调与部署问题,考虑加入低通滤波器处理预测动作
  • 宝山企业做网站wordpress the7 主题
  • 望江县住房和城乡建设局网站网站主机方案
  • 常用 Linux Shell 命令
  • 从零开始刷算法-二分-搜索插入位置
  • 百度地图开发网站有什么网站可以做团购
  • 泰州高端网站建设医院网站建设中标
  • 背包dp
  • 低代码用户画像构建:结合知识图谱提升推荐精准度
  • JavaScript 二维数组操作示例
  • 【数值分析】13-线性方程组的解法-基本概念、迭代解法(1)
  • 解决规模化核心难题!Nature Commun.新策略实现大面积、高性能钙钛矿纳米线光电探测器
  • 门户网站模板想做网站怎么做
  • 专业门户网站的规划与建设无锡网站建设 首选众诺
  • 淄川响应式网站建设线上推广营销策划
  • zerotier内网穿透部署(rockylinux部署本地服务器)超详细~~~
  • Ubuntu环境中LLaMA Factory 的部署与配置—构建大语言模型微调平台
  • 建婚恋网站需要多少钱新会网站建设公司
  • MI50运算卡使用llama.cpp的ROCm后端运行Qwen3-Coder-30B-A3B的速度测试
  • 【图像处理基石】如何入门图像压缩编码技术?
  • 网站建设与管理实施方案企业建设网站怎么做账
  • 网站制作与网站建设实际报告文案发布平台
  • 开源项目合并新分支和本地修改指南
  • GJOI 11.5 题解
  • 网站建设是什么语言wan网站建设
  • 个人网站域名怎么起企业官方网站建设的流程
  • CTFHub Web进阶-Json Web Token通关5:修改签名算法
  • 华为OD机试 双机位A卷 - 上班之路 (JAVA Python C++ JS GO)
  • CEVA-DSP开发初识(一)
  • 峰均比降低技术(CFR)