1、基于WEB零售药店管理系统设计和实现摘要:伴随中国市场经济发展和大家对医药产品需求快速增加,医药行业正处于一个高速发展时期,因以往药店关键是以人工统计模式登记药品信息,销售信息等,所以对于管理药品信息和数据纷乱复杂,整理统计费力费时。要做好对药店管理,药店就必需快速正确地获取自己所需信息,这就要求立即统计数据并方便查看,和对药品数据信息进行维护,基于此我们开发了零售药店管理信息系统。本系统基础遵照软件工程方法论进行系统分析、总体设计、具体设计和软件测试。采取ASP.NET 技术作为创建应用程序方法,以C#作为编程语言,采取SQL Server 数据库作为后台数据库。它是基于Browser/Se
2、rver结构下形成数据驱动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
3、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 accu
4、rately 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 analysi
5、s, 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 ph
6、armacies, SQL Server, drug information目 录第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 数据库介绍3第2章 需求分析52.1 可行性分析52.2 数据库需求分析62.3 系统目标62.3.1 合理设计数据库62.3.2 设计出友好界面62.4 本系统所实现功效62.4.1 管理员管理模块应实现功效72.4.2 操作员管理模块应实现功效7第3章 系统总体分析83.1 基础介绍83.2 运行环境83.3 数据字典83
7、.4 ER图103.5 关键模块步骤图133.5.1操作员维护步骤图133.5.2药品信息管理步骤图13第4章 系统程序实现154.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章 软件测试325.1测试概述325.1.1 测试概念及意义325.1.2 测试特征335.1.3 测试关键性及范围335.2系统测试34结论和总结35致谢36参考文件37
8、第1章 概 述1.1 开发背景在现今社会中,医药行业是一个发展快速行业,每个不一样药店管理机构全部要有适合自己业务软件管理系统,这么才能有效提升工作效率,不停地扩大企业经营规模。而康泰药店现在并没有适合自己管理系统,现在仍需要手工作业管理工作,比如在药品库存管理方面有很多不足,药品入库时需要手工统计入库数量,这种统计相比较而言可能还会轻易些,但当进行实际库存量和应有库存量进行查对时很复杂。不仅在这方面有很大欠缺,在职员管理方面也存在很多不足,所以要想继续发展就必需开发一个适合该药店管理系统。1.2 项目提出意义为了提升工作效率、处理现存系统中问题,我们急需开发一个新、适合实际情况需要管理系统,
9、有了这么一个管理系统,不仅能处理现存管理问题,还能有效降低人工作业。 在应用了该管理系统后,原有手工统计将完全被替换,这不仅仅能够提升工作效率,而且还能够提升工作正确性,降低无须要损失;应用了该系统后,系统智能化功效能够为药店提供需要进货药品清单,这么能够愈加方便、立即了解到需要采购药品,立即进货,避免了药品缺货现象,从另一个角度考虑,这么还能够增加营业额,提升收入,为深入发展扩大业务做好充足准备;在应用了该系统后,能够提升全体工作人员本身素质,在系统各个模块中,需要不一样工作人员来进行管理,在对现代化软件系统管理和利用同时会发觉很多本身不太了解、甚至一无所知问题,为了处理这些问题,愈加好投入
10、工作,职员会利用自己业余时间学习、充实自己,同时也会走出部分思想误区,提升本身修养。该管理系统对药店影响及未来发展起着至关关键作用。1.3 系统开发方法现在,网络应用软件运行模式关键有二类:Client/server模式,Browser/Web模式。前者关键缺点是维护、升级较麻烦,后者是近几年伴随Internet快速发展起来一个技术,它和用户/服务器方法类似,用户端是一个标准浏览器,服务器端是Web Server ,而Web Server和数据库和应用服务器紧密结合,使得这种模式应用范围不停扩大,它已不仅仅用于网上查询,有很多部门业务系统、企业MIS系统纷纷采取这种模式,它关键优点是便于扩充应
11、用、升级维护简便。另外,零售药店管理系统软件也必将不停更新;同时软件产品本身就要经过一个不停自我完善过程。基于上述考虑,用Browser/Web模式来设计零售药店管理系统比较适宜,服务器端我们采取SQLServer数据库系统和ASP组件来组成评定维护应用服务系统;用户端采取浏览器来完成在线评定全过程,同时可进行远程系统维护和管理。 1.4 系统开发工具该系统在Microsoft Server环境中开发,采取了现在很流行Browser /server三层结构软件结构技术,前台页面系统采取ASP.NET开发,后台管理系统采取SQL server 作为数据库系统(关键采取了C#语言)1.4.1 II
12、S介绍IIS是Internet Information Server缩写,它是微软企业主推服务器,最新版本是Windows里面包含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.N
13、ET、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是一个革命性编
14、程框架,它实现了企业级Web应用程序快速开发。它提供了最简便、最含有扩展能力方法来开发、布署和运行能够将任何浏览器或设备作为目标Web应用程序。实际上,这只是令ASP.NET成为程序员创建Web应用程序首选众多特色中一小部分。除了常见Web应用程序,利用ASP.NET还能够创建其它部分类型,这就使我们应用程序范围能够延伸到新用户和业务合作伙伴。对程序员来说,布署服务器应用程序一直是一件很痛苦事。不过,有了ASP.NET,程序员根本无须担心这个问题,因为ASP.NET大大简化了布署过程。要布署Web应用程序,只要把它复制到Web服务器上就能够了。除了提供了丰富程序员这方面经验,ASP.NET还提
15、供了丰富用户经验。ASP.NET Web应用程序比传统ASP应用程序速度要快很多,因为ASP.NET令我们能够使用经过编译编程语言。所以,ASP.NET应用程序不需要明确编译步骤,结果便是实施得愈加快了。1.4.4 数据库介绍伴随科学技术进步,信息已成为各行各业关键资源。数据库以其强大操作和管理功效成为高速信息表示途经。据我所知,数据库类型有很多,如:SQL server, vf,framework,access, OracleMySQLSYBASEDB2等等,然而本软件选择了用SQL Server来作为数据库软件。相关SQL Server介绍:Microsoft SQL Server是由 M
16、icrosoft企业开发,在Microsoft SQL Server发展历程中,有两版本含相关键意义。那就是在1996年推出SQL Server6.5和在8月推出SQL Server本。6.5版本使SQL Server得到了广泛应用,而本在功效和易用性上有很大增强,并推出了简体汉字版,它包含企业版,标准版,开发版和个人版4个版本。第2章 需求分析要实现一个软件系统,首先应该进行需求分析,这么才能令设计出软件满足用户各项功效。下面就对零售药店管理系统设计进行需求分析。2.1 可行性分析可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查基础上,针对新系统开发是否含
17、有必需性和可能性,对新系统开发从技术、经济、社会方面进行分析和研究,以避免投资失误,确保新系统开发成功。可行性研究目标就是用最小代价在尽可能短时间内确定问题是否能够处理。该系统可行性分析包含以下多个方面内容。(1)经济可行性:关键是对项目标经济效益进行评价,本系统开发经费在经济上是能够接收,而且本系统实施后能够显著节省时间、提升工作效率。所以本系统在经济上是可行。(2)技术上可行性:技术上可行性分析关键分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者需要等。该管理系统采取了Browser/Server模式进行开发。Browser/Server体系结构紧密结合了Internet/Intr
18、anet技术,是技术发展大势所趋,它把应用系统带入了一个崭新发展时代。数据库服务器SQL数据库,它能够处理大量数据,同时保持数据完整性并提供很多高级管理功效。它灵活性、安全性和易用性为数据库编程提供了良好条件。所以,系统软件开发平台已成熟可行。硬件方面,科技飞速发展今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统需要。总而言之,此系统开发目标已明确,在技术和经济等方面全部可行,而且投入少、见效快。所以该系统开发是完全可行。2.2 数据库需求分析数据库在零售药店管理系统中占有极其关键地位,数据库结构设计好坏将直接对应用系统效率和实现效果产生影响。
19、合理数据库结构设计能够提升数据存放效率,确保数据完整和一致。合理数据库也有利于程序实现。设计数据库系统时应首先充足了解用户各个方面需求,包含现有和未来可能增加需求。用户需求具体表现在对多种信息提供、保留、更新和交流,这就要求数据库结构能充足满足多种信息输出和输入。2.3 系统目标我们通常设计系统全部要完成以下多个要求,方便于用户进行操作。这么才能使系统易学易用。2.3.1 合理设计数据库 尽可能合理地降低数据库数据冗余,使反复数据保持在最小程度,这么将无须要多占用存放空间,降低产生混乱影响危险,还能提升计算机运行速度。2.3.2 设计出友好界面 界面友好是否是用户评价一个软件优劣关键方面之一,
20、使用户有一个良好心情。2.4 本系统所实现功效本系统关键划分为两层用户角色功效模块,管理员、操作员;管理员关键是对于系统基础信息维护和综合信息管理多个模块,关键功效包含:药品类别、药品信息管理,药品库存设置管理和药品日常进货和销售查询信息管理等;操作员关键是管理药店日常药品进货和销售工作,并能够依据库存信息立即控制药品销售和进货,从而确保药品流通正常运行功效操作。2.4.1 管理员管理模块应实现功效(1)操作员信息管理:对操作员信息进行基础维护,包含帐号,密码等多项信息,密码导师登陆系统以后自行修改,本模块能够添加、修改和删除操作员信息。(2)药品类别管理:对于药店销售药品类别进行综合管理操作
21、。(3)药品信息管理:管理药店销售药品信息,药品信息关键包含药品名称、厂家、拼音码、使用期、批号、规格等多项信息,本模块能够添加、修改和删除药品信息。(4)库存信息设置:对于库存药品信息能够进行库存设置,比如设置库存上限、下限和目前库存数值等功效。(5)进货查询:查询显示药品进货信息和进货时间相关内容(6)药品销售日报表:查询显示药品销售日常收银信息。(7)药品销售月报表:统计显示各个月份药品销售信息。2.4.2 操作员管理模块应实现功效操作员管理模块关键包含系统管理、日常业务管理、查询统计管理等功效模块,具体描述以下:(1)药品进货管理:管理日常药品进货信息,关键包含进货时间、供给商、进货数
22、量、单价、进货金额等,对于进货错误进货统计能够进行作废操作。(2)药品收银管理:药品日常收银管理,关键内容包含日期、用户、数量、单价、金额、折扣和实扣款等,收银药品不提供任何作废 退货操作。(3)库存信息查询:查询显示药品库存信息,库存信息包含库存商品保质期、库存上限、库存下限和库存量等内容。(4)药品信息查询:查询显示药品基础信息,包含保质期、药品类别、规格、批号等内容。第3章 系统总体分析3.1 基础介绍本系统关键经过维护药品类别、药品信息等功效,来进行药品日常进货和销售操作,并管理药品库存操作等。3.2 运行环境为了确保系统运行效率和可靠性,系统服务器端应含有较高软硬件配置,用户端要求不
23、是很高。此应用程序可广泛运行于国际互联网即Internet,也可适适用于内部局域网。其运行要求以下:软件环境:用户端: Windows95/98/XP,Internet Explorer(IE)等服务器端: Windows/XP,Internet Information Server (IIS)4.0及其以上版本,IE等。数据库:SQL server,运行于服务器端。硬件环境:服务器 CPU:PIII 500以上 ,内存:256M以上用户机 CPU:P200MMX以上,内存:32M以上 3.3 数据字典操作员序号字段名类型长度索引备注1.帐号Varchar50P2.密码Varchar503.姓
24、名Varchar504.电话Varchar505.住址Varchar506.邮箱Varchar507.类别Varchar50管理员 操作员药品类别序号字段名类型长度索引备注1.代码IntP2.类别名称Varchar50药品信息序号字段名类型长度索引备注1.代码IntP不能反复2.药品名称Varchar503.厂家Varchar504.拼音码Varchar505.单位Varchar506.使用期Date7.批号Varchar508.规格Varchar509.进货价格Float10.销售价格Float11.备注Varchar50012.类别代码Int关联 药品类别进货单序号字段名类型长度索引备注1
25、.进货单号Varchar50PXYyyymmddhhmmss2.进货时间DateTime3.供给商Varchar504.药品代码Int关联 药品代码5.进货数量Int6.单价Float7.进货金额Float8.经办人Varchar509.备注Varchar500库存序号字段名类型长度索引备注1.药品代码Int关联 进货单2.库存数量Float3.库存上限Int4.库存下限Int收银序号字段名类型长度索引备注1.零售单号Varchar50PXYyyymmddhhmmss2.日期DateTime503.药品代码Int4.数量Int5.金额Float6.折扣Float7.实收款Float8.用户Va
26、rchar509.备注Varchar503.4 ER图图3.1 ER图把概念结构设计转化为逻辑结构设计为:药品信息实体属性:代码、药品名称、厂家、拼音码、单位、使用期、批号、规格、进货价格、销售价格、备注、类别代码。药品信息实体属性图图所表示图 3.2 药品信息实体属性图收银信息实体属性:零售单号、日期、药品代码、数量、金额、折扣、实收款、用户、备注。收银属性图图所表示图 3.3 收银实体属性图其它实体属性再此不一一列出。总而言之,零售药店管理系统功效需求能够经过图3.4简明表示。图3.2系统功效需求图3.5 关键模块步骤图3.5.1操作员维护步骤图图3.4操作员维护步骤图3.5.2药品信息管
27、理步骤图图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
28、 管理员 where 帐号= + 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 操作员 wh
29、ere 帐号= + txtUser.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 操作员信息维护列表此页面关键是显示和维护系统中操作员信息资料,操作员信息关键包含帐号、姓名、
30、电话、地址、邮箱、密码等信息,系统有初始密码,操作员登陆系统以后能够自己修改密码。图:图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); return; /依据标志判定是添加还是修改操作 保留商品信息 if (Request.Que
31、ryStringID != 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+,+
32、txtYX.Text+); Page.ClientScript.RegisterStartupScript(this.GetType(), info, alert(保留成功!);window.location.href=BXDD.aspx;); 4.2.2 药品信息管理模块此模块关键是维护药品信息,能够添加、修改、删除药品信息,药品信息关键包含:药品名称、厂家、拼音码、单位、批号、使用期等相关内容,图:图4.4 药品信息列表图4.5 药品信息页面其实现相关代码以下: protected void Page_Load(object sender, EventArgs e) / 在此处放置用户代码
33、以初始化页面 if (!Page.IsPostBack) /绑定类别列表 drYPLB.DataTextField = 类别名称; drYPLB.DataValueField = 代码; drYPLB.DataSource = DataControl.GetData(select * from 药品类别 ); drYPLB.DataBind(); if (Request.QueryStringID != null) /显示目前商品信息 DataTable tmpda = new DataTable(); tmpda = DataControl.GetData(select * from 药品信
34、息 where 代码= + Request.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(
35、); 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
36、void btnAdd_Click(object sender, 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+,厂家 = +
37、txtCJ.Text+,拼音码 = +txtPYM.Text+,单位 = +txtDW.Text+,使用期 = +txtYXQ.Text+,批号 =+txtPH.Text+,规格 = +txtGG.Text+,进货价格 = +txtJHJG.Text+,销售价格 = +txtXSJG.Text+,备注 = +txtBZ.Text+,类别代码 = +drYPLB.SelectedValue+ WHERE 代码= + Request.QueryStringID + ); else DataControl.Execute(INSERT INTO 药品信息 ( 药品名称 ,厂家 ,拼音码 ,单位 ,使
38、用期 ,批号 ,规格 ,进货价格 ,销售价格 ,备注 ,类别代码 ) 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.hre
39、f=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 + WHER