




免费预览已结束,剩余38页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 论 文论文题目 药品进销存管理系统的研究与设计摘 要随着信息技术的迅猛发展,科学经营管理观念的迅速传播,使中小企业经营者逐渐认识到转变企业经营管理理念、改善企业经营管理模式是企业适应时代的发展急需解决的问题。进销存管理系统为企业商品的进、销、存、退、换、盘、损、调等各个操作流程中数据信息的进行处理,提供一系列的数据分析,帮助经营者合理的调整各个经营运作环节的运作节奏,并对商品流转过程进行了全程跟踪管理、相应款项流通的全程记录管理和票据信息统计的管理,为企业提供科学的、理性的管理方法。本文叙述了一个管理药品信息的进销存系统开发的背景与过程。首先介绍了该系统基本的功能,包括基本信息查询功能、药品销售功能、药品入库功能、库存管理操作功能、账款记录、账款查询功能;其次介绍了本系统的详细设计过程,包括数据库的设计、各个模块的设计,以及具体界面的设计和功能;最后介绍了系统的调试过程。关键字: 进销存管理系统 VC+ 业务流程图 数据流图目 录1 绪论11.1 系统概述11.2 系统开发的意义11.3 本文技术介绍21.3.1 开发语言21.3.2 MFC编程21.3.3 C/S结构工作模式简介31.3.4 ADO访问数据库41.4 系统可行性研究61.4.1 经济可行性61.4.2 技术可行性61.4.3 操作可行性72 系统需求分析72.1 用户的工作流程72.2 用户的业务需求72.3系统数据流分析83 系统概要设计133.1 系统设计思想133.2 系统模块流程图143.2.1 系统总体流程图143.2.2 各个模块的流程图154 系统详细设计224.1 数据库设计224.1.1 E-R图224.1.2 数据库表设计224.2 类的设计265 开发测试275.1 开发平台275.2 测试分析286 总结36参 考 文 献37Abstract38致 谢39仲恺农业技术学院毕业论文(设计)成绩评定表40381 绪论1.1 系统概述电子数字计算机的问世,对人类社会生活产生深刻而又巨大的影响,是人类劳动工具的重大变革。半个世纪以来,电子计算机的发展突飞猛进、日新月异,计算机的应用也越来越广泛,已由当初单纯的数值计算扩大到社会生活的各个领域,特别是应用于管理,这是计算机应用最广泛的领域,而随着国家的政治经济政策的优化改革,使得国内中小企业得以蓬勃发展。在这个知识经济时代和分秒定输赢的竞争型社会中,中小型企业管理是够能有秩序、有条理、有章可循的进行,不仅决定了它们的起点,也促进增长了企业在竞争过程中的优势以及企业的最终利益。因此进销存系统对于企业内部的管理非常重要,它为解决企业账目混乱、库存不准、信息反馈不及时等问题提供了及时切实的功能,它是集销售、入库、调货、库存、结账多个模块于一体的信息系统。进销存管理系统是中小型企业实施有效管理的必要手段,是保证中小型企业不会随时被大型企业所吞没的重要条件,可以使企业管理者很直观地分析数据,为下一步工作做好准备,也使决策者能按照进销存系统中真实客观的数据来预测企业的前景。综上所述,提高了中小型企业内部数据信息的准确度与条理度,规范了业务流程、提高了企业的管理水平和资金流动的透明度,加快了商品资金周转速度,进而全面提高了企业的经营水平、进而全面提升了企业的经济效益。进销存管理系统的应用有利于企业依据数据信息总结过去、立足掌握现状以及分析预测未来的发展前景,使中小型企业在激烈的竞争之中仍能占有一席之地。1.2 系统开发的意义企业经营如逆水行舟不进则退。每一个努力发展的企业都明白,先进管理的重要作用,引进先进管理系统使企业经营变得规范、合理。进销存管理系统无论是在功能设计还是业务流程上都尽可能做到满足经营管理运作流程的需求,并且操作方便、功能强大,即使操作者对计算机知识一窍不通也能一用就会。它强化库存管理,规范业务流程,提高资金管理的透明度,加快销售这一重要环节的的向外拓展,是企业经营管理中数据分析中必不可少的管理工具。而目前,我国中小企业内部管理混乱现象十分常见,问题一直没有得到很好的解决,企业中普遍存在员工工作效率低下、账目含糊不清、入库、调货、库存没有详细清单等等,企业经营者不能随时看到企业的经营数据,从而影响其决策力,错过商机,给企业带来损失,甚至是倒闭;为了解决这些问题,众多的中小企业开始考虑引入进销存管理系统;进销存系统是成本低、部署快、效果直观的内部系统。在国外绝大多数企业都拥有进销存管理系统,市场发展很成熟,在国内由于中小企业信息化程度还比较低,内部进销存管理系统的运用还处在起步阶段。进销存管理系统的市场需求很大,它适应了信息社会的发展,它代替了汇总信息量繁冗、效率低下的人工记录方式,代替了查询、更新、维护更是困难重重的纸张登记时代,真正有意义的实现了管理的科学化、高效化,所以进销存管理系统必定要被广泛的应用起来。1.3 本文技术介绍本系统是采用Visual C+中MFC为开发数据库和客户机/服务器(C/S结构)应用系统程序的前端开发的工具,采用ADO连接Microsoft SQL Server2000, 下面简单介绍下主要应用到的相关技术。1.3.1 开发语言Visual C+是以C+为蓝本,以众多集成工具为骨架,可谓是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。因此Visual C+又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。Visual C+具有的优点:提供了面向对象的应用程序框架MFC(Microsoft Foundation Class),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具AppWizard、ClassWizard、Visual Studio、WizardBar等,实现了直观、可视的程序设计风格,方便地编和管理各种类,维护程序的源代码;封装了Windows的API函数、USER、KERNEL、GDI函数,简化了编程时创建、维护窗口的许多复杂的工作5。1.3.2 MFC编程MFC是Microsoft Foundation Class Library的缩写,即Microsoft基本类库。它是Visual C+的重要组成部分。MFC中的各种类结合起来构成了一个应用程序框架,它的目的是让程序员在此基础上建立Windows下的应用程序。 (1).MFC编程优点11:l MFC提供了大量的类,把WindowsAPI函数封装在类中,用户可以方便地开发 Window运用程序; l 可以充分利用前人开发的代码,缩短了程序的开发周期;l 使代码具有更好的重用性;l 使一些复杂的开发技术变得容易实现;l 使用消息映射机制可以避免处理消息是的复杂情形;l 使用MFC可以提高程序的运行效率。(2).本文用到的MFC控件简介1 101) Static Text(静态控件):显示一些几乎固定不变的文字或图形描述,一般不 能接受输入信息;2) Picture(图片控件):显示位图、图标、方框和图元文件,一般不能接受输入信息;3) Edit Box(编辑框控件):完成文字的输入输出双向操作,查看并编辑文字,支持单行和多行编辑;4) CListBox(列表框控件):显示一个列表,用户可以从中选取一个或多个项;5) CComboBox(组合框):将列表框和编辑框有机地组合在一起,可选择列表中 已有的项,还可以编辑出新的项,分为简易式、下拉式和下拉列表式;6) CButton(命令按钮控件):响应用户的输入,触发相应的事件。7) CCheckBox(复选框):提供一个制造单一选择开关的方法;8) CADO Data:使用ADO技术访问数据库的具体实现,可以使用它快速创建一个到数据库的连接和访问数据库的一些操作,当时CADO Data控件不能够显示数据库中数据的内容,通常需要与其它控件结合使用。9) CDataGrid:以表格的形式显示结果集中的数据,它需要CADO Data控件提供数据源。10) CDataList:是数据绑定列表框,它需要指定一个CADO Data数据源,并使用数据源中的一个字段填充。11) CDataCombo:是数据绑定组合框,它的功能与CDataList控件完全相同。1.3.3 C/S结构工作模式简介4基于服务器的网络(Client/Server,简称C/S),这种类型中的网络中有一台或几台较大计算机集中进行共享数据库的管理和存取,称为服务器(Server),而将其他的应用处理工作分散到网络中其他计算机上去做,构成公布式的处理系统。服务器控制管理数据的能力已由文件管理方式上升为数据库管理方式,因此,C/S中的服务器也称为数据库服务器。客户端完成数据处理、数据表示、用户接口等功能;服务器端完成DBMS的核心功能。(1). C/S主要技术特征8l 按功能划分:服务器是服务的提供者,客户机是系统管理员; l 共享资源:一个服务器可以在同一时刻为多个客户机提供服务;l 在客户机一服务器之间存在一种多对一的主从关系;l 定位透明性;(2). 本文C/S结构2采用简单的两层C/S结构,如下图:图1 两层C/S结构1.3.4 ADO访问数据库 (1) ADO数据开发技术介绍3:ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。ADO的重要三大对象分别是:Connection Object(连接对象)、Command Object(命令对象)、RecordSet Object(记录集对象)。 (2). 本文采用ADO连接数据库的实现方法6本文把这些数据库操作方法封装在一个类中,这样可以方便使用。其中主要实现的步骤和代码如下: 1) 导入库文件7:在StdAfx.h头文件中加入此句子:#import c:program filescommon filessystemadomsado15.dll no_namespace rename(EOF, adoEOF)这句话意味使用msado15.dll动态连接库文件,里面就有ADO 。 2)新建一个类LRunSql ,在public下添加成员函数9:_ConnectionPtr m_database;/数据库,实例化一个Connection对象 _RecordsetPtr m_recordset;/记录,实例化一个Recordset对象 _CommandPtr pCommand;/命令,实例化一个Command对象InitConnectPtr();/初始化COM组件该函数代码如下:bool LRunSql:InitConnectPtr()/初始化COM组件:CoInitializeEx(NULL,COINIT_APARTMENTTHREADED);/初始化if(FAILED(m_database.CreateInstance(_uuidof(Connection)return false;if(ConnectDataBase()=false):Sleep(1000);if(ConnectDataBase()=false)MessageBox(NULL,数据库连接失败!,系统提示,MB_OK|MB_ICONSTOP);return false;return true;ConnectDataBase();/连接访问数据库该函数如下:bool LRunSql:ConnectDataBase()/连接访问数据库trym_database-Open(provider=SQLOLEDB.1;Password = ;persist security info = true;User ID = sa; Initial Catalog = ypgl;Data Source = .,-1);catch(.)/捕捉异常,因为ADO封装了COM接口,所以需要进行错误处理return false; return true;Close();/关闭连接bool LRunSql:Close()return (!FAILED(m_database-Close(); 1.4 系统可行性研究1.4.1 经济可行性该进销存管理系统作为本人的毕业设计,硬件设备只需一台连接到互联网的计算机,还有就是需要购买关于VC+开发工具、MFC开发及SQL Server 2000数据库方面的书籍来参考。1.4.2 技术可行性该进销存管理系统是一个可视化界面操作的,主要是链接数据库对基础信息模块、销售模块、入库模块、调货模块、库存模块、结账模块进行登记、查询、删除、更新;实现销售、销售退货、入库、入库退货、库存管理的功能。使用VC+ 6.0为开发平台,它的MFC编程可以实现系统的可视化同时它为我们提供了许多链接数据库的接口技术。1.4.3 操作可行性本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个药品管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。由此,该系统的操作是可行的,有必要开发该系统。综合经济、技术、操作三方面,该系统具有很高的开发可行性,因此,可以设计该系统的数据流程图,建立数据字典。2 系统需求分析2.1 用户的工作流程进货、销售、将药品调到其他仓库的时候,操作员要对销售单、进货单或者调货单进行核实登记;在进货、销售、调货的过程对药品的信息进行删除、增加;在一定时间内,为了清算药品在数量上有无短缺损耗和溢余,在质量上有无残次、损坏、变质等情况,操作员要根据进货单、销售单和库存单进行对药品的盘点;当用户要获得进货、销售、库存信息时,要对进货情况、销售情况、库存情况进行查询并打印。2.2 用户的业务需求(1)该管理系统将对药品的进货单和销售单进行录入登记;(2)该管理系统将根据用户的需要对进货、销售、库存情况进行查询、增加、删除、修改和打印;(3)该管理系统将为用户提供添加用户、删除用户、修改用户密码、权限;以便用户对账号进行管理。图2 药品进销存系统的功能结构图2.3系统数据流分析数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具。为了描述复杂的软件系统的信息流向和加工,可采用分层的DFD来描述,分层DFD有顶层,中间层、底层之分:(1)顶层:决定系统的范围,决定输入输出数据流,它说明系统的边界,把整个系统的功能抽象为一个加工,顶层DFD只有一张;(2)中间层:顶层之下是若干中间层,某一中间层既是它上一层加工的分解结果,又是下一层若干加工的抽象,即它又可进一步分解;(3)底层:若一张DFD的加工不能进一步分解,这张DFD就是底层的了。底层DFD的加工是由基本加工构成的,所谓基本加工是指不能再进行分解的加工。该进销存系统的各层数据流图如下所示:图3 顶层数据流图图4 药品进销存系统第0层数据流图图5 基本信息模块图6 销售模块图7 入库模块图8 调货模块图9 库存模块图10 结账模块图11 财务模块3 系统概要设计3.1 系统设计思想药品进销存系统分成8个模块:基础信息模块、销售模块、入库模块、调货模块、库存模块、结账模块、财务模块、系统管理模块;如图3-1所示,每一个模块中均有属于本模块的操作,各模块的功能分别实现如下:(1) 基础信息模块:提供药品、员工、供应商、客户四方面信息各种方式(如按编号、名称、地址等)的基本查询、修改、增加、删除和保存;(2) 销售模块:提供销售登记、销售查询的功能;当销售部把药品销售出去后,销售部门会将相应数据进行登记,该登记数据可在销售查询中查询获得;(3) 入库模块:提供入库登记、入库查询的功能;当采购部将供应商供应的药品进行采购后,相应的药品将被实施入库登记操作,该数据可在入库查询中被查询;该操作与销售模块的操作相似;(4) 调货模块:提供调货登记和调货查询功能;当其中某个仓库某种药品库存不足时,就要将药品凭借通过查实验收之后产生的单据调到指定的仓库,相应的数据操作员可以在调货查询中查询获得;(5) 库存模块:库存查询和仓库管理的功能;在库存查询中可以查到销售后的药品库存数量;仓库管理功能可以对仓库提供增加、修改、删除的功能;(6) 结账模块:提供销售结账的功能;当客户是否付清所有的金额时,操作者在销售查询提供的信息中“是否结清(-1/0)”处可以很明确的知道该信息:“-1”说明客户已经全部付清金额,“0”说明客户没有付清金额;操作者可以再次将收到的全部或者部分金额输入来再次获得客户“是否结清”的状态,保证账目的合理性;(7) 财务模块:提供日结、月结、供应商往来账、客户往来账四方面信息的查询的功能,在当中能够清晰明了的表明每一天、每一月销售的数量和金额总额,往来账的查询结果能让人一目了然的获得账目是否付清;如果公司有需要这些单据的话可以按“打印”按钮进行打印;(8) 系统管理模块:提供修改用户密码、修改用户 (有超级用户、标准用户、一般用户、管理员) 相应的权限、修改用户(对用户进行修改、删除、添加)。3.2 系统模块流程图3.2.1 系统总体流程图图12 系统总体流程图3.2.2 各个模块的流程图根据系统的设计思想,各个模块的按照其功能的设计的要求所得流程图如下:(1)基本信息模块流程图:该模块包含了药品、员工、供应商、客户四方面,四者的流程图类似,以下仅以当中一个药品信息流程图做代表:图13 药品信息流程图(2)销售模块流程图:该模块包含了销售登记、销售查询两方面,分别如下图所示: 图14 销售登记流程图图15 销售查询流程图(3)入库模块流程图和调货模块流程图:两个模块分别包含了入库登记、入库查询以及调货登记和调货查询,操作和销售模块一样,因此两模块中的两部分的流程图与图4-3和图4-4相同。(4)结账模块流程图:该模块包含销售结账,其流程图如下图所示:图16 销售结账流程图(5)库存模块流程图:该模块包含库存查询和仓库管理两方面,其中,库存查询操作与销售模块中销售查询操作一样,故其流程图省略;而仓库管理流程图如下图所示:图17 仓库管理流程图(6)财务模块流程图:该模块包日结、月结、供应商往来账、客户往来账四方面,其中,日结与月结操作一样,故仅用日结流程图做代表;而供应商往来账与客户往来账操作一样,故仅用供应商往来账流程图做代表:图18 财务日结流程图图19 供应商往来账流程图(7)系统管理模块流程图:该模块包括修改当前用户密码、修改用户两方面,它们的流程图分别如下: 图20 修改当前用户密码流程图图21 修改用户流程图4 系统详细设计4.1 数据库设计4.1.1 E-R图 系统E-R图为实体-联系图,下面是进销存系统的E-R图: 图22 系统流程图4.1.2 数据库表设计由数据模型利用SQL Server 2000进行数据库的详细设计,其主要的基本表的设计如下:(1) 员工信息表(tabyginfo表):此表保存了员工的信息。表1 员工表中文字段名英文字段名字段类型长度主键/外键字段值约束员工编号yg_idnvarchar50PNOT NULL员工姓名yg_namenvarchar50NOT NULL员工性别sexnvarchar50NOT NULL员工类别sortnvarchar50NULL聘用日期rqsmalldatetime4NOT NULL职务 positionnvarchar50NULL薪金salaryfloat8NULL备注memonvarchar50NULL(2) 药品信息表(tabyginfo表):此表保存了药品的信息。表2 药品表中文字段名英文字段名字段类型长度主键/外键字段值约束药品编号yg_idnvarchar50PNOT NULL药品名称yg_namenvarchar50NOT NULL药品简称yg_jcnvarchar50NOT NULL剂型Jixingnvarchar50NULL货位huoweinvarchar50NOT NULL产地 chandinvarchar50NULL规格guigenvarchar50NULL单位danweinvarchar50NOT NULL 商标shangbiaonvarchar50NOT NULL标准文号pizhunwenhaonvarchar50NOT NULL进价jinjiafloat8NOT NULL批发价pifajiafloat8NOT NULL零售价lingshoujiafloat8NULL批号pihaonvarchar50NOT NULL保质期baozhqinvarchar50NOT NULL货源huoyuannvarchar50NOT NULL备注beizhunvarchar50NOT NULL(3) 客户信息表(tabku表):此表保存了客户的信息。表3 客户表中文字段名英文字段名字段类型长度主键/外键字段值约束客户编号kehu_idnvarchar50PNULL客户名称jcnvarchar50NULL地址adressnvarchar50NULL所在地区areanvarchar50NULL邮编emailnvarchar50NULL电话 phonenvarchar50NULL传真faxnvarchar50NULL联系人linkmannvarchar50NULL 联系人电话Im_phonenvarchar50NULL银行banknvarchar50NULL账号acountsfloat50NULL纳税人taxpayerfloat50NULLE-mail emailnvarchar50NULL(4) 供应商信息表(tabgys表):此表保存了供应商的信息。表4 供应商表中文字段名英文字段名字段类型长度主键/外键字段值约束供应商编号gys_idnvarchar50PNOT NULL供应商名称gys_namenvarchar50NOT NULL简称jcnvarchar50NULL地址addressnvarchar50NULL所在地区areanvarchar50NULL邮编 mailnvarchar50NULL电话phonenvarchar50NULL传真faxnvarchar50NULL 联系人linkmannvarchar50NOT NULL联系人电话Im_phonenvarchar50NOT NULL银行banknvarchar50NOT NULL账号accountnvarchar50NULL纳税人taxpayernvarchar50NULLE-mailemailnvarchar50NULL(5) 销售登记表(tabxsdj表):此表保存了销售药品的有关信息。表5 销售登记表中文字段名英文字段名字段类型长度主键/外键字段值约束销售编号xs_phnvarchar50PNOT NULL药品yp_idnvarchar50NOT NULL仓库名称ck_namenvarchar50NULL数量slint4NULL单价djfloat8NULL金额 jefloat8NULL实收金额profitfloat8NULL(6) 入库登记表(tabrkdj表):此表保存了药品进货的有关信息。表6 入库登记表中文字段名英文字段名字段类型长度主键/外键字段值约束供应商编号 rk_phnvarchar50NOT NULL供应商名称yp_idnvarchar50NOT NULL药品编号ck_namenvarchar50PNULL数量slint8NULL进价djfloat8NULL金额 jefloat8NULL(7) 调货登记表(tabdhdj表):此表保存了药品调货的有关信息。表7 调货登记表中文字段名英文字段名字段类型长度主键/外键字段值约束调货票号 dh_phnvarchar20NOT NULL调出仓库out_cknvarchar10NOT NULL调入仓库in_cknvarchar10PNOT NULL药品编号yp_idnvarchar10NULL数量slint4NULL(8) 库存表(tabkc表):此表保存了药品库存的有关信息。表8 库存表中文字段名英文字段名字段类型长度主键/外键字段值约束药品编号 yp_idnvarchar50PNOT NULL药品名称yp_namenvarchar50NOT NULL仓库名称ck_namenvarchar50NOT NULL库存数量kc_numbernvarchar4NOT NULL(9) 仓库管理表(tabck表):此表保存了库存情况的有关信息。表9 仓库管理表中文字段名英文字段名字段类型长度主键/外键字段值约束仓库名称ck_namenvarchar50PNOT NULL仓库管理员ck_adminnvarchar50NOT NULL (10) 销售结账表(tabxsjz表),此表保存了销售时结清与未结清的有关信息。表10 销售结账表中文字段名英文字段名字段类型长度主键/外键字段值约束销售票号 xs_phnvarchar50PNOT NULL药品编号yp_idnvarchar50NOT NULL仓库名称ck_namenvarchar50NOT NULL数量slint4NOT NULL 金额jefloat8NOT NULL收款金额profitfloat8NOT NULL(11) 权限信息表(tabpurview表),此表保存了权限的有关信息。表12 权限信息表中文字段名英文字段名字段类型长度主键/外键字段值约束销售票号 admin_namenvarchar50PNOT NULL药品编号admin_passwordnvarchar50NOT NULL仓库名称admin_purviewint50NOT NULL4.2 类的设计程序中的类主要有:DlgLogin.h (登陆类)、DataYG.h(员工类)、DataYP.h(药品类) 、DataKH.h(客户类) 、DlgGYS.h(供应商类) 、DlgXSDJ.h(销售登记类) 、DlgDHDJ.h(调货登记类) 、DlgTheCK.h(仓库类) 、DlgXSJZ.h (销售结账类)。l DlgLogin.h (登陆类)主要是用于登陆系统的实现;它的主要成员变量是:m_ok、m_editUserName、m_editPassWord、m_sUserName、m_sPassWord、m_sPurview、m_iLogOnCount(该变量用于控制密码连续录入错误密码3次,系统将自动退出该界面),主要成员函数是:void OnOK()(响应登陆按钮)、OnCancel()(响应退出按钮)、OnInitDialog()、OnPaint();l DataYG.h(员工类)主要用于药品信息的查询、增加、删除、保存、修改的实现;它的 主要成员变量是:yg_id、yg_name、sex、sort、position、rq、salary、memo,主要成员函数是:CDataYG()、IsCurValueIn()、 InsertCurValue()、DeleteCurValue()、UpdateCurValue();l DataYP.h(药品类) 主要用于药品信息的查询、增加、删除、保存、修改的实现;它的主要成员变量是:yp_id、yp_name、yp_jc、jixing、huowei、chandi、guige、danwei、shangbiao、pizhunwenhao、jinjia、pifajia、lingshoujia、pihao、baozhiqi、huoyuan、beizhu;主要成员函数是:CDataYP()、CDataYP()、IsCurValueIn()、InsertCurValue()、DeleteCurValue()、UpdateCurValue();l DataKH.h(客户类) 主要用于客户信息的查询、增加、删除、保存、修改的实现;它的主要成员变量是:yp_id、yp_name、yp_jc、jixing、huowei、chandi、guige、danwe、shangbiao、pizhunwenhao、jinjia、pifajia、lingshoujia、pihao、baozhiqi、huoyuan、beizhu;主要成员函数是:CDataYP()、CDataYP()、IsCurValueIn()、InsertCurValue()、DeleteCurValue()、UpdateCurValue();l DlgGYS.h(供应商类) 主要用于供应商信息的查询、增加、删除、保存、修改的实现;它的主要成员变量是: OnOK()、OnInitDialog();l DlgXSDJ.h(销售登记类)主要是用于销售信息登记的实现;它的主要成员变量是:* m_plistXSDJ;主要成员函数是:OnInitDialog()、OnOK()、OnCancel()、OnButton1()、OnMove(int x, int y)、OnCreate(LPCREATESTRUCT lpCreateStruct)、OnButtonOk()、OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCTlpDrawItemStruct)、OnButtonPrint();l DlgDHDJ.h(调货登记类)主要是用于调货信息登记的实现;它的主要成员变量是: m_btnCancel、m_btnDel、m_btnOk、m_editBz、m_editPh、m_comboJsr、m_tcRq、m_tRq;它的主要成员函数是:OnOK()、OnInitDialog()、OnButtonDelete()、OnMove(int x, int y)、OnButtonOK()、OnCancel()、OnButtonPrint();l DlgTheCK.h(仓库类)主要用于仓库管理的实现;它的主要成员变量是:m_bAdd、m_strCkName、m_strCkAdmi;主要成员函数是:OnInitDialog()、OnOK();l DlgXSJZ.h (销售结账类)主要用于对未结清账目进行结账的实现;它的主要成员变量是:m_btnOk、m_editIsJq、m_editSy、m_tcRq、m_comboJsr、m_comboSkfs、m_editBz、m_editPh、m_editSkJe、m_editWs、m_editSs、m_editYs、m_editKhName、m_editKhId、m_editJsfs、m_editXsPh;主要成员函数是:OnOK()、OnInitDialog()、OnChangeEdit8()、OnButton1()、OnCancel();5 开发测试5.1 开发平台(1) 硬件平台l CPU:P4 1.8GHz;l 内存:256MB以上;l 彩显:17英寸高分辨率;l 显卡:64M以上的显卡;l 硬盘:40G IDE以上7200转; 软件l 操作系统:Windows XP;l 数据库:SQL Server 2000;l 开发工具:VC+ 6.0 + SQL Server 2000;5.2 测试分析经过调试,整个药品进销存系统能够正常运行,下面是运行测试结果的部分截图。进销存管理系统登录界面:图23 登陆开始界面在“用户名”文本框中选择“mr”,在“密码”文本框中输入“1”,单击【确定】按钮或连续两次按Enter键,即可进入如下图所示的进销存管理系统: (1) 单击【基础信息】/【药品信息】选项,进入到如下图所示的【药品信息】模块,通过药品信息模块可以添加、修改、删除药品信息,并且可以快速查询药品信息:图24 药品信息查询管理模块l 单击【增加】按钮,在“药品名称”文本框中填写相应的内容,然后按Enter键确认。在其他文本框填入相应的内容。单击【保存】按钮即添加成功。运行结果如下图所示:图25 药品信息增加管理模块l 选择要修改的药品名称双击进入“药品信息管理”界面,单击【修改】按钮,则可进行修改。修改后单击【保存】按钮,即修改药品信息完成。l 选择要删除的药品名称双击进入“药品信息管理” 界面,单击【删除】按钮,则可进行删除。在系统弹出的对话框进行确认后即完成删除操作。运行结果与“增加”图类似。备注:员工信息、供应商信息、客户信息的操作方法与“药品信息”的操作方法相同。 (2) 单击【销售模块】/【销售登记】项,进入到结果如下图所示的【销售登记】模块,通过销售登记模块可以删除、打印销售登记,并且可以快速查看销售登记:l 在“客户编号”后输入任意一个数据。将会弹出所有客户信息的选择框。选择任意一个客户信息。在“结算方式”及“经手人”下拉列表中选择相应的选项。单击“药品编号”字段下的单元格,会弹出如下图所示的下拉列表,从中选择相应的药品信息。(选择“数量”时必须用手动填写其数量。)图26 销售登记填写“数量”后系统将自动显示总金额,实收金额也会自动显示,但是实收金额可任意输入。最后单击【确定】按钮,即完成销售登记。l 销售登记删除,在下图所示的界面中,选择窗体下方列表中的“药品编号”或其他选项,然后单击【删除】按钮,即完成删除操作。l 销售登记打印,单击【打印】按钮,系统将自动进行打印,如图:图27 销售登记打印备注:入库模块的操作步骤与销售模块的操作步骤相同,操作截图略。(3) 在主界面中单击【调货模块】/【调货登记】项,进入到如下图所示.的【调货登记】模块,通过调货登记模块可以删除、打印调货登记内容,并且可以快速查看调货登记:l 调货登记删除该按钮主要删除当前界面的所显示的内容,选择要删除的内容单击【删除】按钮,即删除完成。l 调货登记确定该按钮主要是调货登记后进行保存。l 调货登记打印该按钮主要对所调货的内容进行打印输出。(4) 调货查询操作步骤与药品信息管理查询操作后所显示的界面基本相同,这里不做贴图。(5) 在主界面中单击【库存模块】/【库存查询】项,进入到如下图所示.的【库存查询】模块,通过库存查询模块可以快速查看库存内容:图28 库存查询单击【库存模块】/【仓库管理】项,进入到如下图所示的【仓库管理】模块,通过仓库管理模块可以实现增加、修改、删除等操作:图29 仓库管理l 单击【增加】按钮,弹出如下图所示的模块。在“仓库名称”的文本框内输入仓库名称,“仓库管理员”则可选择下拉按钮里的任意一个管理员。最后单击【确定】按钮即可添加成功:图30 增加仓库l 仓库的管理修改:选择要修改的管理员单击【修改】按钮,在下拉按钮选项中选择你所需要的管理员名称,然后进行确认。l 仓库的删除:选择要删除的管理员名称,单击【删除】按钮,即删除管理员。(6) 单击【结账模块】/【销售结账】选项,先进入销售信息查询界面选择要结账的销售信息然后才可进入如下图所示.的销售结账界面:图31 销售结账在“收款金额”填入“未收”的数字,然后在“收款方式”的下拉式按钮选择选择相应的选项,分别在“日期”和“经手人”下拉列表中选择相应的选项。最后单击【确定】按钮,即完成了销售结账操作。(7) 单击【财务模块】/【日结】选项,进入到如下图所示.的【日结】模块,通过日结模块可以打印日结内容,并且可以快速查看日结的内容:图32 日结备注:月结的操作与日结的操作一样。(8) 单击【财务模块】/【供应商往来账】选项,进入到如下图所示的【供应商往来账】模块,通过供应商往来账模块可以打印供应商往来账内容,并且可以快速查看供应商往来账的内容:图33 供应商往来账备注:客户往来账的操作与供应商往来的操作一样。(9) 单击【系统管理】/【修改当前用户密码】选项,弹出如下图示的界面,在“新密码”和“确认新密码”文本框内输入新密码,最后单击【确定】按钮即完成密码修改:图34 修改当前用户密码单击【系统管理】/【修改用户权限】弹出如下图所示的界面,该界面主要修改用户使用的权限:图35 修改用户权限l 单击【添加】按钮,系统自动弹出如图1.21所示的界面,在“用户名”、“密码”和“确认密码”的文本框内输入用户名及密码,在“权限”下拉列表中选择权限,最后单击【确定】按钮即修改成功: 图37 修改当前用户密码l 单击列表中要删除的用户信息,然后单击【删除】按钮即删除成功。6 总结本论文围绕采用Visual C+和Microsoft SQL Server 2000为开发工具对进销存管理系统的设计和实现,介绍了MFC编程和ADO连接数据库的技术知识,分析和描述整个设计要实现的功能模块框架,构建数据设计逻辑。为了更好地完成本次设计,我复习了设计模式的相关知识、软件系统开发的相关知识以及使用Microsoft Visio绘图。我在当中还发现,要做好一个设计的同时,一定要先做好规划,按照软件的开发过程,详细地写好每一个必要的文档,软件文档的最主要目标是传达一个系统的技术要素和使用方法;其次,它提供软件开发过程中的需求,决策,行为,角色和责任的书面记录。在编写和维护程序的同时形成文档,在书写文档时编写、维护程序。程序与文档合一的概念不仅存在于系统的设计、开发阶段而且存在于系统的维护阶段,它贯穿软件的生命周期。虽然很多都是以前学过的知识,但是老师的指导、同学的帮助是自己的努力之余最重要的力量,这样我才能重新回忆和复习更多的相关知识。该系统还不完善,有待在实践中得到改善。参 考 文 献1 王正军. Visual C+ 6.0程序设计从入门到精通 M. 北京:人民邮电出版社,2006.12 姚领田、高守传. MFC窗口程序设计 M.北京:中国水利水电出版社,2007.53 姚领田. 精通MFC程序设计 M.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高空作业施工安全知识培训课件
- 北京实操仿真考试题库及答案
- Umbralisib-hydrochloride-Standard-生命科学试剂-MCE
- 北京安全c证考试试题及答案
- 北大计算能力考试题库及答案
- 山东编导考试题目及答案
- 街道社工考试题及答案
- 高校消防知识培训课件
- 保安员考试00题题库及答案
- 蚌埠二中考试试卷真题及答案
- 基坑监测评审汇报
- 物业公司电瓶车管理制度
- GB/T 45875-2025精细陶瓷自然烧结条件下陶瓷粉体致密性的测定
- 肺占位性病变护理查房
- 中药足浴课件
- 新解读《水文资料整编规范 SL-T 247-2020》解读
- 广告创意与用户体验-第3篇-洞察阐释
- 家庭适老化改造案例研究及经验分享
- 幼儿园一日常规安全培训
- 5G基带芯片算法验证平台:从设计到实现的关键技术与实践
- 中邮理财招聘笔试题库2025
评论
0/150
提交评论