还剩41页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
医院管理信息系统1需求分析
1.1现状当前,医院作为病人就诊的地方,有许多信息需要处理和管理现今,有很多门诊信息都是初步开始使用,甚至尚未使用计算机进行信息处理根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于医历等很多信息都是用人工计算、手抄进行数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找总的来说,缺乏系统,规范的信息管理手段数据处理手工操作,工作量大,出错率高,出错后不易更改基于这此问题,我认为有必要建立一个医院管理系统,使医院管理工作规范化,系统化,程序化,避免医院管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改医院情况医院信息系统简称是的简称,是指利用计算机和网络通HIS,Hospital InformationSystem信设备,为医院所属的各个部门提供病人诊疗和行政管理信息的手机、存储、处理提取和数据交换的能力此次我课程设计的目标就是设计一个能使医院的管理工作系统化、规范化、自动化的系统,从而提高医院管理工作的效率
1.2模块功能本系统功能主要包括员工信息、病人信息、药剂管理、仪器管理、工资管理、病床管理员工信息储存了医院的医务人员的基本情况,包括员工编号,姓名,性别,所在部门,联系电话等信息员工各种的查询、修改,包括员工基本信息、职称、岗位、工资等员工的人事调动管理病人信息病人基本资料表中所有项目(姓名,性别,婚否,出生日期,职业,职称,门诊诊断),病人基本资料表录入、修改、删除、复制药剂管理实现对医院药品信息的分类管理和数据分析,从而使信息整理快速、准确、表格不允许被编辑return false;}//;@Overridepublic voidactionPerfdrmedActionEvent e{〃测试方法public staticvoid mainString[]argsnew Apparatusnull,O;}是药剂管理,可以查询库存药品的信息,源代码如下5Stuff,java public class StuffextendsJFrame implementsActionListener{private JButton button_add;private JButton button check;private JButtonbutton_edit;private JButtonbutton_refresh;private JButtonbutton delete;〃表格组件private JTabletable;private DefaultTableModeltableModel;String datas[][];{〃药剂代号〃,〃药剂名称〃,〃药剂价格〃,〃储存量〃,〃String[]columntitles=备注〃};int type;口口,public StufffString datas int type}@Overridepublic voidactionPerformedActionEvent e{〃测试方法public staticvoid mainString[]argsnew StuffnullO;5是对员工工资进行管理录入的操作,源代码如下6PayJavapublic classPay extendsJFrame implementsActionListener{private JButtonbutton_add;private JButtonbutton_check;private JButtonbutton_edit;private JButtonbutton_refresh;private JButtonbutton_delete;〃表格组件private JTabletable;private DefaultTableModeltableModel;String datas[][];口{员工号”,〃工资等级”,〃工资总额”}String columntitles=public PayString datas[][]}@Overridepublic voidactionPerfbrmedActionEvent e{〃测试方法public staticvoid mainString[]argsnew Paynull;}是对医院病床进行管理,显示病房及病床的使用信息,源代码如下:7Bed.javaPublic classBed extendsJFrame implementsActionListener{private JButtonbutton_add;private JButtonbutton_check;private JButtonbutton_refresh;private JButtonbutton_delete;〃表格组件private JTabletable;private DefaultTableModeltableModel;String datas[][];口{“病床号病房号状态”};String columntitles=Jpublic BedString datas[][]public boolean isCellEditableint row,int column表格不允许被编辑{return false;}//;@Overridepublic voidactionPerfbrmedActionEvent e{〃测试方法public staticvoid mainString[]args JnewBednull;
3.2添加表示层,实现交互功能
3.
2.1Log in类系统的用户有管理员、医生,因此,在进入主界面之前,应该先弹出登录界面,要求用户输入用户编号姓名可能重名和登录口令,以验证用户身份因此,我们首先需要设计一个登录界面——类Loginname passwordflag1admin\admin0000xiayu1110fannji2220luhaijuan3330xinchao设计思路实现界面外观,添加交互功能登录过程中需要进行用户与密码的验证IDimport java.awt.*;import javax.swing.*;import java.awt.event.*;public classLogin extendsJFrame implementsActionListenerprivate JLabeluser,password;〃用户名文本行private JTextField text user;〃密码文本行private JPasswordFieldtext_password;private JButtonbutton_ok button_cancel;9private JComboBoxtypeBox;JLabel jlabel;〃判断登录是否成功public booleanisLogin=false;public LoginQ用户登录{superthis.setSize240l50;5this.setLocation550200;5this.setBackgroundColor.lightGray;this.setResizablefalse;this.setDefaultCloseOperationDISPOSEONCLOSE;this.getContentPane.setLayoutnew FlowLayout;jlabel=new JLabel欢迎登陆医院管理信息系统M JLabel.CENTER;this.getContentPane.addjlabel;用户名”;user=new JLabeluser.setFontnew FontnDialogn,0,l2;this.getContentPane.adduser;text_user=new JTextField15;text_user.setEditabletrue;this.getC ontentPane.addtext_user;密码”;password=new JLabelpassword.setFontnew FontnDialogn,0,12;this.getContentPane.addpassword;text_password=new JPasswordField15;this.getContentPane.addtext_password;{“普通用户管理员};String types[]=JtypeBox=new JComboBoxtypes;登录;button_ok=new JButtonbuttonok.setFontnew FontnDialognOJ2;,this.getContentPane.addnew LabelQ;this.getContentPane.addtypeBox;this.getC ontentPane.addbutton_ok;buttonok.addActionListenerthis;取消;button_cancel=new JButtonbutton_cancel.setFontnew FontnDialogn0l2;5this.getContentPane.addbutton_cancel;button_cancel.addActionListenerthis;this.setVisibletrue;}…〃单击事件处理方法public voidactionPerformedActionEvent e{String username=text_user.getText;String password=new Stringtext_password.getPassword;〃单击退出按钮if e.getSource=button_cancel{this.setVisiblefalse;}elseif username.equalsnn请输入用户名;JOptionPane.showMessageDialogthis Jelse ifpassword.equalsnn密码不能为空,请输入密码JOptionPane.showMessageDialogthis,”else〃单击登录按钮if e.getSource=button_ok一LoginBean login=new LoginBeanQ;isLogin=login.enterusemame password;,int type=typeBox.getSelectedlndexQ;ifisLogin{iflogin.Flag=type{new HOSMaintype;}else{登陆身份不正确!”;JOptionPane.showMessageDialogthis,”return;text_user.setTextnn;text_password.setTextnn;}this.setVisiblefalse;}public voidwindowClosingWindowEvent e{}public voidwindowOpenedWindowEvente{}public voidwindowClosedWindowEvent e{}public voidwindowIconifiedWindowEvent e{}public〃打开窗口void windowDeiconifiedWindowEvente{}public void〃关闭窗口后windowActivatedWindowEvent e{}public void〃窗口最小化windowDeactivatedWindowEvent e{}public staticvoid〃窗口恢复mainString args[]throws Exception{new Login;〃激活窗口〃变为不活动窗口〃测试方法
3.
2.2HosMain类类是登录完成后进入的医院管理信息系统的主界面,该界面显示了整个系统的功HosMain能模块代码如下import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;/***系统主界面*/public classHOSMain extendsJFrame implementsActionListener DimensionfaceSize=new Dimension450,550;JPanel contentPane;JButton buttonPersonFrame;JButton buttoninvalid;JButton buttonStuff;JButton buttonApparatus;JButton buttonPay;JButton buttonBed;JButton buttonExit;int type;public HOSMainint type{this.type=type;this.setDefaultCloseOperationEXIT_ON_CLOSE;this.setSize800,500;医院管理系统this.setTitle this.setLocation400,100;员工信息”;buttonPersonFrame=new JButton病人信息”;buttonlnvalid=new JButtonbuttonStuff=new药剂管理;,仪器管理JButton buttonApparatus=new JButton工资管理病buttonPay=new JButtonbuttonBed=new JButton床管理退出系统buttonExit=new JButtonJPanel panel l=new JPanelQ;panel
1.addbuttonPersonFrame;JPanel panel2=new JPanel;panel
2.addbuttonlnvalid;JPanel panel3=new JPanel;panel
3.addbuttonStuff;JPanel panel4=new JPanelQ;panel
4.addbuttonApparatus;JPanel panel5=new JPanelQ;panel
5.addbuttonPay;JPanel panel6=new JPanel;panel
6.addbuttonBed;JPanel panel7=new JPanel;panel
7.addbuttonExit;Imageicon firstpage=new ImageIconnabc.PNGn;this.getContentPane.setLayoutnew BorderLayout;JPanelpanel=new JPanelQ;panel.addpanell;panel.addpanel2;panel.addpanel3;panel.addpanel4;panel.addpane!5;panel.addpanel6;panel.addpanel7;this.getContentPane.addpanel,BorderLayout.NORTH;this.getContentPane.addnew JLabelflrstpage,BorderLayout.CENTER;buttonPersonFrame.addActionListenerthis;buttoninvalid.addActionListenerthis;buttonStuff.addActionListenerthis;buttonApparatus.addActionListenerthis;buttonPay.addActionListenerthis;buttonBed.addActionListenerthis;buttonExit.addActionListenerthis;〃关闭程序时的操作this.add WindowListenernewWindowAdapter{public voidwindowClosingWindowEvent eSystem.exitO;};this.setVisibletrue;public voidactionPerfbrmedActionEvent eifife.getSource=buttonPersonFrame{new PersonFramenull,type;ife.getSource=buttonInvalidnew Invalidnulltype;9ifie.getSource=buttonStuffnew Stuflnulltype;9ife.getSource==buttonApparatus{new Apparatusnull,type;ife.getSource=buttonPaynew Paynull;ife.getSource=buttonBednew Bednull;ifife.getSource=buttonExit您确定退出系统吗,”消息JOptionPane.showConfkmDiak gnullJn JOptionPane.YES_NO_OPTION;System.exitO;}}public staticvoid mainString[]args{new HOSMainl;}
3.
2.3ApparatusBean类点击进入仪器管理的界面,实现添加、修改、查询、删除的操作■仪器管理憎加查询更新刷新删除仪器代号仪器名称仪器价格仪器数里备注00001剪刀201000002纱布1040000003绷带5300import java.util.*;import java.util.Date;import java.sqL*;import java.awt.*;import javax.swing.*;public classApparatusBean{String sql;ResultSet rs=null;String ano;String aname;String aprice;String amount;String explain;public voidaddString ano,String aname,String aprice,String amount,String explain{Database DB=new Database;sql=ninsert intoapparatus values?;+ano+J+aname+”+aprice+J+amount+J+explain+”try{DB.OpenConn;DB.executeUpdatesql;成功添加仪器信息!”;JOptionPane.showMessageDialognullJcatchException e{System.out.printlne;保存失败,错误,JOptionPane.showMessageDialognuH,JOptionPane.ERROR_MESSAGE;finally{DB.closeStmt;DB.closeConnQ;简单,以便于相关部门给予统筹安排,从而提高改进传统的管理方法,提高企业管理水平仪器管理保存了医院所需医疗用品的基本情况,库存量和单品价格以便管理人员查看,随时进行补货工资管理存储医生员工号,工资级别和工资总额,管理人员可以进行增删查改病床管理实现床位分配、空床查询、包床/退床、转床出院处理药员病剂仪工人工病竹器信信资床理管息息管管理管管理理理理医院管理信息系统图1,功能结构图I IIpublic String[]searchApparatusanoString ano{Database DB=new Database;this.ano=ano;String[]s=new String
[5];sql=select distinct*from apparatuswhere ano=H,+ano+,nn;try{DB.OpenConn;rs=DB.executeQuerysql;ifrs.next{s
[0]=rs.getStringl;s[l]=rs.getString2;s
[2]=rs.getString3;s
[3]=rs.getString4;s
[4]=rs.getString5;elses=null;catchException e{finally{DB.closeStmt;DB.closeConn;return s;public voideditApparatusString ano,String aname,String aprice,String amount,String explain{Database DB=new Database;this.ano=ano;this.aname=aname;this.aprice=aprice;this.amount=amount;this.explain=explain;sql=update apparatusset aname=n,+aname+n\aprice-n+aprice+,n amount=9n,+amount+n\explain=n,+explain+n,n;try{DB.OpenConn;DB.executeUpdatesql;成功修改一条仪器信息!JOptionPane.showMessageDialognullJcatchException e{更新失败“错误”,JOptionPane.showMessageDialognulL”JJOptionPane.ERROR_MESSAGE;finally{DB.closeStmt;DB.closeConn;}public String[][]searchAHApparatusorString ano,String aname,String apriceString amount9{this.ano=ano;this.aname=aname;this.aprice=aprice;this.amount=amount;Database DB=new Database;String result[][]=null;sql=select*from apparatuswhere ano-n+ano+n,or aname=,H+aname+fn oraprice-H+aprice+,n oramount-n+amount+nn,;try{DB.OpenConn;rs=DB.executeQuerysql;ResultSetMetaData rsmd=rs.getMetaData;int columns=rsmd.getColumnCount;int rows=0;whilers.next{rows++;}ififrows=0未查询至!符合条件的仪器,请重新输入!一错误{JOptionPane.showMessageDialognull,JJOptionPane.ERROR_MESSAGE;}String s[][]=new String[rows][columns];rs.befbreFirst;fbrint i=O;rs.next;i++fbrint j=l;j=columns;j++s[i][j-l]=rs.getStringj;result=s;}catchException e{}finally{DB.closeStmt;DB.closeConn;return result;public String[][]searchAHApparatusandString ano,String anameString aprice,String9amount{this.ano=ano;this.aname=aname;this.aprice=aprice;this.amount=amount;Database DB=new Database;String result[][]=null;sql=select*from apparatuswhere ano-n+ano+nf andaname=!+aname+!n andaprice-n+aprice+fn andamount-n+amount+,nn;try{DB.OpenConn;rs=DB.executeQuerysql;ResultSetMetaData rsmd=rs.getMetaDataQ;int columns=rsmd.getColumnCount;int rows=0;whilers.next{rows++;ifrows=0未查询至符合条件的仪器,请重新输{JOptionPane.showMessageDialognulL”U入!,错误,JOptionPane.ERROR_MESSAGE;}String s[][]=new String[rows][columns];rs.befbreFirst;fbrint i=O;rs.next;i++fbrint j=l;j=columns;j++s[i][j-l]=rs.getStringj;results;catchException e{finally{DB.closeStmt;DB.closeConn;return result;public String[]getAllano{String[]s=null;int row=0;int i=0;Database DB=new Database;sql=select distinctano from apparatus H;try{DB.OpenConnQ;rs=DB.executeQuerysql;ifrs.last{row=rs.getRow;}ifrow==0{s=null;else{s=new String[row];rs.first;rs.previous;whilers.next{s[i]=rs.getStringl;;i++}catchException e{System.out.printlne;}finally{DB.closeStmt;DB.closeConn;return s;public String[][]refreshDatabase DB=new Database;String result[][]=null;;sql=select*fromapparatus”try DB.OpenConn;rs=DB.executeQuerysql;ResultSetMetaData rsmd=rs.getMetaData;int columns=rsmd.getColumnCount;int rows=0;whilers.nextrows++;iffrows==0没有该仪器记录!提示”」;}{JOptionPane.showMessageDialognullJString s[][]=new String[rows][columns];rs.befbreFirst;fbrint i=O;rs.next;i++fbrint j=1;j=co lumns;j++s[i]|j-l]=rs.getStringj;result=s;}catchException e{finally{DB.closeStmt;DB.closeConn;}return result;}publicString[][]searchAHStuffString text,String text2String text3,9String text4{return null;}}
3.
2.4Apparatusadd类对医院仪器信息进行添加图新增仪器信息仪器代号:仪器名称:00007储存量:仪器价格:10备注:
①成功添加药刘信息!import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public classApparatusadd extendsJFrame implementsActionListener{private JButtonbutton_add;private JButtonbutton cancel;private JButtonbutton_clear;(仪器代号);private JLabellabel_ano=new JLabel仪器名称);private JLabellabel_aname=new JLabel仪器价格private JLabellabel_aprice=new JLabel”);(储存量”);private JLabellabel_amount=new JLabel(备注”);private JLabellabel_explain=new JLabelprivate JTextFieldtext_ano;private JTextFieldtext_aname;private JTextFieldtext_aprice;private JTextFieldtext_amount;private JTextFieldtext_explain;()GridBagLayout gridBag=new GridBagLayout;GridBagConstraints gridBagCon;public Apparatusadd新增仪器信息superthis.setSize700300;9this.setLocation320,120;this.setBackgroundColor.lightGray;this.setResizablefalse;〃添加主this.setDefoultCloseOperationDISPOSEONCLOSE;面板JPanel main=new JPanel;main.setLayoutgridBag;this.getContentPane.addmain/Centern;label_ano.setFontnew FontnDialogn014;95gridBagCon=new GridBagConstraints;〃第歹gridBagCon.gridx=0;0U〃第行gridBagCon.gridy=0;0gridBagCon.insets=new Insets10,10,10,1;gridBag.setConstraintslabel_ano gridBagCon;5main.addlabel_ano;gridBagCon=new GridBagConstraints;gr id BagC on.gr idx=1;gridBagCon.gridy=O;gridBagCon.insets=new Insets10l10,15;text_ano=new JTextField15;gridBag.setConstraintstext_ano gridBagCon;main.addtext_ano;label_aname.setFontnew FontnDialogn014;99gridBagCon=new GridBagConstraints;gridB agCon.gridx=2;gridBagCon.gri dy=0;gridBagCon.insets=new Insets10,15,10,1;gridBag.setConstraintslabel_aname gridBagCon;9main.addlabel_aname;gridBagCon=new GridBagConstraints;gridBagCon.gridx=3;gridBagCon.gridy=0;gridBagCon.insets=new Insetsl0,1JOJO;text_aname=new JTextField15;gridBag.setConstraintstext_aname gridBagCon;5main.addtextaname;label_aprice.setFontnew FontnDialogn0,14;5gridBagCon=new GridBagConstraints;gridBagCon.gridx=0;gridBagCon.gridy=l;gridBagCon.insets=new Insets10,1510J;5gridBag.setConstraintslabel_aprice gridBagCon;9main.addlabel_aprice;gridBagCon=new GridBagConstraints;gridBagCon.gridx=l;gridBagCon.gridy=1;gridBagCon.insets=new Insetsl0,1,10,10;text_aprice=new JTextField15;gridBag.setConstraintstext_aprice gridBagCon;
91.3用例图医院管理信息系统载人宿宜、G K1钝㈣吟N仪罂管理」普地用户匚资管理j\XI I———■_*■—_V病床管理图
2.用例图2系统设计
2.1识别需求文档中的类.管理员管理员工编号,姓名,性别,所在部门,联系电话等信息,进行增删查改普通1用户查看员工信息管理员设置病人姓名,性别,婚否,出生日期,职业,职称,门诊诊断,进行病人基本
2.资料表录入、修改、删除、查询管理员实现对医院药品信息的分类管理,进行增删查改
3.管理员保存医院所需医疗用品的基本情况,库存量和单品价格
4..管理员录入医生员工号,工资级别和工资总额,进行增删查改普通用户查看自己的工5资main.addtext_aprice;label_amount.setFontnew FontnDialogn014;99gridBagCon=new GridBagConstraints;gridBagCon.gridx=2;gridBagCon.gridy=1;gridBagCon.insets=new Insets1015,10,1;9gridBag.setConstraintslabel_amount gridBagCon;main.addlabel_amount;9gridBagCon=new GridBagConstraints;gridBagCon.gridx=3;gridBagCon.gridy=1;gridBagCon.insets=new Insets10J10J0;5text_amount=new JTextField15;gridBag.setConstraintstext_amount gridBagCon;main,addtextamount;9label_explain.setFontnew FontnDialogn,0,14;gridBagCon=new GridBagConstraints;gridBagCon.gridx=0;gridBagCon.gridy=2;gridBagCon.insets=new lnsets101510J;99gridBag.setConstraintslabel_explain gridBagCon;main.addlabelexplain;5gridBagCon=new GridBagConstraints;gr idB agCon.gri dx=1;gridBagCon.gridy=2;gridBagCon.insets=new Insets10l10J0;9text_explain=new JTextField15;gridBag.setConstraintstext_explain,gridBagCon;main.addtext_explain;//添加增加、清空、取消按钮JPanel down=new JPanel;增加;button_add=new JButtonbutton_add.setF ontnewFontnDialog,\0,14;button_add.addActionLi stenerthis;,清空button_clear=new JButtonbutton_clear.setFontnew FontnDialogn,0l4;,button_clear.addActionListenerthis;取消;button_cancel=new JButton“”button cancel.setFontnew FontnDialogn014;button_cancel.addActionListenerthis;down,addbuttonadd;down.addbutton_cl ear;down.addbutton_cancel;this.getContentPane.adddown nSouthn;5this.setVisibletrue;}public voidactionPerfbrmedActionEvent e{ife.getSource=button_add{StuffBean p=new StuffBean;p.addtext_ano.getText text_aname.getText text_aprice.getText,text_amount.getText59,text_explain.getText;}ife.getSource=button_clear{text_ano.setT extnn;text_aname.setT extnn;text_aprice.setT extnn;text_amount.setTextnn;text_explain.setTextnn;ife.getSource=button_cancelthis.setVisiblefalse;}public staticvoid mainString[]argsnew Apparatusadd;
3.
2.5Apparatuscheck类对仪器信息进行查询import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;import javax.swing.table.*;public classApparatuscheck extendsJFrame implementsActionListener设置查询条件”;{private JLabellabel=new JLabel仪器代号”;private JLabellabel_ano=new JLabel仪器名称;private JLabellabel_aname=new JLabel仪器价格n;private JLabellabel_aprice=new JLabel,储存量”;private JLabellabel_amount=new JLabelprivate JTextFieldtextano;private JTextFieldtext_aname;private JTextFieldtext aprice;privateJTextFieldtext_amount;private JButtonbutton_search lbutton_search2button_clear button_cancel;959〃表格组件private JTabletable;private DefaultTableModeltableModel;{仪器代号”,“仪器名称“,“仪器价格”,“仪器数量“,”备String[]columns=注”};String datas[][];GridBagLayout gridBag=new GridBagLayout;GridBagConstraints gridBagCon;public ApparatuscheckStringdata[][]{仪器信息查询”;superthis.setSize800600;9this.setLocation300,80;this.setBackgroundColor.lightGray;this.setResizablefalse;this.setDefaultCloseOperationDISPOSEONCLOSE;this.datas=data;JSplitPane js=new JSplitPaneJSplitPane.VERTICAL SPLIT;JPanel up=new JPanel;up.setLayoutgridB ag;js.addup;this.getC ontentPane.addj s;label.setFontnew FontnDialog,\0l8;9gridBagCon=new GridBagConstraints;〃第列gridBagCon,gridx=0;0I〃第行gridBagCon.gridy=0;gridBagCon.insets=new InsetslOJOJOJ;gridBag.setConstraintslabel,gridBagCon;up.addlabel;label_ano.setFontnew FontMDialogf\014;9gridBagCon=new GridBagConstraints;gridBagCon.gridx=0;gridBagCon.gridy=1;gridBagCon.insets=new Insetsl0,10,10,1;gridBag.setConstraintslabel_ano gridBagCon;,up.addlabel_ano;gridBagCon=new GridBagConstraints;gridBagCon.gridx=1;gridBagCon.gridy=l;gridBagCon.insets=new Insets10,1,10,15;text_ano=new JTextField15;gridBag.setConstraintstext_ano gridBagCon;5up.addtext_ano;label_aname.setFontnew FontnDialog!\0,14;gridBagCon=new GridBagConstraints;gridBagCon.gridx=2;gr idB agCon.gr idy=1;gridBagCon.insets=new InsetslOJOJOJ;gridBag.setConstraintslabel_aname,gridBagCon;up.addlabel_aname;gridBagCon=new GridBagConstraints;gridBagCon.gridx=3;gridBagCon.gridy=1;gridBagCon.insets=new Insetsl0,1,10,15;text_aname=new JTextField15;gridBag.setConstraintstext_aname gridBagCon;9up.addtext_aname;label_aprice.setFontnew FontnDialogn014;99gridBagCon=new GridBagConstraints;gridB agCon.gridx=0;gridBagCon.gridy=2;gridBagCon.insets=new Insets1010,10,1;9gridBag.setConstraintslabel_aprice gridBagCon;up.addlabelaprice;gridBagCon=new GridBagConstraints;gridBagCon.gridx=l;gridB agCon.gri dy=2;」,gridBagCon.insets=new Insets101015;text_aprice=new JTextField15;gridBag.setConstraintstext_aprice,gridBagCon;up.addtext_aprice;label_amount.setFontnew Font,Dialog14;gridBagCon=new GridBagConstraints;gridBagCon.gridx=2;gridBagCon.gridy=2;gridBagCon.insets=new lnsets101010J;99gridBag.setConstraintslabel_amount gridBagCon;5up.addlabelamount;gridBagCon=new GridBagConstraints;gri dBagCon.gri dx=3;gridBagCon.gridy=2;gridBagCon.insets=new Insetsl0,1,10,15;text_amount=new JTextField15;gridBag.setConstraintstext_amount gridBagCon;up.addtext_amount;9gridBagCon=new GridBagConstraints;gridBagCon.gri dx=0;gridBagCon.gridy=4;gridBagCon.gridwidth=2;gridBagCon.insets=new Insets0,2010,15;模糊查询”;button_search1=new JButtonbutton_search
1.setFontnew FontnDialogn014;99gridBag.setConstraintsbutton_search lgridBagCon;9up.addbutton_search1;button_search
1.addActionListenerthis;gridBagCon=new GridBagConstraints;gridBagCon.gridx=2;gr idB agCon.gr idy=4;gridBagCon.gridwidth=2;gridBagCon.insets=new Insets10,20,10,15;叫青确查询;button_search2=new JButtonbutton_search
2.setFontnew FontnDialogn0J4;,gridBag.setConstraintsbutton_search2gridBagCon;9up.addbutton_search2;button_search
2.addActionListenerthis;JSplitPane south=new JSplitPaneJSplitPane.VERTICAL SPLIT;south.setDividerLocation280;//列表框tableModel=new DefaultTableModeldatas,columns;table=new JTabletableModel{public boolean isCellEditableint row,int column表格不允许被编辑return false;}//};JScrollPane scrollPane=new JScrollPanetable;south.addscrollPane;JPanel down=new JPanelQ;down.setLayoutgri dBag;“清空;button_clear=new JButtonbutton_clear.setFontnew FontnDialogH,014;down.addbutton_clear;button_clear.addActionListenerthis;取消;button_cancel=new JButtonbutton_cancel.setFontnew FontnDialogn014;99down.addbutton_cancel;button_cancel.addActionListenerthis;south.adddown;js.addsouth;this.setVisibletrue;public voidactionPerfbrmedActionEvent e{ApparatusBean searchallp=new ApparatusBean;〃或关系查询ife.getSource=button_search1{datas=searchallp.searchAHApparatusandtext_ano.getText text_aname.getText text_9aprice.getText text_amount.getText;9new Invalidcheckdatas;this.setVisiblefalse;全部”;“System.out.printin〃与关系查询ife.getSource=button_search2{datas=searchallp.searchAHApparatusandtext_ano.getText text_aname.getText text_99aprice.getText text_amount.getText;9new Invalidcheckdatas;this.setVisiblefalse;全部//System,out.printinife.getSource=button_clear〃清空列表框datas=null;new Apparatuscheckdatas;this.setVisiblefalse;}ife.getSource=button_cancelthis.setVisiblefalse;〃断开数据库}}〃测试方法public staticvoid mainString[]argsnew Apparatuschecknull;}}其他几个模块的增删查改功能与仪器管理模块的增删查改类似,代码就不一一列举了4总结本课程设计是语言学习中很重要的实践性环节之一我体会到编写程序首先要明java确编程思想,即在编程之前要对程序有一个总体的构思、总体的框架,这样编程时才能条理清晰有时候我们可能会到书上或网上找到一些满足我们要求的程序代码,在此我们应该取其优秀的简单易理解代码作为我们设计程序的代码,作为初学者参考和借用部分外部程序是不可避免,但是我认为前提我们应该看懂那些程序代码,要知其所以管理员实现床位分配、空床查询、包床/退床、转床出院处理
6.需求文档中的名词/名词短语,按照出现顺序,从左到右排列不重复管理员>普通用户>病人>药品>医疗用品>admin personinvalid stuffapparatus工资、床位pay bed
2.2初步建模类及类间关系员工信息包括医生编号、姓名、性别、学历、职务、所在科室病人基本情况描述包括病人的病人编号、姓名、性别、联系电话、籍贯、国家、民族、身份证号、健康状况、科室名称、病房号、床号病号唯一确定一个病人药品信息描述包括药品编号、药品名称、库存量、单价仪器信息描述包括仪器代号、名称、单价、数量床位信息描述包括床号、病房号、是否已住人一个床号和病房号唯一确定一个床位情况
2.3初步的UML图Database+sql:String+url:String+user:String+password:String+«create»Database+OpenConn:void+executeQueryin sql:String:ResultSet+executeUpdatein sql:Sring:boolean+closestmt:void+closeConn:void图
3.Database UML设计Apparatus+Datas:String+Columntitles:String+type:int+«create»Apparatusin datas:String[][]in type:int9+actionPerfdrmedin e:ActionEvent:void然,那样才达到我们学程序的目的,但不主张完全照搬,否则就会没图
4.Apparatus UML设计意义了是一个非常实用的编程语言,通过本次课程设计我学到了很多、也发现了自java己的很多不足,以后会加倍努力学好java5参考资料王淼张奔.《浅谈医院门诊管理系统的设计与实现[日》清华大学出版社
[1]朱福喜.《语言程序设计》(第二版).科学出版社
[2]Java陈国君等.《程序设计基础》(第二版).清华大学出版社
[3]Java《大学基础教程》(第六版).电子工业出版社
[4]Deitel.Java(美)拉曼()著,李洋译《和模式应用》.机械工业出版社
[5]Larman,C.UMLInvalid+datas:String+columntitles:String+type:int+«create»Invalidin datas:String[][]in type:int9+actionPerfbrmedin e:ActionEvent:void图
5.1nvalid UML设计Personcheck-pclass:String+columns:String+datas:String+«create»Personcheckin data:String[][]+actionPerfbrmedin e:ActionEvent:void图
6.Personcheck UML设计Invalidupdate+«create»Invalidupdate+actionPerfbrmedin e:ActionEvent:void图
7.1nvalidupate UML设计Invalidcheck-pclass:String+columns:String+datas:String+«create»Invalidcheckin data:String[][]+actionPerfbrmedin e:ActionEvent:void图
8.Invalidcheck UML设计Invalidadd-pclass:String+«create»Invalidadd+actionPerfbrmedin e:ActionEvent:void图
9.Invalidadd UML设计InvalidBean sql:String iname:String sex:string pclass:String stateString doctor:String itime:Stringmo:Stringbno:StringAddin name:String,in sex:StringJn time:String,in plass:Stringjn state:Stringjn doctor:String,inmo:String in bno:String:void searchlnvalidinameininame:String:String[]9editlnvalidin iname:String,in sex:String in itime:String,in plass:Stringjn state:Stringjn doctor:String inrno:String in bno String:void99deletelnvalidin iname:String voidsearchAHInvalidorininame:String,in itime:StringJn pclass:StringJn state:String,inmo:String,inbno:String:String[][]searchAHInvalidandin iname:String,initime:String,in pclass:String,in state:String in9mo:String,inbno:String:String[][]getAlliname:String[]:refresh String□□图lO.InvalidBean UML设计3系统实现
3.1UML类图转换成Java代码框架是数据库连接,源代码如下:1Database.Javapublic classDatabase{public Database{public voidOpenConnQthrows Exception{try{catchException e{public ResultSetexecuteQueryString sql{catchSQLException e{}public booleanexecuteUpdateString sql{public voidcloseStmt{}public voidcloseConn{public staticvoid mainString[]args throwsException}为员工信息窗口的代码,可以进行查询,删除,刷新,修改,源代码2Personframe,java如下public classPersonFrame extendsJFrame implementsActionListener{private JButtonbutton add;private JButtonbutton_check;private JButtonbutton_delete;private JButtonbutton_refresh;private JButtonbutton_update;〃表格组件private JTabletable;private DefaultTableModeltableModel;Stringdatas[][];{〃员工号〃,〃员工姓名〃,〃性别〃,〃所在部门〃,〃身String[]columntitles=份证〃,〃生日〃,〃籍贯〃,〃国家〃,〃民族〃,〃婚姻状况〃,〃健康状况〃,〃工作时间〃,〃家庭住址〃,〃联系电话〃};public PersonFrameStringdatas[][],int typepublic booleanisCellEditableint row,int column〃表格不允许被编辑return false;};}@Overridepublic voidactionPerfbrmedActionEvent e{〃测试方法public staticvoid mainString[]args{//new PersonFramenull0;9}}是病人管理模块的代码,可以进行入院,查询,刷新和更新的操作,源代3Invalid,java码如下publicclassInvalid extendsJFrame implementsActionListenerprivate JButtonbutton_add;private JButtonbutton_check;private JButtonbutton_edit;private JButtonbutton_refresh;private JButtonbutton_delete;〃表格组件private JTabletable;private DefaultTableModeltableModel;Stringdatas[][];口{〃病人姓名〃,〃病人性别〃,〃入院时间〃,〃所属科室〃,〃String columntitles=病人状况〃,〃主治医生〃,〃病房号〃,〃病床号〃};public InvalidStringdatas[][]int typepublicbooleanisCellEditableintrow,int column表格不允许被编辑return false;}//;@Overridepublic voidactionPerfbrmedActionEvent e{〃测试方法public staticvoid mainString[]args{//new InvalidnullO;9}}是对仪器进行管理,源代码如下4Apparatus,javapublic classApparatus extendsJFrame implementsActionListenerprivate JButtonbutton_add;private JButtonbutton_check;private JButtonbutton edit;private JButtonbutton_refresh;private JButtonbutton_delete;〃表格组件private JTabletable;private DefaultTableModeltableModel;Stringdatas[][];{仪器代号”,“仪器名称“,“仪器价格”,“仪器数量“,“备String[]columntitles=注};inttype;public ApparatusStringdatas[][]inttype9publicbooleanisCellEditableintrow,int column。
个人认证
优秀文档
获得点赞 0