零售药店管理系统的设计与实现

上传人:good****022 文档编号:116821343 上传时间:2022-07-06 格式:DOC 页数:41 大小:2.19MB
返回 下载 相关 举报
零售药店管理系统的设计与实现_第1页
第1页 / 共41页
零售药店管理系统的设计与实现_第2页
第2页 / 共41页
零售药店管理系统的设计与实现_第3页
第3页 / 共41页
点击查看更多>>
资源描述
基于基于 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。如果把维 护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低, 但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测 试工作。 软件测试贯穿于软件定义与开发的整个周期 ,软件的需求规格说明书 , 结构设计及程序编码,都属于软件测试的对象。 5.2 系统测试 系统测试的方法,测试在软件开发过程中一直都是备受关注的,即使在传 统的软件工程中,也有一个明确、独立的测试阶段。随着软件危机的频频出现 以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测 试已经不仅仅局限于系统开发中的一个阶段,它已经开始贯穿于整个系统开发 过程,人们已经开始认识到:测试开始的时间越早,测试执行的越频繁,所带 来的整个软件开发成本的下降就会越多。Extreme Programming 更是把测试推到 了极限的位置,一切软件开发活动都要从首先编写测试代码开始。 为了使本软件运行更加稳定,我对它进行了全面的测试,测试分为二部分 来进行,一是:界面测试;二是功能测试。 首先是界面测试,为了使软件在不同的的操作系统平台上运行界面能保持 原来的风格。我把完整程序拷贝到 Windows 2000 Pro SP4 环境下,程序运行界 面正常,界面上的字体等设置都保持得相当好。没有出现类似字体变形的情况! 二是进行功能的测试。本系统测试采用了黑盒测试的方法。 经过测试,所有功能都能得以实现,没有任何变形。至此,在功能的测试 上也已经比较圆满的完成了。 结论和总结 通过本次毕业设计我了解了 Web 开发模式,工作原理及发展的历史,对 Web 数据库的结构和 Web 服务器与数据库的几种互连技术有了全面的认识。 在几个月的系统开发和论文撰写过程中,通过查阅、研究大量的相关文献,分 析相关领域的特色网站并结合实际,论文先论述了零售药店系统的理论知识, 包括对它的定义,内涵,特点,功能,技术等方面的研究。然后按照软件工程 的严格要求,对一个信息网进行了需求分析,概要设计,详细设计,编码与测 试等方面进行分析和讨论,初步建立了一个零售药店管理系统。通过与数据库 的连接,完成了药品类别、信息的管理功能,运行本操作系统实现了药品进货 和日常销售的功能。建立数据库通过 SQL 语句对数据库中的信息进行调用,以 及把系统信息及时的存储入数据库表单中。另外通过 C脚本语言实现对系统 的动态连接。 致谢 在本次毕业设计中,使我理会到软件工程在项目开发中各个环节的具体应 用,并对使用 C#的 asp.Net 开发数据库应用程序的方法和技巧有了更一步的掌 握。这一切的知识积累离不开指导老师认真负责的工作态度,严谨的治学精神 和深厚的理论水平,在此向他表示我深深的谢意,同时也感谢给过我支持、帮 助的同学。 最后借此机会也向所有关心和指引我成长的老师致以崇高的敬意! 参考文献 1 王昊亮,李刚,Visual C#程序设计教程M.北京:清华大学出版社,2003.9,1,4 2 郑阿奇.SQL Server 实用教程M.北京:电子工业出版社,2005.7,13 3 袁宁,李勇,网上商店大制作J,重庆大学出版社, 2001,3 4 周学泳等,Asp+SQL Server 开发网上商店J,人民邮电出版社,2000,8 5 Ron Patton 美,软件测试M.机械工业出版社,2000,3 6塞奎春主编,宋坤,李严,等编著. SQL Server 数据库开发实例解析M. 北京:机械工 业出版社,2006.1 7 Eung Jae Lee, Keun Ho Ryu.Design of Vehicle Information Management System for Effective Retrieving of Vehicle Location M.Lecture Notes in Computer Science, 2005, Volume 3481 8 余金山,林慧编著. SQL Server2000/2005 数据库开发实例入门与提高M. 北京:电 子工业出版社,2005.11 9 (美)Powell.R. (美)Weeks.R.著. 袁鹏飞译. C#和.NET 架构M. 北京:人民邮电出 版社,2002.4 10 萨师煊,王珊.数据库系统概论(第三版)M.北京:高等教育出版社,2000.2 11 Jason Price 著,邱仲潘,等译.C#数据库编程从入门到精通M.北京:电子工业出版 社,2003.9 12 罗斌,等编著. Visual C#.NET 精彩编程实例集锦J. 北京:中国水力水电出版社, 2005. 13 张公忠主编. 现代网络技术教程.第 2 版J. 北京:电子工业出版社,2004.1
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业合同


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!