java课设 医院管理信息系统.docx

上传人:b****8 文档编号:9141877 上传时间:2023-02-03 格式:DOCX 页数:46 大小:342.59KB
下载 相关 举报
java课设 医院管理信息系统.docx_第1页
第1页 / 共46页
java课设 医院管理信息系统.docx_第2页
第2页 / 共46页
java课设 医院管理信息系统.docx_第3页
第3页 / 共46页
java课设 医院管理信息系统.docx_第4页
第4页 / 共46页
java课设 医院管理信息系统.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

java课设 医院管理信息系统.docx

《java课设 医院管理信息系统.docx》由会员分享,可在线阅读,更多相关《java课设 医院管理信息系统.docx(46页珍藏版)》请在冰豆网上搜索。

java课设 医院管理信息系统.docx

java课设医院管理信息系统

医院管理信息系统

1需求分析

1.1现状

当前,医院作为病人就诊的地方,有许多信息需要处理和管理。

现今,有很多门诊信息都是初步开始使用,甚至尚未使用计算机进行信息处理。

根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于医历等很多信息都是用人工计算、手抄进行。

数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。

总的来说,缺乏系统,规范的信息管理手段。

数据处理手工操作,工作量大,出错率高,出错后不易更改。

基于这此问题,我认为有必要建立一个医院管理系统,使医院管理工作规范化,系统化,程序化,避免医院管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改医院情况。

医院信息系统简称HIS,是HospitalInformationSystem的简称,是指利用计算机和网络通信设备,为医院所属的各个部门提供病人诊疗和行政管理信息的手机、存储、处理提取和数据交换的能力。

此次我课程设计的目标就是设计一个能使医院的管理工作系统化、规范化、自动化的系统,从而提高医院管理工作的效率。

1.2模块功能

本系统功能主要包括:

员工信息、病人信息、药剂管理、仪器管理、工资管理、病床管理。

员工信息:

储存了医院的医务人员的基本情况,包括员工编号,姓名,性别,所在部门,联系电话等信息。

员工各种的查询、修改,包括员工基本信息、职称、岗位、工资等。

员工的人事调动管理。

病人信息:

病人基本资料表中所有项目(姓名,性别,婚否,出生日期,职业,职称,门诊诊断),病人基本资料表录入、修改、删除、复制。

药剂管理:

实现对医院药品信息的分类管理和数据分析,从而使信息整理快速、准确、简单,以便于相关部门给予统筹安排,从而提高改进传统的管理方法,提高企业管理水平。

仪器管理:

保存了医院所需医疗用品的基本情况,库存量和单品价格。

以便管理人员查看,随时进行补货。

工资管理:

存储医生员工号,工资级别和工资总额,管理人员可以进行增删查改。

病床管理:

实现床位分配、空床查询、包床/退床、转床出院处理。

图1.功能结构图

1.3用例图

图2.用例图

2系统设计

2.1识别需求文档中的类

1.管理员管理员工编号,姓名,性别,所在部门,联系电话等信息,进行增删查改。

普通用户查看员工信息。

2.管理员设置病人姓名,性别,婚否,出生日期,职业,职称,门诊诊断,进行病人基本资料表录入、修改、删除、查询。

3.管理员实现对医院药品信息的分类管理,进行增删查改。

4.管理员保存医院所需医疗用品的基本情况,库存量和单品价格。

5.管理员录入医生员工号,工资级别和工资总额,进行增删查改。

普通用户查看自己的工资。

6.管理员实现床位分配、空床查询、包床/退床、转床出院处理。

需求文档中的名词/名词短语,按照出现顺序,从左到右排列(不重复):

管理员(admin)、普通用户(person)、病人(invalid)、药品(stuff)、医疗用品)(apparatus、工资(pay)、床位(bed)。

2.2初步建模类及类间关系

员工信息包括:

医生编号、姓名、性别、学历、职务、所在科室。

病人基本情况描述包括病人的病人编号、姓名、性别、联系电话、籍贯、国家、民族、身份证号、健康状况、科室名称、病房号、床号。

病号唯一确定一个病人。

药品信息描述包括:

药品编号、药品名称、库存量、单价。

仪器信息描述包括:

仪器代号、名称、单价、数量。

床位信息描述包括床号、病房号、是否已住人。

一个床号和病房号唯一确定一个床位情况。

2.3初步的UML图

Database

+sql:

String

+url:

String

+user:

String

+password:

String

+<>Database()

+OpenConn():

void

+executeQuery(insql:

String):

ResultSet

+executeUpdate(insql:

Sring):

boolean

+closestmt():

void

+closeConn():

void

图3.DatabaseUML设计

Apparatus

+Datas:

String

+Columntitles:

String

+type:

int

+<>Apparatus(indatas:

String[][],intype:

int)

+actionPerformed(ine:

ActionEvent):

void

图4.ApparatusUML设计

 

Invalid

+datas:

String

+columntitles:

String

+type:

int

+<>Invalid(indatas:

String[][],intype:

int)

+actionPerformed(ine:

ActionEvent):

void

图5.InvalidUML设计

Personcheck

-pclass:

String

+columns:

String

+datas:

String

+<>Personcheck(indata:

String[][])

+actionPerformed(ine:

ActionEvent):

void

图6.PersoncheckUML设计

Invalidupdate

+<>Invalidupdate()

+actionPerformed(ine:

ActionEvent):

void

图7.InvalidupateUML设计

Invalidcheck

-pclass:

String

+columns:

String

+datas:

String

+<>Invalidcheck(indata:

String[][])

+actionPerformed(ine:

ActionEvent):

void

图8.InvalidcheckUML设计

Invalidadd

-pclass:

String

+<>Invalidadd()

+actionPerformed(ine:

ActionEvent):

void

图9.InvalidaddUML设计

InvalidBean

sql:

String

iname:

String

sex:

string

pclass:

String

state:

String

doctor:

String

itime:

String

rno:

String

bno:

String

Add(inname:

String,insex:

String,intime:

String,inplass:

String,instate:

String,indoctor:

String,inrno:

String,inbno:

String):

void

searchInvalidiname(ininame:

String):

String[]

editInvalid(ininame:

String,insex:

String,initime:

String,inplass:

String,instate:

String,indoctor:

String,inrno:

String,inbno:

String):

void

deleteInvalid(ininame:

String):

void

searchAllInvalidor(ininame:

String,initime:

String,inpclass:

String,instate:

String,inrno:

String,inbno:

String):

String[][]

searchAllInvalidand(ininame:

String,initime:

String,inpclass:

String,instate:

String,inrno:

String,inbno:

String):

String[][]

getAlliname():

String[]

refresh():

String[][]

图10.InvalidBeanUML设计

3系统实现

3.1UML类图转换成Java代码框架

1Database.Java是数据库连接,源代码如下:

publicclassDatabase{

publicDatabase(){

}

publicvoidOpenConn()throwsException{

try{

}

catch(Exceptione){

}

}

publicResultSetexecuteQuery(Stringsql){

}

catch(SQLExceptione){

}

}

publicbooleanexecuteUpdate(Stringsql){

}

publicvoidcloseStmt(){

}

}

publicvoidcloseConn(){

publicstaticvoidmain(String[]args)throwsException

}

}

2Personframe.java为员工信息窗口的代码,可以进行查询,删除,刷新,修改,源代码如下:

publicclassPersonFrameextendsJFrameimplementsActionListener

{privateJButtonbutton_add;

privateJButtonbutton_check;

privateJButtonbutton_delete;

privateJButtonbutton_refresh;

privateJButtonbutton_update;

privateJTabletable;//表格组件

privateDefaultTableModeltableModel;

Stringdatas[][];

String[]columntitles={"员工号","员工姓名","性别","所在部门","身份证","生日","籍贯","国家","民族","婚姻状况","健康状况","工作时间","家庭住址","联系电话"};

publicPersonFrame(Stringdatas[][],inttype)

{

publicbooleanisCellEditable(introw,intcolumn)

{

returnfalse;}//表格不允许被编辑

};

}

@Override

publicvoidactionPerformed(ActionEvente){

}

publicstaticvoidmain(String[]args)//测试方法

{

//newPersonFrame(null,0);

}

}

3Invalid.java是病人管理模块的代码,可以进行入院,查询,刷新和更新的操作,源代码如下:

publicclassInvalidextendsJFrameimplementsActionListener

{

privateJButtonbutton_add;

privateJButtonbutton_check;

privateJButtonbutton_edit;

privateJButtonbutton_refresh;

privateJButtonbutton_delete;

privateJTabletable;//表格组件

privateDefaultTableModeltableModel;

Stringdatas[][];

String[]columntitles={"病人姓名","病人性别","入院时间","所属科室","病人状况","主治医生","病房号","病床号"};

publicInvalid(Stringdatas[][],inttype)

{

publicbooleanisCellEditable(introw,intcolumn)

{

returnfalse;}//表格不允许被编辑

};

}

@Override

publicvoidactionPerformed(ActionEvente){

}

publicstaticvoidmain(String[]args)//测试方法

{

//newInvalid(null,0);

}

}

4Apparatus.java是对仪器进行管理,源代码如下:

publicclassApparatusextendsJFrameimplementsActionListener

{

privateJButtonbutton_add;

privateJButtonbutton_check;

privateJButtonbutton_edit;

privateJButtonbutton_refresh;

privateJButtonbutton_delete;

privateJTabletable;//表格组件

privateDefaultTableModeltableModel;

Stringdatas[][];

String[]columntitles={"仪器代号","仪器名称","仪器价格","仪器数量","备注"};

inttype;

publicApparatus(Stringdatas[][],inttype)

{

publicbooleanisCellEditable(introw,intcolumn)

{

returnfalse;}//表格不允许被编辑

};

}

@Override

publicvoidactionPerformed(ActionEvente){

publicstaticvoidmain(String[]args)//测试方法

{

newApparatus(null,0);

}

}

5Stuff.java是药剂管理,可以查询库存药品的信息,源代码如下:

publicclassStuffextendsJFrameimplementsActionListener

{privateJButtonbutton_add;

privateJButtonbutton_check;

privateJButtonbutton_edit;

privateJButtonbutton_refresh;

privateJButtonbutton_delete;

privateJTabletable;//表格组件

privateDefaultTableModeltableModel;

Stringdatas[][];

String[]columntitles={"药剂代号","药剂名称","药剂价格","储存量","备注"};

inttype;

publicStuff(Stringdatas[][],inttype)

{

}

@Override

publicvoidactionPerformed(ActionEvente){

}

publicstaticvoidmain(String[]args)//测试方法

{

newStuff(null,0);

}

}

6Pay.Java是对员工工资进行管理录入的操作,源代码如下:

publicclassPayextendsJFrameimplementsActionListener

{privateJButtonbutton_add;

privateJButtonbutton_check;

privateJButtonbutton_edit;

privateJButtonbutton_refresh;

privateJButtonbutton_delete;

privateJTabletable;//表格组件

privateDefaultTableModeltableModel;

Stringdatas[][];

String[]columntitles={"员工号","工资等级","工资总额"}

publicPay(Stringdatas[][])

{

}

@Override

publicvoidactionPerformed(ActionEvente){

}

publicstaticvoidmain(String[]args)//测试方法

{

newPay(null);

}

}

7Bed.java是对医院病床进行管理,显示病房及病床的使用信息,源代码如下:

PublicclassBedextendsJFrameimplementsActionListener

{privateJButtonbutton_add;

privateJButtonbutton_check;

privateJButtonbutton_refresh;

privateJButtonbutton_delete;

privateJTabletable;//表格组件

privateDefaultTableModeltableModel;

Stringdatas[][];

String[]columntitles={"病床号","病房号","状态"};

publicBed(Stringdatas[][])

{

publicbooleanisCellEditable(introw,intcolumn)

{returnfalse;}//表格不允许被编辑

};

}

@Override

publicvoidactionPerformed(ActionEvente){

}

publicstaticvoidmain(String[]args)//测试方法

{

newBed(null);

}

3.2添加表示层,实现交互功能

3.2.1Login类

系统的用户有管理员、医生,因此,在进入主界面之前,应该先弹出登录界面,要求用户输入用户编号(姓名可能重名)和登录口令,以验证用户身份。

因此,我们首先需要设计一个登录界面——Login类。

设计思路:

实现界面外观,添加交互功能。

登录过程中需要进行用户ID与密码的验证。

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

publicclassLoginextendsJFrameimplementsActionListener

{

privateJLabeluser,password;

privateJTextFieldtext_user;//用户名文本行

privateJPasswordFieldtext_password;//密码文本行

privateJButtonbutton_ok,button_cancel;

privateJComboBoxtypeBox;

JLabeljlabel;

publicbooleanisLogin=false;//判断登录是否成功

publicLogin()

{super("用户登录");

this.setSize(240,150);

this.setLocation(550,200);

this.setBackground(Color.lightGray);

this.setResizable(false);

this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

this.getContentPane().setLayout(newFlowLayout());

jlabel=newJLabel("欢迎登陆医院管理信息系统",JLabel.CENTER);

this.getContentPane().add(jlabel);

user=newJLabel("用户名:

");

user.setFont(newFont("Dialog",0,12));

this.getContentPane().add(user);

text_user=newJTextField(15);

text_user.setEditable(true);

this.getContentPane().add(text_user);

password=newJLabel("密码:

");

password.setFont(newFont("Dialog",0,12));

this.getContentPane().add(password);

text_password=newJPasswordField(15);

this.getContentPane().add(text_password);

Stringtypes[]={"普通用户","管理员"};

typeBox=newJComboBox(types);

button_ok=newJButton("登录");

button_ok.setFont(newFont("Dialog",0,12));

this.getContentPane().add(newLabel());

this.getContentPane().add(typeBox);

this.getContentPane().add(button_ok);

button_ok.addActionListener(this);

button_cancel=newJButton("取消");

button_cancel.setFont(newFont("Dialog",0,12));

this.getContentPane().add(button_cancel);

button_cancel.addActionListener(this);

this.setVisible(true);

}

publicvoidactionPerformed(ActionEvente)//单击事件处理方法

{Stringusername=text_user.getText();

Stringpassword=newStri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1