收藏 分销(赏)

毕业设计计算机信息管理之药品管理系统样本.doc

上传人:二*** 文档编号:4520073 上传时间:2024-09-26 格式:DOC 页数:52 大小:378.04KB 下载积分:5 金币
下载 相关 举报
毕业设计计算机信息管理之药品管理系统样本.doc_第1页
第1页 / 共52页
本文档共52页,全文阅读请下载到手机保存,查看更方便
资源描述
高等函授专科毕业设计(论文) 计算机信息管理之药物管理系统 【摘要】 随着全球以信息技术为主导科技革命进程加快,人类社会逐渐由工业社会进入信息社会。信息技术是当代最具潜力新生产力,信息资源是经济和社会发展重要战略资源。信息化成为各国经济和科技竞争制高点,信息化限度已成为衡量一种国家和地区当代化水平和综合实力重要标志。随着国内市场经济迅速发展和加入WTO,公司信息化限度规定越来越高,而现阶段计算机信息管理普及率并不高,公司中计算机资源得不到及时充分运用,信息解决效率跟不上形势发展,近几年诸多单位对计算机信息管理专业人才需求越来越大。被调查单位普遍反映且迫切需要善经营、会管理,同步能纯熟把计算机运用到信息采集、解决与维护高档管理人才,计算机信息管理专业正是在这种背景正应运而生,目是为企事业单位提供更多更好从事计算机信息管理工作合格人才。 计算机信息管理专业是计算机与经济管理学科交叉专业,本专业培养德、智、体全面发展,掌握当代管理学和计算机理论基本,运用先进管理手段进行信息管理,成为具备综合能力和全面素质高等技术应用性信息管理人才。 【核心词】信息技术 信息资源 信息化 公司信息化限度 目 录 第一某些:系统分析 4 第二某些:系统设计 6 2.1 总体设计: 6 2.2详细设计: 6 2.2.1数据库设计: 6 2.2.1 模块设计: 11 第三某些:系统实行 12 3.1主程序界面设计: 12 3.1.1 登陆设计:: 13 3.1.2 人员管理界面设计: 14 3.1.3 药物分类界面设计: 15 3.2 数据存储界面设计: 16 3.3查询设计 24 3.3.1 卫生室购药查询: 24 3.3.2 药物销售合计查询: 25 3.4报表输出设计: 28 3.5备份设计 30 第四某些:系统测试 33 4.1 模块测试: 33 4.2 系统测试: 33 第五某些:总结 34 5.1 系统功能完毕状况 34 5.2 存在问题 34 5.3 本次体会与心得 34 第六某些:附录 35 6.1 附录一(主程序命令代码): 35 6.2 附录二(维护阐明书和程序清单名) 44 6.3 参照文献 45 第一某些:系统分析 1.1 开发因素与前景: 在当代,高科技奔腾发展,人们工作习惯变化,特别是电脑大量普及,人们生活节奏越来越快,如何提高工作效率是人们一方面考虑问题。宿舍管理特别是学校宿舍管理是一种非常繁琐与复杂一项工作,一种因素就是工作量大,不好管。对于一种学校而言,更应当运用某些本地资源,提高管理力度,对学生负责,对国家负责。 1.2 可行性分析: 1.2.1 经济可行性: 重要从对项目经济上进行分析评价,一方面是支出费用,涉及设备购买费、管理和维护费用、人员工资和培训费等,另一种是获得收益。这是个超小型管理系统,从投入人力,财力与物力来讲是非常之小,只要一台电脑,一台打印机,这个系统就可以搞起来,考虑到学校里有电脑,现只要购买一台打印机就可以了。从节约人力方面,可以让管理人员从繁与复杂工作中解脱出来,做更多工作,可以给宿舍里管理提高一种层次。 1.2.2技术上可行性: 技术上可行性分析要考虑将来要采用硬件和软件技术能否满足顾客(这里是校方)提出规定(如计算机容量、速度等)。此外,还要考虑开发人员水平,做为计算机信息管理专业毕业优等生,数据库设计方面对于咱们应当还过得去,在宿舍里生活了两年,对这个管理模试应当比较熟。宿舍管理系统编写,是十分好编,我想几天就可以写出程序,再花上三来天调试,筹划一种星期就可以完毕投入使用了。 1.3结论: 通过以上两点分析,编写或开发这个宿舍管理系统是可行,只要这个系统能实现对学生数据输入、修改、删除、打印、浏览与查询就可以了。如果技术方面可行,浏览与查询方面功能应当编写得强大一点,再好有条件组合查询,可以实现按男女生分类查询,也可以按专业、寝室号、籍贯等分类查询,以便学校方面管理人员可以很以便查询想要数据,以便进行统一管理,统一安排。 第二某些:系统设计 系统设计任务是:在系统分析基本上,按照9逻辑模型规定,科学合理地进行系统总体设计和详细物理设计,为下一阶段系统实行提供必要技术资料。涉及总体设计与详细设计。总体设计:总体设计涉及子系统划分,代码设计、设计规范制定、信息系统流程图设计、功能构造图设计和系统物理配备方案设计等。详细设计:详细设计涉及数据存储文献设计(数据库文献设计)、输出设计、输入设计、编写程序设计阐明书等。 系统设计应符合如下规定: (1) 系统性:系统作为整体而存在,因此系统代码要统一,设计规范要原则,传递语言要尽量一致,并使一次输入得到多次运用。 (2) 灵活性。系统应灵活,对环境变化要有很强适应性。这规定咱们尽量采用模块化构造,提高各某些独立性,尽是减少各子系统之间数据依赖性。 (3) 可靠性。这是指系统受外界干扰时抵抗力与恢复能力。 (4) 经济性。这是咱们也要考虑问题。 2.1 总体设计: 考虑到咱们是一种小型管理系统,程序编写方面并不复杂,因此某些不必要方面就可以省略了,如:代码设计方面,设计规范制定方面等等。 从系统吞吐量,响应时间方面考虑,当前机器是达得到规定,还留下了一点空间。 2.2详细设计: 2.2.1数据库设计: 在一种药物管理查询系统这样一种系统中,运用数据库是十分必要,某些药物数据资料保存,修改,查询都要与数据打交道,因此选好存储类型,选好一种适当数据库是十分重要,考虑到实际状况,我就用foxpro6.0 做了。数据库设计重要任务是决定数据库字段名,字段类型,字段长度等。在此只列举三个数据库文献文献构造。 表构造: F:\F\LL\VFP\批发\\YUANB.DBF 数据记录数: 1837 近来更新时间: 10/19/06 备注文献块大小: 64 代码页: 936 字段 字段名 类型 宽度 小数 1 BH 数值型 5 2 DM 字符型 11 3 YPMC 字符型 18 4 GG 字符型 10 5 DW 字符型 8 6 DJ 数值型 13 2 7 DJ2 数值型 13 2 8 JJ 数值型 13 2 9 PFJ 数值型 13 2 10 SL 数值型 11 2 11 LB 字符型 10 12 FXG 数值型 7 13 FXG1 数值型 7 14 QZB 逻辑型 1 15 NCS 数值型 12 16 SXRQ 备注型 4 17 BL 数值型 8 18 YSL 数值型 14 ** 总计 ** 177 表构造: F:\F\LL\VFP\批发\DATA\CK.DBF 数据记录数: 14 近来更新时间: 09/03/07 代码页: 936 字段 字段名 类型 宽度 小数位 索引 排序 Nulls 1 DJH 字符型 14 2 RQ 日期型 8 3 GYDW 字符型 16 4 BH 数值型 9 2 5 DM 字符型 12 6 YPMC 字符型 26 7 GG 字符型 10 8 DW 字符型 10 9 DJ 数值型 10 4 10 GYSL 数值型 12 2 11 PH 字符型 12 12 SXRQ 日期型 8 13 CHD 字符型 30 14 LB 字符型 10 15 ZHD 字符型 6 16 FXG 数值型 7 2 17 DY 逻辑型 1 ** 总计 ** 202 表构造: F:\F\LL\VFP\批发\DATA\YUANB2.DBF 数据记录数: 2034 近来更新时间: 09/03/07 代码页: 936 字段 字段名 类型 宽度 小数 1 BH 数值型 12 2 2 DJ 数值型 12 4 3 YJJ 数值型 13 4 4 CHD 字符型 20 5 PH 字符型 14 6 SXRQ 日期型 8 7 SL 数值型 12 2 8 FXG 数值型 10 4 9 QZB 逻辑型 1 10 YSL 数值型 14 2 ** 总计 ** 117 2.2.1 模块设计: 模块化是一种重要设计思想。功能模块设计目都是为了把一种系统分解成某些规模较小、功能较简朴、更易于建立和修改某些。一方面,各个模块均有自己独立性,另一方面,模块之间互有关系可以通过一定方式予以规定和阐明。 功能模块如下: 淄河镇卫生院药物管理查询系统 数据录入 数据修改 数据查询 报表输出 数据备份 退出本系统 备份数据 恢复数据 预览数据 打印数据 所有查询 系统功能构造图 第三某些:系统实行 系统设计要具备如下规定:1、系统性2、灵活性3、可靠性4、经济性。 物理配备方案设计: 依照多方面因素进行配备,系统吞量,响应时间,可靠性,单机系统,集中式,采用数据库管理方式。 信息流程图设计: 输入 存储1 解决 中间数 存储2 解决2 解决3 输出1 输出2 3.1主程序界面设计: 一种界面和谐,应以使用者操作方面为前提,尚有操作员长期与这些界面打交道,设计一种好界面是咱们程序开发人员最高追求,在我看来,编一种程序真很简朴,一种功能就有诸各种实现办法,我在设计使用中发现,用这个版本开发一种系统,远不如我用Powerbuilder 8.1 简朴,在那个开发环境,不像这个版本,诸多东西编起来很碍手碍脚,放不开。主界面,我起先考虑也跟大多同窗同样,用菜单生成器,最后发现,一种小小系统,功能模块又非常之小,我就放弃了菜单方式,选用了当前这个样子。 3.1.1 登陆设计:: 简朴登录界面使顾客有一种亲切操作心情。 选取您姓名之后,输入口令,如果输入口令是错误会给出提示,如果三次输入错误,将退出系统。 3.1.2 人员管理界面设计: 设立多顾客操作,可以通过按钮增长,修改,删除等操作,对人员进行管理。 3.1.3 药物分类界面设计: 药物期初设立一种方面,为保证药物分类计算时,保证数据有效性和立人精确性。 增长代码如下: if this.caption="增长" this.caption='拟定' thisform.width=thisform.width+200 thisform.text1.setfocus thisform.autocenter=.t. mand4.enabled=.t. else this.caption="增长" if !empty(thisform.text1.value) sele lb appe blan repl lb with allt(thisform.text1.value) endi thisform.width=thisform.width-200 thisform.autocenter=.t. mand4.enabled=.f. endi thisform.text1.value='' thisform.list1.requery thisform.refresh 数据存储设计:重要采用数据库文献存储形式,制定文献分类,设定主文献,解决文献,工作文献,后备文献,周转 文献等。 3.2 数据存储界面设计: 一方面要把新药物种输入计算机之中,在增长新药时候,如果输入代码是重复,计算机将提示输入重复错误。 提示代码重复录入实当代码如下: Dmtxt.valid if !empty(this.value) sele yuanb loca for allt(dm)=allt(this.value) if found() mm=messagebox("您输入代码已经使用,请重新输入",1+32,"提示") if mm=1 this.value="" retu .f. else retu .t. endi endi endi thisform.refresh 增长完新药后来,需要对当前实有药物进行录入,可以同药物购入录入用同一种录入界面,但在后来使用过程中,账簿对的性就不能保证,因此最佳有效期初录入界面进行录入,保证数据完整性。 期初录入界面设计: 拟定.click local aa aa=0 set exac on if empty(thisform.sl.value) retu .t. else sele yuanb loca for dm=allt(thisform.dm.value) lbh=bh repl sl with sl+thisform.sl.value sele qclr appe blan repl rq with ctod(allt((thisform.year.value))+"/"+allt((thisform.month.value))+"/"+allt((thisform.day.value))) repl dm with allt(thisform.dm.value) repl ypmc with allt(thisform.ypmc.value) repl gg with allt(thisform.gg.value) repl dw with allt(thisform.dw.value) repl dj with val(thisform.dj.value) repl sysl with thisform.sl.value repl lb with thisform.lb.value repl sxrq with thisform.sxrq.value repl ph with thisform.ph.value repl chd with thisform.chd.value sele yuanb2 if allt(thisform.chd.value)<>allt(subs(lsldj,at(",",lsldj,4)+1,at(",",lsldj,5)-at(",",lsldj,4)-1)) count to aa for int(bh)=lbh appe blan repl yjj with val(thisform.dj.value),dj with val(thisform.dj.value),chd with allt(thisform.chd.value),ph with thisform.ph.value; sxrq with thisform.sxrq.value,sl with thisform.sl.value,fxg with 1.3,bh with val(str(lbh+(aa+1)/100,12,2)); ysl with ysl+thisform.sl.value sele qclr go bott repl bh with val(str(lbh+(aa+1)/100,12,2)) else * if thisform.sxrq.value=ctod(subs(lsldj,at(",",lsldj,3)+1,at(",",lsldj,4)-at(",",lsldj,3)-1)) if thisform.nmodi=.t. mm=messagebox("本来价格为"+allt(subs(lsldj,1,at(",",lsldj,1)-1))+chr(13)+; "与否更改为"+(allt(thisform.dj.value)),1+32,"提示") if mm=1 sele yuanb2 loca for bh=lbh+thisform.lquerybh/100 repl sl with sl+thisform.sl.value,ysl with ysl+thisform.sl.value repl yjj with val(thisform.dj.value),dj with val(thisform.dj.value) sele qclr go bott repl bh with lbh+thisform.lquerybh/100 else sele yuanb2 loca for bh=lbh+thisform.lquerybh/100 repl sl with sl+thisform.sl.value,ysl with ysl+thisform.sl.value sele qclr go bott repl bh with lbh+thisform.lquerybh/100 endi else sele yuanb2 loca for bh=lbh+thisform.lquerybh/100 repl sl with sl+thisform.sl.value,ysl with ysl+thisform.sl.value sele qclr go bott repl bh with lbh+thisform.lquerybh/100 endi * else * sele yuanb2 * count to aa for int(bh)=lbh * appe blan * repl yjj with val(thisform.dj.value),dj with val(thisform.dj.value),chd with allt(thisform.chd.value),ph with thisform.ph.value; ** sxrq with thisform.sxrq.value,sl with thisform.sl.value,fxg with 1.3,bh with val(str(lbh+(aa+1)/100,12,2)) * sele qclr * go bott * repl bh with val(str(lbh+(aa+1)/100,12,2)) * endi endi thisform.hj.value=thisform.hj.value+val(thisform.dj.value)*thisform.sl.value thisform.dm.value="" thisform.ypmc.value="" thisform.gg.value="" thisform.dw.value="" thisform.lb.value="" thisform.dj.value="" thisform.chd.value="" thisform.ph.value="xxxx" thisform.sl.value=0.00 thisform.sxrq.value={^/12/31} thisform.nmodi=.f. thisform.refresh endi thisform.dm.setfocus sele yuanb2 set filt to sele qclr set filt to sele yuanb set filt to set exac off thisform.refresh 购入药物界面设计: 药物购入录入是重要操作界面,通过输入药物代码,可以迅速定位到要输入药物名称上,在输入过程中有一定输入限制,如进价不能比批发价格高,失效日期要在当前日期后来,并且在输入完毕后来,如果不打印,数据将不存储到主数据库中,以保证数据完整性。在输入过程中代码输入与药物名称查找是即时性。 代码即时性产生代码如下: Dm.keypress事件 #define DELKEY 127 #define ENTER 13 #define DOWNARROW 3 LPARAMETERS nKeyCode,nShiftAltCtrl LOCAL cDisplayValue IF nKeyCode = DELKEY cDisplayValue = ALLTRIM(THIS.Value) IF LEN(cDisplayValue)=1 cDisplayValue = "" thisform.list1.visible=.f. ELSE cDisplayValue = LEFT(cDisplayValue,LEN(cDisplayValue)-1) thisform.list1.visible=.t. thisform.lockscreen=.t. thisform.list1.RowSource="SELECT yuanb.dm,yuanb.ypmc,yuanb.gg,yuanb.dw FROM yuanb where cdisplayvalue $ yuanb.dm into cursor xxx " thisform.list1.value=1 thisform.lockscreen=.f. ENDIF ELSE IF nKeyCode=ENTER THISFORM.lsearch thisform.list1.visible=.f. thisform.dm.setfocus else if nKeyCode=DOWNARROW thisform.list1.setfocus thisform.list1.value=1 else thisform.list1.visible=.t. cDisplayValue = ALLTRIM(THIS.Value)+CHR(nKeyCode) thisform.list1.visible=.t. thisform.lockscreen=.t. thisform.list1.RowSource="SELECT yuanb.dm,yuanb.ypmc,yuanb.gg,yuanb.dw FROM yuanb where cdisplayvalue $ yuanb.dm into cursor xxx " thisform.list1.value=1 thisform.lockscreen=.f. endi endi ENDIF 3.3查询设计 3.3.1 卫生室购药查询: 可以通过查询得到各卫生室及门诊部用药状况,可以运用日期来查询起止日期内某个单位用药状况。 某些实当代码如下: 查询.click thisform.c1.rowsource="select distinct gydw from ck1 noconsle into cursor xxx" thisform.t1.value=date()-30 thisform.t2.value=date() sele ck1 set filt to gydw=allt(thisform.c1.value) and rq>=thisform.t1.value and rq<=thisform.t2.value go top thisform.refresh 3.3.2 药物销售合计查询: 可以合计查询某个单位或科室在某一时期内购入药物共计,对于卫生室管理具备相称大作用。 详细查询代码实现如下: 查询.click sele ltongj dele all sele distinct gydw from ck1 into cursor xxx sele ltongj appe from dbf("xxx") scan sele ck1 sum dj*gysl to aa for lb<>"中草药" and gydw=ltongj.gydw and rq>=thisform.r1.value and rq<=thisform.r2.value sum dj*gysl to bb for lb="中草药" and gydw=ltongj.gydw and rq>=thisform.r1.value and rq<=thisform.r2.value sele ltongj repl xy with aa,zhcy with bb,hj with aa+bb,rq with allt(dtoc(thisform.r1.value))+allt(dtoc(thisform.r2.value)) endscan sele ltongj sum xy to aa thisform.xy.value=str(aa,14,2) sum zhcy to aa thisform.zhcy.value=str(aa,14,2) sum hj to aa thisform.hj.value=str(aa,14,2) thisform.list1.rowsourcetype=2 thisform.list1.rowsource="ltongj" 某品种药物模糊查询: 在忘掉某种药物代码时,可以用这个查询来查找某种药物代码和名称,可以按代码查询,也可以按名称查询,非常简便易用。 某些查询代码如下: 查询.click if thisform.list1.listcount>=1 for i=1 to thisform.list1.listcount thisform.list1.removeitem(1) endf endi if thisform.optiongroup1.value=1 thisform.list1.rowsource="select dm,ypmc,gg,dw from yuanb where llmc $ dm into cursor xxx" else thisform.list1.rowsource="select dm,ypmc,gg,dw from yuanb where
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服