基于JSP物流信息网的设计与实现(论文 + 源码)

【免费】物流信息网实现.zip资源-CSDN文库icon-default.png?t=N7T8https://download.csdn.net/download/JW_559/89267499

基于JSP物流信息网的设计与实现

摘要

        本文讲述了基于JSP物流信息网的设计与实现。该系统使用java语言开发,使系统具有更好的平台性和可扩展性。

        该系统实现了用户登录、注册、查询快递信息、快递公司注册成为合作伙伴以及系统管理员对信息进行管理等功能。系统的主要界面会将所有的服务排列好,用户可以自行选择服务。用户可以查询快递的详细信息以及快递公司的价格以及邮递的时间。系统管理员可以查看所有的信息,甚至可以更新快递的地址。快递公司可以填写公司相关信息成为该系统的合作伙伴。

        随着时代的进步,人们的生活水平日益上升,平常的消费已经无法满足人们的需求,再加上互联网的发展,网上购物已经成了人们必不可少的消费渠道,就会需要物流业来配送这些货品,因此,消费者才会急需要一个系统来管理这些货物的信息。

关键词   物流,快递,查询,会员,登录;

 

Abstract

  

   This article describes the design and implementation of JSP Logistics Information Network.The system uses java language development, the system has a better platform and scalability.

   The system to achieve the user login, registration, query courier information, courier companies registered as partners and system administrators to manage information and other functions.The main interface of the system will arrange all the services, users can choose their own services.Users can check the details of the courier and the courier company's price and postal time.System administrators can view all the information, or even update the courier address.Courier companies can fill in company-related information to become the system partners.

   With the progress of the times, people's living standards are rising,The usual consumption has been unable to meet people's needs。 Coupled with the development of the Internet, online shopping has become an indispensable consumer channels, will need to logistics to the distribution of these goods.Therefore, consumers will need a system to manage the information of these goods.

Key words: logistic; express; query; member; login

  •   绪论

1.1课题背景

 近年来,随着时代的进步,社会随之不断发展,经济也快速发展起来了,人民的消费水平在不断地提高,平常的实体店消费已经不能满足人们的需求;在者,互联网技术的不断发展也为电子商务的兴起提供了丰沃的土壤;电子商务的不断发展,尤其是淘宝,京东的快速兴起和发展,才催生了物流行业的出现;再之,人们在网上买了商品却不知道东西邮寄到了哪,因此又催生了物流网站的发展。再者,在现如今的社会,物流业的快速发展,对于距离的差距,已经不是很大的问题,现在有很多的快递公司存在,例如中通等等。人们会有很多可以选择去快递东西,这不仅方便了人们东西的邮寄,也方便了人们的购物,使人们的生活更加方便快捷。此外,物流业也是整个社会不断发展的缩影,在经济快速发展的今天,距离已经不再是人们苦恼的问题,快递可以稍去家人的思念,也可以使人们有更多的购物选择,据网上调查,2016年光淘宝一家电商就有交易额3万亿元,这意味着传统商业时代告一段落,新网上经济体已经诞生。这更意味着有千千万万的人选择了网上消费;这种网上经济体的发展,不仅仅带来了经济的发展,也带来了快递行业的发展,与此同时,却带来了很多问题,例如:用户如何选择哪家快递公司,如何查询自己的快递成为了最要紧的问题。

出现问题就要解决,为了解决上面所述的一系列问题,人们就设计出了物流网站来解决这些问题,网站查询快递不仅便利了用户查询快递的相关信息,还方便了快递公司的管理。再者,还改变了人们消费的观念和方式,已经成为了网上购物族每日必浏览的网站,这为电子商务的发展起到了至关重要的作用,并加快经济发展的脚步。

1.2目的和意义

     现如今是电子商务的时代,电子商务的发展,催生了物流行业的兴起的发展,据查询,全国有1200家的快递公司在开展业务,2016年全国快递业务量突破300亿件,业务量同比增长51.7%;如此之多的快递已经数据是其他行业难以匹敌的,因此,急需要网站物流查询来管理数据和便利人们生活。

    近年来,电子商务不断发展,丰富了消费者的选择;传统消费相比,电子商务更加快捷方便;例如,快递员可以送货上门,极大地方便了消费者的生活;并且,随着电子商务与物流行业的合作加深,消费者从消费到送货到家的时间和空间更进一步缩短,由此带来的巨大效益使得快递公司不断发展自己的网站设计,为消费者提供更优质的服务。与此同时,还方便了快递公司的管理,快递公司可以注册成为该系统的第三方,系统管理员可以在网站上更新快递邮寄的地区以及快递邮寄的时间和价格,管理员还可以查看系统的所有信息。所以,该系统是非常值得开发的下图是近年来的电子商务的交易额如图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对现有系统的分析

近年来,经济快速发展,电子商务随之兴起,进而之,出现一大批新兴行业与职业,例如物流;正因为新兴,所以才有很多人想分物流行业一杯羹,进而促使物流网站竞争压力猛增;突现出很多物流网站来,例如:现有的快递查询网站有快递100-查快递、快递之家等等,快递100-查快递网站是一个比较大的网站,该网站覆盖面比较广,相应能力比较强,人工交互界面虽然简单明了,但由于其页面清新雅观,吸引了不少用户使用。但该系统也存在一些缺点,过于繁琐,涉及的内容太多,这样一来,网站涉及代码量比较多,就需要多人配合完成设计与实现,因此,开发和维护所要耗费的时间和金钱就比较多。相比较而言,快递之家系统简单,包含了最基本的功能——快递查询,但覆盖面比较窄,因此,一个人也可以完成快递之家,所要耗费的时间和金钱就相对比较少。

2.4对所建设系统的分析

对本次设计的系统而言,可以从以下的三个方面来进行详细分析:

1.经济可行性分析:该系统涉及面比较简单,实现的功能比较简单,工作量比较少,因此一个人也能单独完成此次项目,所要耗费的精力和财力相对比较少。

2.技术可行性分析:目前我们在本科期间已经学习了网页开发的相关知识,也做过一些实践性的成果;因此,我具备开发此项目的能力。

3.社会因素可行性:随着电子商务的兴起和兴盛,广大消费者迫切需要一个系统可以帮助他们来查询快递信息,来替快递公司来管理客户、快递资料。

系统流程图如2-1所示:

图2-1 系统结构流程图

2.5本章小结

    本章节是系统设计的第一步,是此次系统开发的基本,因此,要认真做好可行性研究,就像是盖房子,首先要打好地基,才能盖好一个房子;在本章节中,明确了用户对本系统的要求,并且初步确定了本系统设计的规模和目标;再者,通过与其他存在的系统的对比判断此次系统设计的可行性与实用性;最重要的是,判断此系统的是否值得投资,值得花费精力去设计;最后从用户角度进行分析,经过经济可行性、技术可行性和社会因素可行性等方面得出该系统的设计开发技术纯熟,系统收益比较高,具有良好的市场拓展,具有开发的价值。

   

第三章  系统需求分析

3.1引言

     本章节是软件开发第二步,也是最至关重要的一步,在此过程中,我们要根据上一章节的分析来进行更加深刻的了解用户的需要,本章编写的目的是,对上一阶段确定的用户对系统需求进行进一步的分析,进而得出更加明确、更加完整的系统需求以及系统的规模与目标,进一步帮助程序开发人员了解客户的需求,使最终的成果能够满足用户的需要。

     在此章节中,我将采用客户访谈的方式来了解客户的需要,然后整理访谈记录,明确用户的需求并且记录在册,再通过数据流图和数据字典来进一步清晰地分析该系统的结构,为接下来的工作打下坚实的基础。

3.2任务概述

该系统首先具有着统一友好的操作界面,保证系统的简单操作和实用性,方便用户的操作;其次,实现了用户通过快递编号查询,也可以通过地区和快递公司查询,用户也可以在该网站上查询快递时效和价格,当然,该网站还实现了用户注册成为会员或是合作伙伴;该系统最终将运行在各网站上和手机客户端。但该系统也有些局限性,用户不能修改快递信息,也不能修改自身注册的信息,更不能查看其他人的快递信息。其该系统的功能结构图如下所示。

图3.1 功能结构图

3.3数据描述

  1. 数据流图:

图3.2顶层数据流图

图3.3  1层数据流图

图3.4  2层数据流图

2.数据字典:

数据字典是对数据流图中所包含元素的定义集合;数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。

(1)数据流条目

登录表=账号+密码

查询表=快递单号+姓名+手机号+出发地+接收地+快递公司

网点表=出发地+接收地+时效+重量+价格

合作伙伴=编号+姓名+性别+公司

(2)数据存储条目

文件名:登录

组成:账号+密码

组织方式:索引文件,以账号为关键

文件名:查询

组成:快递单号+姓名+手机号+出发地+接收地+快递公司

组织方式:索引文件,以快递单号为关键

文件名:网点

组成:出发地+接收地+时效+重量+价格

组织方式:索引文件,以出发地为关键

文件名:合作伙伴

组成:编号+姓名+性别+公司

组织方式:索引文件,以编号为关键

  1. 数据项

表3.1数据项

序号

名称

别名

类型

长度

01

number

快递编号

int

4

02

xingming

姓名

varchar

20

03

shoujihao

手机号

int

12

04

cfd

出发地

varchar

20

05

jsd

接收地

varchar

20

06

kd

快递公司

varchar

20

07

name

账号

int

12

08

password

密码

Varchar

20

09

sx

时效

Varchar

5

10

zl

重量

Varchar

10

11

jg

价格

Varchar

5

12

xb

性别

Varchar

2

  1. 加工条目

加工名:登录

编号: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性能需求

随着电子商务的兴起和发展,物流业异军突起,网络物流查询的竞争力也随之加强,因此,用户对系统性能要求极为严格;为此,该系统完全符合当前社会对物流网站性能的要求,响应速度极快;数据精确度极高,实时更新各存储表信息,上传用户和快递信息,并且响应时间短,系统会根据情况不断进行系统维护更新,数据上传速度快且准确率较高,运行时间长,后台待机时间长达10个小时。最重要的是该系统的适应性较强,无论是电脑客户端还是手机客户端都能够灵活的适应并且供用户使用,并且与百度等网站无缝衔接,并在出现卡机等特殊情况能自行处理。此外,该系统还应该具备相应的用户反馈模块,使系统设计人员能够了解用户使用系统后的感受以及对系统新的要求,便于编程人员来修改完善。

3.6运行需求

    近年来,经济快速发展,催生出电子商务行业,又带动了物流行业发展,进而又带动了网络物流行业兴起;因此,在此行业中竞争激烈,因此对物流系统的要求极为严格,尤其是用户交互界面,如果用户交互界面不是很吸引用户,那还有什么收益可言;因此该系统在外观上要严格做到美观、易操作,由于考虑到大多数用户对Wwindows系统的风格较熟悉,因此,在设计的时候,我会尽量向着这一方向靠拢。在设计语言上,我在本科学习时,经常使用JAVA语言,因此,我将使用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图

  1. 逻辑结构设计

     经过上一阶段概念分析之后,这一部分将E-R图转化为关系模型。该部分将转化为四个关系模型,详细情况如下所示。

   用户(账号,密码);

   快递(编号,用户名,出发地,用户手机,接收地,快递公司,现在地址);

   网点(出发地,接收地,时间,重量,价格);

   合作伙伴(姓名,快递公司,性别);

3.物理结构设计

 经过其那面两个阶段的分析之后,该阶段是将关系模型转变成数据库中表格存储起来,其详细情况如下所示。

表4.1登录表

序号

名称

别名

类型

长度

01

name

账号

int

12

02

password

密码

Varchar

20

表4.2  查询表

序号

名称

别名

类型

长度

01

number

快递编号

int

4

02

xingming

姓名

varchar

20

03

shoujihao

手机号

int

12

04

cfd

出发地

varchar

20

05

jsd

接收地

varchar

20

06

kd

快递公司

varchar

20

07

xz

现在地址

varchar

20

                                             

表4.3网点表

序号

名称

别名

类型

长度

01

cfd

出发地

varchar

20

02

jsd

接收地

varchar

20

03

sx

时效

Varchar

5

04

zl

重量

Varchar

10

05

jg

价格

Varchar

5

表4.4 合作伙伴表

序号

名称

别名

类型

长度

01

xingming

姓名

varchar

20

02

kd

快递公司

varchar

20

03

xb

性别

varchar

5

表4.5 留言板表

序号

名称

别名

类型

长度

01

name

姓名

varchar

10

02

E-mail

E-mail

varchar

20

03

title

主题

varchar

10

04

liuyan

留言

varchar

50

以下我将介绍相关的数据库,详细情况如下图4.4 、4.5、4.6所示

图4.4登录表

图4.5查询表

图4.6网点表

图4.7合作伙伴表

图4.8留言板表

以上内容是对本系统的各部分进行数据库相关介绍,分别对毕设数据库里的登录、网点、查询、留言、合作伙伴表的数据累心的介绍,接下来,我们将进行更深的分析各部分的功能,分析系统如何协调好系统各部分执行好各自的功能。

4.4错误处理

1.出错输出信息

程序在运行时主要会出现两种错误:(1)当输入的信息经检查无法满足要求时产生的错误,称为软错误。(2)由于其他问题产生的问题,称为硬错误。

  1. 出错处理对策

为防止该系统出错,该系统编程人员将不定期的检查和维护该系统,用户也可以在网站上提交错误信息,直至系统修复。管理员会不定期的查看用户提交的系统反馈,根据用的反馈对该系统对出相应的调整以及修改。

4.5本章小结

本章节详细介绍了该系统的总体设计,给出了该系统的层次方框图,清晰的介绍了该系统的各个模块,并说明了各模块之间的联系,各个模块紧密联系,休戚相关;此外,在本章节中,还说明了各个模块对数据库的访问情况以及对数据的要求,更为该系统接下来的详细设计部分作好了充足的准备工作。

 此外,本章节是软件开发设计的第三步骤,既是对上一步需求分析做出了检查和进一步的分析,又是对下一步的工作做出了指导与铺垫作用;因此,本阶段必不可少,必须认真完成软件开发的每一个步骤,是一个好的软件开发实现的必然要求。

第五章  详细设计

5.1引言

     根据上一章节总体设计将系统划分的五个部分:登录、查询、注册和合作伙伴以及管理员,在此章节中将进行各个模块详细分析,其主要目的在于明确指定本系统应该怎样具体实现用户所提出来的要求,也就是说在经过这一阶段的分析后,要准确的对系统的每一模块的工作要做出详细的说明。并且,这一章节也极为重要,为下一阶段编程人员根据其内容编写代码提供主要信息,其内容的好坏决定系统最终的成果;因此,此过程必不可少且至关重要,要重点把握好此过程的分析。

登录模块是用户在本系统中经过注册成为会员之后,登录成功之后,可以查看本人的详细信息;查询模块是用户在本系统中通过输入快递单号之后得到的该快递的详细信息,此外用户还可以输入快递地区以及快递公司缩小查找的范围;注册模块是用户在系统页面上输入个人信息成为会员;合作伙伴模块是快递公司在系统上填写相关信息成为该网站的合作伙伴。管理员模块是系统管理员在登录之后对各种信息的查询。以下是对各个模块的详细介绍与分析。

5.2查询模块

本节对于用户查询模块进行详细分析

1.通过快递编号查询

实现目标:用户在网站上文本框里输入快递编号,JSP页面自动获取其文本框里的快递编号与数据库里的查询表里快递编号对比,如果对比一致,系统就输出该快递单号的快递信息,如果对比不一致,则输出没有该快递。

实现过程:

所属页面:zhuye.html、chaxun.jsp

表单属性:action=chaxun.jsp method="get"

界面设计如图5.1所示

图5.1用户查询界面

页面设计如表5.1所示

表5.1用户查询快递信息列表

名称

类型

含义

text

Text

快递编号

查询

button

查询

2.通过快递编号及地区查询

实现目标:用户在网站首页的全国站里先选择地区,然后在该地区网页文本框里输入快递编号,

JSP页面获取其文本框里的快递编号与查询表里快递编号对比并且出发地是深圳,如果一致,就输出该快递单号的快递信息,如果不一致,系统则提示用户没有该快递。如果该快递编号与查询表里快递编号对比一致但出发地不是深圳,系统则提示用户该快递不属于深圳站。

实现过程:

所属页面:shenzhen.html、shenzhen.jsp

表单属性:action=shenzhen.jsp method="get"

界面设计如图5.2、5.3所示

图5.2深圳站界面

5.3用户查询界面

相关的页面设计如表5.2所示

表5.2用户查询快递信息列表

名称

类型

含义

text

Text

快递编号

查询

button

查询

fanhui

button

返回首页

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.1 上表所示

4.通过发送地点和收件地点查询时效

实现目标:用户在网站首页的寄快递里先选择快递时效查询,然后在该页面发送地址文本框里输入快递出发地,在接收地址文本框里输入快递接收地,JSP页面获取其文本框里的接收地和发送地,然后将接收地和发送地与网点表里的接收地和发送地一致,就输出该快递邮寄时间,如果发送地不一致,则输出不能从此地快递,如果接收地不一致,则输出不能快递到此地,

实现过程:

所属页面:kdsxcx.html、kdsx.jsp

表单属性:action=kdsx.jsp method="get"

界面设计如图5.7、5.8所示

图5.7

图5.8

相关的页面设计如表5.3所示

表5.3用户查询快递信息列表

名称

类型

含义

Text1

Text

出发地

Text2

Text

接收地

查询

button

查询

                     

5.通过发送地点和收件地点及重量查价格

实现目标:用户在网站首页的寄快递里先选择快递价格查询,然后在该页面发送地址文本框里输入快递出发地,在接收地址文本框里输入快递接收地,在重量文本框里输入重量,JSP页面获取其文本框里的接收地和发送地以及重量,然后将接收地、发送地和重量与网点表里的接收地发送地一致,就输出该快递价格,如果存在不一致,则输出查询不到价格。

实现过程:

所属页面:kdjgcx.html、jgcx.jsp

表单属性:action=jgcx.jsp method="get"

界面设计如图5.9所示

图5.9

页面设计如表5.4所示

表5.4用户查询快递信息列表

名称

类型

含义

Text1

Text

出发地

Text2

Text

接收地

Text3

text

重量

sskd

button

搜索快递

5.3登录模块

实现目标:用户首先在系统首页上点击登录按钮,也可以选择在首页上点击快递管家,然后页面就会跳转到登录界面,用户在登录界面上的用户名文本框里输入自己先前注册的账号,在密码文本框里输入相应的密码,JSP页面会自动获取其文本框里的账号和密码,将该账号与密码与数据库里登录表中的账号与密码对比,如果一致,系统就会输出该用户的快递信息,如果账号不一致,就会输出没有该账号,如果密码不一致,则输出账户与密码不匹配。

实现过程:

所属页面:kdgj.html、denglu.jsp

表单属性:action=denglu.jsp method="get"

界面设计如图5.10所示

图5.10

页面设计如表5.5所示

表5.5登录信息列表

名称

类型

含义

txtUser

Text

账号

txtPassword

Password

密码

dl

button

登录

faihui

button

返回首页

5.4 注册模块

实现目标:用户点击系统网站首页上的注册按钮,页面就自动跳转到注册界面,用户在注册界面上的用户名文本框里输入账号,在密码文本框里输入密码,在再次输入密码文本框里输入密码,JSP页面会自动获取其文本框里的账号和密码,将账号以及密码插入到登录表中,并且注册、登录界面可以相互跳转。

实现过程:

所属页面:zc.html、zc.jsp

表单属性:action=zc.jsp method="get"

界面设计如图5.11所示

图5.11

页面设计如表5.6所示

表5.6注册信息列表

名称

类型

含义

user

Text

账号

Password21

password

密码

Password2

Password

密码

zc

button

注册

qingkong

reset

清空表单

5.5合作伙伴模块

实现目标:用户点击网站首页的快递接口里的合作伙伴,页面就会跳转到合作伙伴界面,用户在此页面中姓名文本框里输入姓名,在公司文本框里输入公司名称,在单选框里选择性别,JSP页面会自动获取其文本框里的姓名和公司名称以及性别,将合作伙伴信息插入到合作伙伴表中。

实现过程:

所属页面:hzhb.html、hzhb.jsp

表单属性:action=hzhb.jsp method="get"

界面设计如图5.12所示

图5.12

页面设计如表5.7所示

表5.7快递公司注册信息列表

名称

类型

含义

name

Text

姓名

gs

text

公司名称

xb

raio

性别

ljhz

button

立即合作

Fanhui

reset

返回

5.6管理员模块

实现目标:管理员首先点击网站首页的管理员按钮后,页面就会自动跳转到管理员登录界面,然后用户在此页面中的账号文本框里输入自己的账号,在密码文本框里输入相应的密码, JSP页面会自动获取其文本框里的账号以及密码与登录表中账号密码相比较之后做出相应的响应。

实现过程:

所属页面:guanliyuan.html、gly.jsp

表单属性:action=gly.jsp method="get"

界面设计如图5.13所示

图5.13

页面设计如表5.9所示

名称

类型

含义

txtUser

Text

账号

txtPassword

Password

密码

dl

button

登录

faihui

button

返回首页

表5.9登录信息

5.7本章小结

本章节详细对上一阶段划分的系统的各个模块分别进行了详细分析,然后介绍了该系统的各个模块界面设计和页面设计,清晰完整的介绍了该系统的各个模块要完成的功能,给下一步编码提供了指导和要求,因此,详细设计极为重要,必须要到符合客户要求,认真完成各部分的分析。

本章节是软件开发设计的第四个步骤,是对上一章节对系统分成的模块进行的详细分析,为下一步骤每一部分编写代码提供了依据,认真完成和分析了系统的每个模块,是系统顺利完成设计和实现的重要基础。

第六章 系统测试

6.1引言

    在本章节中要在上一章节编写代码之后才进行测试,软件测试是系统开发的重中之重,它是对前面进行的需求分析、系统设计以及编码的最终复审;进行此过程的目的是为了尽可能多的发现系统存在的潜在错误及问题,以保证该系统的质量。

   软件的开发与设计是一项大项目,文档的数量不仅多,而且文档的内容比较复杂,再加之由于软件产品本身是无形的、复杂的、知识密集的逻辑产品,其中难免会存在着各种各样的问题及错误,再者,为了保证软件的可靠性;因此,需要通过测试检查来发现其中潜在的错误,以此来保证软件系统的质量,使其尽可能的符合用户的需求。

    在此章节中,将采用白盒测试和黑盒测试两种方法分别对此系统分别进行测试,尽可能多的发现系统中存在的问题,及早发现尽早解决,系统问题发现的越晚,所要付出的代价就越大,因此,本章节是该系统设计最重要的部分,要认真对待。

6.2白盒测试

白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构对系统的程序进行测试,通过测试来检测系统内部的动作是否按照前面分析的设计规格说明书的规定正常运行,检验程序中的每条通路是否都能够按用户预定要求进行着正确的工作。这一方法就是把测试对象看作一个打开的盒子,然后测试人员依据系统程序内部逻辑结构的相关信息,设计或选择测试用例,对系统程序存在的所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

白盒测试是以代码的结构为依据的,因此被测试的对象基本上是系统的源程序,是以系统程序的内部逻辑结构为基础设计测试用例的。以下分别是白盒测试的三种方法;逻辑覆盖、循环覆盖、基本路径覆盖。

逻辑覆盖的测试过程是逐渐进行越来越完整的通路测试,逻辑覆盖又大致分为语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖等不同的覆盖标准。

以下是登录的逻辑覆盖测试,如下图6.1所示,

图6.1登录模块的测试流程图

以下是查询模块的逻辑覆盖测试,如下图6.2所示

图6.2查询模块的测试流程图

循环覆盖测试也是白盒测试中最常见的测试方法,但是本系统比较简单,未曾涉及到循环方法的使用,因此,在本小节中将不使用循环覆盖的方法。

基本路径覆盖也是白盒测试方法里所用的一种方法,此方法是分析员在程序控制流程图的基础上,通过对控制结构的环路复杂性的分析,导出系统基本可执行路径的集合,从而进行测试。由于本系统的设计相对比较简单,并没有涉及到很复杂的环路,所以,本系统将不进行基本路径覆盖的测试。

以上内容是对本系统进行了白盒测试的内容,此阶段比较精简,有些错误还是没能发现,下一阶段将进行系统的黑盒测试,继续查找系统的错误。

6.3黑盒测试

黑盒测试也称功能测试,它是通过测试来检测系统的每个功能是否都能够正常运用。在测试过程中,把程序看作一个不能打开的黑盒子,在完全不考虑系统程序内部结构和内部特性的情况下,对系统程序的接口进行测试,它只检查系统程序的功能是否按照需求规格说明书的规定正常使用,系统程序是否能适当地接收输入数据而产生相应的输出信息。黑盒测试着眼于系统程序外部结构,不考虑内部逻辑结构,主要是针对系统软件页面和软件功能进行测试。 黑盒测试完全是从用户的角度出发,对输入数据与输出数据的对应关系进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,采用黑盒测试方法是发现不了这些问题的,这也是黑盒测试所存在的限制。

黑盒测试注重的是软件的功能;因此,在设计测试用例的时候,需要认真研究需求分析和总体设计阶段的有关输入、输出之间的关系等信息;黑盒测试又分为等价类划分、边界值分析、错误推测和因果图4种方法;以下部分是采用每种方法分别对系统进行测试,详细情况如下所示。

  1. 等价类划分

    该部分分别对系统的各模块进行测试,将选取少量的最具有代表性的几组数据作为测试数据,该方法是用较小的代价来暴露出系统存在的较多潜在错误。等价类划分法是把所有可能的存在数据类型都考虑进去,例如将输入数据分为有效的和无效的数据进行进行测试,并将它们划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值进行测试,这样,能很大的提高测试效率,并且能够取得良好的测试结果。以下是对各个部分测试的详细分析。

1.1登录部分

首先进行的是对登录模块的测试,以下是先按照查找等价类、等价类用例、测试等次序依次对各个部分进行测试,其内容主要是是对登录时用户账号验证的等价类划分的测试,分别对账户和密码进行分析,详细情况如下表6.1所示。

表6.1登录输入条件的等价类表

输入条件

有效等价类

无效等价类

账号

1.12位数字字符

  1. 有非数字字符
  2. 少于12位数字字符

4.多余12位数字字符

密码

5.20位字符

  1. 少于20位字符
  2. 多余20位字符

经过对账户密码的分析过后,接下来是对每种情况列举出一组代表值进行测试,下表6.2是账号验证的测试用例

表6.2 登录的测试用例

测试数据

期望结果

覆盖范围

15234052011  dyr682963

输入有效

1、5

Djwaoif2134   374dsuwqir

输入无效

2

213424       8524tdhfjks

输入无效

3

3245667589800 sjhhgh7890

输入无效

4

15234052011  ewrwer24

输入无效

5

15234052011jhksfltuiwelr23455

输入无效

7

                            

  下图是输入正确的账户密码的情况,详细情况如下图6.1和图6.2所示

 图6.1登录正确的账户密码

图6.2登录成功

下图是输入了错误的账号或者是密码后出现的情况,详细情况如下图6.3所示。

图6.3登录失败

       以上部分是对登录模块测试的详细过程,在这一部分中我们很全面的查找了该模块可能存在的潜在错误,但是在该模块中没有发现问题,说明此模块功能的实现比较完善,目前还没有发现比较突出的问题。

  1.2查询模块

  此部分是对查询模块的测试,该模块可以分成按快递单号直接查询、地区加快递单号查询、快递公司加快递单号查询、快递时效查询、快递价格查询等;以下是先按照查找等价类、等价类用例、测试等次序依次对各个部分进行测试,其主要内容主要是对快递单号的测试;以下是对快递单号查询时验证快递单号的等价类划分的测试,如下表6.3所示。

输入条件

有效等价类

无效等价类

快递单号

1.2位数字字符

  1. 有非数字字符
  2. 少于2位数字字符
  3. 多余两位数字字符

                        表6.3查询输入条件的等价类表

      结果上面对快递的单号的测试之后,接下来将列举出每一种情况的代表数据,详细情况下表6.4所示,以下是快递单号验证的测试用例。

测试数据

期望结果

覆盖范围

01

输入有效

1

D1

输入无效

2

1

输入无效

3

123

输入无效

4

                                       表6.4 查询的测试用例

     下图是输入正确的快递单号出现的情况,详细情况如图6.4所示。

图6.4查询成功

  下图是输入了快递单号D1以后出现的情况,如下图6.5所示

图6.5查询失败

  下图是输入了快递单号1以后出现的情况,如下图6.6所示

图6.6查询失败

下图是输入了快递单号123以后出现的情况,如下图6.7所示

图6.7查询失败

   接下来是对快递单号加地区的测试,其结果会出现三种情况,一种情况是既是该地区又存在该快递则显示该快递的详细信息;另一种情况是不属于该地区但是又该快递的存在则显示不属于该地区;最后一种情况是既不属于该地区又不存在该快递则显示没有该编号;详细情况如下图6.8、6.9、6.10所示。

图6.8查询失败

图6.9查询成功

图6.10查询失败

    这一部分是对快递公司加快递单号的测试,其结果也会出现三种情况,一种情况是既属于该快递公司又存在该快递则显示该快递的详细信息;另一种情况是不属于该快递公司但是又该快递的存在则显示不属于该快递公司;最后一种情况是既不属于该快递公司又不存在该快递则显示没有该编号;详细情况如下图6.11、6.12、6.13所示。

图6.11查询成功

 图6.12查询失败

图6.13查询失败

接下来这一部分是对快递价格查询的测试,通过输入寄件地和收件地来查询快递所需要的时间,因此,该部分测试的主要内容是对寄件地和收件地的测试,首先,下面是对 寄件地和收件地的等价类划分的测试,详细情况如下表6.5所示。

表6.5查询输入条件的等价类表

输入条件

有效等价类

无效等价类

寄件地

1.20位以内的字符

2.仅含其他类型的字符

收件地

3.20位以内的字符

4.仅含其他类型的字符

      其次是对以上分析的等价表列举出一组代表值进行测试,详细情况如下表6.6所示。

测试数据

期望结果

覆盖范围

太原、深圳

输入有效

1、3

32132、深圳

输入无效

2

太原、22434

输入无效

4

1237、6890

输入无效

2、4

表6.6 查询的测试用例

      

   其测试可能出现的情况有两种,一种情况是输入了正确寄件地址和收件地址后显示的快递时间;另一种是输入了错误的寄件地址或者是收件地址后出现的系统提示,请检查输入的地址;详细的情况如下图6.14和6.15所示。

图6.14查询成功

图6.15查询失败

最后一部分是对快递价格查询的测试,通过输入寄件地址、收件地址和重量来查询快递的价格,因此,该部分测试的主要内容是对寄件地址、收件地址以及重量的测试,首先下面是对寄件地址、收件地址、重量的等价类划分的测试,详细情况如下表6.7所示。

表6.7查询输入条件的等价类表

输入条件

有效等价类

无效等价类

寄件地

1.20位以内的字符

2.仅含其他类型的字符

收件地

3.20位以内的字符

4.仅含其他类型的字符

重量

5.10位以内的数字字符

  1. 含有非数字字符
  2. 超过10位数字字符

                     

     其次是对以上分析的等价表列举出一组代表值进行测试,详细情况如下表6.8所示。

表6.8查询的测试用例

测试数据

期望结果

覆盖范围

太原、深圳、1

输入有效

1、3

32132、深圳、1

输入无效

2

太原、22434、1

输入无效

4

1237、6890、1

输入无效

2、4

太原、深圳、胜多负少

输入无效

1、3、6

太原、深圳、623856794132

输入无效

1、3、7

              

     其最终可能出现的情况有两种,一种是输入了正确寄件地址、收件地址和重量之后得出的查询结果价格,另一种是错误的输入了寄件地址或者收件地址或者重量之后出现的系统提示,请检查寄件地或收件地,详细情况如下图6.16、6.17所示。

图6.16查询成功

图6.17查询失败

      以上的全部内容就是查询模块测试的详细情况,在此部分中,我们全面的对此模块进行了测试,尽可能的找出此模块中可能存在的潜在问题,但是在此模块中没有发现比较突出的问题,说明此模块中存在的问题较少,该模块功能的实现比较全面,剩下的一些少的问题只能在投入使用过程中解决了。

1.3注册模块

     此部分是对登录模块的测试,该模块是用户在系统网站上填写信息,网站会把用户信息上传给数据库,用户因此注册成功成为会员;以下内容是先按照查找等价类、等价类用例、测试等次序对该部分进行测试,其主要内容主要是对用户输入的账号和密码的测试;因此,该部分的等价类划分的测试以及测试用例与上面登录模块的一致,如上表6.3、6.4所示。

      经过上面的测试后,系统有可能出现三种结果,一种情况是当用户输入的账号已经注册时,系统会没有显示,另一种情况是用户输入的两次密码不相同时系统会提示,两次输入的密码不一致;最后一种情况,用户输入新的账户以及自己设定的密码后,系统会提示注册成功。具体的情况如下图6.18、6.19所示。

图6.18注册成功

图6.19注册密码不一致

以上内容是对注册模块的简单测试,由于与登录模块的测试内容相一致,因此,在此部分将不再重复说明。此部分的功能比较简单,实际上的功能就是实现了在JSP上获取HTML上的信息并把这些信息传到数据库,最后,把这组数据插入到数据库中并保存。在对此部分进行了测试后,发现此部分并不存在着一些明显的错误,一些潜在的、难以发现的问题,还有待考证。

1.4合作伙伴模块

   该模块是对合作伙伴模块的测试,该模块是快递公司在网站上输入信息后,网站会把这些信息传给数据库,数据库会记录着在册,这样,快递公司就注册成功,成为本系统的合作伙伴;以下内容是先按照查找等价类、等价类用例、测试等次序对该部分进行测试,其主要内容是对快递公司输入的姓名和快递公司以及选择的性别的测试,由于性别是单选项,用户不可能出现错误,因此不用对性别进行测试;以下是该部分的等价类划分的测试,如下表6.9所示。

表6.9注册输入条件的等价类表

输入条件

有效等价类

无效等价类

姓名

1.10位以内的字符

2.仅含其他类型的字符

快递公司

3.10位以内的字符

4.仅含其他类型的字符

   其次是对上面分析的等价类列举出一组最具有代表性的值进行测试,详细情况如下表6.10所示。

测试数据

期望结果

覆盖范围

小明、圆通快递

输入有效

1.3

32132、圆通快递

输入无效

2

小明、3425435

输入无效

4

表6.10注册的测试用例

经过上面的分析之后,我们将进行下一步的工作——测试,测试将可能出现两种结果,一种情况是当用户没有完整的输入个人信息,系统就会提示用户,没有填写完整信息,另一种情况是用户输入了完整的信息后,系统提示合作成功。以下是该测试结果的

具体情况,如图6.20、6.21所示。

图6.20没有填写信息

图6.21合作成功

      

   以上内容就是对合作伙伴模块测试的详细情况,由于本模块的功能比较简单,测试起来就比较简单;在经过测试后发现该部分存在的问题易于发现,也比较容易解决,剩下的没有发现的潜在问题只能在维护期间发现并修改了。

1.4管理员模块

    该模块是对管理员模块的测试,该模块是管理员在网站上输入账号信息后,网站会把输入的账号信息与数据库里的信息相比较,如果正确,系统会把快递、会员、合作伙伴的信息显示出来,其主要内容是对管理员输入的账号以及密码的测试,由于此部分内容的测试与第一部分登录模块的测试相同,在这里将不再详细说明,只介绍测试结果。

其详细情况如下图6.22、6.23所示。

图6.22

图6.23

    以上内容是对管理员模块的的测试,本模块的功能比较简单,因此,测试比较简单,该模块存在的问题比较少。

2.边界值分析

    除过上面所介绍的等价类分析法,我们还经常使用边界值分析方法进行测试,所谓边界值,就是输入等价类和输出等价类在边界上的情况。在测试的过程中,如果忽略了这些边界值的条件,系统就会在输入或输出范围出现大量的错误,因此,系统还是要进行边界值分析,能更多的找出系统的错误,以保证系统的质量。以下是对本系统的边界值测试用例的详细情况,如下表6.11所示。

表6.11边界值分析

输入等价类

测试用例说明

测试数据

期望结果

选取理由

账号

1个数字字符

13个数字字符

11个数字字符

有一个非数字字符

全部是非数字字符

12个数字字符

2

1234564325234

12342113343

243454A1234

Asddfsjsdadf

15234052011

显示出错

显示出错

显示出错

显示出错

显示出错

显示有效

仅有一个合法字符

比有效长度多一个字符

比有效长度少一个字符

含有一个非数字字符

12个非数字字符

类型及长度均有效

密码

1位字符

19位字符

21位字符

20位字符

E

124345112312321123

12345657577677754323

3465432331321344334

显示出错

显示出错

显示出错

 显示有效

仅有一个合法字符

比有效长度少一个字符

比有效长度多一个字符

类型及长度均有效

姓名

11位字符

10位以内的字符

小明笑话小李是个大笨蛋

李晓明

显示出错

 显示有效

比有效长度多一个字符

类型及长度均有效

寄件地

21位字符

20位以内的字符

山西省太原市万柏林区航道局亏即可考虑

山西省太原市

显示出错

显示有效

比有效长度多一个字符

类型及长度均有效

快递公司

11位字符

10位以内的字符

几十块杜绝浪费客观水电

圆通快递

显示出错

显示有效

比有效长度多一个字符

类型及长度均有效

      以上内容是对系统进行了边界值分析,主要是对账号、密码、姓名、寄件地进行了测试,由于寄件地址和收货地址的类型一样,因此只进行了对寄件地址的测试,其他的数据由于没有准确的边界,所以不用在对其进行测试了;再经过其边界值分析后,系统有些潜在的问题能够检测出来;保证了系统的质量。

  1. 错误推测

   错误推测法也是黑盒测试的一种方法,主要是按照人们的经验、直觉和简单的判断来找出错误,测试员会列举出系统可能出现错误地方的测试用例来进行测试;正是由于这种测试方法过于简单,发现的错误较少,所以不经常使用此方法来进行测试。因此,本系统将不进行了错误推测法来进行测试。

  1. 因果图

   因果图也是黑盒测试的一种方法,前面介绍的等价类划分法和边界值分析法都只是对输入数据进行单个分析测试,并没有考虑到这些数据的组合在一起的测试情况;因此,才需要采用因果图法对系统进行测试。由于本系统涉及到的数据比较少,因此,系统输入数据并不具有很复杂的组合情况,所以,再此,没有对本系统进行因果图法的测试。

6.4本章小结

在本章节里叙述了软件测试的相关内容,主要是采用白盒测试和黑盒测试对系统进行测试,尽可能多的发现系统中的问题;其中最重要的就是黑盒测试,比较直观,清晰地对系统进行了测试,在此章节中,黑盒测试均采用了等价类划分和边界值分析的方法进行了分析。本章节是此次系统设计最重要的阶段,系统分析的越早,发现的错误就越早,这样最终由系统错误造成代价就越小,正因为系统分析是保证软件质量的重要手段,因此,软件测试要越早越好。测试做的越详细越好。因此,系统测试必不可少,而且起着至关重要的作用。

本章节是系统设计的第五个步骤,也是必不可少的关键一步,系统在编完代码后,即使全部功能都能实现,也还是会有一些潜在的错误没有发现,如果不进行系统测试就将系统投入使用,每当用户发现错误就返还给程序员重新设计,就会浪费更多的人力物力。因此,系统测试必不可少。

第七章 系统维护

7.1引言

此章节是软件开发的最后一个部分,也是最费时费力的一部分;但是绝不能因此而放弃对软件的维护;软件维护是指在软件系统交付用户使用以后,为了修改在系统运行过程中出现错误,或者是要满足用户提出来的对系统的新的需求而加入新功能而进行的修改软件的过程;总之,软件维护的工作可以分为4种类型:改正性维护、适应性维护、完善性维护和预防性维护。

改正性维护是为了解决把系统投入到市场后,用户在使用了软件产品后才逐渐暴露出来的错误,对这些错误进行诊断、定位、改错的过程。适应性维护是为了适应计算机和软件市场的快速发展,使系统能够适应外部硬的硬件和软件环境或者数据环境快速发生的变化,而进行修改软件的过程。完善性维护是为了扩充软件的功能,增强软件性能、提高软件运行效率和可维护性而进行的一系列维护活动。预防性维护是为了提高软件在未来的可维护性、可靠性等功能,或为了给未来的改进奠定基础而修改软件的过程。

在此章节中,将根据可理解性、可测试性、可修改性、可靠性、可移植性、可使用性、效率等方面来判断软件的可维护性。

可理解性是指维护人员通过阅读系统设计相关的文档以及源代码,以此来理解系统的结构、接口、功能和内部过程的难易程度。可测试性是指验证系统正确性的难易程度。可修改性是指修改系统程序的难易程度。可靠性是指系统按照客户的要求和设计目标,在给定一段时间系统能正常运行的概率。可移植性是指将系统从一个计算机环境移到另一个计算机环境的适应能力。可使用性是指从用户的观点出发,系统方便快捷,易于使用的程度。效率是指一个系统能够运行且不浪费计算机资源的程度。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3022243.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

英语学习笔记6——What make is it?

What make is it? 它是什么牌子的? make n.(产品的)品牌名称    v. 制作 区别:model n.(产品的)型号       n. 模型       n. 模特 make 指的是大的品牌名称, model 是旗下产品…

第2章.STM32开发C语言常用知识点

目录 0. 《STM32单片机自学教程》专栏总纲 2.1. STM32嵌入式开发C语言编程的不同 2.2. C语言常用知识点 2.2.1 位操作 2.2.2 define 宏定义 2.2.3 条件编译 2.2.3.1 #ifdef 2.2.3.2 #ifndef 2.2.3.3 #if !defined 2.2.4 extern 变量声明 2.2.5 typedef 类型别名 …

Sealos急速部署生产用k8s集群

最近一段时间部署k8s全部使用sealos了,整体使用感觉良好,基本没有什么坑。推荐给大家。 使用 Sealos,可以安装一个不包含任何组件的裸 Kubernetes 集群。 最大的好处是提供 99 年证书,用到我跑路是足够了。不用像之前kubeadm安装…

在uniapp中如何安装axios并解决跨域问题

目录 1、安装axios 2、导入 3、使用(发请求) 2.解决跨域问题 1.为什么要解决跨域问题? 2.前端如何解决跨域问题? 1、安装axios npm install axios 2、导入 在main.js中导入使用 import axios from axios; // 创建一个名…

通过 Java 操作 redis -- hash 哈希表基本命令

目录 使用命令 hset,hget 使用命令 hexists 使用命令 hdel 使用命令 hkeys,hvals 使用命令 hmget,hmset 关于 redis hash 哈希表类型的相关命令推荐看Redis - hash 哈希表 要想通过 Java 操作 redis,首先要连接上 redis 服务…

思通数科大模型在智能数据查询系统中的深度应用:销售数据分析的革新

在企业决策支持系统中,销售数据分析占据着举足轻重的地位。思通数科的大模型技术,结合自然语言处理(NLP)和机器学习,为智能数据查询系统提供了强大的分析能力。本文将详细描述思通数科大模型在销售数据分析中的应用&am…

固定资产管理系统参考论文(论文 + 源码)

【免费】固定资产管理系统.zip资源-CSDN文库https://download.csdn.net/download/JW_559/89282536 固定资产管理系统 摘 要 随着计算机信息技术的发展以及对资产、设备的管理科学化、合理化的高要求,利用计算机实现设备及资产的信息化管理已经显得非常重要。 固…

渗透之sql注入实战2(二次注入)

目录 平台地址: 开始: 方法1: 方法二 找提示 这里存在一个文件包含(file)。 爆源码 index.php源码 confirm.php源码: search.php源码: change.php源码: delete.php源码&…

【如何在本地安装Llama 3,坐好30秒!稳的很!!】

如何在本地安装Llama 3,30秒闪速教程 点击 Ollama官网 点击对应系统内容进行下载 解压后打开文件: 双击后打开 复制 打开CMD 窗口终端 复制黏贴 ollama run llama3 等下载完成 OK,安装完成! 输入问题,愉快玩耍! …

嵌入式学习69-C++(Opencv)

知识零碎: QT的两种编译模式 1.debug 调试模式 …

C++:类与对象—继承

类与对象—继承 一、继承是什么?二、继承定义三、基类和派生类对象赋值转换四、继承中的作用域五、派生类的默认成员函数六、继承与友元七、继承与静态成员八、复杂的菱形继承及菱形虚拟继承九、继承的总结和反思十、考察重点 一、继承是什么? 继承(inh…

​​​【收录 Hello 算法】第 4 章 数组与链表

第 4 章 数组与链表 数据结构的世界如同一堵厚实的砖墙。 数组的砖块整齐排列,逐个紧贴。链表的砖块分散各处,连接的藤蔓自由地穿梭于砖缝之间。 本章内容 4.1 数组4.2 链表4.3 列表4.4 内存与缓存 *4.5 小结

Clion STM32CubeMX 项目

系列文章目录 前言 最后修改 2024 年 4 月 16 日 操作系统:Windows / Linux / macOS 所需工具 STM32CubeMX、GNU ARM 工具链 项目格式: CMake 兼容配置: OpenOCD 运行与调试/嵌入式 GDB 服务器 对于以 STM32 板卡为目标的嵌入式项目&#xf…

小白入门:创建一个SpringBoot项目

前言 我们在创建SpringBoot项目时候,会出现不确定和报错的情况很多,大家可以按照我的做法来简单创建一个SpringBoot项目 1.环境配置 下载安装并配置jdk1.8下载apache mavenidea软件 2.开始创建项目 Server URL:初始是start.spring.io,我…

重写muduo之Thread、EventLoopThread、EventLoopThreadPool

目录 1、概述 2、Thread 2.1 Thread.h 3、EventLoopThread 3.1 EventLoopThread.h 3.2 EventLoopThread.cc 4、 EventLoopThreadPool 4.1 EventLoopThreadPool.h 4.2 EventLoopThreadPool.cc 1、概述 管理事件循环线程的调度的 打包了一个EventLoop和线程,…

JUC下的ScheduledThreadPoolExecutor详解

ScheduledThreadPoolExecutor是Java并发编程框架中一个强大且灵活的线程池实现,专为定时与周期性任务而设计。作为ThreadPoolExecutor的子类,它不仅继承了线程池管理的高效与灵活性,还内置了基于优先级队列的延迟任务调度机制,支持…

0508_IO3

练习1&#xff1a; 1&#xff1a;使用 dup2 实现错误日志功能 使用 write 和 read 实现文件的拷贝功能&#xff0c;注意&#xff0c;代码中所有函数后面&#xff0c;紧跟perror输出错误信息&#xff0c;要求这些错误信息重定向到错误日志 err.txt 中去 1 #include <stdio.h…

掌控网络流量,优化网络性能 - AnaTraf网络流量分析仪登场

在当今日新月异的网络环境中,网络流量监控和性能诊断已成为企业IT部门不可或缺的重要工作。只有充分了解网络流量状况,才能有效优化网络性能,提高业务运营效率。针对这一需求,全新推出的AnaTraf网络流量分析仪应运而生,为企业提供全面的网络监控和性能诊断解决方案。 快速定位…

NodeMCU ESP8266 操作 SSD1306 OLED显示屏详解(图文并茂)

文章目录 1 模块介绍2 接线介绍3 安装SSD1306驱动库4 源码分析4.1 硬件兼容性4.2 可能存在的问题总结1 模块介绍 我们将在本教程中使用的OLED显示屏是SSD1306型号:单色0.96英寸显示屏,像素为12864,如下图所示。 OLED显示屏不需要背光,这在黑暗环境中会产生非常好的对比度。…

【抽样调查】分层抽样上

碎碎念&#xff1a;在大一大二时听课有的时候会发现听不太懂&#xff0c;那时候只觉得是我自己的基础不好的原因&#xff0c;但现在我发现“听不懂”是能够针对性解决的。比如抽样调查这门课&#xff0c;分析过后我发现我听不懂的原因之一是“没有框架”&#xff0c;一大堆知识…