已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安郵電學院mis课程设计报告书(诊所系统分析设计)系部名称:信息与管理工程系学生姓名:杨 杰专业名称:信息管理与信息系统班 级:信管0801班时间:2011年3月14日-2011年12月26日目 录:一.可行性分析 4二.系统分析部分 4 1.业务流程图 5 2.数据流程图 5 3.功能分析图 6 4.数据字典 7 5.数据加工处理的描述 8 6.管理信息系统流程设想图 9三.系统设计部分 1.功能结构图设计 9 2.新系统信息处理流程设计 9 3.输出设计(主要指打印输出设计) 9 4.存储文件格式设计(数据库结构设计) 9 5.输入设计(主要指数据录入卡设计) 12 6.代码设计(职工证号和部门代号等) 14 7.程序设计说明书 14四.系统实施部分 1.程序框图 14 2.源程序 18 3.模拟运行数据 71 4.打印报表 72 5.系统使用说明书 72五.附录或参考资料信管专业2008级mis课程设计任务书1设计任务1.1设计目的通过本次设计,要求同学们能够将所学到的信息系统分析方法与软件设计技术及方法综合运用到实际信息系统的分析与设计中,提高同学们对软件的综合分析与设计能力,主要包括对数据的分析、组织能力,数据的提取、处理能力;软件结构的分析设计,复杂界面与输入输出设计能力;学习常用软件开发工具的使用。1.2设计要求结合所学习的系统分析与设计的具体方法,应用程序设计的基本知识和数据库知识进行详细的系统分析设计。具体要求如下:1、 学习进行相对复杂数据的分析与设计,建立合理的数据模型。2、 学习使用vb的数据环境设计器和数据报表设计器进行报表输出设计。3、 学习使用visio工具进行常用软件图形的绘制。4、 进一步熟练进行软件系统的界面设计,深入掌握界面设计元素。5、 提供相应的软件设计报告。报告要求有系统的需求分析、系统流程图、数据流程图、软件结构图、数据库设计说明和软件说明书。6、 提供与设计报告相一致的软件系统。7、 每四人为一个课题组,自由组合,检查相应的小组讨论,讨论结果计入平时成绩。8、 报告书写规范见附件。2系统分析2.1系统分析概述系统分析就是根据系统调查中获得的原始资料,对用户组织内部整体管理状况和信息处理堆积进行分析,确定用户需求,并建立系统逻辑模型的过程,着重于信息系统“做什么”,而不是“怎么做”。本部分就是在这个基础上对系统业务流程和系统数据流程图进行分析。2.2可行性分析2.2.1目标方案的可行性随着计算机性能的不断提高,计算机化的医院信息系统已成为现代化医院运营过程中必不可少的基础设施与技术支撑环境。医院信息系统利用电子计算机和通信设备为医院所属各部门提供病人诊疗信息和行政管理信息的收集、存储、处理、提取和数据交换的能力,并满足所有授权用户的所有功能需求。2.2.2经济可行性现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为医院的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高医院的工作效率;第四,本系统可以使敏感文档更加安全,等等。所以,本系统在经济上是可行的。2.2.3技术可行性本系统的开发利用microsoft sql server2000作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。使用visual basic6.0作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。2.2.4运行可行性本系统为一个小型的诊所管理系统,所耗费的资源非常的小,诊所的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。2.3系统需求分析由于本系统设计针对小区诊所的具体情况,因此用户需求的目的是通过该小区诊所的需求调查,从中总结出诊所对管理信息系统的需求,然后根据这些需求设计出系统的方案。诊所管理分为前台管理系统和后台管理系统两部分,诊所前台系统主要负责挂号、划价、收费工作,后台管理系统主要负责药品、库存信息的查询、门诊挂号的统计、以及病人资料的管理,系统的维护等工作。所以该系统由基础维护、门诊管理、院长查询三大模块组成。其中基础维护包括药品信息维护和收费项目维护,门诊管理包括挂号管理、划价管理、收费管理和药房发放,院长查询包括科室挂号量和库存统计。2.4业务流程图2.5数据流程图2.6系统组织结构分析图2.7业务流程分析2.8数据流程分析根据上述的业务流程,对其中的数据处理、数据存储以及数据流动过程进行抽象,得到了系统的逻辑模型,即系统的数据流程图。2.9数据字典药品库存表编号库房药品编号药品数量备注1中药房1001102中药房100253中药房1003314中药房100435 药品资料表编号名称单价分类费用归类拼音码有效期1001青霉素5西药西药类qms31002北豆根12西药西药类bdg51003止痛片2西药西药类ztp51004感叹号9西药西药类gth5 门诊划价表编号科室划价编号医生划价时间划价员20100000002内科20100000002张为2010-6-6张三20100000003检查科20100000003李虹2010-6-6张三20100000004外科20100000004王新新2010-6-6张三20100000012内科20100000012郝燕丽2010-6-6张三 门诊划价明细表编号划价编号药品编号单价数量金额420100000001100212336220100000001200431332010000000120023135201000000111002121122.10系统各模块详细的业务流程图3系统设计3.1系统设计概述及设计原则系统设计阶段是开发管理信息系统的关键环节之一,因此它的工件质量直接影响到新系统的稳定性、可靠性、精确性和运行费用的高低。所以,整个系统设计过程的各项工作都必须按照科学的方法和原则进行。系统设计原则: 1) 系统运行安全可靠,稳定性好; 2) 系统的可管理性和可维护性好; 3) 系统输入界面友好,操作简便易行,尽量减少用户的输入工作量; 4)允许多种数据输入方式,能实现多种查询,允许进行模糊查询; 5)数据具有规范性,整体性,方便数据之间的比较分析。3.2系统设计模块u 权限管理主要是用户的等级和权限的划分。分级用户:管理员用户、院长用户、普通用户,权限可以自定义添加和删除。u 门诊挂号管理建立和维护病人的索引信息,分配病人的id号,确保病人信息的唯一性,为病人建立就诊卡,对门诊病人进行挂号,为门诊病人的后续活动以及门诊工作量统计提供信息。u 门诊划价收费管理用于门诊收费处记录病人的缴费信息,并执行相应的统计核算功能。门诊划价用于完成门诊病人的各种处方、检查申请、治疗申请等诊治费用的计价工作;门诊收费用于完成门诊病人各种各种诊治费用的收取工作,能够依据划价单查询病人划价信息,进行费用收取处理,并保存操作记录备查。u 药房管理用于管理医院药房的采购、入库及出库等业务。u 打印报表可以打印病人的药品明细单和收费票据。3.3编码设计编码是指代表事物名称、属性、状态等的符号,它以简短的符号形式代替具体的文字说明。如中国邮政编码采用了一种6位的编码来表示省市、地区等信息。设计出一个好的编码方案对系统的开发工作具有重要作用。1、编码能反映数据或信息间的逻辑关系,并使其具有唯一性。2、信息编码化便于利用计算机进行信息或数据的识别和处理。3、利用编码可以节省计算机课的存储空间、提高运行速度。4、利用编码可以提高系统的可靠性。常用的编码主要有顺序码、区间码、助记码和缩写码。下面对商品编号的编码设计进行介绍。代码名称:商品编号 代码类型:区间码 代码长度:8位前三位代表类别,后五位为内部顺序码。3.4输入/输出设计系统输入/输出(i/o)设计是在系统设计中很容易被忽视的环节,又是一个很重要的环节,它对于用户和今后系统使用的方便和安全可靠性来说都是非常重要的。一个好的输入系统设计可以为用户和系统双方带来良好的工作环境,一个好的输出系统可以为管理者提供简洁、明了、实用的管理和控制信息。输入设计包括输入方式设计、用户界面设计。在本系统中,输入几乎都是采用键盘输入,键盘输入与用户界面设计是紧密联系在一起的。设计时本着方便用户的原则,主要采用了以下措施:(1) 注意保证各个模块的输入格式一致,方便用户使用不同的模块。(2) 严格的检错措施。尽量减少用户的输入,以减少出错羁旅;对用户的输入内容作空格、非法字符等检验。(3) 使用菜单方式,使得条例清晰、逻辑性强。(4) 关键性的强调和警告:对于数据库的更新、删除及用户登录等操作,利用提问的方式来帮助用户进一步来帮助用户进一步确认操作的有效性。一个好的输出设计不仅可以赢得用户的好评,更重要的是可以为用户提供简洁、明了、有效、实用的管理和控制信息。为适应诊所日常管理的需要提供对内对外的报告和单据,本系统主要采用屏幕输出和打印输出。屏幕输出主要是满足日常管理的需要,用于查询结果的显示;而打印输出主要是为了提供对内对外的报告和单据。4系统实施4.1系统配置(1)硬件环境cpu赛扬1.2,内存64mb以上,硬盘3g以上。(2)软件环境各种操作系统,如:windows98/windowsxp/windos2000。4.2系统菜单系统菜单包括门诊管理、院长查询、项目信息、帮助。门诊管理包含门诊挂号、门诊划价、门诊收费和药品发放子菜单:院长查询包括科室挂号量、药品库存子菜单;项目信息包括药品库存和药品信息子菜单。4.3系统窗口及源代码 登陆界面,代码如下: private sub btnexit_click() unload meend subprivate sub btnlogin_click() dim psw1, psw2, psw3 as string psw1 = user psw2 = lead psw3 = admin if combouser.text = 用户 then if txbpsw.text = psw1 then me.hide frmabout.show else msgbox 密码错误! txbpsw.text = end if quanxian = 1 end if if combouser.text = 院长 then if txbpsw.text = psw2 then me.hide frmabout.show else msgbox 密码错误! txbpsw.text = end if quanxian = 2 end if if combouser.text = 管理员 then if txbpsw.text = psw3 then me.hide frmabout.show else msgbox 密码错误! txbpsw.text = end if quanxian = 3 end if dim db as new databases dim strsql as string strsql = insert into 登录信息( 用户类型编号,登录时间) values ( strsql = strsql + trim(quanxian) + , strsql = strsql + cstr(date) + ) db.runselectsql (strsql)end subprivate sub form_load() combouser.additem (用户) combouser.additem (院长) combouser.additem (管理员)end subprivate sub timer1_timer() label4.caption = format(now, ampm(hh:mm:ss)end sub 所有用户进入系统简介界面 代码如下:private sub command1_click() me.hide frmmain.showend sub点击确定,进入系统主界面 代码如下:private sub mncash_click() dim frm as new frmcash if quanxian = 3 then frm.show else msgbox 你无权查看此信息! end ifend subprivate sub exit_click() endend subprivate sub mnghl_click() dim frm as new frmghl if quanxian = 1 then msgbox 你无权查看此信息! else frm.show end ifend subprivate sub mnguahao_click() dim frm as new frmguahao frm.showend subprivate sub mnhuajia_click() set formhuajia = new frmhuajia formhuajia.showend subprivate sub mnkcl_click() dim frm as new frmkcl if quanxian = 1 then msgbox 你无权查看此信息! else frm.show end ifend subprivate sub mnlogin_click() dim frm as new frmlogincx if quanxian = 1 then msgbox 你无权查看此信息! else frm.show end ifend subprivate sub mnmedicine_click() dim frm as new frmmedicine if quanxian = 3 then frm.show else msgbox 你无权查看此信息! end ifend subprivate sub mnshoufei_click() dim frm as new frmshoufei frm.showend subprivate sub mnzhuxiao_click() me.hide frmlogin.showend sub点击门诊管理 门诊挂号,进入门诊挂号界面,该界面代码如下:private sub clear() me.txbname.text = me.cbbsex.text = 男 me.txbage.text = me.txbmoney.text = me.txbname.text = me.txbtime.text = cstr(date) me.txbnation.text = 汉族 me.cbbmoneytype.text = 自费 me.cbbregtype.text = 普通号 dim db as new databases dim rs as recordset set rs = db.runselectsql(select 编号,名称 from 科室资料) set me.cbbroomtype.rowsource = rs me.cbbroomtype.listfield = 名称 set rs = db.runselectsql(select 编号,姓名 from 医生资料) set me.cbbdoctor.rowsource = rs me.cbbdoctor.listfield = 姓名end subprivate sub save() dim iage as integer iage = 0 iage = cint(trim(txbage.text) dim strsql as string strsql = select max(编号) as 编号 strsql = strsql + from 病人信息库 where 编号 like strsql = strsql + cstr(year(date) + % dim db as new databases dim rs as recordset dim strt as string dim strid as string set rs = db.runselectsql(strsql) if not isnull(rs(0) then strt = strid = cstr(cint(mid(rs(0), 5, 7) + 1) for i = len(strid) to 6 strt = strt + 0 next i strid = strt + strid else strid = 0000001 end if strid = cstr(year(date) + strid strsql = insert into 病人信息库(编号, 姓名, 性别, 年龄, strsql = strsql + 民族, 费用类型) values( + strid + , strsql = strsql + trim(txbname.text) + , + trim(cbbsex.text) + , strsql = strsql + trim(txbage.text) + , + trim(txbnation.text) + , strsql = strsql + trim(cbbmoneytype.text) + ) db.runselectsql (strsql) dim strpatientid as string strpatientid = strid strsql = select max(编号) as 编号 from 门诊挂号 where 编号 like strsql = strsql + cstr(year(date) + % set rs = db.runselectsql(strsql) if not isnull(rs(0) 0 then strt = strid = cstr(cint(mid(rs(0), 5, 7) + 1) for i = len(strid) to 7 strt = strt + 0 next i strid = strt + strid else strid = 0000001 end if strid = cstr(year(date) + strid strsql = insert into 门诊挂号(编号, 病人编号, 姓名, strsql = strsql + 性别, 挂号科室,费用类型, 挂号类型, 挂号费用,医生, strsql = strsql + 时间, 是否已划价) values( + strpatientid + , strsql = strsql + strid + , + trim(txbname.text) + , strsql = strsql + trim(cbbsex.text) + , + trim(cbbroomtype.text) strsql = strsql + , + trim(cbbmoneytype.text) + , strsql = strsql + trim(me.cbbregtype.text) + , + trim(me.txbmoney.text) strsql = strsql + , + trim(me.cbbdoctor.text) + , strsql = strsql + trim(me.txbtime.text) + ,否) db.runselectsql (strsql) clearend subprivate sub cbbregtype_click() select case me.cbbregtype.text case 普通号 1元 me.txbmoney.text = 1 case 专家号 20元 me.txbmoney.text = 20 case 专家号 5元 me.txbmoney.text = 5 end selectend subprivate sub form_load() cbbregtype.additem (普通号 1元) cbbregtype.additem (专家号 5元) cbbregtype.additem (专家号 20元) cbbmoneytype.additem (自费) cbbmoneytype.additem (公费) cbbmoneytype.additem (离休) cbbsex.additem (男) cbbsex.additem (女) clearend subprivate sub toolbar1_buttonclick(byval button as mscomctllib.button) if strcomp(button.key, btnnew) = 0 then clear elseif strcomp(button.key, btnsave) = 0 then if trim(txbage.text) = then msgbox 请输入年龄 exit sub end if save elseif strcomp(button.key, btncancel) = 0 then clear elseif strcomp(button.key, btnexit) = 0 then hide elseif strcomp(button.key, btnhj) = 0 then hide set formhuajia = new frmhuajia formhuajia.show end ifend sub点击保存,将病人挂号信息存入门诊挂号表,单击划价进入进价界面代码如下:private sub btnadd_click() if len(trim(txbname.text) = 0 or _ len(trim(txbmxid.text) = 0 then exit sub end if calmxmoney fgdetail.rows = fgdetail.rows + 1 fgdetail.textmatrix(fgdetail.rows - 1, 1) = trim(me.txbmxid.text) fgdetail.textmatrix(fgdetail.rows - 1, 2) = trim(me.txbmname.text) fgdetail.textmatrix(fgdetail.rows - 1, 3) = trim(me.txbprice.text) fgdetail.textmatrix(fgdetail.rows - 1, 4) = trim(me.txbnumber.text) fgdetail.textmatrix(fgdetail.rows - 1, 5) = trim(me.txbmmoney.text) fgdetail.textmatrix(fgdetail.rows - 1, 6) = trim(me.txbpy.text) clearmx caltotalmoney end subprivate sub btncancel_click() fgdetail.rows = 1end subprivate sub btndelete_click() if msgbox(你确定要删除吗?, vbyesno) = vbyes then fgdetail.removeitem fgdetail.row caltotalmoney end ifend subprivate sub btnmodify_click() fgdetail.textmatrix(fgdetail.row, 1) = trim(me.txbmxid.text) fgdetail.textmatrix(fgdetail.row, 2) = trim(me.txbmname.text) fgdetail.textmatrix(fgdetail.row, 3) = trim(me.txbprice.text) fgdetail.textmatrix(fgdetail.row, 4) = trim(me.txbnumber.text) fgdetail.textmatrix(fgdetail.row, 5) = trim(me.txbmmoney.text) fgdetail.textmatrix(fgdetail.row, 6) = trim(me.txbpy.text) caltotalmoneyend subprivate sub btnsave_click() if fgdetail.rows = 1 then exit sub end if dim strsql as string dim db as new databases strsql = select max(编号) as 编号 from 门诊划价 where strsql = strsql + 编号 like + cstr(year(date) + % dim rs as recordset set rs = db.runselectsql(strsql) dim strt as string dim strid as string if not isnull(rs(0) then strt = strid = cstr(cint(mid(rs(0), 5, 7) + 1) for i = len(strid) to 7 strt = strt + 0 next i strid = strt + strid else strid = 0000001 end if strid = cstr(year(date) + strid strsql = insert into 门诊划价(编号, 科室, 挂号编号, 医生, strsql = strsql + 划价时间, 划价员, 是否收费,划价金额, 是否发药) strsql = strsql + values ( + strid + , + cbbroom.text + , strsql = strsql + trim(txbid.text) + , strsql = strsql + trim(cbbdoctor.text) + , strsql = strsql + cstr(date) + ,张三,否, strsql = strsql + trim(txbmoney.text) + ,否) for i = 1 to fgdetail.rows - 1 strsql = strsql + insert into 门诊划价明细(划价编号, strsql = strsql + 药品编号, 单价, 数量, 金额) values ( strsql = strsql + strid + , + fgdetail.textmatrix(i, 1) + , + fgdetail.textmatrix(i, 3) strsql = strsql + , + fgdetail.textmatrix(i, 4) + , + fgdetail.textmatrix(i, 5) + ) next db.runselectsql (strsql) strsql = update 门诊挂号 set 是否已划价=是 where 编号 = strsql = strsql + trim(txbid.text) + db.runselectsql (strsql) db.closeconn clearmx clear fgdetail.rows = 1end subprivate sub btnselect_click() dim frm as new frmselecthuajia frm.show vbmodal dim db as new databases dim strsql as string strsql = select * from 门诊挂号 where 编号= strsql = strsql + trim(txbid) + and 是否已划价=否 dim rs as recordset set rs = db.runselectsql(strsql) if not rs.eof then me.txbname.text = rs(姓名) me.txbsex.text = rs(性别) me.cbbdoctor.text = rs(医生) me.cbbroom.text = rs(挂号科室) end ifend subprivate sub calmxmoney() dim dprice as double dprice = cdbl(txbprice.text) dim icount as integer icount = cint(txbnumber.text) me.txbmmoney.text = cstr(dprice * icount) ttmoney = me.txbmoney.textend subprivate sub clear() me.txbid.text = me.txbmoney.text = me.txbname.text = me.txbsex.text = end subprivate sub clearmx() me.txbmxid.text = me.txbmname.text = me.txbprice.text = 0 me.txbnumber.text = 1 me.txbmmoney.text = me.txbpy.text = end subprivate sub caltotalmoney() dim dtotal as double for i = 1 to fgdetail.rows - 1 dtotal = dtotal + cdbl(fgdetail.textmatrix(i, 5) next me.txbmoney.text = cstr(dtotal)end subprivate sub command1_click() hideend subprivate sub fgdetail_selchange() me.txbmxid.text = fgdetail.textmatrix(fgdetail.row, 1) me.txbmname.text = fgdetail.textmatrix(fgdetail.row, 2) me.txbprice.text = fgdetail.textmatrix(fgdetail.row, 3) me.txbnumber.text = fgdetail.textmatrix(fgdetail.row, 4) me.txbmmoney.text = fgdetail.textmatrix(fgdetail.row, 5) me.txbpy.text = fgdetail.textmatrix(fgdetail.row, 6)end subprivate sub form_load() dim db as new databases adodc1.connectionstring = db.sconn adodc2.connectionstring = db.sconn fgdetail.cols = 7 fgdetail.rows = 1 fgdetail.textmatrix(0, 1) = 编号 fgdetail.textmatrix(0, 2) = 名称 fgdetail.textmatrix(0, 3) = 单价 fgdetail.textmatrix(0, 4) = 数量 fgdetail.textmatrix(0, 5) = 金额 fgdetail.textmatrix(0, 6) = 拼音码end subprivate sub txbnumber_keyup(keycode as integer, shift as integer) if keycode 58 then txbnumber.text = 1 end ifend subprivate sub txbnumber_lostfocus() calmxmoneyend subprivate sub txbpy_keypress(keyascii as integer) if keyascii = 13 then dim frm as new frmselecthuajiamx frm.show vbmodal dim db as new databases dim rs as recordset dim strsql as string strsql = select * from v收费项目及药品 where 编号= strsql = strsql + trim(me.txbmxid.text) + set rs = db.runselectsql(strsql) if (not rs.eof) then me.txbpy.text = rs(拼音码) me.txbmname.text = rs(名称) me.txbprice
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 超声相控阵课件
- 城市乡村振兴课件
- 创伤现场急救课件
- 超市物流项目二课件
- 城市体检评估课件
- 超市商品知识课件
- 陈涉世家课件
- 超市企业介绍课件
- 彩色拼音教学课件
- 中性粒细胞缺乏伴发热患者抗菌药物临床应用中国指南
- 广东电网公司低压分布式光伏协议转换单元2026
- 防爆电气设备接线技术手册
- 老人代养协议书
- 储能电站工程监理规划
- 安徽合肥产投资本创业投资管理有限公司招聘笔试题库2026
- 2026届九师联盟高三11月期中历史试题及答案
- 团中央课题申报书
- 职教高考语文复习阅读与欣赏专题九古代诗歌阅读第一节把握诗人的感情评价作品的思想内容 课件
- 2025-2030中国纳米银网行业市场现状供需分析及投资评估规划分析研究报告
- 2025年四川成都电子科大出版社有限责任公司招聘笔试参考题库含答案解析
- T-CSEE 0399-2023 水电站紧固件技术监督导则
评论
0/150
提交评论