




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于基于 WEBWEB 的零售药店管理系统的设计与实现的零售药店管理系统的设计与实现 摘要:随着我国市场经济的发展和人们对医药产品需求的迅速增加,医药行业 正处于一个高速发展的时期,因以往药店主要是以人工记录模式登记药品信息, 销售信息等,因此对于管理药品信息和数据纷乱复杂,整理统计费力费时。要 做好对药店的管理,药店就必须快速准确地获取自己所需的信息,这就要求及 时统计数据并方便查看,以及对药品的数据信息进行维护,基于此我们开发了 零售药店管理信息系统。 本系统基本遵循软件工程方法论进行系统分析、总体设计、详细设计和软 件测试。采用 ASP.NET 技术作为创建应用程序的方式,以 C#作为编程语言,采 用 SQL Server 数据库作为后台数据库。它是基于 Browser/Server 结构下形成 的数据驱动的 Web 应用程序。 关键词:ASP.NET; 零售药店; SQL Server;药品信息 The web-based retail pharmacy management system of design and implementation Abstract:As Chinas market economy development and peoples demand for 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 data, 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 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 server. It is based on Browser / Server structure, formed under the data-driven Web applications. Key words: ASP.NET, retail pharmacies, SQL Server, drug information 目目 录录 第第 1 章章 概概 述述1 1.1 开发背景1 1.2 项目提出的意义1 1.3 系统的开发方法2 1.4 系统开发工具2 1.4.1 IIS 简介2 1.4.2 C#简介.3 1.4.3 ASP.NET 简介.3 1.4.4 数据库简介.3 第第 2 章章 需求分析需求分析5 2.1 可行性分析5 2.2 数据库需求分析6 2.3 系统目标6 2.3.1 合理的设计数据库.6 2.3.2 设计出友好的界面.6 2.4 本系统所实现功能6 2.4.1 管理员管理模块应实现的功能.7 2.4.2 操作员管理模块应实现的功能.7 第第 3 章章 系统总体分析系统总体分析8 3.1 基本简介8 3.2 运行环境8 3.3 数据字典8 3.4 ER 图 10 3.5 主要模块流程图13 3.5.1 操作员维护流程图13 3.5.2 药品信息管理流程图13 第第 4 章章 系统程序实现系统程序实现15 4.1 LOGIN(系统主界面).15 4.2 管理员管理模块16 4.2.1 操作员信息维护列表.16 4.2.2 药品信息管理模块.18 4.2.3 库存信息设置.22 4.2.4 进货信息查询.24 4.2.5 药品销售日报表.25 4.3 操作员管理模块27 4.3.1 药品进货管理.27 4.3.2 药品收银管理.29 第第 5 章章 软件测试软件测试32 5.1 测试的概述32 5.1.1 测试的概念及意义.32 5.1.2 测试的特性.33 5.1.3 测试的重要性及范围.33 5.2 系统测试34 结论和总结结论和总结35 致谢致谢36 参考文献参考文献37 第 1 章 概 述 1.1 开发背景 在现今的社会中,医药行业是一个发展迅速的行业,每个不同的药店管理 机构都要有适合自己业务的软件管理系统,这样才能有效的提高工作效率,不 断地扩大企业的经营规模。而康泰药店现在并没有适合自己的管理系统,目前 仍需要手工作业管理工作,例如在药品的库存管理方面有很多不足,药品入库 时需要手工记录入库数量,这种记录相比较而言也许还会容易些,但当进行实 际库存量和应有库存量进行核对时非常复杂。不仅在这方面有很大的欠缺,在 员工管理方面也存在许多不足,所以要想继续发展就必须开发一个适合该药店 的管理系统。 1.2 项目提出的意义 为了提高工作效率、解决现存系统中的问题,我们急需开发一个新的、适 合实际情况需要的管理系统,有了这样一个管理系统,不但能解决现存的管理 问题,还能有效的减少人工作业。 在应用了该管理系统后,原有的手工记录将完全被取代,这不仅仅可以提 高工作效率,而且还可以提高工作的准确性,减少不必要的损失;应用了该系 统后,系统的智能化的功能可以为药店提供需要进货的药品清单,这样可以更 加方便、及时的了解到需要采购的药品,及时进货,避免了药品的缺货现象, 从另一个角度考虑,这样还可以增加营业额,提高收入,为进一步发展扩大业 务做好充分准备;在应用了该系统后,可以提高全体工作人员的自身素质,在 系统的各个模块中,需要不同的工作人员来进行管理,在对现代化的软件系统 管理和运用的同时会发现许多自身不太了解、甚至一无所知的问题,为了解决 这些问题,更好的投入工作,员工会利用自己的业余时间学习、充实自己,同 时也会走出一些思想误区,提高自身修养。该管理系统对药店的影响及未来发 展起着至关重要的作用。 1.3 系统的开发方法 目前,网络应用软件运行的模式主要有二类:Client/server 模式, Browser/Web 模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随 Internet 迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一 个标准的浏览器,服务器端是 Web Server ,而 Web Server 与数据库和应用服 务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查 询,有很多部门的业务系统、企业的 MIS 系统纷纷采用这种模式,它的主要优 点是便于扩充应用、升级维护简便。 另外,零售药店管理系统的软件也必将不断的更新;同时软件产品本身就 要经过一个不断自我完善的过程。 基于上述考虑,用 Browser/Web 模式来设计零售药店管理系统比较合适, 服务器端我们采用 SQLServer 数据库系统和 ASP 组件来构成评定维护的应用服 务系统;客户端采用浏览器来完成在线评定的全过程,同时可进行远程系统维 护和管理。 1.4 系统开发工具 该系统在 Microsoft 2000 Server 环境中开发,采用了目前非常流行的 Browser /server 三层结构软件构造技术,前台页面系统采用 ASP.NET 开发, 后台管理系统采用 SQL server 2000 作为数据库系统(主要采用了 C#语言) 1.4.1 IIS 简介 IIS 是 Internet Information Server 的缩写,它是微软公司主推的服务 器,最新的版本是 Windows2003 里面包含的 IIS 6,IIS 与 Windows NT Server 完全集成在一起,因而用户能够利用 Windows NT Server 和 NTFS(NT File System,NT 的文件系统)内置的安全特性,建立强大,灵活而安全的 Internet 和 Intranet 站点。IIS 支持 ISAPI,使用 ISAPI 可以扩展服务器功能,而使用 ISAPI 过滤器可以预先处理和事后处理储存在 IIS 上的数据。 1.4.2 C#简介 现在 ASP.NET 支持的开发语言包括 VB.NET、C#.NET、JSCRIPT.NET、VC+.NET 以及其它.NET Framework 所支持的 语言。我们所做的学生档案管理系统是用 C#语言。所以,在这里我介绍一下 C# 语言。 C# (C sharp)是一种最新的、面向对象的编程语言。它使得程序员可以快 速地编写各种基于 Microsoft .NET 平台的应用程序,Microsoft .NET 提供了 一系列的工具和服务来最大程度地开发利用计算与通讯领域。 1.4.3 ASP.NET 简介 ASP.NET 有以下技术特点: Microsoft .NET 平台的出现在应用程序开发这一领域开创了一个新时代, 它将推动下 一代 Internet 的进步。作为 Microsoft .NET 平台的一部分, ASP.NET 是一个革命性的编程框架,它实现了企业级 Web 应用程序的快速开发。 它提供了最简便、最具有扩展能力的方式来开发、部署和运行可以将任何浏览 器或设备作为目标的 Web 应用程序。实际上,这只是令 ASP.NET 成为程序员创 建 Web 应用程序的首选的众多特色中的一小部分。 除了常见的 Web 应用程序,利用 ASP.NET 还可以创建其他的一些类型,这 就使我们的应用程序的范围可以延伸到新的客户和业务合作伙伴。 对程序员来说,部署服务器应用程序一直是一件很痛苦的事。不过,有了 ASP.NET,程序员根本不必担心这个问题,因为 ASP.NET 大大简化了部署过程。 要部署 Web 应用程序,只要把它复制到 Web 服务器上就可以了。 除了提供了丰富的程序员这方面的经验,ASP.NET 还提供了丰富的用户经 验。ASP.NET Web 应用程序比传统的 ASP 应用程序速度要快很多,因为 ASP.NET 令我们可以使用经过编译的编程语言。因此,ASP.NET 应用程序不需要明确的 编译步骤,结果便是执行得更快了。 1.4.4 数据库简介 随着科学技术的进步,信息已成为各行各业的重要资源。数据库以其强大 的操作和管理功能成为高速信息表达的途经。据我所知,数据库的类型有很多, 如:“SQL server“, “vf“,“framework“,“access“, “Oracle“MySQL“SYBASE“DB2“等等,然而本软件选择了用 SQL Server2000 来 作为数据库软件。 关于 SQL Server2000 的介绍: Microsoft SQL Server2000 是由 Microsoft 公司开发的,在 Microsoft SQL Server 的发展历程中,有两版本具有重要的意义。那就是在 1996 年推出 的 SQL Server6.5 和在 2000 年 8 月推出的 SQL Server2000 版本。6.5 版本使 SQL Server 得到了广泛的应用,而 2000 版本在功能和易用性上有很大的增强, 并推出了简体中文版,它包括企业版,标准版,开发版和个人版 4 个版本。 第 2 章 需求分析 要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件 满足用户的各项功能。下面就对零售药店管理系统的设计进行需求分析。 2.1 可行性分析 可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查 的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技 术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发 成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否 能够解决。该系统的可行性分析包括以下几个方面的内容。 (1)经济可行性:主要是对项目的经济效益进行评价,本系统开发经费在 经济上是可以接受的,并且本系统实施后可以显著节约时间、提高工作效率。 所以本系统在经济上是可行的。 (2)技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完 成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了 Browser/Server 模式进行开发。Browser/Server 体系结构紧密的结合了 Internet/Intranet 技术,是技术发展的大势所趋,它把应用系统带入了一个 崭新的发展时代。数据库服务器 SQL 数据库,它能够处理大量数据,同时保持 数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据 库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面, 科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来 越高,价格越来越低,其硬件平台完全能满足此系统的需要。 综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投 入少、见效快。因此该系统的开发是完全可行的。 2.2 数据库需求分析 数据库在零售药店管理系统中占有极其重要的地位,数据库结构设计的好 坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计 可以提高数据存储的效率,保证数据的完整和一致。合理的数据库也有利于程 序的实现。 设计数据库系统时应首先充分了解用户的各个方面的需求,包括现有的以 及将来可能增加的需求。 用户的需求具体体现在对各种信息的提供、保存、更新和交流,这就要求 数据库结构能充分满足各种信息的输出和输入。 2.3 系统目标 我们一般设计系统都要完成以下的几个要求,以便于用户进行操作。这样 才能使系统易学易用。 2.3.1 合理的设计数据库 尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样 将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机的运 行速度。 2.3.2 设计出友好的界面 界面的友好与否是用户评价一个软件优劣的重要方面之一,使用户有一个 良好的心情。 2.4 本系统所实现功能 本系统主要划分为两层用户角色功能模块,管理员、操作员;管理员主要 是对于系统的基本信息维护和综合信息管理几个模块,主要功能包括:药品类 别、药品信息管理,药品库存设置管理以及药品日常进货和销售查询信息管理 等;操作员主要是管理药店的日常药品进货和销售工作,并可以根据库存信息 及时的控制药品的销售和进货,从而保证药品流通正常运行的功能操作。 2.4.1 管理员管理模块应实现的功能 (1)操作员信息管理:对操作员信息进行基本的维护,包括帐号,密码等 多项信息,密码导师登陆系统以后自行修改,本模块可以添加、修改以及删除 操作员信息。 (2)药品类别管理:对于药店销售的药品类别进行综合管理操作。 (3)药品信息管理:管理药店销售的药品信息,药品信息主要包括药品名 称、厂家、拼音码、有效期、批号、规格等多项信息,本模块可以添加、修改 和删除药品信息。 (4)库存信息设置:对于库存的药品信息可以进行库存设置,例如设置库 存的上限、下限以及当前库存数值等功能。 (5)进货查询:查询显示药品进货信息以及进货时间的相关内容 (6)药品销售日报表:查询显示药品销售的日常收银信息。 (7)药品销售月报表:统计显示各个月份的药品销售信息。 2.4.2 操作员管理模块应实现的功能 操作员管理模块主要包括系统管理、日常业务管理、查询统计管理等功能模块, 具体描述如下: (1)药品进货管理:管理日常的药品进货信息,主要包括进货时间、供应 商、进货数量、单价、进货金额等,对于进货错误的进货记录可以进行作废操 作。 (2)药品收银管理:药品日常的收银管理,主要内容包括日期、客户、数 量、单价、金额、折扣以及实扣款等,收银的药品不提供任何作废 退货的操作。 (3)库存信息查询:查询显示药品的库存信息,库存信息包括库存商品的 保质期、库存上限、库存下限以及库存量等内容。 (4)药品信息查询:查询显示药品基本信息,包括保质期、药品类别、规 格、批号等内容。 第 3 章 系统总体分析 3.1 基本简介 本系统主要通过维护药品类别、药品信息等功能,来进行药品的日常进货 和销售操作,并管理药品的库存操作等。 3.2 运行环境 为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配 置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即 Internet,也可适用于内部的局域网。其运行要求如下: 软件环境: 客户端: Windows95/98/2000/XP,Internet Explorer(IE)等 服务器端: Windows2000/XP,Internet Information Server (IIS)4.0 及其以上版本,IE 等。 数据库:SQL server,运行于服务器端。 硬件环境: 服务器 CPU:PIII 500 以上 ,内存:256M 以上 客户机 CPU:P200MMX 以上,内存:32M 以上 3.3 数据字典 操作员 序号字段名类型长度索引备注 1. 帐号 Varchar50P 2. 密码 Varchar50 3. 姓名 Varchar50 4. 电话 Varchar50 5. 住址 Varchar50 6. 邮箱 Varchar50 7. 类别 Varchar50 管理员 操作员 药品类别 序号字段名类型长度索引备注 1. 代码 IntP 2. 类别名称 Varchar50 药品信息 序号字段名类型长度索引备注 1. 代码 IntP 不能重复 2. 药品名称 Varchar50 3. 厂家 Varchar50 4. 拼音码 Varchar50 5. 单位 Varchar50 6. 有效期 Date 7. 批号 Varchar50 8. 规格 Varchar50 9. 进货价格 Float 10. 销售价格 Float 11. 备注 Varchar500 12. 类别代码 Int 关联 药品类别 进货单 序号字段名类型长度索引备注 1. 进货单号 Varchar50PXYyyymmddhhmmss 2. 进货时间 DateTime 3. 供应商 Varchar50 4. 药品代码 Int 关联 药品代码 5. 进货数量 Int 6. 单价 Float 7. 进货金额 Float 8. 经办人 Varchar50 9. 备注 Varchar500 库存 序号字段名类型长度索引备注 1. 药品代码 Int 关联 进货单 2. 库存数量 Float 3. 库存上限 Int 4. 库存下限 Int 收银 序号字段名类型长度索引备注 1. 零售单号 Varchar50PXYyyymmddhhmmss 2. 日期 DateTime50 3. 药品代码 Int 4. 数量 Int 5. 金额 Float 6. 折扣 Float 7. 实收款 Float 8. 客户 Varchar50 9. 备注 Varchar50 3.4 ER 图 药品类别药品信息1包含N 进货单 进货 11 收银 销售 1 1 库存1存储1 图 3.1 ER 图 把概念结构设计转化为逻辑结构设计为: 药品信息实体属性:代码、药品名称、厂家、拼音码、单位、有效期、批 号、规格、进货价格、销售价格、备注、类别代码。 药品信息实体属性图如图所示 药品信息 药品名称 厂家 拼音码 单位 代码 有效期 批号 进货价格 规格销售价格 备注类别代码 图 3.2 药品信息实体属性图 收银信息实体属性:零售单号、日期、药品代码、数量、金额、折扣、实 收款、客户、备注。 收银属性图如图所示 收银 零售单号日期 药品代码 备注 数量 折扣 客户 实收款 金额 图 3.3 收银实体属性图 其他的实体属性再此不一一列出。 综上所述,零售药店管理系统功能需求可以通过图 3.4 简要表示。 药品零售管理系统 系统管理 日常业务管理 基础信息管理 系统管理 管理员模块操作员模块 查询信息管理 库存信息查询 药品信息查询 业务信息管理 综合信息管理 修改密码 操作员管理 药品类别管理 药品信息管理 修改密码 药品进货管理 药品收银管理 库存信息设置 进货信息查询 销售日报表 销售月报表 图 3.2 系统功能需求图 3.5 主要模块流程图 3.5.1 操作员维护流程图 操作员维护 添加操作 员 必须填入项 目是否为空 保存 否 是 新的操作员添 加完成 修改操作 员 必须填入项 目是否为空 保存 否 操作员修改 完成 是 删除操作 员 点操作员 名称后边 对应的删 除按钮 删除该操 作员 图 3.4 操作员维护流程图 3.5.2 药品信息管理流程图 药品信息维护 添加药品 信息 必须填入 是否为空 保存 否 是 新的药品信息 添加完成 修改药品 信息 必须填入 是否为空 保存 否 药品信息修 改完成 是 删除药品 信息 点药品信 息名称后 边对应的 删除按钮 删除该药 品信息 搜索 显示查询结构 列表 图 3.5 药品信息管理流程图 其他功能流程图与之类似,不再一一阐述! 第 4 章 系统程序实现 4.1 login(系统主界面) 在 IE 里运行本系统,出现系统的主界面,包括系统登陆、选择角色。如图: 图 4.1 系统主界面 其实现相关代码如下: protected void IbtDL_Click(object sender, ImageClickEventArgs e) DataTable dt = new DataTable(); switch (RadioButtonList1.SelectedValue) case “管理员“: dt = DataControl.GetData(“select * from 管理员 where 帐号=“ + txtUser.Text + “ and 密码 =“ + txtPwd.Text + “); if (dt.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.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(); / / 保存 / / / protected void btnAdd_Click(object sender, ImageClickEventArgs e) string strErr = “; if (this.txtYPMC.Text = “) strErr += “药品名称不能为空!n“; if (strErr != “) ResponseMessage(this, strErr); return; /根据标志判断是添加还是修改的操作 保存商品信息 if (Request.QueryString“ID“ != null) DataControl.Execute(“UPDATE 药品信息 set 药品名称 = “+txtYPMC.Text+“,厂家 = “+txtCJ.Text+“,拼音码 = “+txtPYM.Text+“,单位 = “+txtDW.Text+“,有效期 = “+txtYXQ.Text+“,批号 =“+txtPH.Text+“,规格 = “+txtGG.Text+“,进货价格 = “+txtJHJG.Text+“,销售价格 = “+txtXSJG.Text+“,备注 = “+txtBZ.Text+“,类别代码 = “+drYPLB.SelectedValue+“ WHERE 代码=“ + Request.QueryString“ID“ + “); else DataControl.Execute(“INSERT INTO 药品信息 ( 药品名 称 ,厂家 ,拼音码 ,单位 ,有效期 ,批号 ,规格 ,进货价格 ,销售价格 ,备注 ,类别代码 ) VALUES (“+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 库存信息设置 此模块主要设置药品的库存信息,可以设置药品的库存上限,下限以及库 存数量等。如图: 图 4.6 库存设置列表 图 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 + “ WHERE 药品代码=“ + Request.QueryString“ID“ + “); Page.ClientScript.RegisterStartupScript(this.GetType(), “info“, “alert(库存调整完成!); window.location.href=KCList.aspx;“); 4.2.4 进货信息查询 此页面主要是查询药店的进货信息,可以根据不同的条件查询。如图: 图 4.8 进货信息查询 其实现相关代码如下: protected void Page_Load(object sender, EventArgs e) if (!IsCallback) BindResult(); #region 数据绑定 / /绑定列表 / private void BindResult() /组合查询条件 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; this.gvData.DataBind(); ShowStats(dt.Rows.Count.ToString(); 4.2.5 药品销售日报表 此页面是显示销售药品的信息列表,可以根据条件查询显示销售药品信息。 如图: 图 4.9 药品销售日报表 其实现相关代码如下: protected void Page_Load(object sender, EventArgs e) if (!IsCallback) BindResult(); #region 数据绑定 / /绑定列表 / private void BindResult() /组合查询条件 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; this.gvData.DataBind(); ShowStats(dt.Rows.Count.ToString(); 4.3 操作员管理模块 操作员主要功能是处理日常的进货和收银业务具体介绍如下: 4.3.1 药品进货管理 此页面主要是登记日常的药品进货信息,药品进货单据主要包括进货单号、 进货时间、供应商、进货数量、单价、进货金额等内容。对于进货错误的单据 提供删除的功能。具体如图: 图 4.10 药品进货列表 图 4.11 药品进货单据 其实现相关代码如下: / / 保存 / / / protected void btnAdd_Click(object sender, ImageClickEventArgs e) DataTable dt = new DataTable(); dt = DataControl.GetData(“select * from V_库存 where 库存上限 0) Page.ClientScript.RegisterStartupScript(this.GetType(), “info“, “alert(此药品不允许进货当前的数量,库存上限超出!); “); return; DataControl.Execute(“INSERT INTO 进货单 ( 进货单号 ,进货 时间 ,供应商 ,药品代码 ,进货数量 ,单价 ,进货金额 ,经办人 ,备注 ) VALUES (“+txtJHD.Text+“,“+txtJHSJ.Text+“,“+txtGYS.Text+“,“+drYP.Select edValue+“,“+txtJHSL.Text+“,“+txtDJ.Text+“,“+txtJE.Text+“,“+txtJBR.Te xt+“,“+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 sender, 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 = “; protected void drYP_SelectedIndexChanged(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 药品收银管理 此页面主要是登记日常的药品收银信息,药品收银单据主要包括零售单号、 日期、客户、数量、单价、金额、折扣、实收款等内容。药品属于特殊商品, 因此系统没有只做其他的退货 换货功能。具体如图: 图 4.12 药品收银管理 其实现相关代码如下: protected void Page_Load(object sender, EventArgs e) / 在此处放置用户代码以初始化页面 if (!Page.IsPostBack) /绑定类别列表 if (!Page.IsPostBack) /绑定类别列表 drYP.DataTextField = “药品“; drYP.DataValueField = “代码“; drYP.DataSource = DataControl.GetData(“select 代码,药 品名称 + ( + 厂家 + ) as 药品 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) + “ 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.T ext+“,“+txtJE.Text+“,“+txtZK.Text+“,“+txtSSK.Text+“,“+txtKH.Text+“, “+txtBZ.Text+“)“); DataControl.Execute(“UPDATE 库存 set 库存数量 = 库存数量 - “ + txtSL.Text + “ WHERE 药品代码=“ + drYP.SelectedValue + “); Page.ClientScript.RegisterStartupScript(this.GetType(), “info“, “alert(收银完成!); window.location.href=window.location.href;“); 第 5 章 软件测试 测试是系统开发时期最后一个阶段,是保证软件质量的重要手段。软件测 试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所 谓控制条件应包括正常条件与非正常条件。软件测试过程中应该故意地去促使 错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出 现。从本质上说,软件测试是“探测“,在“探测“中发现软件的毛病。 5.1 测试的概述 5.1.1 测试的概念及意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing) 的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个预测是相关的术语叫纠错(Debugging)。它的目的与任务可以规定为: 目的:定位和纠正错误; 任务:消除软件故障,保证程序的可靠运行。测试与纠错的关系,可以用 图 6-1 的数据流图来说明。图中表明,每一次测试都要准备好若干必要的测试 数据,与被测试程序一道送入计算机执行。通常把一次程序执行需要的测试数 据,称为一个“测试用例(Test Case)。每一个测试用例产生一个相应的“测试 结果” 。如果它与“期望结果”不想符合,便说明程序中存在错误,需要用纠错 来改正。 图 6.1 测试与纠错信息流程 测 试 评 价 纠 错 程序 测试数据 测试结果 错误信息 改正信息 期望结果 Fig6.1 test and error correction information flow 软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危 机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到 所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导 致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法 改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。 问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误 密度达到尽可能低的程度。 5.1.2 测试的特性 (1)挑剔性 测试是为了证明程序有错,而不是证明程序无错。因此,对于被测程序就 是要“纯毛求疵” ,就是要“鸡蛋里挑骨头” 。只有抱着程序有错的目的去测试, 才能八成序中潜在的大部分错误找出来。 (2)复杂性 测试仪程序则比较容易,这其实是一个误区。设计测试用力是一项需要细 致和高度技巧的高能工作,稍有不慎就会顾此失彼,发生不应用得数楼。 (3)不彻底性 实际测试都是不彻底的,当然不能够保证测试后的程序不存在遗漏的错误。 (4)经济性 通场这种测试称为“选择测试(Selective Testing) ” 。为了降低测试成本, 选择测试用力是应注意遵守“经济性”的原则。 5.1.3 测试的重要性及范围 软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件 测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量 的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每 一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能 早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常 会导致最后成品测试的巨大困难。 事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有 错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入, 但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中 的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是 软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明, 在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的 40以 上。而在软件开发的总成本中,用在测试上的开销要占 30到 50。如果把维 护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低, 但实际上维护工作相当于二次开发,乃至多次开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绵竹中学高2023级2024-2025学年度(下)期末模拟检测(政治)
- 记账实操-金属材料销售公司的账务处理
- 河南省名校大联考2024-2025学年高一下学期4月期中生物试卷(有答案)
- 2024-2025学年下学期高二生物人教版期末必刷常考题之群落及其演替
- 2024-2025学年下学期高二生物沪科版期末必刷常考题之保护环境实现人类与自然的和谐相处
- 山东统考新闻题目及答案
- 软件学院基础题目及答案
- 日语经济题目大全及答案
- 10《静电场中的能量》-2025高中物理水平合格考备考知识清单+习题巩固
- 2 9 函数模型及应用-2026版53高考数学总复习A版精炼
- 山东省枣庄市滕州市2023-2024学年七年级下学期期末数学试题
- 全屋定制板材直播话术脚本范文模版新手直播带货
- 2024家庭医生式服务签约协议书
- 江苏省南师附中2024届高一数学第二学期期末教学质量检测试题含解析
- 教师礼仪与沟通技巧(山东联盟)智慧树知到期末考试答案章节答案2024年潍坊学院
- 产业园企业服务规范及管理办法模板
- 莎士比亚戏剧赏析智慧树知到期末考试答案章节答案2024年北京师范大学
- (正式版)SHT 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范
- 2023年山东济南市初中学业水平考试地理试卷真题(答案详解)
- 国开专科《建筑制图基础》形考作业1-4试题及答案
- GA/T 2015-2023芬太尼类药物专用智能柜通用技术规范
评论
0/150
提交评论