网上二手图书商城的设计与实现Word下载.docx
- 文档编号:22159524
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:29
- 大小:211.69KB
网上二手图书商城的设计与实现Word下载.docx
《网上二手图书商城的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《网上二手图书商城的设计与实现Word下载.docx(29页珍藏版)》请在冰豆网上搜索。
而在日本、欧洲等地,二手书的交易流通已经形成了较为成熟的模式。
以日本最大的中古连锁店BOOKOFF为例,人们在这里像逛超市一样轻松地逛循环商店,里面的书籍也很新。
近年来,闲鱼等综合二手平台出现,让服饰、手机、书籍等有了交易转让的渠道。
在此基础上,又出现了专业性的二手书交易平台,如“转转有书”业务、多抓鱼、渔书等。
“跟在孔夫子、闲鱼上自己卖书相比,专门的网上二手书交易平台省下了自己拍照、写描述、跟买家砍价的流程。
二手交易能够流通,买卖双方都能共赢。
很多人对二手书的印象,是那种脏脏旧旧的二手书市,但在网上卖出去的全新书其实非常多。
而随着国民经济的发展和对文化的高度重视,二手图书交易将会持续增长。
随着互联网的逐渐覆盖,人们对基于互联网的应用已经养成了一种依赖,无论是工作还是生活中,互联网技术都成为了必不可少的工具之一。
Web技术一般采用B/S框架,用户通过浏览器来获取自己所需要的信息,一般而言,用户只需要输入目标服务器的域名以及请求参数,浏览器就会自动将相应的请求发送给服务器,并在获取到服务器的应答后,将用户所需的信息显示到浏览器上。
这种便捷的信息获取方式是在上世纪80年代左右,由美国的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系统功能框图
系统平台提供的功能如下:
对于用户喜欢的的商品,用户可以点击按钮进行翻页浏览。
用户可以选择自己喜欢的书籍进行下单。
第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、SQLSERVER等其他常见的数据库管理系统,具有开源、可定制、轻量级的特性,可以满足大型的企业级应用,并且最大程度地降低企业的成本。
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程序的编译、运行,并且能够提供JAVAWeb来支持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.3管理员实体属性图
图4.4会员实体属性关系图
图4.5订单实体属性图
图4-6留言实体属性图
下图为系统的数据库实体关系图
图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语句insertintousersvalue(@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()会员登录方法。
UserBusiness类是会员业务逻辑类。
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语句,在I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 二手 图书 商城 设计 实现