仓库管理系统设计书

原创 2011年01月29日 16:26:00

 

一、开发计划... 1

1、引言... 1

2、项目概述... 1

3、实施计划... 1

4、支持条件... 2

5、专题计划要点... 2

二、可行性报告... 2

1、项目定义... 2

2、技术可行性... 3

3、市场可行性... 3

4、产品策略... 3

5、成本—效益分析(假设)... 3

三、需求分析... 5

1、引言... 5

2、任务概述... 6

3、需求规定... 6

4、用户访谈... 7

四、总体设计... 9

1、实体-关系图设计(E-R图)... 9

2、数据库设计... 10

3、系统数据流图设计... 14

4、系统层次模块图设计... 15

5、模块设计... 15

6、接口设计... 15

8、出错处理设计... 16

9、安全设计... 16

10、维护设计... 16

五、详细设计... 16

1、界面设计... 16

2、系统流程图设计... 20

3、程序设计... 21

六、测试... 21

1、测试环境... 21

2、黑盒测试... 21

3、白盒测试(基本路经测试法)... 28

1)登录模块... 28

2)出入库录入模块... 30

七、调试... 34

八、开发总结... 35

九、用户手册... 37

一、开发计划

1、引言

1)编写目的

本系统设计是在windows环境的支持下运行的,采用窗口式执行文件,操作实用、简易、方便、直观。本着高效、全面、安全的设计思想,实现公司仓库的有效管理。

2)项目背景

开发系统名称:仓库管理系统

项目任务提出者:吴景晨

开发者:吴景晨

2、项目概述

1)工作内容

可行性研究、需求分析、概要设计、程序设计、系统测试

2)主要参加人员

吴景晨、马晓庆、李丹、杨宏霞、郭磊、任沛轩

3)产品

仓库管理系统

4)验收标准

①为了方便用户操作,该系统提供了部分提示窗口,使用户能够按照提示语句完成各项操作。

②为了实现仓库的安全有效管理,系统设置了用户登陆的首界面,管理员和员工需要正确的用户名和密码。

③本系统的查询功能可以按照货物编号、日期、指数等项目进行查询或全部浏览。

④本系统的修改功能提供了逐条察看的方式修改删除和以货物编号、日期、指数等方式进行查询的功能,而且本着直观、方便的原则进行设计窗口。

⑤本系统包含“数据添加”、“数据查询”、“数据修改”、 “用户管理”、“退出”等功能。本系统包含数据库主要用于存放仓库管理信息和管理员信息。

5)完成项目最迟期限:2010.05.21

3、实施计划

1)工作任务的分解及人员分工

开发计划——吴景晨

可行性分析——李丹、郭磊(成本--效益分析)

需求分析——马晓庆、任沛轩(用户访谈)

概要设计——吴景晨、杨宏霞(数据字典)

详细设计——吴景晨

程序编写——吴景晨

测试用例——吴景晨(白盒测试)、马晓庆(黑盒测试)

开发总结——杨宏霞

用户手册——任沛轩、郭磊

2)接口人员

吴景晨,负责数据库的连接及数据库的建立。

3)进度

阶段

人数

工作量//

时间/

起止时间

可行性研究

3

9

3

4.28--4.30

需求分析

2

8

4

5.1—5.4

系统设计

2

8

4

5.5—5.9

程序设计

1

5

5

5.10—5.14

系统测试

2

8

4

5.15—5.18

系统试运行

5

15

3

5.19—5.21

1.1 详细进度表

4)预算

20元——电费以及文档打印费用。

 

 

 

 

4、支持条件

计算机支持

硬件:CPU型号为Pentium3以上, 内存512M

系统:Windows  xp /vista/7

软件:Access2007visual basic 6.0

5、专题计划要点

操作的简便易用:无论什么水平的操作人员,简便的操作方法是一致性要求,同时在系统操作的界面的设计中也应尽可能地把常用子模块添加至主系统窗口中,实现“一触即开”窗口。

适应性:应该明确的是,实际操作人员对计算机的了解程度和实际的操作能力各不相同,因此软件应具有一定的适应能力。

透明性:在系统设计中,应充分利用计算机在处理数据方面的能力,从而尽可能减轻操作人员的工作,实现一定意义上的透明操作,即用户无须知道模块功能实现的具体过程,只需要设置一定的操作选项,计算机即可按照用户的要求得到所需要的处理结果,具体的操作细节对用户是“透明”的。

点面结合:再数据处理方面,一方面应强调数据的成批处理能力,以尽可能简化操作人员的处理工作,另一方面也应十分重视对单独数据的处理能力。

二、   可行性报告

1、项目定义

仓库在企业的整个供应链中起着至关重要的作用,如果不能保证正确的进货和库存控制及发货将会导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力.传统的简单、静态的仓库管理已经无法保证企业各种资源的高效利用。现在的仓库作业和库存控制作业十分复杂化、多样化,仅靠人工记忆和手工录入,不但费时费力,而且容易出错,给企业带来巨大损失.

为了克服以上问题,必须使仓储管理和计算机系统相互结合起来,以使仓库服务得到有效的执行和监督.仓库管理系统可以对仓储各环节实施全过程控制管理,并可对货物进行入库和出库操作管理,从而实现仓储作业流程全过程的电子化操作.另外还可以根据客户的需求制作多种合理的统计报表.

2、技术可行性

本系统产品用Visual Basic6.0编程与数据库的相结合的方法进行开发,而仓库管理系统实现的理论及技术已经日趋成熟,因此仓库管理系统应用软件的开发手段是完全可行的。

3、市场可行性

当下,市场经济迅速发展,网上购物已成潮流,在这种情况下,物流仓储等行业的发展也在以一种惊人的速度发展,要想保证仓库出入货物与账目的一致性,必须出现一种专门的、特定意义、特殊功用的管理系统出现,即仓库管理系统,在网上调查的过程中,我们发现,很多业主和个体经营户也急需一种只适合其专门行业的管理系统。然而,市场中也是存在了很多的十分专业的仓库管理系统,但是介于其收费特征和内容的广泛应用性,而导致在用户使用的简便性和易用性受到了打击,所以在这种社会现状的驱使下,我们小组讨论决定开发一种简单通用的仅仅限于仓库管理的管理系统,而不涉及进货和销售方面的问题,于是仓库管理系统便应运而生。

4、产品策略

在该项目开发过程中,全部使用实验室及图书馆现成的设备和资料。因此该系统的开发在经济方面也是可行的。

5、成本效益分析(假设)

一般来说,我们的客户开发这个软件系统是一项投资,所以当然期望获得很大的经济效益。经济效益通常表现为减少运行费用或(和)增加收入。所以我们进行成本/效益分析来从经济角度分析开发我们的设备管理系统是否划算,从而帮助客户组织的负责人做出是否投资这项开发工程的决定。下面我们从以下几个方面进行分析。

1)成本分析

软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)。因成本估计不是精确的科学。因此我采用了两种不同的估计技术以便互相校检。

     代码行技术

代码行技术是比较简单的定量估算方法,把开发每个软件功能的成本和实现这个功能需要用的源代码行数联系起来。通常根据经验和历史数据估计实现一个功能需要的源程序行数。而在我们组的设计下,初步得出设备管理系统的源代码行数。

得出源代码行数以后,用每行代码的平均成本乘以行数就可以确定软件的成本,所以我们得出的此软件的成本为

成本=2000*10=20000

     任务分解技术

任务分解技术是首先把我们的设备管理系统分解为若干个相对独立的任务。在分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。

下面是我们按开发阶段划分任务做出的人力成本。

1.2 各个开发阶段需要使用的人力百分比及工资表

得出其总成本=

1200*5+1000*10+800*25+500*20+10*600*(20/100)*1.5=21000()

 

2)运行费用分析

运行费用取决于设备管理系统的日常操作费用(操作员人数,工作时间,消耗的物资等等)和维护费用。

3)效益分析

我们设备管理系统的经济效益在于因使用此系统而增加的收入加上使用此系统可以节省的运行费用。

4)成本/效益分析

应该比较新系统的开发成本和经济效益以便从经济角度判断这个系统是否值得投资,但是,投资是现在进行的,效益是将来获得的,不能简单的比较成本和效益,应该考虑货币的时间价值。

①货币的时间价值

通常用利率的形式表示货币的时间价值。假设年利率为i,如果现在存入P元,则n年后可以得到的钱数为

F=P1+i^n

在我们的软件分析中假定年利率为12%,预计可帮助我们的客户每年节省25000元,则利用货币限制计算公式就可以算出每年预计节省的钱的现在价值

1.3  将来的收入折算成现在值表

②投资回收期

通常用投资回收期衡量一向开发工程的价值。所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。显然,投资回收期越短就能越快获得利润,因此这项工程也就越值得投资。

在本软件中,一年以后可以节省22321.4元,和最初的投资(20000元)比较。因此,投资回收期是0.98

③纯收入

纯收入是指在整个生命周期值内系统的累计经济效益(折合成现在值)与投资之差。这相当于比较投资开发一个软件系统和把钱存在银行这两种方案的优劣。如果纯收入为零,则工程的预期效益和在银行存款一样,如果纯收入小于零,那么这项工程显然不值得投资。

这本系统开发中工程的纯收入预计是

90119.420000=70119.4(元)

④投资回收率

把资金存入银行货代给其他企业能够获得利息,通常用年利率衡量利息多少。类似的也可以计算投资回收率,用它衡量投资效益的大小,并且可以把他和年利率相比较,在衡量工程的经济效益时,它是最重要的才靠数据。

以至现在的投资额,并且已经估计出将来每年可以获得的经济效益,那么,给定软件的使用寿命之后,我们可以计算其投资回收率为

P=F1/(1+j)+F2/(1+j)^2+……+Fn/(1+j)^n

其中:P是现在的投资额;Fi是第i年底的效益(i=1,2,3,……,n,n是系统的使用寿命;j是投资回收率。(假设系统寿命n=5)高阶代数方程解出投资回收率

所以,经过以上成本效益的分析,得出在经济上,我们的设备管理系统是可行、值得投资的。

 

 

三、需求分析

1、引言

1)编写目的

开发本系统的目的在于代替手工管理、统计报表  等工作,具体要求包括:

数据录入:录入用户信息、商品信息、供货商信息、入库信息、出库信息、退货信息、客户信息等信息;

数据修改:修改商品信息、供货商信息、用户信息、客户信息等信息;

数据统计:统计统计每次仓库的进货和出货时的商品的数量、种类、总价值;

数据查询:系统提供三种查询条件:活物编号、日期、指数,选择不同的查询条件,会的得到不同的查询结果;

数据备份:定期对数据库做备份,以免数据库在遇到意外破坏的时候能够恢复数据库,从而减少破坏造成的损失。

2)背景说明

①项目名称:仓库管理系统

②项目任务开发者:西北师范大学经济管理学院07级信息管理与信息系统(1)班开发小组,软件基本运行环境为Windows环境。

③本系统采用人工输入与计算机自动化,能准确、合理、全面的进行仓库管理系统。

3)术语定义

静态数据——系统固化在内的描述系统实现功能的一部分数据。

动态数据——在软件运行过程中用户输入后系统输出给用户的一部分数据,也就是系统要处理的数据。

数据字典——数据字典的名字都是一些属性与内容的抽象与概括,它们的特点是数据表的“严密性”和“精确性”。

4)参考资料

《软件工程导论》(第四版)——张海藩 编著     清华大学出版社

2、任务概述

1)目标

目前市场竞争日趋激烈,数据量比原来要大的多管理不便,在设计过程中,为了满足计算机管理的需求,采取了下面的一些原则:统一各种原始单据的格式,统一帐目和报表的格式。删除不必要的管理冗余,实现管理规范化、科学化。程序代码标准化,软件统一化,确保软件的可维护性和实用性。界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。建立操作日志,系统自动记录所进行的各种操作。

2)系统特点

本系统采用RFID技术来对物资进行出入库管理,提高了物资出入库的效率,减少人力并能在恶劣环境下进行有效的工作,比如冷库人员不能在里面长时间工作。而基于RFID技术的仓库管理系统可以,它比其他的一些技术要方便、高效。例如比条形码要快捷、不需要人工操作。

高效的数据组织能力

     快速录入。在录入数据时,输入货品的前一位或几位后回车,系统会弹出以他们开头的所有货品资料供选择, 加快数据录入速度。还可以使用复制与粘贴功能,使当前数据的内容复制上一条数据的内容,大大加快类似 内容的数据录入速度。

   筛选数据。灵活的查询功能为不同的管理者提供所需的数据,单据、报表的条件查找中都设置了多条件查找。

     数据排序。单击单据或报表的某一字段即可以该字段进行排序,方便用户从多角度分析查看报表。

     数据备份与恢复:可实时将系统中的所有数据进行备份,操作非常安全简单.

     支持多仓库管理。

3)约束

由于系统较小,且在Windows系统下开发,故在Windows环境下基本没有什么限制。

3、需求规定

1)对功能的规定

仓库管理系统主要实现对库存商品的管理,对商品出库、入库的管理,和对仓库管理系统维护的功能。具体要实现的功能包括:

①库存商品管理

查看数据库中商品的名称、编号、单价等信息。

②商品出库、入库管理

入库、出库单纪录本次入库、出库的货物名称、数量,入库、出库的时间、商品单价以及总价,入库、出库的经手人等。

③商品的查询

输入商品的编号或者商品的名称查询信息

④用户管理

用户可以修改登录密码

2)对系统数据的规定

①员工(ID ,姓名,密码,权限)

②商品(商品名,商品编号,所属类,单价)

③出货表(商品名,商品编号,数量,总价,经手人)

④入货表(商品名,商品编号,数量,总价,经手人)

⑤查询(商品名,商品编号,数量,单价)

根据上面的关系我们需要的数据基本上就上面所列出的数据。

3)对软件性能的规定

①集成性极强。包括对企业内部业务的完整整合能力以及对供应链外部资源的整合能力。具有开放的与流行电子商务平台集成的能力。

②业界最先进的技术。

③先进的管理理念和前瞻性考虑。

④极强的扩展能力。

⑤优秀的可维护性和极低的维护成本。

⑥性能指标

可支持的最大用户数:无限制;

可支持的最大并发用户数:无限制;

吞吐量:只受到网络带宽的限制,系统本身无限制;

响应速度:只受到网络带宽的限制,系统本身无限制。

⑦数据精确度

由于采用数据库技术并且用户的应用领域对数据精度的要求不是太高,所以这点在系统中表现的比较少,都是用户数据的安全性和准确性是完全保证的,所以对用户的使用没有多大的障碍。

⑧时间特性

本系统的数据库较小,所以程序在相应时间,数据更新处理时间上性能是比较突出的、而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的叫让用户满意。

4)故障处理

考虑到软件的范围不大,所以故障处理一般有操作系统完成,系统只要保持与操作系统的接口即可。只要操作系统没有大的故障程序一般是比较稳定的。考虑到用户对数据的安全性要求,程序可以有独立于操作系统之外的数据备份功能与过程,以及系统崩溃后的数据恢复功能。

5)其他专门要求

系统的操作人员应具有一定的计算机方面的知识或经过相应的培训,同时应做好对后台数据库的保密工作。

4、用户访谈

1)访谈目的及方式

目的:通过各种访谈方式,进一步了解用户对系统的具体需求,针对系统开发时所可能遇到的各种问题进行交流,并对用户的疑问做出解答和处理。从而开发出更令用户满意的系统。

方式:正式访谈、非正式访谈、情景分析技术

2)具体操作:

对企业本方面总负责人(物流总监)的访问,最好采用个别交谈方式。在交谈之前,应给其一份详细的提纲,以便使他们对问题有所准备。从访问中,可获得有关高层对管理系统的具体需求、操作方式、以及其他与系统开发有关的各种信息。(重点放在系统开发可行性、成本、后期维护保障等方面)

②对企业中层管理人员(主任)的访问,可采用集中开座谈会、个别交谈或发调查表的方式,目的是了解对具体操作及日常管理的需求。(重点放在管理方面)

③对基层使用人员(仓库管理员等)的调查,主要采用发调查表和随机抽样交谈方式来了解仓库管理员对具体业务使用过程的便利性与完整性的需求。(重点放在操作便利性与人性化等方面)

3)具体访谈内容:(括号内为此阶段于何期进行)

①调查表:调查表尽量做到问题简单明了,覆盖面广,能够突出重点。(开发前期)

②面谈:可对用户提出一些自由回答的开放性问题,让用户说出自己对系统的想法,例如:询问用户对目前系统的各个部分是否有不满意或需要改进的地方,还需添加什么功能模块等等。(开发前期)

③情景分析技术:系统分析员根据自己对目标系统应具备功能的理解,在给出模拟数据时,对出现的模拟情景给予演示。通过情景分析技术,分析员能更主动和准确的获知用户在使用时将遇到的问题,以便将系统完善并人性化。(调试期)

4)尾声,对抽出时间积极配合访谈的客户表示感谢,访谈组织者(开发小组)将表示尽一切努力满足客户的要求,并赠送精美礼品以作纪念(也可选择共进晚餐)。最后,访谈在愉快的氛围下结束。

 

四、总体设计

1、实体-关系图设计(E-R图)

4.1系统E-R

2、数据库设计

1)数据库逻辑设计

由于本管理系统没有海量的数据需要存储,所以没有必要使用ORACLE,且ORACLE的链接和服务器配置也是有一定问题的,而ACCESS 2007在安全性和可靠性方面足以胜任,所以在测试阶段我们选用了ACCESS 2007作为数据库系统应用。

数据库通信接口采用了ODBCopen database connectivity,开放式数据库互联),目的是将所有底层操作全部隐藏在ODBC的后台驱动程序内核中。对于程序员来说,这意味着,只要构建了一个数据库连接,便可以用统一的API(应用程序编程接口)实现对数据库的读写操作。目前,ODBC提供了大量的数据库支持,这也为我们后期的改进创造了条件。

根据对程序功能模块的划分做出全面的分析后,可以列出如下数据项和数据结构:

①用户信息表

 

4.2 系统管理信息表

名称

字段名称

数据类型

字段大小

主键

非空

用户名

username

文本

12

Yes

No

密码

passwd

文本

12

No

No

权限

permission

文本

10

No

No

4.1  系统管理信息表

②商品信息表

4.3 商品信息表

名称

字段名称

数据类型

字段大小

主键

非空

商品编号

id

数字

10

No

No

日期

Date

日期/时间

——

No

No

货源地

From

文字

10

No

No

商品名称

name

文本

20

No

No

单价

price

货币

——

No

No

数量

Num’

数字

整型

No

No

单位

Size

文本

5

No

No

总价

Sum

货币

——

No

No

生产厂家

Produce

文本

50

No

No

仓库编号

Pri_id

文本

20

Yes

No

4.2商品信息表

③出入库单

4.4 出入库单信息表

名称

字段名称

数据类型

字段大小

主键

非空

货物编号

id

文本

10

No

No

出入库

name

文本

6

No

No

备注

Beizhu

文本

50

No

No

日期

Date

日期/时间

——

No

No

仓库编号

Pri_id

文本

20

Yes

No

货源地

From

文本

20

No

No

4.3 出入库单信息表

②  货源地

4.5 货源地信息表

名称

字段名称

数据类型

字段大小

主键

非空

货源地

From

文本

20

Yes

No

4.4 货源地信息表

③  生产厂家

4.6 生产厂家信息表

名称

字段名称

数据类型

字段大小

主键

非空

生产厂家

Produce

文本

50

Yes

No

4.5 生产厂家信息表

2)我们设计出了系统所用到的数据库的数据字典如下。

2)数据库物理设计

数据库中各表的文件物理结构采用顺序的记录文件。

采用代码连接(VB源代码):

     用户数据库

Dim connectionstring As String

Public conn1 As New ADODB.Connection

connectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _

                   "Data Source='" + App.Path + "/user.mdb" + "'"

conn1.Open connectionstring

     库存信息数据库

Dim connectionstring As String

connectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _

                   "Data Source='" + App.Path + "/cangku.mdb" + "'"

conn.Open connectionstring

3、系统数据流图设计

 

4.7系统数据流图

4、系统层次模块图设计

 

4.8系统主要层次模块图

5、模块设计

1)用户登录模块:填写已分配的用户名和密码,正确后根据其权限设置,进入相应的管理页面。

2)出入库数据录入模块:管理员或者普通用户在出库或者入库时填写的出入库凭证,并在后台对整体库存进行更新。

3)库存详细信息管理模块:管理员对货物的详细信息,例如:规格、单位等属性的设置,保证查询时得到完整的货物属性及操作信息。

4)库存查询模块:根据不同的查询选项,设置不同的欲查询属性,最后在数据库中查询所需要的库存信息。

5)信息分类汇总模块:按照所选分类,对数据库中的信息汇总并打印表格。

6)用户管理模块:管理员具有最高权限,可以对所有用户的信息进行管理,包括添加、删除用户,设置任意用户密码。其他用户只能对自己密码进行修改。

7)帮助文件模块:对使用本管理系统的问题进行解答,及使用指南。

8)关于模块:记录了关于作者及开发小组和版本信息。

6、接口设计

1)外部接口

(a) 用户界面

采用图形用户界面(GUI),包含菜单、按钮、对话框等元素。

(b) 软件接口

软件运行于WINDOWS 操作系统  WINDOWS 2003及以上操作平台,不支持macUNIX

(c) 硬件接口

最低配置:CPU   P3   1.6GHz

                内存  256M

                硬盘  30G

2)内部接口

(a) 初始化模块:系统初始时由操作系统调用,之后进入消息循环状态。

(b) 关闭系统模块:由系统功能模块调用,之后退出系统。

(c) 系统功能选择模块:接受各事件驱动消息,启动入库数据录入模块、出库数据录入模块等模块。

(d) 入库数据录入模块:由相应事件驱动消息激活,完成入库数据录入功能,之后进入消息循环状态。

(e) 出库数据录入模块:由相应事件驱动消息激活,完成出库数据录入功能,之后进入消息循环状态。

(f) 库存查询模块:由相应事件驱动消息激活,完成分类查询库存情况功能,之后进入消息循环状态。

(g) 信息分类汇总模块:由相应事件驱动消息激活,完成相应分类对库存商品汇总统计打印报表的功能,之后进入消息循环状态。

(h)库存详细信息管理模块:由相应事件驱动消息激活,完成录入相应商品详细信息功能,之后进入消息循环状态。

(i) 密码管理模块:由系统功能模块调用,完成密码管理功能。

(j) 身份验证模块:由初始化模块调用,完成身份验证功能。

(k) 帮助模块:由相应事件驱动消息激活,完成帮助功能,之后进入消息循环状态。

 

8、出错处理设计

1)系统应具有相当健壮性,避免或降低由系统错误所造成的数据库损坏。

2)对关键性操作,如删除等提供警告和确认机制。

9、安全设计

系统提供严格的身份验证机制和密码管理以及权限设置。

10、维护设计

系统严格按照设计规范进行设计,并保持各阶段文档的完整性,为以后对软件的维护打好基础。

五、详细设计

1、界面设计

1)用户登陆界面

2)用户主界面

3)管理员添加用户界面

4)管理员管理用户界面

5)用户修改密码界面

6)出入库录入界面

7)库存详细信息管理界面

8)库存查询界面

9)汇总表单界面

2、系统流程图设计

5.1 系统流程图

3、程序设计

(代码略)

 

六、测试

1、测试环境

系统名称

仓库管理系统

版本号

1.0.13

编制人

吴景晨

编制时间

2010-05-10

测试系统环境

Windows  XP / 7

测试硬件环境

GETWAY / HASEE

黑盒测试负责人

马晓庆

白盒测试负责人

吴景晨

2、黑盒测试

1)、测试设计

①登录模块

 

 

登录界面黑盒测试test case设计

测试项编号

TS_FUN_001_001

优先级

测试项描述

验证登录界面,两个输入框分别输入用户名和密码,两个标签 确定和 退出,用户名和密码不能为空,输入错误的用户名或密码要提示错误信息,三次密码错误时,要退出登录系统

预置条件

应用被打开,且当前处在登录界面上

用例序号

输入

执行步骤

预期结果

TS00001

正确的用户名和密码,包括是合法的字符和合法长度

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)密码显示为*3)支持直接按enter键登录(4)正常登录到系统

TS00002

错误的用户名,包括用户名含有非法字符、长度过长、长度过短

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)支持直接按enter键登录(3)不能实现登录,弹出对话框提示用户名或密码错误,请重新输入

TS00003

正确的用户名和错误的密码,包括非法字符、长度过长或过短

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)密码显示为*3)支持直接按enter键登录(4)不能实现登录,弹出对话框提示用户名或密码错误,请重新输入

TS00004

用户名和密码都为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)支持直接按enter键登录(3)不能实现登录,弹出对话框提示用户名或密码错误,请重新输入

TS00005

正确的用户名,密码为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)支持直接按enter键登录(3)不能实现登录,弹出对话框提示用户名或密码错误,请重新输入

TS00006

任意的用户名和密码,包括正确的或错误的,也可以为空

用鼠标单击取消标签

1)支持鼠标或按Tab键(2)若输入密码显示为*3)清空用户名和密码

TS00007

检查UI友好性

检查登录界面设计是否合理,符合UI规范标准

界面符合习惯、美观,按钮对齐,输入框对齐,无错别字,字体大小协调,文字描述准确

TS00008

任意的用户名和密码,包括正确的或错误的

用鼠标或按Tab键移动当前焦点,先输入用户名和密码,再利用剪切或复制、粘贴功能(包括右键快捷菜单和Ctrl+CCtrl+V组合键)重新输入用户名和密码,然后单击确定按钮或敲击enter

1)支持鼠标或按Tab键(2)用户名支持复制粘贴功能,密码不支持复制粘贴功能(3)输入正确正常登录,输入错误不能登录,并弹出相应提示信息

TS0009

任意的用户名和密码,包括正确的或错误的

用鼠标或按Tab键移动当前焦点,先输入用户名和密码,再利用剪切或复制、粘贴功能(包括右键快捷菜单和Ctrl+CCtrl+V组合键)重新输入用户名和密码,然后单击取消标签

1)支持鼠标或按Tab键移动当前焦点(2)用户名支持复制粘贴功能,密码不支持复制粘贴功能(4)清空用户名和密码

 

②密码修改模块

用户修改密码界面黑盒测试test case设计

测试项编号

TS_FUN_001_002

优先级

测试项描述

验证用户修改密码界面,三个输入框分别输入用旧密码、新密码和确认密码,两个标签 确定退出,用旧密码和新密码和确认密码不能为空,输入错误的旧密码要提示错误信息,修改成功时要弹出修改成功确认对话框

预置条件

应用被打开,且当前处在用户修改密码界面上

用例序号

输入

执行步骤

预期结果

TS10001

正确的旧密码,合法的新密码,包括是合法的字符和合法长度,正确的确认密码

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)密码显示为*3)支持直接按enter键确定(4)正常修改用户密码

TS10002

错误的旧密码,包括旧密码含有非法字符、长度过长、长度过短

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)支持直接按enter键确定(3)不能实现用户密码修改,弹出对话框提示旧密码错误,请重新输入

TS10003

正确的旧密码和非法的新密码,包括非法字符、长度过长或过短

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)密码显示为*3)支持直接按enter键确定(4)不能实现用户密码修改,弹出对话框提示新密码错误,请重新输入

TS10004

旧密码和新密码都为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)支持直接按enter键确定(3)不能实现用户密码修改,弹出对话框提示旧密码不能为空,请重新输入

TS10005

正确的旧密码,新密码为空

直接敲击enter键或用鼠标单击确定标签用户密码修改

1)支持鼠标或按Tab键移动当前焦点(2)支持直接按enter键确定(3)不能实现用户密码修改,弹出对话框提示新密码不能为空,请重新输入

 

③入库模块

入库操作中的货物编号黑盒测试test case设计

测试项编号

TS_FUN_001_003

优先级

测试项描述

验证入库操作中的货物编号、仓库编号和显示窗口,各输入框分别输入货物编号、仓库编号和显示窗口,两个标签 确定退出,货物编号、仓库编号和显示窗口不能为空,输入非法的内容,提示错误信息

预置条件

应用被打开,且当前处在入库操作界面上

用例序号

输入

执行步骤

预期结果

TS20001

正确的货物编号,包括是合法的字符和合法长度

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行入库操作,添加成功

TS20002

错误的货物编号,包括货物编号含有非法字符、长度不符合标准

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(3)不能实现入库操作,弹出对话框提示货物编号错误,请重新输入

TS20003

货物编号为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(3)不能实现入库操作,弹出对话框提示货物编号不能为空,请重新输入

TS20004

任意的货物编号

用鼠标单击取消标签

1)支持鼠标或按Tab键(3)清空货物编号

TS20005

正确的仓库编号,包括是合法的字符和合法长度

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行入库操作,添加成功

TS20006

错误的仓库编号,包括货物编号含有非法字符、长度不符合标准

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(3)不能实现入库操作,弹出对话框提示仓库编号错误,请重新输入

TS20007

仓库编号为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(3)不能实现入库操作,弹出对话框提示仓库编号不能为空,请重新输入

TS20008

任意的仓库编号

用鼠标单击取消标签

1)支持鼠标或按Tab键(3)清空仓库编号

TS20009

正确的货物名称,包括是合法的字符和合法长度,也包括0

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行入库操作,添加成功

TS20010

错误的货物名称,包括货物编号含有非法字符、长度不符合标准

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)不能实现入库操作,弹出对话框提示货物名称错误,请重新输入

TS20011

正确的单价,包括数值类型和最大长度

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行入库操作,添加成功

TS20012

错误的单价,包括输入的单价为负数和输入的单价为字符型

用鼠标单击取消标签

1)支持鼠标或按Tab键移动当前焦点(2)不能实现入库操作,弹出对话框提示单价输入错误,请重新输入

TS20013

单价输入为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)不能实现入库操作,弹出对话框提示单价输入不能为空,请重新输入

TS20014

正确的数量,包括数值类型和最大长度

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行入库操作,添加成功

TS20015

错误的数量,包括输入的数量为负数和输入的单价为字符型

用鼠标单击取消标签

1)支持鼠标或按Tab键移动当前焦点(2)不能实现入库操作,弹出对话框提示数量输入错误,请重新输入

TS20016

数量输入为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)不能实现入库操作,弹出对话框提示数量输入不能为空,请重新输入

TS20017

单位输入为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)不能实现入库操作,弹出对话框提示单位输入不能为空,请重新输入

TS20018

生产厂家输入可以为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行入库操作,添加成功

TS20019

检查友好性

检查入库操作界面设计是否合理,符合正常规范标准

界面符合习惯、美观,标签对齐,输入框对齐,无错别字,字体大小协调,文字描述准确

 

④出库模块

出库操作中的货物编号黑盒测试test case设计

测试项编号

TS_FUN_001_004

优先级

测试项描述

验证出库操作中的货物编号、仓库编号和显示窗口,各输入框分别输入货物编号、仓库编号和显示窗口,两个标签 确定退出,货物编号、仓库编号和显示窗口不能为空,输入非法的内容,提示错误信息

预置条件

应用被打开,且当前处在入库操作界面上

用例序号

输入

执行步骤

预期结果

TS30001

正确的货物编号,包括是合法的字符和合法长度

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行出库操作出库成功

TS30002

错误的货物编号,包括货物编号含有非法字符、长度不符合标准

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(3)不能实现出库操作,弹出对话框提示货物编号错误,请重新输入

TS30003

货物编号为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(3)不能实现出库操作,弹出对话框提示货物编号不能为空,请重新输入

TS30004

任意的货物编号

用鼠标单击取消标签

1)支持鼠标或按Tab键(3)清空货物编号

TS30005

仓库中无此种货物

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(3)不能实现出库操作,弹出对话框提示仓库中无此种货物,请重新输入

TS30006

正确的仓库编号,包括是合法的字符和合法长度

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行出库操作,出库成功

TS30007

错误的仓库编号,包括货物编号含有非法字符、长度不符合标准

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(3)不能实现出库操作,弹出对话框提示仓库编号错误,请重新输入

TS30008

仓库编号为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(3)不能实现出库操作,弹出对话框提示仓库编号不能为空,请重新输入

TS30009

任意的仓库编号

用鼠标单击取消标签

1)支持鼠标或按Tab键(3)清空仓库编号

TS30010

正确的货物名称,包括是合法的字符和合法长度,也包括0

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行出库操作,出库成功

TS30011

错误的货物名称,包括货物编号含有非法字符、长度不符合标准

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)不能实现出库操作,弹出对话框提示货物名称错误,请重新输入

TS30012

正确的单价,包括数值类型和最大长度

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行出库操作,出库成功

TS30013

错误的单价,包括输入的单价为负数和输入的单价为字符型

用鼠标单击取消标签

1)支持鼠标或按Tab键移动当前焦点(2)不能实现出库操作,弹出对话框提示单价输入错误,请重新输入

TS30014

单价输入为空

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)不能实现出库操作,弹出对话框提示单价输入不能为空,请重新输入

TS30015

正确的数量,包括数值类型和最大长度

直接敲击enter键或用鼠标单击确定标签

1)支持鼠标或按Tab键移动当前焦点(2)正常进行出库操作,出库成功

TS30016

错误的数量,包括输入的数量为负数和输入的单价为字符型

用鼠标单击取消标签

1)支持鼠标或按Tab键移动当前焦点(2)不能实现出库操作,弹出对话框提示数量输入错误,请重新输入

⑤汇总模块

货物汇总黑盒测试test case设计

测试项编号

TS_FUN_001_005

优先级

测试项描述

验证货物汇总界面,其中的总价和总量随着入库和出库操作的执行而进行相应的更改,货物名称也相应改变

预置条件

应用被打开,且当前处在货物汇总界面上

用例序号

输入

执行步骤

预期结果

TS40001

仓库中无次货物,执行入库操作

打开货物汇总表单

表单内容相应改变,

此种货物的所有属性显示出来

TS40002

仓库中有此货物,执行入库操作

打开货物汇总表单

表单内容相应改变,

此种货物的总量和总价也相应增加入库的数量

TS40003

仓库中有次货物,执行出库操作

打开货物汇总表单

表单内容相应改变,

此种货物的总量和总价也相应减少出库的数量

TS40004

检查友好性

检查货物汇总作界面设计是否合理,符合正常规范标准

界面符合习惯、美观,标签对齐,输入框对齐,无错别字,字体大小协调,文字描述准确

 

3、白盒测试(基本路经测试法)

1)登录模块

a)代码

Option Explicit

Dim cnt As Integer

'记录确定次数

Private Sub Form_Load()

cnt = 3

Dim connectionstring As String

connectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _

                   "Data Source='" + App.Path + "/user.mdb" + "'"

conn1.Open connectionstring

Label5.Caption = "您还有" & cnt & "次输入密码机会!"

End Sub

Private Sub label7_mouseup(Button As Integer, Shift As Integer, X As Single, Y As Single)

Label7.BorderStyle = 0

Dim sql As String

Dim rs_login As New ADODB.Recordset

1     If Trim(txtuser.Text) = "" Then            '判断输入的用户名是否为空

2:      MsgBox "用户名或密码错误,请重新输入!", vbOKOnly + vbExclamation, ""

   txtuser.Text = ""

   txtpwd.Text = ""

   txtuser.SetFocus

3:      Else

   sql = "select * from 系统管理 where 用户名='" & txtuser.Text & "'"

   rs_login.Open sql, conn1, adOpenKeyset, adLockPessimistic

4:      If rs_login.EOF = True Then

5:          MsgBox "用户名或密码错误,请重新输入!", vbOKOnly + vbExclamation, ""

      txtuser.Text = ""

   txtpwd.Text = ""

      txtuser.SetFocus

6:      Else

   '检验密码是否正确

7:      If Trim(rs_login.Fields(1)) = UserCode(Trim(txtpwd.Text)) Then

8:              userID = txtuser.Text

          userpow = rs_login.Fields(2)

          rs_login.Close

          Unload Me

17:           MDIForm1.Show

          Exit Sub

9:      Else

10:           MsgBox "用户名或密码错误,请重新输入!", vbOKOnly + vbExclamation, ""

         Label5.Caption = "您还有" & cnt - 1 & "次输入密码机会!"

            txtuser.Text = ""

   txtpwd.Text = ""

         txtuser.SetFocus

      End If

   End If

End If

cnt = cnt - 1

11:     If cnt = 0 Then

12:     MsgBox "对不起,您已连续三次输入错误,请确认正确密码再试,谢谢!", vbOKOnly + vbExclamation, ""

18:        Unload Me

   Exit Sub

End If

End Sub

Private Sub txtpwd_Change()

13:        If Len(txtpwd.Text) > 12 Then

14:        txtpwd.Text = Left(txtpwd.Text, 12)

End If

End Sub

Private Sub txtuser_Change()

15:        If Len(txtuser.Text) > 12 Then

16       txtuser.Text = Left(txtuser.Text, 12)

End If

End Sub

b)详细流图

6.2.1 登录模块详细流图

c)环形复杂度

18-14+2=6

d)独立路径

路径一:13--15—1—4—7—8—17

路径二:13—15—1—2—1—4—7—8—17

路径三:13—15—1—4—1—4—7—8—17

路径四:13—15—1—4—7—10—1—4—7—8—17

路径五:13—14—15—16—1—4—7—8—17

路径六:13—15—1—4—7—10—11—12—18

 

e)设计测试用例

编号

输入数据

预期输出

实际输出

覆盖路径

判定覆盖

txtuser

txtpwd

txtuser

txtpwd

提示

txtuser

txtpwd

提示

1

aaaaaaaaaaaaa

aaaaaaaaaaaaa

aaaaaaaaaaaa

aaaaaaaaaaaa

错误

aaaaaaaaaaaa

aaaaaaaaaaaa

溢出

13—14—15--16

TT

2

aaaaaaaaaaaa

aaaaaaaaaaaaa

aaaaaaaaaaaa

aaaaaaaaaaaa

错误

aaaaaaaaaaaa

aaaaaaaaaaaa

溢出

13—14—15--16

TF

3

admin

111

“”

“”

错误

2

“”

“”

错误

3

13—15—1—7

--10

FFTF

4

administrator

123

“”

“”

错误

1

“”

“”

错误

3

13—15—1—4

FFF

5

Admin

111111

“”

“”

提示

退出

“”

“”

提示

退出

13—15—1—7—10—11-12--18

FFTFT

6

admin

123

 

 

进入

 

 

进入

 

FFTT

6.2.1登录模块白盒测试用例

 

2)出入库录入模块

a)代码

Private Sub Command1_Click()

Dim rs_save As New ADODB.Recordset

Dim sql As String

Dim i, num As Integer

Dim s As String                                 '转化数据用

On Error GoTo saveerror

1:                          If Trim(Text1.Text) = "" Then

2:                            MsgBox "编号不能为空!", vbOKOnly + vbExclamation, ""

   Text1.SetFocus

   Exit Sub

End If

3:                          If Combo1.Text = "" Then

4:                            MsgBox "请选择货源地!", vbOKOnly + vbExclamation, ""

   Combo1.SetFocus

   Exit Sub

End If

5:                          If comboy.Text = "" Then

6:                             MsgBox "请选择年份!", vbOKOnly + vbExclamation, ""

   comboy.SetFocus

   Exit Sub

End If

7:                          If combom.Text = "" Then

8:                             MsgBox "请选择月份!", vbOKOnly + vbExclamation, ""

   combom.SetFocus

   Exit Sub

End If

9:                          If combod.Text = "" Then

10:                            MsgBox "请选择日期!", vbOKOnly + vbExclamation, ""

   combod.SetFocus

   Exit Sub

End If

11:                         If Text2.Text = "" Then

12:                            MsgBox "请填写仓库编号!", vbOKOnly + vbExclamation, ""

   Text2.SetFocus

   Exit Sub

End If

13:                         If MSFlexGrid1.Col <> 0 Then

14:                            MsgBox "请输入完整的物品信息!", vbOKOnly + vbExclamation, ""

   MSFlexGrid1.SetFocus

   Exit Sub

End If

sql = "select * from 入出库 where 仓库编号='" & Text2.Text & "'"

rs_save.Open sql, conn, adOpenKeyset, adLockPessimistic

15:                         If rs_save.EOF Then

16:                            rs_save.AddNew

   rs_save.Fields(0) = Trim(Text1.Text)

   rs_save.Fields(1) = CDate(Trim(comboy.Text) & "-" & Trim(combom.Text) & "-" & Trim(combod.Text))

   rs_save.Fields(2) = Trim(Combo1.Text)

   rs_save.Fields(3) = Trim(Text2.Text)

   rs_save.Fields(4) = Trim(Text4.Text)

    '入出库标记

17:                            If jinku.Caption = "入库" Then

18:                               rs_save.Fields(5) = "入库"

19:                            Else

20:                               rs_save.Fields(5) = "出库"

End If

   rs_save.Update

   rs_save.Close

21:                         Else

22:                         rs_save.Fields("日期") = CDate(Trim(comboy.Text) & "-" & Trim(combom.Text) & "-" & Trim(combod.Text))

   rs_save.Update

   rs_save.Close

   sql = "select * from 货物详况"

   rs_save.Open sql, conn, adOpenKeyset, adLockPessimistic

   num = rs_save.Fields("数量")

   MSFlexGrid1.Col = 2

   rs_save.Fields("数量") = num + Val(MSFlexGrid1.Text)

   rs_save.Update

   rs_save.Close

MsgBox "仓库编号重复!。", vbOKOnly + vbExclamation, ""

Exit Sub

End If

sql = "select * from 货物详况"

rs_save.Open sql, conn, adOpenKeyset, adLockPessimistic

For i = 1 To MSFlexGrid1.Row - 1

    rs_save.AddNew

    rs_save.Fields(0) = Trim(Text1.Text)

    rs_save.Fields(1) = CDate(Trim(comboy.Text) & "-" & Trim(combom.Text) & "-" & Trim(combod.Text))

    rs_save.Fields(2) = Trim(Combo1.Text)

    MSFlexGrid1.Row = i

    MSFlexGrid1.Col = 0

    rs_save.Fields(3) = Trim(MSFlexGrid1.Text)

    MSFlexGrid1.Col = 1

23:                             If jinku.Caption = "出库" Then

24:                                 s = "-" & Trim(MSFlexGrid1.Text)

        rs_save.Fields(4) = CDbl(s)

25:                             Else

26:                                 rs_save.Fields(4) = CDbl(Trim(MSFlexGrid1.Text))

 End If

    MSFlexGrid1.Col = 2

    rs_save.Fields(5) = Trim(MSFlexGrid1.Text)

    MSFlexGrid1.Col = 3

    rs_save.Fields(6) = Trim(MSFlexGrid1.Text)

    MSFlexGrid1.Col = 4

27:                             If jinku.Caption = "出库" Then

28:                                s = "-" & Trim(MSFlexGrid1.Text)

       rs_save.Fields(7) = CDbl(s)

29:                             Else

30:                                rs_save.Fields(7) = CDbl(Trim(MSFlexGrid1.Text))

 End If

    MSFlexGrid1.Col = 5

    rs_save.Fields(8) = Trim(MSFlexGrid1.Text)

Next i

rs_save.Update

rs_save.Close

MsgBox "添加成功!", vbOKOnly + vbExclamation, ""

31:                               Unload Me

Exit Sub

saveerror:

   MsgBox Err.Description

End Sub

b)详细流图

 

6.2.2出入库录入模块详细流图

c)环形复杂度

30-23+2=9

d)独立路径

路径一:1—3—5—7—11—13—15—16—17—18—26—30—14

路径二:1—3—5—7—11—13—15—16—17--20—24—28—14

路径三:1—2--1—3—5—7—11—13—15—16—17--20—24—28—14

路径四:1—3—4--3—5—7—11—13—15—16—17--20—24—28—14

路径五:1—3—5—6--5—7—11—13—15—16—17--20—24—28—14

路径六:1—3—5—7—8--7—11—13—15—16—17--20—24—28—14

路径七:1—3—5—7—11—12--11—13—15—16—17--20—24—28—14

路径八:1—3—5—7—11—13—14--13—15—16—17--20—24—28—14

路径九:1—3—5—7—11—13—15—22--15—16—17--20—24—28—14

e)设计测试用例

编号

1

2

3

4

5

输入数据

标记

入库

入库

入库

出库

出库

货物编号

101010101010

1010101010

10101010

10101010

10101010

货源地

 

兰州

兰州

兰州

兰州

年份

2009

2009

2009

2009

2009

月份

12

12

12

12

12

备注

吴景晨

吴景晨

 

仓库编号

1900

1900

1901

1902

1903

预期输出

货物编号

101010101010

1010101010

10101010

10101010

10101010

货源地

 

兰州

兰州

兰州

兰州

年份

2009

2009

2009

2009

2009

月份

12

12

12

12

12

备注

吴景晨

吴景晨

 

仓库编号

1900

1900

1901

1902

1903

提示

货源地为空

仓库编号重复

 

 

信息不完整

实际输出

货物编号

1010101010

1010101010

10101010

10101010

10101010

货源地

 

兰州

兰州

兰州

兰州

年份

2009

2009

2009

2009

2009

月份

12

12

12

12

12

备注

吴景晨

吴景晨

 

仓库编号

1900

1900

1901

1902

1903

提示

越界,空值

仓库编号重复

入库成功

出库成功

信息不完整

覆盖路径

1—2--1—3—4--3—5—7—11

1—3—5—7—11—13—15—22--15

1—3—5—7—11—13—15—16—17—18—26—30--31

1—3—5—7—11—13—15—16—17—20—24—28--31

1—3—5—7—11—13—14--13—15—16—17--20—24—28—14

判定覆盖

FFTTT

TTTTF

TTTTTTTTT

TTTTTTTTT

TTTTTFTT

七、调试

1)登录模块调试

①输入错误计数器显示错误:

回溯法:(a)检验用户名输入正确性和内容正确性缺少计数器

              b)检测密码内容正确性程序正确

              c)此类问题延伸到修改密码、添加用户、用户管理等模块

              d)修改计数器出现地点,已经修复,并且经测试未出现问题

②修改密码输入字数溢出错误:

原因排除法:(a)非数据库接口错误,数据库内字段设置正常、统一。

                     b)输入正确性检测缺少

c)三个输入框都出现了输入溢出的问题

d)添加输入框输入字数限制,已经修复,经测试未出现问题

③添加用户输入字数溢出错误:

原因排除法:(a)非数据库接口错误,数据库内字段设置正常、统一。

                     b)输入正确性检测缺少

c)三个输入框都出现了输入溢出的问题

d)添加输入框输入字数限制,已经修复,经测试未出现问题

④用户管理输入字数溢出错误:

原因排除法:(a)非数据库接口错误,数据库内字段设置正常、统一。

                     b)输入正确性检测缺少

c)输入框出现了输入溢出的问题

d)添加输入框输入字数限制,已经修复,经测试未出现问题

⑤输入新密码时,输入空格,系统未给出错误提示,正常修改“

原因排除法:(a)非数据库接口错误,数据库内字段设置正常、统一。

b)输入正确性检测缺少

c)添加输入框输入字符限制,已修复,经检测未出现问题

 

2)出入库录入模块调试

①入库的货物信息录入后,显示窗口中的数量、单价、总价、生产厂家无法输入

原因排除法:(a)非数据库接口错误

b)数据库表单中 字段属性的问题,应设置为可输入,未修复,由开发人员进行修复

c)开发人员已修复

②入库信息录入后,点击确定后,对请求表的改变没有成功

原因排除法:(a)在表中,索引、主关键字或关系中创建了重复的值,未修复,交与开发人员进行修复

                     b)开发人员已修复

③出库的货物信息录入后,显示窗口中的数量、单价、总价、生产厂家无法输入

原因排除法:

a)非数据库接口错误

b)数据库表单中 字段属性的问题,应设置为可输入,未修复,由开发人员进行修复

c)开发人员已修复

④出库信息录入后,点击确定后,对请求表的改变没有成功

原因排除法:

a)在表中,索引、主关键字或关系中创建了重复的值,未修复,交与开发人员进行修复

b)开发人员已修复

⑤执行出库操作时,在出库内无库存或库存量少于出库量时,系统发生运行错误

原因排除法:

a)非数据库接口错误,数据库内字段设置正常、统一。

b)出库权限发生错误,未修复,交由开发人员修复

c)已由开发人员修复

八、开发总结

仓库作为一种信息资源的集散地,用户和货物资料繁多,包含很多的信息数据的管理。根据调查得知,以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于仓库信息的统计和核实等往往采用人工检查进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。

    为了适应日趋激烈的市场竞争,企业需要对自身的经营状况有所了解。高效率、科学化地管理仓库成为提高生产经营效率的有效途径。采用计算机管理信息系统能有效地避免仓库管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效地查询和修改仓库信息情况,并给企业管理带来了明显的经济效益和社会效益,成为当今仓库管理科学化和现代化的重要标志。

    本系统针对企业的实际需要,分析了企业仓库管理系统的功能,以入库管理和出库管理为重点,描述各个模块结构设计及实施过程中的技术要点,实现仓库的基本管理(出入库管理)、查询管理、统计管理、打印管理及操作员、管理人员和数据设置管理等功能。同时,还对代码维护及库存数据整理等做了设计。用户可以通过相应的模块,对仓库里的材料的基本情况进行更新、删除和查询,对材料的出库和入库进行管理,对出入库明细进行查询,对出库,入库,和材料的库存余额进行报表生成,对使用该系统的用户进行更新、删除,对库存数据进行整理,还有操作员管理,权限设置,密码修改等其他系统管理功能。

    本系统基于Windows平台,采用Visual Basic6.0作前台开发工具,利用Access作后台数据库。首先进行可行性分析和用户需求分析以及数据需求分析,然后根据开发环境及自身知识条件确定开发工具、开发技术、开发平台。本系统是一个面向仓库业务管理的信息系统,主要功能模块有登录模块、主界面模块、入库管理模块、出库管理模块、查询模块、统计/打印模块、设置模块。

通过对本次仓库系统的设计,使我们对软件工程这门课程有了更深入的了解,知道软件工程不仅是一门研究用工程化方法构建和维护有效的、实用的、高质量的软件的学科,而且在现代社会中,软件应用于多个方面,如工业、农业、银行、航空、政府部门等,这些应用促进了经济和社会的发展,使人们的工作更加高效,同时提高了生活质量;也使我们意识到VB语言的重要性。Visual  Basic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。

对我们来说,Visual  Basic有着更特殊的意义。通过以前对Visual  Basic的学习,让我们感觉到它的优越性,随着对Visual  Basic学习和研究的深入,让我们更加热爱这么语言。虽然学习Visual  Basic有一段时间了,但实际上并没有进行过比较正式的程序开发,当我们亲自动脑开发系统时,却发现困难重重。首先面对的是需求分析,虽然只有短短的几段话,但却是字字珠玑,理解偏差,就会导致本程序与客户需求之间的冲突,浪费财力、物力。到了具体编程,我们进行了分配,每个人都在自己的任务中遇到了各式各样的困难,尤其是数据库设计这一环节甚为重要,一旦数据库设计不合理,就有可能造成程序无法正常运行,在最后连接各个模块的时,因为大家平时都是各干各的,沟通的不多,导致模块不能流畅的连接在一起,不得不从头开始分析其中的原因,修改自己负责的模块,做好与上一模块和下一模块之间的衔接,大费周折,最后才顺利的完成这个系统的设计。

在这门课程的学习和实验中,让我们收获了许多东西,让我们更加了解了有关Visual  Basic编程的一些知识,也得到了一些在团队开发中的经验,认识到团队合作的重要性,使我们受益匪浅。这将对我们将来的职业生涯产生极大的影响。在此衷心地感谢赫老师对我们孜孜不倦的教导!

九、用户手册

1)引言:

尊敬的产品用户:

首先非常感谢您选用本公司的产品,让我们有机会向您提供优质的服务。为了使我们的服务让你更满意,请您认真阅读此手册。

随着现代化技术的不断推进,现代化仓库也大幅度增长,在给人们提供更加舒适自如的办公环境的同时, 仓库管理工作的麻烦也捆饶着管理人员,如果不能既是有效的管理现有的仓库信息,会给工作带来不可预测的麻烦,甚至是很大的经济损失.目前市场上也存在一些仓库管理软件,但大部分功能过于简单,用户界面又相对烦琐,往往很简单的操作要经过多个步骤才可以完成。本系统就是基于以上情况提出,意在用友好的用户交互界面,做到集查询、修改于一体,减少管理人员的工作量,方便领导、员工了解现有设备情况的目的。

2)软件概述

①软件用途

本软件的开发是为解决在仓库管理中一些统计,记录以及分析上的自动化操作。

②软件运行

本软件运行在PC 及其兼容机上,使用WINDOWS 操作系统以及IE浏览器,在浏览器地址栏登录系统的地址后根据菜单栏进行操作

③系统配置

本系统采用服务器/终端模式,

客户端配置

 

最低配置

推荐配置

CPU

Pentium 3及以上

Inter core 2duo及以上

内存

512M

1G及以上

硬盘

至少60M空间及以上

500M空间及以上

网卡

100M以太网卡

1000M以太网卡

操作系统

至少Windows 2000 pro

Windows xp sp3

IE

至少IE6

IE8

④软件功能

仓库管理系统是对现在各个公司或生产厂商对仓库有效管理而作的一个软件。通过对仓库出入库等信息登记并进行各种组合查询,达到公司对仓库现有状况的系统分析,对管理人员的决策起到帮助作用。

本系统包含“数据添加”、“数据查询”、“数据修改”、 “用户管理”、“退出”等功能。本系统包含数据库主要用于存放仓库管理信息和管理员信息。

⑤应用领域

加强仓库管理,提高仓库管理的现代化水平,既是建立现代企业制度,推进企业改革的需要,又是转变经济增长方式,实现集约化经营的要求。随着经济体制改革的不断深入,仓库管理在企业管理的地位将越来越重要,仓库管理所创造的经济社会效益越来越显著。所以在企业使用仓库管理系统已成为必备的潮流。

     用户种类

系统分为管理员、普通用户和员工三个模块。管理人员拥有数据库的建立和修改权限,可以对仓库的库存、入库、出库等进行数据的输入、修改与查询。管理员只能以正确的用户名和密码才能进入管理系统,普通员工只要以员工身份登入即可,无须用户名和密码而且员工只拥有查询的权限,但不能对数据库进行任何的修改。当员工申请查看设备信息时,通过登陆系统,拥有查询权限,可按项目查询或查看设备数据库的完整信息。

3)软件使用:

①软件安装

服务器端安装采用普通安装模式,复制以及转移都十分方便,不需要安装额外的组件。

②功能简述

a)登录

       打开系统的界面后首先需要做身份验证,可根据被分配到的帐户进行登录。

管理员登录:管理员用正确的用户名和密码,可以登入系统

普通用户登陆:用户登陆模块LoadFrame之后,就进入本登陆界面,用户需要如上所述的正确的用户名和密码之后才能使用本系统。

b)系统管理:(有权限要求)

拥有增加新用户、用户管理、修改密码3个功能。普通用户只能进行修改密码操作。管理员可在用户管理中进行根据不同的系统情况对系统的用户进行增加和删除等工作。

c)仓库管理:(有权限要求)

拥有入库、出库、货物管理、货物查询4个功能。普通用户不拥有货物管理功能操作权限。其中货物管理可对库存详细信息进行增删改等操作。货物查询可根据不同的选项查询库存信息。

d)汇总表单:

可按照货物编号、货物名称、时间、客户来进行表单的搜索与查询,并可打印表单

e)退出系统:

单击退出本系统,恢复系统的实始状态。

4)软件维护:

出错及纠正方法

用户可能由于输入的数据不符合软件的要求或操作失误,软件将可能运行错误,如出现问题请您按照软件的要求运行程序。如还有误,请联系我们的客服15117105413,我们将以最快速度派出小组为您排除故障,谢谢合作。

 

 

仓库管理系统总体设计报告

  • 2014年01月27日 15:13
  • 447KB
  • 下载

仓库管理系统设计与实现论文

  • 2010年04月17日 21:59
  • 55KB
  • 下载

项目使用git初始化流程

github一直都是在上面拿资源。感觉有点愧对大众。是不是应该奉献自己的力量给github来推动开源的发展呢。 在两个月前第一次在github新建项目,并且push了一套比赛的源码。但。。。今天竟然忘...
  • LXB15959168136
  • LXB15959168136
  • 2016年11月02日 14:39
  • 2341

项目使用git初始化流程

github一直都是在上面拿资源。感觉有点愧对大众。是不是应该奉献自己的力量给github来推动开源的发展呢。 在两个月前第一次在github新建项目,并且push了一套比赛的源码。但。。。今天竟然忘...
  • LXB15959168136
  • LXB15959168136
  • 2016年11月02日 14:39
  • 2341

关于数据库在仓库管理中的设计与实现

[摘要]介绍了利用数据库在企业中实现对仓库的管理,及软件的设计与实现。为了实现对备品备件及辅助材料仓库的现代化科学管理,保证物资和备件管理的安全性、准确性和可靠性,降低劳动强度,提高劳动效率,为企业获...
  • caiyd08
  • caiyd08
  • 2009年12月22日 11:23
  • 1582

微软业务生产力平台基础架构优化(BPIO)之企业项目管理(EPM)解决方案

微软企业项目管理(EPM)解决方案,帮助企业统一整合项目管理资源,提高项目管理的工作效率,加强信息共享,降低风险,提高企业多项目管理(Program)并增强项目组合管理(Portfolio)的能力,同...
  • accado
  • accado
  • 2012年05月01日 03:47
  • 11115

仓库管理系统设计书

目  录一、开发计划... 11、引言... 12、项目概述... 13、实施计划... 14、支持条件... 25、专题计划要点... 2二、可行性报告... 21、项目定义... 22、技术可行性...
  • cyl2711535
  • cyl2711535
  • 2011年01月29日 16:26
  • 2576

Git基础 3 ---- Git 初始化及仓库创建

1 Git基础设置    1 设置用户名       git config --global user.name "用户名"           2 设置用户邮箱       git con...
  • cgl1079743846
  • cgl1079743846
  • 2013年09月14日 23:47
  • 8012

进销存系统设计说明书

进销存系统   系统设计说明书     文件状态: [  ] 草稿 [  ] 正式发布 [√] 正在修改 文件标识: 进销存系统 ...
  • yanwen_dong
  • yanwen_dong
  • 2013年11月01日 15:07
  • 2147

网上选课系统设计书

学生选课系统详细设计 系统描述 学生选课系统是一个学校不可缺少的部分,学生选课系统需要满足来自三方面的需求,这三个方面分别是管理员、教师和学生。管理员的功能较为复杂,包括对管理员、系部、班级、教师...
  • dsf1208
  • dsf1208
  • 2015年09月28日 09:06
  • 604
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:仓库管理系统设计书
举报原因:
原因补充:

(最多只允许输入30个字)