《基于Web的网上五金销售系统的设计与实现》14000字(论文)_第1页
《基于Web的网上五金销售系统的设计与实现》14000字(论文)_第2页
《基于Web的网上五金销售系统的设计与实现》14000字(论文)_第3页
《基于Web的网上五金销售系统的设计与实现》14000字(论文)_第4页
《基于Web的网上五金销售系统的设计与实现》14000字(论文)_第5页
已阅读5页,还剩26页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE17基于Web的网上五金销售系统的设计与实现摘要目前传统五金店均以店面形式存在,存在销售五金的区域性,客户相对固定,查询、更新不快捷,投资较大等诸多问题。随着科学技术的飞速发展,随着计算机科学的发展,数据库技术在互联网上的应用越来越广泛,为广大网民提供了更加细致,人性化的服务,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;本信息管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了本信息管理系统的发展,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对本信息管理系统而言非常有利。关键词:SpringMVC;MyBatisMySQL;JSP目录摘要 I第1章绪论 51.1背景及意义 51.2国内外研究概况 51.3研究的内容 6第2章相关技术 62.1JSP技术介绍 62.2JAVA简介 72.3ExtJS 72.4MVC结构 72.5BOOTStrap框架 82.6Eclipse开发环境 82.7Tomcat服务器 92.8MySQL数据库 92.9VUE框架 10第3章系统分析 113.1需求分析 113.2系统可行性分析 113.2.1技术可行性:技术背景 123.2.2经济可行性 123.3项目设计目标与原则 133.4系统流程分析 133.4.1操作流程 133.4.2添加信息流程 143.4.3删除信息流程 15第4章系统设计 164.1系统体系结构 164.2系统架构设计 164.2开发流程设计 194.3数据库设计原则 204.4database的设计与分析 20第5章系统实现 24各模块具体实现 25用户注册: 25用户登录: 26信息发布: 27第6章系统测试 286.1系统测试的目的 286.2系统测试方法 286.3测试步骤 306.4系统管理系统测试 306.5系统的各个的模块测试 306.6功能测试 316.7测试总结 32结论 33参考文献 34 第1章绪论1.1背景及意义随着计算机科学技术的迅猛发展,本五金店交易系统在电子商务技术的应用,使得企业或个人可以通过在线五金店平台,实现网上购买五金,改变了传统购买五金商品的方式。本系统管理也都将通过计算机进行整体智能化操作,对于本信息管理系统所牵扯的管理及数据保存都是非常多的,这给管理者的工作带来了巨大的挑战,面对大量的信息,传统的管理系统,都是通过笔记的方式进行详细信息的统计,后来出现电脑,通过电脑输入软件将纸质的信息统计到电脑上,这种方式比较传统,而且想要统计数据信息比较麻烦,还受时间和空间的影响,所以为此开发了本信息管理系统;对于用户而言,可以随时进行查看及维护各方面的信息,管理员可以足不出户就可以获取到系统的数据信息等,而且还能节省用户很多时间,所以开发本信息管理系统给管理者带来了很大的方便,同时也方便管理员对用户信息进行处理。本论文本信息管理系统主要牵扯到的程序,数据库与计算机技术等。覆盖知识面大,可以大大的提高系统人员工作效率。1.2国内外研究概况随着国内经济形势的不断发展和我国经济的健康发展,中国互联网进入了一个难得的高峰发展时期,这使得中外资本家纷纷转向互联网市场。现代互联网飞速发展,互联网已融入到人们的生活中,伴随着互联网环境的覆盖越来越广,随着科技的进步,互联网,通信和多媒体技术等也取得极大的进步。互联网已成为我们生活中无法分割的一部分,同时互联网的发展给我们带来了无限的商机和便利。然而,许多管理领域的不合理结构,人员不足以及市场管理需求的增加使得更多的人具备了互联网管理的意识。本课题减少大量的数据冗余和传统管理的繁琐工作量,实现管理的系统化、科学化。而用户也可以足不出户即可选择到更多更便宜的五金商品,解决了当代城市人因生活节奏快而无法抽时间去购买五金商品的问题。1.3研究的内容论文主要介绍了本系统的选题的背景、现状以及分析,设计中所用到的工具和技术,可行性分析、需求分析、系统的结构、功能以及数据库的设计,各个模块的详细设计与实现,以及系统的测试、结束语、参考文献和致谢。其中最重要的是需求分析和详细设计与实现这两个部分。通过学习软件设计的原理,在毕设期间,我对毕业课题进行了系统的需求分析、可行性分析、详细设计、编码实现、调试和系统测试,完成了毕业系统设计系统。第2章相关技术软件是隐藏在计算机系统操作内部,是整个系统的核心,内部控制如同作为隐藏在人类体内的大脑一样,控制人类的行为意识形态。就像哈利波特手中没有施加魔咒的魔法棒毫无魔力一样,没有软件的计算机系统也会无法运行。如果没有软件,各种丰富多彩的应用在智能手机将会消失,银行的功能将无法提供业务结算、核电站反应堆系统将失去控制。软件工程也注重管理流程,以提高软件产品质量,降低开发成本,并确保项目按时完成。系统化、标准化、可测性的发展方向,在软件工程也引起了极大关注。2.1JSP技术介绍JSP技术本身是一种脚本语言,但它的功能是十分强大的,因为它可以使用所有的JAVA类。SUN公司推出的一种名叫JSP的动态网页技术标准,jsp本质上就是Servlet,只不过它是Servlet的一种特殊新式,每个jsp页面都是一个servlet实例。当它与JavaBeans类进行结合时,它可以使显示逻辑和内容分开,这就极大的方便了用户的需求。JavaBeans可以对JSP技术的程序进行扩展,从而形成新的应用程序,而且JavaBeans的代码可以重复使用,所以就便于对程序进行维护。JavaBean组件有内部的接口,可以帮助不同的人对系统进行访问。1999年,Sun微系统公司正式推出了JSP技术,这是一种动态技术,是基于整个JAVA体系和JavaServlet提出的,是具有普遍适用性的WEB技术,也是本系统设计的核心技术之一。JSP技术能够极大的提高WEB网页的运行速度。这些内容会与脚本结合,并且由JavaBean和Servlet组件封装。所有的脚本均在服务器端运行,JSP引擎会针对客户端所提交的申请进行解释,然后生成脚本程序和JSP标识,然后通过HTML/XML页面将结果反馈给浏览器。因此,开发人员亲自设计最终页面的格式和HTML/XML标识时,完全可以使用JSP技术。JSP的主要优点是将业务逻辑与表示层分开,并隔离设计。JSP将Web页面逻辑与Web设计的外观分离开来,而且支持基于组件的可重用设计。这使得开发应用于Web的应用程序变得更为效率。前后分隔的意义在于防止在后端合并页面。由于通信量大,服务器数量大,因此在许多情况下,在浏览器中分散使用资源会更划算。另外,它还具有动态嵌入内容等优点,能够提供更好的体验,工程上的结合也较弱,开发也变得容易。所以结合本信息管理系统的需求及功能模块的实现,使用JSP技术是最合适的,而且JSP的拓展性比较好,对于系统在后期使用过程中可以不断对系统功能进行拓展,是系统更完成,更方便的满足用户管理。2.2JAVA简介Java语言从开发的角度上来说,它比别的开发语言更为安全,而且Java语言开发出的系统具有跨平台运行的特性。因为JVM具有灵活的类加载器机制,可以让在一个应用程序中使用多个类加载器。只要在不同的平台上装上JVM,Java开发的程序就可以实现跨平台运行。而从学习的角度上来讲,它是一种面向对象而开发的开发语言,可以把实际生活中的问题应用到Java开发的逻辑中去,这样可以大大方便学习Java的人的理解,从而使得Java相比于其他语言更容易上手。2.3ExtJSExtJS是一个流行的JavaScript框架,它为使用跨浏览器功能构建Web应用程序提供了丰富的UI。

ExtJS基本上用于创建桌面应用程序它支持所有现代浏览器,如IE6+,FF,Chrome,safari6+等。而sencha,senchatouch的另一个产品用于移动应用程序。ExtJS的第一个版本是由JackSlocum在2006年开发的。它是一组实用程序类,它是YUI的扩展。ExtJS基于MVC/MVVM架构。

最新版本的ExtJS6是一个单一的平台,可以用于桌面和移动应用程序,而不需要为不同的平台提供不同的代码。2.4MVC结构一开始的网页开发人员并没有注意代码开发规范,代码像砖块一样堆放在一个系统中,当代码的累积量越来越大后,对于那些堆砌砖块的人来说就很难了。当Web开发的范围更广时,需要将页面显示与页面控件分开,这就不是页面技术所能解决的问题了。于是,Web开发出现了一种新技术:MVC。它将整个Web应用系统划分为了四层。如下图所示:MVC模式图如下图所示。2.5BOOTStrap框架BootStrap设计出响应式页面,由它设计页面可以在手机,计算机端都可以直接访问。同时它又是一个开源的前端框架,主要应用于页面的布局,而且它是基于web组件开发的,使得Web开发更加快捷。2.6Eclipse开发环境Eclipse支持广泛、兼容性高并且功能强大,是一个Eclipse插件集合,普遍适应于JAVA和J2EE的系统开发,支持JDBC,Mybatis,AJAX,Struts,JavaServlet,Spring,EJB3等市面上存在的几乎所有数据库链接工具和主流Eclipse产品开发工具。Eclipse在业内是所熟知的开发工具,该平台在开发的过程中运用的就是该工具。Eclipse又被称之为企业级的工作平台,它是以EclipseIDE为基础的。Eclipse可以帮助我们进行数据库的研发和J2EE的使用,除此之外,还可以提高系统的运营能力,这突出表现在服务器的整合过程中。Eclipse的功能相当完备,能够为J2EE的集成提供必要的环境支持,从而完成编码、测试、调试及发布等功能。它可以支持JSP,HTML,SQL,Javascript,Struts,CSS等。2.7Tomcat服务器Tomcat属于一种轻型的服务器,所以说在中小企业中并不具有普适性。但是当程序员需要开发或调试JSP程序时,则通常会将该服务器作为首选。对于一个仅具有计算机基础知识的人来说,计算机系统具有一个好的Apache服务器,可以很好的对HTML页面进行访问。Tomcat虽然是Apache的扩展,但是它们都是可以独立运行的,二者是不互相干扰的。当配置正确的时候,Apache服务器为HTML页面的运行提供技术支持,Tomcat的任务则是运行Servle和JSP页面。Tomca也具有一定的HTML页面处理功能。Tomcat是一个中间件,在B/S架构中,浏览器发出的http请求经过tpmcat中间件,转发到最终的目的服务器上,响应消息再通过Tomcat返回给浏览器。Tomcat所做的事情主要有:开启监听端口监听用户的请求,解析用户发来的http请求然后访问到你指定的应用系统,然后你返回的页面经过Tomcat返回给用户。2.8MySQL数据库MySQL是一个数据库管理系统,它是由Oracle支持的开源软件,是一个关系数据库。与其他数据库软件(如Oracle数据库或MicrosoftSQLServer)相比,MySQL非常容易学习和掌握。Mysql的语言是非结构化的,用户可以在数据上进行工作,并且其语言简单,学习起来比较容易,其结构也简单,功能强大,存储信息量大,Mysql主要应用于数据的查询和编程,现在普遍存在的关系数据库有很多,并得到了普遍的应用。使用Mysql数据库在编程过程中带来了极大的方便,可以对数据进行广泛地查询,Mysql数据库的应用并不需要用户了解其存储的方式,更不用掌握数据存放的方法,Mysql数据库的灵活性较强,功能也较强大,大多数情况下,在其他程序中实现某功能需要编写一大堆代码,而在Mysql数据库中只需要一小段代码就可以实现功能,所以,Mysql数据库的语言较简洁。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。2.9VUE框架

Vue(读音/Vju:/,类似于View)是一套用于构建用户界面的渐进式框架,与其他大型框架相比,Vue被设计为可以自底向上逐层应用。其他大型框架往往一-开始就对项目的技术方案进行强制性的要求,而Vue更加灵活,开发者既可以选择使用Vue来开发一个全新项目,也可以将Vue引入到一个现有的项目中。系统分析3.1需求分析本信息管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。主要是根据需求分析,该实验实现了浏览器和浏览器服务器的交互,浏览器能够就行网页浏览,在浏览器中需要地址栏对指定页面进行访问,需要专门的按钮进行跳转,在前后浏览页面之间要能够进行跳转,并且连接数据库完成增删改查的操作,开发这个网站可以正常实现连接Tomcat网络,能够进行网页浏览,并且能够查看页面源代码。页面源代码查看,前进,后退,主页,停止,刷新等功能。Tomcat服务器则实现了IP设置,根目录设置,统计信息展示等。在操作不当的情况下有相应的信息提示,错误处理机制完备.系统各个模块之间都有相应错误处理机制,功能模块之前划分比较细致,有利于发现问题后的及时解决,在做好完备的功能模块详细设计之后,系统的开发时间会大幅减少。根据系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看自己所有数据信息,根据自己的需求可以进行信息的提交,这样既能节省用户的时间,不用在像传统的方式,需要查询、了解信息都需要去寻找相关负责人了解相关数据信息,耽误时间,由于很多用户的时间的原因,没有办法随时随地进行相应管理,真的很难去满足用户的各种需求。所以本信息管理系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。3.2系统可行性分析可行性分析又称可行性研究,传统的手工文件管理低效率和可怜的保密性等缺点。在可行性研究中,在开展经济活动(投资)之前,双方应从经济,技术,生产,供给到社会各种环境,法律等各种因素进行具体调查,研究和分析,估算有利和不利因素,项目可否执行,成功率高,经济效益和社会效益程度,作为决策人和主管机关审批的呈报文件。3.2.1技术可行性:技术背景技术可行性评价将系统与原系统和待开发系统的系统流程图和数据流图进行比较,分析新系统的优点,评价新系统的可行性。主要是针对项目的实施所需求的技术的角度出发,估算能否产出合理的设计技术方案来进行实施。本系统严格遵循软件开发流程,使用MVC模式,后端的数据库采用MySQL,采用开源框架Struts、Spring、Mybatis进行开发,通过JDBC驱动程序和数据库进行无缝连接,使用可以使应用跨平台的Web应用技术JSP技术开发,对计算机的硬件配置没有太高要求.同时主要是用Java+JSP语言开发的,应用了Jquery,Struts2,Spring,Mybatis等框架,采用了Mysql数据库。对于熟悉Java或C++的人来说,都知道Java非常的容易学习和上手,而JSP的本质其实上就是Servlet,是现在使用比较广泛和成熟的Web开发方式。Jquery是JavaScript的框架,其中封装了很多JS方法,使得JS对页面的操作简化了很多。随着Java技术多年来的不断进步,Struts2、Spring以及Mybatis这三大框架已经能够完美的整合起来,这为系统的开发提供了极大的方便。Mysql数据库是一个轻量级的,数据库,它比Oracle数据库的访问更快速,同时能够保证数据的安全,这对于本系统的开发用于数据存储有很大的帮助。3.2.2经济可行性首先,从建立本系统方面的经济来分析,本系统的开发只需要一台计算机,得益于个人电脑的普及,现在几乎所有人都拥有自己的笔记本电脑,所以在系统的开发阶段所需要的成本要求是非常低的。对于系统的环境配置,在网络上已经可以找到相关的技术指导和分析。从经济的可行性上面来分析,要考虑到本系统开发出来后,它能带来多大的经济效益,以及和它被开发出来的成本进行比对,现在随着网络上电子商务的不断发展,已经证实了这种新型的商务模式已经取得了非常可观的成果和收益,所以在经济上开发本系统是非常可行且合理的。本系统可以运行于现在市场上出售的各种个人电脑,系统成本主要集中在系统的开发上。所带来的效益远远大于系统软件的开发成本。在经济上是可行的。3.3项目设计目标与原则1、关于本信息管理系统的基本要求(1)功能要求:用户管理、信息管理、角色管理、个人信息管理等功能模块。(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。(4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。2、开发目标本信息管理系统的主要开发目标如下:(1)实现管理系统信息关系的系统化、规范化和自动化;(2)减少维护人员的工作量以及实现用户对信息的控制和管理。(3)方便查询信息及管理信息等;(4)通过网络操作,改善处理问题的效率,提高人员利用率;(5)考虑到用户多样性特点,要求界面简单,操作简便。3.4系统流程分析3.4.1操作流程管理员想进入系统,首先进入系统登录界面,通过正确的用户名、密码,用户名和密码输入完成后,系统会检查登录信息,信息正确,然后输入相应的功能界面,提示信息错误,登录失败。系统操作流程如图3-1所示。图3-1操作流程图3.4.2添加信息流程添加信息,编号系统使用自动编号模式,没有用户填写,管理员添加信息输入信息,系统将自动确认的信息和数据,验证的成功是有效的信息添加到数据库,信息无效,重新输入信息。添加信息流程如图3-2所示。图3-2添加信息流程图3.4.3删除信息流程管理员选择要删除的信息并单击Delete按钮,系统提示是否删除信息。如果用户想要删除信息,系统将删除信息。系统数据库删除信息。删除信息流程图如图3-3所示。图3-3删除信息流程图PAGE36系统设计在本章中,我们需要得出本系统具体的功能模块设计以及数据库的设计。功能模块分析在第一部分叙述,数据库分析在第二部部分详细给出。总体设计的目的是为系统的详细设计与实现做准备。4.1系统体系结构架构设计的目的是反映一个结构和其他元素之间的关系,抽象,通常用于指导大型软件系统。将一个巨大的任务细分为多个小任务的过程是系统架构的总体设计。完成小任务后,整个任务就可以完成了。具体的实现过程是分解系统,分析各部分的功能、接口和逻辑关系。页面是一个一个模块组建而成的,层次结构分明,思想运用的是面向对象,一个实体对应一个数据类型,还要对每个数据类添加一个实施类。本信息管理系统的实现主要包括用户和管理员两个用户角色,由于系统用户角色不同所使用的功能模块相应不同,管理员根据需求对系统功能模块进行维护管理操作。4.2系统架构设计 本系统架构采用的是整体划分为表示层、业务逻辑层和数据访问层三层体系的当前较为常用的B/S三层架构体系。

1)表示层 显示层是系统和用户的交互界面,系统以多个形式向显示层提示功能,用户通过显示层的提示向系统发送请求,系统向显示层提示响应。层角色是获取用户请求并显示系统响应。位于三层中的最上层,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。USL又分为“USL前台代码”和“USL后台代码”,其中“USL前台代码”是指用户能直接访问到的界面,一般是程序的外观(如html文件、JSP文件等),类似于MVC模式中的“视图”;“USL后台代码”是指用来调用业务逻辑层的JAVA代码(如Servlet),类似于MVC模式中的“控制器”。表示层前台代码一般放在WebContent目录下,而表示层后台代码目前放在servlet包下。2)业务逻辑层位于三层中的中间层(DAL与USL中间),起到了数据交换中承上启下的作用,用于对业务逻辑的封装。BLL的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于DAL而言,它是调用者;对于USL而言,它是被调用者。依赖与被依赖的关系都纠结在BLL上。使用上,就是对DAL中的方法进行“组装”。比如,该层也可以实现对对象的增删改查,但与DAL不同的是,BLL中的增、删、改、查不再是“原子性”的功能,而是包含了一定的业务逻辑。比如该层中的“删”不再像DAL中那样仅仅实现“删”,而是在“删”之前要进行业务逻辑的判断:先查找该学生是否存在(即先执行DAL层的“查”),如果存在才会真正地“删”(再执行DAL层的“删”),如果该对象不存在则应该提示错误信息。即BLL中的“删”,应该是“带逻辑的删”(即先“查”后“删”),也就是对DAL中的“查”和“删”两个方法进行了“组装”。在程序中,BLL一般写在service包(或biz包)中,包里面的类名也是以“Service(或Biz)”结尾,如StudentService.java、DepartmentService.java、NewsService等。换句话说,在程序中,BLL是由service包中的多个“类名Service.java”组成。每个“类名Service.java”类,就包含着对该“类名”的对象的业务操作,如StudentService.java中包含对Student对象的“带逻辑的删”、“带逻辑的增”等业务逻辑操作,DepartmentService.java中包含对所有Department对象的“带逻辑的删”、“带逻辑的增”等业务逻辑操作。数据层数据层也称为持久层,位于三层中的最下层,用于对数据进行处理。该层中的方法一般都是“原子性”的,即每个方法都不可再分。比如,可以在DAL层中实现数据的增删改查操作,而增、删、改、查四个操作是非常基本的功能,都是不能再拆分的。系统功能模块如下:资金管理资金管理订单管理审核操作登录客户管理商品发布执行请求管理平台用户4.2开发流程设计系统流程的分析是通过调查系统所涉及问题的识别、可行性可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要进行一系列的流程测试保证数据库的完整,以把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。本信息管理系统的开发对管理模块和系统使用的数据库进行分析,编写代码、系统测试,如图4-2所示。图4-2开发系统流程图4.3数据库设计原则学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还提供了添加、删除、修改和检查,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。4.4database的设计与分析在系统设计过程中,数据库是一个非常重要的环节,数据库的设计关系到系统的稳定性,因此必须对每个信息的管理进行良好的设计。只有我们设计了才能出现优良的数据库设计才能提高我们系统的性能,提供更好的服务。否则就是糟糕的数据库设计会出现很多问题,影响我们的工作效率,服务的效率和用户的使用效率。数据库设计就是根据业务系统的具体需求,结合我们所选用的数据库系统,为本系统设计出最为合适的数据存储模型。并建立好数据库中的表结构及表与表之间的管理关系的过程。使之能有效的对应用的数据进行存储并可以高效的对已经存储的数据进行访问。初版数据库设计完成后,进入项目开发阶段,如果前期的需求的调查分析,业务的头发,没关系,后期大量的数据库结构的变奏的情况经常发生。需求经常变化,意外地才是唯一的法则,作为设计师,前期的调查,掌握、分析、设计的过程中,再慎重,只能减少这种情况的风险的,可能无法完全避免。还开发了深,数据库的结构局部变动,例如增税并密谋表的评论等也成为了重新恢复正常。针对这些,也应该有相应的对策,才能在万应改变。MySQL是一个关系型数据库管理系统,由Oracle公司开发、发布和支持。关系数据库是安排数据使用关系模型,使用集代数数学概念和方法,如数据库的处理数据。关系数据库现实世界中不同实体和实体之间的关系表示为一个关系模型。DBMS的主要包括两个功能:数据定义功能:DBMS提供DDL(数据定义语言)定义数据库的三级结构,两级映像,定义数据的完整性约束,保密限制等约束。因此,在DBMS中应该包含DDL的编译程序。数据操纵功能:DBMS提供DML(数据操作语言)实现对数据库的操作,基本的操作有两类:检索(查询)和更新(插入、删除、更新)。因此,在DBMS中应该包含DML的编译程序或解释程序。数据库的运行管理和维护等,如数据的安全、完整性、并发和恢复等控制自数据库从诞生以来,大致经历了以下几个阶段:1.层次数据库和网状数据库的过程。2.关系数据库。3.非关系型数据库。目前,非关系型数据库正在蓬勃的发展中,比如MongoDB、Redis、BigTable等非关系型数据库已经被很多领域广泛的应用。关系数据库仍然是Web开发的主流数据库。使用最常用的开源资源版本数据库MySQL作为我的应用中使用的数据库。数据库结构图如下所示:第5章系统实现各模块具体实现用户注册:在选择登录类型和登录方式之前,必须考虑登录和登录设计中的因素这是怎么回事在产品设计过程中,如何设计注册登录流程,如何选择注册登录类型,是我们首先要考虑的问题。功能设计如图5-1-1所示。开始开始注册验证数据是否符合标准否注册成功符合5-1-1注册流程设计图代码实现: /*判断是否注册新用户需要审批*/ HashMap<String,Object>where=newHashMap<String,Object>(); Listlist=IbatisUtil.queryForList(sqlMap,request,response,where,"SystemManage.selectSettingList"); if(list!=null&&list.size()==1){ StringisApprove=((HashMap)(list.get(0))).get("isApprove").toString(); if(isApprove.equals("0")){ whereMap.put("status",1); }elseif(isApprove.equals("1")){ whereMap.put("status",0); } }else{ whereMap.put("status",1); }用户登录:当用户内容输入正确后,客户端会将用户所输入的内容传给数据库作比较,如果在数据库中能找到账号和密码与传入信息相同,则通过登录,相反则登陆失败无法通过。如图5-1-2所示。开始开始 登录验证数据是否符合标准否登录成功符合信息发布信息发布审核格式是否合格NY交管理员审核N发布成功Y审核是否通过5-1-2登录流程设计图代码实现: whereMap.put("userAcctEqual",userAcct); whereMap.put("userPassEqual",SimlpleCryp.encodeString(SimlpleCryp.desKey,userPass)); whereMap.put("deleteFlagHidden","0"); whereMap.put("statusSearch","1"); Listselect_user_acct=sqlMap.queryForList("SystemManage.selectSysMemberList",whereMap); if(select_user_acct!=null&&select_user_acct.size()==1){ 登录权限判断: list=sqlMap.queryForList("UserManage.select_all_menu",where); for(inti=0;i<list.size();i++){ HashMapinnerMap=((HashMap)(list.get(i))); Stringleaf_count=innerMap.get("leaf_count").toString(); Stringmenu_id=innerMap.get("id").toString(); Stringis_default=innerMap.get("is_default").toString(); if(leaf_count!=null&&!leaf_count.equals("0")){ innerMap.put("leaf",false); }else{ innerMap.put("leaf",true); } innerMap.put("draggable",false); //角色已授权菜单 if(roleID!=null&&!roleID.equals("")){ where.put("roleID",roleID); where.put("menu_id",menu_id); ObjectmeunAuth=sqlMap.queryForObject("UserManage.select_role_menu_auth",where); innerMap.put("checked",(Integer.parseInt(meunAuth.toString())>0)?true:false); } }信息发布:前台信息模块包括网站上各栏目标题列表的显示、各栏目信息列表的显示和信息查询。发布新的信息需要通过管理员的审核,若审核通过则显示发布成功,相反则显示发布失败。如图5-1-3所示。开始开始信息发布管理员验证信息是否符合标准否发布成功符合第6章系统测试6.1系统测试的目的程序设计不能保证没有错误,这是一个开发过程,在程序运行的过程中是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息,系统无法正常启动等,为了避免这些问题,我们需要测试程序,并发现这些问题,并纠正它们,并使系统更长时间稳定成熟,本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但长期非常重要和必要系统的开发。软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。本信息管理系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在系统正式上传和使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。6.2系统测试方法在对系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让系统开发的质量有所保证,并且开发的周期会大大缩短;还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个系统开发所牵扯的该问题都必须一一解决,提高系统的安全性、稳定性。测试任何程序都可以经过以下两种方法来检测:黑盒测试和白盒测试法。首先从简单的开始,黑盒测试不要求考虑程序的内部逻辑和数据处理,不要求测试人员遍历代码阅读程序,只需要明确输入输出规则,确保系统或模块实现了业务需求。(1)建议在对稳定运行的大中型系统进行小规模的功能优化或改造过程中使用黑盒测试方法,只需要明确当前项目的改造点,确认与已有功能的关联性和影响,针对项目改造范围进行测试,非特殊情况无需了解系统或模块的全部处理逻辑。(2)建议复杂度和重要性较低的系统,在时间精力有限的情况下优先选用黑盒测试方法进行测试。测试人员首先明确业务需求,使用等价类划分和边界值分析方法完成测试案例设计,适当结合程序特征、个人经验以及冒烟测试情况等对测试案例进行修订补充,在系统无重大问题或异常的情况下,一般黑盒测试即可满足该类系统测试要求。(3)建议适当考量测试人员或测试团队专业技术能力以及测试阶段,如在系统功能测试已经完成的前提下,业务方执行的业务验收测试可以使用黑盒测试方法,降低了团队组建成本和测试成本,无需要求业务人员对代码和软件逻辑进行充分学习和掌握。白盒测试技术是根据被测对象的结构系统化设计测试用例的一种方法,关注软件产品的内部细节和逻辑结构。(1)一般单元测试及集成测试需要使用白盒测试方法,包括代码检查法、静态结构分析法等,相关测试多由开发人员完成,具体视项目团队分工而定。(2)建议针对新建系统或已有系统新增重要模块时使用白盒测试方法,例如逻辑覆盖或基本路径测试法,尤其推荐在有较多校验关系且校验关系间存在嵌套时使用,使用时一般可参考程序代码、详细设计说明书、程序控制流图等相关资料,帮助减少测试人员的分析工作量等。(3)建议对重点系统进行架构优化、对公共函数或程序进行改造、对后台或接口内容进行调整时选用白盒测试方法,一方面关注优化改造后对原有程序的改动大小,一方面关注调用方或消费方是否受影响,新版本程序或系统对旧版本的兼容性,避免关联系统由于改造时测试不充分受到影响。(4)建议关注测试中的集群现象,对于缺陷或问题集中的功能和模块建议及时由黑盒测试方法改为白盒测试,在缺陷管理过程中及时进行小范围的测试方法调整,同时保证测试效率和测试充分性。从市场调查开始到用户手中,好的产品必须经过各个团队的努力(否则就没有设立的意义),而且对产品的要求越高,各个团队的重要性就越高。关于产品的质量,有的人设计出好的产品,有的测试者测量出好的产品,全面完备高效的测试保证了产品的质量,可以提高产品的市场竞争力。当然,质量好的产品不仅与测试有关,而且与系统的构筑,研发支持,生产销售后等也有密切的关系。认识测试的重要性,了解测试本身是科学的(实际上很多大学都有测试专业),通过将测试放在与研发同等的重要位置,公司可以明确认识到自己产品的位置和改进目标。软件的测试是非常重要的,因为软件错误的代价可能很昂贵或很危险。一个bug存在的时间越长越不会被发现,潜在的风险就越大。此外,如果您无法准确了解或确定风险和软件问题,而发生了任何故障,则会增加检测错误的成本,并且可能会因软件漏洞或错误而造成财务和人员损失,这在软件编码的历史上非常多的例子可以印证的惨痛教训。6.3测试步骤本系统的主要在本地的Tomcat服务器上进行软件bug调试以及软件的运行,对于本系统开发过程是本人独立设计完成,所以对于该系统的结构以计算法十分了解,各个模块之间的调用以及之间的配合关系有着充分的了解,所以本次的软件测试采用了白盒测试的方法进行软件测试。在这个软件测试的过程中分为多个阶段来测试,每个阶段的都要进行不同方面的相关的测试,比如说用户登录是否成功共,ssm框架配置文件是否完整成功,在这些测试要多测几次尽量多的查找出软件的bug以及各方面的问题,以方便日后该系统的维护以及日常的更新,尽量减轻用户的烦恼增强该系统的日常体验,在软件的各个方面的运行以及各模块之间的配合进行多次测试。通过多次的测试之后将找的软件缺陷以及软件存在的bug问题解决掉,一直到一个一阶段的测试完美通过之后,继续进行下一个阶段的测试,将每个阶段遇到的问题全都解决之后,一直到系统完美运行,提升各个用户的体验感。6.4系统管理系统测试在本系统的管理端集成许多模块的管理功能,个模块之间通过注解的方式进行配合管理,该模块的测试主要是了为了测试管理员是否可以管理各个模块,并且各个模块之间是否可以合理的配合以及反馈结果是否正确,如果开发人员在进行测试遇到问题,一定要及时解决处理免得之后的使用时,管理人员遇到问题无法解决,当通过多次测试之后,如果管理员管理系统没有其他问题时,便可进入下一个阶段的测试。6.5系统的各个的模块测试在本系统的设计开发工程中,每个模块的一系列代码都是一次性按流程完成的,每个模块之间的联系通过注解的方式来完成各个功能关系间的调用,从而降低该软件系统之间的耦合度,在测试该系统各个模块时尽量全面的进行该模块的测试,查找出所有可能出现的未知,如果检测出问题时一定要尽可能短的时间解决掉该问题的缺陷,当多次测试都通过之后开发人员便可以进行下一个模块的测试。为了保证程序测试的效果质量,将进行以下阶段的测试,测试要经过以下几个步奏。6.5.1.单元测试用于测试单个代码组件,并确保代码按预期工作。单元测试由开发人员编写和执行。在大多数情况下,使用JUnit或TestNG这样的测试框架。测试用例通常在方法级别编写并自动执行。6.5.2.功能测试

通过将给定输入的输出与规范进行比较,检查每个函数是否正确实现。一般来说,这不是由程序开发人员来执行的,功能测试一般是由单独的测试团队来执行。将测试出来的实际结果与计划预期中的结果进行比较。6.5.3.集成测试检查整个系统是否正常工作。集成测试由开发人员完成,但设计为测试整个组件,而不是测试单个组件。系统由许多不同的组件组成,如代码,数据库和Web服务器。集成测试可检测组件布线,网络访问和数据库问题。6.5.4.回归测试 当系统中出现复杂的bug时,通常会影响系统的核心区域,所以使用回归测试来重新测试系统的所有模块。经过如上这几样测试过程对软件进行各项的测试后,则宣布测试结果合格。6.6功能测试登录测试:模块名称测试用例预期结果实际结果是否通过登录模块用户名:admin密码:123弹出错误提示,提示密码错误弹出错误提示,提示密码错误通过登录模块用户名:123密码:admin弹出错误提示,提示用户名错误弹出错误提示,提示用户名错误通过登录模块用户名:admin密码:admin管理员登录成功管理员登录成功通过删除分类测试:模块名称测试用例预期结果实际结果是否通过删除分类模块分类名:最新通知删除成功、页面自动跳转删除成功、页面自动跳转通过修改密码测试:模块名称测试用例预期结果实际结果是否通过修改密码模块原密码:666新密码:123确认密码:123弹出错误提示,提示原密码错误弹出错误提示,提示原密码错误通过修改密码模块原密码:admin新密码:123确认密码:333弹出错误提示,提示确认密码不一致弹出错误提示,提示确认密码不一致通过修改密码模块原密码:admin新密码:123确认密码:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论