ssm基于BS的仓库在线管理系统的设计与实现+vue

系统包含:源码+论文
所用技术:SpringBoot+Vue+SSM+Mybatis+Mysql
免费提供给大家参考或者学习,获取源码看文章最下面
需要定制看文章最下面

目 录

第一章 绪论 1

1.1 研究背景 1

1.2 研究意义 1

1.3 研究内容 2

第二章 开发环境与技术
3

2.1 Java语言 3

2.2 JDK简介 3

2.3 Eclipse开发工具 4

第三章 系统分析 5

3.1可行性分析 5

3.1.1运行可行性分析 5

3.1.2技术可行性分析 5

3.1.3经济可行性分析 5

3.2系统流程分析 6

3.3 系统性能分析 8

3.3.1系统的安全性 8

3.3.2系统易维护性 8

3.3.3系统可扩展性 8

3.4系统功能分析 9

第四章 系统设计 11

4.1界面设计原则 11

4.2功能模块设计 11

4.3数据库设计 13

4.3.1数据库E-R图 13

4.3.2 数据库表结构 16

第五章 系统实现 19

5.1 管理员功能实现 19

5.1.1 物品信息管理 19

5.1.2 员工管理 19

5.1.3 公告信息管理 20

5.2 员工功能实现 20

5.2.1 物品信息查看 20

5.2.2 出入库管理 21

5.2.3 出入库列表管理 21

5.2.4 个人信息 22

第六章 系统测试 23

6.1 测试方案 23

6.2 系统测试用例 25

6.2.1 登录功能测试 25

6.2.2 注册功能测试 25

6.3 测试的结果 26

结 论 27

参考文献 28

致 谢 29

第一章 绪论

1.1 研究背景

在现在社会,对于信息处理方面,是有很高的要求的,因为信息的产生是无时无刻的,并且信息产生的数量是呈几何形式的增加,而增加的信息如何存储以及短时间分析检索,也是有时效性的,所以,不管是任何的企业和个人,只要需要处理信息,必然是要寻找到一个适合自己的解决方案,而软件开发商和数据库提供商就是为了解决这些问题。相比之前人工信息处理的水平,现代的信息处理方法是完胜以前的信息处理方法。开发一个符合自己需求的信息管理系统,可以把整个信息处理的过程变得很有规范,并且很有水准,让整个信息处理变成一个自动化的过程,并且在数据处理结果之中直接设定好检索标准,或者是多条件检索标准,通过数据分析获得自己需要的内容,这都是信息化的好处。当一切信息数据存在小小的存储介质之中,那么数据迁移备份的重要性也变得更加简洁,可以设置自动化远程备份,自动化远程处理,不管是使用过程还是维护过程,都会变得更加的高效和整洁,最重要的成本上面的控制,可以极限减少,开源节流,不外如是,减少社会资源的浪费,也是计算机技术的存在的一个优势。所以,对于仓库物品出入库信息的管理,一方面为了提高仓库物品出入库信息的管理水平,另一方面为了提高仓库物品出入库信息的维护水平,仓库在线管理系统的开发就显得十分有必要了。

1.2 研究意义

仓库在线管理系统不仅可以保证信息安全的前提下提高信息处理水平,更重要的是提高了信息使用者以及所有者的管理水平。信息的出现,必须经过人为的处理,人们才能接受和使用,所以提高了信息处理水准就显得极为重要。采用计算机技术,会发现在数据传递方面,有着急速的传递,不管是距离多远,都可以实时抵达,不管数据量多大,都能在短时间进行处理完毕,让人为的可出错性变低,工作量变少。仓库在线管理系统的出现,让仓库物品出入库信息的管理跟上了信息时代的步伐,不仅可以在全时间段提供着稳定的处理速度以及处理水准,更能完美的保证了数据的可靠性。不仅如此,仓库在线管理系统在使用上面也是得心应手,操作起来极其的简单,只要认识字就行,页面设计相当不错,不用过多的考虑或者寻找,就能使用。总而言之,仓库在线管理系统在信息资源的处理方面,表现是极其的出色,不仅提高了管理水准,也让数据的迁移变得更加方便。

1.3 研究内容

本文总共分六章来对仓库在线管理系统进行介绍,研究内容具体安排如下:

第一章:通过资料查询,和对调研资料的总结,对仓库在线管理系统的背景和仓库在线管理系统的意义进行说明;

第二章:选择适合本系统的技术和工具并对其进行说明;

第三章:分析仓库在线管理系统开发可行性问题,研究本系统的性能,对本系统使用者的功能进行分析。

第四章:细分功能,利用功能结构图来展示系统的详细功能,同时设计数据库,包括E-R图和数据表的设计;

第五章:展示仓库在线管理系统的实现界面和实现的功能;

第六章:测试仓库在线管理系统,检测系统的功能能否可用,以及发现并解决系统功能运行的问题。

第二章 开发环境与技术

仓库在线管理系统的开发需要的软件环境和技术下面将介绍一下。

2.1 Java语言

Java语言流行至今,依然是后台程序开发人员从业者需要学习的技能之一,并且可以不断的进行深造,可以用Java解决各种各样的问题。Java是一种面向对象的语言,这一点对Java语言的发展功不可没。万物皆对象,很生动的对自然存在的各种环境,各种问题提供了一个解决思路,人类对世界的认知就是从一个一个事物慢慢领悟的,对行为的认知就是事物之间的联系进行认知的,对各种事物之间的联系组成了人类对世界的认知。而Java语言关于编程描述的方法,符合人类对自然界的认知方法。一切自然界的信息如果要进行存储处理,如果只是信息存储的话,也需要对其定义,信息即数据,进而推导,符合数据要求格式的类型,就是符合人类认知事物的类型。Java语言面向对象就是这样理解的,符合人类正常思维。Java不仅仅是运行不挑环境,开发符合人类正常认知,并且还衍生出其他的好的特性,比如安全系数比较高,因为不牵扯到硬件指针,不存在直接访问内存,这样应对计算机病毒的入侵有着很好的防范。Java是一种很好的开发语言。

2.2 JDK简介

JDK这个是Java开发所必须的东西。Java开发必须用JDK,运行必须用JRE,而JDK往往携带了JRE环境,也就是说只要安装了JDK就不需要再去重复性的安装JRE,所以JDK这款开发Java的必备品也就很受欢迎。一台电脑上可以安装多个版本的JDK,并且可以对不同的项目指定不同的JDK,这一点做的相当的友好。如果一台电脑默认没有安装过JDK是不需要配置环境变量,就可以直接访问JDK的,这一点对于初学者来讲,起码配置环境变量方面就方便了很多。JDK目前最新版本是JDK17,版本已经很高了,但是不管是学习还是使用,一般都喜欢用比较稳定的版本,比如JDK1.7或者JDK1.8版本。

2.3 Eclipse开发工具

对于用于开发Java语言的工具来讲,从一开始就是MyEclipse,因为是开源免费的,许多教学机构或者是学校,如果大批量用收费的开发工具来进行讲课,是一种资金的浪费,所以选择MyEclipse作为开发工具,是许多Java学习人员的入门必备。但是随着Java语言功能越来越多,MyEclipse虽然是免费的,但是如果项目需要某些插件的话,需要手动去对应插件的官网进行下载,有时候插件还会被屏蔽,不仅仅在配置开发环境方面造成一定的困难,还会让开发的雄心变弱。Eclipse就在这样的情况下诞生了,秉承于MyEclipse的操作习惯,把一些常用的插件给集成到一个软件里,比如常用的JDK,Tomcat等插件,直接安装Eclipse就可以使用,不需要另外的安装其他的插件,会让使用过MyEclipse的人员用起来很顺手,操作也比较简单。在公司里进行开发也有很多程序员用的都是Eclipse作为开发工具,有效的提升开发效率。可以同时开发许多项目,不同的项目可以选择不同的工作空间,每个独立的工作空间都可以进行单独的配置,可以对Tomcat端口进行修改,也可以在同一个Tomcat里面启动很多个网站项目,在操作方面更加便捷。

第三章 系统分析

一般来说,开发系统不是一拍脑袋就解决的事情,需要有个严谨的分析,并且逐条实现的过程,而系统分析只是系统开发的前奏而已,后续还会有相关的系统实现,系统设计等。

3.1可行性分析

系统是否可以正常实现操作流程,实现操作目的,符合操作流程,这些都可以提前进行分析论证。提前进行分析在开发之前是很重要的,并且进行书面记载,有助于开发流程的缜密性。

3.1.1运行可行性分析

开发仓库在线管理系统必然是有运行条件的,开发条件和运行条件都可以进行分析。首先从运行角度上讲,只是作为一个仓库在线管理系统的运行环境,不是超大型商业项目,只是运行一个毕业设计,数据量有限,并发条件有限,所以用常规的内存大于4G,CPU双核以上,基本上就能满足运行的硬件需要,硬盘的话常规的大于60G的即可。

3.1.2技术可行性分析

一切可以实现B/S模式的技术很多,而正好在学校就学习了相关的开发技术,采用已经有基础的学习来进行扩展更丰富的功能,从技术上面是不需要太多的重复性投入,可以更快的进行开发,技术可行。

3.1.3经济可行性分析

经济主要考虑投入与获利之间的比例问题,仓库在线管理系统开发投入只需要现有的,不必要另外购买的电脑就可以进行使用,一切开放性所用到的工具和资料都可以在图书馆以及互联网上面得到相应的免费资讯,这些都决定了经济上面的投入是不需要太多的。项目功能属于常规功能,没有多并发超用户同时访问的需求,所以也不需要考虑太多的资金投入,所以经济可行。

通过各个方面的研究分析,确定了开发之前这些可行性分析是很有必要的,增加了开发的信心,提高了开发效率,让开发的流程更加的具体化。

3.2系统流程分析

本项目在处理数据方面,必须规定其流程,要让每个步骤都要符合设定预期。注册的结果可以说只有两种结果,一个是成功,一个是失败,成功就会把注册时候输入的数据写入到数据库表里存储,如果失败则提示提示失败,并且不写入数据库。因为两种结果,所以要对数据的合法性进行判断,而数据的合法性需要对每条信息进行判断,主要对哪条信息判断,这些都要有流程。

图3.1用户注册流程图

登录是所有系统必不可少的功能之一。虽然不起眼,但是却是一件不可缺少的事情,登录的作用主要代表着当前操作用户是某人,当然,登录的时候是需要输入账号和密码的,都正确才可以登录,登录的时候会对输入的信息进行判断的。

图3.2 用户登录流程图

数据的添加是一件比较严肃的事情,必须判断正确与否,不然随意的添加可能会导致数据库设定与实际数据输入要求不一致,导致数据丢失的问题,所以必须根据数据设定要求,在输入数据的时候就进行判断输入信息是否合法。

图3.3 信息添加流程图

3.3 系统性能分析

在软件开发的环节,有一个很重要的步骤,那就是关于性能需求分析的环节。如果不对软件的性能需求进行分析和预估,那么后果是很严重的。比如国内的12306,如果只是一个用户登录注册,查票购票退票,那么很容易开发出来,但是同时几百万人次的不同操作,如果没有对这个需求的提前分析预估,还是按照十个八个的并发操作进行软件开发,那肯定是上线就崩溃直接就下线的结果。所以说性能需求是很重要的一个环节。一般系统需求从下面几个角度同时考虑。

3.3.1系统的安全性

一个系统是否安全,不仅仅只是考虑用户的密码是否经过了加密,也更需要考虑数据存储的安全性,比如可以把数据库专门放到一个局域网里的服务器,让主服务器代码远程连接数据库,因为代码服务器与数据服务器的物理分离,如果代码服务器被破解,起码用户数据还有机会保存。

3.3.2系统易维护性

系统长时间运营,肯定需要进行维护。那么维护所需要带来的是性能的提升还是并发数量的提升,这些都是需要考虑的,系统不仅仅要容易维护,数据容易迁移备份,还要符合其他特性。

3.3.3系统可扩展性

系统的功能不可能一成不变的,随时可能会加一些其他的模块,比如有些商场用户积分的问题,这些开始都没有这项设定,后续想加的功能,那么就需要在不改变其原来的功能的前提下,对积分相关模块进行升级,这些就是系统设计之初需要考虑的问题,尽量开发模块化。

综上所述,性能需求必须在符合业务逻辑之外,考虑是否会出现其他的各种情况的一种分析,还必须能解决可能会出现的问题的一种需求分析。所以说,系统的性能需求分析是必不可少的一个环节。

3.4系统功能分析

系统功能主要针对主要模块功能进行分析,暂时不考虑非典型性的问题,只要能满足正确操作流程即可。

仓库在线管理系统设置的角色有管理员,员工等。

(1)管理员

管理员对员工信息,物品信息,公告信息,出入库信息等信息的管理。对管理员的功能进行分析之后,将使用图3.4的管理员用例图来描述管理员的功能。

图3.4 管理员用例图

(2)员工

员工查看物品,查看公告,对物品进行入库操作或出库操作,查询物品出入库明细信息。对员工的功能进行分析之后,将使用图3.5的员工用例图来描述员工的功能。

图3.5 员工用例图

第四章 系统设计

不管是好用还是不好用的系统,在如今的互联网时代都会被广而告之,但是能留存下来的,必然是好用的,并且好看的系统,不好用并且不好看的系统用户会逐渐抛弃的。所以,开发的系统必须是有主题的,要打开系统就明白这个系统主要的作用和功能,所以设计这方面需要下苦功夫的。

4.1界面设计原则

一般都是图片,文字以及各种输入框和按钮等组成的界面,每个界面的内容都大不相同,如何设计成页面的统一,操作的统一,这是下面需要讨论的问题。

第一点:界面设计必须符合人体工程学。人体工程学是一门入微级别的学问,主要考虑人类在各种工作状态下如何提高生产效率。所以说,界面设计的首要目的,就是为了提升效率。

第二点:有效导航是必须的。导航的目的,就是帮助操作人员的记忆能力,提高操作效率而生的,所以导航一定要设置的符合模块的功能,让用户一看到导航就会知道是哪个模块,需要哪些操作,这些步骤是必不可少的,如果把所有功能放到一个页面呈现平面化布局,肯定不合适,所以合适的导航能够帮助工作。

第三点:界面设计的统一性。统一性不是说背景图片是同一个图片或者背景是同一个色系,而是说让操作系统统一。比如导航就统一用树状结构,有模块有层次,理解容易。多项搜索如果一行放不下,就收起,可以选择多项也可以模糊查询,这些都要符合人类正常认知才可以。

所以说,系统设计的核心就是界面设计,主要的业务处理逻辑只要能处理,需要下大力气的还是页面设计。

4.2功能模块设计

本小节运用功能结构图来描述管理员具备的详细的功能,对管理员的功能结构图绘制结果如图4.1所示。管理员对员工信息,物品信息,公告信息,出入库信息等信息的管理。

图4.1 管理员功能结构图

本小节运用功能结构图来描述员工具备的详细的功能,对员工的功能结构图绘制结果如图4.2所示。员工查看物品,查看公告,对物品进行入库操作或出库操作,查询物品出入库明细信息。

图4.2 员工功能结构图

4.3数据库设计

在系统后台选择数据库的时候,首先第一条就是要满足使用需要,只要满足使用需要,再对数据库的使用友好度和性能上进行分析。选择当前分布最广发的关系型数据库是完全能满足需要的,并且在数据的设计上也有完美的设计顺序,最重要的是符合人们的直观要求。

4.3.1数据库E-R图

下面主要是描述E-R图模型的。对于用户的需求,要具体化,比如有个角色需要有登录,那么最基本的设定必须有账号和密码,那么像姓名,性别其他的对象关系,其实是有从属关系的,通过这样具体化分析,可以得到数据的格式要求,并且能得到数据之间的直接关系。然后可以通过专业的Visio工具来进行E-R图的创建,遵守约定的E-R图表达方式,就可以对数据进行图标形式的描述,并且之间的关系更容易理解。

(1)图4.4即为物品这个实体所拥有的属性值。

图4.4 物品实体属性图

(2)图4.5即为管理员这个实体所拥有的属性值。

图4.5 管理员实体属性图

(3)图4.6即为公告这个实体所拥有的属性值。

图4.6 公告实体属性图

  1. 图4.7即为员工这个实体所拥有的属性值。

图4.7 员工实体属性图

(5)图4.8即为上面介绍的实体中存在的联系。

图4.8 实体间关系E-R图

4.3.2 数据库表结构

在程序开发的过程中,系统设计里面包含有数据库的设计,一般都在功能设计的后面进行数据设计,为什么有这样的顺序呢?那是有原因的。数据库设计不能凭空想象,必须符合数据的定义,而数据只是在使用过程之中产生,其实并没有具体化的表现,所以要把数据进行结构的整理,字段的规划。比如用户账号可能是中文或者英文,以及数字形式存在,更或者可能包含一些符号,那么账号字段的设计就只能是文本形式存在,不能是数据形式或者是时间形式存在,以此类推,数据表结构的设计就是在对系统的具体实现数据进行描述规划的一种行为。所以在这个环节尤其要注意,否则可能使用过程中会发现很多不可预料的问题。

对本系统的数据库的要求就是,要严格遵循数据实现原则,符合数据定义范式。对每个表都要进行具体分析,并且表之间的关系更应该有逻辑性,如果违反前面的要求,那么数据很有可能出现问题,所以要把数据之间的关系用E-R图形式画出来,这样理解起来更直观,更不容易出错,效率也更高。

表4.1 公告信息表

字段

注释

类型

id (主键)

主键

int(11)

news_name

公告标题

varchar(200)

news_types

公告类型

int(11)

news_photo

公告图片

varchar(200)

insert_time

公告时间

timestamp

news_content

公告详情

text

create_time

创建时间

timestamp

表4.2 物品信息表

字段

注释

类型

id (主键)

主键

int(11)

shangpin_uuid_number

物品编号

varchar(200)

shangpin_name

物品名称

varchar(200)

shangpin_types

物品类型

int(11)

shangpin_kucun_number

物品库存

int(11)

gonghuofang_types

供货方

int(11)

create_time

创建时间

timestamp

表4.3 出入库表

字段

注释

类型

id (主键)

主键

int(11)

shangpin_churu_inout_uuid_number

出入库流水号

varchar(200)

shangpin_churu_inout_name

出入库名称

varchar(200)

shangpin_churu_inout_types

出入库类型

int(11)

shangpin_danwei

收货单位

varchar(200)

shangpin_jingshouren

经手人

varchar(200)

shangpin_churu_inout_content

备注

text

insert_time

添加时间

timestamp

create_time

创建时间

timestamp

表4.4 出入库详情表

字段

注释

类型

id (主键)

主键

int(11)

shangpin_churu_inout_id

出入库

int(11)

shangpin_id

商品

int(11)

shangpin_churu_inout_list_number

操作数量

int(11)

insert_time

操作时间

timestamp

create_time

创建时间

timestamp

表4.5 管理员表

字段

注释

类型

id (主键)

主键

bigint(20)

username

用户名

varchar(100)

password

密码

varchar(100)

role

角色

varchar(100)

addtime

新增时间

timestamp

表4.6 员工表

字段

注释

类型

id (主键)

主键

int(11)

username

账户

varchar(200)

password

密码

varchar(200)

yonghu_name

员工姓名

varchar(200)

yonghu_photo

头像

varchar(255)

sex_types

性别

int(11)

yonghu_phone

联系方式

varchar(200)

yonghu_id_number

员工身份证号

varchar(200)

yonghu_email

邮箱

varchar(200)

yonghu_delete

假删

int(11)

create_time

创建时间

timestamp

第五章 系统实现

程序开发人员对功能具体实现后,都要描述自己编写的功能实现,一般都通过文字描述功能,实现用图片截图的形式出现,通过这样的设定,可以让更多得人明白系统的实现结果,达到更容易理解程序操作的目的。

5.1 管理员功能实现

5.1.1 物品信息管理

管理员点击导航栏的物品信息管理链接就进入物品信息管理界面。物品信息管理界面如图5.1所示。本功能允许管理员对物品的基本资料进行修改,添加,查询,删除。

图5.1 物品信息管理界面

5.1.2 员工管理

管理员点击导航栏的员工管理链接就进入员工管理界面。员工管理界面如图5.2所示。本功能允许管理员对员工基础资料进行修改,查询,添加,删除。

图5.2 员工管理界面

5.1.3 公告信息管理

管理员点击导航栏的公告信息管理链接就进入公告信息管理界面。公告信息管理界面如图5.3所示。本功能允许管理员更改公告,添加公告等。

图5.3 公告信息管理界面

5.2 员工功能实现

5.2.1 物品信息查看

员工在物品信息查看界面可以对物品的信息进行查询和查看。物品信息查看界面如图5.4所示。员工需要了解各个物品的库存以及供货方等信息。

图5.4 物品信息查看界面

5.2.2 出入库管理

员工点击导航栏的出入库管理链接就进入出入库管理界面。出入库管理界面如图5.5所示。本功能允许员工对物品进行入库,对物品进行出库等操作。

图5.5 出入库管理界面

5.2.3 出入库列表管理

员工点击导航栏的出入库列表管理链接就进入出入库列表管理界面。出入库列表管理界面如图5.6所示。本功能允许员工根据物品的名称获取物品出入库的详情信息,包括供货方,经手人,操作数量等信息,同时可以新增物品出入库的详情信息。

图5.6 出入库列表管理界面

5.2.4 个人信息

员工点击导航栏的个人信息链接就进入个人信息界面。个人信息界面如图5.7所示。本功能允许员工对自己的个人信息进行查看,同时修改员工自己的介绍信息。

图5.7 个人信息界面

** **第六章 系统测试

一个系统不可能只有几个页面就叫做系统,系统的意思就是有好多不同的功能模块的集合才叫做系统。系统包含很多子模块,每个模块与模块之间都有不同的联系,系统测试就是先测试每个模块的功能,符合了之后再测试模块与模块之间的功能,都测试合格还需要验收。测试流程,测试步骤,测试数据,只要是测试的过程,都要有详细的记录。有记录的测试,叫科学测试,如果胡乱测试,那么可能会漏掉一些关键性的问题所在。所以为了提高程序的质量,在测试这个环节就要下很大的心思,测试的越好,系统的修复性越好,才能让用户产生更大的满意。

6.1 测试方案

测试方案主要分两个方向,一个是黑盒测试,一个是白盒测试,这两个测试方向是目前最通用的测试方案。测试过程中,要对各个模块实现有个预期,在符合用户的要求上,要对一些字段还有逻辑进行测试,需要不断输入各种各样类型的数据来进行测试,看是否会有内存漏出,指针异常,或者是逻辑问题。

白盒测试:白盒主要是进行逻辑测试的,测试是属于透明形式的测试。白盒测试要求对各种逻辑以及各种判断,每种判断都要进行一次测试,判断实现效果。白盒测试可以说就是把代码能实现的不能实现的语句都进行判断,只要进行过白盒测试,甚至能定位到哪些判断有问题,或者说某个方法就有问题,只要白盒测试过关的,那说明代码功能基本上没有什么大的问题,符合功能开发的很不错。

黑盒测试:黑盒是不管代码是怎么编写的,只测试功能接口问题。黑盒测试一般不让用户测试的,因为主要围绕着安全性或者恢复性测试,包括负载均衡方面,这些需要大量的数据进行冲击,用户是没有这方面的技术的。所以一般需要负责专业的测试人员进行测试,专业的测试人员经过专门的测试方面培训,懂得黑盒测试的测试要领,所以先经过白盒测试功能问题,然后再经过黑盒测试进行运行问题,基本上就满足了测试任务。

本章节主要就是对系统的测试来设置对应的测试操作,从模块功能测试到最后的验收测试。

模块测试:在模块测试一般都是程序员开发过程中,有的自己写属于自己模块的测试用例,一般以达到效果为主,每个模块都是一个单元,这样来区分单元测试的过程,如果不进行单元测试会出现大问题的,会出现各个环节不知道数据的执行流程,方法跳转,以及更重要的异常抛出,这些可能都会忽略,所以要进行模块测试。

模块测试一般有几个需要注意:

第一个问题:路径问题,路径是绝对路径还是相对路径,因为程序代码很多,所以这些肯定要进行测试的,不然会出现异常。

第二个问题:接口问题。接口的命名方式,会不会与技术自带的接口混淆,会不会接口重复,这些都是需要测试的。

第三个问题:数据结构。数据库的数据结构在代码里,是否编写过程中达到了预期,有些地方该是包装类型的还是数据类型的,这些都要测试。

第四个问题:异常处理。每个环节可能会出现的问题,都要定义异常抛出,并且尽量写好异常处理原因,只要抛出指定异常信息,才会达到测试目的。

第五个问题:边界问题。边界问题一般指的的数据大小以及正负数的问题,这些该测试还要测试的,不测试不符合操作流程。

总而言之,模块测试是测试的第一个环节,是不可少的,也是出现问题最多的领域。

集成测试:模块测试完毕才可以集成测试,集成测试主要是对各个模块之间的逻辑进行测试,只要是相关联的模块,都要测试一遍,需要找到模块关联是否能达到正常开发预期。

集成测试主要采用渐增式测试,好处有以下几点:

第一点:渐进式可以更彻底的对逻辑所有功能进行测试,是很彻底的。

第二点:渐进式相当节约时间,节约时间就是节约成本。

第三点:可以更快速的定位错误位置,有助于问题反馈。

用渐进式测试软件功能,用到的混合法。混合法是有顺序的,自上而下测试和自下而上测试,对程序的上下层混合测试,就是测试里面的集成测试方法。

验收测试:验收一般是甲方派人来负责程序的验收测试,派来的人员可能计算机水平层次不齐,也更适合对程序问题提出异议,因为计算机开发的哪怕在行业内最厉害的,也不一定能满足甲方的需求,毕竟开发者认为合理的必须有局外人来进行判断,而甲方派人测试则是代表着对程序的直观认知,前面的所有测试,只是验收测试前的测试,验收测试决定着程序是最终问题。

6.2 系统测试用例

测试主要是实际操作程序功能与设计程序功能是否一致,检验编程效果的一种方法。

6.2.1 登录功能测试

作为仓库在线管理系统,登录是首要功能,后面不管是任何功能,都必须在登录成功后才可以进行操作,所以登录必须进行测试。

表6.1 登录功能测试表

测试数据

实际数据

预期情况

最终情况

把用户表里面的任意一个账号,还有配套密码进行录入

账号:abo

密码:abo

成功登录

成功登录

不使用用户表的账号,还有密码

账号:uuu

密码:uuu

提示错误的账号或密码

登录失败

把用户表的任意一个账号进行输入,并随意编写一个密码,该密码不是该表账号对应的密码

账号:abo

密码:uuu

提示错误的账号或密码

登录失败

不输入用户表的账号,而是账号随意编写,但是密码却是用户表的密码

账号:uuu

密码:abo

提示错误的账号或密码

登录失败

6.2.2 注册功能测试

注册功能也是大部分应用程序需要做的功能,一般注册功能设定必须是账号唯一,这样能保证用户的安全,用一个与别人不一样的用户名,这样坏人不容易猜到,所以注册时候提交的用户名如果已经存在肯定是不让注册的,只有唯一的账号才可以注册,而这些都要有反馈提示。

表6.2 注册功能测试表

测试数据

实际数据

预期情况

最终情况

把用户表的其中一个账号进行登记

账号:abo

账号已存在,请重新输入

注册失败

登记用户表里面不存在的账号

账号:yh1

可以注册

注册成功

6.3 测试的结果

在仓库在线管理系统的测试过程中,优化了系统的功能导航,以及操作流程,并且对运行环境测试,发现市场上主流的电脑都可以使用,并且操作简单,使用方便,功能完善。通过所有测试的结果就是本设计合格。

结 论

仓库在线管理系统的开发不是一帆风顺的,虽然严格按照一定的开发流程来进行仓库在线管理系统的开发,但是中间出现了很多突发情况。当题目选择之后,就开始查找资料,也不知道是查找方式问题还是阅历问题,感觉资料查的都是相关资料,但是当查到资料后看的一头雾水,好多都是与仓库在线管理系统开发不相关的,像浪里淘沙一样过滤了很多无用的东西才收集到一点点对自己可用的。当定下功能功能的时候,又开始对功能进行分析,反复的判断功能直接的关系,是否存在逻辑问题。数据库的设计也是一大问题,也许是开发经验不足,当数据库设计好后,编码到一半发现考虑问题不够重复,编码实现太复杂,需要在对数据库表重新设计,返工很多遍。在开发过程中,看到同伴们在努力的开发自己也埋头苦干,最终实现了仓库在线管理系统。

本次使用Java技术开发的仓库在线管理系统,就是运用计算机来管理仓库物品出入库信息,该系统是可以实现物品管理,出入库管理,公告管理,供货方管理,员工管理等功能。符合设计预期。

经过整体的开发了解,发现了仓库在线管理系统的不足之处,首先第一点就是开发人少,时间短,属于练手项目,所以很多实际生活中可能遇到的问题并没有考虑到位,比如数据的冗余,大数据并发等,这些都是没有考虑的,在以后的日子里将会对技术方面精益求精,不断修复仓库在线管理系统,让仓库在线管理系统更强壮。

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

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

相关文章

QML项目实战:自定义TextField

目录 一.添加模块 import QtQuick.Controls 1.2 import QtQuick.Controls.Styles 1.4 import QtGraphicalEffects 1.15 二.自定义TextField 1.属性设置 2.输入框设置 3.按钮开关 三.效果 1.readonly为false 2.readonly为true 四.代码 一.添加模块 import QtQuick.…

C++ | Leetcode C++题解之第523题连续的子数组和

题目&#xff1a; 题解&#xff1a; class Solution { public:bool checkSubarraySum(vector<int>& nums, int k) {int m nums.size();if (m < 2) {return false;}unordered_map<int, int> mp;mp[0] -1;int remainder 0;for (int i 0; i < m; i) {r…

AFL++实战入门与afl-fuzz流程解析(源码流程图)

简介 本项目为模糊测试的零基础教学,适合了解 pwn 且会使用 Linux 的 gcc、gdb 的读者。模糊测试旨在通过向程序投喂数据使其崩溃,从而获取崩溃样本以寻找程序漏洞。本文前半部分介绍 AFL++ 的 docker 环境配置,帮助读者解决入门时的环境和网络问题; 后半部分全面解析 afl…

Java 网络编程(一)—— UDP数据报套接字编程

概念 在网络编程中主要的对象有两个&#xff1a;客户端和服务器。客户端是提供请求的&#xff0c;归用户使用&#xff0c;发送的请求会被服务器接收&#xff0c;服务器根据请求做出响应&#xff0c;然后再将响应的数据包返回给客户端。 作为程序员&#xff0c;我们主要关心应…

用Python脚本执行安卓打包任务

这个样例是基于windows系统写的python打包安卓的脚本&#xff1a; 一、配置AndroidStudio下的打包任务 1.在Android项目根目录下的build.gradle文件配置生成Release包的任务&#xff1a; task cleanAll(type: Delete) {delete rootProject.buildDirrootProject.subprojects.e…

C++学习笔记----9、发现继承的技巧(六)---- 有趣且令人迷惑的继承问题(7)

6、非公共继承 在前面所有的例子中&#xff0c;父类总是用public关键字列出。你可能会想是否父类也可以是private或protected。实际上&#xff0c;是可以的&#xff0c;但都不像public一样常见。如果不对父类进行访问指示符的指定&#xff0c;对于类来讲就是private继承&#x…

Linux服务控制及系统基本加固

一. liunx操作系统的开机引导的过程 1. 开机自检 根据bios的设置&#xff0c;对cpu,内存&#xff0c;显卡&#xff0c;键盘等等设备进行初步检测如果以上检测设备工作正常&#xff0c;系统会把控制权移交到硬盘 总结:检测出包含系统启动操作系统的设备&#xff0c;硬盘&#…

k8s 处理namespace删除一直处于Terminating —— 筑梦之路

问题现象 k8s集群要清理某个名空间&#xff0c;把该名空间下的资源全部删除后&#xff0c;删除名空间&#xff0c;一直处于Terminating状态&#xff0c;无法完全清理掉。 如何处理 为什么要记录下这个处理的步骤&#xff0c;经过查询资料&#xff0c;网上也有各种各样的方法&…

百货零售行业信息化蓝图整体规划方案|165页PPT

文件《百货零售行业信息化蓝图整体规划方案》是一份针对百货零售行业的信息化转型和供应链低碳解决方案的详细规划报告。以下是对报告的主要内容的分析和总结&#xff1a; 1. 项目概况 议程&#xff1a;包括项目概况、蓝图工作汇报、业务方案概览、详细业务方案、下阶段工作计…

SQL,力扣题目571, 给定数字的频率查询中位数

一、力扣链接 LeetCode_571 二、题目描述 Numbers 表&#xff1a; ------------------- | Column Name | Type | ------------------- | num | int | | frequency | int | ------------------- num 是这张表的主键(具有唯一值的列)。 这张表的每一行表示某个数…

move_base

move_base 官方介绍&#xff1a;http://wiki.ros.org/move_base 如果在仿真环境下&#xff0c; sensor source、odometry source 和 sensor transforms 都已提供好&#xff0c;我们只需要完成以下部分&#xff1a; 一、编写导航程序 ①创建 ROS 工作空间 和 pkg 包 mkdir -p …

标签权重的计算方法之贝叶斯平滑

贝叶斯平滑&#xff08;Bayesian Smoothing&#xff09;是一种平滑技术&#xff0c;用于解决评分和标签数据中的样本稀疏性问题。在某些推荐系统或广告点击率预估的场景中&#xff0c;我们可能会遇到标签&#xff08;例如点击次数和曝光次数&#xff09;不均衡的问题&#xff0…

QML项目实战:自定义Switch按钮

目录 一.添加模块 1.QtQuick.Controls 2.1 2.QtGraphicalEffects 1.12 二.自定义Switch 三.标签 四.效果 五.代码 一.添加模块 1.QtQuick.Controls 2.1 QtQuick.Controls 提供了一组预定义的 UI 控件&#xff0c;这些控件可以用于构建现代、响应式的用户界面。它包括按…

【勘误笔记】J-LINK连接不上芯片问题

1. 常见的问题 https://mp.weixin.qq.com/s/Ik1czY0jiUkZK21qmeF-yA#rd 2. 记录问题 烧录的固件起始地址为0x08004000 芯片烧录后导致&#xff0c;后面使用J-LINK怎么样都连接不上&#xff0c; 当时硬件是BOOT 0接地应该是上电进入flash代码有问题 考虑到启动模式 把BOOT 0不…

职场高手揭秘,细节如何左右你的成败与升迁之路

身在职场&#xff0c;每一个人都想得到老板的器重&#xff0c;能不断地加薪、升职&#xff0c;从而获得职场的成功。但你知道&#xff0c;影响一个人职场成功&#xff0c;或者说影响升职加薪的最重要因素是什么吗&#xff1f; 许多人会说那要靠运气&#xff0c;也有人认为工作…

SSM大学生校园交流论坛-计算机设计毕业源码31910

摘 要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了大学生校园交流论坛的开发全过程。通过分析大学生校园交流论坛管理的不足&#xff0c;创建了一个计算机管理大学生校园交流论坛的方案。文章介绍了大学生校园交…

c语言简单编程练习9

1、输入一个整数&#xff0c;判断它是否为回文数 例&#xff1a;输入&#xff1a;12321 输出&#xff1a;该数是回文数 输入&#xff1a;12323 输出&#xff1a;该数不是回文数 #include <stdio.h> int huiwenshu(int num) {int a[100];int i, n, j…

技术面没过,竟然是因为我没用过Pytest框架?

01 概述 pytest是一个非常成熟的全功能的Python测试框架&#xff0c;主要特点有以下几点&#xff1a; 简单灵活&#xff0c;容易上手&#xff0c;文档丰富&#xff1b; 支持参数化&#xff0c;可以细粒度地控制要测试的测试用例&#xff1b; 能够支持简单的单元测试和复杂的…

通用方式创建未知文件后缀文件

困惑&#xff1a;比如平时想创一个类似&#xff1a;Dockerfile 文件如何玩&#xff1f; entrypoint.sh 如何玩&#xff1f; windows平台&#xff0c;直接命令行&#xff1a; mac平台或者linux平台也类似

如何用PPT画箭头?用这2个ppt软件快速完成绘图!

ppt怎么画箭头&#xff1f; 有时在ppt中绘制流程图或传达承上启下的含义时&#xff0c;会用到箭头形状&#xff0c;运用到箭头元素来增强表达的清晰度和逻辑性。那可能有人会问&#xff0c;ppt怎么画箭头&#xff1f; 这似乎是一个小问题&#xff0c;但如果你对ppt工具不够熟…