四. 医院病房管理系统
医院的另外一个重要组成部分就是病房,每个医院都由大大小小的数十甚至上百个病房组成,每个病房又由与大小不等,分为许多的床位等信息,这些信息如果还是用手工来管理的话及其容易混淆,并且也非常难管理,所以这套医院管理系统特意设计可医院病房管理这个子系统来方便医院工作人员管理病房。
病房管理系统可以实现病房信息的查询,修改,更新等功能,可以完成对医院病房的实时更新和信息查询,以及对资料和信息的维护和管理。系统包含了一张数据表,即病房状况信息表:
病房ID:此项为自动编号,一经写入则不可修改,它是整个表的主键,唯一标识了一间病房。
病房编号:这个是在医院里,医生为方便查找病房信息而为各个病房进行的编号。
病房星级:病房的等级区别,包括是否有空调,彩电,卫生间等,和宾馆的星级的指标差不多。
病床数:标志每个病房所包含的病床数量。 病床价格:每天病人所需支付的价格。
病房地址:表示病房的地理位置,如几栋几楼等。 备注信息等,具体的ER图如下:
病房 备注 病房ID 病房编号 病房地址 病房星级 病床价格 病床数
三.数据库的设计
完成了以上各个模块的分析之后,便可以开始对数据库进行设计了,数据库的设计在整个应用程序过程中都占据了及其重要的作为和地位,数据库设计的好坏直接影响了程序的运行效率和程序的正确性等。
好的数据库结构设计可以减少数据库的存储量,提高数据库的完整性和一致性,使系统具有较快的响应速率。因此,数据库的设计对于软件的好坏来说起了至关重要的作用。
根据以上四个模块的具体分析,我为数据库设计了四张表,分别是:worker(职工信息表),secker(病人信息表),tools(医院器材信息表),rooms(医院病房信息表)。
四张表分别对应四个模块功能的实现。根据以上的分析过程,设计的数据项和数据结构如下:
职工信息表worker(员工ID,员工编号,姓名,性别,年龄,岗位,籍贯,身份证号,参加工作时间,家庭住址,电话号码,手机号码,电子邮件,QQ号码,目前月薪,所在部门,迟到奖惩情况,备注)
病人信息表secker(病人ID,病人编号,主治医生,房间号,病床号,姓名,性别,年龄,家庭住址,电话号码,病因,用药,住院时间,备注)
医院器材信息表tools(药剂ID,药剂代号,药剂性质,药剂名称,药剂价格,库存数量,备注)
医院病房信息表rooms(病房ID,病房编号,病房星级,病床数,病床价格,病房地址,备注)
各个数据表之间都有其对应的关系,具体的E-R图如下:
数据库关系E-R图
药剂代号 ……… 员工编号 员工ID 药剂 员工 ………… 药剂性质 岗位 药剂分类 药剂名称 照顾 病人ID 使用 姓名 性别 使用药剂 病人 房间号 住宿 住院时间 病房 备注 ………… 主治医生 病房ID 病房编号 病房地址 病房星级 病床价格 病床数
四.程序实现及相关截图
五.课程设计心得
一个周的软件实例分析课程设计很快过去了,在这次课程设计中我学到了不少也收获了不少。从刚开始的课程设计选题到最后课程设计论文的完成经历了一段不小的过程,也是这段过程,让我在软件实例分析方面的学习更加深入和透彻,也增加了不少动手能力。
这次我课程设计选择的题目是医院管理系统,同时也是选择的人比较少的一个系统。对于选择这个系统,我也考虑了很久,因为人事管理系统实现起来比较简单,并且以前已经做过这个系统,可以减少不少的工作量,因此也考虑过,但是从实用性质来说却不是很好。因此选择了医院管理系统来实现,总体上可能会有一定难度,但是还是坚持了下来,毕竟这也是一个挑战自我的过程。
在课程设计刚开始的时候,我在网上查阅了大量的资料,同时也参考了类似的系统,分析并总结出自己所需要实现的目标。我设计的医院管理系统主要由四个小的模块组成,没个模块都有着自己的功能,同时,整个系统又全都围绕核心的病人管理系统展开,实现了各自独立而功能统一的特点。
在课程设计的过程中遇到了不少的问题,首先最犯难的是用什么语言来实现这个系统,毕竟这也算一个规模不小的系统,因此实现起来代码上也有一定的难度。
由于自己主要精通于B/S的系统设计,因此再三考虑之后,决定用B/S模式来实现它,并且采用时下最为流行的PHP语言和mysql数据库来编程实现。
在决定了自己的目标之后,我又到处查阅资料,也向图书馆借了一堆PHP的参考书籍,开始一步一步来实现它。由于之前已经做过不少PHP的数据库的系统,因此这次实现起来还算比较顺利,否则一个周的课程设计根本是不可能完成这样一个系统的。不过最后完成这个系统之后自己也有些欣慰。
最后还是要感谢老师给了我这样一个动手的机会能够加强对软件实例分析的实战操作,使我加深了软件实例分析过程中的常见问题的解决方案,也让我更加透彻的了解了软件设计的整个过程,同时也为今后更好的学习打下了良好的基础。
04软件工程3班 董琪
2007-7-11