医药管理系统库存管理子系统的设计与实现Word文件下载.docx

上传人:b****2 文档编号:1132025 上传时间:2023-04-30 格式:DOCX 页数:64 大小:653.53KB
下载 相关 举报
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第1页
第1页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第2页
第2页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第3页
第3页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第4页
第4页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第5页
第5页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第6页
第6页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第7页
第7页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第8页
第8页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第9页
第9页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第10页
第10页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第11页
第11页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第12页
第12页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第13页
第13页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第14页
第14页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第15页
第15页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第16页
第16页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第17页
第17页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第18页
第18页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第19页
第19页 / 共64页
医药管理系统库存管理子系统的设计与实现Word文件下载.docx_第20页
第20页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

医药管理系统库存管理子系统的设计与实现Word文件下载.docx

《医药管理系统库存管理子系统的设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《医药管理系统库存管理子系统的设计与实现Word文件下载.docx(64页珍藏版)》请在冰点文库上搜索。

医药管理系统库存管理子系统的设计与实现Word文件下载.docx

四是避免重产品初期运转,轻维护与服务。

在信息系统初期应用时,多数企业都能给予相当的重视,当完成系统验收后,企业往往不重视对该系统资源的保障、维护与服务的投入,以及对系统适应的调整,使得信息系统生命周期大大缩短。

随着信息时代的发展,管理者意识到只有采用信息化管理,才能取得市场领域的主导地位。

一系统开发环境和主要技术简介

1.1.1VisualC++的介绍

VisualC++是Microsoft公司的重要产品之一DeveloperStudio工具集的重要组成部分。

它用来在Windows环境下开发应用程序,是一种功能强大,行之有效的可视化编程工具。

VC以可视化技术为基础,以C++语言为蓝本,以众多的集成工具为骨架,在计算机领域的诸多方面都发挥着重要的作用。

VisualC++提供了简洁实用的开发环境,集成的工具集能够让用户高效率的开发应用程序。

VisualC++提供了MFC类库,一般性工作可以全部交给VC来完成,用户只要在其基础上做出自己想要实现的功能即可。

完成目标(尤其对于图形界面的程序)所花费的时间要少得多。

1.1.2MFC和VisualC++

VisualC++的核心是Microsoft基础类库,即通常所说的MFC(MicrosoftFoundationClassLibrary)。

MFC相当彻底的封装了Win32软件开发工具包(SoftwareDevelopmentKit,即通常所说的SDK)中的结构、功能,它为编程者提供了一个应用程序框架,这个应用程序框架为编程者完成了很多Windows编程中的例行性工作,如管理窗口、菜单和对话框,执行基本的输入和输出、使用集合类来保存数据对象等等,并且,MFC使得在程序中使用很多过去很专业、很复杂的编程课题,如ActiveX、OLE、本地数据库和开放式数据库互联(OpenDatabaseConnectivity,简写为ODBC)、Windows套接字和Internet应用程序设计等,以及其它的应用程序界面特性,如属性页(也叫标签对话框)、打印和打印预览、浮动的和可定制的工具条变得更加的容易。

1.2MicrosoftAccess概述

1.2.1MicrosoftAccess的发展

自从1992年首次发布以来,MicrosoftAccess已经逐步成为桌面数据库领域的领导者,并且拥有广泛的用户。

在90年代早期,作为用于MicrosoftWindows操作系统的第一个桌面关系型数据库(RDBMS)而初次登场的是Access1.0给有经验的数据库用户留下的深刻印象是,使用一个功能强大的桌面数据库竟然如此简单。

Access2.0继续改变终端数据库用户理解和使用数据库的方法。

当Access第一次加入MicrosoftOffice套件时,Office用户开始产生对关系数据库的强烈需要。

1995年末,世界上第一个32位RDBMSAccess95发布,使这种普及趋势继续发展。

1997年1月发布的Access97是数据库与Web的最佳组合。

今天,Access的普及已经上了一个新的台阶,其用户不仅包括有经验的数据库用户,还包括初次使用数据库的用户。

使用Access2000,新用户会欣喜的发现它与Office应用程序高度集成,熟悉的界面使迅速启动和运行更加容易。

通过以更紧密的集成将Access2000延伸到企业级数据库,Access高级用户和开发人员将会找到崭新的方法,来充分利用Access在最终用户中的普及。

不论用户是创建数据库来管理联络信息和客户,还是创建存货跟踪系统,Access都能找到为各种级别的桌面用户查找,管理和共享数据提供的一种简单方法。

1.2.2MicrosoftAccess的主要功能

MicrosoftAccess数据库是对传统数据库的发展,是一个数据库管理系统(RDBMS)。

在Access中,用户可以构造应用程序来归档和存储数据,并且可以用多种方法进行筛选,分类和查询数据,同时也可以将不同数据类型之间的联系存储起来,供产生综合性数据使用。

此时,每条信息仅在一处存放,减少数据重复,节约存储空间,这样更新数据时速度既快又准确,修改表结构也非常容易。

用户既可以为每一种类型的信息创建一个表,将自己的数据分别保存在自己创建的表中,同时又可以使用联机窗体更加有效的查看,添加和更新表中的数据;

使用查询来查找并检索符合指定条件的数据;

使用报表分析数据,并以特定的版面布局来打印数据;

使用宏完成自己定义的一系列操作,同时又不需要编写程序。

Access的主要功能:

(1)定义数据创建表,利用表存储相应的信息。

(2)定义表之间的关系,从而很容易地将各个表中相关的数据有机的结合在一起。

(3)方式多样的数据处理能力。

可以创建查询来检索数据;

可以创建联机窗体来直接查看。

输入和更改表中的数据;

可以创建报表来分析数据或将数据以特点的方式打印出来。

(4)创建Web页时,建立对Internet和Intranet的支持。

(5)开发应用程序。

可以利用宏或VisualC++将各种数据库对象连接在一起,形成一个数据库应用系统,而且用户也不需要编写复杂的程序。

与其他数据库不同的是,Access在实现上述功能时提供了各种向导,用户在操作时只需按照向导提供的步骤执行就可以了,用起来非常方便。

1.2.3MicrosoftAccess的组成

Access2000由以下几个部分组成

(1)数据库引擎:

它是实际存储,排序和获取数据的软件,一般来说,是不可见的。

(2)数据库对象:

Access2000的数据库窗口非常便于用户访问各种对象。

所谓对象就是提供一种特定的使用界面,用于查看,输入和抽取数据库的有关信息。

(3)设计工具:

Access包含一套设计工具,可用于创建对象。

(4)编程工具:

Access与MicrosoftOffice中其他的应用程序共享编程语言VBA。

Access2000加入了VBE,可以直接将自己的代码管理和开发技巧转移到Word,Excel或PowerPoint中,从而丰富Access应用程序的数据访问功能。

Access2000具有储存文件单一,支持长文件名,兼容多种数据库格式,具有Web网页发布功能,可应用于客户/服务器方式,操作使用方便等特点。

Access2000所使用的对象包括表,查询,报表,窗体,宏,模块和数据访问页。

在一个数据库中,除数据访问页之外,其他的对象都存放在一个扩展名为.mdb的数据库文件中,而不像其他数据库那样分别存放在不同的文件中,这样就方便了数据库文件的管理[10]。

1.3ADO

1.3.1ADO概述

ADO是Microsoft为最新和最强大的数据访问范例OLEDB而设计的,是一个便于使用的应用程序层接口。

ADO使您能够编写应用程序以通过OLE.DB提供者访问和操作数据库服务器中的数据。

ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。

ADO在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。

之所以称为ADO,是用了一个比较熟悉的暗喻,OLE自动化接口。

OLEDB是一组组件对象模型(COM)接口,是新的数据库低层接口,它封装了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。

OLEDB是MicrosoftUDA(UniversalDataAccess)策略的技术基础。

OLEDB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。

也就是说,OLEDB并不局限于ISAM、Jet甚至关系数据源,它能够处理任何类型的数据,而不考虑它们的格式和存储方法。

在实际应用中,这种多样性意味着可以访问驻留在Excel电子数据表、文本文件、电子邮件/目录服务甚至邮件服务器,诸如MicrosoftExchange中的数据。

但是,OLEDB应用程序编程接口的目的是为各种应用程序提供最佳的功能,它并不符合简单化的要求。

您需要的API应该是一座连接应用程序和OLEDB的桥梁,这就是ActiveXDataObjects(ADO)。

1.3.2MFC的ADO类

(1)引入ADO库文件

使用ADO前必须在工程的stdafx.h文件里用直接引入符号#import引入ADO库文件,以使编译器能正确编译。

代码如下所示:

代码1:

用#import引入ADO库文件

#import"

c:

\programfiles\commonfiles\system\ado\msado15.dll"

no_namespacesrename("

EOF"

adoEOF"

这行语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免常数冲突,将常数EOF改名为adoEOF。

现在不需添加另外的头文件,就可以使用ADO接口了。

(2)初始化OLE/COM库环境

必须注意的是,ADO库是一组COM动态库,这意味应用程序在调用ADO前,必须初始化OLE/COM库环境。

在MFC应用程序里,一个比较好的方法是在应用程序主类的InitInstance成员函数里初始化OLE/COM库环境。

代码2:

初始化OLE/COM库环境

BOOLCADOApp:

InitInstance()

{

if(!

AfxOleInit())

AfxMessageBox(“OLE初始化出错!

”);

returnFALSE;

}

}

函数AfxOleInit在每次应用程序启动时初始化OLE/COM库环境。

同DAO和CDatabase一样,ADO由几个接口组成:

_ConnectionPtr,_CommandPtr和_RecordsetPtr.不同于DAO和Cdatabase的是,ADO基于COM的接口。

(3)ADO接口简介

ADO库包含三个基本接口:

_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。

_ConnectionPtr接口返回一个记录集或一个空指针。

通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。

使用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。

通常同CDatabase一样,使用它创建一个数据连接,然后使用其它对象执行数据输入输出操作。

_CommandPtr接口返回一个记录集。

它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。

在使用_CommandPtr接口时,你可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。

如果你只执行一次或几次数据访问操作,后者是比较好的选择。

但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。

_RecordsetPtr是一个记录集对象。

与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。

同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。

如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局_ConnectionPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句。

(4)使用_ConnectionPtr接口

_ConnectionPtr是一个连接接口,它类似于CDatabase和CDaoDatabase。

它们的工作原理相似。

首先创建一个_ConnectionPtr接口实例,接着指向并打开一个ODBC数据源或OLEDB数据提供者(Provider)。

以下代码创建一个基于DSN的数据连接。

代码3:

使用_ConnectionPtr(基于DSN)

_ConnectionPtrMyDb;

MyDb.CreateInstance(__uuidof(Connection));

MyDb->

Open("

DSN=samp;

UID=admin;

PWD=admin"

"

"

-1);

(5)使用_RecordsetPtr接口

_RecordsetPtr接口的使用方法和CDaoDatabase类似,通过以下代码的比较,你会发现使用_RecordsetPtr接口非常简单(以下代码使用上面已经创建的数据连接):

代码4:

使用_RecordsetPtr执行SQL语句

_RecordsetPtrMySet;

MySet.CreateInstance(__uuidof(Recordset));

MySet->

SELECT*FROMsome_table"

MyDb.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

二系统总体设计

2.1需求分析

2.1.1系统介绍

“医药库存系统”是专门针对医药公司、药店的综合业务而开发的医药管理系统。

该软件集进、销、存、决策于一体,同时还集成了财务管理、报表打印、查询统计等多种实用的功能,真正实现了进、销、存一体化。

本软件的前台采用目前流行的面向对象的编程语言V1sualC++6.0开发,后台采用Access数据库。

软件的界面美观大方,软件运行稳定。

该软件有以下特点:

(1)功能强大。

该软件以医药经营企业为应用对象,结合医药企业当前和未来发展的管理需求提供实用先进的应用模式,实现对多部门、多规格、大范围的复杂经营活动的业务监控、财务监控、质量监控,提高业务财务各环节工作效率和协作监督能力,真正面向市场提高企业效益。

(2)实用高效。

通过建立规范的业务管理模式,使业务人员从繁忙的手工开票、统计报表工作中解脱出来,提高工作效率,减少人为差错。

(3)系统结构灵活,适用多种经营模式。

整个系统由问题域子系统、数据访问子系统、用户界面子系统组成。

各子系统可以从其他相关的子系统中直接获取所需的数据,同时也可以将子系统内产生的数据自动传递给其他相关子系统,减少了重复录入,提高了工作效率和准确率。

因此,无论是大型集团企业,还是小型公司,无论是连锁零售企业,还是批发企业,本系统均可适用。

(4)用户界面操作简洁。

系统的每个功能都经过精心设计,充分考虑到使用人员的计算机知识较少的特点,全部使用业务人员最熟悉的业务流程、提示用语和操作方式,即使不懂计算机的人也能熟练使用本软件,完成业务处理。

(5)系统性能稳定。

严格按照规范的软件工程管理,充分利用面向对象技术,以Access数据库为平台,利用Windows系统的内存管理和多任务特性,从技术上保证了系统的稳定性、可靠性和先进性。

本系统在实施后,集中处理药品的进销存业务及其应收应付账目,为企业的发展奠定了一个新的台阶。

2.1.2数据字典

重要数据及其简要描述如表2-1、表2-2、表2-3所示。

表2-1数据项

名称

说明

药品编号

惟一标识一种药品,形式如YP00001

员工编号

惟一标识一位员工,形式如YG00001

客户编号

惟一标识一个客户,形式如KH00001

供应商编号

惟一标识一个供应商,形式如GYS00001

销售票号

惟一标识每次销售登记,形式如2009-05-01xsd0023

入库票号

惟一标识每次入库登记,形式如2009-05-01rkd0001

销售退货票号

惟一标识每次销售退货登记,形式如2009-05-01THD0001

入库退货票号

惟一标识每次入库退货登记,形式如2009-05-01rkt0001

库存盘点票号

惟一标识每次库存盘点登记,形式如:

2009-05-01pdd0001

调货票号

惟一标识每次调货登记,形式如:

2009-05-28DHD0001

毛利

销售某种商品时,获得的利润

操作员

管理员,使用系统,拥有系统账号的人

经手人

员工,对某次业务或交易实际上直接操作的人

备份编号

惟一标识某次备份记录,形式如:

BACKUP2009-05-20-10-23-00001

仓库名称

惟一标识某个仓库

盈亏数量

库存盘点出现的与实际不符的数量

管理员权限

对权限分成4个等级,方便不同的用户有不同的访问权限

结算方式

进行交易时所采用的结算方式

是否结清

判断某笔交易是否已结清帐

警戒上限

药品数量的最高限

警戒下限

药品数量的最低限

表2-2存储数据

药品信息表

记录药品的基本信息

员工信息表

记录员工的基本信息

客户信息表

记录客户的基本信息

供应商信息表

记录供应商的基本信息

仓库信息表

记录仓库的基本信息

管理员表

记录管理员的用户名,密码,权限

库存表

记录库存信息

备份表

记录备份信息

销售登记表

记录销售时药品及数量信息

销售票号表

记录销售时的客户,经手人,操作员,日期等信息

入库登记表

记录入库时药品及数量信息

入库票号表

记录入库时的供应商,经手人,操作员,日期等信息

销售退货登记表

记录销售退货时药品及数量信息

销售退货票号表

记录销售退货时的客户,经手人,操作员,日期等信息

入库退货登记表

记录入库退货时药品及数量信息

入库退货票号表

记录入库退货时的供应商,经手人,操作员,日期等信息

库存盘点登记表

记录库存盘点时的药品,仓库及盈亏信息

库存盘点退货表

记录入库退货时的经手人,操作员,日期等信息

调货登记表

记录调货时的药品,数量及仓库信息

调货票号表

记录调货时的经手人,操作员,日期等信息

销售结帐表

记录销售结帐时的金额,经手人,操作员,日期等信息

入库结帐表

记录入库结帐时的金额,经手人,操作员,日期等信息

销售退货结帐表

记录销售退货结帐时的金额,经手人,操作员,日期等信息

入库退货结帐表

记录入库退货结帐时的金额,经手人,操作员,日期等信息

表2-3处理过程

销售登记

对客户进行销售交易,即出库

入库登记

对供应商进行入库交易,即采购

销售退货登记

对客户进行销售退货交易

入库退货登记

对供应商进行入库退货交易

库存盘点登记

确保数据库的数据符合实际库存

调货登记

在仓库之间重新分配库存数量

销售结账登记

销售结账操作

入库结账登记

入库结账操作,也可以称为采购结账

销售退货结账

销售退货结账操作

2.2概要设计

2.2.1设计目标

面对医药行业的高速发展和医药企业信息化发展的过程中出现的各种情况,该系统在实施后,应能够达到以下目标:

(1)建立规范的业务管理模式,使业务人员从繁忙的手工开票、统计报表工作中解脱出来,提高工作效率,减少人为差错。

(2)实现多点操作的信息共享,相互之间的信息传递要准确、快捷和顺畅。

(3)提供快速、准确的处理企业药品进、销、存、调、退

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2