基于Java+MySQL实现在线书店订购系统

2024-09-02 15:52

本文主要是介绍基于Java+MySQL实现在线书店订购系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、引言

1.1 编写目的

编写详细设计说明书是软件开发过程必不可少的部分,其目的是为了使开发人员在完成概要设计说明书的基础上完成概要设计规定的各项模块的具体实现的设计工作。同时也是开发人员和最终客户进行需求交流的有效手段。

1.2 背景

开发软件系统名称;超子书城订购系统
用户:书籍订购者、后台管理者
本系统开发采用B/S模式,前端页面用HTML+CSS+JS+JSP编写,采用的Java开发语言,数据库采用MySQL 5.7服务程序。

1.3 定义

CSS是CascadingStyleSheets的缩写,一般翻译为层叠样式表,是用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
JSP是一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成、或其他格式文档的网页,然后返回给请求者。JSP技术以语言作为,为用户的请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
SQL 结构化查询语言是一种特殊目的的编程语言,是一种数据库查询和,用于存取数据以及查询、更新和管理。

1.4 参考资料

  • 《人机交互基础教程》 孟祥旭等著 清华大学出版社
  • 《JSP Web编程指南》 电子工业出版社 2002版
  • 《MySQL数据库技术与应用》 人民邮电出版社 2020版

二、程序系统的结构

3.png
4.png

三、登录模块设计说明

3.1 程序描述

验证用户的登录模块是系统必不可少的功能,是进入系统内部的第一部操作。用户分为客户与管理员两种角色,点击登录界面中的【登录】按钮触发。

3.2 界面设计

5.png
6.png

3.3 功能

验证用户身份功能模块的IPO表如下表所示:

系统名称超子书城订购系统
模块名称验证用户身份
模块简述用于对登陆系统的用户进行身份验证
调用模块系统的主控制模块
输入用户账号和密码
处理验证用户输入的验证账号和密码;;获得登录用户输入的账号和密码;;访问数据库的用户账号表;;查询匹配的用户名和密码,若未查询到或不匹配,返回结果到登录窗口,提示错误,相反登录成功
输出提示信息:登陆失败或登陆成功

3.4 算法

【登录】按钮触发的处理:验证用户的合法性。
处理流程:

  • 取得用户输入的用户名和口令;
  • 加密用户名和口令传输到数据库并与帐户表进行一致性验证;
  • 如果用户名和口令都正确,以该用户身份进入系统总控制界面并获得相应系统权限,否则提示“登录失败”。

3.5 流程逻辑

7.png

3.6 接口

本模块是系统的启动模块,它需要用户交互输入用户帐号、密码;它调用主控制模块。

3.7 存储分配

本模块由系统自动分配内存。

3.8 限制条件

必须保证程序正常连接数据库。

3.9 测试计划

  • 测试初始用户帐号和密码能否正确登录到系统;
  • 正确登录后,对用户账号和密码进行更改;
  • 采用刚修改的用户账号和密码登录,测试是否能够正确登录。

3.10 尚未解决的问题

  • 对用户账号和密码的加密问题尚未解决。
  • 对账户名和密码的修改也不太完善。

四、书籍管理模块设计说明

4.1 程序描述

书籍管理页面功能模块是供登录系统的管理员进行相关操作的选择,即对书籍信息进行添加、修改、删除等。

4.2 界面设计

8.png

4.3 功能

系统管理主界面的功能IPO表如下所示:

系统名称超子书城订购系统
模块名称书籍管理界面
模块简述用于登录系统的管理员进行相关操作的选择
调用模块进行选择后可调用信息添加模块、信息修改模块、信息删除模块、信息查询模块
被调用模块管理员登录系统时都必须调用此模块
输入触发界面相应按钮进行选择操作
处理对书籍相关信息进行添加操作;;对书籍相关信息进行修改操作;;对书籍相关信息进行删除操作;
输出通过选择进入相应模块

4.4 算法

【添加】按钮触发的处理:进入添加界面
【修改】按钮触发的处理:进入修改界面
【删除】按钮触发的处理:进入删除界面

4.5 接口

本模块是系统的管理员的主要操作模块,用户通过相应的选择进入不同的界面,它调用系统的其他一切子模块。

4.6 存储分配

本模块由系统自动分配内存。

4.7 测试计划

  • 进入此界面后,选择添加操作看能否进入添加界面,添加几条记录。
  • 退回主界面,选择修改操作看能否修改刚刚添加的记录。
  • 退回主界面,选择删除操作看能否删除添加的记录。

4.8 尚未解决的问题

没有查询书籍信息功能

五、客户订购模块设计说明

5.1 程序描述

客户订购功能模块是供订购者选择订购书籍时进行相关的操作。提交订单时选择订购书籍的种类和数量以及支付方式即可进行订购。

5.2 界面设计

9.png
10.png

5.3 功能

客户订购界面的IPO表如下所示:

系统名称超子书城订购系统
模块名称客户订购模块
模块简述供订购者选择订购书籍时进行相关的操作
被调用模块订购者确定订购书籍时进入此界面,即客户主界面调用此模块
输入触发界面相应按钮进行订购操作
处理当订购者确定订购时选择相关信息即可订购,如果订购成功则提示支付成功。
输出通过选择进入确定订购模块或返回到客户主界面

5.4 算法

【提交订单】按钮触发的处理:订购选中书籍,并进入到支付成功界面。
处理流程:
如果输入信息有效并且没有保存,提示保存,并且将客户的订单信息存入相应的数据库表;
否则输入的信息无效则提示用户相关信息,且返回客户主界面。

5.5 流程逻辑

11.png

5.6 存储分配

本模块由系统自动分配内存。

5.7 测试计划

进入订购界面后,选择相关书籍信息进行订购,看能否出现支付成功的信息。

5.8 尚未解决的问题

当库存不足或用户想取消操作时,没有取消订购功能。

六、订单管理模块设计说明

6.1 程序描述

管理员可以对客户订购商品的订单列表进行查看,根据订单编号查看订单详情,可以进行删除订单操作。

6.2 界面设计

12.png

6.3 功能

订单管理界面的IPO表如下所示:

系统名称超子书城订购系统
模块名称订单管理界面
模块简述用于登录系统的管理员进行相关操作的选择
调用模块进行选择后可调用订单详情模块、订单删除模块
被调用模块管理员登录系统时都必须调用此模块
输入触发界面相应按钮进行选择操作
处理对订单相关信息进行删除操作
输出通过选择进入相应模块

6.4 流程逻辑

13.png

6.5 存储分配

本模块由系统自动分配内存。

6.6 测试计划

购买书籍产生多个订单,管理员端依次查看订单列表、多个订单具体信息是否正确。
选择相关订单信息进行删除,看能否出现删除成功的信息。

6.7 尚未解决的问题

尚未完善查看购买者信息以及购买的书籍信息。

这篇关于基于Java+MySQL实现在线书店订购系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130397

相关文章

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭