基于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

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M