摘 要
进入大学的第二次课程设计中,我们小组选择了住院收费管理系统作为我们课程设计的课题,这个系统的主要目的在于利用面向对象程序设计来实现病人的住院、出院、查阅、更换病房以及出院日期、费用的结算。
此系统我们主要将它划分为三个模块分别为病人、床位、出院、住院、管理、测试,我们也为这三个模块写了相之对应的六个类,依次为病人类、床位类、住院类、出院类、管理类、测试类。以组长为中心,其他两个组员每个人分别负责基本的两个基础个类,由组长进行汇总,再做最后的修改、调整、编译、运行。在汇总的过程中,我们对住院的天数的这一情况设计方法产生了分歧,后来组合在一起之后,发现我们的程序漏洞百出,出现了很多问题,就开始一起进行进一步的修改与完善。从一开始毫无头绪一起慢慢琢磨、慢慢摸索,我们学到了很多,对住院收费管理系统也越来越熟悉。
在设计中,我们通过分工完成每一个模块,并将它们整合起来,完成了这次设计。在设计中我们利用了Eclipse这个平台来修改及实现我们的程序。充分利用了java的面向对象的特点,让我们的程序架构更清晰、系统更加简洁。
关键词: 住院;收费;管理;系统;病人;床位;java;Eclipse
一、开发背景
医院住院是现在百姓热议的话题之一,常常会有需要住院而没有床位的情况发生,为了优化住院收费管理,提高医院床位流通的效率,我们小组在此背景下开发了这一款住院收费管理系统。
二、需求分析
一个住院收费管理系统,有两个主要的实体(病人、床位),和实现注册、分配床位、收费、管理的功能。病人—姓名、病龄、编号、状态(是否住院);床位—科室、床位号、价格;
实现记账、收费、管理的功能我们放在测试类中实现。
三、模块说明
3.1 入院模块
功能描述:此模块的主要功能是实现病人入院的信息登记和实现
输入:姓名、病龄、身份证号码、入院时间、出院时间
输出:入住成功
3.2 出院模块
功能描述: 此模块的主要功能是清空病房和结清费用、注销病人信息
输入:病人姓名
输出:病人个人信息以及应结算的住院费用
3.3 查询模块
功能描述: 查询病人信息
输入:病人姓名
输出: 住院病人信息或不存在此病人
3.4 更换病房模块
功能描述: 更改病人病房以及出院日期
输入:病人姓名、需要变更的项目
输出:变更成功
四、详细设计
4.1 Patient类
类名:Patient
继承父类:无
实现接口:无
概述:定义病人类,病人信息
属性及说明:
double illages ; //病龄
int IDpatient ; //病人ID
int state; //状态
方法及说明:
public Patient(String names,int illages, int IDpatient,int state) //Patient构造方法
4.2 Bed类
类名:Bed
继承父类:无
实现接口:无
概述:定义病床类,病人所住病房科室及信息
属性及说明:
String sickroom; //科室
int bedroomnum; //病房号
double price; //价格
方法及说明:
public String getSickroom() //输出Sickroom
public void setSickroom(String sickroom) //获得Sickroom
public int getBedroomnum() //输出Bedroomnum
public void setBedroomnum(int bedroomnum) //获得Bedroomnum
public double getPrice() //输出Price
public void setPrice(double price) //获得Price
public Bed(String sickroom,int bedroomnum, int price) // bed构造方法
4.3 Cheakin类
类名:Cheakin
继承父类:无
实现接口:无
概述:对病人类及病床类进行关联
属性及说明:
Bed a; //bed类对象
Patient b; //patient类对象
方法及说明:
public void Cheakin(Bed a,Patient b) //cheaking构造方法
4.4 Cheakout类
类名:Cheakout
继承父类:无
实现接口:无
概述:对出院的病人进行住院天数计算
属性及说明:
int year; //年
int month; //月
int day; //日
方法及说明:
public int tian() //计算天数
public Cheakout(int year,int month,int day) // Cheakout构造方法
4.5 Manager类
类名:Manager
继承父类:无
实现接口:无
概述:定义住院、出院、查询、病房变更功能
属性及说明:
Cheakin num[] = new Cheakin[10]; //定义对象数组
int i,j=0;
int cheakinstate = 0; //住院状态
int [][]a = new int[3][3]; //病房状态
int []price = {100,200,300}; //价格等级
int pay=0; //初始化总花费
方法及说明:
public void zhuyuan() //住院
public void chaxun() //查询
public void chuyuan() //出院
public void biangeng() //变更
4.6 Test类
类名:Test
继承父类:无
实现接口:无
概述:实现住院、出院、查询、病房变更功能以及界面的运行
属性及说明:无
方法及说明:
public static void main(String[] ages)
五、系统实现
5.1 主界面
完整的源码和详细的文档,上传到了 WRITE-BUG技术共享平台 上,需要的请自取: