零售药店管理系统的设计与实现_第1页
零售药店管理系统的设计与实现_第2页
零售药店管理系统的设计与实现_第3页
零售药店管理系统的设计与实现_第4页
零售药店管理系统的设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 I / 37基于基于 WEBWEB 的零售药店管理系统的设计与实现的零售药店管理系统的设计与实现摘要:随着我国市场经济的发展和人们对医药产品需求的迅速增加,医药行业正处于一个高速发展的时期,因以往药店主要是以人工记录模式登记药品信息,销售信息等,因此对于管理药品信息和数据纷乱复杂,整理统计费力费时。要做好对药店的管理,药店就必须快速准确地获取自己所需的信息,这就要求与时统计数据并方便查看,以与对药品的数据信息进行维护,基于此我们开发了零售药店管理信息系统。本系统基本遵循软件工程方法论进行系统分析、总体设计、详细设计和软件测试。采用 ASP.NET 技术作为创建应用程序的方式,以 C#作为编程

2、语言,采用 SQL Server 数据库作为后台数据库。它是基于 Browser/Server 结构下形成的数据驱动的 Web 应用程序。关键词:ASP.NET; 零售药店; SQL Server;药品信息TheThe web-basedretailpharmacymanagementsystemweb-basedretailpharmacymanagementsystem ofof designanddesignand implementationimplementation AbstractAbstract:As Chinas market economy development and

3、peoples demand II / 37for the rapid increase in pharmaceutical products, the pharmaceutical industry is in a period of rapid growth, mainly due to the past, pharmacy drug information manual recording mode, registration, sales information, so the drugs for the management of information and chaotic da

4、ta, collate statistics laborious and time-consuming. To make the management of the pharmacy, pharmacies must quickly and accurately obtain the information they need, which requires timely statistical data and for easy viewing, as well as data on maintenance drugs,on this basis, we developed a retail

5、 pharmacy management information system.The system basically follows the software engineering methodology for system analysis, overall design, detailed design and software testing.It use of technology to create the application, # as a programming language, the database as the background database ser

6、ver. It is based on Browser / Server structure, formed under the data-driven Web applications.KeyKey words:words: ASP.NET, retail pharmacies, SQL Server, drug information目目 录录第第 1 1 章章 概概 述述.1 11.1 开发背景 .11.2 项目提出的意义 .11.3 系统的开发方法 .21.4 系统开发工具 .21.4.1 IIS 简介.21.4.2 C#简介 .31.4.3 ASP.NET 简介.31.4.4 数据库

7、简介 .3 III / 37第第 2 2 章章 需求分析需求分析.5 52.1 可行性分析 .52.2 数据库需求分析 .62.3 系统目标 .62.3.1 合理的设计数据库 .62.3.2 设计出友好的界面 .62.4 本系统所实现功能 .62.4.1 管理员管理模块应实现的功能 .72.4.2 操作员管理模块应实现的功能 .7第第 3 3 章章 系统总体分析系统总体分析.8 83.1 基本简介 .83.2 运行环境 .83.3 数据字典 .83.4 ER 图.103.5 主要模块流程图 .133.5.1 操作员维护流程图.133.5.2 药品信息管理流程图.13第第 4 4 章章 系统程序

8、实现系统程序实现.15154.1 LOGIN(系统主界面) .154.2 管理员管理模块 .164.2.1 操作员信息维护列表 .164.2.2 药品信息管理模块 .184.2.3 库存信息设置 .224.2.4 进货信息查询 .244.2.5 药品销售日报表 .254.3 操作员管理模块 .274.3.1 药品进货管理 .274.3.2 药品收银管理 .29第第 5 5 章章 软件测试软件测试.3232 IV / 375.1 测试的概述 .325.1.1 测试的概念与意义 .325.1.2 测试的特性 .335.1.3 测试的重要性与围 .335.2 系统测试 .34结论和总结结论和总结.3

9、535致致.3636参考文献参考文献.3737 1 / 37第 1 章 概 述1.1 开发背景在现今的社会中,医药行业是一个发展迅速的行业,每个不同的药店管理机构都要有适合自己业务的软件管理系统,这样才能有效的提高工作效率,不断地扩大企业的经营规模。而康泰药店现在并没有适合自己的管理系统,目前仍需要手工作业管理工作,例如在药品的库存管理方面有很多不足,药品入库时需要手工记录入库数量,这种记录相比较而言也许还会容易些,但当进行实际库存量和应有库存量进行核对时非常复杂。不仅在这方面有很大的欠缺,在员工管理方面也存在许多不足,所以要想继续发展就必须开发一个适合该药店的管理系统。1.2 项目提出的意义

10、为了提高工作效率、解决现存系统中的问题,我们急需开发一个新的、适合实际情况需要的管理系统,有了这样一个管理系统,不但能解决现存的管理问题,还能有效的减少人工作业。 在应用了该管理系统后,原有的手工记录将完全被取代,这不仅仅可以提高工作效率,而且还可以提高工作的准确性,减少不必要的损失;应用了该系统后,系统的智能化的功能可以为药店提供需要进货的药品清单,这样可以更加方便、与时的了解到需要采购的药品,与时进货,避免了药品的缺货现象,从另一个角度考虑,这样还可以增加营业额,提高收入,为进一步发展扩大业务做好充分准备;在应用了该系统后,可以提高全体工作人员的自身素质,在系统的各个模块中,需要不同的工作

11、人员来进行管理,在对现代化的软件系统管理和运用的同时会发现许多自身不太了解、甚至一无所知的问题,为了解决这些问题,更好的投入工作,员工会利用自己的业余时间学习、充实自己,同时也会走出一些思想误区,提高自身修养。该管理系统对药店的影响与未来发展起着至关重要的作用。 2 / 371.3 系统的开发方法目前,网络应用软件运行的模式主要有二类:Client/server 模式,Browser/Web 模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet 迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是 Web Server ,而 Web Ser

12、ver 与数据库和应用服务器的紧密结合,使得这种模式的应用围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的 MIS 系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。另外,零售药店管理系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。基于上述考虑,用 Browser/Web 模式来设计零售药店管理系统比较合适,服务器端我们采用 SQLServer 数据库系统和 ASP 组件来构成评定维护的应用服务系统;客户端采用浏览器来完成在线评定的全过程,同时可进行远程系统维护和管理。 1.4 系统开发工具该系统在 Microsoft 2000 Ser

13、ver 环境中开发,采用了目前非常流行的Browser /server 三层结构软件构造技术,前台页面系统采用 ASP.NET 开发,后台管理系统采用 SQL server 2000 作为数据库系统(主要采用了 C#语言)1.4.1 IIS 简介IIS 是 Internet Information Server 的缩写,它是微软公司主推的服务器,最新的版本是 Windows2003 里面包含的 IIS 6,IIS 与 WindowsNT Server完全集成在一起,因而用户能够利用 Windows NT Server 和 NTFS(NT File System,NT 的文件系统)置的安全特性,

14、建立强大,灵活而安全的 Internet和 Intranet 站点。IIS 支持 ISAPI,使用 ISAPI 可以扩展服务器功能,而使用ISAPI 过滤器可以预先处理和事后处理储存在 IIS 上的数据。 3 / 371.4.2 C#简介现在 ASP.NET 支持的开发语言包括VB.NET、C#.NET、JSCRIPT.NET、VC+.NET 以与其它.NET Framework 所支持的语言。我们所做的学生档案管理系统是用 C#语言。所以,在这里我介绍一下 C#语言。C# (C sharp)是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于 Microsoft .NET 平

15、台的应用程序,Microsoft .NET 提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。 1.4.3 ASP.NET 简介ASP.NET 有以下技术特点:Microsoft .NET 平台的出现在应用程序开发这一领域开创了一个新时代,它将推动下 一代 Internet 的进步。作为 Microsoft .NET 平台的一部分,ASP.NET 是一个革命性的编程框架,它实现了企业级 Web 应用程序的快速开发。它提供了最简便、最具有扩展能力的方式来开发、部署和运行可以将任何浏览器或设备作为目标的 Web 应用程序。实际上,这只是令 ASP.NET 成为程序员创建 Web 应用程序

16、的首选的众多特色中的一小部分。除了常见的 Web 应用程序,利用 ASP.NET 还可以创建其他的一些类型,这就使我们的应用程序的围可以延伸到新的客户和业务合作伙伴。对程序员来说,部署服务器应用程序一直是一件很痛苦的事。不过,有了ASP.NET,程序员根本不必担心这个问题,因为 ASP.NET 大大简化了部署过程。要部署 Web 应用程序,只要把它复制到 Web 服务器上就可以了。除了提供了丰富的程序员这方面的经验,ASP.NET 还提供了丰富的用户经验。ASP.NET Web 应用程序比传统的 ASP 应用程序速度要快很多,因为 ASP.NET令我们可以使用经过编译的编程语言。因此,ASP.

17、NET 应用程序不需要明确的编译步骤,结果便是执行得更快了。 4 / 371.4.4 数据库简介随着科学技术的进步,信息已成为各行各业的重要资源。数据库以其强大的操作和管理功能成为高速信息表达的途经。据我所知,数据库的类型有很多,如:SQL server, vf,framework,access, OracleMySQLSYBASEDB2等等,然而本软件选择了用 SQL Server2000 来作为数据库软件。关于 SQL Server2000 的介绍:Microsoft SQL Server2000 是由 Microsoft 公司开发的,在 Microsoft SQL Server 的发展历

18、程中,有两版本具有重要的意义。那就是在 1996 年推出的 SQL Server6.5 和在 2000 年 8 月推出的 SQL Server2000 版本。6.5 版本使SQL Server 得到了广泛的应用,而 2000 版本在功能和易用性上有很大的增强,并推出了简体中文版,它包括企业版,标准版,开发版和个人版 4 个版本。第 2 章 需求分析要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。下面就对零售药店管理系统的设计进行需求分析。2.1 可行性分析可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统

19、的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间确定问题是否能够解决。该系统的可行性分析包括以下几个方面的容。(1)经济可行性:主要是对项目的经济效益进行评价,本系统开发经费在经济上是可以接受的,并且本系统实施后可以显著节约时间、提高工作效率。所以本系统在经济上是可行的。 5 / 37(2)技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了Browser/Server 模式进行开发。Browser/Ser

20、ver 体系结构紧密的结合了Internet/Intranet 技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器 SQL 数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此该系统的开发是完全可行的。2.2 数据库需求分析数据库在零售药店管理系

21、统中占有极其重要的地位,数据库结构设计的好坏将直接对应用系统的效率以与实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。合理的数据库也有利于程序的实现。设计数据库系统时应首先充分了解用户的各个方面的需求,包括现有的以与将来可能增加的需求。用户的需求具体体现在对各种信息的提供、保存、更新和交流,这就要求数据库结构能充分满足各种信息的输出和输入。2.3 系统目标我们一般设计系统都要完成以下的几个要求,以便于用户进行操作。这样才能使系统易学易用。2.3.1 合理的设计数据库 尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将不必要的多占用存储空间,

22、减少产生混乱影响的危险,还能提高计算机的运行速度。 6 / 372.3.2 设计出友好的界面 界面的友好与否是用户评价一个软件优劣的重要方面之一,使用户有一个良好的心情。2.4 本系统所实现功能本系统主要划分为两层用户角色功能模块,管理员、操作员;管理员主要是对于系统的基本信息维护和综合信息管理几个模块,主要功能包括:药品类别、药品信息管理,药品库存设置管理以与药品日常进货和销售查询信息管理等;操作员主要是管理药店的日常药品进货和销售工作,并可以根据库存信息与时的控制药品的销售和进货,从而保证药品流通正常运行的功能操作。2.4.1 管理员管理模块应实现的功能(1)操作员信息管理:对操作员信息进

23、行基本的维护,包括,密码等多项信息,密码导师登陆系统以后自行修改,本模块可以添加、修改以与删除操作员信息。(2)药品类别管理:对于药店销售的药品类别进行综合管理操作。(3)药品信息管理:管理药店销售的药品信息,药品信息主要包括药品名称、厂家、拼音码、有效期、批号、规格等多项信息,本模块可以添加、修改和删除药品信息。(4)库存信息设置:对于库存的药品信息可以进行库存设置,例如设置库存的上限、下限以与当前库存数值等功能。(5)进货查询:查询显示药品进货信息以与进货时间的相关容(6)药品销售日报表:查询显示药品销售的日常收银信息。(7)药品销售月报表:统计显示各个月份的药品销售信息。2.4.2 操作

24、员管理模块应实现的功能操作员管理模块主要包括系统管理、日常业务管理、查询统计管理等功能模块,具体描述如下:(1)药品进货管理:管理日常的药品进货信息,主要包括进货时间、供应 7 / 37商、进货数量、单价、进货金额等,对于进货错误的进货记录可以进行作废操作。(2)药品收银管理:药品日常的收银管理,主要容包括日期、客户、数量、单价、金额、折扣以与实扣款等,收银的药品不提供任何作废 退货的操作。(3)库存信息查询:查询显示药品的库存信息,库存信息包括库存商品的保质期、库存上限、库存下限以与库存量等容。(4)药品信息查询:查询显示药品基本信息,包括保质期、药品类别、规格、批号等容。第 3 章 系统总

25、体分析3.1 基本简介本系统主要通过维护药品类别、药品信息等功能,来进行药品的日常进货和销售操作,并管理药品的库存操作等。3.2 运行环境为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于部的局域网。其运行要求如下:软件环境:客户端: Windows95/98/2000/XP,Internet Explorer(IE)等服务器端: Windows2000/XP,Internet Information Server (IIS)4.0与其以上版本,IE 等。数据库:SQL server,运行于服

26、务器端。硬件环境:服务器 CPU:PIII 500 以上 ,存:256M 以上客户机 CPU:P200MMX 以上,存:32M 以上 8 / 373.3 数据字典操作员序号字段名类型长度索引备注1.Varchar50P2.密码Varchar503.Varchar504.Varchar505.住址Varchar506.Varchar507.类别Varchar50管理员 操作员药品类别序号字段名类型长度索引备注1.代码IntP2.类别名称Varchar50药品信息序号字段名类型长度索引备注1.代码IntP不能重复2.药品名称Varchar503.厂家Varchar504.拼音码Varchar505

27、.单位Varchar506.有效期Date7.批号Varchar508.规格Varchar509.进货价格Float10.销售价格Float11.备注Varchar50012.类别代码Int关联 药品类别进货单序号字段名类型长度索引备注1.进货单号Varchar50PXYyyymmddhhmmss2.进货时间DateTime3.供应商Varchar504.药品代码Int关联 药品代码5.进货数量Int6.单价Float7.进货金额Float 9 / 378.经办人Varchar509.备注Varchar500库存序号字段名类型长度索引备注1.药品代码Int关联进货单2.库存数量Float3.库

28、存上限Int4.库存下限Int收银序号字段名类型长度索引备注1.零售单号Varchar50PXYyyymmddhhmmss2.日期DateTime503.药品代码Int4.数量Int5.金额Float6.折扣Float7.实收款Float8.客户Varchar509.备注Varchar503.4 ER 图药品类别药品信息1包含N进货单进货11收银销售11库存1存储1 10 / 37图 3.1 ER 图把概念结构设计转化为逻辑结构设计为:药品信息实体属性:代码、药品名称、厂家、拼音码、单位、有效期、批号、规格、进货价格、销售价格、备注、类别代码。药品信息实体属性图如图所示药品信息药品名称厂家拼音

29、码单位代码有效期批号进货价格规格销售价格备注类别代码图 3.2 药品信息实体属性图收银信息实体属性:零售单号、日期、药品代码、数量、金额、折扣、实收款、客户、备注。收银属性图如图所示收银零售单号日期药品代码备注数量折扣客户实收款金额图 3.3 收银实体属性图其他的实体属性再此不一一列出。 11 / 37综上所述,零售药店管理系统功能需求可以通过图 3.4 简要表示。药品零售管理系统系统管理日常业务管理基础信息管理系统管理管理员模块操作员模块查询信息管理库存信息查询药品信息查询业务信息管理综合信息管理修改密码操作员管理药品类别管理药品信息管理修改密码药品进货管理药品收银管理库存信息设置进货信息查

30、询销售日报表销售月报表图 3.2 系统功能需求图 12 / 373.5 主要模块流程图3.5.1 操作员维护流程图操作员维护添加操作员必须填入项目是否为空保存否是新的操作员添加完成修改操作员必须填入项目是否为空保存否操作员修改完成是删除操作员点操作员名称后边对应的删除按钮删除该操作员图 3.4 操作员维护流程图3.5.2 药品信息管理流程图药品信息维护添加药品信息必须填入是否为空保存否是新的药品信息添加完成修改药品信息必须填入是否为空保存否药品信息修改完成是删除药品信息点药品信息名称后边对应的删除按钮删除该药品信息搜索显示查询结构列表 13 / 37图 3.5 药品信息管理流程图其他功能流程图

31、与之类似,不再一一阐述!第 4 章 系统程序实现4.1 login(系统主界面)在 IE 里运行本系统,出现系统的主界面,包括系统登陆、选择角色。如图:图 4.1 系统主界面其实现相关代码如下: protected void IbtDL_Click(object sender, ImageClickEventArgs e) DataTable dt = new DataTable(); switch (RadioButtonList1.SelectedValue) case 管理员: 14 / 37 dt = DataControl.GetData(select * from 管理员 wher

32、e = + txtUser.Text + and 密码 = + txtPwd.Text + ); if (dt.Rows.Count = 0) Page.ClientScript.RegisterStartupScript(this.GetType(), info, alert(密码错误!);); return; SessionUserID = txtUser.Text; Response.Redirect(Admin/index.aspx); break; case 操作员: dt = DataControl.GetData(select * from 操作员 where = + txtUs

33、er.Text + and 密码 = + txtPwd.Text + ); if (dt.Rows.Count = 0) Page.ClientScript.RegisterStartupScript(this.GetType(), info, alert(密码错误!);); return; SessionUserID = txtUser.Text; Response.Redirect(GZRY/index.aspx); break; 4.2 管理员管理模块4.2.1 操作员信息维护列表此页面主要是显示和维护系统中操作员信息资料,操作员信息主要包括、地址、密码等信息,系统有初始密码,操作员登陆

34、系统以后可以自己修改密码。如图: 15 / 37图 4.2 操作员信息列表图 4.3 操作员编辑页面其实现相关代码如下:protected void btnAdd_Click(object sender, ImageClickEventArgs e) string strErr = ; if (this.txtZH.Text = ) strErr += 不能为空!n; if (strErr != ) ResponseMessage(this, strErr); 16 / 37 return; /根据标志判断是添加还是修改的操作 保存商品信息 if (Request.QueryStringID

35、!= null) DataControl.Execute(UPDATE 操作员 set = + txtXM.Text + , = + txtDH.Text + ,住址 = + txtZZ.Text + , = + txtYX.Text + where = + Request.QueryStringID +); else DataControl.Execute(INSERT INTO 操作员 ( , , ,住址 , ) VALUES (+txtZH.Text+,+txtXM.Text+,+txtDH.Text+,+txtZZ.Text+,+txtYX.Text+); Page.ClientScr

36、ipt.RegisterStartupScript(this.GetType(), info, alert(保存成功!);window.location.href=BXDD.aspx;); 4.2.2 药品信息管理模块此模块主要是维护药品信息的,可以添加、修改、删除药品信息,药品信息主要包括:药品名称、厂家、拼音码、单位、批号、有效期等相关容,如图: 17 / 37图 4.4 药品信息列表图 4.5 药品信息页面其实现相关代码如下:protected void Page_Load(object sender, EventArgs e)/ 在此处放置用户代码以初始化页面if (!Page.IsP

37、ostBack)/绑定类别列表drYPLB.DataTextField = 类别名称; 18 / 37drYPLB.DataValueField = 代码;drYPLB.DataSource = DataControl.GetData(select * from 药品类别 );drYPLB.DataBind();if (Request.QueryStringID != null)/显示当前的商品信息DataTable tmpda = new DataTable();tmpda = DataControl.GetData(select * from 药品信息 where 代码= + Reques

38、t.QueryStringID + );if (tmpda.Rows.Count 0)this.drYPLB.SelectedValue = tmpda.Rows0类别代码.ToString();this.txtYPMC.Text = tmpda.Rows0药品名称.ToString();this.txtCJ.Text = tmpda.Rows0厂家.ToString();this.txtPYM.Text = tmpda.Rows0拼音码.ToString();this.txtDW.Text = tmpda.Rows0单位.ToString();this.txtYXQ.Text = tmpda

39、.Rows0有效期.ToString();this.txtPH.Text = tmpda.Rows0批号.ToString();this.txtGG.Text = tmpda.Rows0规格.ToString();this.txtJHJG.Text = tmpda.Rows0进货价格.ToString();this.txtXSJG.Text = tmpda.Rows0销售价格.ToString();this.txtBZ.Text = tmpda.Rows0备注.ToString();/ 19 / 37/ 保存/ / / protected void btnAdd_Click(object se

40、nder, ImageClickEventArgs e)string strErr = ;if (this.txtYPMC.Text = )strErr += 药品名称不能为空!n;if (strErr != )ResponseMessage(this, strErr);return;/根据标志判断是添加还是修改的操作 保存商品信息if (Request.QueryStringID != null)DataControl.Execute(UPDATE 药品信息 set 药品名称 = +txtYPMC.Text+,厂家 = +txtCJ.Text+,拼音码 = +txtPYM.Text+,单位

41、= +txtDW.Text+,有效期 = +txtYXQ.Text+,批号 =+txtPH.Text+,规格 = +txtGG.Text+,进货价格 = +txtJHJG.Text+,销售价格 = +txtXSJG.Text+,备注 = +txtBZ.Text+,类别代码 = +drYPLB.SelectedValue+ WHERE 代码= + Request.QueryStringID + );elseDataControl.Execute(INSERT INTO 药品信息 ( 药品名称 ,厂家 ,拼音码 ,单位 ,有效期 ,批号 ,规格 ,进货价格 ,销售价格 ,备注 ,类别代码 ) VA

42、LUES 20 / 37(+txtYPMC.Text+,+txtCJ.Text+,+txtPYM.Text+,+txtDW.Text+,+txtYXQ.Text+,+txtPH.Text+,+txtGG.Text+,+txtJHJG.Text+,+txtXSJG.Text+,+txtBZ.Text+,+drYPLB.SelectedValue+);Page.ClientScript.RegisterStartupScript(this.GetType(), info, alert(保存成功!);window.location.href=GZRYPXList.aspx;);4.2.3 库存信息设

43、置此模块主要设置药品的库存信息,可以设置药品的库存上限,下限以与库存数量等。如图:图 4.6 库存设置列表 21 / 37图 4.7 库存设置页面其实现相关代码如下:string strErr = ;if (this.txtYPMC.Text = )strErr += 药品名称不能为空!n;if (strErr != )ResponseMessage(this, strErr);return;DataControl.Execute(UPDATE 库存 set 库存数量 = + txtKCSL.Text + ,库存上限 = + txtSX.Text + ,库存下限 = + txtXX.Text

44、+ WHERE 药品代码= + Request.QueryStringID + );Page.ClientScript.RegisterStartupScript(this.GetType(), info, 22 / 37alert(库存调整完成!);window.location.href=KCList.aspx;);4.2.4 进货信息查询此页面主要是查询药店的进货信息,可以根据不同的条件查询。如图:图 4.8 进货信息查询其实现相关代码如下: protected void Page_Load(object sender, EventArgs e) if (!IsCallback) Bin

45、dResult(); #region 数据绑定 / /绑定列表 / private void BindResult() 23 / 37 /组合查询条件 DataTable dt = DataControl.GetData(select * from V_进货 where 药品名称 like % + this.TextBox1.Text + % and 进货单号 like %+ TextBox2.Text +% ); if (dt != null) this.gvData.DataKeyNames = new string 进货单号 ; this.gvData.DataSource = dt;

46、this.gvData.DataBind(); ShowStats(dt.Rows.Count.ToString(); 4.2.5 药品销售日报表此页面是显示销售药品的信息列表,可以根据条件查询显示销售药品信息。如图:图 4.9 药品销售日报表其实现相关代码如下: 24 / 37protected void Page_Load(object sender, EventArgs e) if (!IsCallback) BindResult(); #region 数据绑定 / /绑定列表 / private void BindResult() /组合查询条件 DataTable dt = Data

47、Control.GetData(select * from V_收银 where 药品名称 like % + this.TextBox1.Text + % and 零售单号 like %+ TextBox2.Text +% ); if (dt != null) this.gvData.DataKeyNames = new string 零售单号 ; this.gvData.DataSource = dt; this.gvData.DataBind(); ShowStats(dt.Rows.Count.ToString(); 4.3 操作员管理模块 操作员主要功能是处理日常的进货和收银业务具体介

48、绍如下:4.3.1 药品进货管理此页面主要是登记日常的药品进货信息,药品进货单据主要包括进货单号、进货时间、供应商、进货数量、单价、进货金额等容。对于进货错误的单据提供删除的功能。具体如图: 25 / 37图 4.10 药品进货列表图 4.11 药品进货单据其实现相关代码如下:/ / 保存 / / / protected void btnAdd_Click(object sender, ImageClickEventArgs e) DataTable dt = new DataTable(); dt = DataControl.GetData(select * from V_库存 where

49、库存上限 26 / 37 0) Page.ClientScript.RegisterStartupScript(this.GetType(), info, alert(此药品不允许进货当前的数量,库存上限超出!);); return; DataControl.Execute(INSERT INTO 进货单 ( 进货单号 ,进货时间 ,供应商 ,药品代码 ,进货数量 ,单价 ,进货金额 ,经办人 ,备注 ) VALUES (+txtJHD.Text+,+txtJHSJ.Text+,+txtGYS.Text+,+drYP.SelectedValue+,+txtJHSL.Text+,+txtDJ.T

50、ext+,+txtJE.Text+,+txtR.Text+,+txtBZ.Text+); DataControl.Execute(UPDATE 库存 set 库存数量 = 库存数量 + + txtJHSL.Text + WHERE 药品代码= + drYP.SelectedValue + ); Page.ClientScript.RegisterStartupScript(this.GetType(), info, alert(进货完成!);window.location.href=SBBYList.aspx;); protected void btnCancel_Click(object s

51、ender, ImageClickEventArgs e) Response.Redirect(SBBYList.aspx); protected void txtJHSL_TextChanged(object sender, EventArgs e) try this.txtJE.Text = Convert.ToString(Convert.ToDecimal(this.txtDJ.Text) * (Convert.ToDecimal(this.txtJHSL.Text); catch this.txtJE.Text = ; 27 / 37 protected void drYP_Sele

52、ctedIndexChanged(object sender, EventArgs e) DataTable dt = new DataTable(); dt=DataControl.GetData(select * from V_库存 where 代码 =+drYP.SelectedValue); if (dt.Rows.Count 0) this.txtDJ.Text = dt.Rows0进货价格.ToString(); 4.3.2 药品收银管理此页面主要是登记日常的药品收银信息,药品收银单据主要包括零售单号、日期、客户、数量、单价、金额、折扣、实收款等容。药品属于特殊商品,因此系统没有只

53、做其他的退货 换货功能。具体如图:图 4.12 药品收银管理其实现相关代码如下:protected void Page_Load(object sender, EventArgs e) / 在此处放置用户代码以初始化页面 if (!Page.IsPostBack) /绑定类别列表 28 / 37 if (!Page.IsPostBack) /绑定类别列表 drYP.DataTextField = 药品; drYP.DataValueField = 代码; drYP.DataSource = DataControl.GetData(select 代码,药品名称 + ( + 厂家 + ) as 药

54、品 from V_库存); drYP.DataBind(); this.txtLSDH.Text = Guid.NewGuid().ToString().Replace(-, ); / / 保存 / / / protected void btnAdd_Click(object sender, ImageClickEventArgs e) DataTable dt = new DataTable(); dt = DataControl.GetData(select * from V_库存 where 库存下限库存数量 - + Convert.ToDecimal(this.txtSL.Text)

55、+ and 代码 = + drYP.SelectedValue); if (dt.Rows.Count 0) Page.ClientScript.RegisterStartupScript(this.GetType(), info, alert(此药品销售以后超出库存下限,不能销售!);); return; DataControl.Execute(INSERT INTO 收银 ( 零售单号 ,日期 ,药品代码 ,数量 ,金额 ,折扣 ,实收款 ,客户 ,备注 ) VALUES (+txtLSDH.Text+,+txtRQ.Text+,+drYP.SelectedValue+,+txtSL.Te

56、xt+,+txtJE.Text+,+txtZK.Text+,+txtSSK.Text+,+txtKH.Text+,+txtBZ.Text+); DataControl.Execute(UPDATE 库存 set 库存数量 = 库存数量 29 / 37- + txtSL.Text + WHERE 药品代码= + drYP.SelectedValue + ); Page.ClientScript.RegisterStartupScript(this.GetType(), info, alert(收银完成!);window.location.href=window.location.href;);第

57、 5 章 软件测试测试是系统开发时期最后一个阶段,是保证软件质量的重要手段。软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是探测,在探测中发现软件的毛病。5.1 测试的概述5.1.1 测试的概念与意义测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为:目的:发现程序的错误;任务:通过在计算机上执行程序,暴露程序中潜在的错误。另一个预测是相关的术语叫纠错(Debu

58、gging)。它的目的与任务可以规定为:目的:定位和纠正错误;任务:消除软件故障,保证程序的可靠运行。测试与纠错的关系,可以用图 6-1 的数据流图来说明。图中表明,每一次测试都要准备好若干必要的测试数据,与被测试程序一道送入计算机执行。通常把一次程序执行需要的测试数据,称为一个“测试用例(Test Case)。每一个测试用例产生一个相应的“测试结果” 。如果它与“期望结果”不想符合,便说明程序中存在错误,需要用纠错来改正。测试评价纠错 程序测试数据 测试结果 错误信息 改正信息 期望结果 30 / 37图 6.1 测试与纠错信息流程Fig6.1 test and error correcti

59、on information flow软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。5.1.2 测试的特性(1)挑剔性测试是为了证明程序有错,而不是证明程序无错。因此,对于被测程序就是要“纯毛求疵” ,就是要“鸡蛋里挑

60、骨头” 。只有抱着程序有错的目的去测试,才能八成序中潜在的大部分错误找出来。(2)复杂性测试仪程序则比较容易,这其实是一个误区。设计测试用力是一项需要细致和高度技巧的高能工作,稍有不慎就会顾此失彼,发生不应用得数楼。(3)不彻底性实际测试都是不彻底的,当然不能够保证测试后的程序不存在遗漏的错误。(4)经济性通场这种测试称为“选择测试(Selective Testing) ” 。为了降低测试成本,选择测试用力是应注意遵守“经济性”的原则。5.1.3 测试的重要性与围软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论