基于JavaGUI实现的订餐管理系统

源码下载地址:https://download.csdn.net/download/sheziqiong/87799099
源码下载地址:https://download.csdn.net/download/sheziqiong/87799099

第1章 绪论

1.1 项目背景及研究意义

1.1.1 项目背景

随着我国餐饮行业的发展,因餐饮业门坎较低,中国的大多数餐饮企业的老板是从小店发展起来的,家族式管理的居多,许多还是“人治”,并没有一套现代企业制度和监督管理体制,所以从观念意识、经营思想和管理水平还有待专业化。随着人民生活水平的提高,餐饮业在服务行业中占有越来越重要的地位。努力在当前餐饮行业日趋激烈的竞争中脱颖而出,已成为每位餐饮业经营者所追求的目标。网络订餐实现了小店面大作为的成本效益,解决了因为店面小的限制而无法提高营业额的难题,是一个小投入大成效的经营新模式。

在计算机普及后的今天,中国进入了互联网信息时代,生活方式和工作节奏都随着信息传递速度的加快而变得急促。从信件传递发展成Email,从传统电话交流到IP电话网络电话,一切原本属于现实生活中的行为方式慢慢地向网络转移,传统的购物方式也正在向网络方面发展,出现了“网购”这种越来越受欢迎的新型消费方式。同样,作为服务业支柱的餐饮业不可避免地趋向网络化发展。

1.1.2 研究意义

随着社会经济的发展,人们的生活节奏不断加快,上班时间相当紧张,但一日三餐却不可少。通过网上订餐系统,不必亲临现场,在家中或在办公室上网,便可以为自己、家人、朋友聚会等制办一份既营养又实惠的美食。为了实现对客户点菜信息收集、处理、共享和再利用,以提高餐饮业务水平和效率,实现比电话订购更方便、更迅速、更有效的送餐业务。通过对订餐流程的考察,对业务细节进行了全面的分析,结合目前最先进的软件开发技术,实现了订餐的数字化、网络化管理。

餐饮系统不仅需要将整个餐饮业务通过信息系统进行系统管理,同时需要将各类人工服务的工作交由计算机处理,比如点菜和菜单的传送等等。同时,本网站是一个网上订餐系统,能为客户提供网络选择商家、浏览菜品介绍、点菜订餐、约定用餐时间、就餐或送餐以及注明货币支付方式等服务。这样,传统的订餐方式也正在转向网络化发展,但目前,网上订餐业务还处于形成期,成长空间还很大。

1.2 国内外研究现状

近几年来,热衷于“网上订餐”的群体悄然壮大,上班族和学生更把它看成潮流浪尖上的亮点。在网上订餐的人都是一般都是对电脑比较熟练的人,也就是比较年青化的消费群体,包括白领、大学生、高中生和对计算机操作相对比较熟的人。因为这些人工作都比较忙,而且对计算机也比较熟,思想也比较超前,对于在网上订餐能够接受,并经常上网订餐。登录订餐网站,输入“地址”后点击搜索,出现“外卖店列表”,点击进入店面,明码标价的菜单立即跃入眼帘,用鼠标逐个点击你所要的品种,系统会累计放入“购物车”,输入具体送餐地址即可下订单,外送人员就会将美食送到你面前。网上订餐存在几大瓶颈。

从生产分工来看,网上订餐最终得引入专业物流配送,由现代化的物流公司提供配送服务,这是它要突破的第一个瓶颈。

其次,网上订餐送餐和其它网络服务一样,要面临网络信用问题,从而影响网上订餐业务。

而网络技术问题则是网上订餐送餐的第三个瓶颈,如因技术问题丢失了客户订单,将会造成很大的负面影响。在网上订餐的人相对来说还是比较少的情况下,对网上餐馆的信用度持疑虑态度就成为了一个问题。

另外,就是网上订餐只可以看到物品的说明简介和外观,没有看到实体于细节处,无法通过快速浏览确定是不是自己想要的菜品。而这正是传统的实体餐馆优于网上餐馆的地方。

1.3 主要研究内容

本文主要研究网上订餐系统的设计与实现,在整个过程中主要完成以下工作:

1**.** 分析网上订餐系统的现状和发展趋势,探讨、选择系统开发技术和开发平台。

2**.** 研究系统开发所涉及的相关技术和理论,采用软件工程的指导思想,分析系统的功能需求、性能需求和安全需求,进行系统的总体设计。

3**.** 根据需求分析与总体设计,实现基于Java的网上订餐系统,应用Java Swing技术解决开发过程中所面临的各种技术问题。

4**.** 对系统进行部署与测试,根据测试结果,继续完善系统。

1.4 论文结构

论文共分为六章,各章主要内容如下:

第一章:绪论。提出项目背景、研究对象及其国内外研究现状,介绍本文的主要工作和组织结构。

第二章:系统需求分析。简要描述了系统的可行性分析、需求分析以及设计目标分析等。

第三章:系统的概要设计。详细描述了系统的数据流程、业务流程,完成系统所需数据库的设计以及网站的整体设计。

第四章:系统的详细设计与实现。系统前台、后台的主要页面的实现。

第五章:系统的部署与测试。主要介绍了系统的运行和测试。

第六章:结论。对开发的系统做了总结,指出了存在的不足之处,提出了以后需要进一步完善的工作。

第2章 系统需求分析

主要分为系统可行性分析、用户需求分析;系统分析要求必须了解系统所实现的功能,这个设计的好坏直接影响的后面的开发。用户需求分析主要是了解用户的有哪些需求,本系统主要是用户的购餐需求以及管理的需求。只有了解了需求分析才能进行系统的开发,否则就会事倍功半,达不到我们预期的效果,因此需求分析是至关重要的。

2.1系统的可行性分析

可行性,是指在当前情况下,设计开发这个系统是否有必要,是否具备必要的条件,它不仅包括必要性,还包括合理性。系统的可行性分析,是针对要设计的系统,研究其设计是否存在内外部的必要条件,包括技术上、资金上、经济上、人力资源以及组织管理上的必要条件,同时要分析在目前条件下是否有必要设计这样一个系统。

2.1.1技术可行性

1.硬件、软件

要求不高,目前市场上的一般计算机软硬件资源均能满足系统开发要求。其中运用的主要软件工具有 MyEclipse ,Eclipse等,数据库开发采用MySQL。

  1. 技术支持

    1)Java Swing技术

Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。它对AWT包进行了修订和扩展,Swing中的控件类比AWT更丰富,新增了很多复杂控件;Swing的类不再含有与平台相关的技术,而把这些平台相关技术留给运行环境来处理,因而Swing是纯粹的Java产物,具有最大程度的平台兼容能力。利用Swing的控件类可以开发出各种操作系统风格的应用界面;Swing的控件类使用接口来实现用户事件的处理,简化了用户输入事件的处理机制。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。

​ 2)JDBC技术

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC实际上是Java制定的数据库访问操作的规范,它为工具数据库开发人员或者Java程序员提供了一套标准的与数据库无关的JDBC API编程接口,这些编程接口其实就是位于Java.sql包的一些接口和类,利用它们可以方便地对不同数据库进行数据查询、插入、删除和修改等操作。据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java语言编写数据库应用程序。

​ 3)MySQL数据库

MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中。许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL 是一个真正的多用户、多线程SQL数据库服务器,它是一个客户机/服务器结构的实现。MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点,MySQL 对于一般中小型,甚至大型应用都能够胜任。

而该系统是采用纯Java语言编写而成,所以以上技术足以完成本系统的开发和设计。

  1. 维护操作

工作方便,后台操作快捷明了,操作人员可以在短时间内完全掌握维护技术。本系统自主网上订餐管理,系统具有强大的商品管理、购物车、订单统计、管理等功能,同时拥有灵活多变的商品管理、新闻管理等功能,系统操作简单。

2.1.2社会可行性

1.网络订餐将传统的交易流程信息化、数字化,一方面以信息流代替了面对面的交易,可以大量减少人力、物力,降低了成本;另一方面突破了时间和空间的限制,使得交易活动可以在任何时间、任何地点进行,从而大大提高了效率。

2.网络订餐使餐饮业以较低的成本进入信息化市场,使得中小企业有可能拥有和大企业一样的信息资源。它开放性的特点,为企业创造了更多的交易机会,提高了中小企业的竞争能力。

3.网络订餐重新定义了传统的流通模式,减少了中间环节,使得生产者和消费者的直接交易成为可能,从而在一定程度上改变了整个社会经济运行的方式。

2.1.3经济可行性

1**.** 资金可行性:由于系统开发环境配置以及其开发并不复杂,只需一些基本的开发工具。而且开发出的系统操作起来也比较简单,另外具备网络中的一些资源优势,因此开发费用较低。

2.经济合理性:由于通过网络进行商务活动,信息成本低,足不出户,可节省交通费,且减少了中介费用,因此整个交易活动会降低成本。

2.1.4可行性研究结论

依据以上因素,本系统开发项目不仅方便快捷、高效,而且社会效益比较好,从而使本系统开发者相信该系统开发出来之后将取得的成功。

综上所述,此项目在技术、经济和社会效益上是完全可行的。

2.2用户需求分析

2.2.1功能分析

作为一个网上订餐系统。首先为了保证客户能够很方便的进行餐品订购,系统应该具有分类查看餐品,系统应该实现“购物车”的功能,用户可以把选中的商品放入“购物订单”中,在选购完毕后再一起结帐。在系统的后台,管理员能够查看客户购买的订单,发布新闻,管理各类用户等。为了更好进行服务,系统还应该支持用户投诉功能。因此可分析出本系统所实现的功能包括前台和后台两部分,前台为系统功能的主要部分。前台主要以身份登录后的页面为主,功能包括如下几部分:

  1. 首 页 餐馆和餐品部分信息的简单介绍。

  2. 订餐流程 实现对不同用户订餐流程的说明。

  3. 餐品展示 实现本餐馆餐品的分类展示及查询某餐品的具体信息。

  4. 中心 信息的查看与修改。

  5. 信息发布 商城信息的发布以及用户投诉和客户留言。

  6. 网上订餐 订单的填写以及发送。

  7. 后台登陆 通过相关验证,管理员登陆后台实现对用户、餐品、订单以及消息的管理。

后台功能包括如下几部分:

  1. 用户管理 对、管理员三类用户的管理。

  2. 餐品管理 实现对餐品信息的增删改以及查询等操作。

  3. 订单管理 对用户的订单进行管理。

  4. 信息管理 商城公告和商城动态信息的发布以及用户投诉和客户留言的管理。

通过调查及需求分析可以了解网上订餐系统的基本功能,并把这些功能以功能结构图形式画出,可以形象地了解本系统实现的具体功能。

2.2.2用例分析

用例图是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模,用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。本系统主要的角色(Actor)包括数据库、管理员、;系统主用例图如下:

下面介绍应用程序中的主要用例(user case)。

表2-1 管理员用例描述

在这里插入图片描述

2.3系统设计目标分析

开发的软件是简易的网上订餐系统,以各种用户为主要服务对象。提供良好的用户界面,实现与用户的交流,方便、订餐是本系统设计的目标。该系统能够实现用户的注册,餐品查看,购物车式的餐品订购,用户投诉等功能,在系统的后台,管理员可以处理用户订单并配送获取,并可以对餐品信息、新闻、用户投诉等实现集中管理。初步预想使用Java Swing+JDBC+MySQL等技术来完成本网上订餐系统。

系统需要提供的主要功能如下:

1**.** 用户能够随意浏览餐品,并能获取餐品的详细信息,如餐品图片预览、餐品简介等。

2**.** 系统能够向用户提供一些浏览信息,让用户能够快速的了解系统出售餐品的信息,如特色餐品等。

3**.** 系统能够提供公告信息,让用户快速了解系统的通告信息。

4**.** 用户既可以注册成为本系统的,也可以以身份订餐;但可以享受如下特权:能随时修改自己的信息,可以凭积分享受折扣等。

5**.** 系统有不同权限的用户,如系统管理员等。

6**.** 系统可以管理餐品(添加、删除、修改、查询),订单,新闻公告以及客户投诉等等。

第3章 系统概要设计

系统的概要设计是在系统分析的基础上由抽象到具体的过程。主要包括系统设计、数据库的需求分析以及网站的整体设计三大块。系统设计主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机运行环境的具体方案,进行系统的概要设计,为下一阶段系统详细设计提供必要的技术资料。

3.1系统设计

系统设计主要完成各个模块的设计,以及所需的技术。

3.1.1系统流程概述

用户在浏览网站时首先看到的就是网站首页。在首页用户可以了解本餐馆和部分特色餐品的信息。用户如果想要订餐时或者直接通过电话或者直接填写收货人的信息或者注册成为,在用户查看完商品的信息后,可以把自己想要购买的商品加入订单中,也可以随时修改,清空订单里的商品,如果用户对订单里的商品都很满意,就可以直接下订单(非要填写收货人的信息才能下订单)。这时相关的程序模块会将用户所提交的所有信息都记录在数据库里以便系统的管理人员可以核对信息并准备餐品,专门送餐人员给用户配送餐品并收取现金,此时整个订餐的过程便结束。在网络订餐的后台管理方面还需要添加、修改、删除餐品,同时各类用户信息的管理,商城公告的设置,站内新闻的发布和订单的处理等都需要系统的管理人员来操作,网络订餐的业务流程图如图3-1所示:

在这里插入图片描述

​ 图3-1 业务流程图

3.1.2功能用例

在这里插入图片描述

3.2数据库的设计

数据库的需求分析主要是数据库和数据库表的建立,该系统中需要存储那些数据,都是在这个设计中实现,它们的详细实现过程如下:

3.2.1数据库需求

WEB应用跟踪和管理用户的订单,行为主要有两种措施:一种是使用Session或Cookies保存用户活跃期间的信息,但是这些信息在会话结束后将不再存在。对于那些需要持久保存的信息,以及数据量比较大的数据必须通过数据库来进行存储。数据库适合存储那些需要持久保存的信息,并且提供很好的方式进行查询,插入,修改和删除。

网上订餐是面向庞大用户的信息化产品, MySQL 是一个真正的多用户、多线程SQL数据库服务器,它是一个客户机/服务器结构的实现。MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点,MySQL 主要目标是快速、健壮和易用。因此本系统选择MySQL作为数据库。

3.2.2关系数据模型

在这里插入图片描述

​ 数据模型

3.3 系统文件组成

在这里插入图片描述

第4章 系统详细设计与实现

根据前面的分析和客户的需求,本订餐系统由前台和后台两部分组成,前台主要是包括前台登录和前台主界面两部分,后台主要就是后台登录和后台登录后的界面,后台登录作为前台主界面的一个子模块实现。该阶段主要完成各子模块的设计以及页面与数据库的链接工作。

4.1类的关联关系

在这里插入图片描述

4.2前台开发

前台开发主要是包括前台登录和前台主界面两部分,前台主界面由订餐流程、餐品展示、网上订餐、等模块组成。

4.2.1用户登录与注册

1**.** 用户登录

前台登录实际上是用来实现用户的登录,同时其上的“注册”按钮可以进去注册页面。有两个输入框、分别为输入用户名、密码。

4.2.2进入的前台

1**.** 界面总体类图

在这里插入图片描述

4.3后台开发

后台开发主要包括页面设计、后台登录和登录后主页三块,由于后台登录作为前台进入后台的通道,所以,在设计时把后台登录作为前台的一个子模块去实现。登录后主页主要包括商品管理、订单管理、信息管理、用户管理等四部分,它们有各自具有自己的子页面,具体的实现分析如下:

4.3.1后台总类图

在这里插入图片描述

本后台主要有4大功能模块组成,分别是:商品管理,订单管理,用户管理;详细设计如下。

4.3.2后台登录

设计思路:后台主要是实现管理功能。功能导航区用于提供管理功能导航,主操作区用于完成各种管理功能。管理员首先要登录后台,登录成功后才可以对各类信息进行管理。后台登录页面类图与控制流程图分别如下所示:

在这里插入图片描述

4.3.3餐品管理

餐品的管理主要是对餐品的信息进行管理,实现对餐品的添加和删除和更改管理。主要用到的表:餐品表;其类图如图4-19所示:

在这里插入图片描述

图4-19餐品管理类图

4.3.4订单管理

前台用户完成购物后,最终会产生订单。而后台订单管理主要就是对这些订单进行处理,并根据订单进行送餐,这样就可以查看那些订单需要配送,那些订单已经完成交易(用以方便用户积分管理),主要用到的表:订单表,餐品表,管理员表;类图如图4-20所示:

在这里插入图片描述

图4-20订单管理类图

4.3.5用户管理

在这里插入图片描述

4.4接口类代码

在这里插入图片描述

4.4.1数据库连接

package com.util;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class JDBCUtil {
    
    
	
	static String driverClass = null;
	static String url = null;
	static String name = null;
	static String password= null;
	
	//在程序初始化之前导入配置文件内容
	static{
    
    
		try {
    
    
			//1. 创建一个属性配置对象
			Properties properties = new Properties();
			InputStream is = new FileInputStream("resources/jdbc.properties");
			
			//导入输入流。
			properties.load(is);

			//读取配置文件中的信息
			driverClass = properties.getProperty("driverClass");
			url = properties.getProperty("url");
			name = properties.getProperty("name");
			password = properties.getProperty("password");
			
		} catch (Exception e) {
    
    
			e.printStackTrace();
		}
	}
	
	
	public static Connection getConn(){
    
    
		Connection conn = null;
		try {
    
    
			Class.forName(driverClass);
			conn = DriverManager.getConnection(url, name, password);
		} catch (Exception e) {
    
    
			e.printStackTrace();
		}
		return conn;
	}
	
	/**
	 * 释放资源
	 * @param Connection
	 * @param Statement
	 * @param ResultSet
	 */
	public static void release(Connection conn , Statement st , ResultSet rs){
    
    
		closeRs(rs);
		closeSt(st);
		closeConn(conn);
	}

	/**
	 * 释放资源
	 * @param Statement
	 * @param ResultSet
	 */
	public static void release(Statement st , ResultSet rs){
    
    
		closeRs(rs);
		closeSt(st);
	}
	
	/**
	 * 释放资源
	 * @param Connection
	 */
	public static void release(Connection conn){
    
    
		closeConn(conn);
	}
	
	/**
	 * 释放资源
	 * @param Statement
	 */
	public static void release(Statement st){
    
    
		closeSt(st);
	}
	
	private static void closeRs(ResultSet rs){
    
    
		try {
    
    
			if(rs != null){
    
    
				rs.close();
			}
		} catch (SQLException e) {
    
    
			e.printStackTrace();
		}finally{
    
    
			rs = null;
		}
	}
	
	private static void closeSt(Statement st){
    
    
		try {
    
    
			if(st != null){
    
    
				st.close();
			}
		} catch (SQLException e) {
    
    
			e.printStackTrace();
		}finally{
    
    
			st = null;
		}
	}
	
	private static void closeConn(Connection conn){
    
    
		try {
    
    
			if(conn != null){
    
    
				conn.close();
			}
		} catch (SQLException e) {
    
    
			e.printStackTrace();
		}finally{
    
    
			conn = null;
		}
	}

第5章 系统的部署与测试

5.1 运行环境的搭建

5.1.1系统运行环境的搭建

1.安装JDK

要编译和调试运行Java程序,首先需要安装JDK,可以从Sun公司的站点https://sdlc6b.sun.com下载,当然需要根据使用的平台的不同来下载不同的版本。下载并安装好以后,需要配置环境变量,其作用是让应用程序可以方便快捷地找到所需要的路径。配置 Java运行环境主要用到的环境变量有3个:

  • JAVA_HOME:就是Java的安装路径。
  • PATH:PATH是Windows固有的。要加上JAVA_HOME\bin目录,这样在运行javac、java等命令时就不用输入很长的路径了。
  • CLASSPATH:CLASSPATH是运行Java非常重要的一个环境变量,Java在编译和运行应用程序时都要通过它去找到需要的类文件。放在CLASSPATH里的一般是路径或jar文件,如果是路径的话就是说这个路径下的类可以使用。还要考虑到Java文件的包(package)和文件夹之间的对应关系。
  1. MySQL5.0的安装

在安装数据库管理软件MySQL5.0成功后,还应安装Sqlyog来作为MySQL5.0的可视化运行界面。

  1. JDBC驱动的安装

下载MySQL链接Java的压缩包mysql-connector-java-5.1.12-bin.jar,并将它放置在安装Java的目录 C:\Program Files\Java\jdk1.6.0_19\jre\lib\ext下。同时,编写程序HelloMysql.Java来测试Java与MySQL是否连通。

5.2系统测试

软件测试是保证软件可靠性的手段,测试阶段的任务就是发现并改正软件中的错误。软件测试是软件开发过程中最繁重的任务。通过编码和调试只能保证程序能够正常的运行起来,不出现编译上的错误,但是这并不意味着程序没有潜藏的错误和逻辑上的错误,而要排除这样的错误就要通过测试来完成。测试在本系统中包括界面的测试和对程序执行结果是否正确的测试。

本系统的测试如图5-1所示。

在这里插入图片描述

图5-1 系统中所涉及的测试

在编写完代码之后,要把程序执行过程中所有可能走到的点记下来,这些点是可能导致程序出现错误的点,并且把对走到相应的点的处理也要记录下来,把这些组成的文件称为测试点文件,通过测试点文件可以生成各种合理的测试方案,使得测试尽量能够走遍程序中的所有点,只有这样才能表示测试的成功。这个记录文件就相当于画面设计书一样,测试是交互进行的,并不是各自测试自己的程序,尽管如此,通过测试点文件对方仍能够知道程序执行的具体流程,所以在这个测试中仍然是白盒测试。在单元测试都完成之后,再进行系统的集成测试。集成测试包括两种方法,一是先测试每个模块,再把所有模块按照设计的要求组合成所要的程序,这种方法成为非渐增式测试方法,另一个是把下一个要测试的模块同已测试好的那些模块结合起来进行测试,测试完成之后再把下一个要测试的模块结合起来进行测试。这种每次增加一个模块的方法为渐增式测试。

5.2.1常见错误

编完程序后,最后一步就是对系统进行测试。本网上订餐系统主要是用Java语言编写的,最常见的错误是出现异常。

1)语法错误:它是由错误的脚本语法引起的,如:命令的拼写错误或传递函数的参数值错误。

2)运行时错误:运行时错误是发生在程序开始执行之后,它是由试图执行不可能操作的程序所引起的。

3)逻辑错误:逻辑错误是最难发现的错误。通常逻辑错误是由输入错误或程序逻辑上的缺陷引起的,程序运行没有问题,但运行的结果却不正确。

5.2.2测试的方法

依据前面所说的测试对象,我们把测试划分为几个方面来进行测试。

1)界面测试

界面测试是测试过程中比较简单直观的一种测试方法,只要细心地按界面要求核对就行了。可这一块内容往往是程序开发人员最容易忽视和遗漏的地方,也是常常出Bug的地方。下面是界面测试中经常出现的几种Bug:

错别字,即界面中的标题或者文本内容中出现了错别字。这种Bug如果测试人员不细心,很难找出来,可能会出现在提示信息或界面中。

出现了一些根本读不懂的内容,一般多出现在程序的提示信息和一些较长的文本中。这种情况基本上出现在拼起来显示的提示中,页面的简单陈述是通过变量拼组起来的,通过程序将字一个一个地输出来。通常是因为程序中的控制错误或是程序开发人员对程序没有进行认真的自测,导致出现这种Bug。

页面类似的内容中,明显有字体,字号不同的情况,使界面整体风格看上去不一致,这种情况只出现在没有CSS定义的情况下,或是已经定义的CSS,在开发过程中没有调用。

标题相近的程序及模块,把标题弄混。这种情况多是因为业务方面的定义名称很相似或很类似,并且业务实体方面也很类似,开发人员在开发过程中忽略了开发名称和模块,只单独地实现其功能。

2)功能测试

顾名思义,功能测试主要是测试程序模块是否实现了设计中所有要求的功能。功能测试中需要注意的有:

订餐功能中,有关于订餐时间有一些常识性的问题,比如:闰年中二月的天数。

关于后台修改各种信息功能的测试,主要是看修改确认后是否数据真正已被修改了。这是最基本的功能,需要注意的是是否把不应该修改的数据也被修改成功了。

3)需求测试

需求测试是测试中很重要的一个环节。因为需求是软件设计,开发乃至软件测试中最重要的依据。要针对需求测试,首先就要对项目的需求和业务有一定的了解。这些需求很多时候是在实现增、删、查、改,这些基本功能之上,结合项目和相关业务所作的一些逻辑上的控制,这就要求程序员在设计和编码的时候要去充分理解考虑需求。

4)性能测试

性能测试在软件的质量保证中起着重要的作用。通常我们把性能指标全部归结到硬件,操作系统和开发环境上,而忽略了代码本身性能上的考虑。性能需求指标中,稳定性,并行访问支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运行中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。

5.2.3界面测试

系统的前台为用户提供了注册,餐品信息浏览,网上订餐,信息查看、修改,信息发布,后台登陆等功能。

1**.**用户注册模块的测试
在这里插入图片描述

2.套餐信息模块测试

在这里插入图片描述

3.订餐模块测试

在这里插入图片描述

4.后台管理页面界测试

在这里插入图片描述

5.3 系统维护

系统维护是为保证系统的正常运行和安全保障等而采取的一系列措施,其中包括数据库维护、信息更新、版面更新、安全测试以及数据备份等操作过程。

数据库维护和信息更新:该阶段主要是要求管理员要经常对数据库和过期的信息及时地进行更新和维护,以保证数据库的正常运行和信息的及时性,从而保证了访问者能够顺利地了解到最新的信息动态。

版面的更新:该过程主要是要求对系统的首页和页面定期进行相应的调整或更新,从而使本系统经常以崭新的面貌出现在广大访问者的面前。

安全测试和数据备份:该过程主要是从系统的安全方面考虑,管理员要经常对系统进行诸如一些用户名、密码以及权限的更新或重新设置,从而保证系统的安全性。

结 论

本文是一个小型的网上订餐系统,并通过此系统的实现,对Java应用更加深化。不过要真正掌握好Java+JDBC+MySQL却并不是一件容易的事情,在实际应用的网站开发中,还有很多关于安全方面的问题需要考虑,此外电子商务网站中还涉及到使用网上支付平台以及物流的配送等,本系统则尚未涉及这些方面。

不管用什么平台做系统,其中的指导思想是一致的。系统的社会可行性和实用性方面是必需考虑的,因为当今时代背景下,网上购物对人们的生活带来了很大的方便。所以在这过程中,我考虑最多的还是如何利用自己有限的技术制作出出色的系统,由于时间仓促以及技术的不足,本购物系统实现的有一些功能还不是很完善,有的功能也并未真正实现。

由于是第一次开发这种Java应用系统,可能还有很多不足之处。所以只有匆匆忙忙地从图书管理借来大量基于Java系统设计方面的书籍,希望通过参阅各种关于系统设计的书籍充分了解系统开发的基本流程、总体布局设计以及系统开发前所需的一些准备工作,做到心中有数。然而,由于实在是经验有限,虽然书本上介绍了许多这方面的知识和操作方法,但是毕竟还是限于理论方面的,所以理解起来比较困难,一切都是按自己的摸索来构建。先去详细地了解了用户对网上订餐系统的总体需求和目的,比如首页需要设计成怎样的形式,一共需要多少个内容版块,需要有哪些功能模块,主页下面有几层子页面,以及哪些地方需要设计成动态模式等等各方面的信息。由于这方面的知识还是不够成熟,所以中间还是没有充分了解用户的需求,后来我再细心地浏览了大量的相关系统的总体布局和设计风格,充分借鉴它们的设计和内容,才开始对本系统进行一个总体布局和页面设计。

然而,进一步对系统的各个功能模块的分析和设计时,我又进入到先前的尴尬境地。因为以前做系统都有一定的步骤和模式可供参考,而至于系统的一些功能模块分析无从下手。回头只好查阅资料,并且只好根据自己所理解的东西进行一步步摸索。至于其他一些诸如数据库设计等方面的分析,则完全参照系统设计的步骤和模式来,并根据以前所学的知识来作详细的分析。

虽然我在需求分析阶段花了很大的力气,但是在后来的实际设计当中还是发现了很多问题。由于对整个系统的设计理解不够深刻,加上需求分析做的不够深入、不够透彻就急于进入系统设计阶段,才导致了后来设计过程中出现的大量漏洞,不得不回头来重新分析和弥补漏洞。比如起先认为很好的整个页面布局,然而由于没有考虑到设计软件等各方面的原因,使得原来设计好的布局不得不重新调整,有时又会由于忘了某个功能忘了放进去而又要重新调整,这样弄来弄去以致浪费了大量的时间。另外,在涉及到各功能模块的链接时,往往由于事先没有一个总体的安排和考虑,以至于部分功能链接过程中出现了混乱的状态。还有,由于自己平时在做数据库设计时不是非常细心,也没有做大量的数据分析,以至导致了后来在系统调试时出现了数据的乱码和错误。所以,经过这次的设计,我更加深刻地认识到需求分析的重要性,它对于下阶段工作开展的顺利与否具有决定性的意义。

在整个系统的设计过程中,由于时间和各方面的原因,在设计过程中所使用的技术要求难度不高,代码只采用纯Java来实现;另外为了达到一定的功能,又限于本人技术有限,所以有些功能是从现有的订餐系统拷贝而来。
实际设计当中还是发现了很多问题。由于对整个系统的设计理解不够深刻,加上需求分析做的不够深入、不够透彻就急于进入系统设计阶段,才导致了后来设计过程中出现的大量漏洞,不得不回头来重新分析和弥补漏洞。比如起先认为很好的整个页面布局,然而由于没有考虑到设计软件等各方面的原因,使得原来设计好的布局不得不重新调整,有时又会由于忘了某个功能忘了放进去而又要重新调整,这样弄来弄去以致浪费了大量的时间。另外,在涉及到各功能模块的链接时,往往由于事先没有一个总体的安排和考虑,以至于部分功能链接过程中出现了混乱的状态。还有,由于自己平时在做数据库设计时不是非常细心,也没有做大量的数据分析,以至导致了后来在系统调试时出现了数据的乱码和错误。所以,经过这次的设计,我更加深刻地认识到需求分析的重要性,它对于下阶段工作开展的顺利与否具有决定性的意义。

在整个系统的设计过程中,由于时间和各方面的原因,在设计过程中所使用的技术要求难度不高,代码只采用纯Java来实现;另外为了达到一定的功能,又限于本人技术有限,所以有些功能是从现有的订餐系统拷贝而来。

源码下载地址:https://download.csdn.net/download/sheziqiong/87799099
源码下载地址:https://download.csdn.net/download/sheziqiong/87799099

猜你喜欢

转载自blog.csdn.net/newlw/article/details/130763091