摘要
网上二手图书销售是一项最近比较流行的电商活动,商家往往会在一些特定的节日来进行降价处理,允许大批量的用户来对商品进行购买,从而促进该商品的销量。随着互联网的发展,网上二手书销售活动越来越受到人们的欢迎,相比于传统的促销活动,网上二手图书销售由于具有方便快捷的特性,成为了用户在购买书籍时的首选方案。网上二手图书商城是一个基于Web的二手图书系统,系统采用Java语言开发,允许商家对某一商品进行上架,用户可以在商品上架后,通过自己的Web浏览器来进行购买,主要功能模块包括用户登录、商品浏览、商品购买以及商品上架的功能,具有安全性能高、高效、便捷等特点。相比传统的线下促销方式,本系统能够为用户提供一个更加方便的网上二手图书购买渠道。
关键词:网上销售系统 Web开发 互联网框架 MYSQL数据库
第1章 绪论
1.1项目背景
时代的发展,科技的进步,新旧物品的交替日新月异,每个家庭,每个人都会有更新过的物品在闲置,如何处理这些物品也成为了人们日常关注的问题。有人会拿到当地的二手交易市场去交易,有人会因离二手市场较远或二手物品不易搬运而把它当废品卖掉甚至扔掉。这不仅不利于环保,还浪费了社会资源。由于二手交易网的诞生就使得二手交易不再局限于一定要去二手交易市场实行交易。由于网络的方便性,让很大部分人选择了上二手交易网发布二手买卖信息,足不出户就可以买卖二手,极大的方便了老百姓。可以说二手交易网极大的推动了老百姓买卖二手的热情,也促进了社会资源的有效利用。
书通读一遍后就被束之高阁,甚至买来后从未翻阅,存放和处理成为烦恼。书籍利用率不高、被弃置的现象很普遍。一直以来,国内二手书交易领域没有形成成熟的市场。旧书摊、旧书市场难寻,很多人只好选择把旧书当废纸处理,一斤按几毛钱价格卖掉。而在日本、欧洲等地,二手书的交易流通已经形成了较为成熟的模式。以日本最大的中古连锁店BOOKOFF为例,人们在这里像逛超市一样轻松地逛循环商店,里面的书籍也很新。近年来,闲鱼等综合二手平台出现,让服饰、手机、书籍等有了交易转让的渠道。在此基础上,又出现了专业性的二手书交易平台,如“转转有书”业务、多抓鱼、渔书等。“跟在孔夫子、闲鱼上自己卖书相比,专门的网上二手书交易平台省下了自己拍照、写描述、跟买家砍价的流程。二手交易能够流通,买卖双方都能共赢。很多人对二手书的印象,是那种脏脏旧旧的二手书市,但在网上卖出去的全新书其实非常多。而随着国民经济的发展和对文化的高度重视,二手图书交易将会持续增长。
随着互联网的逐渐覆盖,人们对基于互联网的应用已经养成了一种依赖,无论是工作还是生活中,互联网技术都成为了必不可少的工具之一。Web技术一般采用B/S框架,用户通过浏览器来获取自己所需要的信息,一般而言,用户只需要输入目标服务器的域名以及请求参数,浏览器就会自动将相应的请求发送给服务器,并在获取到服务器的应答后,将用户所需的信息显示到浏览器上。这种便捷的信息获取方式是在上世纪80年代左右,由X的Tim博士研发而来,主要用于自己团队内部人员的信息获取,但是由于这项技术十分便捷的特性,所以逐渐受到了人们的广泛好评,最终成为了万维网技术的标准之一。而HTTP超文本传输协议也因此而来。经过30多年的发展,HTTP技术已经成为了Web技术领域的代名词,人们在以及Web技术时,往往第一个想到的就是HTTP。HTTP分为请求和应答两种报文,在客户端,由浏览器负责HTTP请求的构建,而在后端,则由后台服务器负责HTTP应答的构建。采用请求&应答的方式,HTTP服务可以简化用户获取信息时的必要操作,将所有依赖的动作都交由操作系统完成,这种简洁的工作方式提升了人们获取信息的方式,对于其他行业的发展也提供了很大的帮助。我国在Web技术领域的研究始于2000年前后,相对其他发达国家,我国在互联网技术方面的研究虽然起步较晚,但是得益于我国丰富的人力物力,我们在互联网技术方面的研究已经逐渐成长与其他发达国家齐头并进,据统计,世界五百强中的互联网企业我国已经占据了五分之一以上,其中腾讯、阿里、华为等公司名列前茅。
1.2选题意义
就目前来看,Web技术的发展已经遇到了瓶颈,其工作模式已经被工程师进行了深入的挖掘,很难再有明显的突破,而限制Web技术发展的主要源头在于网络带宽,因为Web技术主要以HTTP请求作为载体,HTTP请求相对于二进制的RPC等协议而言,需要承载比较庞大的数据量,可能造成网络的拥塞,导致数据传输的效率变慢,所以在一些对响应效率较高的工作场景中,人们会采用传输速率更高的RPC协议,但是随着5G技术的出现,Web技术将迎来新一波的应用高潮,得益于5G技术庞大的网络带宽,使得Web请求可以携带更多的数据,而且HTTP文本具有更加良好的可读性,所以在未来的发展过程中能够,Web开发仍然会占有一定的市场地位。
随着互联网的发展,基于网络技术来进行信息查询的方式受到了人们的广泛欢迎。网络信息查询一般基于Web框架,用户通过本地浏览器来访问远端服务器,服务器在完成对用户请求内容的解析后,将对应的应答通过Html的格式发送到用户本地的浏览器上。在整个客户端浏览器与服务端的通信过程中,首先需要用户输入请求的URL,本地浏览器根据请求的URL向DNS服务器请求远端服务器的IP地址,在获得远端服务器的IP地址后,随即建立TCP连接,服务端通过TCP来将本地数据返回给客户端浏览器,客户端浏览器对返回的Html文件进行解析、渲染与绘制,最终将用户请求的内容显示在界面上。这一套通信流程均由底层应用提供,用户需要做的只是输入一个公共的URL,所以这种信息获取的方式可以简化用户的大部分操作,提高生产效率。
1.3系统特点
系统目标是设计一个基于Web的二手图书商城系统,系统允许商家对某一商品进行上架,用户可以在商品上架后,通过自己的Web浏览器来进行购买,主要功能模块包括用户登录、商品浏览、商品购买以及商品上架等功能。相比传统的线下销售方式,本系统能够为用户提供一个更加方便的二手图书购买渠道。
1.4本文主要工作
本文主要围绕一款基于Web的二手图书商城系统的设计,系统采用常规的B/S框架进行设计,在后台编程语言方面,本文采用了Java开发语言,在数据库存储端,本文采用流行的MYSQL数据库,总体而言,系统主要包含如下几个方面的功能:用户登录、用户管理、商品浏览、商品下单、用户留言。
第2章 系统分析
2.1任务概述
本文主要围绕二手图书网站进行设计,系统具有用户登录、用户管理、商品浏览、商品下单以及用户留言的功能等。
2.2系统目标
系统的主要目标是实现以下功能:
1、用户登录。用户登录部分允许用户使用账号密码进行登录,当输入错误的账号密码时,系统要给出相应的提示,输入正确的密码时,系统应弹出用户登录后的界面。
2、用户管理。系统应设计相应的管理员账号,管理员在登录系统后,可以对普通用户的基本信息进行管理。
3、商品浏览。对于用户喜欢的商品,用户可以点击按钮进行翻页浏览。
4、商品下单。用户可以选择自己喜欢的商品进行下单。
5、用户留言。系统设计留言板块来给用户进行留言,其他用户可以看到用户的留言信息。
2.3系统可行性分析
分析研究网上二手图书网站系统是否具有实施的必要性与可能行,对此系统的开发是否在经济、技术、人力等方面存在困难。二手图书网站系统的可行性的研究就是为了能以最小的代价用最短的时间来确定问题是否能够解决,以避免投资的失误。因此从以下几个方面分析网上二手图书网站系统是否具有可行性:
(1)经济可行性: 本系统开发成本较低,没有涉及到高昂的硬件资源,大多数采用免费的开发环境。所用到的框架也都是开源的免费框架。因此经济开销十分小。然而开发出来的软件却有很高的实用性能。本系统投入上线后会为公司内部的管理人员提供有效的帮助。
(2)技术上的可行性:本文主要围绕一款基于Web的二手图书商城系统的设计,系统采用常规的B/S框架进行设计,在后台编程语言方面,本文采用了Java开发语言,在数据库存储端,本文采用流行的MYSQL数据库。
(3)应用的可行性:系统的业务流程包含了用户登录验证、商品浏览、下单以及留言等功能,全力为了改进工作效率,使工作方便化,所以在更方面都会得到认同和支持。该系统在许多的企业和公司都会有利用的空间。
2.4功能需求
系统具有用户登录、用户管理、商品浏览、商品下单以及用户留言的功能等。
具体系统功能需求框图如下:
图2.1 系统功能框图
系统平台提供的功能如下:
1、用户登录。用户登录部分允许用户使用账号密码进行登录,当输入错误的账号密码时,系统要给出相应的提示,输入正确的密码时,系统应弹出用户登录后的界面。
2、用户管理。系统应设计相应的管理员账号,管理员在登录系统后,可以对普通用户的基本信息进行管理。
3、商品浏览。对于用户喜欢的的商品,用户可以点击按钮进行翻页浏览。
4、商品下单。用户可以选择自己喜欢的书籍进行下单。
5、用户留言。系统设计留言板块来给用户进行留言,其他用户可以看到用户的留言信息。
第3章 相关技术简介
3.1开发语言简介
目前比较流行的开发语言较多,有偏向于系统底层的汇编语言、C语言,有偏向于面向对象的C++、JAVA语言,也有偏向于应用上层的PYTHON语言,这些系统开发语言在各自的领域中表现出了特定的优势,并没有绝对优秀一说,而是有各自的优势。对于本系统的开发而言,比较合适的语言有JAVA、C#以及PYTHON。这三种语言是目前Web开发中较为流行的开发语言,同时也是目前市场占有率较高的三种语言。在进行功能开发时,三种语言均有很多的开发库,所以可以站在别人的肩膀上来实现自己应用,对比底层的汇编语言、C语言,这三种语言在开发效率上具有更好的表现,尤其是在目前敏捷开发、微服务架构等理念盛行的互联网领域中,更适合于中小型公司的发展。在这三种开发语言中,C#与JAVA的语法十分相似,基本可以进行无缝衔接,区别只是在于C#主要面向于Windows操作系统,而JAVA则与操作系统无关,所以具有更好的移植性。PYTHON语言与另外两个不同,采用了更为激进的处理方式:即时运行。采用PYTHON语言编写的应用程序,不需要经过编译即可运行,系统会在运行的过程中自动完成对程序的语法检测、系统编译,进行实现程序的运行。这导致了采用PYTHON语言编写的程序相比采用JAVA等语言编写的程序具有更低的运行效率,对于Web服务端程序的开发而言,可能会造成性能上较大的损失,所以需要工程师们进行仔细的考量。
考虑到C#主要是面向Windows操作系统的应用程序开发语言,而PYTHON语言在Web应用开发中具有较低的运行效率,所以本系统采用了JAVA来实现系统的开发。JAVA语言在上世纪九十年代左右有SUN公司研发,经过了二十多年的演化,逐渐成为了目前市面上应用范围最广的系统程序开发语言,尤其是在服务端应用领域中,JAVA的市场占有率可以达到百分之六十以上,具有绝对的领导地位。采用JAVA语言开发的程序需要运行在JVM虚拟机上,在运行过程中由JVM虚拟机对.class文件进行编译与运行,所以开发人员不需要对系统的底层实现有过多的了解,只需要对JAVA的语法进行系统的学习即可,操作系统的区别由JVM虚拟机应用程序来负责解析,而JVM虚拟机的实现则由SUN公司的工程师们进行开发,由他们来对不同的操作系统进行负责。这种方便的开发方式给JAVA语言带来了更高的可移植性,运行于Windows操作系统的应用程序同样可以运行在LINUX等操作系统上,工程师只需要使用对应操作系统的JVM虚拟机即可。不仅如此,相比于C、C++等偏向底层的编程语言需要对指针运算有深入的了解,对内存进行操作时需要进行格外的注意,采用JAVA进行程序开发时,则不需要有这些担忧,因为与内存有关的操作均由JVM虚拟机来实现,虚拟机会在检测到操作系统的内存不够时,自动进行内存回收,从而允许其它程序使用系统的内存。这种开发方式也降低了该语言的使用门槛,对于广大工程师来说,是一种福音。
3.2数据库系统简介
数据是互联网应用的核心,尤其是在企业应用中,服务端工程师最主要的工作就是与数据库打交道,通过对数据不同的组织架构,来返回给用户所需的数据。在目前比较流行的互联网架构中,常采用MVC架构,即我们常说的模型-视图分离。其中视图主要由前端工程师与UI工程师进行组织规划,将后端传递过来的数据组织显示给用户。而模型则主要负责对数据的管理与协商,根据特定的应用程序将数据处理完成后,通过JSON的格式传递给前端应用。正是由于采用了模型视图分离的架构,使得企业级的互联网应用具有了更高的可扩展性,动态数据与静态数据得到了更好的分离。同时在采用分布式系统架构来对企业应用进行扩展时,可以轻易的将静态数据,如图片、视频、声音等存储在负载均衡器中,从而得到更高的系统性能。
出于对大规模数据处理的目的,我们需要采用合适的数据库来对数据进行管理与存储。数据库的主要作用就是实现对数据的综合管理,一般会包含增删改查等操作,其中查询操作占比最高,而删除操作使用率最低。在构成数据库的架构中,目前主要分为了三个系统框架,即:数据库管理系统、数据库应用程序以及数据库。其中数据库管理系统是指数据库的控制核心,通过特定的模式来对数据库的数据进行管理,用户通过配置数据库的存储引擎后,数据便会存储在特定的数据结构中,如B+树、哈希表。不同的数据结构具有不同的特性,如B+树在顺序存储能力方面具有更好的表现,时间复杂度可以达到O(logn),而哈希表则在随机存储方面具有更高的性能,时间复杂度为O(1)。数据库应用程序指用户通过编程的方式来实现与数据库的交互,通过自动化的沟通模式,使得应用程序可以处理大批量的数据,而不需要工程师通过手工输入MYSQL语句的方式来对数据进行操作,简化了工程师的劳动强度。至于数据库则是数据真正存储的地方,无论是数据库管理系统还是数据库应用程序,都需要通过对数据库的操作来实现数据的输入与输出。在这里,数据库需要与硬盘和内存打交道,通过设计更好的内存访问结构,可以获得更高的数据访问性能。就目前比较流行的数据库系统而言,主要分为了两个阵营:基于ORM框架的数据库系统,以及基于NoSQL的非关系型数据库系统。其中ORM框架的数据库系统以关系表为单位,通过将数据存放在不同的表结构中,来实现对数据的管理。这些表结构都被存放在磁盘中,当用户通过MYSQL指令获取数据时,数据库存储引擎将会从磁盘中将数据检索出来,供用户使用。而NoSQL则采用了内存式数据库的概念,一般采用哈希表来对数据进行组织,将用户经常使用的数据缓存在哈希结构中,可以显著提高数据查询的效率。这两类数据库采用了不同的存储模式,具有不同的应用理念,对于ORM数据库而言,常作为企业应用的数据持久化层,而MYSQL则由于其基于内存的特性,常用于普通数据库的缓存,提供更高的读取性能。
考虑到本文的系统对于数据存取性能并没有过高的要求,所以采用了MYSQL来作为系统的数据管理系统。MYSQL相比ORCALE、SQL SERVER等其他常见的数据库管理系统,具有开源、可定制、轻量级的特性,可以满足大型的企业级应用,并且最大程度地降低企业的成本。MYSQL数据库通过存储引擎来对数据进行组织,常使用的存储引擎主要有两类:InnoDB和MyISaM。这两类存储引擎在面向不同的应用时会有不同的表现,其中InnoDB是MYSQL数据库中的默认存储引擎,用户未显示指定数据库的存储引擎时,将自动采用InnoDB作为数据库的存储引擎。相比MyISaM,InnoDB支持事务以及更细粒度的行锁,具有更好的并发能力。而MyISaM相比InnoDB,具有全文本搜索索引,能提供更好的文本搜索能力。
3.3IDE简介
在对JAVA应用进行开发时,需要通过JDK来对JAVA程序进行编译与运行。JDK提供了JAVA程序运行所需的编译功能与运行功能,通过其附带的虚拟机,能够使JAVA程序运行在不同的操作系统下,相比C++等其他高级语言,具有更突出的移植性。在开发JAVA程序的过程中,可以使用文本编辑器来手工录入JAVA程序,并使用JDK自带的编译指令来对JAVA程序进行编译,当编译通过生成.class文件后,即可在JVM虚拟机上运行,所有的内存操作、文件包含等操作均有虚拟机处理。虽然这种处理方式只需要用户输入代码即可,但是在面向大型企业级的应用开发时,普通文本文件编写源代码的方式并不可取,一个大型的企业应用会有多个项目团队来共同维护,仅靠程序员的手动管理是无法适应企业应用的膨胀速度的,而且需要付出极大的人工成本。目前在企业应用开发时,会采用特定的IDE来对源代码进行管理,IDE能够通过插件的方式来引入对应版本的JDK,这样用户可以在可视化界面上来对自己的代码进行管理,而不必对大量的文本文件进行操作。与文本文件录入的方式相比,IDE具有更好的可视化界面,并且能够提供特定语言下的实时语法检查,这样程序员便可以及时地发现自己源代码的错误,而不必等到程序编译时才去修复。
考虑到本文的系统需要对庞大的源代码进行管理,所以采用Eclipse来作为系统的IDE软件。Eclipse是基于JDK的JAVA源代码管理平台,支持JAVA程序的编译、运行,并且能够提供JAVA Web来支持Web应用。同时Eclipse兼顾了系统开发时所需的扩展性,允许用户下载不同的插件来构建自己的工程环境,这些插件可以是提供Web服务的Tomcat、netty,也可以是提供代码自动约束的XML文件,同时用户也可以自定义自己的插件,来丰富自己的IDE编译环境,提高生产力。Eclipse相比于其他常见的IDE,具有更高的移植性,可以在不同的操作系统下进行开发,用既可以在Windows环境下编写自己的代码,然后运行在LINUX环境中,这样更加方便了不同组织开发人员之间的交流,提供更加可靠地保障。随着使用Eclipse进行软件开发的用户及企业的增多,Eclipse生产商已经不再满足于JAVA开发这一领域,转而支持更多语言的开发,目前已经支持包括C++在内的多种高级语言的开发功能,这对于需要集合多种开发语言进行生产的公司来说,具有更强的吸引力。
Eclipse相比其他IDE,其能够迅速占领市场主要是由于其开源、可定制以及插件丰富的特性,就目前Eclipse的发展现状而言,已经有超过一百多家的软件公司支持了Eclipse的开发框架,并且在输出自己的jar程序时,也会特别注重Eclipse上对应插件的可用性,所以用户在下载到特定的jar包后,可以轻易地使用对应的插件来完成自己源代码的开发,而不用去特别关注IDE的版本支持,这种优势对于敏捷开发团队来说,具有不可忽视的作用,所以Eclipse逐渐成为了业界内JAVA开发的主流IDE。
第4章 系统架构及总体设计
4.1功能总体设计
4.1.1 功能模块设计
系统包括如下功能模块:
图4.1系统功能模块设计图
网上二手图书商城系统分为五个功能模块:分别为用户登录模块、用户管理模块、商品浏览模块、商品下单模块、用户留言模块。
其中用户登录模块主要负责对用户信息的校验,当用户输入账号密码后,服务器应用程序会从MYSQL数据库中取得对应账号的密码,如果用户输入的密码与账户表中的密码匹配,则允许用户登录。用户管理模块主要是用户使用管理员账号登录到系统后,系统会返回给用户对应的管理员界面,在管理员界面中,允许管理员对普通会员的基本信息进行管理。商品浏览模块主要是用户可以对所有的商品进行浏览,期间可以添加购物车等。商品下单模块是用户对所有的商品进行浏览,并在对商品满意后,进行下单操作。用户留言模块主要是用户对特定商品评价留言与商家沟通。
4.1.2 功能流程设计
平台功能流程的设计分析得到其系统功能操作的流程如下图所示:
图4.2系统功能流程图
用户通过网络登陆账号,输入个人账号密码进入系统。若输入为商家账号,可以进行商品上下架、基本信息更改以及订单管理。若输入为普通买家账号,则可以进行商品浏览、购物车管理、商品购买以及用户留言。
4.2数据库总体设计
二手图书商城系统需要存储与商品有关的多种数据,如用户信息、产品信息、商品信息、购买信息等。这些数据均需要在MYSQL数据库中进行合理的设计。在对这些数据之间的关系进行设计时,首先需要对数据之间的E-R关系进行分析。E-R关系表示数据之间的实体、属性以及联系。
下图为系统的数据库实体关系图
图4.7实体关系图
E—R图描述了图书购买所用到的实体、实体的属性、以及实体与实体之间的关系。
第5章 系统详细设计
5.1普通用户模块设计
系统的详细设计是系统全部模块功能的体现,通过对各个类之间的相互调用体现各模块之间的联系,主要有普通会员和管理员两种系统详细设计。
普通用户模块主要有会员注册功能、
会员登录功能、商品浏览功能、留言功能和商品下单功能。下面将对主要功能进行叙述。
5.1.1会员注册功能设计
会员注册功能涉及包括Register.aspx类、UserBusiness类、DA类和UsersEntity类。
图5.1会员注册业务图
(1)Register.aspx类
Register.aspx是会员注册页面,会员注册方法首选实例化UsersEntity类,把用户名、密码、姓名、地址和联系方式等信息封装到会员实体类中,调用UserBusiness类中的InsertUsers()方法,完成操作。
(2)UserBusiness类
UserBusiness类是会员注册业务逻辑类,InsertUsers()方法包括注册会员的MYSQL语句insert into users value(@ID、@password、@name、@address、@contact),调用DA类中执行注册会员的MYSQL语句,完成操作。
(3)DA类
DA类主要负责连接数据库,提供执行MYSQL语句方法。
(4)UsersEntity类
UsersEntity类是会员表的实体类,对会员表封装操作。
5.1.2会员登录功能设计
会员登录功能涉及包括Login.aspx类、UserBusiness类、DA类和UsersEntity类。
图5.2会员登录业务图
(1)Login.aspx类
Login.aspx是会员登陆页面,在此页面中输入用户名、密码点击登录,调用UserBusiness类中的Login()会员登录方法。
(2)UserBusiness类
UserBusiness类是会员业务逻辑类。
(3)DA类
DA类主要负责连接数据库,提供执行MYSQL语句方法。
(4)UsersEntity类
UsersEntity类是会员表的实体类,对会员表进行面向对象的处理。
5.1.3留言功能设计
留言功能主要涉及LeavewordAdd.aspx(视图层)、LeavewordBusiness(业务逻辑层)、DA(数据访问层)和LeavewordEntity(实体层)。
图5.3留言业务图
(1)LeavewordAdd.aspx类
LeavewordAdd.aspx是留言的页面,在此页面,输入留言内容,把留言信息封装到LeavewordEntity实体中,调用LeavewordBusiness类中的Insertleaveword()添加留言方法,LeavewordBusiness类调用DA中的方法。
(2)LeavewordBusiness类
LeavewordBusiness类是留言业务逻辑类,LeavewordBusine类中的Insertleaveword()方法负责添加留言操作,包括添加MYSQL语句,在Insertleaveword()方法中调用DA类中的方法,执行添加留言的MYSQL语句。
(3)DA类
DA类是数据库访问类,与MYSQL数据库建立连接,提供执行MYSQL语句和存储过程的方法。
(4)LeavewordEntity类
LeavewordEntity类是留言的实体类,主要实现对数据库留言表的面向对象化处理。
5.1.4商品下单功能设计
商品下单功能主要涉及Booksearch.aspx类、BookpurchaseBusiness类、DA类、BookpurchaseEntity类。
图5.4下单业务图
(1)Booksearch.aspx类
Booksearch.aspx是书籍浏览页面 ,点击购买下单,调用BookpurchaseBusiness业务逻辑中的AddBookpurchase()的方法。
(2)BookpurchaseBusiness类
BookpurchaseBusiness类是下单业务逻辑类, BookpurchaseBusiness类中的AddBookpurchase()方法负责下单操作。
(3)DA类
DA类是数据访问类,与MYSQL数据库建立连接,提供执行MYSQL语句的方法。
(4)BookpurchaseEntity类
BookpurchaseEntity类主要是对书籍进行面向对象的处理,对书籍下单表的封装操作。
5.2管理员模块设计
5.2.1管理员登录功能设计
会员登录功能涉及包括Login.aspx类、AdminBusiness类、DA类和AdminEntity类。
图5.5管理员登录业务图
(1)Login.aspx类
Login.aspx是管理员登陆页面,在此页面中输入用户名、密码点击登录,调用AdminBusiness类中的AdminLogin()方法完成操作。
(2)AdminBusiness类
AdminBusiness类是业务逻辑类。
(3)DA类
DA类主要负责连接数据库,提供执行MYSQL语句方法。
(4)AdminEntity类
AdminEntity类是管理员表的实体类,对管理员表进行面向对象的处理。
5.2.2添加书籍功能设计
添加书籍功能主要涉及包括ExambooksAdd.aspx、ExambooksBusiness、DA、ExambooksEntity。
图5.6添加书籍业务图
(1)ExambooksAdd.aspx类
ExambooksAdd.aspx是添加书籍的页面。添加书籍,调用ExambooksBusiness业务逻辑中的AddExambooks()添加书籍方法完成操作。
(2)ExambooksBusiness类
ExambooksBusiness类是书籍业务类。其中的AddExambooks()添加书籍方法完成操作
(3)DA类
主要负责连接数据库,提供执行MYSQL语句方法。
(4)ExambooksEntity类
ExambooksEntity类主要是对书籍进行面向对象的处理,对XX表的封装操作。
5.2.3修改书籍功能设计
修改书籍功能主要涉及Exambooksedit.aspx、ExambooksBusiness、DA、ExambooksEntity。
图5.7修改书籍业务图
(1)Exambooksedit.aspx类
Exambooksedit.aspx是修改书籍信息的页面,调用ExambooksBusiness类中的EditExambooks()方法,完成修改操作。
(2)ExambooksBusiness类
ExambooksBusiness类是业务逻辑类,添加MYSQL语句完成修改操作。
(3)DA类
主要负责连接数据库,提供执行MYSQL语句方法。
(4)ExambooksEntity类
ExambooksEntity类主要对书籍表进行面向对象的处理,对书籍表封装操作。
5.3数据库详细设计
本文采用MYSQL作为系统的底层数据库,在MYSQL数据库中,最小的单位是记录,数据会以记录的形式存储在数据库的表格中。本文的数据库关系表格主要有:管理员表、商品表、公告表、会员表、留言表以及订单表。
(1)管理员表主要存放管理员的基本信息:
表5.1管理员信息表
字段名 | 类型 | 长度 | 说明 |
id | Int | 4 | 管理员编号(主键) |
name | varchar | 30 | 用户名 |
pwd | varchar | 20 | 用户密码 |
(2)会员表主要存放会员的基本信息:
表5.2会员信息表
字段名 | 数据类型 | 长度 | 功能描述 |
id | Int | 4 | 会员编号(主键) |
name | varchar | 20 | 会员名 |
password | varchar | 20 | 密码 |
tournament | varchar | 8 | 姓名 |
sex | varchar | 2 | 性别 |
Age | int | 4 | 年龄 |
Tel | varchar | 30 | 电话 |
varchar | 20 | 邮箱 | |
int | 8 |
图书商品表主要存放与图书有关的信息:
表5.3图书信息表
字段名 | 类型 | 长度 | 说明 |
id | Int | 4 | 编号(主键) |
Custodianship | date time | 8 | 时间 |
Name | varchar | 20 | 商品名称 |
Mishmash | varchar | 20 | 描述 |
Chagrin | varchar | 50 | 厂家 |
Zhengzhou | varchar | 50 | 折扣 |
Zhengzhou | Float | 8 | 折后价 |
Shenyang | Float | 8 | 节省金额 |
Spanglish | Int | 4 | 数量 |
(4)留言表主要存放普通用户的留言信息:
表5.4留言信息表
字段名 | 数据类型 | 长度 | 功能描述 |
id | Int | 4 | 留言编号(主键) |
Student_id | Int | 4 | 会员编号(外键) |
title | varchar | 20 | 标题 |
content | varchar | 100 | 内容 |
time | date time | 8 | 留言时间 |
订单表主要存放用户的订单信息:
表5.5订单信息表
字段名 | 数据类型 | 长度 | 功能描述 |
id | Int | 4 | 编号(主键) |
Student_id | Int | 4 | 会员编号(外键) |
Good-id | Int | 4 | 商品编号(外键) |
Bum | Int | 4 | 数量 |
Zoning | Float | 8 | 总价 |
Time | date time | 8 | 订单时间 |
第6章 系统实现与测试
软件开发的一般步骤是产品提出需求,开发人员进行开发自测,测试人员进行总体检测以及上线。通过这四步的流水化生产模式,可以最大限度地保证上线后的服务可用。本文的第五章完成了系统各个功能模块的设计,通过采用设计好的数据库来对传感器上报的数据进行存储,本文的系统可以实现课题的完整需求。在本章中将会使用特定的方式来对系统的功能进行测试。
6.1系统实现
6.1.1登录模块实现
登录模块主要负责对用户信息的校验,当用户输入账号密码后,服务器应用程序会从MYSQL数据库中取得对应账号的密码,如果用户输入的密码与账户表中的密码匹配,则允许用户登录。系统的登录界面如下所示:
图6.1普通用户登录界面图
图6.2管理员登录界面图
上图所示为系统的登录模块,用户在点击登录按钮后,用户名和密码即通过HTTP请求传递给服务器,服务器通过对用户名select数据库,当数据库中存在该用户名,并且用户名下的密码与登录密码匹配时,即弹出登陆后的界面给用户,否则提示密码错误,允许用户重新输入密码。
6.1.2管理员模块实现
用户使用管理员账号登录到系统后,系统会返回给用户对应的管理员界面,在管理员界面中,允许管理员对普通会员的基本信息进行管理,如下所示为管理员登录后的界面:
图6.3管理员界面图
图6.4会员管理界面图
进入书籍页面可对书籍分类进行修改,如下所示为书籍分类管理界面:
图6.5商品分类管理界面图
在书籍的详情页面中,管理员可以对书籍的图片、价格、名称以及类别等相关信息进行修改。如下图:
图6.6书籍详情界面图
在订单管理界面中,管理员可以检查系统所有的订单信息,当点击查看按钮时,会弹出该订单的详情:
在系统的订单详情页中,会展示购买客户的相关信息,包括收货地址、收件人电话等,从而方便工作人员的发货。
6.1.3会员模块设计
普通会员使用自己的账号后,可以对所有的商品进行浏览,并在对商品满意后,进行下单操作。下图给出了系统的商品浏览界面:
图6.9商品浏览界面图
在商品浏览界面中,给出了系统最近销量比较火的书籍,如果用户对主页展示的书籍不感兴趣,也可以点击更多按钮,系统将展示给用户更多的商品内容:
在系统的商品展示列表中,给出了系统所有的书籍详情信息,用户可以观看书籍的简介,以及在对书籍满意时,可以进行下单。
图6.10下单界面图
如果用户对自己购买的商品比较满意,可以点击下一步,进入订单确认界面:
图6.11 订单确认界面图
在订单确认界面中,用户需要输入自己的收货地址与电话号码等信息。同时,用户也可以对自己的购物车进行检查:
图6.12购物车详情图
购物车会保存用户所有加入购物车的商品,而在订单管理界面,则会展示用户所有下单的商品:
图6.13订单详情页
同时,用户在遇到满意的商品时,也可以进行留言,与卖家进行沟通:
图6.14留言板界面图
上图给出了系统的留言板界面,在留言板中,用户可以与商家进行沟通,商家在登录到系统后,将会看到用户的留言信息。
6.2系统测试
软件测试是软件开发中不可或缺的一部分,是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行校验和确认活动过程,是为了尽早地发现在软件产品中所存在的各种问题——与用户需求、预定义的性质不一样。
软件测试技术—软件测试的分类
1、从是否需要执行被测软件的角度分类分为静态测试和动态测试。
2、从测试是否针对软件结构算法的角度分类分为白盒测试和黑盒测试。
3、从测试的不同阶段分类分为单元测试、集成测试、系统测试、验收测试。
软件测试是为了保证软件产品的质量,在软件开发的过程中,对软件产品进行质量控制。
网上二手图书商城系统的测试用例如下:
表6.1书籍添加功能测试
序号 | 1 |
测试模块 | 商品添加模块 |
测试功能点 | 增加功能 |
操作步骤 | 点击添加书籍,填写书籍信息,填写完毕后点击保存按钮 |
预期结果及验证标准 | 点击保存后,弹出保存成功提示,跳转到书籍管理页面后可以看到记录。 |
测试时间 | 2020/4/23 |
执行人 | 伊宇杰 |
测试结论 | 添加成功 |
Bug编号 | |
备注 | 此用例测试通过了书籍添加的基本功能 |
图6.15书籍管理页面图
表6.2书籍购买功能测试
序号 | 2 |
测试模块 | 书籍购买模块 |
测试功能点 | 购买功能 |
操作步骤 | 点击商品按钮,之后点击下一步,进入订单页面,填写信息完毕后点击提交订单按钮。 |
预期结果及验证标准 | 完成订单会出现购买成功提示,并且会保存在订单里。 |
测试时间 | 2020/4/27 |
执行人 | 伊宇杰 |
测试结论 | 购买成功 |
Bug编号 | |
备注 | 此用例测试通过了商品购买的基本功能 |
图6.16书籍购买页面图
总 结
本文主要围绕一款基于Web的二手图书商城系统的设计,系统采用常规的B/S框架进行设计,在后台编程语言方面,本文采用了Java开发语言,在数据库存储端,本文采用流行的MYSQL数据库,总体而言,本文提供的系统包含如下所示的几个方面的功能:
1、用户登录。用户登录部分允许用户使用账号密码进行登录,当输入错误的账号密码时,系统要给出相应的提示,输入正确的密码时,系统应弹出用户登录后的界面。
2、用户管理。系统应设计相应的管理员账号,管理员在登录系统后,可以对普通用户的基本信息进行管理。
3、商品浏览。对于用户自己喜欢的商品,用户可以点击按钮进行翻页浏览。
4、商品下单。用户可以选择自己喜欢的图书商品进行下单。
5、用户留言。系统设计留言板块来给用户进行留言,其他用户可以看到用户的留言信息。
针对上述的几个功能模块,本文对涉及到的数据库模块与系统功能模块进行了详细的需求分析与实验测试,在需求分析部分,本文给出了系统的组织架构,而在实验测试部分,本文针对系统的用户登录、用户管理、商品浏览、商品下单以及用户留言的功能进行了测试,测试结果表明,本文系统可以正常实现上述的几个功能,可以作为网上二手图书买卖的商城系统。
参考文献
[1]王宏.基于最小业务单元的Web系统性能测试调优[J].信息技术与信息化,2020(01):25-27.
[2]潘志岗.互联网企业Web系统易忽视漏洞分析[J].信息安全研究,2020,6(02):181-187.
[3]计大威.基于WEB系统与J2EE开发技术的财务凭证管理系统设计与实现[J].自动化技术与应用,2019,38(12):160-163.
[4]韩兵,张转霞,方英兰.面向Web系统热点数据预测及缓存管理的研究[J].信息技术与信息化,2019(12):187-190.
[5]李娟.基于LoadRunner的Web系统性能测试的研究和应用[J].信息技术与信息化,2019(12):226-228.
[6]张伟.基于Web系统的UFT自动化测试框架研究与应用[J].科技创新与应用,2019(33):159-160.
[7]巨腾飞,田国敏,杨京.基于Web系统的跨站脚本攻击漏洞解析[J].网络安全技术与应用,2019(11):27-28.
[8]匡湖.浅谈基于软件工程的Web开发技术[J].计算机产品与流通,2019(11):14.
[9]文松,王敏,程虹.基于James的安全电子邮件系统设计与实现[J].现代计算机,2019(29):92-95.
[10]李奕彤,聂帅,张永伟,汤杰.基于国产化环境的信息系统自动化运维技术[J].指挥信息系统与技术,2019,10(04):91-95.
[11]陈国才.基于超星泛雅平台的信息化教学研究——以“Web系统设计”课程为例[J].无线互联科技,2019,16(17):84-85.
[12]朱来雪.基于Nginx技术的Web系统安全部署方案[J].信息与电脑(理论版),2019,31(17):172-173+176.
[13]黄宬. 移动环境下高性能WEB系统关键技术研究[D].北京交通大学,2019.
[14]谢建华,郑剑,梁杰华.校园贫困生申请及管理系统的设计与实现[J].电脑知识与技术,2019,15(24):88-90+94.
[15]刘同斌,陈韬,武燕如.WEB语音告警软件的设计与实现[J].机电信息,2019(24):143-144.
[16]Hannah Quirt. Evaluation of the Adoption and the Validity and Reliability of the Dementia Observation System (DObs) Web Application in Long-Term Care[J]. Journal of the American Medical Directors Association,2020,21(3).
[17]Julien J Malard,Jan Franklin Adamowski,Marcela Rojas Díaz,Jessica Bou Nassar,Nallusamy Anandaraja,Héctor Tuy,Luís Andrés Arévalo-Rodriguez,Hugo Ramiro Melgar-Quiñonez. Agroecological food web modelling to evaluate and design organic and conventional agricultural systems[J]. Ecological Modelling,2020,421.
[18]Wei Zheng,Yuxing Wang,Ming Zhang,Feiyang Wu,Zhou Yang. A full stack data acquisition, archive and access solution for J-TEXT based on web technologies[J]. Fusion Engineering and Design,2020,155.
致 谢
时光荏苒,岁月如梭,我的学生生涯即将结束。在这漫长而又短暂的学生生涯中,我遇到了很多可爱的人与事。这些在我学生生涯中遇到的人与事都给予了我很多知识,这些知识将成为我生命中不可缺少的回忆,激励我的成长。在这即将毕业,即将走出校园的一刻,请允许我对所有帮助过我的人道一声谢,是你们给予了我美好的学生生涯,助我在人生的道路上进一步成长。
我的学生设计在指导老师的帮助下得以完成,我的指导老师是一位十分负责任的老师,在我收到毕业课题时,主动地找我约谈,为我分析课题需求,并给出了清晰的设计方案,正是在她的帮助下,我从对课题完全不懂的状态,过度到了能够分析问题,乃至解决问题的状态,没有她,我的毕设课题将存在无法解决的问题,最终导致毕业遥遥无期。
除了指导老师,我还要对我的室友进行感谢,是你们为我提供了一个良好的学习氛围,我才能得以全身心地投入到毕设内容的编写与设计过程中。在我遇到问题不知该如何下手时,你们不辞辛劳地为我提供解决方案,为我集思广益,正是在你们的帮助下,我的毕设课题得以圆满。
最后我还要感谢一下我的父母,是你们无私的奉献才让我得以继续的我学生生涯,在我生活中遇到各种问题时,总是看到你们在我的身后,为我默默地付出,是你们的无私奉献,才有我今天的成就,真的很感谢你们。
漫长的学生生涯终于结束了,在这最后的毕设过程中,我为自己的学生生涯画上了圆满的句号,从对课题的完全陌生,到能够得心应手地解决各类问题,我的个人素质以及思想状态得到了显著的提升,还记得第一次遇到代码BUG时自己的手足无措,直到翻遍各种资料才解决这个问题,能够清晰地感觉到自己的进步。学生生涯带给我的各种成长,都将助我在将来的工作道路上走的更远,这段学生生涯的记忆也将永远埋藏在我的心底,成为我永远无法忘记的烙印。
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/131967.html,