目录
一、 需求分析
1. 题目要求
2. 需求分析
二、 系统设计
1. 概要设计
(1) 登陆界面
(2) 数据库操作
(3) 病人界面
(4) 医生界面
2. 详细设计
三、 软件开发
四、 软件测试
五、 特点与不足
1. 技术特点
2. 不足和改进的建议
六、 过程和体会
1. 遇到的主要问题和解决方法
2. 课程设计的体会
七、 源码和说明
1. 文件清单及其功能说明
2. 用户使用说明书
3. 源代码
一、需求分析
1. 题目要求
采用桌面应用程序模式,开发一个医院挂号系统,管理包括人员、号种及其挂号费用,挂号退号等信息,完成登录、挂号、查询和统计打印功能。数据库表如下所示,建立索引的目的是加速访问,请自行确定每个索引要涉及哪些字段。
T_KSXX (科室信息表)
字段名称
|
字段类型
|
主键
|
索引
|
可空
|
备注
|
KSBH
|
CHAR(6)
|
是
|
是
|
否
|
科室编号,数字
|
KSMC
|
CHAR(10)
|
否
|
否
|
否
|
科室名称
|
PYZS
|
CHAR(8)
|
否
|
否
|
否
|
科室名称的拼音字首
|
T_BRXX (病人信息表)
字段名称
|
字段类型
|
主键
|
索引
|
可空
|
备注
|
BRBH
|
CHAR(6)
|
是
|
是
|
否
|
病人编号,数字
|
BRMC
|
CHAR(10)
|
否
|
否
|
否
|
病人名称
|
DLKL
|
CHAR(8)
|
否
|
否
|
否
|
登录口令
|
YCJE
|
DECIMAL(10,2)
|
否
|
否
|
否
|
病人预存金额
|
DLRQ
|
DateTime
|
否
|
否
|
是
|
最后一次登录日期及时间
|
T_KSYS (科室医生表)
字段名称
|
字段类型
|
主键
|
索引
|
可空
|
备注
|
YSBH
|
CHAR(6)
|
是
|
是
|
否
|
医生编号,数字,第1索引
|
KSBH
|
CHAR(6)
|
否
|
是
|
否
|
所属科室编号,第2索引
|
YSMC
|
CHAR(10)
|
否
|
否
|
否
|
医生名称
|
PYZS
|
CHAR(4)
|
否
|
否
|
否
|
医生名称的拼音字首
|
DLKL
|
CHAR(8)
|
否
|
否
|
否
|
登录口令
|
SFZJ
|
BOOL
|
否
|
否
|
否
|
是否专家
|
DLRQ
|
DATETIME
|
否
|
否
|
是
|
最后一次登录日期及时间
|
T_HZXX (号种信息表)
字段名称
|
字段类型
|
主键
|
索引
|
可空
|
备注
|
HZBH
|
CHAR(6)
|
是
|
是
|
否
|
号种编号,数字,第1索引
|
HZMC
|
CHAR(12)
|
否
|
否
|
否
|
号种名称
|
PYZS
|
CHAR(4)
|
否
|
否
|
否
|
号种名称的拼音字首
|
KSBH
|
CHAR(6)
|
否
|
是
|
否
|
号种所属科室,第2索引
|
SFZJ
|
BOOL
|
否
|
否
|
否
|
是否专家号
|
GHRS
|
INT
|
否
|
否
|
否
|
每日限定的挂号人数
|
GHFY
|
DECIMAL(8,2)
|
否
|
否
|
否
|
挂号费
|
T_GHXX (挂号信息表)
字段名称
|
字段类型
|
主键
|
索引
|
可空
|
备注
|
GHBH
|
CHAR(6)
|
是
|
是
|
否
|
挂号的顺序编号,数字
|
HZBH
|
CHAR(6)
|
否
|
是
|
否
|
号种编号
|
YSBH
|
CHAR(6)
|
否
|
是
|
否
|
医生编号
|
BRBH
|
CHAR(6)
|
否
|
是
|
否
|
病人编号
|
GHRC
|
INT
|
否
|
是
|
否
|
该病人该号种的挂号人次
|
THBZ
|
BOOL
|
否
|
否
|
否
|
退号标志=true为已退号码
|
GHFY
|
DECIMAL(8,2)
|
否
|
否
|
否
|
病人的实际挂号费用
|
RQSJ
|
DATETIME
|
否
|
否
|
否
|
挂号日期时间
|
为了减少编程工作量,T_KSXX、T_BRXX、T_KSYS、T_HZXX的信息手工录入数据库,每个表至少录入6条记录,所有类型为CHAR(6)的字段数据从“000001”开始,连续编码且中间不得空缺。为病人开发的桌面应用程序要实现的主要功能具体如下:
(1)病人登录:输入自己的病人编号和密码,经验证无误后登录。
(2)病人挂号:病人处于登录状态,选择科室、号种和医生(非专家医生不得挂专家号,专家医生可以挂普通号);输入缴费金额,计算并显示找零金额后完成挂号。所得挂号的编号从系统竞争获得生成,挂号的顺序编号连续编码不得空缺。
功能(2)的界面如下所示,在光标停在“科室名称”输入栏时,可在输入栏下方弹出下拉列表框,显示所有科室的“科室编号”、“科室名称”和“拼音字首”,此时可通过鼠标点击或输入科室名称的拼音字首两种输入方式获得“科室编号”,用于插入T_GHXX表。注意,采用拼音字首输入时可同时完成下拉列表框的科室过滤,使得下拉列表框中符合条件的科室越来越少,例如,初始为“内一科”和“内二课”。其它输入栏,如“医生姓名”、“号种类别”、“号种名称”也可同时支持两种方式混合输入。
每种号种挂号限定当日人次,挂号人数超过规定数量不得挂号。一个数据一致的程序要保证:挂号总人数等于当日各号种的挂号人次之和,病人的账务应保证开支平衡。已退号码不得用于重新挂号,每个号重的GHRC数据应连续不间断,GHRC从1开始。若病人有预存金额则直接扣除挂号费,此时“交款金额”和“找零金额”处于灰色不可操作状态。