1 绪论
1.1 管理信息系统概述
管理信息系统是计算机在信息管理领域的一种实用技术。通过运用管理科学、数学和计算机应用的原理及方法,在符合软件工程规范的原则下,形成一套完整的理论和方法体系。是一个以人、计算机和其他外部设备组成的可以进行信息的收集、传递、存储、加工、维护和更新的系统。
购物商城管理系统是线上购物信息管理中的重要组成部分。购物商城管理系统是由计算机、应用程序和其他高科技物流部件组成,通过计算机网络将供应链上下游连接的动态互动系统。购物商城管理系统是商城购物信息化的核心,它具有很强的综合性,可以为用户提供商城的商品信息,用户可以根据自己的需求进行购买商品。它主要包括主页、个人中心、用户管理、商品分类管理、商品品牌管理、商品信息管理、系统管理、订单管理等功能。可使用户方便购物,对商家产生的更多的效率。
1.2 本课题研究现状
现今,越来越多的人乐于选择一项合适的管理方案,但是普通用户往往受到管理经验地限制,这时网上购物商城管理系统的崛起,大量网上购物商城管理系统制度进入人们生活,而网上购物商城管理系统制无疑是网上购物商城的最好制度,在这样成功的管理模式背景下,网上购物信息越来越多。但是随着网上购物信息的增多,网上购物商城的管理成为了一个难题。高效便捷地管理网上购物信息成为了转变管理模式,与时代兼容的当务之急。
网上购物商城管理系统,为用户随时随地查看网上购物商城信息提供了便捷的方法,更重要的是大大的简化了管理员管理网上购物信息的方式方法,更提供了其他想要了解网上购物商城管理信息及运作情况以及挑选方便快捷的可靠渠道。相比于传统购物管理方法,这样的电子信息管理更为简洁方便,在系统维护信息反馈和处理购物信息意见方面也有得天独厚的优势。
网上购物商城管理系统能做到的不仅是大大简化管理员的信息管理工作,更能在数字化的平面网络上将网上购物商城管理系统最好的一面展示给客户和潜在客户,而这个系统在带给全新用户信息管理统计和分类的同时,还成为日后制定管理思路的重要数据参考。过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。这个系统成为系统管理者最不可或缺的内容。尽管目前大部分已经将购物商城管理系统投入使用,但是人们对于系统要求也变得越来越高,大部分系统已经能完美处理各类信息,但是为了更好地契合购物商城系统管理思路,不同系统有不同的要求,个性化也是管理系统十分重要的一点,所以都希望自己能有一个个性化定制的管理系统,但这又涉及到成本控制问题,目前定制一个系统价值不菲,但是如果有这样一个可以根据需求自己制定页面和内容的管理系统就可以大大缩减开支,但是凭借目前自身技术恐怕难以实现,不过让系统可二次设计却是有可能实现的。随着网上购物商城管理系统规模的不断扩大,用户信息共享也成一种趋势。网上购物商城管理系统的发展也证明了系统管理在不断发展进步,各种理念也越来越先进,对各方面的要求也变得越来越高,网上购物商城管理系统完全可以在进入页面时发布各类信息进行推荐交流。
1.3 课题背景及开展研究目的与意义
1.3.1 课题背景
随着科学技术发展,电脑已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公生活效率,网络信息技术飞速发展。在这样的背景下人类社会进入了全新的信息化的时代。网上购物商城管理一直是信息管理的一大难题,网上购物商城流动性大,数量多,此时寻找有效便捷的网上购物商城管理方法就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的唯一之选。如今计算机信息管理技术来处理网上购物商城管理早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。
使用网上购物商城管理系统相对传统管理方式具备很多优点:首先可以大幅提高网上购物商城信息检索,只需输入网上购物商城相关信息就能在数秒内反馈想要的结果;其次可存储大量的网上购物商城信息,同时网上购物商城安全性有更高的保障;相比纸质文件来管理网上购物商城,网上购物商城管理系统更节省空间人力资源。这些优点很大程度提高了运营效率并节约了运营成本。因此,网上购物商城管理系统对网上购物非常必要进行有效管理,不仅提高了网上购物商城管理效率,增加了用户信息安全性,方便网上购物商城信息及时反馈给管理员,增加了与管理员之间的互动交流,更能提高网上购物商城的体验强度。
系统为了数据库结构的灵活性选择MySQL来设计,而ssm框架技术,B/S架构则保证了较高的平台适应性。本文主要介绍了系统开发背景,需要完成的功能与开发过程,说明系统设计重点与设计思想。
1.3.2课题研究的目的和意义
人们现在的生活方式因为网络的普及发生了巨大变化,由于网络管理在人们的视野中出现,人们对网络管理额外的关注。人们只要在有网络的地方足不出户查看到世界各地的各类。目前的挑战是前台界面的设计,要把顾客的眼球吸引住,选则比较人性化的界面设计,要更直观的表现,让用户能更多的了解网上购物商城管理系统的作用和功效。
本系统的主要意义在于,全力以赴为用户提供一个操作方便,界面简洁,信息直观的网上购物商管理系统。使用该系统的用户,可以先浏览到最新上架的商品信息,并可以注册成为本网站的用户。
1.4 初步设计方法与实施方案
软件体系结构方案:由于本系统需要在不同设备上都能运行,而且电脑配置要求也要越低越好,为了实现这一要求,经过考虑B/S结构成为最佳之选。使用B/S结构的系统可以几乎在任何电脑上运行,只要浏览器可以正常工作就可以正常运行该系统,而且后期维护及二次修改较为容易,符合要求。
操作系统方案:Windows10操作系统,该系统是目前微软公司推出的最新系统,目前大多数市面上的电脑都使用该系统,并且该系统功能完善,兼容性好。开发工具:选用My Eclipse。java开发技术。
1.5 论文结构
(1)绪论
主要对系统的概述,开发背景,意义和系统状况等进行描述,详细讲述了系统的用处。
(2)系统开发技术的介绍
分别对开发平台,java技术、MySQL和B/S等进行详细介绍。
(3)系统分析
本章主要是对系统可行性、系统性能、还有系统功能需求等进行分析。
(4)系统设计
对系统系统功能和数据库等进行详细讲解。
主要对主页、个人中心、用户管理、商品分类管理、商品品牌管理、商品信息管理、系统管理、订单管理的实现。
(6)系统的测试
在系统编码实现后,就需要对系统进行检测,检测的方法有黑盒测试和白盒测试两种方式,本网站采用的是黑白盒测试方法对不同组的数据进行功能模块测试。
(7) 系统维护
在论文中讲述了系统维护的重要性及维护方法;
(8) 总结与展望
在论文最后结束章节总结了开发这个系统和撰写论文时候自己的总结与展望、感想,包括致谢等。
2 系统开发技术与环境介绍
此次管理系统的关键技术和架构由B/S结构、java和mysql数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。
2.1 系统开发平台
在该网上购物商城管理系统中,Eclipse能给用户提供更多的方便,其特点一是方便学习,方便快捷;二是有非常大的信息储存量,主要功能是用在对数据库中查询和编程。其功能有比较灵活的数据应用,只需利用小部分代码就能实现非常强大的功能。因此,利用Eclipse 技术进行系统代码管理是该系统数据库的首选。
2.2 平台开发相关技术
2.2.1 Java语言简介
Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的优势和广阔的前景,它是面向对象的,分布式的,动态的,具有平台无关性、安全性、健壮性。Java语言的基本语句语法和C++一样,但是它面向对象的技术更加彻底,因为Java要求将所有的内容都必须封装成类,把类作为程序的基本单位。由于不允许类外有变量、方法。 Java语言的分布式体现在数据分布和操作分布,它是面向网络的语言,可以处理TCP/IP协议,它也支持客户机/服务器的计算模式。Java语言的动态性是指类在运行时是动态安装的,使得Java可以动态的维护程序。Java不支持指针,对内存访问的所有操作都是通过对象实例化实现的,这样就避免了指针操作中易产生的错误,同时也预防了病毒对系统的破坏和威胁。
Java语言的编程风格与C语言非常接近,它继承了C++面向对象技术的核心,它面世之后发展迅速,非常流行,对高级C语言形成了很大的冲击。业内人士称之为“一次编译、到处执行”。当然java也有缺点,在每次执行编译后,字节码都需要消耗一定的时间,在某些程度上降低了性能。但是这并不影响java成为此次设计语言的选择。Java语言简单易学,使用它的编程时间短,功能性强,开发者学习起来更简便、更快。Java的主要特性有以下几个:
1.面向对象
面向对象有四个特点:封装、继承、多态、抽象。抽象是指忽略一个问题中的次要部分,关注主要部分。多态是指对同一种消息做出的不同反应。继承是指在原有的父类方法基础上增加自己独有的方法,而不改变原来父类。
2.平台无关性、
Java编译出来的是字节码,直接由虚拟机执行。在任何平台上,只要有Java虚拟机,Java代码都能运行。
3.可靠性和安全性
Java对内存的访问都必须通过对象的实例变量来实现,避免了指针中出现的错误。
4. 多线程
Java提供了多线程功能,利用编程实现同一时间同时工作的功能。
2.2.2 JSP技术的简介
本系统在后台管理网页效果中主要采用的是JSP技术现在越来越多的软件公司都使用JSP技术来开发web端的应用。因为就目前的市场上网页制作模块来说哦,JSP技术包含的内容是相对而言比较丰富全面的,而且JSP技术已经成为现在市场上最为常见的网页开发技术。JSP中文全称是java服务器端语言。我们都知道JSP是一种动态网页开发技术,它的开发是跨平台的,JSP可以在windows操作系统上运行也可以在Linux系统上运行。JSP是一个较为简化的网页技术,它联合众公司发起建立的技术标准,是一种动态网页技术。在JSP中可以插入html网页,CSS,Javascript等制作动态网页,样式方面较为多样化。
JSP技术有很多优点,它可以嵌入很多别的样式操作方便快捷,Html,CSS,javascript,Struts,Spring等,丰富了功能结构。JSP标签的可扩充性比较强,它与XML的兼容性也较强,减轻许多程序开发人员的工作负担。JSP编写的代码和它的组件都可跨平台。JSP还支持多种网页格式,可移植性和健壮性,易用性都比较强。而且对于他的编写环境压实比较多的,开发平台也比较不受限制但是JSP技术提高了代码的复杂性,增加了部署和调试的困难性。这对于我们开发一个功能强大的web应用网站起着很好的支撑作用。
2.2.3 Ssm框架
开发信息管理系统的主流框架是SSM(Spring + Spring MVC + MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框架;对于相关SQL操作,采用Mybatis作为持久层框架,对JDBC进行封装,使得数据库的底层面向开发者操作处于一种透明状态。
2.3 B/S架构
当向其他用户发送请求的功能时应用B/S模式具有独一无二的优点:用户请求通过网络向其他Web服务器发送时只需要通过浏览器就可以实现该功能。该功能的好处之一就是有效简化了客户端,大部分开发的软件只需要用浏览器即可,客户端的正常运行则通过这些浏览器来实现,而服务器则负责执行数据的存储和读取等其他的多功能工作。
B / S架构,主要有表示逻辑层,控制逻辑层,数据层这三层。表示逻辑层:服务请求这一功能主要是逻辑层的,Web服务器准备好后,服务请求最先被发送。等到最先发送的请求被服务器接收到后,然后将接受到的请求信息在web服务器上进行识别,识别这一操作是由服务器执行操作的,只要经过服务器的识别请求操作之后再将接收到的信息返回给客户端,浏览器就能收到的请求的信息。控制逻辑层:用户的请求是由将控制逻辑层接收,相应程序和数据库连接是接收用户数据的请求的首要条件,然后处理请求信息数据,请求数据经过处理后返回给Web服务器的就是最终处理完成的结果,最后返回给客户端的最终结果再次通过Web服务器。数据层:服务器从Web服务器接收请求是数据层主要任务,但还包括执行数据库查询、修改、删除操作,最后数据库操作结果将返回网络服务器。表示逻辑层,控制逻辑层和数据层三层之间的关系具有独立性,但三层之间又具有藕断丝连的相互关联的特性。
图2-1 B/S结构图
2.4 MyEclipse环境配置
安装完MyEclipse后选择myeclipse“Window->Preferences”
(1)配置myeclipse的jre为sun的jdk,不要用myeclipse的默认jdk:
选择“java->Installed JREs”,勾中里面的“jdk1.7”.
(2)配置编译的级别为6.0:
选择“Compiler->Compiler compliance level”的值为“6.0”。
(3)配置myeclipse的默认的文件编码格式为“UTF-8”:
选择“General->Workspace”,选中“Text file encod”下面的“Other”,设置里面的值为“UTF-8”。
(4)去掉myeclipse的JSP的验证:
选择“MyEclipse->Validation”,将“Build”列的所有勾都给去掉,这样在编译时因为避免了jsp的验证,所以编译的速度会快很多.
2.5 MySQL数据库技术
数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。简单来讲,存储粮食的仓库叫粮仓存储数据的仓库就叫数据库。数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。作为最成功的典型层次模型数据库系统,IMS是最早研制成功的数据库系统。1970年由埃德加·科德于首先提出的关系模型融合了“科德十二定律”。现如今即使很多人仍旧不看好这个模型,但它依旧是数据存储的传统标准。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。
大家常用的其他关系形数据库系统大多是MySQL AB公司开发的,其中MySQL也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数针对不同的语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。
选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。
图2-2 数据库管理系统和接口的原理
3 系统需求分析
本章节主要是对系统设计目标,系统功能需求,系统性能需求,开发环境等方面对系统进行了详细的论述分析。
3.1 系统设计的目标
本系统主要是针对线下管理方式中管理不便与效率低的缺点,将电子商务和计算机技术结合起来,开发出管理便捷,效率高的网上购物商城管理系统。该系统操作简单方便,界面友好,容易管理和维护;而且对网上购物商城和管理具有较强的针对性,实用性和可操作性,可初步解决线下管理因各种因素限制,高成本等因素造成的一系列不便。
3.2 系统可行性分析
一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本系统来补充线下网上购物商城管理模式中的缺限,去解决其中的不足等,通过对本系统,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该系统能实现更大的意义和价值, 系统完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该网上购物商城管理系统的开发设计中,下面我们将从经济、技术、操作、运行、时间等方面来选择这个系统最终是否开发。
3.2.1 经济可行性
由于本系统是作为毕业设计系统,且系统本身存在一些技术层面的缺陷,并不能直接用于商业用途,只想要通过该系统的开发提高自身学术水平,不需要特定服务器等额外花费。所有创造及工作过程仅需在个人电脑上就能实现,使用到的软件大多为开源软件,所以经济成本并不高,可以轻易实现。
3.2.2 技术可行性
本系统开发选择java技术,java是一个完全面向对象的语言,java为开发者提供了丰富的类库,大大减少了使用windows编程的难度,减少开发人员在设计算法上的难度,作为java开发 Visual Studio更是一个必不可少的角色,它友好的界面,以及强大的功能,给程序开发人员带来了很多方便,加上环境简单,转移方便,无疑使此系统最佳的选择。所以后台设计选择使用 MySQL数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。
依据上述目标来分析本系统的硬件如下:
奔腾3的处理器;
内存是 2G;
硬盘是50G;
操作系统是Window 10;
在软件方面的话,安装了Visul Studio 0 和 MySQL数据库开发工具。根据以上的软件与硬件要求,得到这个系统的技术是可行的。
3.2.3操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
3.2.4 运行可行性
本系统作为以java作为开发语言的系统,而且选用B/S结构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。
经过总结,本系统在经济方面、技术方面、运行方面的条件都得以满足,为此系统的开发具备了可行性条件。
3.2.5 时间可行性
从时间上看,在大四的最后一个学期,在实习工作与完成毕设两件大事相交叉的时间里,结合之前学习的相关知识,并开发系统,时间上是有点紧,但是也不是完全没可能实现,通过这段时间的努力功能基本实现。
3.3 系统现状分析
系统使用用户的数量直接决定了用户信息管理者的工作量,毫无疑问,网站管理者的工作量较大较繁琐。通过总结出系统当前对用户管理的工作状态得以下分析:
统筹规划,如果系统在信息化管理中不够全面,缺少综合性、系统性、整体性,那不可避免的需要投入大量人力物力来规划整理信息。引入信息化管理方式无疑可以达到节省信息管理成本的目的不仅减少资源浪费还可以使网上购物商城信息变得井井有条,成为市场竞争中的一大优势。
要循序渐进,做事不能心急,一步一个脚印,都不可能一步到位,就算信息管理系统也一样,要让系统发挥最大效率还是应该多调研,多听取用户和管理者的意见,并进行必要的统筹规划,有组织有目的地设计系统功能,团结各个部门发挥主观能动性。
(3)信息安全措施不到位
隐私权神圣不可侵犯,这是中华人民共和国宪法赋予我们的权利,人和人都不能侵犯我们的正当权益,而网络用户信息管理存在极大安全隐患,信息泄露的案列不在少数,加强信息安全措施是完善网络信息管理过程中不可避免的一环。
(4)资源不能充分共享
资源共享是网络的一大特点,没有共享就没有社交,网络也就失去了他应有的魅力,如果能够实现用户信息共享,无疑对于用户的发展存在不可或缺的帮助。
(5)现有系统可扩展性不高。
如今科学技术发展飞速,随着而来的就是技术更新,那势必会给软件更新带来挑战,因此,系统必须具备良好的开放性和可扩充性,为了不落后于时代,这是必备特色之一。
基于上述分析,网上购物商城管理系统应该切合实际,做到确实有效,集体表现为:一是系统能够整理并集合归类用户信息,防止用户信息混乱,难以整理;二是系统要安全稳定,不能泄露用户信息,造成隐私泄露,不仅伤害用户利益更是对经营者名誉的损毁;三是系统要具有良好的开放性,不仅要方便定期的维护维修,更要方便及时增加新功能,保证先进的时代契合性。经过详细的讨论论证,确定系统的总体要求。
3.4 性能需求分析
对系统的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析;
1. 系统的功能是否完整进行分析:系统的功能,能对应设计出原始代码和算法,以表格同文字的形式进行详细介绍个人信息保证功能完整;
2. 系统的运行是否通畅进行分析:系统的每个功能都有编写数据的关系和应对的代码,通过需求分析和可行性分析进行分析和显示系统的物理数据,保证其进行通畅;
3. 系统的界面设计进行分析:对系统中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。
4. 系统的安全性进行分析:这样才可以每个角色的不同对应的信息也就不同,在登录系统务必使用自己的账号,密码登录,账号与密码错误自然就登录失败了。登录成功可以对自己的信息进行操作,不能对别人的账号的信息进行查看等操作,这样自然保证系统的安全性。
3.5系统功能的分析
整个网上购物商城管理系统为了便于用户购买与管理员管理,采用了以下几大功能管理模块,包括管理员与用户的设计:
用户模块:该模块包含了几个子模块包括
用户登录:用户登录功能是用来识别已在本网站注册过的用户,能根据用户的信息方便的为用户提供服务。最重要的是,系统需要登记用户所购买的商品的信息等等一些的情况,最后为用户生成购物订单。
用户注册账号:填写相关用户信息的资料,用于用户登录本网站,进行用商品的购买。包括用户的用户名、密码、确认密码、姓名、手机等等信息,可让用户先登录本系统,然后修改自己的信息,用户只有通过注册成为本网站的用户,才能在本网站页面购物商品,否则只能浏览网页上的商品而不能进行购买。
用户资料修改:该模块功能主要是针对用户注册资料的修改,比如用户登录到本系统中,想修改自己的密码、电话号码和家庭住址等信息可以通过用户资料修改页来实现用户资料修改。
浏览商品模块:该模块可让打开本网站的用户看到网站上出售的商品,不管是登录的用户还是未登录的用户都可以查看本网站上的商品。
购买商品模块:此模块功能只提供在本网站已注册的用户,先要登录本网站系统,然后在浏览页选择想购买的商品,可添加删除购物车的物品,然后选择收银台结账功能,可选择修改用户所需的信息,通过此流程可向商城下订单。
商品管理模块:管理员可以管理所有的商品,不同的商品可以分类到不同的列表,这样用户就可以快速找到想要的商品,其中可添加商品信息,可修改和删除上传的记录。
用户管理模块:管理员可查询、验证在本网站注册的用户信息,同时有权限可以修改用户的信息,管理员也可以删除任何一个用户的账号。
订单管理模块:此模块可看到用户在网站买下的商品和一些关于订单的信息,还可查看是否执行些订单。
3.6系统的设计思路
关于网上购物商城管理系统,我找到许多的电子商城设计的书籍,对java进行了更进一步的了解,在整体设计方面选择了比较清新的颜色,网站网页的颜色不要过于花哨,要能使整个页面看起来很统一,所以选择了比较简洁大方的设计。数据库采用的是mysql数据库,本网站对用户进行了权限的设计,为了数据库的安全普通的用户只拥有浏览商品页面的功能,而且购买商品的话,就需要先到用户注册页面去注册一个属于自己的账号,然后通过登录然后才能进行购买。最后,在主要功能模块都能实现之后,再对整个网站进行反复的测试与修改,这样就能达到自己理想的效果。
3.7系统设计规则与运行环境
软件系统的优劣很大程度上是由系统设计的完善与否决定的。世间万物都必须遵循生老病死的法则,这是大自然的规则不能违反,软件设计也一样需要遵循系统设计规则。因此,在设计过程中必须遵循系统设计规则。
规则如下:
简单性:为了扩大系统使用者的受众面,系统设计应该本着操作越简单约好的原则,这样不仅能提高系统的使用率更能够扩大系统使用面。。
针对性:一个系统针对性越强,所能提供的功能必然越完善,用户体验肯定更好,所以应该明确指定系统针对性。
实用性:实用永远是检验一个系统是否成功的唯一标准,使用的语言再高端,使用的结构再新颖但不能满足管理员和用户的要求那就是失败。
运行环境:
本系统是利用B/S结构来开发的,数据库在服务器上进行部署 MySQL即可,其他包括My Eclipse等常规开发程序。
3.8系统流程分析
下图是用户进入这个网上购物商城管理系统后,基本的操作流程。一进入首页便可以进行各种网上购物商城信息的浏览,用户可以根据自身的需求来购买商品,但前提是必须是登录的用户,不然系统会提示需重新登录才可操作。用户也可通过商品资讯的消息,了解实时的情况,这样有助于结合自身,更好的适应系统的购物需求,最后用户可以根据自己获得信息的满意程度来进行操作。
3.8.1操作流程
图3-3登录流程图
3.8.2用户管理的流程
用户管理流程图,如图所示:
图3-4用户管理流程
3.8.3个人中心管理流程
个人中心流程图,如图所示:
图3-5 个人中心管理流程
3.8.4添加信息流程
添加信息流程图,如图所示:
图3-6添加信息流程图
3.8.5删除信息流程
删除信息流程图,如图所示:
图3-7删除信息流程图
4 系统整体设计
4.1系统设计思想
系统确定了各项需求,完成了系统的分析和数据库的设计,它就可以根据网站的特点决定网站的发展模式,才能实现代码。通过对网站的分析,这个网站是属于一个小项目,所完成的功能相对简单,就是对数据的基本操作。从而决定采用B/S开发模式。该模型的基本过程是:当用户访问网站的浏览器,或从用户向服务器发送请求时,通过接收请求,然后调用数据访问逻辑运算如比,将结果返回给将结果返回到用户通过浏览器。
使用开发的模型时,我们要把一些常用的,可以重复使用了java技术。当用户浏览网页,很多网页上的信息是从数据库动态删除,这就要求网页必须有数据库操作的能力,如连接数据库和数据表,更新。一个网站包含多个相同的网页,实现数据库操作功能的、代码就需要在不一样的网页中重复的被使用,这样不仅降低了工作的效率,一般也会给维护带来较大的麻烦。为了弥补这一缺陷,功能代码应该在java中完整的数据库操作,可以使用在每一个页面上。
4.2系统功能结构
该部分内容提供用户注册、用户资料修改、商品信息、商品资讯、个人中心、购物车、在线客服等等,用户能够进行消费者信息的注册、消费者信息的修改和提交订单功能。
该部分内容包含了主页、个人中心、用户管理、商品分类管理、商品品牌管理、商品信息管理、系统管理、订单管理等。管理员可对所有的产品信息进行增、删、改、查,能对用户信息和订单进行管理,更新最近的商品信息。
系统对这些功能进行整合,产生的功能结构图如下:
图4-1系统功能结构图
4.3 数据库设计与实现
在每一个系统中数据库有着非常重要的作用,数据库的设计得好将会增加系统的效率以及系统各逻辑功能的实现。所以数据库的设计我们要从系统的实际需要出发,才能使其更为完美的符合系统功能的实现。
4.3.1 数据库设计规范
数据可设计要遵循职责分离原则,即在设计时应该要考虑系统独立性,即每个系统之间互不干预不能混乱数据表和系统关系。
数据库命名也要遵循一定规范,否则容易混淆,数据库字段名要尽量做到与表名类似,多使用小写英文字母和下划线来命名并尽量使用简单单词。
4.3.2 数据库概念结构设计
数据库的E-R图反映了实体、实体的属性和实体之间的联系。下面是各个实体以及实体的属性。
1. 商品信息实体
商品信息实体包括商品名称、价格、图片、单次购买、商品分类、品牌、规格、点击次数、商品详情等属性。商品信息实体图如图4-2所示:
图4-2商品信息实体图
2. 购物车实体
购物车实体包括购买商品、图片、价格、数量、总价等属性;购物车实体图如图4-3所示:
3. 用户信息实体
用户信息实体包括用户名、密码、姓名、上传图片、性别、手机、余额等属性。用户信息实体图如图4-4所示:
4.3.3 数据表
数据库概念结构设计后,可以数据库概念转化实际的数据模型,这是一种数据库的逻辑结构,就是将概念结构与支持数据库管理系统的模型相符合。系统中使用到的主要数据表的具体展示部分如下所示。
表4-1:商品分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinfenlei | varchar | 200 | 商品分类 |
表4-2:订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
orderid | varchar | 200 | 订单编号 | ||
tablename | varchar | 200 | 商品表名 | shangpinxinxi | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | varchar | 200 | 商品图片 | ||
buynumber | int | 购买数量 | |||
price | float | 价格/积分 | 0 | ||
discountprice | float | 折扣价格 | 0 | ||
total | float | 总价格/总积分 | 0 | ||
discounttotal | float | 折扣总价格 | 0 | ||
type | int | 支付类型 | 1 | ||
status | varchar | 200 | 状态 | ||
address | varchar | 200 | 地址 | ||
tel | varchar | 200 | 电话 | ||
consignee | varchar | 200 | 收货人 | ||
logistics | longtext | 4294967295 | 物流 |
表4-3:商品资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | varchar | 200 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-4:商品信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-5:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-6:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuming | varchar | 200 | 用户名 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
touxiang | varchar | 200 | 头像 | ||
xingbie | varchar | 200 | 性别 | ||
shouji | varchar | 200 | 手机 | ||
money | float | 余额 | 0 |
表4-7:在线客服
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
adminid | bigint | 管理员id | |||
ask | longtext | 4294967295 | 提问 | ||
reply | longtext | 4294967295 | 回复 | ||
isreply | int | 是否回复 |
表4-8:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-9:购物车表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tablename | varchar | 200 | 商品表名 | shangpinxinxi | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | varchar | 200 | 图片 | ||
buynumber | int | 购买数量 | |||
price | float | 单价 | |||
discountprice | float | 会员价 |
表4-10:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-11:地址
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
address | varchar | 200 | 地址 | ||
name | varchar | 200 | 收货人 | ||
phone | varchar | 200 | 电话 | ||
isdefault | varchar | 200 | 是否默认地址[是/否] |
表4-12:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 收藏id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 收藏名称 | ||
picture | varchar | 200 | 收藏图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩) | 1 | |
inteltype | varchar | 200 | 推荐类型 |
表4-13:商品信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
shangpinfenlei | varchar | 200 | 商品分类 | ||
tupian | varchar | 200 | 图片 | ||
pinpai | varchar | 200 | 品牌 | ||
guige | varchar | 200 | 规格 | ||
shangpinxiangqing | longtext | 4294967295 | 商品详情 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 | ||
price | float | 价格 | |||
onelimittimes | int | 单限 | -1 | ||
alllimittimes | int | 库存 | -1 |
表4-14:商品品牌
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
pinpai | varchar | 200 | 品牌 |
5 系统实现
5.1系统首页的设计
该界面是网上购物商城系统的首页,界面设置要求界面简洁明了、操作简单、兼容性好。在考虑设计界面时,首先要考虑界面标准化设计,其次是完善界面设计,但不要因对界面的美化使界面的操作变得复杂,用户可在此页面进行登录等操作,页面顶部导航条是各模块的入口。
系统首页页面主要包括首页、商品信息、商品资讯、个人中心、购物车、在线客服等内容,并根据需要进行详细操作;如图5-1所示:
图5-1系统首页界面图
其页面代码如下:
methods: {
jump(url) {
if (this.queryIndex == 0) {
localStorage.setItem('indexQueryCondition', document.getElementById("dianyingxinxidianyingmingcheng").value);
}
jump(url)
},
queryChange(event) {
this.queryIndex = event.target.value;
if (this.queryIndex == 0) {
this.dianyingxinxidianyingmingcheng = this.queryList[event.target.value].queryName;
}
}
}
});
layui.use(['layer', 'form', 'element', 'carousel', 'http', 'jquery'], function() {
var layer = layui.layer;
var element = layui.element;
var form = layui.form;
var carousel = layui.carousel;
var http = layui.http;
var jquery = layui.jquery;
vue.baseurl=http.baseurl;
// 获取轮播图 数据
http.request('config/list', 'get', {
page: 1,
limit: 5
}, function(res) {
if (res.data.list.length > 0) {
let swiperList = [];
res.data.list.forEach(element => {
if (element.value != null) {
swiperList.push({
img: http.baseurl + element.value
});
}
});
vue.swiperList = swiperList;
vue.$nextTick(() => {
carousel.render({
elem: '#test1',
width: '89.6%',
height: '500px',
arrow: 'hover',
anim: 'default',
autoplay: 'true',
interval: '3000',
indicator: 'inside'
});
})
// vue.$nextTick(()=>{
// window.xznSlide();
// });
}
});
http.request('news/list', 'get', {
page: 1,
order: 'desc'
}, function(res) {
var newsList = res.data.list;
for(var i = 0; i<newsList.length; i++) {
let d = newsList[i].addtime.split(' ')
d = d[0].split('-')
newsList[i].year = d[0]
newsList[i].month = d[1] + '-' + d[2]
}
vue.newsList = newsList;
if (newsList.length > 0 && newsList.length <= 2) {
vue.leftNewsList = res.data.list
} else {
var leftNewsList = []
for (let i = 0; i <= 2; i++) {
leftNewsList.push(newsList[i]);
}
vue.leftNewsList = leftNewsList
}
if (newsList.length > 2 && newsList.length <= 8) {
var rightNewsList = []
for (let i = 3; i <= newsList.length; i++) {
rightNewsList.push(newsList[i]);
}
vue.rightNewsList = rightNewsList
}
let flag = 10;
let options = {"navigation":{"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},"slidesPerView":5,"loop":true,"spaceBetween":20,"autoplay":{"delay":3000,"disableOnInteraction":false}}
options.pagination = {el:'null'}
if(flag == 3) {
vue.$nextTick(() => {
new Swiper('#newsnews', options)
})
}
if(flag == 6) {
let sixSwiper = {
loop: true,
speed: 2500,
slidesPerView: 3,
spaceBetween: 10,
centeredSlides: true,
watchSlidesProgress: true,
autoplay: {
delay: 0,
stopOnLastSlide: false,
disableOnInteraction: false
}
}
vue.$nextTick(() => {
new Swiper('#new-list-6', sixSwiper)
})
}
});
// 获取推荐信息
var autoSortUrl = "dianyingxinxi/autoSort";
if(localStorage.getItem('userid')!=null) {
autoSortUrl = "dianyingxinxi/autoSort2";
}
http.request(autoSortUrl, 'get', {
page: 1,
limit: 3 * 1
}, function(res) {
vue.dianyingxinxiRecommend = res.data.list
let flag = 1;
let options = {"navigation":{"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},"slidesPerView":5,"loop":true,"spaceBetween":20,"autoplay":{"delay":3000,"disableOnInteraction":false}}
options.pagination = {el:'null'}
if(flag == 3) {
vue.$nextTick(() => {
new Swiper('#recommenddianyingxinxi', options)
})
}
if(flag == 5) {
vue.$nextTick(() => {
var swiper = new Swiper('#recommend-five-swiperdianyingxinxi', {
loop: true,
speed: 500,
slidesPerView: 5,
spaceBetween: 10,
autoplay: {"delay":3000,"disableOnInteraction":false},
centeredSlides: true,
watchSlidesProgress: true,
on: {
setTranslate: function() {
slides = this.slides
for (i = 0; i < slides.length; i++) {
slide = slides.eq(i)
progress = slides[i].progress
// slide.html(progress.toFixed(2)); //看清楚progress是怎么变化的
slide.css({
'opacity': '',
'background': ''
});
slide.transform(''); //清除样式
slide.transform('scale(' + (1.5 - Math.abs(progress) / 4) + ')');
}
},
setTransition: function(transition) {
for (var i = 0; i < this.slides.length; i++) {
var slide = this.slides.eq(i)
slide.transition(transition);
}
},
},
navigation: {"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},
pagination: {"el":".swiper-pagination","clickable":true},
});
})
}
});
});
用户注册,在用户注册页面通过填写用户名、密码、确认密码、姓名、手机等信息完成用户注册操作,如图5-2所示。
图5-2用户注册界面图
其页面代码如下:
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody YonghuEntity yonghu){
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
if(user!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
yonghu.setId(uId);
yonghuService.insert(yonghu);
return R.ok();
}
商品信息,在商品信息页面可以查看商品名称、价格、图片、单次购买、商品分类、品牌、规格、点击次数、商品详情等内容,并进行添加到购物车、立即购买、评论或收藏等操作;如图5-3所示。
图5-3商品信息界面图
个人中心,在个人中心页面通过填写用户名、密码、姓名、上传图片、性别、手机、余额等内容进行更新信息,还可以根据需要对我的订单、我的地址、我的收藏进行相对应操作,如图5-4所示。
图5-4个人中心界面图
其代码如下:
http.request('config/list', 'get', {
page: 1,
limit: 5
}, function(res) {
if (res.data.list.length > 0) {
var swiperItemHtml = '';
for (let item of res.data.list) {
if (item.name.indexOf('picture') >= 0 && item.value && item.value != "" && item.value != null) {
swiperItemHtml +=
'<div>' +
'<img class="swiper-item" style="width: 100%;height: 100%;object-fit:cover;" src="' + http.baseurl+item.value + '">' +
'</div>';
}
}
jquery('#swiper-item').html(swiperItemHtml);
// 轮播图
vue.$nextTick(() => {
carousel.render({
elem: '#swiper',
width: '89.6%',
height: '500px',
arrow: 'hover',
anim: 'default',
autoplay: 'true',
interval: '3000',
indicator: 'inside'
});
})
}
});
// 获取列表数据
http.request('address/list', 'get', {
page: 1,
limit: limit,
userid: localStorage.getItem('userid')
}, function(res) {
vue.dataList = res.data.list
// 分页
laypage.render({
elem: 'pager',
count: res.data.total,
limit: limit,
groups: 5,
layout: ["prev","page","next"],
theme: '#669999',
jump: function(obj, first) {
//首次不执行
if (!first) {
http.request('address/list', 'get', {
page: obj.curr,
limit: obj.limit,
userid: localStorage.getItem('userid')
}, function(res) {
vue.dataList = res.data.list
})
}
}
});
})
// 添加地址
jquery('#btn-add').click(function(e) {
window.location.href = './add.html';
});
});
</script>
购物车,在购物车页面可以对购买商品、图片、价格、数量、总价等内容进行点击购买或删除等操作,如图5-5所示。
图5-5购物车界面图
5.2管理员功能模块
管理员进行登录,进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作,如图5-6所示。
图5-6管理员登录界面图
其代码如下:
mounted() {
let menus = menu.list();
this.menus = menus;
},
created() {
this.getRandCode()
},
methods: {
register(tableName){
this.$storage.set("loginTable", tableName);
this.$router.push({path:'/register'})
},
// 登陆
login() {
if (!this.rulesForm.username) {
this.$message.error("请输入用户名");
return;
}
if (!this.rulesForm.password) {
this.$message.error("请输入密码");
return;
}
if (!this.rulesForm.role) {
this.$message.error("请选择角色");
return;
}
let menus = this.menus;
for (let i = 0; i < menus.length; i++) {
if (menus[i].roleName == this.rulesForm.role) {
this.tableName = menus[i].tableName;
}
}
this.$http({
url: `${this.tableName}/login?username=${this.rulesForm.username}&password=${this.rulesForm.password}`,
method: "post"
}).then(({ data }) => {
if (data && data.code === 0) {
this.$storage.set("Token", data.token);
this.$storage.set("role", this.rulesForm.role);
this.$storage.set("sessionTable", this.tableName);
this.$storage.set("adminName", this.rulesForm.username);
this.$router.replace({ path: "/index/" });
} else {
this.$message.error(data.msg);
}
});
},
管理员登录系统后,可以对主页、个人中心、用户管理、商品分类管理、商品品牌管理、商品信息管理、系统管理、订单管理等进行相应的操作管理,如图5-7所示。
图5-7管理员功能界面图
用户管理,在用户管理页面可以对用户名、姓名、头像、性别、手机等内容进行查看、修改和删除等操作,如图5-8所示。
图5-8用户管理界面图
商品分类管理,在商品分类管理页面可以对商品分类信息进行查看、修改和删除操作,如图5-9所示。
图5-9商品分类管理界面图
商品品牌管理,在商品品牌管理页面可以对品牌信息进行查看、修改和删除操作,如图5-10所示。
图5-10商品品牌管理界面图
商品信息管理,在商品信息管理页面可以对商品名称、商品分类、图片、品牌、规格、价格、单限、库存等内容进行查看,修改,查看评论或删除操作,如图5-11所示。
图5-11商品信息管理界面图
系统管理,在商品资讯管理页面可以对标题、简介、图片等内容进行查看、修改和删除操作,还可以对在线客服,轮播图管理进行详细操作;如图5-12所示。
图5-12系统管理界面图
订单管理,在已支付订单页面可以对索引、订单编号、商品名称、商品图片、购买数量、价格/积分、折扣价格、总价格/总积分、折扣总价格、支付类型、状态、地址、电话、收货人等内容进行详情、修改、发货和删除等操作,还可对已完成订单、已发货订单、未支付订单、已取消订单、已退款订单进行相对应操作,如图5-13所示。
图5-13订单管理界面图
6 系统测试
系统测试是软件开发过程中最后一步,但也是不可或缺的重要的一步,没有人可以保证一次性编写完成的系统不会出错,而系统测试就是将自己开发的系统成为成品前的最后一步。在测试过程中需要进行严谨细致的测试,要尽可能全面地在不同情况下运行该系统,排除一切出现错误的可能。
系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。
软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试以及以逻辑为主要测试方向的白盒测试,这是两种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的,测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:
一、登录测试;
登录测试1:
登录:录入登录信息,账号,密码和选择权限,点击登录按钮,会出现两种情况:登录成功进入用户具有权限的功能界面和提示登录失败。
登录测试2及:
管理员登录:录入登录信息,管理员账号,密码和选择权限,点击登录按钮,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。
二、 性能测试
性能测试主要通过模拟系统运行环境来测试该系统是否能达到顾客期待。他的重要技术指标是系统的运行速度、网络的响应时间和支持并发节点数。
1)系统运行速度:得益于B/S架构,该系统能在不同配置电脑上运行并无明显卡顿,滞后,完全符合客户要求。
2)网络响应时间:网络响应时间主要包括网络最小响应时间、平均响应时间、最大响应时间三个参数。经过测试,在正常网络运营状态下,局域网内响应时间三参数为:1/2/5s,外网响应时间三参数为3/7/12s,符合客户需求,属于用户心理可承受范围。
3)支持并发节点数:经过模拟环境测试,本系统在并发节点达45个时,网络运营速度会发生较大波动,延迟时间10秒左右,符合客户需求。
经过以上测试的结果进行分析,本系统能够在不同电脑上使用运行,具备一定安全性,用户信息不易泄露,能够日后再增删功能,能够实现所有功能,产品运行性能良好,能达到毕业设计要求。
7 系统维护
为了清除系统在运行过程中发生的错误,必须定期的对系统进行完善和维护;这是为了使系统适应用户环境的变化,满足用户新提出的新要求。系统维护的任务是修复软件在运行过程中发现的错误,补充用户在使用过程中提出的新的功能需求。所以,为了保证计算机系统能够正常的运行,必须对系统进行定期检查。
维护内容有:
(1)病毒防范与系统安全:当今社会,商城里最严重的安全威胁就是--木马与黑客。这些都会严重影响到商城的正常工作和发展,会对商城造成难以估量的危害。所以,必须加强系统安全,定期查杀木马,以及对系统漏洞进行修补。
(2)数据维护。根据公司的需要对数据的需求有时候会发生变化,除了系统中的主要数据的定期更新外,还需根据商城需要进行变化调整,包括增加数据内容等等。除此之外,还必须对数据进行定期的备份等。
(3)代码维护。如果系统应用范围扩大,当前系统无法满足新的需求,那么必须大于系统中的代码进行必要的增加、修改、删除等等。
(4)硬件维护。主要就是指对主机以及外设的一些基本维护和管理,如对部件的包养清理,老化部件进行更换等,以此来保证网上购物商城管理系统能够正常地工作。
8 总结及展望
8.1 总结
这次的课题设计是我们毕业的最后一个关卡,通过指导老师的帮助然后上网还有书籍查阅相关资料终于将这个系统完成。当然也缺不了同学的帮助。刚和老师商量课题的时候还非常高兴是一个之前自己接触过的题材,要求的内容也比较显而易见。但是在和指导老师确定任务书时还是比较吃惊因为要用到的技术会比较麻烦,需要将一些前台的功能的实现对我来说还是比较吃力的。但通过慢慢的知道开始写任务书,对我要做的项目功能有了更加深刻的理解。前台是用户对于本系统的使用,用户可以通过登录注册,实现首页、商品信息、商品资讯、个人中心、购物车、在线客服等功能。
后台主要是管理员模块,可对该平台的用户进行系统管理,管理员登录进后可对所有用户进行管理,主要包括主页、个人中心、用户管理、商品分类管理、商品品牌管理、商品信息管理、系统管理、订单管理等功能。
这次的课题设计真的算是一个大融合,它基本上运用到了我们所学习的关键技术,我们可能之前学过的知识早已忘记但是这次的毕设课题是一次非常好的机会让我们重温之前的专业知识,相当于自己又重新学习了一遍,感觉自己的自我学习能力得到了很大的提升。同时又锻炼了自己的实际动手能力。通过对本系统的开发和探索,我对软件的开发过程有了更加深刻的了解,特别是通过对网上购物商城管理系统的设计与实现,使我对面向对象技术有了较为深入了解和认知。
这次的课题设计让我对独自做一个系统开发有了一个非常深刻的认知,真的是很难,从我自己的角度来讲,首先系统搭建平台的构造就花费了很长时间,在安装这些运行软件的过程中,总会有各种各样的插件问题出现,这个很考验人的耐心,因为在之后的运用过程中我就受此困扰很久。然后之后的开题报告,中期检查中也是有各种描述不明确出现。核心代码部分经常会出现jar包的错误跳转的失败,都需要花很多时间去调试。在这个过程中,出来只是的升高最多的还有自己耐心越来越好了。所以此刻认识还不算太晚,今后一定要努力提高自己的知识水平,同时还是要不断学习,尽可能多的阅览一些专业书籍,从而丰富自己的知识层面。答辩时间迫在眉睫,时间真的有限,这个报告所解决问题的方法还没有很好,希望接下来还有机会将这个报告加工完善。
8.2 展望
目前为止系统只能在我们自己电脑手机上运行,只能像单击操作环境一样自己写的自己可看,如果想让其他人也能使用就需要加入局域网等更加高级的操作。但也有可能本系统还达不到商业的水平,因为我们这个课题设计时间有限,而且我自身的专业知识也不够多,也只能勉勉强强的酱紫合格系统搭建出来,不过我还是在这个过程中一直在努力获取心得知识与自己的课题匹配。我相信只要给我时间我还可以把这次的项目完善的更好,效率可以更高的。这次毕业设计的时间虽然不算太长,但使我对很多东西有了更深刻的认识。自己总结了几点让大家共同勉励:认真查阅资料和阅读相关文献非常重要;虚心向老师和同学请教;自己实际操作非常重要,以前我总是觉得只要理论上理解了应该问题不大,然后有很多基本命令代码没有自己去亲自感受一下,所以在这次的调试环节经常出问题,所以大家要记住"代码是调出来的"的道理。对于以后要成为程序员的朋友,真的要比平常人有更多的耐心和毅力,这是一个反复调试反复查看的过程。而且现在网络很发达,随便上网查查就能够得到许多解决方法。
真的大学几年转瞬即逝,本科生涯就要划上句号了。这次毕业设计过程中,我更深刻的认识到了实践动手能力在大学课程中的重要性。虽然校园的学习生涯即将结束,但是我们人生道路的学习才刚刚开始,我们还有接下来这么多年的时间来弥补之前没有好好学习的遗憾。对于我来说之后的工作岗位离学习这些知识还没有特别远,以后还能够多多学习。毕竟越优秀越好。