信息系统分析与设计课程设计仓储药房管理系统_第1页
信息系统分析与设计课程设计仓储药房管理系统_第2页
信息系统分析与设计课程设计仓储药房管理系统_第3页
信息系统分析与设计课程设计仓储药房管理系统_第4页
信息系统分析与设计课程设计仓储药房管理系统_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息系统分析与设计课程设计仓储药房管理系统信息科学与技术学院信息系统分析与设计课程设计课题名称:仓储药房管理系统学院:专业年级:指导教师:完成日期:-63-仓储药房管理系统指导教师:康娟[摘要]各种原因造成药品上的差错不能及时发现和纠正,管理中的混乱现象也就不可避免。大型药房药品数量繁多,采购和发放的帐目登记是一件很繁琐的事情而且药品的价格经常调整,退货现象时有发生,使账目工作更加复杂,呈报准确库存资金和汇总某一期资金流动情况,其统计工作更是十分困难。为了解决这个矛盾,实现科学化、现代化的医院药房管理,就必须设计开发药房管理信息系统,并用于实践。由于我国近年来医药改革力度不断加大,药品流通逐渐放开,医药流通格局也产生了巨大的变化,医药连锁经营模式逐渐形成与发展。但由于我国医药流通体制改革相对滞后,医药连锁经营仍处于起步阶段。销售工作混乱、没有统一规范化、信息的存储和反馈滞后、人员管理无序等问题导致医药行业工作效率低下。在当前行业竞争日趋激烈的市场环境下,必须运用信息技术和现代管理思想,提高医药行业的管理水平、工作效率,降低运营成本,提升经济效益,最终提高医药企业的核心竞争力。关键词:账目登记,要价调整,统计,药房管理信息系统目录第一章任务书 31.1题目 31.2设计时间 31.3其他相关内容 31.4设计资料 31.5工作内容 41.5.4系统测试 41.6设计成果 5第二章系统开发可行性分析 52.1技术可行性 62.2经济可行性 62.3操作可行性 6第三章开发运行环境 73.1系统开发和运行环境 73.1.1系统开发环境 73.1.2系统运行环境 73.2开发工具介绍 73.2.1delphi7 73.2.2SQL2008 7第四章需求分析 94.1引言 94.1.1编写目的 94.1.2研究背景 94.2药房管理的流程 114.3任务概述 114.3.1用户特点 114.3.2系统目标 114.4需求规定 124.4.1对系统的其它需求规定 124.4.2系统需求UML用例图 12第五章数据库分析与设计 145.1编写目的 145.2系统数据表及其用途 145.3概念设计 145.3.1系统实体关系图 155.4数据库设计 15第六章系统设计 176.1模块分析 176.2系统的流程 186.2.1用户登录系统类图 20第七章系统实现 217.1系统环境的安装与配置 217.2系统主窗口实现 227.2.1系统主窗口界面实现 227.2.2系统主窗口功能实现 25第八章测试报告 348.1测试背景 348.2测试目的 348.3测试方法 35第九章系统的特点与难点 379.1系统特点 379.2系统难点 37第十章结论 3810.1参考文献 38第一章任务书1.1题目仓储药房管理系统的设计与实现1.2设计时间(1)第1天搜集、整理、分析相关文献、资料(2)第2天对用户进行需求分析(3)第3天系统功能模块分析及其划分(4)第4天数据库设计(5)第5天系统设计及其编程实现(6)第6天系统运行调试、修改并撰写文档(7)第7天准备答辩总计7天1.3其他相关内容项目提出者:石河子大学信息科学与技术学院指导老师:康娟老师开发人员:信息科学与技术学院信管11级杜小燕(2011508076)软件用户:药房操作人员、管理人员1.4设计资料1-操作手册(GB8567——88)2-测试分析报告(GB8567——88)3-测试计划(GB8567——88)4-概要设计说明书(GB8567——88)5-开发进度月报(GB8567——88)6-可行性研究报告(GB8567——88)7-模块开发卷宗(GB8567——88)8-软件需求说明书(GB856T——88)9-数据库设计说明书(GB8567——88)10-数据要求说明书(GB856T——88)11-文件给制实施规定的实例(GB8567-88)12-详细设计说明书(GB8567——88)13-项目开发计划(GB856T——88)14-项目开发总结报告(GB8567——88)15-用户手册(GB8567——88)1.5工作内容系统可行性分析和需求分析分析系统的可行性,说明该软件开发项目的实现在技术上、经济上和操作上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。并且对系统需求做出较为全面的规定;给出系统的约束条件以及某些数据格式。对所开发软件的功能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。系统数据库设计该部分内容对数据库做出定义,依照数据库设计的规范步骤进行设计数据库,使数据库达到规范化要求,用来指导下一阶段的系统设计工作。系统总体设计与详细设计该部分内容是概要实际阶段的工作成果,它应进行系统功能分配、模块划分、系统框架构建、运行设计等,为详细设计提供基础。详细设计着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。照已经分析出的系统模块进行编码设计,生成药房管理系统的源代码。1.5.4系统测试为了更好的对本软件的正确性做出客观公正的评价,进一步的对本软件进行验证,给用户一个满意的软件,让用户更好的使用本软件,从而提高用户的工作效率。为此,我们要制定一个测试计划并对已完成系统进行测试。测试计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。1.6设计成果以delphi的方式显示出来界面。系统源程序一份详见文档。系统开发文档一套《石河子大学信息科学与技术学院2011课程设计》第二章系统开发可行性分析分析系统的可行性,说明该软件开发项目的实现在技术上、经济上和操作上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。2.1技术可行性技术可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。本课题是以delphi作为开发工具,所使用的数据库是SQL2008。Delphi拥有一个可视化的(),采用的ObjectPascal和基于部件的开发结构框架。Delphi它提供了500多个可供使用的,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。2.2经济可行性本课题开发所涉及的操作平台、开发工具基本都是免费使用的,而且如今的市场情况是:其他都在涨价,就电子类产品在降价。而且我们可以免费参阅图书馆的书籍、期刊,免费下载相关文献资料,所以在经济上不存在很大的负担。2.3操作可行性由于本系统是以药房的管理为目标,在整个系统的使用过程中,需要用户输入信息,只是一些简单的登录,操作简单,人机交互界面友好,系统具有较强的亲和性和易用性,用户只需要阅读用户手册,即可熟练掌握本系统的使用。因此从操作可行性方面来说,本系统也是完全可行的。第三章开发运行环境3.1系统开发和运行环境3.1.1系统开发环境操作系统:Windows7旗舰版数据库:SQL2008集成开发环境:delphi7设计工具:delphi7 辅助工具:SQL2008数据库客户端3.1.2系统运行环境Windows3.2开发工具介绍系统使用的开发工具有:Delphi7、SQL20083.2.1delphi7Delphi提供了各种开发工具,包括集成环境、(ImageEditor),以及各种开发的,如DesktopDataBaseExpert等。除此之外,还允许用户挂接其它的开发工具,如Borland公司的资源(ResourseWorkshop)。在Delphi众多的优势当中,它在方面的特长显得尤为突出:适应于多种数据库结构,从客户机/服务机模式到多层模式;高的和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。3.2.2SQL2008SQLServer2008出现在数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。这个平台有以下特点:·可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。·高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。·智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息以往的组件是以独立发行的方式设计,然而这一方法的问题是,每一个程序模板都包含处理所有任务的自身代码。使用数据库就完全解决这些模板的冗余性。数据库将每一程序模块集成为一个相互关联的单元。每一个程序模块使用类似的设计模式,比如共享调配和配置规范。数据库包括以下七个程序模块:缓存(Caching):允许开发人员在程序中合并一个本地缓存器。配置(Configuration):允许程序读入和编写配置信息。加密(Cryptography):允许开发人员在程序中使用加密技术和信号功能。数据访问(DataAccess):允许开发人员在程序中使用标准的数据库功能。异常处理(ExceptionHanding):允许开发人员和规范制定者建立一套用于处理异常的统一策略。日志和规范应用程序(LoggingandInstrumentation):允许开发人员在程序中加入日志和规范应用程序。安全性(Security):允许开发人员在程序中包括安全性功能。程序可以在不同的情况下使用到安全性,比如鉴别和批准用户访问数据库,获得任务信息,以及缓存用户信息。数据库能够下载并自动安装在机器中,由此,通过点击一次鼠标,就可以安装和编译整个企业库。安装之后,企业库将包括所有类库组件,并包含清楚演示每一程序模块功能的QuickStart。通过QuickStart,你可以很容易地弄清楚每一模块的位置及使用方法。除此之外,每一程序块都在性能计数、事件日志以及WMI(WindowsManagementInstrumentation)应用到规范应用程序,所以你可以很容易地监视每一应用程序,包括诊断所有可能出现的问题。数据库为.NET框架提供了一套功能强大的附加工具。这些设计优秀和通过测试的程序模块都可以用于提高和加强当前或未来的程序。用户可以很容易地执行日志和缓存,简化数据库连接以及异常管理。第四章需求分析4.1引言药房管理信息系统是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是信息管理活动的全过程,以便有效的管理信息,提供各类管理决策信息,辅助医院进行现代化管理。药房管理信息系统它具备数据处理、计划、控制、预测和辅助决策功能,具体作用如下5点内容:(1)用统一标准处理和提供药品信息,排除使用前后矛盾的不完整的数据。(2)完整、及时提供在管理及决策中需要的数据。(3)利用指定的数据关系分析数据,客观预测未来。(4)不仅要对药品的信息进行管理还要明确用户的信息。(5)用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高医院的经济效益。4.1.1编写目的本软件需求说明旨在分析、确定本系统的任务,以及明确系统在功能、性能、操作使用上、运行环境、与外界的数据接口、输入/输出等各相关方面的要求,用来给本系统的开发人员和用户阅读,同时也作为开发过程中的开发标准,当双方确认之后,以供开发参考。预期读者是系统设计人员、数据库设计人员。4.1.2研究背景国内现状国内的很多药店都在打价格战,特别是临近的药店,同样的产品你卖1元,我就卖9毛。打来打去,各家药店的利润都在下滑。但最终的结果和大家预想的却正好相反,没有几家药店倒下去了,反而有更多的药店不断开张营业。“价格战打不下去了,大家都在考虑其他方式,而品类管理是从去年开始很多药店都在着手做的重要工作。北京京隆堂有限公司副总经理张令慧说。“我们公司去年已经开始进行品类管理的工作,预计今年上半年就能完成。”北京金象大药房医药连锁有限公司总经理张峥嵘说。从去年开始,张峥嵘专门开始负责药店品类管理。而产品筛选工作就是第一步要解决的问题。通过筛选工作,金象会在过去经营的七八千个品种中,筛选出2000个品种。“过去同质化的品种太多,这样不但造成运输和库存等费用的增多,而且也占用了相当一笔资金。通过筛选,能够将资金更合理的运用起来。”张峥嵘说。产品筛选只是品类管理中的一部分工作,最重要的仍然是提高毛利。通过品类管理,今后药店经营的品种将会产生分化。“去年,我们连锁药店的平均毛利只有18%左右,可是在和一家平价药店领导聊天后才知道,人家的毛利达到了40%以上。今年我们也开始对药店内的产品进行重新筛选。“国内某连锁药店的经理说,“而筛选的目标,就是将扣率在五六十以上的非品牌产品撤出去。用品牌药和扣率低的非品牌药搭配进行销售。”这里所说的扣率,是指在政府部门定的药品批发价基础上的折扣率。“举个简单的例子,假设我们的非品牌药都能保证3折拿货的话,如果这些非品牌药的销售额能够占到药店总销售的一半,即使卖的品牌药一分钱也不赚,两类药品一折合,我们的毛利仍然能够达到30%以上。”该经理说。据了解,通过培训药店自己的推销人员进行产品推广,一些药店非品牌药的销售量甚至能够超过品牌药的销量。据黑龙江省乌苏里江制药的一位销售人员介绍,从去年开始,公司已经将北京负责药店的销售人员撤出。“我们产品的扣率在6折以上,药店不进货,最后没有办法,只能放弃这块市场。”该人士介绍。据了解,在开拓药店终端受挫的还不止这一家药厂,在药店实行品类管理过程中,一些扣率较高的非品牌药生产企业,都遇到了不少的困难。“从药店经营角度考虑,选择产品一方面是能给药店带来巨大客流,另一方面就是能够给药店带来巨大利润。这是药店利润最大化的两个保证。因此,价格不占优势又没有品牌的产品确实要考虑未来的生存问题了。”曾负责海王星辰连锁药店品类管理工作的优识营销管理和信息技术有限公司首席执行官孔雷说。“从目前国外药店的经营思路来看,品牌产品、贴牌产品是盈利的主要来源。这也是国内药品零售企业未来的发展趋势。”广东时普医药信息有限公司总经理任光会说。因为销售量有限,目前国内只有少部分大型医药零售企业具备贴牌的能力。所以,发展低扣率的非品牌药品可能是目前代替贴牌的主要方法。经营低扣率的产品对于需要现金流和生产企业和中小经销商来说未尝不是一件好事。因为扣率低,会要求零售企业直接支付货款,更有利于企业的周转。国外现状发达国家医院信息系统的开发实现已有三十多年的历史,至今有了长足的进步。美国是全世界医卫信息系统研发、应用的领跑者,有许多举世公认的成功的系统在医院有效地运转着,像盐湖城LDS医院的HELP系统,麻省总医院的COSTAR系统,退伍军人管理局的DHCP系统。欧洲的HIS(HospitalInformationSystem)发展比美国稍晚,大多数是70年代中期和80年代开始。欧洲HIS的特点是实现了一些区域信息系统。如丹麦的RedSystem,管理76所医院和诊所。法国第八医疗保健中心实现了能管理三所大医院和三所医药学院的一体化信息系统一GrenobelIntegratedHIS。随着初级卫生保健工作的发展,欧洲各国区域性医院计算机网络将实现。目前欧共体的SHINE工程<StrategicHealthInformaticsNetworkofEurope>已经开始,英法意德许多公司都参与了此项工程。在分布式数据库系统和开放网工程方面已做了大量工作。4.2药房管理的流程药房管理系统是负责对药品信息、价格调整、进库与出库的管理,其中也涉及对系统使用者的角色权限的设置,其中只有对药品的提取是操作人员可以使用的功能,其余皆是由管理员来操作的,系统分登录、退出、用户信息的维护、药品的增删改查、操作人员的增删改查等模块,在系统编码中设置药品数量的下限,到一定数量时,会在主页上对管理人员有一个提示,可以让管理人员来判断是否来引进该类药品,同样的药品使用期限也是如此来向管理人员提示的。4.3任务概述4.3.1用户特点本系统涉及到的用户包括药物使用用户,一些最基本的病人等,这些用户的特点表现为:其对智能通讯设备的操作能力不强,而且对于高科技的电子产品缺少一定的专业知识。如何来提高系统的亲和性和易用性是一个比较关键的问题。4.3.2系统目标在实际的操作中,在这个系统中,可以很好的使用,对于曾经手工得工作,可以运用电脑,运用这个系统可以快速、准确的查询、买卖。要求系统运行稳定,操作界面友好。4.4需求规定4.4.1对系统的其它需求规定要求系统易于功能扩展,有友好的用户操作和交互界面,有友好的信息提示。4.4.2系统需求UML用例图基于系统以上的需求分析,得出以下系统用例图:修改药品信息修改药品信息删除药品删除药品 查找药品查找药品添加药品添加药品登录登录修改密码修改密码退出退出提取药品提取药品 添加操作人员管理员 操作员添加操作人员删除操作人员删除操作人员查找操作人员查找操作人员图4-1系统需求用例图医院的医疗水平和服务质量一直是社会关注的焦点,仅靠增加基础设施投入和脱离信息化的管理方法的改进,是不能从根本上提高医院的工作效率、服务质量和管理水平的。HIS的目的就是减轻业务劳动强度,减少了差错,科学管理药品,节省人力,提高医院的财、物管理水平,增加经济效益,改善患者的就医环境,方便患者就医和查询,提高医院的服务效率和服务质量,提高医院的医疗质量和管理水平。所以,一个现代化的适应社会发展需要的医院,除了具备一流的医疗队伍、一流的服务设施之外,还应具备一流的管理信息系统。第五章数据库分析与设计5.1编写目的数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,是管理信息系统的一个核心部分。为了便于程序与数据库的连接以及对数据库的管理维护,特编写本章,意在作为编程人员的参考以及数据库管理员维护数据的参考。5.2系统数据表及其用途表5-1系统数据及其用途表数据表名称数据表用途购物记录用于存储购物的信息库存数据用于存储库存数据系统用户用于存储系统用户信息药品销售用于存储药品销售的信息药品信息用于存储药品的信息5.3概念设计概念设计是对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中信息的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。结算日期客户名种类进价售价5.3.1系统实体关系图结算日期客户名种类进价售价编号厂家名称权限Id口令编号厂家名称权限Id口令IdId产生管理购物信息系统用户产生管理购物信息系统用户药品信息药品信息结算结算存储整理存储整理结算结算结算结算结算结算销售信息销售信息库存数据库存数据药编号编号日期药编号编号日期单价数量编号库存下限单价数量编号库存下限图5-1系统ER图5.4数据库设计根据实际需要,将部分数据表详细字段设计描述如下:购物记录表详细字段如下:表5-2购物记录表字段名说明类型编号类型编号Char(12)客户名类型名称Char(15)日期类型日期Datetime结算类型结算Tinyint库存数据表详细字段如下:表5-3库存数据表字段名说明类型编号类型编号Char(6)库存库存smallint)下限下限Smallint系统用户表详细字段如下:表5-4系统用户表字段名说明类型id系统用户idInt编号系统用户编号char(5)口令系统用户口令Char(6)权限系统用户权限Tinyint药品销售表详细字段如下:表5-5药品销售表字段名说明类型编号药品销售编号Nchar(12) 日期药品销售日期Datetime药编号药品销售药编号Char(6)数量药品数量销售Smallint单价药品销售单价Decimal药品信息表详细字段如下:表5-6药品信息表字段名说明类型id药品信息idint编号药品信息编号char(6)名称药品信息名称char(50)售价药品信息售价Decimal(10,4)进价药品信息进价Decimal(10,4)种类药品信息种类Tinyint厂家药品信息厂家Char(60)第六章系统设计本章主要介绍系统的模块划分、总体设计及详细设计。此系统主要包括“购物记录”、“库存数据”、“系统用户”、“药品销售”、“药品信息”。6.1模块分析根据前面的需求分析,可以将系统功能模块图描述如下:药房管理系统药房管理系统药品信息销售信息库存数据药品信息销售信息库存数据购物记录系统用户购物记录系统用户口令售价名称口令售价名称厂家种类进价单价数量药编号编号下限库存编号结算日期客户名编号权限Id日期厂家种类进价单价数量药编号编号下限库存编号结算日期客户名编号权限Id日期Id图6-1系统功能模块图下面逐个对各个功能模块进行分析。1系统用户模块分析此模块主要是操作人员,进入这个系统的口令,权限的限制。2.购物记录模块分析此模块主要负责记录购买药物的信息,药物的编号,谁买的药,日期和结算的记录,方便查询。3库存数据模块分析此模块主要负责记录仓库中药物的记录,库存的下限,有多少库存可以支出,它们的编号是多少,方便查询,以方便去提前充盈库存。4销售信息模块分析此模块主要负责记录销售出去的药物的信息,编号、时间、数量,单价等一些信息,方便核查。5药品信息模块分析此功能模块主要记录购入的药物的信息,以多少钱购入,以多少钱出售的价钱,编号,供应商等一些信息。6.2系统的流程系统系统检查药品信息检查药品信息是否有药品过期或库存不足是否有药品过期或库存不足保存药品信息保存药品信息搜索药品搜索药品修改药品信息修改药品信息是否删除或进货是否删除或进货提取药品提取药品药品信息更新药品信息更新图6-2仓储药房管理系统流程图在系统启动时,系统本身先要检索药品信息,判断是否有需要更新的信息,如果有,就要对管理员进行提示,在系统设计时就要对药品的数量和有效期进行下限的设定,这样就可以提供一个标准来对药房的药品进行及时的维护。由管理人员来判断是否需要进货或者对该种药品进行清空。而操作人员只能对进行药品的提取设定。

图6-2仓储药房管理流程图用户进入系统时,需要通过帐号和密码来进行身份验证,判断该用户登录是否合法,如果存在此用户进入管理员管理界面,根据管理员执行的操作来判断执行的程序,如果要添加药品,需要输入药品的必要信息看是否符合存档要求,系统进行判断是否添加成功。如果是删除药品信息,需要输入要删除药品的名称,系统事后会给出删除信息。如果要查看药品信息需要进行搜索,可以根据药品的特性来进行模糊查找。然后用户可以选择退出该系统或继续操作。6.2.1用户登录系统类图图5-3用户登录系统类图用户登录的类图,从图中可以看出用户登录时会使用到登录类来进行数据连接。从数据库中查找登录用户是否存在。第七章系统实现7.1系统环境的安装与配置Delphi7:压缩包,根据提示,一步一步完成安装。Sql2008:SQLServer2008除了继承了SQLServer2005数据库的优点外,还持续在性能、可靠性、可用性、可编程性和易使用性各方面做了改进,使得它适合于大型在线事务处理(OLTP)、数据存储和电子商务应用程序的使用。SQLServer2008版本介绍针对不同的目标市场推出四种版本:Express、Workgroup、Standard(标准版)与Enterprise(企业版)。本次开发使用的是Express版。Express是一个免费、易用且便于管理的数据库。SQLServerExpress与MicrosoftVisualStudio2008集成在一起,可以轻松开发功能丰富、存储安全、可快速部署的数据驱动应用程序。SQLServerExpress是免费的,可以再分发(受制于协议),还可以起到客户端数据库以及基本服务器数据库的作用。SQLServerExpress是低端ISV、低端服务器用户、创建Web应用程序的非专业开发人员以及创建客户端应用程序的编程爱好者的理想选择。(1)若要开始安装,请双击sqlexpr.exe。(2)在“最终用户许可协议”页上,阅读许可协议,再选中“我接受许可条款和条件”复选框。单击“下一步”。(3)将出现“欢迎使用MicrosoftSQLServer安装向导”页。单击“下一步”。(4)在“系统配置检查”页上,会扫描计算机以查看有无潜在的安装问题。若要中断扫描,请单击“停止”。若要在扫描完成后继续进行安装,请单击“继续”。(5)在“注册信息”页上的“姓名”和“公司”文本框中,输入相应的信息。单击“下一步”。(6)在“功能选择”页上,选择要安装的程序功能,再单击“下一步”。(7)在“实例名”页上,选择用于安装的“默认实例”或“命名实例”。如果选择“默认实例”,则会升级现有的默认实例。如果选择“命名实例”,则指定一个实例名或使用SQLExpress的默认命名实例。单击“下一步”。(8)在“身份验证模式”页上,指定连接到SQLServer实例时使用的安全模式。输入并确认强sa登录密码。单击“下一步”。(9)在“错误和使用情况报告设置”页上,选择是否打开SQLServer及其组件的错误报告和使用情况报告。默认情况下,将打开错误报告。若要关闭错误报告,请清除复选框。单击“下一步”。(10)在“准备安装”页上,单击“安装”以完成安装SQLServer。(11)完成安装。7.2系统主窗口实现7.2.1系统主窗口界面实现图7-1系统主界面代码:procedureTmainForm.FormCreate(Sender:TObject);begincasestrtoint(DM_form.qx)of1:beginN11.Visible:=false;N21.Visible:=false;N22.Visible:=false;N33.Visible:=false;N34.Visible:=false;N35.Visible:=false;N36.Visible:=false;end;2:beginN11.Visible:=false;N21.Visible:=false;N22.Visible:=false;N31.Visible:=false;N32.Visible:=false;N34.Visible:=false;N35.Visible:=false;N36.Visible:=false;end;3:beginN11.Visible:=false;N21.Visible:=false;N22.Visible:=false;N31.Visible:=false;N32.Visible:=false;N33.Visible:=false;N35.Visible:=false;N36.Visible:=false;end;4:beginN11.Visible:=false;N21.Visible:=false;N22.Visible:=false;N31.Visible:=false;N32.Visible:=false;N34.Visible:=false;N33.Visible:=false;end;end;end;图7-2系统登录代码:procedureTlogin_Form.Button1Click(Sender:TObject);——实现用户登录功能varyhm,mm,sqlstr:string;beginyhm:=trim(yhm_LEdit.Text);mm:=trim(mm_LEdit.Text);sqlstr:='select*from系统用户where(编号='''+yhm+''')and(口令='''+mm+''')';if(length(yhm)>0)or(length(mm)>0)thenbeginwithTQuery.Create(nil)dotryClose;SessionName:=DM_form.Database1.SessionName;DatabaseName:=DM_form.Database1.DatabaseName;SQL.Clear;SQL.Add(sqlstr);Open;ifRecordCount>0thenbeginDM_form.yhm:=fieldbyname('编号').AsString;DM_form.qx:=fieldbyname('权限').AsString;loginok:=true;endelsebeginloginok:=false;showmessage('请确认登录的用户名和密码是否正确!');yhm_ledit.SelectAll;end;finallyFree;end;Close;endelsebeginshowmessage('请输入登录用户名和密码!');yhm_ledit.SelectAll;end;end;7.2.2系统主窗口功能实现图7-3用户管理代码:procedureTusergl_Form.newll;————实现数据的刷新功能beginQuery1.Close;Query1.SQL.Clear;Query1.SQL.Add('select*from系统用户');Query1.Open;ifQuery1.RecordCount>0thenbegincmdmodi.Enabled:=true;cmddel.Enabled:=true;cmdadd.Enabled:=true;endelsebegincmdmodi.Enabled:=false;cmddel.Enabled:=false;cmdadd.Enabled:=true;end;end;procedureTusergl_Form.cmdmodiClick(Sender:TObject);——实现系统用户添加功能varid,yhm,qx,mm,sqlstr:string;beginyhm:=trim(yhm_LEdit.Text);iflength(yhm)<1thenbeginShowMessage('系统用户名不能为空');exit;end;mm:=trim(mm_LEdit.Text);iflength(mm)<1thenbeginShowMessage('系统用户的密码不能为空');exit;end;qx:=inttostr(qx_CBox.ItemIndex);id:=Query1.fieldbyname('id').AsString;sqlstr:='select*from系统用户where(编号='''+yhm+''')and(id<>'''+id+''')';withTQuery.Create(nil)dobegintryClose;SessionName:=DM_form.Database1.SessionName;DatabaseName:=DM_form.Database1.DatabaseName;SQL.Clear;SQL.Add(sqlstr);Open;ifRecordCount>0thenbeginShowMessage('修改的系统用户名有重复,请重新输入!');exit;endelsebeginsqlstr:='update系统用户set编号='''+yhm+''',口令='''+mm;sqlstr:=sqlstr+''',权限='''+qx+'''where(id='''+id+''')';Close;SQL.Clear;SQL.Add(sqlstr);ExecSQL;end;finallyFree;end;ShowMessage('成功修改系统用户!');newll;end;end;procedureTusergl_Form.cmdaddClick(Sender:TObject);——实现系统用户修改功能varid,yhm,qx,mm,sqlstr:string;beginyhm:=trim(yhm_LEdit.Text);iflength(yhm)<1thenbeginShowMessage('系统用户名不能为空');exit;end;mm:=trim(mm_LEdit.Text);iflength(mm)<1thenbeginShowMessage('系统用户的密码不能为空');exit;end;qx:=inttostr(qx_CBox.ItemIndex);id:=Query1.fieldbyname('id').AsString;sqlstr:='select*from系统用户where(编号='''+yhm+''')';withTQuery.Create(nil)dobegintryClose;SessionName:=DM_form.Database1.SessionName;DatabaseName:=DM_form.Database1.DatabaseName;SQL.Clear;SQL.Add(sqlstr);Open;ifRecordCount>0thenbeginShowMessage('添加的系统用户名有重复,请重新输入!');exit;endelsebeginsqlstr:='insertinto系统用户(编号,口令,权限)values('''+yhm+''','''+mm+''','''+qx+''')';Close;SQL.Clear;SQL.Add(sqlstr);ExecSQL;end;finallyFree;end;ShowMessage('成功添加系统用户!');newll;end;end;procedureTusergl_Form.cmddelClick(Sender:TObject);——实现系统用户删除功能varname,id:string;begintryname:=Query1.fieldbyname('name').AsString;ifMessageDlg('确认要删除选中的系统用户吗?',mtConfirmation,[mbYes,mbNo],0)=mrYesthenbeginid:=Query1.fieldbyname('id').AsString;withtquery.Create(nil)dobegintryClose;DatabaseName:=DM_form.Database1.DatabaseName;SessionName:=DM_form.Database1.SessionName;SQL.Clear;SQL.Add('deletefrom系统用户whereid='''+id+'''');ExecSQL;finallyFree;end;end;ShowMessage('成功删除系统用户');newll;end;exceptend;end;图7-4药品信息管理代码:procedureTypgl_Form.cmdokClick(Sender:TObject);——实现数据检索功能varmc,sqlstr:string;beginmc:=trim(ypmc_LEdit.Text);iflength(mc)<1thenbeginsqlstr:='select*from药品信息orderby编号';endelsebeginmc:='%'+mc+'%';sqlstr:='select*from药品信息where(名称like'''+mc+''')orderby编号';end;Query1.Close;Query1.SQL.Clear;Query1.SQL.Add(sqlstr);Query1.Open;ifQuery1.RecordCount>0thenbegincmdmodi.Enabled:=true;cmddel.Enabled:=true;cmdadd.Enabled:=true;endelsebegincmdmodi.Enabled:=false;cmddel.Enabled:=false;cmdadd.Enabled:=true;end;bh_LEdit.Clear;mc_LEdit.Clear;sj_LEdit.Clear;jj_LEdit.Clear;cj_LEdit.Clear;end;图7-5药品库存管理代码:procedureTypkcgl_Form.cmdokClick(Sender:TObject);——实现数据检索功能varmc,sqlstr:string;beginmc:=trim(ypmc_LEdit.Text);iflength(mc)<1thenbeginsqlstr:='selecta.编号,a.名称,isnull(b.库存,0)as库存,isnull(b.下限,0)as下限from药品信息aleftouterjoin库存数据bona.编号=b.编号orderbya.编号';endelsebeginmc:='%'+mc+'%';sqlstr:='selecta.编号,a.名称,isnull(b.库存,0)as库存,isnull(b.下限,0)as下限from药品信息aleftouterjoin库存数据bon(a.编号=b.编号)where(a.名称like'''+mc+''')orderbya.编号';end;Query1.Close;Query1.SQL.Clear;Query1.SQL.Add(sqlstr);Query1.Open;ifQuery1.RecordCount>0thenbegincmdmodi.Enabled:=true;cmddel.Enabled:=true;cmdadd.Enabled:=true;endelsebegincmdmodi.Enabled:=false;cmddel.Enabled:=false;cmdadd.Enabled:=true;end;kc_LEdit.Clear;xx_LEdit.Clear;end;图7-6药品销售管理代码:procedureTxsgl_Form.gwc_CBoxChange(Sender:TObject);———实现窗口初始化vari:integer;bh,sqlstr:string;begini:=pos('&',trim(gwc_CBox.Text));bh:=copy(trim(gwc_CBox.Text),1,i-1);sqlstr:='selecta.药编号,a.数量,a.单价,b.名称from药品销售a,药品信息bwhere(a.编号='''+bh+''')and(a.药编号=b.编号)orderbya.药编号';Query2.Close;Query2.SQL.Clear;Query2.SQL.Add(sqlstr);Query2.Open;ifQuery2.RecordCount>0thencmdl.Enabled:=trueelsecmdl.Enabled:=false;end;图7-7结算管理代码:procedureTjsgl_Form.gwc_CBoxChange(Sender:TObject);——实现购物车项目现示vari:integer;bh,sqlstr:string;begini:=pos('&',trim(gwc_CBox.Text));bh:=copy(trim(gwc_CBox.Text),1,i-1);sqlstr:='selectsum(数量*单价)ashjfrom药品销售where(编号='''+bh+''')';Query1.Close;Query1.SQL.Clear;Query1.SQL.Add(sqlstr);Query1.Open;hj_LEdit.Text:=Query1.fieldbyname('hj').AsString;yhje_LEdit.Text:=floattostr(strtofloat(yh_LEdit.Text)*strtofloat(hj_LEdit.Text));sqlstr:='selecta.药编号,a.数量,a.单价,b.名称from药品销售a,药品信息bwhere(a.编号='''+bh+''')and(a.药编号=b.编号)orderbya.药编号';Query1.Close;Query1.SQL.Clear;Query1.SQL.Add(sqlstr);Query1.Open;ifQuery1.RecordCount>0thencmdok.Enabled:=trueelsecmdok.Enabled:=false;end;第八章测试报告8.1测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论