基于Web技术的仓库管理系统设计与实现

更新时间:2024-05-19 04:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

仓库管理系统是为了实现企业产品管理的系统化、规范化和自动化,从而提高企业管理效率而设计的。它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成仓库管理提供了强有力的工具和管理手段。本系统主要功能是完成了对大量货物信息的系统化管理。整个系统由系统管理员的基本信息、入库、退库、出库、查询统计、报表打印及各类信息的增加、删除和修改等模块组成。通过计算机使仓库管理步入了自动化,科学化管理的行列。避免了以往手工操作等繁杂的劳动,即节省了人力,又方便快捷,还大大提高数据的准确性。仓库管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了仓库管理的要求。本系统是在Windows XP+IIS5.0的环境下,以SQL Server2000作为后台数据库,以ASP为编程语言来开发的。仓库管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了仓库管理计算机化。

关键词:ASP;SQL Server 2000;仓库管理系统

I

Abstract

The administrative system of the warehouse is designed for realizing the systematization, standardization and atomization of enterprise's products management and improving efficiency of enterprises management. It completely replaces the working way of artificial management originally, prevents from various kinds of mistakes because of administrative staff neglect and the quality problem of management and offers powerful tool and management way to complete storehouse management for prompt, accurate, high-efficient. The main function has completed to the massive human affairs information systematized management. Including information input, renewal, deletion, revision and so on. Caused the warehouse management through the computer to march into the automation, the scientific management ranks. Avoided formerly the manual operation and so on the numerous and diverse work, namely has saved the manpower, also facilitated quickly, but also enhanced the data greatly the accuracy. The administrative system of the warehouse is a medium and small-scale database management system, it has not only beautiful interface, but also the high security and the simply operation, and meet the demand for storehouse management basically. This system is in a Windows XP + IIS5.0 environment, to Server2000 SQL database, with ASP as background for programming language to develop. The Warehouse administrative system is designed with regarding SQL Server2000 as the backstage database and regarding ASP as programming language. The administrative system is effectual, the high data accuracy during the course of operating, improves working efficiency and realizes computerization for storehouse management at the same time.

Key Words:ASP;SQL Server 2000;Warehouse management system

II

目 录

摘 要··········································································································································································· I Abstract ·········································································································································································· II 第1章 概 述 ·····················································································································································1 1.1 课题来源 ···························································································································································1 1.2 课题目的及意义 ············································································································································1 1.3 国内外发展状况 ············································································································································2 第2章 方案论证 ·····················································································································································3 2.1 开发方案选择 ·················································································································································3 2.2 开发技术简介 ·················································································································································3 2.3 可行性分析 ······················································································································································4 第3章 需求分析 ·····················································································································································6 3.1 系统目标设计 ·················································································································································6 3.2 开发设计思想 ·················································································································································6 3.3 系统功能需求分析 ·······································································································································6 3.3.1 现场要求 ·············································································································· 6 3.3.2 数据流图 ·············································································································· 7 3.4 系统性能要求 ·················································································································································8 3.4.1 用户接口 ·············································································································· 8 3.4.2 数据库特性 ·········································································································· 8 3.4.3 可扩展性 ·············································································································· 9 3.4.4 稳定性与健壮性 ·································································································· 9 第4章 过程论述 ·················································································································································· 10 4.1 总体结构图 ··················································································································································· 10 4.2 数据库设计 ··················································································································································· 11 4.3 输入输出设计 ·············································································································································· 16 4.3.1 输出设计 ············································································································ 16 4.3.2 输入设计 ············································································································ 17 4.4 安全性设计 ··················································································································································· 18 4.4.1 数据安全性 ········································································································ 18 4.4.2 登陆用户的安全性 ····························································································· 18 4.4.3 操作的安全性····································································································· 18 4.4.4 系统安全性的其他考虑 ····················································································· 18 4.5 数据库管理 ··················································································································································· 18

I

4.6 系统详细设计 ·············································································································································· 19 4.6.1 数据库连接模块································································································· 19 4.6.2 登录模块设计 ···································································································· 19 4.6.3 入、出、退库模块设计 ····················································································· 21 4.6.4 结算模块设计 ···································································································· 23 4.6.5 支付欠款模块设计····························································································· 25 4.6.6 系统管理模块设计····························································································· 25 4.6.7 报表模块设计 ···································································································· 27 4.6.8 商品分类模块设计····························································································· 27 第5章 软件测试与结果分析 ······················································································································· 30 5.1 软件测试的技术 ········································································································································· 30 5.2 黑盒测试 ························································································································································ 31 5.2.1 黑盒测试 ············································································································ 31 5.2.2 功能测试 ············································································································ 31 5.3 白盒测试 ························································································································································ 34 5.4 系统测试 ························································································································································ 36 5.5 测试结论 ························································································································································ 36 结 论········································································································································································ 37 致 谢········································································································································································ 38 参考文献········································································································································································ 39 附 录········································································································································································ 41

II

第1章 概 述

1.1 课题来源

随着社会经济的迅速发展和科学技术的全面进步,计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。与此同时,为了管理大量的货品,货品仓库也大量的出现,仓库的管理问题也就提上了日程。随着物资的大量增加,其管理难度也越来越大,如何优化仓库的日常管理也就成为了一个大众化的课题。

在计算机飞速发展的今天,将计算机这一信息处理应用于仓库的日常管理已是势必所然,而且这也将为仓库管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。采用计算机管理信息系统已成为仓库管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。主要体现在:极大提高了仓库工作人员的工作效率,大大减少了以往入出存流程繁琐,杂乱,周期长的弊端。基于仓库管理的全面自动化,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。仓库的管理的操作自动化和信息的电子化,全面提高了仓库的管理水平。

随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理[19]是万万不行的,仓库管理的全面自动化、信息化则是其中极其重要的部分。为了加快仓库管理自动化的步伐,提高仓库的管理业务处理效率,建立仓库管理系统已变得十分心要。入库、出库还是现在企业货品仓库管理的常规基本模式,虽然,最近又出现了很多新的管理模式,如:基于零库存思想的沃尔玛特管理方式,但这些新的思想在中国大部分企业的管理中还是难以实现的。所以如何设计好仓库管理系统,尽可能地减少仓库管理的重复性和低效性就成为当前最为重要的问题。货品仓库管理的核心是入库和出库之间的联系,如何处理好二者之间的关系是系统最为关键的部分。通过对仓库管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今货品仓库管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。

1.2 课题目的及意义

仓库管理是与我们日常生活息息相关的问题。大到公司、超市的仓库管理,小到图书馆的藏书管理,都可以认为是各种各样的仓库管理需求。随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,仓库管理的全面自动化、信息化则是其中极其重要的部分。为了加快仓库管理自动化的步伐,提高仓库的管理业务处理效率,建立仓库管理系统,尽可能地减少仓库管理的重复性和低效性,已变得十分必要。

1

1.3 国内外发展状况

国外状况:据统计,目前,美国在财务会计上占有90%的工作由计算机完成;计划管理是80—90%;在计算机应用发展较快的国家中,计算机应用于信息管理的占80%;用于科技计算的占8%,用于生产过程控制的占12%;由此可以看出,信息管理是计算机应用的主要领域。

国内状况:由于种种原因,我国的信息资源建设水平远远落后于信息基础设施的建设的水平。长期以来,我国信息资源的开发管理未能与信息资源的增长同步进行。我国有丰富的原始信息资源,但在此基础上再生的二次信息系统和数据库产业的规模和市场占有率、使用率相当低,大量的有价值的信息未能进一步加工成商品使其增值。我国的计算机应用要比西方国家落后十几年,因此,信息资源的开发和利用已被确立为国民经济信息的核心内容,信息数字化,传输的网络化是缩小发展中国家与发达国家差距的捷径,世界信息化浪潮正以不可阻挡之势席卷全球时,我国要迎头赶上,就必须利用现有的信息基础设施,重点开发和推广应用于各类科技经济等数据库和网络资源服务系统,以便取得巨大的社会效益和经济效益。

现代企业的物流系统日趋复杂,高效的物流系统要求有效地对企业的库存进行管理。目前的仓库管理系统一般技术比较落后、性能较差且很不完备,人工干涉多,操作使用不方便,有的还故障率高而不实用。现阶段仓库管理的特点是信息处理量特别大,所管理的物资设备种类繁多,而且入库单、出库单、需求单等单据的发生量特别大,关联信息多,查询和统计的方式各不相同。因此在管理上实现起来有一定的困难。在管理的过程中经常出现信息的重复传递等问题。仓储管理部门越来越需要一套低成本、高性能、方便使用、功能完善的综合仓库管理信息系统。而现在计算机技术、网络技术、的成熟与发展,为仓储管理自动化提供了强有力的技术支持。课题以某仓库应用背景,通过研究当前仓库系统的管理现状、存在问题以及现实需求,设计一个针对仓库管理工作的管理信息系统。该系统能够提供较为完备的功能,可以全面管理仓库中储存的商品和货物,缩短了库存信息流转时间,使企业的物料管理层次分明,井然有序,为采购、销售和生产提供依据,对于提高企业的经营效率、加快仓库管理的自动化具有重要的意义。

仓库管理系统是一个企业单位不可缺少的部分,所以仓库管理系统应该能够为管理者提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着很多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。而利用计算机对仓库系统进行管理,有着手工管理所无法比拟的优点.比如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高仓库管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

2

第2章 方案论证

2.1 开发方案选择

B/S结构,即Browser/Server(浏览器/服务器)结构,在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript等)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。

Internet为数据库应用系统提供了新的机会,就是构建一种以Web技术为中心的应用。即采用B/S结构,客户机上只要安装一个浏览器(Brower),最多再安装很小的支持库;中间层采用Web服务器,它接受客户端的请求,将其转换为Sql语句,通过ODBC或其他手段传给数据库服务器,并将数据库服务器返回的结果用HTML文件格式传回给客户机。客户机实际上就是一个将标准语言转化为界面的解释器,应用程序安装在Web服务器上,其运行也是在这单进行的。

图2-1 浏览器/服务器结构

浏览器 操作系统服务器 SQL server数据库 2.2 开发技术简介

ASP[2]:近年来随着Internet技术的飞速发展及用户需求的不断升级,Web页面技术也不断的推陈出新,使得Web站点的功能越来越强大,能够提供的服务种类越来越繁多。从HTML、Client Script到CGI,从JAVA的诞生到ActiveX,Web页面设计人员不断受到冲击,微软公司在总结了以往技术,重新思考Web页面设计的真正需要后,推出了Active Server Pages (ASP),一种用以取代CGI(Common Gateway Interface,通用网关接口)的技术。

简单讲,ASP是位于服务器端的脚本运行环境,ASP内含于IIS之中 , 通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB

3

服务器应用程序。有了ASP你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。使用ASP还有个好处,就在于ASP可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便快捷地访问数据库,从而使得开发基于WWW的应用系统成为可能,这也是本系统选择ASP作为开发工具最重要的原因之一[6]。

SQL Server 2000[15]:SQL Server是一个关系数据库管理系统,是Microsoft推出的新一代数据管理与分析软件。SQL Server是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。SQL Server 2000,是Microsoft公司推出的SQL Server数据库管理系统的新版本。该版本继承了SQL Server7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑,到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用。

Dreamweaver MX 2004:提供强大的设计工具,再不用书写一行代码的情况下,就能够快速创建各种极具动态HTML特性的网页;利用目标浏览器检查特性,可以创建兼容性极好的网页,以适用于各种平台和各种浏览器;利用Roundtrip HTML技术,可以精确控制 Dreamweaver MX生产的网页源代码。它是完全可定制的,用户可以创建自己的对象和命令,修改菜单和快捷键,甚至可以通过自己编写JavaScript代码来为Dreamweaver创建新的行为和属性面板,以增强自身的能力。

2.3 可行性分析

可行性分析的任务,并不是所有问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行的解,那么花费这项开发工程上的任何时间、资源、人力和经费都是无谓的浪费。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。怎样达到这个目的呢?当然不能靠主观猜想,而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。

因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。所以从以上的分析原则来看,我所设计的仓库信息管理系统是一个规模不太大的系统,但是目标明确,清晰的描述了对目标系统的一切限制和约束。本系统几乎在所有的企业、公司使用,当然它需要进一步的完善和更新。在使用过程中,要看它能不能带来效益,毕

4

竟在现今社会效率是第一位的。从现实看,这还是有一定的实用价值的,从另一个角度看,现实社会发展飞速,尊重科技势在必行,因此这也是开发本系统的一个非常重要的原因。21世纪是计算机的时代,它必然取代一部分人的工作,高科技的监控系统进入社会生活的方方面面是发展的趋势。

本设计从以下三个方面进行可行性研究:

1. 技术可行性。本设计“仓库管理系统”是为企业仓库管理人员开发的。鉴于本人在上学期数据库课程设计中已用ASP+SQL Server开发过图书管理信息系统,而且通过三个月毕业实习中的学习和实践,对开发管理信息系统又有了新的认识和提高,使自己在开发管理信息系统方面的技术更加成熟。由于本设计最重要体现的是实用性,所以,通过大量的社会调查和分析,结合自己现有的技术水平加上导师的指导,还是能按期完成本毕业设计。

2. 经济可行性。成本方面:由于本毕业设计属于计算机科学(本科)教学的最后一个环节,所以人力消耗免费,资源学校提供,指导老师义务指导。所以成本计算只需计算开发期间开发者的生活消费,学校资源的消耗,所以开发本软件的成本是非常低的。效益方面:为企业开发一个完整、合理的仓库管理系统,可大大节余人力,以前需要多人干的工作,使用本系统只需一个人或几个人就能完成,且工作量和劳动强度大大降低。所以开发本软件可以为社会带来很好的经济效益。

从以上分析看开发本软件在经济上是可行的。

3. 操作可行性。本软件是为企业仓库的管理者开发的,所有本软件的用户对象是企业仓库的工作人员,由于本软件要设计成友好的界面,写出详细的使用说明,用户只需懂得简单的计算机操作知识,就能自由应用本软件。

所以从以上几个方面的分析来看,开发本软件是完全可行的。

5

第3章 需求分析

3.1 系统目标设计

系统开发的总体任务是实现企业产品管理的系统化、规范化和自动化,从而达到提高企业管理效率的目的。

3.2 开发设计思想

仓库管理主要是各种商品的管理。进货时经检查合同确认为有效托收后,进行验收入库,填写入库单,进行入库登记。各个部门根据需要提出产品请求,管理员根据整个企业的需求开出产品出库单,仓库管理人员根据出库单核对发放产品。根据需要按照月进行统计分析,产生相应报表。

仓库管理的特点是信息处理量比较大,所管理的产品种类繁多,而且由于入库单、出库单等单据发生量特别大,关联信息多,查询和统计的方式各不相同。因此在管理上实现起来有一定的困难。在管理的过程中经常会出现信息的重复传递;单据、报表种类繁多,各个部门管理规格不统一等问题。

在本系统的设计过程中,为了克服这些困难,满足计算机管理工作的需要,我们采取了下面的一些原则。

1.统一各种原始单据的格式,统一报表的格式。

2.删除不必要的管理冗余,实现管理规范化、科学化。

3.程序代码标准化,软件统一化,确保软件的可维护性和实用性。

4.界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。

3.3 系统功能需求分析

3.3.1 现场要求

经过前面的初步调研分析,总结出仓库管理工作具有以下特点:

在仓库管理中存在帐目品种杂、重复次数多的问题,目前仓库对所有信息的管理均以手工完成,既由资料管理员以各种记录方式完成信息的登记,在需要某种信息的时候查找记录。很明显,目前的工作方法效率低下,信息保存的准确性、安全性难以保证,信息查询的快速性、完整性也难以保证,致使销售管理工作费人,费时,费力,繁琐枯燥,效率低下。

因此实现仓库管理的计算机化迫在眉睫, 本系统是集仓库管理、货物管理、仓库

6

货物进出退库管理、客户管理、进出库统计、结算和报表及打印等功能于一体的综合性仓储管理系统。支持多种类型的入库、出库、退库方式,同时支持多种查询方式、支付欠款和结算功能,可应用于各种行业的单体仓库精细化管理或者应用于制造企业、物流企业、流通业及其它特殊行业的仓库管理。可以轻松解决物流企业在仓库管理、货物流动分析等一系列问题,迅速提高物流企业对仓库经营管理水平、稳固客户群,增加经济效益,以最小的投资获得双盈的优秀管理。帮助生产企业、分公司、分销商、代理商、商场、商店等之间建立起一套完善、高效、具有快速反应能力和管理能力的业务平台,可以极大的提高企业竞争力,为企业创造价值果!

系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本仓库管理系统需要完成功能主要有:

1.仓库管理各种信息的输入,包括商品、供应商、客户、仓库信息的输入等。

2.仓库管理各种信息的查询、统计、修改和维护,包括商品查询,商品出库、入库退库、职员操作,各种信息的修改和维护等。

3.每日、月的结算、报表功能。

4.添加欠款支付功能。

5.在货物管理中加入最高储备和最低储备字段,对仓库中的产品实现监控和报警。

6.仓库管理系统的使用帮助。 3.3.2 数据流图

数据流图[1]是描述系统的逻辑模型的,图中没有任何具体的物理元素,只是描述信息在系统中流动和处理的情况,它比口头与文字的描述更直观地显示出来系统中数据的使用。

数据流图简称DFD图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流。图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。它能精确的描述系统的逻辑模型,描述数据在MIS中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。

数据流图采用自顶向下的方法绘制,从研究系统概况开始,然后逐层向下分解,直到所需的详尽程序为止,本系统根据前面绘制的业务流程图,采用自顶向下,逐层细化的方法,数据流图如下:

管理员口令 系统管理员 仓库管理系统 各类管理信息 显示面板 7

图3-1 仓库管理系统顶级数据流图

系统管理员 帐号/秘密 结算管理信息 结算管理子系统 结算操作信息 报表管理信息 报表管理子系统 商品管理信息 商品入出退库管理子系统 商品操作信息 报表操作信息 商品信息 支付操作信息 显示信息 后台管理数据库 仓库管理系统 支管理 付 仓库管理信息 仓库信息管理子系统 信 息 支付欠款管理子系 统 显示信息 各类信息 显示面板

图3-2 仓库管理系统1级DFD图

3.4 系统性能要求

3.4.1 用户接口

采用Windows接口风格,用户接口友好,贴近用户的实际操作,可以方便直观的进行商品的统计、查询、结算、打印报表等操作。通过工具栏的导航,可以方便的对数据进行查询、删除、插入等操作,简化了用户繁重的操作,提高了工作效率。 3.4.2 数据库特性

适应大量的录入、修改、统计、结算、报表等应用,这种应用是一切应用的基础,为一切应用提供数据基础。后端采用SQL Server 2000作为后台数据库,安全稳定好,

8

运行效率高,足以让数据安全的存取。 3.4.3 可扩展性

系统具有良好的可扩展性,当系统在网络环境下发布之后,中间的应用服务器将负责与前台的连接处理,把前台电脑传来的请求传给数据库服务器,或是把数据库服务器返回来的资料集返回给前台电脑。而数据库服务器则只要处理与应用服务器之间的一个连接,其余的时间将可以专心进行数据库的访问操作,不用关心与前台应用程序的连接,如此将大幅减轻数据库服务器的负担,进而提升整体的工作性能。 3.4.4 稳定性与健壮性

系统具有良好的稳定性和健壮性。本高校工资管理系统采用的逐一存取方式进行数据库存档。所以,并不会丢失数据。

9

第4章 过程论述

在软件需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标系统的逻辑模型。现在我们所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。首先,我们需要描述的是系统的总的体系结构。

4.1 总体结构图

系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。在系统的概要设计中我采用结构化设计(Structure Design,简称SD),SD以需求分析阶段产生的数据流图DFD为基础,按一定的步骤映射成软件结构。我首先将整个系统化分为几个小问题,小模块,在系统中,我设计了用户管理、商品入库管理、商品退库管理、商品出库管理、仓库信息管理、报表管理、结算管理7个小模块。然后,进一步细分模块,添加细节。比如,用户管理我又将其分为添加用户、删除用户。

在以上的分析的基础中,考虑到ASP程序编制的特点,得到如图4-1所示的系统功能结构图。

商品种类录入 商品种类修改 商品种类查询 10 商品分类管理子模块

图4-1 仓库管理系统功能结构图

4.2 数据库设计

在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(E-R模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。E-R模型直接从现实世界抽象出实体类型及实体间联系,然后用E-R图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但E-R模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。

E-R图是直观表示概念模型的工具,它有四个基本成分: ◆ 矩形框,表示实体类型(考虑问题的对象)。 ◆ 菱形框,表示联系类型(实体间的联系)。 ◆ 椭圆形框,表示实体类型和联系类型的属性。

11

◆ 直线,联系类型与其涉及的实体类型之间以直线连接。

本系统为仓库管理,主要管理物资的入库、出库等事项。仓库根据需要可以查询货品供应商的信息,同时还需要了解在入库和出库中员工的参与情况。依据仓库管理的实际情况,考虑了多方面的因素以后,确定系统的实体及属性图如下:

所属类别 物资编号 计量单位 商品 物资名称 规格型号 类别

图4-2 商品实体及属性图

管理员 用户名称 密码

图4-3 管理员实体及属性图

物资名称 规格型号 类别 物资编号 入库信息实体 经办人 单价 计量单位 数量 入库时间 余额

图4-4 仓库的入库信息实体属性图

12

规格型号 物资名称 物资编号 出库信息实体 经办人 出库时间 余额 单价

图4-5仓库的入库信息实体属性图

数量 计量单位 类别 实体和实体之间的关系E-R图,如图4-6所示。 供应商 m 供应 n 仓库 n 进入 m 商品 n 管理 m 管理员 n 查看 m 报表 图4-6 实体和实体之间的关系在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。本仓库管理系统是应用在单机系统上的,所以只需建立起一个数据库,在此数据库基础上建立起表格,现将数据表描述如下:

表4-1 货物基本信息表

字段名称 编号 货物名称 数据类型 数字 文本 字段大小 长整型 64 可否为空 不可 不可 外键 FK 13

货物类别 货物规格 计量单位 最高限量 最低限量 文本 文本 文本 数字 数字

50 50 50 长整型 长整型 可 可 可 不可 不可 表4-2 仓库信息表

字段名称 编号 仓库名称 仓库地点 数据类型 数字 文本 文本

表4-3 库存状况信息表

字段名称 编号 货物编号 库存数量 仓库编号 数据类型 数字 数字 数字 数字

表4-4 入库单信息表

字段名称 编号 货物编号 经办人编号 入库时间 入库单价 入库数量 供应商编号 仓库编号 订单状况 其它金额 备注 数据类型 数字 数字 数字 日期/时间 货币 数字 数字 数字 文本 货币 备注 字段大小 长整型 长整型 长整型 长整型 长整型 长整型 50 表4-5 出库单信息表

字段名称 编号 货物编号 经办人编号 数据类型 数字 数字 数字 字段大小 长整型 长整型 长整型 可否为空 不可 不可 不可 外键 FK 可否为空 不可 不可 不可 不可 不可 不可 可 不可 不可 可 可 外键 FK FK 字段大小 长整型 长整型 长整型 长整型 可否为空 不可 不可 不可 不可 外键 FK FK 字段大小 长整型 50 255 可否为空 不可 不可 可 外键 FK 14

出库时间 出库单价 出库数量 客户编号 仓库编号 订单状况 其它金额 备注

日期/时间 货币 数字 数字 数字 文本 货币 备注 长整型 长整型 长整型 50 不可 不可 不可 可 不可 不可 可 可 FK 表4-6 退库单信息表

字段名称 编号 货物编号 经办人编号 借入时间 借入数量 供应商编号 仓库编号 订单状况 其它金额 备注 数据类型 数字 数字 数字 日期/时间 数字 数字 数字 文本 货币 备注

表4-7 调拨单信息表

字段名称 编号 货物编号 经办人编号 调拨时间 调拨数量 其它金额 备注 数据类型 数字 数字 数字 日期/时间 数字 货币 备注

表4-8 结算单信息表

字段名称 编号 货物编号 结算时间 经办人编号 数据类型 数字 数字 日期/时间 数字 字段大小 长整型 长整型 长整型 可否为空 不可 不可 不可 不可 外键 FK 字段大小 长整型 长整型 长整型 长整型 可否为空 不可 不可 不可 不可 不可 可 可 外键 FK 字段大小 长整型 长整型 长整型 长整型 长整型 长整型 50 可否为空 不可 不可 不可 不可 不可 可 不可 不可 可 可 外键 FK FK 15

金额 数量 数字 数字

长整型 长整型 不可 表4-9 报表信息表

字段名称 编号 领用者姓名 领取部门 领取数量 调拨总计 操作时间 合计 数据类型 数字 文本 文本 数字 数字 日期/时间 数字

表4-10 供应商管理信息表

字段名称 供应商编号 供应商名称 欠款金额

表4-11 用户管理信息表

字段名称 用户名 用户密码 数据类型 文本 文本 字段大小 64 50 可否为空 不可 不可 数据类型 文本 文本 数字 字段大小 64 50 长整型 可否为空 不可 不可 可 字段大小 长整型 50 50 长整型 长整型 长整型 可否为空 不可 不可 不可 不可 不可 不可 不可 外键 FK 4.3 输入输出设计

4.3.1 输出设计

广义的输出是指中央处理器的输出,狭义的输出是指将计算机处理的信息以人们所能识别的各种形式表示出来的各种处理。

输出是软件的重要组成部分。整个软件的加工处理结果都是通过输出表现出来的,各种综合统计信息、辅助决策信息、查询信息等,都要通过输出才能提供给用户,才能实现信息的价值。一个好的软件设计,必须要有成功的输出设计。

输出方式及特点:

1.显示输出:速度快、成本低、形式多样; 2.报表打印输出:速度慢、成本高、可长期保留; 3.绘图输出:高成本 、高质量 。

16

输出设计与模块说明的关系:

联系:输出设计中的任何一个输出都必须与一个输出模块对应。

区别:模块说明中是就某个具有输出功能的模块进行全面的描述,但该模块所输出的信息的具体表现形式就需要在输出设计中给出。

因此,输出设计的重点是输出格式设计。

1.显示输出设计方法:以显示器为输出设备,多用于查询输出。要注意显示器的性能如大小规格、分辨率、是彩色还是单色等。

2.报表打印输出设计方法。 输出设计的内容:

1.输出信息名称:例如:个人领用统计表 。

2.相关模块:指出该输出设计对应的结构图中的模块代码。 3.输出方式:这里分为显示输出(可不写,也可写随机)和打印输出。

4.输出信息周期、份数。

5.数据结构及来源:在此要列出所有的数据的名称、类型、宽度及小数位,属于哪个数据库表。

6.输出信息的格式:这是输出设计的核心。在此应该给出一份标准的报表或屏幕格式。

7.数据间的关系:在输出的数据中,有些数据是通过其中的某些项计算而得到的,这就需要在这里给出它们的数据关系。

8.其它说明:如是否出现由于数据行数太多一页打不完的,显示输出的屏幕窗口的布置、色彩等问题。 4.3.2 输入设计

广义输入设计是指中央处理器的输入,狭义是指人对计算机的输入,也就是原始数据的输入,即输入数据流的输入格式设计。他的好坏将直接影响数据的质量,因此它是软件设计的重要组成部分。

原始数据是软件进行各种加工处理的“原材料”。它的好坏关系到加工处理的“成品”质量。

原则:输入的数据量在满足系统的前提下尽可能的少。 输入设计的内容:

1.原始数据的名称 DFD中的数据流名称; 2.相关模块代码功能图中接收该数据流最底层模块;

3.输入周期;

4.原始数据的收集方式与格式对业务流程图中的报表以报表传递、电话记录、传真、运程通讯、报软盘等方式收集;

5.输入信息的显示格式提供提示信息、帮助信息、以表格形式可以显示更多的信息/每屏、尽量少输或不输汉字、分布均匀、画面美观、色彩适中;

17

6.输入信息的数据结构:主要表明数据存储在哪个数据库中,以及各字段的类型;

7.输入信息的校验:同一数据的重复录入、代码校验位校验、针对数据结构特点的校验、对比校验、平衡校验、记录个数校验、数据关系校验。

4.4 安全性设计

4.4.1 数据安全性

经常备份数据库文件以保证数据的安全性。使用代码封装技术保证代码数据的安全性。

4.4.2 登陆用户的安全性

使用Vaildator验证框架实现注册表单的数据验证以保证登陆用户的安全性。 4.4.3 操作的安全性

有完善的用户权限的添加、删除、修改、结算,保证了不同用户使用网站不同的数据,各个权限用户不可越权使用。 4.4.4 系统安全性的其他考虑

用户注册密码采用了MD5加密算法,在数据库显示的是加密后的密码,保证的用户密码资料的安全性。服务器用稳定,安全的服务器,采用防火墙技术。避免人为的攻击。

4.5 数据库管理

在完成系统实施、投入正常运行后,就进入了系统运行与维护阶段.本系统的维护应包括以下几方面:

1.程序维护:仓库管理系统的功能是通过程序的运行来实现的,在系统运行过程中可能会遇到商品修改等一些情况,或者根据现实中的需求发生一定的变化,这时,就需要对程序进行修改,但是程序的修改属于技术性比较强的过程,所以在程序修改上一定要慎重。

2.数据维护:无论是系统的硬件还是软件,在运行过程中难免有出错的时候,所以为了防止因不可抗因素而导致数据的丢失或损坏,应时时对数据文件进行备份,以保证数据的完整性,当原始数据丢失或损坏时,可以通过数据备份来找回。

3.代码维护:随着仓库规模的不断发展,仓库中的商品和部门、用户会相应的增加,当现行系统的代码设计不能满足实际需求时,就需要对代码进行维护,使其能够跟得仓库的发展。

18

4.硬件设备的维护系统是在计算机上运行的,硬件的运行好坏直接关系到系统运行的好坏,因此要对硬件进行定期的维护,以保证硬件运行的无误,并在适当的时候对硬件的配置进行升级。

4.6 系统详细设计

在前面的概要设计中,已将系统划分为多个模块,并将它们按照一定的原则组装起来,同时确定了每个功能及模块之间的外部接口。现在所要做的就是确定每个模块具体执行过程,也可以说是“过程设计”。在处理过程设计时我采用的是结构化程序设计(简称SP)方法。需要指出的是系统的详细设计并不是指具体的编程序,而是将概要设计阶段产生的系统功能模块图细化成很容易产生程序的图纸。因此详细设计的结果基本决定了最终程序的质量。为软件的质量,延长软件的生存期,软件的可测试性、可维护性提供重要的保障。详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程清晰易读。

通过以上步骤,基本上完成了对整个系统的总体设计,接下来所要做的就是软件的编码工作。系统总体设计的好坏直接影响着下一步工作,只有在这一阶段设计出好的模块图和程序流程图,才能更有利于编码,产生好的软件系统。 4.6.1 数据库连接模块

连接数据库的代码如下: <%

dim conn,connstr

Set conn = Server.CreateObject(\

Set rs = Server.CreateObject(\

Set cmmd = Server.CreateObject(\ connstr=

\

Server};

SERVER=MICROSOF-B143A3;

UID=sa ;PWD=sa ;DataBase= kufang/dahu.md \conn.Open connstr

%>

4.6.2 登录模块设计

本系统包含权限控制,有权限的用户才能进入系统、执行操作。这就需要设计用户管理及用户登录模块。

所谓登录过程,即指用户在指定的网页中输入用户名和密码,然后提交到服务器进行身份验证。服务器接收到用户名和密码后,在数据库中进行查询。如果找到匹配

19

的记录,则通过身份认证,将网页转向到系统的主页面; 如果没有找到匹配的记录,则拒绝该用户进入系统 。

在未成功登录前运行log.asp,界面如图4-7所示。

图4-7 系统登陆界面

主要代码如下:

当具有人员在登陆成功后会进入系统管理主界面top.asp,在其中可以对整个仓库系统进行管理,具体界面如图4-8所示。

图4-8 进入仓库管理系统后界面

4.6.3 入、出、退库模块设计

入、出、退库单是采购人员购买货物时所填写的单子,是为了完成货物的正确入、出、退库才用到的。在入、出、退库单窗体中货物编号、供应商、仓库、经办人均可通过单击相关的数据框来选择,数据选择框会进行动态智能化统计信息,使选择更方便。\金额\、在单击该数据框时会自动计算。单击\确定入库/出库/退库\按钮即可保存该入、出、退库单。入、出库货物数量要按库存最高/低限量确定。它的界面设计分别如图4-9、图4-10、图4-11所示。

21

图4-9 仓库产品入库界面

图4-10 仓库产品退库界面

22

图4-11 仓库产品出库界面

4.6.4 结算模块设计

结算模块设计中,可按材料调用、部门调用和应付帐款进行结算,如图4-12所示。

图4-12 结算界面

主要代码如下:

23

4.6.5 支付欠款模块设计

支付欠款模块设计中,选择欠款单位,则可对此单位进行操作。在操作后,则在面板中出现支付明细表,如图4-13。

图4-13 支付欠款界面

4.6.6 系统管理模块设计

系统管理模块中,可进行添加和删除用户功能,如图4-14所示。

25

图4-14 系统管理界面

主要代码如下:

4.6.7 报表模块设计

报表设计模块中,可以直接按产品的代码、产品的类别和产品名称来进行查询,也可以分别进行对产品入库/出库日报表和月报表、材料明细/分类月报表、个人/部门领用统计表和月报表及供应商的统计表、应付帐款费明细表和月报表分别来进行查询功能和打印功能。报表模块界面如图4-15所示。

图4-15 报表界面

4.6.8 商品分类模块设计

货品分类管理可以添加和删除分类栏目。对货品类别可以无限添加,只要在该货品下还可以分类,那么就可以为此类别的货品添加类别名;删除该级别时,该级别下的所有类别货品都将被删除。货品分类界面如图4-16所示。

27

图4-16 商品分类界面

删除分类代码如下:

29

第5章 软件测试与结果分析

5.1 软件测试的技术

软件测试是执行程序发现并排除程序中潜伏的错误的过程。软件测试是软件投入运行前,对软件需求分析、设计、实现的强有力的最终审查。软件通过一系列的测试后就可能产生一个较正确、可靠性较高并且满足用户需求的软件产品。

软件测试的目的是为了发现程序中的错误。软件测试的过程就是程序运行的过程。程序运行需要数据,为了进行有效的测试而设计的输入数据和预期的输出数据称为测试用例。设计测试用例的原则自然是尽可能暴露错误,一个好的测试用例能够发现至今尚未发现的错误。一个成功的测试是发现了至今尚未发现错误。

软件测试的通常包括有静态测试和动态测试两种。

静态测试是采用人工检测和计算机辅助静态分析的方法对程序进行检测。

动态测试是指事先设计好一组测试用例,然后通过运行程序来发现错。其测试方法有两种:黑盒测试和白盒测试。

白盒测试是一种透明的测试技术,它是以程序的内部逻辑结构为基础来设计测试用例的。本系统在测试时应用到了逻辑覆盖、基本路径、循环覆盖三种白盒测试技术。这三种测试技术被很好的运用在了程序调试的过程中。

白盒测试的原则是:

1.保证模块中每一独立的路径至少执行一次;

2.保证所有判断的每一分支至少执行一次;

3. 保证每个判定表达式中每个条件的所有可能结果至少出现一次; 4.保证每一循环都在边界条件和一般条件下至少各执行一次;

5.验证所有内部数据结构的有效性。

黑盒测试主要是测试软件是否满足功能需求。本程序中主要采用划分等价类测试方法,对用户的登录和注册等有关数据库操作进行了黑盒测试。

黑盒测试主要测试的错误类型有: 1.不正确或遗漏的功能; 2.界面错误;

3. 数据结构或外部数据库访问错误; 4. 性能错误;

5.初始化和终止条件错误。

30

5.2 黑盒测试

5.2.1 黑盒测试

黑盒测试主要是测试软件是否满足功能需求。它与白盒测试不能互相替代,它们检查的错误类型是不同的,两者应该互为补充。在此测试中,我把测试放在了添加商品入库部分。我运用了等价类划分的方法进行了此部分的黑盒测试。过程如下:

1.划分等价类。等价类划分结果表5-1所示。

表5-1 添加商品入库的等价类划分

输入等价类 商品代号 入库时间 入库数量 有效等价类 ①大于3个字符 ③时间型数据 ⑤大于0的正整数 无效等价类 ② 少于3位字符 ④非时间型数据 ⑥小于0的正整数 ⑦非整数

2.设计测试用例,以便覆盖所有的等价类。在表6-1中列出了3个有效等价类,编号分别为①、③和⑤,设计的测试用例如下:

测试数据 期望结果 覆盖的有效等价类 Sky_1103 提交成功 ① 2009-5-19 提交成功 ③ 110 提交成功 ⑤ 3.为每一个无效等价类设计一个测试用例,设计结果如下:

测试数据 期望结果 覆盖的无效等价类 sa 错误提示 ② 145523 错误提示 ④ -15 错误提示 ⑥ 1.2 错误提示 ⑦

5.2.2 功能测试

1.登录模块的测试

要求:在用户帐号和密码正确的情况下能登录系统;在用户帐号或密码错误的情况下,提示错误信息。

(1) 输入:正确用户帐号和密码

预想结果:登录到系统主界面。 测试结果:登录到系统主界面。

(2) 输入:错误用户帐号或错误用户密码

31

预想结果:重新登陆。

测试结果:重新登陆。

(3) 输入:不输入任何用户帐号和密码

预想结果:提示错误信息“您所输入的用户帐号或密码错误,请核对后重新输入” 测试结果:提示错误信息“您所输入的用户帐号或密码错误,请核对后重新输入” 2.仓库管理模块测试 (1) 仓库管理模块查询功能测试

1) 输入:数据库库中存在的仓库商品资料 预想结果:显示所查找的仓库商品资料。 测试结果:显示所查找的仓库商品资料。 2) 输入:数据库中不存在的仓库商品资料 预想结果:显示所查找的仓库商品资料为空白。 测试结果:显示所查找的仓库商品资料为空白。 3) 输入:不输入任何教师资料

预想结果:提示错误消息“查询资料不能为空”。 测试结果:提示错误消息“查询资料不能为空”。 (2) 仓库管理模块中商品类别的添加功能测试 1) 输入:输入仓库商品的类别、商品代码和商品名称

预想结果:在“确定添加后”,提示“此商品类别添加成功!”。 测试结果:在“确定添加后”,提示“此商品类别添加成功!”。 2) 输入:输入仓库商品的基本资料,但输入并不完全,有空白项未输入 预想结果:提示错误信息“XXX不能为空”。 测试结果:提示错误信息“XXX不能为空”。 (3) 仓库管理模块中商品类别的删除功能测试 1) 输入:删除数据库中已有的仓库商品代码

预想结果:提示“删除商品分类将删除该类下的所有商品!是否确定删除?” 测试结果:提示“删除商品分类将删除该类下的所有商品!是否确定删 除?” 2) 输入:删除数据库中不存在的仓库商品资料

预想结果:提示错误信息“该仓库商品资料不存在或已经被删除”。 测试结果:提示错误信息“该仓库商品资料不存在或已经被删除”。 3.入库管理模块功能测试

(1) 输入:输入仓库商品的基本资料,各个资料都填充数据

预想结果:录入的仓库商品资料被录入到表格中,文本框内显示“入库成功” 测试结果:录入的仓库商品资料被录入到表格中,文本框内显示“入库成功” (2) 输入:输入仓库商品的基本资料,但输入并不完全,有空白项未输入 预想结果:提示错误信息“XXX不能为空”。 测试结果:提示错误信息“XXX不能为空”。

32

4.退库管理模块功能测试

(1) 输入:数据库中已有的商品种类或名称

预想结果:该仓库商品资料被修改,商品退回仓库中。 测试结果:该仓库商品资料被修改,商品退回仓库中。 (2) 输入:数据库中不存在的商品种类或名称 预想结果:提示错误信息“该商品不存在”。 测试结果:提示错误信息“该商品不存在”。 5.出库管理模块功能测试

(1) 输入:输入仓库商品的基本资料,各个资料都填充数据

预想结果:录入的仓库商品资料被录入到表格中,文本框内显示“出库成功” 测试结果:录入的仓库商品资料被录入到表格中,文本框内显示“出库成功” (2) 输入:输入仓库商品的基本资料,但输入并不完全,有空白项未输入 预想结果:提示错误信息“XXX不能为空”。 测试结果:提示错误信息“XXX不能为空”。 6.报表管理模块功能测试

(1) 报表管理模块查询显示功能测试

1) 输入:点击菜单按材料/部门/供应商中的类别查询显示工资明细 预想结果:在面板上显示该类别的报表明细。 测试结果:在面板上显示该类别的报表明细。 2) 输入:点击菜单按结算日期显示报表明细 预想结果:在面板上显示该日期的报表明细。

测试结果:在面板上显示该日期的报表明细。

3) 输入:点击菜单按材料/部门/供应商中月份查询显示报表明细 预想结果:在面板上显示该月份的报表明细。 测试结果:在面板上显示该月份的报表明细。 (2) 报表管理模块打印预览功能测试

1) 输入:点击打印预览按钮

预想结果:在打印预览中显示面板中的显示内容。 测试结果:在打印预览中显示面板中的显示内容。 7.结算管理模块功能测试

(1) 输入:点击菜单按材料领用进行结算

预想结果:在面板上显示该材料的上月结存、购进、调拨、领用和本月结存信息,在确认“结算”后,提示“结算成功!”。

测试结果:在面板上显示该材料的上月结存、购进、调拨、领用和本月结存信息,在确认“结算”后,提示“结算成功!”。

(2) 输入:点击菜单按部门进行结算

预想结果:在面板上显示该材料的上月结存、购进、调拨、领用和本月结存信

33

息,在确认“结算”后,提示“结算成功!”。

测试结果:在面板上显示该材料的上月结存、购进、调拨、领用和本月结存信息,在确认“结算”后,提示“结算成功!”。 (3) 输入:点击菜单按应付帐款进行结算 预想结果:在面板上显示该公司的应付帐款。 测试结果:在面板上显示该公司的应付帐款。 8.欠款支付管理模块功能测试

(1) 输入:输入欠款单位、支付金额和经办人 预想结果:在面板中显示支付明细表。 测试结果:在面板中显示支付明细表。 (2) 输入::输入不存在的欠款单位 预想结果:提示错误信息“没有欠款信息!”。 测试结果:提示错误信息“没有欠款信息!”。 9.系统管理模块功能测试

(1) 输入:输入/删除用户姓名和密码 预想结果:将该记录存至/删除数据库。 测试结果:将该记录存至/删除数据库。 (2) 输入:输入/删除用户姓名和密码为空

预想结果:提示错误信息“输入/删除不能为空”。 测试结果:提示错误信息“输入/删除不能为空”。 (3) 输入:输入重复的用户名

预想结果:提示错误信息“此用户已存在!”。 测试结果:提示错误信息“此用户已存在!”。

5.3 白盒测试

白盒测试[1]是一种透明的测试技术,它是以程序的内部逻辑结构为基础来设计测试用例的。

下面采用白盒测试中的基本路径测试方法,来测试此系统: (1) 根据详细设计或者代码导出如下过程的流图。

开始 输入信息 F 信息判断 34 1 2 T 3 是否进入子系统 进入系统

(2) 根据流图确定环形复杂性度量V(G). V(G)=E-N+2=4 V(G)=4个区域

V(G)=P+1=3+1=4

(3) 确定基本路径集合。一条独立的路径是指,和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。在(2)中求出的V(G)值正好等于该程序的独立路径的条数。于是可以确定几条独立的路径:

路径1:1-2-3-2

路径2:1-2-3-4-5-6-7-4-5-8 路径3:1-2-3-4-5-8 路径4:1-2-3-4-5-6-7-8

(4) 为每一条独立的路径各设计一组测试用例,以便强迫程序沿着该路径至少执行一次。

1) 路径1的测试用例:

输入的用户名和密码错误,则重新返回登录界面,重新输入用户名和密码 期望结果:对用户名和密码的验证正确。 2) 路径2的测试用例:

输入时不点击退出按钮,直接返回主界面。

期望结果:系统不退出,从子系统返回主界面。 3) 路径3的测试用例: 进入主界面后,输入退出。

35

期望结果:推出系统。

4) 路径4的测试用例:

输入用户名和密码正确进入到系统主界面,然后再进入系统子系统,最后输入退出。

期望结果:退出系统。

5.4 系统测试

系统测试是最后一项测试内容,是面向集成的整体系统的,应包括以下内容: 1.集成功能测试:设计测试用例对整个系统的组合功能进行测试,要把重点放在数据的采集、输入,信息的存储和读写,数据通讯,数据输出等方面,并需要让若干功能并行使用;

2.可靠性与适应性测试:使系统在现场环境中按实际设定的方式(周期、时间长度、最终用户操作)进行,检查其抗干扰能力(电压波动、温度变化等)、现场容错能力以及其他可靠性的适应性程度;

3.系统自我保护及恢复能力的测试:采用各种人工干预方式使系统的部分以至整个系统不能正常工作,检测系统进行现场保护、数据恢复的能力,以及恢复正常工作特别是数据恢复的能力,检查其恢复的时间和自动化程度;

4.安全性测试:通过设计一些试图突破系统安全保密措施的测试用例,检测安全保密措施的严密性。

5.5 测试结论

系统经过白盒测试和黑盒测试以后已经基本上排除了一切可能出现的错误,实现了所有的期望功能,系统可以交付使用。

36

本文来源:https://www.bwwdw.com/article/2km7.html

Top