计算机本论-失物招领在线平台论文设计_第1页
计算机本论-失物招领在线平台论文设计_第2页
计算机本论-失物招领在线平台论文设计_第3页
计算机本论-失物招领在线平台论文设计_第4页
计算机本论-失物招领在线平台论文设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

摘要:在许多公共场所,如:商场、学校等地,经常会出现丢失物品的情况,同样,也有不少人捡拾到物品,但是他们没有一个方便快捷的消息交流平台,致使失主不能及时快速的取回自己丢失的物品,甚至,最终不能找回自己丢失的物品,给生活带来了极大的困扰。为失主和物品捡拾者建立一个信息平台是本系统的主要的目的。通过这个系统,失主和捡到物品的人可以很好的建立起联系,利用网络进入到本系统,捡到物品的人,可以通过本系统填写捡到物品的信息;失主便可通过本系统查询自己遗失的物品信息,查询该物品是否已经被别人捡拾到,并在平台上发布了消息,此外,失主也可在该系统中发布物品遗失的信息,让路人留意。由此一来失主和捡到自己失物的人最快速的联系到对方在事后,失主还可向捡到自己东西的人表示感谢。这个系统设置了系统管理员,管理员可以对拾物信息、遗物信息、留言信息等进行管理操作。关键字:失物;招领;系统;开发Abstract:Inmanypublicplaces,suchas:shoppingmalls,schoolsandotherplaces,oftenthecaseofmissingitems,therearemanypeoplepickuptheitems,buttheydonothaveaconvenientplatformforexchangeofinformation,resultingintheownercannotpromptlyGetbacktheirlostitems,andevenultimatelycannotfindtheirlostitems,tolifehasbroughtgreatdistress.Themainpurposeofthissystemisfortheownersandpickerstobuildaconvenientandefficientinformationexchangeplatform.Throughthissystem,theownerandthepeoplewhopickuptheitemscanbeverygoodtoestablishcontact,theuseofnetworkaccesstothesystem,pickeduptheitems,thesystemcanbecompletedbypickinguptheitemsofinformation;theownercanquerythesystemTheirlossofgoodsinformation,checkwhethertheitemshavebeenpickedupbyothers,andpublishedamessageontheplatform,inaddition,theownercanalsobereleasedinthesystemofmissingitemsofinformation,sothatpassersby.Thiswillbetheownerandpickuptheitemstoquicklyandeasilylinkedtothepeopletogether.Intheevent,theownercanalsopicktheirownthingstothankpeople.Thesystemhasadministrators,administratorscanrelicinformation,pickupinformation,messagemanagement,andotheroperations.Keywords:Lost;Lost;system;Development目录1、绪论 41.1项目研究背景 41.2项目研究现状 41.3设计目的 51.4论文组织结构 51.5相关技术简介 61.5.1JSP技术 61.5.2JavaBean技术 71.5.3JDBC技术 81.5.4用JDBC访问数据库 91.6本章小结 122需求分析 122.1可行性研究 122.1.1技术可行性 123、系统概要设计 133.1系统开发准备 133.2系统整体设计 143.3系统目标和功能设计 143.4数据库设计 153.4.1数据库设计原则 153.4.2数据库设计表 163.5本章小结 184、系统详细设计及实现 184.1登录界面 184.2系统E-R图 194.3处理流程设计 194.3.1系统操作流程 194.3.2数据增加流程 204.3.3数据修改流程 214.4.4数据删除流程 224.4系统主要功能模块 234.4.1管理员登陆 234.4.2认领信息管理 244.4.3用户信息管理 264.4.4注册会员 284.4.5信息查询 314.4.6网站首页设计 334.5本章小结 345、系统调试与测试 345.1程序调试 345.2程序的测试 345.2.1测试的重要性及目的 345.2.2测试的步骤 365.2.3测试的主要内容 365.2.4测试用例 375.3测试结果 385.4本章小结 396、总结 39致谢 41参考文献 421、绪论1.1项目研究背景这次毕业设计的题目是失物招领在线平台系统,这正体现了互联网与社会生活之间的紧密关系。现如今,人们越来越依赖网络,从网上订餐到网上办公,网络已经成为人与人之间交流的一种普遍工具。经过本次在线的失物招领服务系统建设,不仅仅可以帮助失物在最快的时间内找回自己原本丢失的东西,还能在这次在线系统设计之后,可以有效帮助自身实现编程技术的提升,并且奠定坚实的技术基础,为以后的工作做好充足的各项技术准备。由于计算机技术与网络通信技术的不断发展与应用,网络信息技术的应用以及慢慢的应用到人们的各个生活角落里。人们能够足不出户享有比实体店更低廉的价格,因此,各种便利性的在线服务平台层出不穷。而且这些在线信息服务平台的出现,不仅仅为人们实现了各项信息服务的便利性,也对原有的时间与地域限制进行突破,从而实现各项信息内容的便利性提升。由此,应用于人们失物招领的在线信息服务平台也由此而生,从而将失主与失物拾取人进行有效联系,从为二者搭建一个合理有效的信息服务平台。1.2项目研究现状从国内的各项网络信息用用成果研究得出,在我国境内失物招领信息在线服务系统的应用方面,目前还比较少,而且相比于国外各项网站系统应用来说这之间的差异不可谓不小。而且,我国境内在这方面的研究探索还处于较为初级的情况,而在这方面的应用性研究探索更是少之又少,各项研究相关的信息标准系统与应用尚不健全,所以无法通过这些内容对当前的在线失物招领平台应用进行一个全面、系统的客官评价。所以,国内针对这方面的系统性与应用研究,还需要进行进一步的深化与应用。不难发现,在国内的各大公共场所,易出现物品丢失的地方,大部分都没有建立失物招领平台,没有很好的利用网络来方便失主取回自己丢失的物品。更多的地方依然运用人工的方式,设立失物招领处,但由于时间及地点的限制性,失主并不能很快地成功地取回自己丢失的物品。相比来说,国外在在线失物招领服务系统建设与应用方面,比起国内来说领先很多,很多国外用户已经习惯通过这些在线信息服务平台来进行失物招领的功能实现,并且在各项服务内容方面已经实现了系统性、完整性的服务完善,这也是我国当前在线信息服务系统必须要进行学习的内容,从而通过这项信息服务在线平台的建设促使我国在这方面的研究与应用快速进入信息数据时代。。1.3设计目的本文主要对失物招领信息管理平台的物品信息等问题进行设计,通过对本系统的开发和应用可以:使失主在最短时间内取回自己丢失的物品;可以实现失主与拾物者之间的良好沟通;可以完善管理流程,该系统的开发及利用,很好地对失物信息、拾物信息等做出管理操作流程进行修改。1.4论文组织结构本论文共分为六章,首先是对为何选择本课题进行必要的阐述和分析,介绍了失物招领信息平台的背景及其意义所在,然后引出了失物招领信息平台人们的需求分析,系统的设计和测试等内容。接下来论文着重描述了需要用到的一些相关技术,并对其进行分析,然后是设计和实现这个系统的基本步骤,从需求分析到功能的实现,最后是对系统的测试和对于整个开发过程进行总结。1.5相关技术简介1.5.1JSP技术JSP信息应用技术是SUN公司在上世纪末为了实现各项信息应用服务在推行的技术内容,并且以JAVA信息系统为基础进行Web信息开发与应用,从而在这个技术基础上实现整个动态信息服务平台的安全性与优先性建设。而且该技术在各方面的应用方面也可以帮助诸多动态web页面开发与应用的加速。它主要有如下几个方面的特点:将内容的生成和显示进行分离在进行在线平台开发的时候,可以以JSP信息应用技术为基础利用HTML以及XML进行页面的设计与格式化操作。而且JSP技术也可以进行页面各项动态内容进行生成操作,而且其所生成的各项代码内容则在Servlet和JavaBean组件里面与脚本进行结合,从而在终端服务器里面进行运行处理。在系统运行里面通过JSP信息所进行的标识与程序内容,通过各项内容请求的生成,从而在终端信息内容方面通过HTML页面表现方式传送到浏览器上面。这种处理方式不仅仅可以帮助开发人员实现代码的有效保护,也可以针对各类HTML技术基础上的Web信息应用保证其应用性价值。强调组件的重用在具体应用层面JSP技术一般会通过相关的组件实现其各项程序应用的处理,这些组件必须是可重复使用的,而且兼容各类不同平台应用。所以在进行开发应用的时候我们可以将这些组件内容进行共享以及交换应用,从而促使这些组件在其应用范围与开发应用方面实现更优秀的应用价值。此方法加速了总体开发进程。采用标识简化页面开发由于进行页面开发的工作人员本身对于编程语言并不熟悉。JSP技术封装了许多功能:可以对JavaBean组件内容进行访问以及实例化操作,并且对其各项属性内容进行设置以及检索服务,同时实现APP服务内容的下载等。在实际应用里面可以利用已定制好的标识库内容进行JSP应用的拓展,在这里可以针对系统常用的各类功能进行标识库建设,并且帮助开发人员对各项工具以及功能组件进行操作的熟悉。一旦将JSP技术与J2EE等平台进行各项技术整合应用的时候,该技术可以为用户实现各类企业级的技术拓展与功能提升,这些都是当前企业Web程序应用开发必须要具备的功能及内容。与微软公司的ASP技术相比,JSP具有如下优点:(1)开放的技术:以信息技术平台与服务器应用为基础,JSP信息技术对于各种专业性、广泛性以及服务性的组件和数据库内容进行支持,也因此受到各类开发商的青睐。相比之下,ASP技术主要依赖MICROSOFT支持。(2)平台和服务器的独立性:该技术在进行所编写出来的代码功能强大,并且可以保证在任何JAVA语言环境及相关语法结构基础的环境里进行程序操作。这种前提下使得该技术可以在不同WEB服务器上面应用,并且对各类工具包内容进行操作支持。(3)开放的开发过程,开放的源码:自从95年之后,SUN公司利用开放的方式与国际组织通过合作的形式进行各项技术与规范内容的开发、应用修改。(4)JSP标记可扩充性:该技术在开发应用方面有效实现相关标记的拓展,并且可以将其标记技术里与XML有效兼容的强大功能应用起来,从而降低对系统脚本语言系统的依赖性。(5)JSP跨平台的可重用性:该技术相关的组件内容必须可以重复多次使用,并且可以在各个平台系统里有效应用。1.5.2JavaBean技术由于JSP技术再动态网站开发应用方面的功能性优良等情况,使其在这方面的应用也不断拓展和深入,并且在其具体应用方面通常会搭配JavaBean成为当前程序开发里面应用最频繁的标准组合。相对来说,这种组合里面搭配的组件是该技术对应的组件内容,而且与Microsoft里的组件com内容定义相似。另外在该技术模型里面,由于对应组件内容本身的程序拓展功能,所以可以由此实现全新应用程序的快速生成。而且对于程序开发人员来说,这种组件还能帮助当前各类代码的重复性操作,而且也能保证其应用程序的维护性功能等内容。而且根据技术相关的虚拟机功能,可以实现其组件等内容的正确操作,并且与平台没有具体相关性。一个JavaBean有三个部分组成:属性(Property)在JavaBean组件里面其对应的属性与对象一致,而且可以有效实现属性在读取与接口设置等方面的功能性操作。例如,以Bean命名的时钟有时区等属性,日历则有年、月、日等属性,在这里任何属性都依据当前的简易性规则进行,并且在此基础上实现属性的查询与调整等操作,从而对整体内容进行操作。方法(Method)我们进行Bean对应的Java内容调整的方式,一般是通过其相关的交互内容所作用。而且JavaBean在针对对象所进行的设计一般都会遵守严格的设计逻辑,从而对外界的各类字段实例访问信息进行隔绝。这样,方法调用的是接触Bean的唯一途径。事件(Event)与其他的软件内容进行信息沟通的手段方面,Bean一般采用的是信息发送与接收来实现。与信息通信的手段一致。JavaBean传统的应用在于可视化的领域,如AWT下的应用。该技术在产生之后,其组件在非可视化方面进行的应用更加的广泛,而且在服务器终端方面的应用更加的活跃。特别是进行非可视化操作的时候,该组件一般用于进行数据库以及各项逻辑操作,从而将各项前台程序内容与业务逻辑进行有效分离,进而保证了信息服务系统的强化与活跃。1.5.3JDBC技术针对Java程序内容而进行开发的JDBC,SUN公司主要将其应用在实现数据库连接等方面,并且支持各种常用的数据库连接功能实现。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。JDBC有一个非常独特的动态连接结构,它使得系统模块化。使用JDBC来完成对数据库的访问包括以下四个主要组件:Java的应用程序、JDBC驱动器管理器、驱动器和数据源。简单地说,JDBC能完成下列三件事:(1)同一个数据库建立连接;(2)向数据库发送SQL语句;(3)处理数据库返回的结果。JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。它由一些Java语言写的类、界面组成。在具体应用方面程序开发人员根据实际需求,以该技术为基础进行了标准化设计接口的支持,从而便于实现Java语言的数据库及应用程序的编写。利用该技术的强大功能,我们可以在任何数据库里实现SQL语句的传送操作。所以,在进行程序编程操作的时候,开发人员不用针对不同语言系统进行不同的程序编写,而只需通过JDBC激素的应用,将所需的SQL语句自动进行传送,将其传输到对应的数据库系统里面。而且,在任何Java所支持的系统平台方面无需进行对应的应用程序编写,都能实现Java程序的运行操作。这才是真正的便捷化程序编写操作。由于Java本身的安全性高、便捷应用、自动下载等功能,其在数据库连接等方面的编程应用方面效果极好,而与JDBC技术的配合应用更可以使其实现任一数据库的连接应用。在应用层面该技术可以对Java技术进行功能性的拓展应用,并且可以在此基础上实现web页面的远端数据库访问功能。在企业系统应用里面,可以通过这个功能让所有的员工通过当前的常用计算机系统应用,在互联网络上实现同一个或者多个数据库的访问操作。1.5.4用JDBC访问数据库由于在Java.sql*里所保存的是数据库所对应的对象与方式,因此必须先进行importjava.sql.*,所以可以在进行驱动调整之后再行进行数据库的连接。Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");这是JDBC-ODBC的驱动程序。在进行指定数据库应用系统连接的时候,首先要先进行Connection类实际案例的创建。Stringurl="jdbc:odbc:Groceryprices";Connectioncon=DriverManager.getConnection(url);当前我们进行控制面板ODBC所设置的数据资源名称可以应用在数据库名称里。而且不同数据库应用里URL所对应的语法内容也不尽相同。语法是这样的:jdbc:subprotocol:subname开头都是JDBC,后面是子协议,然后是ODBC名称。如果仅仅采用JDBC所对应的驱动内容,那么就要进行相应的第三方驱动安装来对应处理,这些在各类官网都可以实现其应用的查找,所以对此不作详细探讨。所以本次在线信息服务系统进行数据库连接的驱动程序内容是JDBC-ODBC,由于JavaBean相关的组件应用避免了重复代码的出现,其具体操作内容可以按照下面步骤:packageexam;importjava.sql.*;publicclassExamBean{StringstrDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; //JDBC-ODBC驱动程序StringstrDBUrl="jdbc:odbc:exam";privateConnectionconn=null;privateStatementstmt=null;ResultSetrs=null;//<!--注册数据库驱动程序-->publicExamBean(){try{Class.forName(strDBDriver);} //<!—异常处理-->catch(java.lang.ClassNotFoundExceptione){System.err.println("exam():"+e.getMessage());}}//<!—建立数据库连接和定义数据查看-->publicResultSetexecuteQuery(Stringsql){rs=null;try{conn=DriverManager.getConnection(strDBDriver); //创建数据库连接对象stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//支持数据回滚rs=stmt.executeQuery(sql);}catch(SQLExceptionex){System.err.println("aq.executeQuery:"+ex.getMessage());}returnrs;}//<!—定义数据更新操作-->publicvoidexecuteUpdate(Stringsql){stmt=null;try{conn=DriverManager.getConnection(strDBDriver);stmt=conn.createStatement();stmt.executeUpdate(sql);stmt.close();}catch(SQLExceptionex){System.err.println("aq.executeQuery:"+ex.getMessage());}}//<!—关闭数据库连接-->publicvoidcloseStmt(){try{stmt.close();}catch(SQLExceptione){e.printStackTrace();}}publicvoidcloseConn(){try{conn.close();}catch(SQLExceptione){e.printStackTrace();}}1.6本章小结本章对为何选择失物招领信息平台这个课题进行详细的论述,介绍了此次毕业设计课题的背景及其主要意义,设计的目的。并且对于本文接下来的框架结构,内容简述做简单描述。2需求分析2.1可行性研究2.1.1技术可行性根据失物招领信息平台的需求,可得出:本次在线失物招领服务平台的建设,应用的web系统开发技术为基础进行整体设计,并且本次所设计的系统在功能上除了用户实现查询与信息浏览的同时,还有基础的账户登录以及管理员进行信息管理等各项功能内容。系统采用B/S模式。本次我们所设计的在线系统内容里面最为重要的就是实现数据整合的数据库构架,其功能完善与否直接关系到系统设计的优秀与否,同时在这个系统里面实现两大系统的整体界面优化与数据处理操作。SQLServer2000业务服务器SQLServer2000业务服务器数据库服务器事务逻辑数据逻辑ClientBrowser表示逻辑Browser表示逻辑JSP网页WWW服务器/业务逻辑服务器JavaBean组件中间件JDBC数据库服务器数据库图3-1系统模式图本次所设计在线服务系统在结构上面采用的层次复合形式,客户在进行整个系统的数据处理操作的时候可以利用客户端系统在浏览器上面实现此功能,而在浏览器页面的各项信息内容则可以利用JSP网页系统处理。另外在该系统里的JavaBean组件可支持各类复杂逻辑业务处理,从而实现其在万维网服务器上面的操作运行,进而利用JSP技术帮助用户实现浏览器的返回操作。另外由于内容表现与业务等逻辑系统的分离运行,从而保证了网页内容表现的整体简洁,以及实现用户系统在维护与拓展功能的强化。在终端服务器里面可以利用JDBC组件进行数据库的访问,并且对当前的数据与业务相关逻辑进行数据库系统的定义。在系统开发里面,本次设计的系统表现手段采用的是JSP技术,而且以Tomcat5.0.3作为服务器内容对JSP技术进行动力支持,相关的系统业务则由Bean组件来实现,并且通过JDBC3.0实现数据库的驱动访问。在进行整体系统测试的时候必须以成熟的数据库内容作为技术支撑,所以在系统构建方面以当前常用的SQL2000进行数据库服务构建。3、系统概要设计3.1系统开发准备 系统在开发前需要做好充足的准备工作,其中最重要的就是要对系统的功能需求以及开发系统的运行环境深入了解。对需求进行了解可以帮助开发人员开发系统功能,而了解开发系统的运行环境则是进行系统开发的基础。 本系统平台的开发工具与使用环境如表3.1所示:表3.1系统开发平台及开发工具操作系统数据库开发工具服务器端WindowsXPMysqlEclipse3.2系统整体设计失物招领信息平台系统主要目的是对丢失物品和捡到物品信息进行行管操作,所以,失物招领信息平台主要由用户和管理员两个功能模块组成,如图3.1所示:失物认领系统失物认领系统用户注册会员搜索物品修改个人信息会员交流认领失物管理员会员管理失物招领管理认证信息管理在线交流管理图3.1系统总体模块设计其中用户又分为失物者和拾物者两种身份。3.3系统目标和功能设计主要功能介绍:用户注册:系统注册会员后,用户才可以发布信息。用户浏览物品:用于用户浏览物品信息。会员添加物品:用户登录成功后才可以使用,失物信息在前台页显示。用户或会员搜索物品:用于用户或会员搜索物品信息。会员删除物品:用户登录以后才可以删除之前已发布的失物信息。会员修改物品:注册成会员之后,用户才可以修改物品信息。会员修改个人信息:用户成功登录后用与修改信息。会员之间发消息:用于会员之间的交流。会员认领物品等功能:用户会员用户认领失物。管理会员信息:本功能只能管理员允许使用,删除某些会员信息。管理失物信息:本功能只能管理员允许使用,删除某些失物信息。管理认领物品:用来管理用户认领物品。3.4数据库设计数据字典最重要的作用就是体现在系统分析阶段,为数据模型的开发提供数据项。在系统分析阶段,通过对系统的深入分析,进而得出可行方案,这对于系统的开发有着不可言喻的作用。而数字字典作为系统分析阶段的一个重要工具,数据字典通过对数据流程图上的内容进行标注。数据字典的作用与其他字典类似,都是对相关内容进行解释,作为数据库的中心,起到了非常重要的作用。数据字典作为系统分析阶段的一个重要工具,其中所涵括的数据项都有着一定的价值。由于利用了特定的数据元素的程序,因此在对数据产生的影响方面的结果也就非常容易改变了,与此同时,所有受到影响的模块也会在此基础上发生改变。统一来讲,数据字典被认为是所有数据项的集合,数据流图反映的是数据与处理这二者的联系。通常来讲,数据字典涵括了以下几种元素:数据流、数据流分量、数据存储、处理。3.4.1数据库设计原则(1)数据库在设计时应该注重将设计变得更加规范化,一个规范的数据库是可避免数据冗余和重复的出现。无论是何时,数据库表设计都目的都是帮助系统更加符合人们的需求,尽管信息冗余没有好或者不好的总体倾向,但一个相对合理的数据库表都应当做到减少数据冗余。(2)结构设计和操作设计相结合数据库在设计时应当注重将结构设计和操作设计相结合,对于任何一件事物的评价都不能一概而论,数据冗余也是一样,有时数据冗余还可以增加查询速度。因此在有足够存储空间的前提下,数据冗余可以为编程提供诸多便利。因此,结构设计和操作设计应当紧密结合。(3)数据库在设计时应当注重数据结构的稳定性,功能、工作流程和模式作为重要的因素,尽管在设计时采取的方法是多样的,但这两项因素绝对不能因为方法的使用而改变。3.4.2数据库设计表下面为本系统的数据字典:数据流名称:用户登录信息别名:无简述:用户登录时填写的信息来源:用户去向:用户登录数据流量:500份/天组成:用户名+密码1AdminnameVarchar管理员名2AdminpasswordVarchar管理员密码数据流名称:用户注册信息别名:无简述:用户注册时填写的信息来源:用户去向:用户注册数据流量:10份/天组成:用户真实姓名+用户名+密码+联系电话+电邮+性别+(联系住址)+(邮编号)1Usernamevarchar用户名2Realnamevarchar用户真实姓名3Passwordvarchar密码4Emailvarchar电邮5Telvarchar联系电话6Sexvarchar性别7Addressvarchar联系地址8postvarchar邮编数据流名称:失物的一般信息别名:无简述:用户添加失物时填写的信息来源:失物信息的添加去向:失物信息表文件数据流量:50份/天组成:失物的名称+失物的简介+失物的类别+图片的名称1Lostnamevarchar名称2Typevarchar类型3Interovarchar介绍4Photovarchar图片5Linkvarchar联系人6Telvarchar电话7Remarkvarchar备注信息8idint编号数据流名称:失物组成明细别名:无简述:用户添加失物时填写的信息来源:失物信息的添加去向:失物组成明细添加数据流量:50份/天组成:失物名称+数量1IdIntId2Namevarchar失物名称3Numvarchar数量 数据流名称:各种相关信息别名:无简述:系统管理员录入数据及读取数据时的内容信息来源:录入去向:数据文件数据流量:10份/天组成:各类信息1IdIdId2Titlevarchar标题3Contetnvarchar内容4Addtimevarchar添加时间3.5本章小结在本章中,笔者从四个角度着手来对系统的概要设计进行解读。这四个方面通常涵括了系统开发准备、系统整体设计、系统目标和功能设计和数据库设计,系统实现作为系统实现阶段的一项重要工作,会对系统开发产生不可言喻的影响,主要体现在系统开发的质量方面。在本章的主要内容涵括了以下方面:系统分析、系统功能、登录界面、信息错误等情况。4、系统详细设计及实现4.1登录界面1)接口设计:系统登录界面程序通过一按钮直接调用失物招领管理平台主界面程序,打开失物招领信息管理平台用户主界面。登录模块接口设计如下图所示:2)界面的实现:因为此系统是提供给失物者和拾物者使用的,所以本着简洁,清新的原则设计了绿色基调的界面,界面简单清晰,页面可以在相关单位买走后加入相关单位的logo标识。系统登陆界面主要实现的是用户输入“用户名"、“密码”并判断用户权限登录到系统中,从而实现不同用户的职责。当出现输入信息存在问题的情况时,系统会针对存在的问题进行提示。用户在提交数据时并不是直接就会予以通过,而是要对其数据进行检测,倘若用户所输入的信息存在问题,则会对上述问题提出指示,当用户登录信息不符时,会出现以下的界面,如图4-4所示:4.2系统E-R图密码密码用户名用户管理信息会员管理留言管理新闻管理失物管理4.3处理流程设计4.3.1系统操作流程系统登录界面输入操作员及密码系统主界面系统管理错误信息系统登录界面输入操作员及密码系统主界面系统管理错误信息数据库检查密码错误 数据库检查密码错误密码正确功能界面功能处理密码正确功能界面功能处理4.3.2数据增加流程当出现需要增加信息的情况时,编号字段是自动生成,然后其他内容则需要用户自行进行输入,输入内容需要进行一定的判定,判定合法才能保存数据,不合法则不予以保存,需要进行再次输入。数据增加流程图:开始开始自动生成编号输入数据是否合法写入数据库结束图3.2数据增加流程图4.3.3数据修改流程当出现需要修改信息的情况时,修改内容需要进行一定的判定,当修改内容不合法时需要再次输入,合法时则会对数据进行修改。数据修改流程图如图3.3所示。开始开始选择需要修改记录输入数据是否合法写入数据库结束图3.3数据修改流程图4.4.4数据删除流程用户选定某调记录的时候,单击删除按钮,然后界面会提示是否删除,删除数据库相关内容。数据删除流程图如图3.4所示。开始开始选择需要删除记录是否删除更新数据库图3.4数据删除流程图4.4系统主要功能模块4.4.1管理员登陆要登陆系统,首先显示的是用户登陆的界面,目的是维护系统的安全性及完整性。界面如下图所示:主要代码如下:packageutil;importjava.sql.*;publicclassDBConn{static{try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");// Class.forName("com.mysql.jdbc.Driver");//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exceptionex){ex.printStackTrace();}}publicstaticConnectiongetConn(){try{ Connectionconn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=hshygl","sa","123");// conn=DriverManager.getConnection("jdbc:mysql://localhost/fzshop","root","123");// Connectionconn=DriverManager.getConnection("jdbc:odbc:temp");returnconn;}catch(Exceptionex){ex.printStackTrace();returnnull;}}publicstaticvoidclose(Connectionconn,Statementst,ResultSetrs){ if(rs!=null){try{rs.close();}catch(SQLExceptionex){}}if(st!=null){try{st.close();}catch(Exceptionex){}}if(conn!=null){try{conn.close();}catch(Exceptionex){}4.4.2认领信息管理管理员可以对认领信息管理。界面如下图所示:主要代码如下:packageutil;importjava.io.UnsupportedEncodingException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassValidate{ /** *是否为数字和英文验证 * */ publicintgetIntAndChar(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!((c>='0'&&c<='9')||(c>='a'&&c<='z')||(c>='A'&&c<='Z'))){ break; } }//判断字符是否在某个区间 if(i<str.length()){ return-1; }else{ return0; } } /** *是否为整数验证 * */ publicintgetInt(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!(c>='0'&&c<='9')){ break; } }//判断字符是否在某个区间 if(i<str.length()){ return-1; }else{ return0; } } /** *是否为非法字符验证 * */ publicbooleangetLawlessChar(Stringstr){ booleanflag=false; charc; for(inti=0;i<str.length();i++){ c=str.charAt(i); switch(c){ case'<':flag=true;break; case'>':flag=true;break; case'"':flag=true;break; case'&':flag=true;break; case'':flag=true;break; } } returnflag; }4.4.3用户信息管理管理员能够管理所有的用户,包含删除或者回复等的操作。界面如下图所示:主要代码如下:packageutil;importjava.io.UnsupportedEncodingException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassValidate{ /** *是否为数字和英文验证 * */ publicintgetIntAndChar(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!((c>='0'&&c<='9')||(c>='a'&&c<='z')||(c>='A'&&c<='Z'))){ break; } }//判断字符是否在某个区间 if(i<str.length()){ return-1; }else{ return0; } } /** *是否为整数验证 * */ publicintgetInt(Stringstr){ charc; inti; for(i=0;i<str.length();i++){ c=str.charAt(i); if(!(c>='0'&&c<='9')){ break; } }//判断字符是否在某个区间 if(i<str.length()){ return-1; }else{ return0; } } /** *是否为非法字符验证 * */ publicbooleangetLawlessChar(Stringstr){ booleanflag=false; charc; for(inti=0;i<str.length();i++){ c=str.charAt(i); switch(c){ case'<':flag=true;break; case'>':flag=true;break; case'"':flag=true;break; case'&':flag=true;break; case'':flag=true;break; } } returnflag; }4.4.4注册会员浏览该系统的用户可以在此软件上注册会员,在注册内容方面涵括了用户名、密码、姓名等信息。界面如下图所示:主要代码如下:packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importutil.Validate;importbean.InsertUpdateDelBean;publicclassAmountServletextendsHttpServlet{ /** *Constructoroftheobject. */ publicAmountServlet(){ super(); } /** *Destructionoftheservlet.<br> */ publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } /** *ThedoGetmethodoftheservlet.<br> * *Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget. * *@paramrequesttherequestsendbytheclienttotheserver *@paramresponsetheresponsesendbytheservertotheclient *@throwsServletExceptionifanerroroccurred *@throwsIOExceptionifanerroroccurred */ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doPost(request,response); } /** *ThedoPostmethodoftheservlet.<br> * *Thismethodiscalledwhenaformhasitstagvaluemethodequalstopost. * *@paramrequesttherequestsendbytheclienttotheserver *@paramresponsetheresponsesendbytheservertotheclient *@throwsServletExceptionifanerroroccurred *@throwsIOExceptionifanerroroccurred */ publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("gb2312"); Stringid=request.getParameter("id"); Stringamount=request.getParameter("amount"); Stringsql="updateuserssetamount=amount+"+amount+"whereid="+id; InsertUpdateDelBeanib=newInsertUpdateDelBean(); ib.insertANDupdateANDdel(sql); sql="insertintopayment(usersid,name,price)values("+id+",'',"+amount+")"; ib.insertANDupdateANDdel(sql); request.setAttribute("message","操作成功!"); RequestDispatcherrd=request.getRequestDispatcher("/admin/users_amount.jsp"); rd.forward(request,response); }4.4.5信息查询如果需要查询遗失信息或招领信息,只有会员可以进行查询,支持模糊查询。界面如下图所示:主要代码如下:packageservlet;importjava.io.IOException;importjava.io.PrintWriter;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importutil.Validate;importbean.InsertUpdateDelBean;publicclassAmountServletextendsHttpServlet{ /** *Constructoroftheobject. */ publicAmountServlet(){ super(); } /** *Destructionoftheservlet.<br> */ publicvoiddestroy(){ super.destroy();//Justputs"destroy"stringinlog //Putyourcodehere } /** *ThedoGetmethodoftheservlet.<br> * *Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget. * *@paramrequesttherequestsendbytheclienttotheserver *@paramresponsetheresponsesendbytheservertotheclient *@throwsServletExceptionifanerroroccurred *@throwsIOExceptionifanerroroccurred */ publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ doPost(request,response); } /** *ThedoPostmethodoftheservlet.<br> * *Thismethodiscalledwhenaformhasitstagvaluemethodequalstopost. * *@paramrequesttherequestsendbytheclienttotheserver *@paramresponsetheresponsesendbytheservertotheclient *@throwsServletExceptionifanerroroccurred *@throwsIOExceptionifanerroroccurred */ publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("gb2312"); Stringid=request.getParameter("id"); Stringamount=request.getParameter("amount"); Stringsql="updateuserssetamount=amount+"+amount+"whereid="+id; InsertUpdateDelBeanib=newInsertUpdateDelBean(); ib.insertANDupdateANDdel(sql); sql="insertintopayment(usersid,name,price)values("+id+",'',"+amount+")"; ib.insertANDupdateANDdel(sql); request.setAttribute("message","操作成功!"); RequestDispatcherrd=request.getRequestDispatcher("/admin/users_amount.jsp"); rd.forward(request,response); }4.4.6网站首页设计4.5本章小结本章的主要内容是从系统方面着手,对其设计进行详尽的介绍,其中最主要的是将数据分析体现在每一个表中,与此同时还要将功能模块进行分化以保证高效完成。介绍了功能模块实现的过程和实现功能,主要介绍了登录模块和管理模块,并将系统界面展示出来5、系统调试与测试5.1程序调试系统的设计并不是一帆风顺的,出现一些问题在所难免。在设计时出现的错误主要涵括了以下两类,第一类就是语法错误,通常来讲,在出现这种错误的情况时,开发软件会进行提醒,因此改正起来非常简单,第二类就是在逻辑方面产生的错误,由于人们定向思维的影响,这种错误并不容易发现,具有很强的隐蔽性,解决起来也需要花费足够的精力。5.2程序的测试5.2.1测试的重要性及目的(1)测试的重要性在某一软件的生命周期中,软件测试贯穿于生命周期的始终,软件测试的用途也就不言而喻了。随着互联网技术的进步,人们对于测试的理解也在不断的深入,以前的一些观点也在不时的被改变。在以往的瀑布模型中,人们认为软件测试只是出现在开发结束后以及开始运营之前,随着技术的进步,人们发现上述观点并不科学,于是提出了软件测试出现于整个生命周期中。软件测试可以使得功能需求与系统所吻合,如果不一开始就进行软件测试,而是等结束后才测试,会产生非常大的工作量。在软件开发中,出现错误是在所难免的,无论是谁或者无论采用了多么科学的编程语言都避免不了出现错误。细心开发、采用先进开发方式等途径只能尽可能的减少错误,而做不到杜绝错误,为了保证程序的正常运行,就需要通过软件测试来寻找出存在的问题。软件开发过程中最重要的环节是软件测试,贯穿于程序设计的始终。通过对有关参考文献的阅读,在软件开发过程中,软件测试花费的成本最多可占据50%,与此同时,软件测试的工作量也是非常巨大的。最重要的是不论开发阶段还是运营阶段都需要,乃至于软件的生存期内都需要进行测试。根据笔者对众多软件测试人员的调查了解,发现有部分测试人员持有着一种消极的工作态度,由于测试过程中会遇到许多困难,面对困难,许多测试人员会产生敷衍了事的心态,进而逃避困难,其中还有许多错误的观念,如下:认为测试工作相较于编程,显得无关紧要,难以从测试工作中获取满足感以为测试流程中发现错误是对编程人员劳动成果的不尊重,发现该错误具有非建设性。③系统测试缺乏足够的吸引力④测试工作是艰苦而细致的工作;⑤认为自己所编写的程序都是正确的,过于自信。当出现错误时,担心别人会认为自己缺乏足够的能力以上的观点都有些偏薄,这些观点往往会对系统软件的开发产生不利的影响,只有合理持有正确的心态,才能保证系统的质量。(2)测试的目的倘若进行测试是为了寻找到更多的错误,在测试过程中就会很自然的将测试重心放在系统较为复杂的部分以及前期出错较多的部分。1.进行系统测试旨在寻找出系统中所存在的问题

2.系统测试进行的意义在于对系统中出现的错误进行发掘,倘若只是为了表明系统没有错误就显得毫无意义

3.测试用例在评判时的依据是看其是否能在测试中发现问题

4.评判一个系统测试是否成功主要看其能否发现尚未出现的问题针对以上的观点,笔者认为这种观点过于狭隘,持有这种以错误为中心的检测的态度,而不是为了让功能需求与系统所完美吻合,这就已经失去了测试的价值。首先,测试并不仅仅是为了要找出错误。而是要通过发现错误的原因,并且要对该错误的地方进行分析,还能做到解决当前存在的问题,在以后的软件开发中还可以有效的避免犯类似的错误,其次,通过一次又一次的测试,可以发现测试的不足之处,进而拓宽测试的方法。该测试没有发现任何错误也是很有价值的,完整的测试必须是评定测试质量的一种有效方式。5.2.2测试的步骤无论系统是在开发阶段还是在测试阶段,每个环节都需要按照一定的步骤来执行,这是保证一个软件系统可以正常运行的基础,而每个步骤之间都有着一定的关联性,下一个步骤往往是承接了上一个步骤。与此同时,一个功能相对完善的软件通常包含了不止一个子系统,而每一个子系统里面又包含着许多模块。因此在测试过程中,为了保证测试的有效性,通产包含了如下的步骤:(1)模块测试模块测试主要是从编码的角度着手,通过编写一小段代码来检测其功能,通常情况下,模块测试都是在一定条件下,测试一个函数的行为是否存在错误。(2)系统测试系统测试即对一个产品进行系统的测试,在这一阶段发现的问题通常包含以下两种:一是软件设计中存在的问题;而是需求说明中存在的问题。(3)验收测试验收测试主要是从软件开发前的功能需求出发,检测是否与预期的功能需求相吻合5.2.3测试的主要内容软件开发最重要的环节就是测试,为了保证该有效性,包含以下内容:代码核实、单元测试、集成测试、确认测试及系统测试。(1)单元测试单元测试是诸多测试内容中的第一项,这一阶段测试的主体是模块上,模块作为软件开发过程中的最小单位,细微的问题都可能会对下一阶段的进行产生影响,单元测试的进行旨在测试各个模块的功能,测试其是否与预期功能需求相符合。(2)集成测试各个模块都已经测试完成之后是集成测试发生的主要背景。该测试主要针对的问题是各个模块间接口是否存在问题。这一阶段的测试非常重要,因为一旦出现错误,并且对此没有予以重视,这些问题很有可能逐渐的积累起来,最终回在很大程度上影响软件的正常运行。此外,通过集成测试还可以预防以下情况:当两个模块分别可以正常运行时,但如果组合起来,功能就会有所改变。全程数据结构可能有错误等。(3)确认测试为了保证所开发的系统与其预期的功能需求相符合,进行确认测试是非常重要的一个环节,通过确认测试,可以对软件性能的有效性进行判定。确认测试一般发生集成测试之后,集成测试只是单单将各个模块组建起来,并将模块间接口存在的错误进行排查,如果缺乏确认测试,软件很有可能出现与预期效果不符的问题。(4)系统测试软件的开发只是系统成功运行的一个步骤,在软件完成开发之后,还有一项工作需要投入足够精力,那就是系统测试。系统的测试包括了诸多方面,例如:安全测试、性能测试以及压力测试。通过系统测试可以看出设计的系统是否满足需求关系,是否在运行过程中存在矛盾之处。单独进行系统测试通常会从这几个方面进行:功能测试:检验是否能够满足开发的需求,能否供给设计所描述的功能,能否满足用户的需求。功能测试是系统测试比较常用与必要的测试,一般会一正式的软件说明书为测试的标准。②强度测试及性能测试:检验系统能力最高的实际限度,以及在超负荷情况下软件功能实现的状况。③安全测试:经过检验得以证实安装在系统里的保护机构可以对其进行保护,能够让系统不收任何干扰。本系统主要是对权限系统的测试与对错数据、无效的数据及非法数据干扰的能力的检验。通过以上对软件系统测试后,该软件能够满足开发的需求,测试宣布结束。5.2.4测试用例设计测试用例如下:功能模块名:系统登录测试目的:确定输入信息是否合法,能够允许合法的登陆,拒绝非法的登陆。测试数据:用户账号名:test(测试),用户密码:1234系统管理员的登录测试数据模板如下图:表格5.1系统管理员的登录测试数据模板测试数据测试功能期望结果实际结果用户账号名:test,密码为空系

温馨提示

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

评论

0/150

提交评论