《医院住院管理系统综合性实验报告.docx》由会员分享,可在线阅读,更多相关《医院住院管理系统综合性实验报告.docx(18页珍藏版)》请在三一办公上搜索。
1、 vf程序设计综合性实验实验报告题目: 医院住院管理系统 姓名: 李典 班级: 国会0906 学号: 200948990620 指导教师: 李周芳 完成时间: 2011-1-8 一、实验题目医院住院管理系统二、实验目的巩固学生对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高学生综合运用所学知识的能力。设计一个小型的完整、简单的医院住院管理系统。三、系统分析1、功能分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。医院住院管理信息系统需要完成功能主要有:(1)录入模块: 用户信息的输入,包括病人编号、姓
2、名、密码、身份等。 病人入院、出院登记,包括病人编号、姓名、性别、年龄、是否办理出院、病因等。(2)修改模块: 病人基本信息的查询和修改,包括病人编号、姓名、性别、年龄、入院日期、出院日期、病因等。(3)查询模块: 病人基本信息的查询,包括病人编号、姓名、性别、年龄、入院日期、出院日期、是否办理出院、病因等。(4) 统计模块: 信息的统计,包括病人信息、病房信息、住房信息、用户信息等。(5)报表打印模块: 病人基本信息报表,包括病人编号、姓名、性别、年龄、入院日期、出院日期、是否办理出院、病因等。 病房基本信息报表,包括病房号码、病房等级称、每日价格、床位等。四、数据库设计1、概念设计(E-R
3、图)2、实现设计(关系模式)病房信息表病房号码,病房级别,每日价格,病床数病人信息表编号,姓名,性别,年龄,入院日期,出院日期,是否出院,病因住房信息表编号,性别,病房号码,病房级别,床位病人,病房号码为外键,分别依赖于病人编号,病房号码用户信息表编号,姓名,密码,身份3、物理设计(1)、病房信息表:(2)、病人信息表:(3)、住房信息表:(4)、用户信息表: 五、系统设计1、概要设计医院住院管理系统病人信息管理入院信息登记病房分类入住情况出院信息登记用户管理密码管理病房信息管理系统管理住院业务管理病人信息查询入住情况查询六、实现过程1、菜单设计2、界面设计,控件属性设计,添加程序代码(1)登
4、录界面对象名属性属性值Form1CaptionForm1Lable1Caption欢迎访问医院住院管理系统Lable2Caption姓名Lable3caption密码Command1caption登录Command2caption退出optiongroup1buttoncount2(管理员或病人)Text2passwordchar用户信息表密码Text1namechar用户信息表姓名“登陆”按钮的click事件代码如下:use 用户信息locate for alltrim(姓名)=alltrim(thisform.text1.value) if .not.found() messagebox(
5、没有该用户!) else if thisform.optiongroup1.option1.value=1 if alltrim(身份)=管理员 if alltrim(密码)=alltrim(thisform.text2.value) messagebox(欢迎访问系统!) do form 管理员主页 else messagebox(密码错误!) endif else messagebox(身份不匹配!) endif else if alltrim(身份)=病人 if 密码=alltrim(thisform.text2.value) messagebox(欢迎访问系统!) do form 病人
6、主页 else messagebox(密码错误!) endif else messagebox(身份不匹配!) endif endif endif“退出”的事件代码如下:thisform.release(2)主菜单(管理员登录)对象名属性属性值Form1Caption管理员主页(主界面)Lable1Caption欢迎使用住院系统Command1caption添加Command2caption修改Command3caption查询Command4caption统计Command5caption系统信息Command6caption退出2-1 住院业务管理功能选择入院登记,进入如下界面:s对象属性
7、属性值Text1controlsource姓名Text2controlsource编号Text3controlsource性别Text4controlsource年龄Edit1病因Label1Caption入院登记Form1Caption入院登记Command1Caption查上一个编号Command2Caption确定Command3Caption退出“查上一个编号”按钮的click事件代码如下:go reccount()-1thisform.label5.caption=编号“确定”按钮的click事件代码如下:append blankreplace 编号 with thisform.Te
8、xt2.valuereplace 年龄 with thisform.text4.valuereplace 性别 with thisform.text3.valuereplace 姓名 with thisform.Text1.valuereplace 病因 with thisform.edit1.valuemessagebox(已登记!)thisform.refresh“退出”的click事件代码如下:thisform.release选择出院登记,进入如下界面:对象属性属性值Text1controlsource姓名Text2controlsource编号Text3Controlsource是否办
9、理出院Command1Caption确定Command2Caption退出“确定”按钮的click事件代码如下:locate for 编号=alltrim(thisform.text1.text)if found() thisform.Text1.value = 姓名 replace 病人信息.是否已办理出院 with thisform.text3.value messagebox(是否办理出院:+alltrim(thisform.text3.value)else messagebox(编号输入有误!)endif thisform.refresh“退出”按钮的click事件代码如下:thisf
10、orm.release2-2、病人信息管理功能对象属性属性值Form1Caption病人基本信息查询Command1caption第一个Command2caption上一个Command3caption下一个Command4caption最后一个Command5caption修改Text1Caption姓名Text2Caption编号Text3Caption年龄Text4Caption性别Text5Caption入院日期Text6Caption出院日期Text7Caption病因“第一个”按钮的click事件代码如下:go topthisform.refresh“上一个”按钮的click事件代
11、码如下:if bof().or.recno()=1 messagebox(已到首记录,48,退出)else skip -1endif thisform.refresh“下一个”按钮的click事件代码如下:if eof().or.recno()=reccount() messagebox(已到末记录,48,返回)else skipendifthisform.refresh“最后一个”按钮的click事件代码如下:go bottomthisform.refresh“修改”按钮的click事件代码如下:editthisform.refresh“添加”按钮大的click事件代码如下:append b
12、lankeditthisform.refresh“删除”按钮的click事件代码如下: delete packthisform.refresh“退出”按钮的click事件代码如下:thisform.release“查询”按钮的click事件代码如下:do form 病人信息查询点击“查询”,进入如下界面:“查询”按钮的click事件代码如下:locate for 编号=alltrim(thisform.text1.value)thisform.refreshif not found() messagebox(输入编号有误!)endif“退出”的click事件代码如下:Thisform.rele
13、ase2-3、病房信息管理功能对象属性属性值Form1Caption病房登记text1controlsource编号Text2controlsource姓名Text3controlsource病房号码Text4controlsource病房级别Text5controlsource床位Command1caption确定Command2caption退出“确定”按钮的click事件代码如下:append blankreplace 编号 with thisform.text1.valuereplace 病房号码 with thisform.text3.valuereplace 床位 with thi
14、sform.text5.valuereplace 姓名 with thisform.text2.valuereplace 病房等级 with thisform.text4.valuethisform.refreshmessagebox(已登记!)“退出”的click事件代码如下:thisform.release对象属性属性值Form1Caption病房查询text1controlsource请输入编号Text2controlsource姓名Text3controlsource性别Text4controlsource入院日期Text5controlsource出院日期Command1captio
15、n查询Command2caption删除Command3caption退出“查询”按钮的click事件代码如下:locate for 编号=alltrim(thisform.text1.value) thisform.refresh if not found() messagebox(没有该病人!) endif “删除”按钮的click事件代码如下:delete packthisform.refreshmessagebox(已删除!)“退出”按钮的click事件代码如下:thisform.release2-4、信息统计功能点击“病人统计”进入如下界面:点击“病房统计”进入如下界面:点击“病人病
16、房统计”进入如下界面:点击“本系统用户统计”进入如下界面:(3)、主菜单(病人管理功能)选择身份为:病人,姓名为:李儒,密码为:123456.进入如下界面:3-1、点击“病人信息查询”进入如下界面(代码及控件属性如前):3-2、点击“病人病房查询”进入如下界面(代码及控件属性如前):七、调试过程 八、总结 本设计报告以医院住院管理系统为背景,论述了开发医院住院管理系统的结构,系统开发的基本步骤和方法该系统的开发主要是采用面向对象开发模型,根据需要进行了较详细的说明通过开发这个医院住院管理系统,进一步明确了开发研制一个管理信息系统的方法和思想,加深了对管理信息系统的认识,提高了学习管理信息系统的
17、兴趣,巩固了以前学到的信息系系统开发方法方面的知识,提高了软件开发的水平,为今后在工作岗位上学用好计算机打下了坚实的基础。 在桌面型数据库应用中,Visual FoxPro处理速度极快,是日常工作中的得力助手。它整合了数据存储和数据开发语言两种功能,是所有开发语言所不具有的,虽然VFP的文本型数据库安全性比较差,但是速度和性能是非常不错的。 从最初的VFP程序结构的熟悉,到SQL语言四大语句的操作,再到表单,菜单,报表等实际操作运用。熟悉表单中,属性,事件,方法的区别及其运用。然后把前面学到的程序结构,命令函数等运用到具体的模块操作中去,同时要结合模块本身的一些特点适当调整。还有,经过这次系统
18、的开发,我深深感受道用户需求对软件的重要性,做好需求分析对整个系统的开发和扩展有很大的好处。接下来就是分析用户工作流程,通过分析实例得到系统的流程图。总的来说,我深感这次的开发令我获益匪浅,这次的开发经验也将在我今后的软件开发过程中起极大的作用。 但是,期间遇到了不少困难,登录界面花了不少时间,如何根据不同用户的登陆进入不同界面,判断姓名、密码的符合程度等。数据库语言的运用也不是很熟悉,查阅了大量的资料。另外,一些系统测试做的还不完善,出错提示,快捷键的处理总之,通过这个医院住院系统,我充分了解了VF程序设计的全过程,不敢说自己已经掌握了VF,但如果下次还需要使用VF进行开发的话,应该能够得心应手了。