大家好,今天给大家介绍基于javaEE+原生Servlet+MySql的物流信息网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
该系统实现了用户登录、注册、查询快递信息、快递公司注册成为合作伙伴以及系统管理员对信息进行管理等功能。系统的主要界面会将所有的服务排列好,用户可以自行选择服务。用户可以查询快递的详细信息以及快递公司的价格以及邮递的时间。系统管理员可以查看所有的信息,甚至可以更新快递的地址。快递公司可以填写公司相关信息成为该系统的合作伙伴。
随着时代的进步,人们的生活水平日益上升,平常的消费已经无法满足人们的需求,再加上互联网的发展,网上购物已经成了人们必不可少的消费渠道,就会需要物流业来配送这些货品,因此,消费者才会急需要一个系统来管理这些货物的信息。
物流信息网主要用于实现网上自主物流,基本功能包括:登录、查询、时效查询、价格查询、注册等。本系统结构如下:
(1)普通用户:
登录:账号、密码;
查询:通过快递编号进行查询;
时效查询:根据出发地和接收地进行查询;
价格查询:根据出发地,接收地以及重量进行查询;
注册:用户进行注册;
合作伙伴:和各个物流公司进行合作。
(2)管理员:
管理员登录:对于已经登录的用户,若权限为管理员,可以进行管理员的登录,登陆之后才能有权限进行下一步操作;
物流管理:对物流进行增删改查操作;
地址管理:对物流的到达地址进行管理;
用户管理:用户注册成功后,管理员可以对用户进行添加、删除操作。
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:23392个字53页
包含内容:整套源码+完整毕业论文+答辩PPT+任务书+辅导视频+运行截图
提示:以下为毕业设计的简略介绍,项目源码及完整毕业论文下载地址见文末。
绪论
1.1课题背景
省略
出现问题就要解决,为了解决上面所述的一系列问题,人们就设计出了物流网站来解决这些问题,网站查询快递不仅便利了用户查询快递的相关信息,还方便了快递公司的管理。再者,还改变了人们消费的观念和方式,已经成为了网上购物族每日必浏览的网站,这为电子商务的发展起到了至关重要的作用,并加快经济发展的脚步。
1.2目的和意义
省略
近年来,电子商务不断发展,丰富了消费者的选择;传统消费相比,电子商务更加快捷方便;例如,快递员可以送货上门,极大地方便了消费者的生活;并且,随着电子商务与物流行业的合作加深,消费者从消费到送货到家的时间和空间更进一步缩短,由此带来的巨大效益使得快递公司不断发展自己的网站设计,为消费者提供更优质的服务。与此同时,还方便了快递公司的管理,快递公司可以注册成为该系统的第三方,系统管理员可以在网站上更新快递邮寄的地区以及快递邮寄的时间和价格,管理员还可以查看系统的所有信息。所以,该系统是非常值得开发的下图是近年来的电子商务的交易额如图1.1
图1。1 2008-2015年我国电子商务市场规模
省略
物流网的主要目的是通过网站来推广快递公司的服务,并使客户可以随时查询到快递信息;与电子商务实现无缝接轨,为客户提供更加完善的服务。
1.3系统设计思想
与其他典型的数据库系统相比比较而言,本系统相对比较简单,但是也具备了基本的功能,满足了用户的需要,因此,本系统在设计是应该实现以下几个目标。
(1)采用人机交互的方式,界面简单、大方、易于用户理解操作,此外,系统响应时间短、安全可靠;
(2)便于顾客快捷地进行电脑快递信息查询;
(3)用户可以注册成为会员;
(4)实现电脑查询快递价格的功能;
(5)实现电脑查询快递详细信息;
(6)方便用户查询快递的详细信息;
(7)对用户输入查询、注册时输入的数据,系统会经过检验,排除一些明显的数据错误。
(8)系统管理员登录后查看用户、快递以及快递公司的信息。
(9)系统会最大限度地实现了系统的易维护性和易操作性。
1.4本文的结构
本文具体内容包括:可行性分析、需求分析、系统总体设计、系统详细设计与实现、系统的重要编码、系统的测试、系统维护。可行性研究是为了首先确定系统的得规模和目标,确定项目的约束和限制。
需求分析是为了进一步对系统提出完整、准确、清晰而且具体的要求。系统总体设计是为了对系统进行进一步分化,分化成一个个小的模块,便于完成设计。系统详细设计是对系统分化的每一个模块进行详细的分析。
系统测试是通过测试来找出系统的可能发生错误以及已经发生的错误,是对需求分析、设计和编码的最终复审。系统维护是指在系统交付使用之后,对出现的问题或新提出来的需求进行修改的过程。
本文着重描述了物流网的结构,详细说明了系统设计的每一个步骤,也对系统设计的理念做了一些简单的介绍,重点是对系统的实现方法以及相关技术做出了说明,最后,系统的测试是重中之重,占据了本系统设计的主要时间和精力,对系统做出了完整的测试,从而证实了本系统的可用性和实用性。
1.5本章小结
本章节是为本文的结构和该系统的设计步骤做出了大致的描述,主要叙述了编写本系统的目的和意义以及设计本系统的思想;再者,本文的叙述结构,不仅为读者提供了分析本文的依据,也为接下来的工作做了大致的介绍,具有重要的指导作用。通过编写本章节的内容,了解了设计系统的详细步骤和过程,接下来会按照本章节的叙述进行各步骤。
本章节是对全文的一个概括,是系统设计前的准备工作,通过调查之后对系统发展前景的一个预计估测;正所谓,磨刀不误砍柴工,有了充分的准备,接下来的工作才能更好地进行。
第二章 可行性研究分析
2.1引言
省略
2.2可行性研究前提
省略
2.3对现有系统的分析
省略
2.4对所建设系统的分析
对本次设计的系统而言,可以从以下的三个方面来进行详细分析:
1.经济可行性分析:该系统涉及面比较简单,实现的功能比较简单,工作量比较少,因此一个人也能单独完成此次项目,所要耗费的精力和财力相对比较少。
2.技术可行性分析:目前我们在本科期间已经学习了网页开发的相关知识,也做过一些实践性的成果;因此,我具备开发此项目的能力。
3.社会因素可行性:随着电子商务的兴起和兴盛,广大消费者迫切需要一个系统可以帮助他们来查询快递信息,来替快递公司来管理客户、快递资料。
图2-1 系统结构流程图
2.5本章小结
本章节是系统设计的第一步,是此次系统开发的基本,因此,要认真做好可行性研究,就像是盖房子,首先要打好地基,才能盖好一个房子;在本章节中,明确了用户对本系统的要求,并且初步确定了本系统设计的规模和目标;再者,通过与其他存在的系统的对比判断此次系统设计的可行性与实用性;最重要的是,判断此系统的是否值得投资,值得花费精力去设计;最后从用户角度进行分析,经过经济可行性、技术可行性和社会因素可行性等方面得出该系统的设计开发技术纯熟,系统收益比较高,具有良好的市场拓展,具有开发的价值。
第三章 系统需求分析
3.1引言
省略
3.2任务概述
该系统首先具有着统一友好的操作界面,保证系统的简单操作和实用性,方便用户的操作;其次,实现了用户通过快递编号查询,也可以通过地区和快递公司查询,用户也可以在该网站上查询快递时效和价格,当然,该网站还实现了用户注册成为会员或是合作伙伴;该系统最终将运行在各网站上和手机客户端。但该系统也有些局限性,用户不能修改快递信息,也不能修改自身注册的信息,更不能查看其他人的快递信息。其该系统的功能结构图如下所示。
图3.1 功能结构图
图3.4 2层数据流图
2.数据字典:
数据字典是对数据流图中所包含元素的定义集合;数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。
(1)数据流条目
登录表=账号+密码
查询表=快递单号+姓名+手机号+出发地+接收地+快递公司
网点表=出发地+接收地+时效+重量+价格
合作伙伴=编号+姓名+性别+公司
(2)数据存储条目
文件名:登录
组成:账号+密码
组织方式:索引文件,以账号为关键
文件名:查询
组成:快递单号+姓名+手机号+出发地+接收地+快递公司
组织方式:索引文件,以快递单号为关键
文件名:网点
组成:出发地+接收地+时效+重量+价格
组织方式:索引文件,以出发地为关键
文件名:合作伙伴
组成:编号+姓名+性别+公司
组织方式:索引文件,以编号为关键
(4)加工条目
加工名:登录
编号:1
输入:账号、密码
输出:账户快递信息
加工逻辑:根据登录表
If输入账号等于登录表中账号
If输入密码等于登录表中密码
Then输出该账户快递信息
Else输出账号与密码不匹配
Else输出该账号不存在
加工名:查询
编号:2
输入:快递编号
输出:快递信息
加工逻辑:根据查询表
If输入快递编号等于查询表中快递编号
Then输出该快递信息
Else输出该快递不存在
加工名:时效查询
编号:3
输入:出发地、接收地
输出:时效
加工逻辑:根据网点表
If输入出发地等于网点表中出发地
If输入接收地等于网点表中出发地
Then输出时效
Else输出不能快递到此地
Else输出不能从此地快递
加工名:价格查询
编号:4
输入:出发地、接收地、重量
输出:价格
加工逻辑:根据网点表
If输入出发地等于网点表中出发地
If输入接收地等于网点表中出发地
If输入重量等于网点表中重量
Then输出价格
Else输出该重量不能邮寄
Else输出不能快递到此地
Else输出不能从此地快递
加工名:注册
编号:5
输入:账户、密码
输出:注册成功、注册失败
加工逻辑:根据登录表加入新账户信息
加工名:合作伙伴
编号:6
输入:姓名、性别、公司
输出:合作成功
加工逻辑:根据合作伙伴表加入新合作伙伴信息
加工名:管理员
编号:7
输入: 账户、密码
输出: 快递信息、用户信息、留言板信息、快递公司信息
加工逻辑:根据登录表
If输入账号等于登录表中账号
If输入密码等于登录表中密码
Then输出 快递信息、用户信息、留言板信息以及快递公司信息
Else输出账号与密码不匹配
Else输出该账号不存在
3.4功能需求
该系统可将功能划分为:登录、注册、查询、合作、管理员查询,其中用户首先在主要页面上选择登陆后,系统跳转到登陆界面,用户在此页面上输入账号和密码登录查看自己的快递信息;
再者,用户也可以在主页上选择注册后,系统跳转到注册页面后,用户在注册页面填写相关信息后成为该系统的会员,系统会更加快捷的为用户提供服务;
最主要的功能是用户可以直接在系统主页面上填写快递单号来查询快递信息,也可以先选择快递公司,然后再在快递公司页面上填写快单号查询该快递公司所属快递信息;快递公司或其他广告公司可以在网站上参与合作,建立更加便捷的网络服务体系。最后,系统管理员通过登录后,可以查看用户、快递、快递公司的详细信息,方便了系统对数据的管理。
3.5性能需求
省略
3.6运行需求
省略
因此,我将使用HTML、JSP对该系统进行编程。其中系统的程序界面要做到操作简单,易于管理。在主要页面的设计上采用下拉式菜单方式供用户选择服务,用户可以自行选择想要的服务类型;总的来说,该系统的用户界面具有简洁性、易操作性和维护性。该系统还具有软件接口,本工程产品的软件接口由编程操作系统、SQL数据库以及物流管理应用软件的词典和数据结构组成;该系统还具备故障处理的功能,当出现错误时,本系统能自动修复故障,保证回退;当出现较难解决的问题时,本系统会提供对话框可以使用户提供反馈。如果在操作过程中出现意外,只需退出系统重新登录即可。
3.7 本章小结
需求分析是系统设计的第二个步骤,也是极为关键的一步,在本章节中详细的对本系统进行了需求分析,其目的是在于以通过对客户的调查以及对客户提出来的对系统的需求进行分析,确定出用户对系统的准确的,完整的需求,总的来说此过程的分析不仅仅细化了软件的作用范围,而且分析和确定了本软件系统构成的过程,以确定未来系统的主要成分及它们之间的接口细节;并且软件需求分析是系统设计与实现的最关键的一步,是系统开发设计的基础;因此,软件需求分析必不可少又极为重要。
第四章 系统总体设计
4.1引言
本章节编写的主要目的是要把上一阶段分析得出来用户对系统的需求变换为该系统如何实现这些用户的这些需求,总体设计是进入系统设计的第一个阶段,因此,该步骤至关重要,也是接下来进行工作的基础。在该阶段内,该系统将被分为5个模块,分别为登录、注册、查询、合作伙伴、管理员等。在下面我将使用层次图来表示本系统中各模块之间的关系。具体情况如下图4.1所示。
图4.1层次方框图
本系统一共分为用户查询、用户登录、用户注册、快递公司合作、系统管理员管理五个功能,五个功能之间看似相互独立,没有明显的直接联系,但是在对数据库的访问中却是紧密相连的,各个模块访问的是同一数据库的内容,有时候甚至会访问同一个表;例如,登录模块和注册模块访问的是同一个表格,管理员则访问的是这个数据库全部的表格。
本系统的主要页面比较简洁明了,用户可以很简单的掌握本系统的使用要领,但是主要页面还是存在着一些缺点与不足,主页面如下图4.2所示
图4.2主页面
4.2任务概述
1 .目标
开发基于JSP物流信息网的设计与实现
2.运行环境
系统将由两部分程序组成安装在各快递公司客户机上的客户程序及用户内的数据服务器程序。
根据对用户的调查访谈得知大多数的快递公司的计算机配置均在Pentium 133级别以上,客户程序应能够在Pentium 133级别以上, Win NT环境下运行。
3.需求概述
用户可以在主页上直接填写快递单号进行查询快递信息,也可以先在主页上选择在各快递公司,系统跳转到快递公司页面后,在此界面上填写快递单号来查询快递信息,还可以在主页上选择在地区页面后,在地区页面上输入快递单号来查询快递信息;此外,用户可以先在网站首页上选择注册后,系统跳转到注册页面,用户在注册页面填写相关信息后成为本系统会员,当然快递公司以及各广告公司可以在网站上填写各自的详细信息后成为本系统的合作伙伴,以此来为用户提供更优质的服务。管理员可以先在主页上选择管理员后,系统跳转到管理员登录界面,管理员在登录成功之后,可以查询相关信息。
4.条件与限制
用户不能修改快递信息和查看其他用户信息。快递公司不能修改快递信息,并且不能查看用户信息;管理员不能修改用户信息以及快递公司信息。
4.3数据库设计
在本系统中有不少涉及到数据库的内容,尽管数据库的软件比较多,但本系统只采用Microsoft Mysql 数据库来与该系统连接为用户服务,因为MYSQL方便快捷,易于编程,而且操作简单,是数据库的不二人选,因此,我才选择该数据库与该系统联系与服务;接下来,我将详细介绍该系统所使用到的数据库的相关内容。
在本系统的五个模块中都访问了数据库的内容,尤其是用于信息的保存、插入和查询;因此,需要进一步的分析系统对数据的需求,从而确定数据库的结构。根据系统功能划分的情况,本系统将使用的数据库名字为bishe,在该数据库里有五张表格,下面是对数据库的详细介绍。
1 概念结构设计
概念模型是对各种数据模型的基础,在此,我将采用E-R模型来描述该模块的概念模型。其涉及到的E-R图如下所示。
图4.3查询模块E-R图
2.逻辑结构设计
经过上一阶段概念分析之后,这一部分将E-R图转化为关系模型。该部分将转化为四个关系模型,详细情况如下所示。
用户(账号,密码);
快递(编号,用户名,出发地,用户手机,接收地,快递公司,现在地址);
网点(出发地,接收地,时间,重量,价格);
合作伙伴(姓名,快递公司,性别);
3.物理结构设计
经过其那面两个阶段的分析之后,该阶段是将关系模型转变成数据库中表格存储起来,其详细情况如下所示。
表4.1登录表
以下我将介绍相关的数据库,详细情况如下图4.4 、4.5、4.6所示
图4.7合作伙伴表
图4.8留言板表
以上内容是对本系统的各部分进行数据库相关介绍,分别对毕设数据库里的登录、网点、查询、留言、合作伙伴表的数据累心的介绍,接下来,我们将进行更深的分析各部分的功能,分析系统如何协调好系统各部分执行好各自的功能。
4.4错误处理
1.出错输出信息
程序在运行时主要会出现两种错误:(1)当输入的信息经检查无法满足要求时产生的错误,称为软错误。(2)由于其他问题产生的问题,称为硬错误。
2.出错处理对策
为防止该系统出错,该系统编程人员将不定期的检查和维护该系统,用户也可以在网站上提交错误信息,直至系统修复。管理员会不定期的查看用户提交的系统反馈,根据用的反馈对该系统对出相应的调整以及修改。
4.5本章小结
本章节详细介绍了该系统的总体设计,给出了该系统的层次方框图,清晰的介绍了该系统的各个模块,并说明了各模块之间的联系,各个模块紧密联系,休戚相关;此外,在本章节中,还说明了各个模块对数据库的访问情况以及对数据的要求,更为该系统接下来的详细设计部分作好了充足的准备工作。
此外,本章节是软件开发设计的第三步骤,既是对上一步需求分析做出了检查和进一步的分析,又是对下一步的工作做出了指导与铺垫作用;因此,本阶段必不可少,必须认真完成软件开发的每一个步骤,是一个好的软件开发实现的必然要求。
第五章 详细设计
5.1引言
根据上一章节总体设计将系统划分的五个部分:登录、查询、注册和合作伙伴以及管理员,在此章节中将进行各个模块详细分析,其主要目的在于明确指定本系统应该怎样具体实现用户所提出来的要求,也就是说在经过这一阶段的分析后,要准确的对系统的每一模块的工作要做出详细的说明。并且,这一章节也极为重要,为下一阶段编程人员根据其内容编写代码提供主要信息,其内容的好坏决定系统最终的成果;因此,此过程必不可少且至关重要,要重点把握好此过程的分析。
登录模块是用户在本系统中经过注册成为会员之后,登录成功之后,可以查看本人的详细信息;查询模块是用户在本系统中通过输入快递单号之后得到的该快递的详细信息,此外用户还可以输入快递地区以及快递公司缩小查找的范围;注册模块是用户在系统页面上输入个人信息成为会员;合作伙伴模块是快递公司在系统上填写相关信息成为该网站的合作伙伴。管理员模块是系统管理员在登录之后对各种信息的查询。以下是对各个模块的详细介绍与分析。
5.2查询模块
本节对于用户查询模块进行详细分析
1.通过快递编号查询
实现目标:用户在网站上文本框里输入快递编号,JSP页面自动获取其文本框里的快递编号与数据库里的查询表里快递编号对比,如果对比一致,系统就输出该快递单号的快递信息,如果对比不一致,则输出没有该快递。
实现过程:
所属页面:zhuye.html、chaxun.jsp
表单属性:action=chaxun.jsp method=“get”
界面设计如图5.1所示
图5.1用户查询界面
页面设计如表5.1所示
2.通过快递编号及地区查询
实现目标:用户在网站首页的全国站里先选择地区,然后在该地区网页文本框里输入快递编号,
JSP页面获取其文本框里的快递编号与查询表里快递编号对比并且出发地是深圳,如果一致,就输出该快递单号的快递信息,如果不一致,系统则提示用户没有该快递。如果该快递编号与查询表里快递编号对比一致但出发地不是深圳,系统则提示用户该快递不属于深圳站。
实现过程:
所属页面:shenzhen.html、shenzhen.jsp
表单属性:action=shenzhen.jsp method=“get”
界面设计如图5.2、5.3所示
图5.3用户查询界面
相关的页面设计如表5.2所示
表5.2用户查询快递信息列表
3.通过快递公司及地区查询
实现目标:用户在网站首页的查快递里先选择快递公司大全或者国际快递大全,然后在该快递公司网页文本框里输入快递编号,JSP页面获取其文本框里的快递编号与查询表里快递编号对比并且查询表里快递公司与所选快递公司对比,如果一致,就输出该快递单号的详细信息,如果不一致,系统就会提示用户,没有该快递的存在。如果该快递编号与查询表里快递编号对比一致但查询表里快递公司与所选快递公司对比不一致,则输出该快递不属于该快递公司。
实现过程:
所属页面:kdgsdq.html、gjkddq.html、yuantong.html、zhongtong.html、yunda.html、ems.html、dhl.html、yuantong.jsp、zhongtong.jsp、yunda.jsp、ems.jsp、dhl.jsp
表单属性:action=yuantong.jsp method=“get”
action=zhongtong.jsp method=“get”
action=yunda.jsp method=“get”
界面设计如图5.4、5.5、5.6所示
页面设计如表5.1 上表所示
4.通过发送地点和收件地点查询时效
实现目标:用户在网站首页的寄快递里先选择快递时效查询,然后在该页面发送地址文本框里输入快递出发地,在接收地址文本框里输入快递接收地,JSP页面获取其文本框里的接收地和发送地,然后将接收地和发送地与网点表里的接收地和发送地一致,就输出该快递邮寄时间,如果发送地不一致,则输出不能从此地快递,如果接收地不一致,则输出不能快递到此地,
实现过程:
所属页面:kdsxcx.html、kdsx.jsp
表单属性:action=kdsx.jsp method=“get”
界面设计如图5.7、5.8所示
5.通过发送地点和收件地点及重量查价格
实现目标:用户在网站首页的寄快递里先选择快递价格查询,然后在该页面发送地址文本框里输入快递出发地,在接收地址文本框里输入快递接收地,在重量文本框里输入重量,JSP页面获取其文本框里的接收地和发送地以及重量,然后将接收地、发送地和重量与网点表里的接收地发送地一致,就输出该快递价格,如果存在不一致,则输出查询不到价格。
实现过程:
所属页面:kdjgcx.html、jgcx.jsp
表单属性:action=jgcx.jsp method=“get”
界面设计如图5.9所示
图5.9
页面设计如表5.4所示
表5.4用户查询快递信息列表
5.3登录模块
实现目标:用户首先在系统首页上点击登录按钮,也可以选择在首页上点击快递管家,然后页面就会跳转到登录界面,用户在登录界面上的用户名文本框里输入自己先前注册的账号,在密码文本框里输入相应的密码,JSP页面会自动获取其文本框里的账号和密码,将该账号与密码与数据库里登录表中的账号与密码对比,如果一致,系统就会输出该用户的快递信息,如果账号不一致,就会输出没有该账号,如果密码不一致,则输出账户与密码不匹配。
实现过程:
所属页面:kdgj.html、denglu.jsp
表单属性:action=denglu.jsp method=“get”
界面设计如图5.10所示
5.4 注册模块
实现目标:用户点击系统网站首页上的注册按钮,页面就自动跳转到注册界面,用户在注册界面上的用户名文本框里输入账号,在密码文本框里输入密码,在再次输入密码文本框里输入密码,JSP页面会自动获取其文本框里的账号和密码,将账号以及密码插入到登录表中,并且注册、登录界面可以相互跳转。
实现过程:
所属页面:zc.html、zc.jsp
表单属性:action=zc.jsp method=“get”
界面设计如图5.11所示
5.5合作伙伴模块
实现目标:用户点击网站首页的快递接口里的合作伙伴,页面就会跳转到合作伙伴界面,用户在此页面中姓名文本框里输入姓名,在公司文本框里输入公司名称,在单选框里选择性别,JSP页面会自动获取其文本框里的姓名和公司名称以及性别,将合作伙伴信息插入到合作伙伴表中。
实现过程:
所属页面:hzhb.html、hzhb.jsp
表单属性:action=hzhb.jsp method=“get”
界面设计如图5.12所示
图5.12
页面设计如表5.7所示
表5.7快递公司注册信息列表
5.6管理员模块
实现目标:管理员首先点击网站首页的管理员按钮后,页面就会自动跳转到管理员登录界面,然后用户在此页面中的账号文本框里输入自己的账号,在密码文本框里输入相应的密码, JSP页面会自动获取其文本框里的账号以及密码与登录表中账号密码相比较之后做出相应的响应。
实现过程:
所属页面:guanliyuan.html、gly.jsp
表单属性:action=gly.jsp method=“get”
界面设计如图5.13所示
5.7本章小结
本章节详细对上一阶段划分的系统的各个模块分别进行了详细分析,然后介绍了该系统的各个模块界面设计和页面设计,清晰完整的介绍了该系统的各个模块要完成的功能,给下一步编码提供了指导和要求,因此,详细设计极为重要,必须要到符合客户要求,认真完成各部分的分析。
本章节是软件开发设计的第四个步骤,是对上一章节对系统分成的模块进行的详细分析,为下一步骤每一部分编写代码提供了依据,认真完成和分析了系统的每个模块,是系统顺利完成设计和实现的重要基础。
第六章 系统测试
6.1引言
省略
6.2白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构对系统的程序进行测试,通过测试来检测系统内部的动作是否按照前面分析的设计规格说明书的规定正常运行,检验程序中的每条通路是否都能够按用户预定要求进行着正确的工作。这一方法就是把测试对象看作一个打开的盒子,然后测试人员依据系统程序内部逻辑结构的相关信息,设计或选择测试用例,对系统程序存在的所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
白盒测试是以代码的结构为依据的,因此被测试的对象基本上是系统的源程序,是以系统程序的内部逻辑结构为基础设计测试用例的。以下分别是白盒测试的三种方法;逻辑覆盖、循环覆盖、基本路径覆盖。
逻辑覆盖的测试过程是逐渐进行越来越完整的通路测试,逻辑覆盖又大致分为语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖等不同的覆盖标准。
图6.1登录模块的测试流程图
图6.2查询模块的测试流程图
循环覆盖测试也是白盒测试中最常见的测试方法,但是本系统比较简单,未曾涉及到循环方法的使用,因此,在本小节中将不使用循环覆盖的方法。
基本路径覆盖也是白盒测试方法里所用的一种方法,此方法是分析员在程序控制流程图的基础上,通过对控制结构的环路复杂性的分析,导出系统基本可执行路径的集合,从而进行测试。由于本系统的设计相对比较简单,并没有涉及到很复杂的环路,所以,本系统将不进行基本路径覆盖的测试。
以上内容是对本系统进行了白盒测试的内容,此阶段比较精简,有些错误还是没能发现,下一阶段将进行系统的黑盒测试,继续查找系统的错误。
6.3黑盒测试
黑盒测试也称功能测试,它是通过测试来检测系统的每个功能是否都能够正常运用。在测试过程中,把程序看作一个不能打开的黑盒子,在完全不考虑系统程序内部结构和内部特性的情况下,对系统程序的接口进行测试,它只检查系统程序的功能是否按照需求规格说明书的规定正常使用,系统程序是否能适当地接收输入数据而产生相应的输出信息。黑盒测试着眼于系统程序外部结构,不考虑内部逻辑结构,主要是针对系统软件页面和软件功能进行测试。 黑盒测试完全是从用户的角度出发,对输入数据与输出数据的对应关系进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,采用黑盒测试方法是发现不了这些问题的,这也是黑盒测试所存在的限制。
黑盒测试注重的是软件的功能;因此,在设计测试用例的时候,需要认真研究需求分析和总体设计阶段的有关输入、输出之间的关系等信息;黑盒测试又分为等价类划分、边界值分析、错误推测和因果图4种方法;以下部分是采用每种方法分别对系统进行测试,详细情况如下所示。
1.等价类划分
该部分分别对系统的各模块进行测试,将选取少量的最具有代表性的几组数据作为测试数据,该方法是用较小的代价来暴露出系统存在的较多潜在错误。等价类划分法是把所有可能的存在数据类型都考虑进去,例如将输入数据分为有效的和无效的数据进行进行测试,并将它们划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值进行测试,这样,能很大的提高测试效率,并且能够取得良好的测试结果。以下是对各个部分测试的详细分析。
1.1登录部分
首先进行的是对登录模块的测试,以下是先按照查找等价类、等价类用例、测试等次序依次对各个部分进行测试,其内容主要是是对登录时用户账号验证的等价类划分的测试,分别对账户和密码进行分析,详细情况如下表6.1所示。
表6.1登录输入条件的等价类表
经过对账户密码的分析过后,接下来是对每种情况列举出一组代表值进行测试,下表6.2是账号验证的测试用例
表6.2 登录的测试用例
下图是输入正确的账户密码的情况,详细情况如下图6.1和图6.2所示
图6.2登录成功
下图是输入了错误的账号或者是密码后出现的情况,详细情况如下图6.3所示。
图6.3登录失败
以上部分是对登录模块测试的详细过程,在这一部分中我们很全面的查找了该模块可能存在的潜在错误,但是在该模块中没有发现问题,说明此模块功能的实现比较完善,目前还没有发现比较突出的问题。
1.2查询模块
此部分是对查询模块的测试,该模块可以分成按快递单号直接查询、地区加快递单号查询、快递公司加快递单号查询、快递时效查询、快递价格查询等;以下是先按照查找等价类、等价类用例、测试等次序依次对各个部分进行测试,其主要内容主要是对快递单号的测试;以下是对快递单号查询时验证快递单号的等价类划分的测试,如下表6.3所示。
接下来是对快递单号加地区的测试,其结果会出现三种情况,一种情况是既是该地区又存在该快递则显示该快递的详细信息;另一种情况是不属于该地区但是又该快递的存在则显示不属于该地区;最后一种情况是既不属于该地区又不存在该快递则显示没有该编号;详细情况如下图6.8、6.9、6.10所示。
这一部分是对快递公司加快递单号的测试,其结果也会出现三种情况,一种情况是既属于该快递公司又存在该快递则显示该快递的详细信息;另一种情况是不属于该快递公司但是又该快递的存在则显示不属于该快递公司;最后一种情况是既不属于该快递公司又不存在该快递则显示没有该编号;详细情况如下图6.11、6.12、6.13所示。
接下来这一部分是对快递价格查询的测试,通过输入寄件地和收件地来查询快递所需要的时间,因此,该部分测试的主要内容是对寄件地和收件地的测试,首先,下面是对 寄件地和收件地的等价类划分的测试,详细情况如下表6.5所示。
表6.5查询输入条件的等价类表
其次是对以上分析的等价表列举出一组代表值进行测试,详细情况如下表6.6所示。
其测试可能出现的情况有两种,一种情况是输入了正确寄件地址和收件地址后显示的快递时间;另一种是输入了错误的寄件地址或者是收件地址后出现的系统提示,请检查输入的地址;详细的情况如下图6.14和6.15所示。
最后一部分是对快递价格查询的测试,通过输入寄件地址、收件地址和重量来查询快递的价格,因此,该部分测试的主要内容是对寄件地址、收件地址以及重量的测试,首先下面是对寄件地址、收件地址、重量的等价类划分的测试,详细情况如下表6.7所示。
表6.7查询输入条件的等价类表
其次是对以上分析的等价表列举出一组代表值进行测试,详细情况如下表6.8所示。
其最终可能出现的情况有两种,一种是输入了正确寄件地址、收件地址和重量之后得出的查询结果价格,另一种是错误的输入了寄件地址或者收件地址或者重量之后出现的系统提示,请检查寄件地或收件地,详细情况如下图6.16、6.17所示。
以上的全部内容就是查询模块测试的详细情况,在此部分中,我们全面的对此模块进行了测试,尽可能的找出此模块中可能存在的潜在问题,但是在此模块中没有发现比较突出的问题,说明此模块中存在的问题较少,该模块功能的实现比较全面,剩下的一些少的问题只能在投入使用过程中解决了。
1.3注册模块
此部分是对登录模块的测试,该模块是用户在系统网站上填写信息,网站会把用户信息上传给数据库,用户因此注册成功成为会员;以下内容是先按照查找等价类、等价类用例、测试等次序对该部分进行测试,其主要内容主要是对用户输入的账号和密码的测试;因此,该部分的等价类划分的测试以及测试用例与上面登录模块的一致,如上表6.3、6.4所示。
经过上面的测试后,系统有可能出现三种结果,一种情况是当用户输入的账号已经注册时,系统会没有显示,另一种情况是用户输入的两次密码不相同时系统会提示,两次输入的密码不一致;最后一种情况,用户输入新的账户以及自己设定的密码后,系统会提示注册成功。具体的情况如下图6.18、6.19所示。
以上内容是对注册模块的简单测试,由于与登录模块的测试内容相一致,因此,在此部分将不再重复说明。此部分的功能比较简单,实际上的功能就是实现了在JSP上获取HTML上的信息并把这些信息传到数据库,最后,把这组数据插入到数据库中并保存。在对此部分进行了测试后,发现此部分并不存在着一些明显的错误,一些潜在的、难以发现的问题,还有待考证。
1.4合作伙伴模块
该模块是对合作伙伴模块的测试,该模块是快递公司在网站上输入信息后,网站会把这些信息传给数据库,数据库会记录着在册,这样,快递公司就注册成功,成为本系统的合作伙伴;以下内容是先按照查找等价类、等价类用例、测试等次序对该部分进行测试,其主要内容是对快递公司输入的姓名和快递公司以及选择的性别的测试,由于性别是单选项,用户不可能出现错误,因此不用对性别进行测试;以下是该部分的等价类划分的测试,如下表6.9所示。
表6.9注册输入条件的等价类表
其次是对上面分析的等价类列举出一组最具有代表性的值进行测试,详细情况如下表6.10所示。
经过上面的分析之后,我们将进行下一步的工作——测试,测试将可能出现两种结果,一种情况是当用户没有完整的输入个人信息,系统就会提示用户,没有填写完整信息,另一种情况是用户输入了完整的信息后,系统提示合作成功。以下是该测试结果的
具体情况,如图6.20、6.21所示。
以上内容就是对合作伙伴模块测试的详细情况,由于本模块的功能比较简单,测试起来就比较简单;在经过测试后发现该部分存在的问题易于发现,也比较容易解决,剩下的没有发现的潜在问题只能在维护期间发现并修改了。
1.4管理员模块
该模块是对管理员模块的测试,该模块是管理员在网站上输入账号信息后,网站会把输入的账号信息与数据库里的信息相比较,如果正确,系统会把快递、会员、合作伙伴的信息显示出来,其主要内容是对管理员输入的账号以及密码的测试,由于此部分内容的测试与第一部分登录模块的测试相同,在这里将不再详细说明,只介绍测试结果。
其详细情况如下图6.22、6.23所示。
以上内容是对管理员模块的的测试,本模块的功能比较简单,因此,测试比较简单,该模块存在的问题比较少。
2.边界值分析
除过上面所介绍的等价类分析法,我们还经常使用边界值分析方法进行测试,所谓边界值,就是输入等价类和输出等价类在边界上的情况。在测试的过程中,如果忽略了这些边界值的条件,系统就会在输入或输出范围出现大量的错误,因此,系统还是要进行边界值分析,能更多的找出系统的错误,以保证系统的质量。以下是对本系统的边界值测试用例的详细情况,如下表6.11所示。
表6.11边界值分析
以上内容是对系统进行了边界值分析,主要是对账号、密码、姓名、寄件地进行了测试,由于寄件地址和收货地址的类型一样,因此只进行了对寄件地址的测试,其他的数据由于没有准确的边界,所以不用在对其进行测试了;再经过其边界值分析后,系统有些潜在的问题能够检测出来;保证了系统的质量。
3.错误推测
错误推测法也是黑盒测试的一种方法,主要是按照人们的经验、直觉和简单的判断来找出错误,测试员会列举出系统可能出现错误地方的测试用例来进行测试;正是由于这种测试方法过于简单,发现的错误较少,所以不经常使用此方法来进行测试。因此,本系统将不进行了错误推测法来进行测试。
4.因果图
因果图也是黑盒测试的一种方法,前面介绍的等价类划分法和边界值分析法都只是对输入数据进行单个分析测试,并没有考虑到这些数据的组合在一起的测试情况;因此,才需要采用因果图法对系统进行测试。由于本系统涉及到的数据比较少,因此,系统输入数据并不具有很复杂的组合情况,所以,再此,没有对本系统进行因果图法的测试。
6.4本章小结
在本章节里叙述了软件测试的相关内容,主要是采用白盒测试和黑盒测试对系统进行测试,尽可能多的发现系统中的问题;其中最重要的就是黑盒测试,比较直观,清晰地对系统进行了测试,在此章节中,黑盒测试均采用了等价类划分和边界值分析的方法进行了分析。本章节是此次系统设计最重要的阶段,系统分析的越早,发现的错误就越早,这样最终由系统错误造成代价就越小,正因为系统分析是保证软件质量的重要手段,因此,软件测试要越早越好。测试做的越详细越好。因此,系统测试必不可少,而且起着至关重要的作用。
本章节是系统设计的第五个步骤,也是必不可少的关键一步,系统在编完代码后,即使全部功能都能实现,也还是会有一些潜在的错误没有发现,如果不进行系统测试就将系统投入使用,每当用户发现错误就返还给程序员重新设计,就会浪费更多的人力物力。因此,系统测试必不可少。
第七章 系统维护
7.1引言
省略
7.2可行性研究
省略
软件的可维护性是指纠正软件系统出现的错误和缺陷,以及为了满足用户提出新的要求对系统进行修改、扩充或压缩的容易程度。以下表格是显示了本系统的可维护性的特性
表7.1该系统维护特性
7.3本章小结
在本章节中叙述了软件维护的相关内容,主要的工作是做好软件系统的维护,系统维护是系统设计的最后一步,也是历时最长的一个阶段。在系统交付使用开始就进入了维护阶段,它可以持续几年甚至是几十年。因此,不论维护的时间的到底有多长,维护的问题有多简单,都要认真完成维护的工作,坚持认真完成本系统的最后一部分。
到此为止,本系统才算是真正完成;前面的每一个步骤都是缺一不可的;认真做好每一步骤,才会有一个好的成果。
结论
基于JSP物流信息网的设计与实现这个课题紧跟社会发展的脚步,使用了比较流行的B/S模式和比较简单易操作的MYSQ数据库来完成此次毕业设计。该系统充分考虑用户的使用感受,一切站在用户角度来设计和开发此网站,因此,此网站设计比较简单易操作,系统的人机交互界面比较简单清楚,但是用户要求的最基本的功能本系统都具备;此外本系统网站实现了用户在网站上填写快递编号来查询快递信息,也可以根据地区和快递公司对快递进行查询,用户还可以查询快递的实效和价格,最重要的是,用户可以在网站上填写个人信息注册成为本系统的会员,这样,用户就能享受到本系统提供的更优质的服务,快递公司也可以在本系统网站中填写相关信息成为本系统的合作伙伴。
省略
致谢
省略
参考文献
1.李爱萍、崔冬华、李东生.软件工程.人民邮电出版社.2014.3
2.刘於勋.web开发实用技术基础.清华大学出版社
3.崔尚森、张白一、张辰.web应用开发技术:JSP.西安电子科技大学出版社第二版
4.王珊、萨师煊.数据库系统概论.高等教育出版社第五版
5.周建儒.JSP中自定义标签的实现与部署.科技信息(科学教研).2008.(23):51-53
6. 何玉洁.数据库原理与应用教程.机械工业出版社.2003:23-78
7. 胡燕.软件工程与标准化.信息技术与标准化.2004.(12):17-21
8.Mcleod.Management Information system management in practice.Prentice Hall.1998:43-55
9.Raghu Ramakrishnan.Johannes Gehrke.Database Management System.McGraw-Hill Professional. 2007:180-213
10. Dionysios Tsichritzis C.Data Base Management Systems.1977:150-53
附录1
中文文献
省略
附录2
英文翻译
省略
附录3
主要代码
主页代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>快递查询</title>
<script language="JavaScript">
function clickme()
{
window.location.href="zc.html";
}
function clickme1()
{
window.location.href="kdgj.html";
}
function clickme2()
{
window.location.href="guanliyuan.html";
}
</script>
</head>
<style>
body{ no-repeat;background-postion:center;background-position:top;background-size:cover; }
</style>
<body background="C:\Users\dongyuerun\Desktop\毕业\背景图片\4.jpg">
<center>
<h1>快递查询,欢迎您</h1>
<br>
<hr>
<style>
*{margin0;padding:0;}
#nav{backgroud-color:#ccc;width:960px;margin:0 auto;height:40px;}
ul{list-style:none;}
ul li{float:left;text-align:center;padding:20px;line-height:40px;}
a{text-decoration:none;color:#000;display:block;}
a:hover{background-color:930;color:#fff}
.erji{float:none;background-color:#ccc;}
.erji a:hover{color:#fff;background-color:#930;}
.erji_ul{display:none;}
ul li:hover .erji_ul{display:block;}
</style>
<table border=0>
<tr>
<td>
<div id="nav">
<ul>
<li><a href="#">全国站</a>
<ul class="erji_ul">
<li class="erji"><a href="shenzhen.html">深圳站</a></li>
</ul>
</li>
<li><a href="#">查快递</a>
<ul class="erji_ul">
<li class="erji"><a href="kdgsdq.html">快递公司大全</a></li>
<li class="erji"><a href="gjkddq.html">国际快递大全</a></li>
</ul>
</li>
<li><a href="#">寄快递</a>
<ul class="erji_ul">
<li class="erji"><a href="kdsxcx.html">快递时效查询</a></li>
<li class="erji"><a href="kdjgcx.html">快递价格查询</a></li>
</ul>
</li>
<li><a href="#">查网点</a>
<ul class="erji_ul">
<li class="erji"><a href="kddhcx.html">快递电话大全</a></li>
</ul>
</li>
<li><a href="#">快递接口</a>
<ul class="erji_ul">
<li class="erji"><a href="hzhb.html">合作伙伴</a></li>
</ul>
</li>
<li><a href="kdgj.html">快递管家</a></li>
</ul>
</div>
<input type="submit" value=登陆 onclick="clickme1()" >
<input type="submit" value=注册 onclick="clickme()" >
<input type="submit" value=管理员 onclick="clickme2()" >
</td>
</tr>
<tr>
<td align=center>
<form action=chaxun.jsp method="get">
<h2> <font color=white>全新升级 智能查询</h2>
<input type="text" name="text" placeholder="请输入订单号">
<input type="submit" value=查询 >
</from>
</td>
</tr>
</table>
</center>
</body>
</html>
查询代码:
<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>快递查询</title>
</head>
<body bgcolor="33ccff">
<center>
<h1>查询结果</h1><br>
<hr>
<table border=1 align="center">
<tr>
<th>快递编号</th>
<th>姓名</th>
<th>手机号</th>
<th>出发地</th>
<th>接收地</th>
<th>快递单位</th>
<th>现在位置</th>
</tr>
<%
String driverName="com.mysql.jdbc.Driver";
String userName="root";
String userPasswd="123";
String dbName="bishe";
String tableName="chaxun";
String url="jdbc:mysql://localhost:3306/"+dbName;
Connection con=null; Statement st=null; ResultSet rs=null;
try
{
Class.forName(driverName).newInstance();
}catch(ClassNotFoundException e){
System.out.print("Error loading Driver,不能加载驱动程序");
}
try
{
con=DriverManager.getConnection(url, "root", "123");
}catch(SQLException er)
{
System.out.print("Error getConnection,不能连接数据库");
}
try{
String number=request.getParameter("text");
st=con.createStatement();
String sql="select * from "+tableName+" where number ="+number;
rs=st.executeQuery(sql);
if(rs.next()){
out.println("");
out.println(""+rs.getString("number")+" ");
out.println(""+rs.getString("xingming")+" ");
out.println(""+rs.getString("shoujihao")+" ");
out.println(""+rs.getString("cfd")+" ");
out.println(""+rs.getString("jsd")+" ");
out.println(""+rs.getString("kd")+" ");
out.println(""+rs.getString("xz")+" ");
out.println("");
}else{
out.print("");
}
rs.close();
st.close();
con.close();
}
catch(SQLException er)
{System.out.println("Error executeQuery,不能执行查询!");}
%>
</center>
</body>
</html>
5、源码下载:
本项目源码及论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
序号
毕业设计全套资源(点击下载)
本项目源码
基于javaEE+原生Servlet+MySql的物流信息网站设计与实现(源码+文档)_JAVAEE_物流信息网站.zip
你可能感兴趣的:(精选毕业设计完整源码+论文,java-ee,servlet,mysql)