网上系统设计与实现

摘 要

本网上系统是针对目前网上的实际需求,从实际工作出发,对过去的网上系统存在的问题进行分析,结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用目前最流行的B/S结构和java中流行的ssm框架和eclipse编辑器、MySQL 数据库设计并实现的 。本网上系统主要包括系统用户管理模块、图书信息管理模块、订单管理、新闻管理、登录模块、和退出模块等多个模块。它帮助网上实现了信息化、网络化,通过测试,实现了系统设计目标,相比传统的管理模式,本系统合理的利用了网上数据资源,有效的减少了网上的经济投入,大大提高了网上的效率。
关键词:网上;ssm框架;MySQL 数据库

ABSTRACT
This book mall system is aimed at the actual needs of the current book mall. From the actual work, the problems existing in the past book mall system are analyzed, and the structure, concept, model, principle, and method of the computer system are combined with various advantages of the computer. Under the circumstances, Designed and implemented using the most popular B/S structure and popular SSM frameworks and eclipse editors in Java and MySQL database. This book mall system mainly includes system user management module, commodity management module, order management, news management, login module, and exit module. It has helped the book mall realize informatization and networking. Through testing, it has achieved the goal of system design. Compared with the traditional management model, the system has reasonably used the data resources of the book mall and effectively reduced the economic investment of the book mall. Has greatly improved the efficiency of the book mall.

key words:Book Mall; MVC mode; MySQL database

目 录

摘 要 I
ABSTRACT I
目 录 III
第1章 绪论 1
1.1开发背景 1
1.2开发意义 1
1.3研究内容 1
第2章 主要技术和工具介绍 1
2.1 JSP语言 1
2.2 MySQL 数据库 1
2.3 jsp技术 2
2.4ssm简介 3
第3章 系统分析 1
3.1可行性分析 1
3.1.1经济可行性 1
3.1.2技术可行性 1
3.1.3操作可行性 1
3.2需求分析 1
3.3业务流程分析 2
3.4数据流程分析 3
第4章 系统设计 5
4.1系统结构设计 5
4.2功能模块设计 5
4.3数据库设计 6
4.3.1数据库设计概述 6
4.3.1概念设计 6
4.3.2表设计 7
第5章 系统实现 19
5.1基本任务 19
5.2登录模块的实现 19
5.2.1首页实现 19
5.2.2管理员后台登录 20
5.3用户模块的实现 16
5.3.1注册模块及登录的实现 16
5.2.2留言模块的实现 18
5.2.3购买模块的实现 19
5.4管理员模块的实现 21
5.4.1用户管理模块的实现 21
5.4.2图书信息管理模块的实现 23
5.4.3站内新闻管理实现 25
第6章 系统测试 27
6.1测试目的 27
6.2测试概述 27
6.3单元测试 27
6.3.1注册测试 27
6.3.2登录测试 28
6.4集成测试 29
第7章 总结 30
致 谢 31
参考文献 31

第1章 绪论

1.1开发背景
上个世纪末期,网络技术逐渐开始流行起来,互联网发展进入了起步阶段。到了新世纪初期,信息化技术开始逐渐发展,计算机应用技术逐渐体现出优势来。接着,大量的电脑进入了千家万户,企事业单位、高校、机关等部门。信息化时代逐渐来临,网上成为互联网时代下媒体管理的核心内容。网上是媒体中非常重要的一部分,然而由于其性质也致使它难以被实时衡量。长期来看,管理十分不便利,存在误差,查询难的现象,一旦数据过多,人工管理方式就很难维持。随着信息技术的应用拓展,逐渐引用了信息化技术管理,逐渐取代了人工管理模式,采用计算机系统来管理网上,带来的好处是查询便利,信息准确率高,节省了开资,提高了工作的效率。本次系统开发,主要以网上为对象,根据需求来完成功能设计[1][2]。
1.2开发意义
随着现代网上的快速发展,可以说网上已经逐渐成为现代网上过程中最为重要的部分之一。但是一直以来我国传统的网上并没有建立一套完善的行之有效的网上系统,传统的网上已经无法适应高速发展,无论是从效率还是从效果来看都远远的和预计相差甚多,可以断言,传统的网上模式已经不再适应,甚至已经拖累了发展。因此,需要一个操作方便,高效的管理体系。
系统设计的主要意义在于,一方面,对于网上来讲,系统上线后可以带来很大的便利性,网上属于非常细致的管理模式,要求数据量大,计算机管理可以提高精确性,更为便利的就是信息的查询,大大的提高了工作效率,改善了管理质量;另一方面,通过系统的设计,自己对软件设计有了更加深入的了解,并且产生了浓厚的学习兴趣,在对问题分析方面有了独特的方式,是进入社会之前一次很好的锻炼机会[3][4]。
1.3研究内容
1.不同用户的登录问题:根据用户的类别(超级管理员、普通用户)实现用户操作权限的区分并显示不同的操作界面。
2.数据库的连接问题:数据库连接为系统中的关键技术。
3.数据的一致性和安全问题:本系统必须保证数据的一致性和安全,才能实现有效的管理。不能让没有权限的用户对数据进行操作并且定期对数据库进行备份。
4.界面开发:系统界面的设计很重要,要使界面具有亲和力。
5.分析网上化现状;
6.研究网上系统的现状及存在的问题;
7.研究系统平台的总体架构、总体设计、数据库设计、数据库安全设计及功能设计;
8.研究平台各个子系统的功能及实现的方法、信息技术的融合、信息安全技术的维护;
9.进行网上系统的功能设计。

第2章 主要技术和工具介绍

2.1 JSP语言
本系统的开发主要用JSP(Hypertext Preprocessor,超文本预处理器)这一门开发语言。作为开发语言,这是一种通用的开源脚本语言。这种语法主要是将C语言、Java和Perl等语言的相关特点进行总结吸收形成自身特点,使得更加方便学习,当前广泛在Web领域进行使用。此语法的独特之处在于将C、Java、Perl这三种语言进行了归纳,并创新出JSP具有自己特点的语法。它在执行动态网页方面相对于CGI和Perl语言更加高效。用动态页面如果是使用JSP语言,那么相对于其它的编程语言,JSP的执行主要是体现在将程序嵌入到HTML文档中,相对于其它语言,其执行的效率一般都领先于其它的语言。此外,JSP编译后代码方面也是做得比较好的,一般其编译能够使代码的运行速度比一般语言都要快[7]。
其主要特性有以下几个方面:
1)免费性
和其它技术相比,JSP本身免费且是开源代码。
2)快捷性
使用JSP编程的程序一般开发比较快,而且系统运行也比较快,也易于学习[2]。嵌入于HTML的这种方式,使其相对于其它开发语言编辑起来相对简单,实用性也更加强,对初学者是比较适用的。
3)跨平台性强
由于JSP是运行在服务器的脚本,可以运行在UNIX、LINUX、WINDOWS、MacOS、Android等平台
4)效率高
JSP占用相当少的系统资源。
JSP是面向对象且独立于架构的动态脚本语言,使用JSP和HTML编写WEB页面,JSP服务器先对页面的JSP代码进行解析,然后把处理后的结果连同HTML内容一起传送到访问端的浏览器。JSP是一种源代码开放程序,拥有很好的跨平台兼容性。JSP代码可以在Window系统以及许多版本的linux系统上完美运行。
JSP语言是不需要任何特殊的开发环境的,所以用户可以直接在WEB页面中输入JSP命令代码。在WEB页面中,所有的JSP代码都被放置在“<?JSP”和“?>”中。
2.2 MySQL 数据库
目前在国际上比较流行的数据库管理系统当中,主要有ORACLE、MySQL 、SYBASE、MySQL 、DB2等。MySQL 2008版本具有MySQL Server 7.0版本的所有优点,并在此基础上添加很多更先进的功能,从而更加方便使用、更好的伸缩性,集成度高。由于是微软的产品,因此MySQL Server 2008在兼容性可以与微软的其他相关产品进行很好的适应和结合,可以跨越Microsoft Windows 2008到Microsoft Windows 98等多种平台。
MySQL 的T-MySQL 支持ANSI MySQL -92标准,是结构化查询语言MySQL 的一种。MySQL Server在身份验证上主要采用以下方式:登录验证、数据库用户帐号许可验证、二级安全验证等等。且在同一时间支持MySQL Server验证和Windows NT验证两种模式。
微软的MySQL Server是较为完善的C/S系统。MySQL Server需要Windows NT平台,而Windows NT可以支持Intel 386,Power PC,MIPS,Alpha PC和RISC等平台,它使MySQL Server具备非常完美的功能。
MySQL Server 2008中具有失败转移集群和数据库镜像技术,失败转移集群和数据库镜像技术可以确保系统向用户提交的应用系统高度可靠和可用。微软的MySQL Server 2008在设计的时候引入了一套集成管理工具和管理应用编程接口(APIs),对系统提供易用性、可管理性和对大型MySQL Server配置的支持。由于采用了数据库加密、相比以前版本更加安全的默认设置、对密码政策和安全模型进行了加强以及实行了许可化控制的细化,使得系统在运用MySQL Server 2008对数据进行管理时能提供安全级别非常高的功能。
2.3 jsp技术
web 的服务平台jsp是由Microsoft创建的。这个平台最主要的功能就是可以把信息、人和设备用一种规范的,具有个性化的方法连接起来。
对于微软来说,jsp技术是它的一个终极梦想,可以用这个技术实现以前完全完成不了的功能,这是一次跃进。今后,无论什么时刻,任意地点我们都可以在任何设备上进行互联信息交互网。在以后会在世界形成一个巨大的全球互联网的终端设备和服务中心,将会随时成为每个人的智能型助手。到那时哪怕你没有闲暇的时间去处理信息分析访问,或者说不需要访问的信息分析,一旦它得到指令,就会自主的查找相关知识智能化集成处理,更高效的处理我们交代的“使命”[9][10]。
(1)JSP Framework的两个组件
JSP框架具有两个不同的元素:包以及框架的软件开发包(SDK)。
当然若是要单纯的要运行jsp程序,我们完全没必要开发jsp应用程序。我们只要在安装发型包组件这里下功夫。因为jsp Framework在发行包上没有进行过编译,所以最后它只能编译JSP应用程序。
(2)框架的特点
JSP框架的两个主要特点:跨平台和语言。
(a)跨平台
JSP框架程序能够随意跨越操作系统平台和硬件环境,不管在哪台电脑上只会编写一遍。
(b)跨语言
. JSP框架里面一种共同的语言系统(CommonLanguageSystem ,称为CLS)。规定了许多标准化的jsp Framework数据种类。
Web应用程序可以用JSP研发出来。现在已然变成了互联网全新一代Web应用程序开发工具之一,一般的编程代码的人员已经慢慢的开始接受、使用它了。
(3)JSP概述
JSP由微软于1996年11月推出的Web应用技术的发展。不单单可以看作是一个全新的框架,并且我们在工作当中能采纳任何产品的制备和应用程序代码,生成高效、动态、交互的vbscript、javascript应用镶嵌到HTML当中。
(4)JSP的特点
(a)代码逻辑和显示页面分离
JSP包含程序和美工两个部分,文件从头到尾html标签和<%%>代码交错。通常,编程员按照以前所计划的开始编写代码,接着是美工按照设计页面和编程员讨论该用哪种布局页面最为合适,最后编程员把设计镶嵌进程序。
(b)编译运行
我们采用了一种虚构的编程框架,把VBScript和JavaScript作为编程语言,如果发现操作系统挪用了JSP源代码一次,那么我们肯定正在访问某个页面。
©缓存
由于JSP的缓存基本上没有,通常只能修改数据库来提高性能。并介绍了缓存的概念,一个高速缓存页的一页当中,对一些参数的控制和缓存的页缓存,缓存里的数据可以在最大水平上,帮助我们克服这个难题。
(d)代码隐藏
编码后生成的代码更易于编写,具有更直观的布局,大大削减了开发和维护系统的困难性以及制作成本 。
(5)JSP的关键技术
(a)WebForm
Form(表单)是一个包含不同类型和种类的容器控件,控件必需直接或间接地连接。
(b)Web Service
Web Service是Web服务调用其他Web服务方法。简而言之,是你的网站可以利用其他网站的资源[11][19]。
2.4ssm简介
ssm是一个轻量级组合框架,能更好的实现MVC模式,充分发挥了各自的优势。其中通过Struts在表示层中处理页面请求和转发工作;通过Spring的依赖注入(Inversion of Control,IoC)技术降低了程序之间的耦合性,也使程序员养成用接口编程的好习惯;通过Hibernate完成在持久层与数据库的交互工作。三层框架的整合形成一个结构良好、功能强大,层次清晰的框架体系。
2.Spring
Spring也是独立的MVC模式框架,通过IoC技术,降低各组件之间的依赖,而Spring提供的面向切面编程(Aspect Oriented Programming,AOP)技术,在事务管理上具有独特优势。Spring框架不仅能有效地服务中间层对象,而且易于同其他层框架进行无缝集成,使各层之间相互独立,实现了在架构上各框架间的低耦合性。
3.MyBatis
MyBatis 是集合多种操作型关系数据库的概念和方法,它是一个强大的数据访问工具和解决方法[5]。对比 Hibernate,MyBatis 是一个半自动框架,Hibernate 则是一个全自动框架,无法直接维护 MySQL 。MyBatis在书写 MySQL 的灵活性很好,Hibernate 就不行,会比较麻烦。本文使用 MyBatis 作为海田在线商城这种多变性的项目,Hibernate 比较适合稳定的项目。而且 MyBatis 速度相对于 Hibernate 的速度要快些。

第3章 系统分析

3.1可行性分析
本文的设计的系统将会分别从经济的可行性,技术的可行性以及操作的可行性等方面进行全面的可行性的分析。
3.1.1经济可行性
由于系统开发的工具和软件都是可以免费使用的,因此系统开发的费用很少,甚至只需要少许的费用就可以开发出本系统,也可以忽略不计;再加上通过系统的实施可以提高用户文件的私密性,最大程度的保护用户的信息安全,因此,从这些方面就可以说经济上是可行的 [14][15]。
3.1.2技术可行性
技术的可行性是指在当今所拥有的技术条件之下,计算机软件和硬件的发展能否够满足发展的要求。由于本系统开发基于java语言,在一般的计算机上就能够满足开发本系统所需要的软硬件条件;因为它占用的内存本来就相对较少,我们用MySQL Server数据对软件的开发以及设计在理论上没有问题的原因是:它占用的内存实在是太少了。
3.1.3操作可行性
作为当今大部分用户来讲,都是受过良好教育,具有高素质的人才,都能十分容易的使用电脑进行各种操作,是以本文在开发设计上使用java技术进行设计的网上系统,其操作是完全可行的 [18][19]。
通过上述分析,可以确定该系统具有实际开发的价值和可能性。
3.2需求分析
针对现存的问题和需要,通过功能需求的分析,特建立了数字化、信息化的网上系统。
本系统主要包含了等系统用户管理、图书信息管理、新闻管理、订单管理多个功能模块。下面分别简单阐述一下这几个功能模块需求。
管理员的登录模块:管理员登录系统对本系统其他管理模块进行管理。
用户的登录模块:用户登录本系统,对个人的信息等进行查询,操作可使用的功能。
用户注册模块:游客用户可以进行用户注册,系统会反馈是否注册成功。
添加管理员模块:向本系统中添加更多的管理人员,管理员包括普通管理员和超级管理员。
图书信息管理模块:
图书列表:将数据库的图书表以列表的形式呈现给管理员。
添加图书:实现管理员添加图书。
修改图书:实现管理员修改图书。
订单管理模块:
订单列表:将数据库的订单表以列表的形式呈现给管理员。
添加订单:实现管理员添加订单。
修改订单:实现管理员修改订单。
订单信息管理模块:
订单信息列表:显示系统的所有订单信息,可以通过关键字查询。
订单信息删除:对输入错误或过期的订单信息删除。
用户模块:
个人中心管理:用户登录本系统。可以对自己的个人主页进行查看。
系统信息:用户可以查看自己的系统提示信息。
修改个人中心:用户可以修改自己的账号密码。
信息搜索:用户可以通过关键字搜索站内信息。
密码修改:用户可以修改个人登录密码。
系统管理模块:包括数据备份。
退出模块:
管理员退出:管理员用来退出系统。
用户退出:用户用来退出系统。
3.3业务流程分析
总体业务流程:以用户的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统,管理系统等功能操作,以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统,管理系统等功能操作。
系统的业务流程如下图所示。
在这里插入图片描述

图3-1系统业务流程图
3.4数据流程分析
数据流图的简称为DFD,是通过使用图形的方法对系统所具备的逻辑功能进行阐述,描述系统数据的流向和逻辑变换。由于该方法能将难以阐述的问题进行表述,因此被开发者广泛应用,是当前应用范围较为广泛的结构化系统分析方法。
零层数据流程是流程中最抽象的一层,它包括了用户注册与登录管理、用户功能管理和检索维护管理等功能模块,在登录注册模块使用到的数据存储有用户账户信息文档、用户信息文档,用户功能管理模块需要的存储是用户动态信息文档、图片信息文档,检索维护是通过以上这些文档信息通过关键词进行搜索。
系统的0层数据流图如下图所示。
在这里插入图片描述

图3-2系统数据流图(0层)
1层数据流图中,数据实体包括普通用户和管理员,普通用户数据流程包括功能选择、图书信息管理、订单管理、;管理员用户数据流程包括图书信息管理、订单管理、系统管理;普通用户数据流包括操作信息、添加信息、浏览信息;管理员数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息等,数据表。
系统的1层数据流图如下图所示。

在这里插入图片描述

图3-3系统数据流图(1层)
2层为管理员操作后台数据流图,管理员可以分别通过添加、修改和删除来对系统进行管理,如下图所示。
系统的2层数据流图如下图所示。
在这里插入图片描述

图3-4系统数据流图(2层)

第4章 系统设计

4.1系统结构设计
系统主要是分为管理员端设计与用户端设计。用户端模块主要是系统中普通用户在注册、登录系统可以看到自己的基本信息,维护自己的信息;管理员端模块主要是管理员登录后对整个系统相关操作进行处理,可进行管理员的添加和删除,可对系统中的用户进行管理。
系统的功能结构图如下图所示。
在这里插入图片描述

图4-1系统功能结构图
4.2功能模块设计
1.注册模块:游客用户可以系统进行账号注册,账号注册需要输入的数据,有用户名、密码、确认密码、邮箱、qq等,提交注册信息后,系统通过js代码判断用户输入的注册数据是否符合规格,如果符合规格后,在系统数据库中新增一个用户记录,为了安全性,使用md5加密算法完成密码的加密,然后存储数据库。
2.登录模块:在用户登录过程中,包含用户名、密码和验证码,系统需要先对验证码进行正错判断,若用户登录使用了验证码,则用户登录时除了需要输入用户名和密码外,还要输入验证码。在判断验证码为正确后,判断用户名及密码,由于用户密码是用MD5加密过的,所以在对用户密码判断时应先对密码进行MD5转换后再进行判断,当用户名或密码不正确时,返回登录页面显示错误信息。
3.图书信息管理模块:用户发布图书,图书存储在图书表中,用户点击图书发布,进入图书发布页面,提交图书后,管理员审核用户添加的图书,并管理。
4.订单管理模块:订单管理模块包括订单录入、订单列表、订单搜索、订单修改、订单删除,都是通过MySQL 语句来实现数据库操作,并将数据放置到html界面中。
5.系统管理模块:数据备份功能。
4.3数据库设计
4.3.1数据库设计概述
数据库的设计在这一套开发系统中扮演者非常重要的角色,完善的数据库建立可以让其更快的完成项目。整个数据库的创建是库存管理系统开发和创立的核心技术,概括的说,就是根据用户的需求创立起满足用户的需要的数据库。数据库的整体设计是在软件开发是其最主要的问题。
再考虑到数据库设计的时候,我们首先应该想到把这个系统的数据设计和处理设计密切结合起来,从而使得把整个库存信息管理系统相结合起来。
以前采用手工整理的方法来对信息结构复杂,应用环境多样的数据进行整理。使用这种过时方法与整个数据整理人员的水平是紧密相关的,经验多的人则失误少,反之,则出现的错误会多。数据库设计是被认为是一项技巧而不是他人眼中工程项目,缺少正确的理论知识和合适的解决方法的支持。因为在交付运行了一段时间之后总有些莫名其妙的问题发生,使这个软件系统的质量很难得到保障从而导致出现了很多的损失。以是只有采取新的数据库管理方式才能更好的解决这些根本性的问题。近些年来,人们不断的探索和挖掘数据库其中的奥妙,以便更快更好地运行整个系统。
4.3.1概念设计
一个完整的数据分析过程与这个数据库的逻辑结构和物理结构有十分密切的联系,我们需要一系列操作来完成对应用数据库所使用的信息进行确认、编纂、组织、挑选。我们可以采用特定的方法来获取有关用户的所有的有效信息,从而使这些有用信息可以直接成为数据库的重要数据。
我们在数据库分析中采用E-R图来建立相对应的关系,它有实体、关系、属性三种概念。实体可以说是一个用来维持和不断利用数据的大集合;属性可以说是这个物体的所具有的特点;关系很明显指的就是每个数据实体之间的种种联系,关系给各个实体之间建立起了相对应的模型。
根据系统各个实体的关系,得出系统的总体ER图。
4.3.2表设计

  1. 建立最符合客户需求的数据库计划。
  2. 对数据库进行规范化处理,避免一些不必要的错误。
  3. 数据库完整性。
  4. 每个用户权限的要求。
  5. 应用程序的性能需求,设计数据库时必须利用MySQL 中的各个功能来维持运行。
  6. 数据库定期的维护。
    在服务器上建立名为ssmb98i1的数据库,其中包括以下表:
    allusers表:
    序号 字段名称 字段类型 大小 允许为空 最大长度 备注
    1 id Int 4 10
    2 username 150 255
    3 pwd 150 255
    4 cx 150 255
    5 addtime DateTime 8 19

dingdanxinxi表:
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 dingdanhao 150 255
3 dingdanjine 150 255
4 dingdanneirong 1073741823 255
5 yonghuming 150 255
6 xingming 150 255
7 shouji 150 255
8 dizhi 150 255
9 beizhu 1073741823 255
10 issh 30 255
11 addtime DateTime 8 19

dx表:
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 ID Int 4 10
2 leibie 150 255
3 content 1073741823 255

goumaijilu表:
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 shangpinbianhao 150 255
3 shangpinmingcheng 150 255
4 leixing 150 255
5 pinpai 150 255
6 xiaoliang 150 255
7 kucun 150 255
8 jiage 150 255
9 goumaishuliang 150 255
10 goumaijine 150 255
11 yonghuming 150 255
19 beizhu 150 255
20 issh 30 255
14 addtime DateTime 8 19

liuyanban表:
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 cheng 150 255
3 xingbie 150 255
4 QQ 150 255
5 youxiang 150 255
6 shouji 150 255
7 neirong 1073741823 255
8 huifuneirong 1073741823 255
9 addtime DateTime 8 19

pinglun表:
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 ID Int 4 10
2 xinwenID 30 255
3 pinglunneirong 1073741823 255
4 pinglunren 60 255
5 pingfen 19 255
6 biao 60 255
7 addtime DateTime 8 19

shangpinxinxi表:
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 shangpinbianhao 150 255
3 shangpinmingcheng 150 255
4 leixing 150 255
5 pinpai 150 255
6 xiaoliang 150 255
7 kucun 150 255
8 jiage 150 255
9 tupian 150 255
10 shangpinjianjie 1073741823 255
11 addtime DateTime 8 19

xinwentongzhi表:
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 biaoti 150 255
3 leibie 150 255
4 neirong 1073741823 255
5 shouyetupian 150 255
6 dianjilv 150 255
7 tianjiaren 150 255
8 addtime DateTime 8 19
9 ddd DateTime 8 19

yonghuzhuce表:
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 yonghuming 150 255
3 mima 150 255
4 xingming 150 255
5 xingbie 150 255
6 chushengnianyue DateTime 8 19
7 QQ 150 255
8 youxiang 150 255
9 shouji 150 255
10 shenfenzheng 150 255
11 touxiang 150 255
19 dizhi 150 255
20 beizhu 1073741823 255
14 issh 30 255
15 addtime DateTime 8 19

youqinglianjie表:
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 ID Int 4 10
2 wangzhanmingcheng 150 255
3 wangzhi 150 255
4 addtime DateTime 8 19
5 LOGO 1073741823 255

第5章 系统实现

5.1基本任务
系统实现阶段的根本目标在这个阶段的设计工作中精确地描述出目标系统,从而在编码阶段可以直接根据这个描述翻译成用程序语言编写的系统。
系统实现的基本任务有以下几个:
(1) 为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。
(2) 为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。
(3) 对数据结构进行物理设计,即确定数据库的物理结构。
(4) 其他设计:根据软件系统的类型,可能还需要进行代码设计、输入/输出格式设计、人机对话设计。
(5) 编写系统实现说明书。
(6) 评审。对处理过程的算法和数据库的物理结构都要评审。
5.2登录模块的实现
5.2.1首页实现
首页是网站的入口,主要包含了:图书信息、图书信息、用户注册、以及留言反馈等功能。首页页面,如下图所示。
在这里插入图片描述

图5.1 首页页面图
5.2.2管理员后台登录
为了确保系统安全性,系统操作员只有在后台登录界面输入正确的用户名、密码、权限以及验证码,单击“登录”按钮后才能够进入本系统的后台管理界面。
用户登录流程图如下所示。
在这里插入图片描述
图5-2用户登录流程图
登录界面如下图所示。
在这里插入图片描述

图5-3登录界面
5.3用户模块的实现
5.3.1注册模块及登录的实现
用户输入用户名、密码、电话、姓名等必填信息后,点击注册按钮完成用户的注册。
用户注册流程图如下所示。
在这里插入图片描述

图5-4用户注册流程图
用户注册界面如下图所示。
在这里插入图片描述

图5-5用户注册
用户登录界面如下图所示。
在这里插入图片描述

图5-6用户登录
5.2.2留言反馈模块的实现
用户点击留言反馈进入留言反馈详细页,提交留言信息,成功发布留言,管理员管理用户的留言信息。
用户留言流程图如下所示。
在这里插入图片描述

图5-7用户留言流程图
用户留言界面如图所示。
在这里插入图片描述

图5-8用户留言
5.2.3购买模块的实现
用户点击某个图书进入图书详细页,点击购买按钮进入购买页,提交订单信息,成功购买后,管理员管理用户的订单信息,审核订单信息。
用户购买流程图如下所示。
在这里插入图片描述

图5-9用户购买流程图
用户购买界面如图所示。
在这里插入图片描述

图5-10用户购买
购买管理界面如图所示。
在这里插入图片描述

图5-11购买管理
5.4管理员模块的实现
5.4.1用户管理模块的实现
系统用户管理主要是对新用户的添加和旧用户的删除。新用户的添加主要是指添加用户名称并确定其密码;旧用户的删除也是从下拉菜单中找到对应的用户名称将其删除。不论是新用户添加还是旧用户的删除,这个权限只有管理员具有。
用户管理流程图如下所示。
在这里插入图片描述

图5-19用户管理流程图
用户管理界面如下图所示。
在这里插入图片描述

图5-20用户管理

5.4.2图书信息管理模块的实现
图书信息添加功能主要指对其编号、名称等一些基本信息的添加、删除和修改。图书查询能根据编号、名称等多种条件对图书信息进行查询。
图书信息管理流程图如下所示。
在这里插入图片描述

图5-16图书信息管理流程图
图书添加如下图所示:
在这里插入图片描述

图5-17图书添加

第6章 系统测试

6.1测试目的
软件测试的目的主要是发现软件缺陷和漏洞,其次,软件测试能够识别项目风险。为开发人员和程序经理提供软件测试的反馈结果,为风险评估提供必要的信息。再者,软件测试确保在上线日前达到上线标准。包括持续追踪项目进度和严格把控各个开发阶段的产品质量。
基于ssm的网上系统,主要测试客户端的使用和后台服务器的使用。客户端主要是测试用户注册、用户登录、用户完善信息、页面是否进行跳转等功能是否实现。管理员的使用主要是测试系统管理、用户信息管理、订单管理以及注册用户管理功能是否实现。
6.2测试概述
1.测试的原则
(1)系统测试应该避免测试自己的程序,以免发现不了细小的问题。
(2)系统测试用例应有两部分组成,分别为输入测试和输出测试。
(3)系统测试数据应当引用不合理的数据进行测试,选取不同情况的进行逐一测试。
(4)不仅要检查程序是否达到预期的效果,还要检查程序是否执行了规定以外的操作。
(5)对出现错误多的模块进行集中测试。
(6)已发现错误的模块修改后,应及时进行重新测试。
2.测试的方法
测试方法主要有人工测试和机器测试。
(1)人工测试
人工测试又称代码复审,包括个人复查、走查、会审三种方法[7]。
(2)机器测试
机器测试主要是由黑盒测试和白盒测试两种方法。
在最后的测试阶段,系统采用后黑盒测试和白盒测试想结合的方法。黑盒测试主要用于对系统的输入和输出特性进行测试,检测功能方面存在的错误与可能存在的缺陷。白盒测试主要用于对软件的过程及逻辑路径进行测试,发现性能方面的错误。具体采用的测试方法为系统测试和单元测试。
6.3单元测试
6.3.1注册测试
游客用户得先注册账号才能登录系统,用户输入符合规则的用户名后,填写2次一样的密码,点击注册按钮,系统提示“注册成功“。当用户2次密码不一致时,系统提示两次密码不一致。
注册测试用例如下表所示。
表6-1注册测试用例
测试模块 用户注册模块测试
测试目的 测试当注册信息输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1不输入用户名和密码,直接点击注册。
2输入未注册过的用户名。例如:abcd
3输入正确用户名,两次密码不一样。例如:用户名abcdefg、密码 000,确认密码111
预期结果 1 界面不跳转,弹出对话框,提示用户输入必填项。
2界面跳转,弹出对话框,提示用户注册成功。
3界面不跳转,弹出对话框,提示两次密码不一致。
实际结果 与预想一致。
结论 注册模块实现了基本的异常输入应对。
6.3.2登录测试
登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮是否正常进入系统首页。
登录测试用例如下表所示。
表6-2登录测试用例
测试模块 用户登录模块测试
测试目的 测试当登陆信息输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1不输入用户名和密码,直接点击登陆。
2输入未注册过的用户名。例如:abcdefg
3输入正确用户名,错误密码。例如:用户名abcdefg、密码 000
4输入正确用户名,正确匹配密码。例如:用户名abcdefg、密码 111
预期结果 1 界面不跳转,弹出对话框,提示用户输入必填项。
2界面不跳转,弹出对话框,提示用户当前用户名尚未注册。
3界面不跳转,弹出对话框,提示用户密码错误。
4界面实现跳转,登陆功能正常进行。
实际结果 与预想一致。
结论 登陆模块实现了基本的异常输入应对。

6.4集成测试
集成测试的方案主要如下所述:
1.将系统移植到另一台计算机上,运行出错。修改配置信息后运行成功。
2.用户信息管理模块综合测试,添加新用户roess,为其分配一般管理员角色,查看一般管理员角色权限,保存设置,以roess身份登录,查看所拥有权限。
3.最后按照网上系统的设计与实现,以不同角色的身份进入系统,对系统各模块功能进行测试,测试模块间逻辑功是否有误。
经过测试,发现此开发系统可以满足网上系统流程的基本工作流程和基本要求。

第7章 总结

经过几个月的努力还坚持,网上系统终于完成了,程序功能模块能按照需求来运行,能实现多用户的迸发使用,但是系统由于设计经验以及专业知识的局限性,在本系统的开发过程中,在一些功能方面和业务逻辑方面做得不是很完善,系统还存在一些缺陷。界面的设计从布局到外观,受限于自身的设计功底较低,没能达到自己所要设计的界面要求,另一方面,系统存在一些没有考虑的问题和模块。
在学习的过程中首次进行独立设计工作,编码过程出现了许多问题和困难,原以为正确无误的程序运行过程中不会遇到问题,但是在运行过程中也总会出现各种各样的问题,在调试过程中找不出运行出错的原因。而这些基本问题却都是一些简单的问题,例如标点符号应该是英文状态下的,却因为不好的编程习惯造成了一些中文的符号输入,经过仔细观察和老师的帮组下,还是将问题解决了。
目前系统的功能比较简单,还存在许多瑕疵,这是一份遗憾,也是促进我不断进步的动力。

致 谢

经历了近三个多月的动手实践及老师辛勤的指导和同学朋友热心的帮助下,本人的毕业设计网上系统的基本功能也基本完成。
此次设计中,通过不断的探讨与学习使我熟悉、使我初步了解了JAVA相关技术。做的是一个B/S结构的网上系统,使我对做网站所需要,及运行的环境有了初步的了解,在此次设计中我翻阅了较多的书籍,在有限的时间了丰富了对网上系统技术的知识也积累了少许的经验。起初对JSP的初步认识,通过这次设计更进一步的了解了其工作原理,懂得了配置服务器环境,连接数据库源,在设计过程中,也学会了用dreamweaver设计一个简单的页面,增强了动手的能力,激发了在此方面的兴趣。
但是由于时间、基础及缺乏实践等多方面的问题,还有诸多需要解决的问题依然存在,设计中很多方面考虑不够周全或者考虑不到。
非常感谢我的老师,我的同学,我的朋友并希望在今后的学习生活中不断陪养多方面的兴趣,不断学习进步从而能够实现独立完成。设计中存在的诸多缺点诚肯老师的原谅。

参考文献

[1]刘晓华,周慧贞.JSP应用开发详解[M].北京:电子工业出版社,2020:35-196
[2]阿斯利森,舒塔,金灵等译.Ajax基础教程[M].北京:人民邮电出版社,2019:15-26
[3]孙鑫.Struts 2深入详解[M].北京:电子工业出版社,2019:8-16
[4]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社出版社,2018:7-15
[5]王毅,周峰,孙更新.J2EE经典案例设计与实现[M].北京:电子工业出版,2020:6-18
[6]孙鑫.Struts 2深入详解(Java技术大系)[M].北京:电子工业出版社,2019:5-14
[7]郑阿奇.MySQL 实用教程[M].北京:电子工业出版社,2020:26-42
[8]谭庆平,毛新军编著.软件工程实践[M].北京:高等教育出版社,2018:34-87
[9]林邦杰.Java程序设计入门教程[M]. 北京:中国青年出版社,2019:63-99
[10]谢希仁.计算机网络[M]. 北京:电子工业出版社,2019: 89-195
[11]布朗,戴维斯,斯坦利克,马召等译.Struts 2实战[M].北京:人民邮电出版社,2019:85-206
[19]王行言.Java语言与面向对象程序设计[M].北京:清华大学出版社,2020:36-85
[20]拉夫利,李进华等译.精通Struts 2:Web 2.0开发实战[M].北京:人民邮电出版社,2019:253-276
[14]陈云芳.精通Struts 2基于MVC的Web应用开发实战[M].北京:人民邮电 出版社, 2019:206-187
[15] DavidHopkins.Improvingthe Quality of Teaching and Learning[J].Support for Learning,2018(19):162-165.
[16] Ed Woychowsky.Introducing Ajax[EB/OL]. http://www. webreference.com/programming/ajax_creating_asynchrono us_web_pages/index.html,2015-1-20.
[17] Roberto Latorre,Francisco Lopez,Antonio E.Martinez.Sharing of procompiled database statements in J2EE application[J]. Software: Practice and Experience,2015(35):301-311.
[18] Huang,M.Y,Lin,Y.J,Xu,H.A framework for web-based product data management using J2EE.International Journal of Advanced Manufacturing Technology, 2014:825-847.
[19] Aleassanndro Marchetto,Filippo Ricca,Paolo Tonella.A case study-based comparison of web testing techniques applied to ajax web applications[J].International Journal on software Tools for Technology Transfer(STTT),2015,10(19):477-492.
[20]D.F.Elliott,and K.Rao.Fast Transforms:Algorothms,Analysas,Applications.New York:Academkic Prdss.2014

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐