




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 医院住院管理系统结构设计与实现毕业设计论文医院住院管理系统结构设计与实现毕业设计论文 第一章第一章 绪绪 论论 1 1 课题简介课题简介 医院住院管理系统是每一个医疗机构管理病人及医师收入和支出的不可缺少的一个 管理信息系统 它的内容对于医疗机构的管理者来说是至关重要的 所以医院住院管理 系统应该能够为每一个医疗机构的管理者提供充足的信息和快捷的查询手段 大大的方 便医疗机构的管理者的合理管理 随着科学技术的不断提高 计算机科学日渐成熟 其强大的功能已为人们深刻认识 它已进入人类社会的各个领域并发挥着越来越重要的作用 作为计算机应用的一部分 使用计算机对病人及医师进行管理 具有着手工管理所 无法比拟的优点 如 检索迅速 查找方便 可靠性高 存储量大 保密性好 寿命长 成本低等 这些优点能够极大地提高病人及医师管理的效率 也是医疗机构理财的科学 化 正规化管理 与先进科学技术接轨的重要条件 因此 开发这样一套管理软件成为很有必要的事情 对于我们即将计算机专业毕业 的学生来说 也是一次将计算机应用于现实管理的一次很有意义的实践活动 1 2 开发的意义开发的意义 1 计算机已经成为我们学习和工作的得力助手 使用其可方便的管理病人及医师 今天 计算机的价格已经十分低廉 性能却有了长足的进步 它已经应用于许多领 域 现在我国的病人及医师管理水平绝大部分还停留在纸介质的基础上 这样的机制已 经不能适应时代的发展 因为它浪费了许多人力和物力 在信息时代这种传统的管理方 法必然被计算机为基础的信息管理所取代 我作为一个计算机应用专业的毕业生 希望可以在这方面有所贡献 改革的总设计 师邓小平同志说过 科学技术是第一生产力 我希望能用我所学的知识编制出一个实 用的程序来帮助医疗机构进行病人及医师管理 开发这一系统的好处大约有以下几点 第一 可以存储历年病人及医师的信息 安全 高效 第二 只需一到二名档案录入员即可操作系统 节省人力 2 第三 可以迅速查到病人及医师的各类信息 2 为将来医疗机构上网做好准备 跟据 2003 年中国电信的调查报告显示我国的上网人数已达到 1870 万 互联网已经 十分普及 本系统为医疗机构将来的上网作了先期工作 比如医疗机构的网络管理模式 的建立 1 3 团队构成团队构成 指导教师 成员 3 第二章第二章 开发环境及实现技术开发环境及实现技术 2 1 开发环境开发环境 硬件系统 奔腾 1G 以上 CPU 256M 以上内存 80G 以上硬盘 光驱 软件系统 Windows 2000 或更高版本 Jsp 中文版 SQLServer2000 数据库 2 2 开发工具简介开发工具简介 Myeclipse5 0 是 jsp 应用程序开发工具 使目前最为广泛的 易学易用的面向对象 的开发工具 Jsp 提供了大量的控件 这些控件可用于设计界面和实现各种功能 减少了 编程人员的工作量 也简化了界面设计过程 从而有效的提高了应用程序的运行效率和 可靠性 故而 实现本系统 Myeclipse5 0 是一个相对较好的选择 SQLServer20002000 就是关系数据库开发工具 数据库能汇集各种信息以供查询 存储和检索 SQLServer2000 的优点在于它能使用数据表示图或自定义窗体收集信息 数据表示图提供了一种类似于 Excel 的电子表格 可以使数据库一目了然 另外 SQLServer2000 允许创建自定义报表用于打印或输出数据库中的信息 SQLServer2000 也 提供了数据存储库 可以使用桌面数据库文件把数据库文件置于网络文件服务器 与其 他网络用户共享数据库 SQLServer2000 是一种关系数据库工具 关系数据库是已开发 的最通用的数据库之一 如上所述 SQLServer2000 作为关系数据库开发具备了许多优 点 可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能 微软的 JET 数据库引擎提供了与数据库打交道的途径 我们是通过它以及 Myeclipse5 0 来访问数据库并对其进行各种操作 Jsp SQLServer2000 以及其他的软件 产品都是通过共用 JET 数据库引擎 从而给用户提供了丰富的数据类型 JDBC 控件在数据库中的信息与将信息显示给用户看的 Jsp 程序之间架起了一座桥梁 我们可以设置 JDBC 控件的各个属性 告诉它要调用那个数据库的哪个部分 缺省情况下 JDBC 控件根据数据库中的一个或多个数据表建立一个 dynaset type 动态集合 类型的 记录集合 一个记录集合是动态的也就意味着 当原来的数据表中的容改变了以后 该 记录集合中的记录也会随之改变 JDBC 控件还提供了用来浏览不同记录的各种跳转按钮 将 JDBC 控件放置在窗体中之后 我们还必须在该控件与要处理的数据库之间建立联系 4 ADO 是 Mcrosoft 提出的第三种数据库访问对象 是 Microsoft 数据库访问技术的一 个主要发展方向 ADO 将 OLE DB 封装在一个数据对象中 使得 JSP 程序中以方便地实现 对数据库的访问 具体的与数据库的关系如下 JSP 数据库应用程序一般由用户界面 数据库引擎和数据仓库三大部分组成 1 用户界面 用户界面是指应用程序与用户进行交互的界面 包括用于交互的所有 界面元素和代码 它可以显示数据并提供查看或更新数据的所有对象 比如数据作业窗 体 添加 删除记录或执行查询的 JSP 代码等 这些对象隐含着用来请求数据库服务的 属性 事件和方法 2 数据库引擎 所谓数据库引擎 是一种管理数据怎样被存储和检索的软件系统 是应用程序与物理数据库之间的桥梁 它把应用程序的请求翻译成对各种类型数据库的 物理操作 并向应用程序返回结果 3 数据仓库 数据仓库是包含数据库表的一个或多个文件 是存放数据的地方 对 于本地的 JSP 数据库来说 就是 mdb 格式文件 对于不同的数据库 它可能具备其它格 式 JSP 访问数据库通常有三种途径 1 使用 JDBC 访问数据库 2 通过 JSP 提供的数据访问变量编程访问 3 通过 ODBC 接口访问 ODBC API 函数 JSP 程序的数据访问通过数据访问接口来实现 在 JSP 中 主要的数据访问接口有三种 数据存取对象 JDBC SQLServer2000 Object DAO 远程数据对象 Remote JDBC Object RDO ActiveX 数据对象 ActiveX JDBC Objects ADO JSP 通过数据库引擎可以访问的数据库分如下三类 内部数据库 外部数据库和 ODBC 数据库 1 内部数据库 即 MDB 格式的数据库 包括 DAO API Microsoft SQLServer2000 和 Microsoft Access 创建的数据源 也称为本地数据库 由于是由 Jet 引擎直接创建和操作这些数据库 可以提供最大程度的灵活性和速度 5 2 外部数据库 即 索引顺序存取方法 ISAM 数据库 例如 Btrieve dBASE FoxPro 以及 Paradox 等 JSP 能够创建和操作所有这些数据库 还可 以访问 Microsoft Excel 或 Lotus l 2 3 电子表格 以及一些标准的文本文件 3 ODBC 数据库 即符合开放式数据库连接性 ODBC 协议的数据库 JSP 可以访问 ODBC 标准客户 服务器数据库 如 Microsoft SQL Server Oracle 和 Sybase 可使用 ODBC Object 直接把命令传递给服务器处理 以创建真正的客户机 服务器程序 6 第三章第三章 系统设计系统设计 3 1 概要设计概要设计 3 1 1 概要设计阶段的主要任务概要设计阶段的主要任务 本人先审查软件计划 软件需求分析提供的文档 提出最佳推荐方案 用系统流 程图 组成系统物理元素清单 成本效益分析 系统的进度计划 供指导老师审定 审 定后进入设计 确定模块结构 划分功能模块 将软件功能需求分配给所划分的最小单元模块 确定模块间的联系 确定数据结构 文件结构 数据库模式 确定测试方法与策略 编写概要设计说明书 用户手册 测试计划 选用相关的软件工具来描述软件结 构 结构图是经常使用的软件描述工具 选择分解功能与划分模块的设计原则 例如模 块划分独立性原则 信息隐蔽原则等 3 1 2 概要设计的过程概要设计的过程 概要设计要先进行系统设计 复审系统计划与需求分析 确定系统具体的实施方案 然后进行结构设计 确定软件结构 3 1 3 概要设计的原则概要设计的原则 将软件划分成若干独立成分的依据 如何表示不同的成分内的功能细节和数据结构 如何统一衡量软件设计的技术质量 3 1 4 系统功能分析系统功能分析 根据医院提供的管理的信息 预测开发的管理系统的达到的功能如下 第一部分 系统用户管理 要求 用户分二类 管理用户 一切功能可用 普通用户 仅可查询信息 第二部分 患者基本资料 要求 实现患者资料的新增 修改 办理患者出院 查询患者资料 第三部分病房管理 要求 实现新增病人 病人的转科转房 病房明细查询 患者退房 第四部分 主治医师管理 7 要求 实现主治医师资料的新增 修改 查询 有统计各个主治医师的治疗效果 第五部分 收费管理 要求 实现收费项目列表 查询各患者交费情况的查询 及收费窗口 第五部分 床位管理 要求 实现当日出 入院病人数量和人员列表 实现各床位管理 该系统考虑将整个系统分解成如图 3 1 模块结构图 主界面主界面 病人病人 管理管理 医师医师 管理管理 收费收费 管理管理 密码密码 修改修改 等等 其他其他 服务服务 登录登录 图 3 1 模块结构图 并且在系统的开发过程中 我尽量注意模块的高内聚 低耦合 使得系统的整体性 能提高 并且也有利于投入使用后的系统维护 3 2 详细设计详细设计 3 2 1 详细设计的任务详细设计的任务 详细设计就是要在概要设计的结果的基础上 考虑 怎样实现 这个软件系统 直 到对系统中的每个模块给出足够详细的过程性描述 主要任务如下 为每个模块确定 采用的算法 选择某种适当的工具表达算法的过程 写出模块的详细过程性描述 确 8 定每一模块使用的数据结构 确定模块接口的细节 包括对系统外部的接口和用户界 面 对系统内部其它模块的接口 以及模块输入数据 输出数据及局部数据的全部细节 要为每一个模块设计出一组测试用例 以便在编码阶段对模块代码 即程序 进行预 定的测试 模块的测试用例是软件测试计划的重要组成部分 通常应包括输入数据 期 望输出等内容 3 2 2 详细设计的方法详细设计的方法 程序流程图 N S 图 PAD 图 IPO 图 本系统在开发过程中所采用的详细设计方法为 IPO 图 1 病人及医师管理模块模块 IPO 图 I IO OP P 病人及医师的 信息 提供相应 的界面供 操作人员 录入 保存到表 2 病人及医师的查询模块 IPO 图 I IO OP P 查询内容的设 定 提供相应 的界面供 操作人员 操作 1 显示查询 的结果 2 统计相关 信息 3 收费管理模块 IPO 图 I IO OP P 收费项目等的 设置 提供相应 的界面供 操作人员 操作 保存到收入 支出项目表 9 4 打印模块 IPO 图 I IO OP P 医院床位的设 置 提供相应 的界面供 操作人员 操作 管理 5 用户管理模块的 IPO 图 I IO OP P 增加 删除 修改用户信息 提供相应 的界面供 操作人员 操作 保存到用户 管理表 10 第四章第四章 数据库设计数据库设计 4 1 数据库数据库 SQLServer2000 简介简介 SQLServer2000 中文版是 Microsoft 出品的数据库管理系统软件 是目前比较流行的 中大型桌面数据库管理系统 它适用于大中型企业 学校 个人等用户 可以通过多种 方式实现对数据收集 分类 筛选处理 提供用户查询或打印报表 SQLServer2000 具有良好的界面 采用了与 Windows 系列软件完全一致的风格 用户 可以通过菜单和对话框操作 不用编写任何命令便能有效地实现各种功能的操作 完成 数据管理任务 SQLServer2000 可以作为个人计算机终端和大型主机系统之间的桥梁 通过如 SQL ODBC 等特定技术 方便地存储 检索和处理服务器平台上的关键信息 提供了灵活 可靠 安全的客户 服务器解决方案 SQLServer2000 可以接受多种格式的数据 从而方便了用户在不同系统之间进行数据 转换 随着 Internet 网络应用的发展 SQLServer2000 还增加了使用信息发布 Web 向导和 用 HTML 格式导出对象的功能 数据库的概念 数据库是一种存储数据并对数据进行操作的工具 数据库的作用在于组织和表达信 息 简而言之 数据库就是信息的集合 计算机的数据库可以分为两类 非关系数据库 flat file 和关系数据库 relational 关系数据库中包含了多个数据表的信息 数据库含有各个不同部分的术语 象记录 域等 新建一个数据库 创建任何一个数据库的第一步是仔细的规划数据库 设计必须是灵活的 有逻辑的 创建一个数据库结构的过程被认为是数据模型设计 1 标识需要的数据 2 收集被标识的字段到表中 3 标识主关键字字段 4 绘制一个简单的数据图表 5 规范数据 6 标识指定字段的信息 11 7 创建物理表 修改已建的数据库 数据库的修改分为 添加 编辑和删除记录 这三种操作均可由 Jsp 创建的程序来 完成 下面的章节将详细描述实现的具体方法 实现数据库之间的联系 数据库之间的关系指明两个库之间共享一个共同的关键字值 一个连接是指一种虚 拟的表 这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的 关键 字段用于在相互连接的不同表中查找匹配的记录 一个更高级的连接形式称为自连接 这种连接是指一个表被连接到它自己的一个字段 或在不同的纪录中由重复数据的组合 字段 数据库中有三种不同类型的关键字 主关键字 组合关键字和外关键字 在表中 使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系 4 2 数据库需求分析数据库需求分析 根据调查有关单位的病人及医师管理的实际情况 分析得到如下的数据库结构 住院患者情况表 主治医师情况表 交费情况表 12 用户表 4 3 测试用例测试用例 住院患者情况表的测试用例 主治医师情况表的测试用例 13 第五章第五章 系统的实现系统的实现 5 1 系统登录模块的实现系统登录模块的实现 1 流程图 2 界面 界面包括的控件有标签 文本框 命令按钮等控件 3 实现代码 Y N 开始 输入登录密码 是否正确 主界面 14 form action Admin shtml name form1 method post onSubmit return checkform form1 autocomplete off 用户名 15 口 令 验证 码 input type image border 0 name imageField src images bt login gif width 70 height 16 并且具有改变 登录 菜单为 注销 菜单的功能 Private Sub Command2 Click Unload Me End Sub 不同的用户 权限打开不 同的菜单 改变登录菜单为 注销菜单 17 此程序段中 IF 语句的作用是判断用户输入的用户名与密码和数据库的是否相 同 如果相同 则打开菜单项并执行 unload me 如果用户名或密码输入错误 则提示 使用户重新输入用户名或密码 使 JSP 与 SQLServer2000 数据库相连 然后判断用户输入的用户名与密码是否与数 据库中的一致 如果一致 则允许用户进入系统 此三个控件的创建方法如下 首先 将 JDBC Text 控件拖放到窗体上 其次 设置它们的属性 1 JDBC 设置如下 try Class forName com microsoft jdbc sqlserver SQLServerDriver conn DriverManager getConnection jdbc microsoft sqlserver localhost 1433 databasename hospital sa 123 conn DriverManager getConnection jdbc microsoft sqlserver localhost 1433 databasename sy8009sql sy8009s ql sy8009sql stmt conn createStatement System out println 打开数据库连接 catch Exception ex System err println 打开数据库时出错 ex getMessage 此两个属性的作用是保证 JDBC 控件与数据库相连 数据库 的名称 数据库中 的表名 18 Visible 属性是使此控件运行时在窗体上不显示 2 Text3 控件的属性设置如下 Visible 属性的设置同 JDBC1 控件 5 5 2 2 主界面的实现主界面的实现 主界面是用菜单形式表现的 如图 运行时是否 隐藏 此数据控件绑定到 何数据库 此数据控件绑 定到何字段 19 此过程中要注意各菜单的名称唯一 还要注意菜单的级别 另外此设计过程中我们 还可以给菜单加快捷键 最后设置如下的代码 只要单击菜单即可设置各菜单代码 代码如下 public class SmartUpload protected byte m binArray protected HttpServletRequest m request protected HttpServletResponse m response protected ServletContext m application private int m totalBytes private int m currentIndex 20 private int m startData private int m endData private String m boundary private long m totalMaxFileSize private long m maxFileSize private Vector m deniedFilesList private Vector m allowedFilesList private boolean m denyPhysicalPath private boolean m forcePhysicalPath private String m contentDisposition public static final int SAVE AUTO 0 public static final int SAVE VIRTUAL 1 public static final int SAVE PHYSICAL 2 private SmartFiles m files private SmartRequest m formRequest public SmartUpload 21 m totalBytes 0 m currentIndex 0 m startData 0 m endData 0 m boundary new String m totalMaxFileSize 0L m maxFileSize 0L m deniedFilesList new Vector m allowedFilesList new Vector m denyPhysicalPath false m forcePhysicalPath false m contentDisposition new String m files new SmartFiles m formRequest new SmartRequest 主要是通过 Show 方法调用相应的窗体 5 3 住院管理模块的实现住院管理模块的实现 5 3 1 住院 出院模块的实现 1 流程图 22 2 运行界面 入院的运行界面 出院的运行界面 1 实现过程 以入院为例 第一步将所需的控件放到窗体的相应位置 方法 首先在 工具箱 中选中所需的 控件图标 然后在表单的恰当位置上单击鼠标并拖动鼠标 即可把由所选取的控件生成 的对象添加到窗体上 第二步 选择窗体或控件进行属性设置 同上一小结 其它属性和控件的设置方法类似 第三步双击相应的控件 在控件的相应过程中编写代码 的代码为 N Y 开始 增加病人 是否继续 退出 23 Private Sub Command1 Click If Command1 Caption 新增 Then JDBC1 Recordset MoveLast n Trim Str JDBC1 Recordset RecordCount 1 Command1 Caption 确定 JDBC1 Recordset AddNew Text1 0 Text n Text1 3 Text 30 Text1 11 Date Text1 1 SetFocus Command2 Enabled False Command3 Enabled False Else MsgBox 入院成功 Command1 Caption 新增 JDBC1 Recordset Update JDBC1 Recordset MoveLast Command2 Enabled True Command3 Enabled True End If End Sub 的代码为 Private Sub Command2 Click JDBC1 Recordset Delete JDBC1 Recordset MovePreviousEnd Sub 的代码为 Private Sub Command3 Click JDBC1 Recordset Edit JDBC1 Recordset UpdateEnd Sub 24 图片框的代码为 Private Sub Picture1 Click Picture1 Picture Clipboard GetJDBC End Sub 此窗体上用了 1 个 Adodc 控件 Adodc1 用来连接医师情况表 使用方法是首先通过 Adodc 控件与数据库相连 然后将各数据项与数据字段相连 如科别的控件的主要属性设置如下 其他控件的设置同 出院管理类型 主要以有无入院 出院时间判断病人是住院状态还是出院状态 5 3 2 查询住院 出院病人模块的实现 1 运行界面 查询住院病人运行界面 列表数据来源 显示的字段 显示数据的来源 列表的字段 25 查询出院病人运行界面 2 实现过程 以查询住院病人为例 界面的实现方法同上 下面主要看关键代码 单选按钮组的代码为 Private Sub Option1 Click Index As Integer For i 0 To 3 If Option1 0 Value True Or Option1 1 Value True Then Text1 Visible True Combo1 Visible False DTPicker1 Visible False Else If Option1 2 Value True Then Text1 Visible False Combo1 Visible True DTPicker1 Visible False Else If Option1 3 Value True Then Text1 Visible False Combo1 Visible False DTPicker1 Visible True Else 26 MsgBox 请选择查询的项 提示 End If End If End If Next i Command1 Visible True End Sub 主要选择查询的方法 查询 的主要代码为 Private Sub Command1 Click If Option1 0 Value True Then SQL select from 住院患者情况 where 住院号 m request httpservletrequest m response httpservletresponse public final void initialize PageContext pagecontext throws ServletException m application pagecontext getServletContext 33 m request HttpServletRequest pagecontext getRequest m response HttpServletResponse pagecontext getResponse deprecated Method initialize is deprecated public final void initialize ServletContext servletcontext HttpSession httpsession HttpServletRequest httpservletrequest HttpServletResponse httpservletresponse JspWriter jspwriter throws ServletException m application servletcontext m request httpservletrequest m response httpservletresponse public void upload throws ServletException IOException SmartUploadException int i 0 boolean flag false boolean flag1 false boolean flag2 false long l 0L String s new String 34 String s2 new String String s4 new String String s5 new String String s6 new String String s7 new String String s8 new String String s9 new String String s10 new String m totalBytes m request getContentLength m binArray new byte m totalBytes 5 6 交费管理模块的实现交费管理模块的实现 1 流程图 N Y 开始 设置收费信息收费 是否继续 退出 2 运行界面 收费的运行界面 35 查询交费明细的运行界面 3 实现过程 界面的设计方法同上 在这不再重复 现将控件的相应代码说明如下 收费界面的代码分别如下 后台操作区 LINK href images Admin Style css type text css rel stylesheet LINK href images style css type text css rel stylesheet SCRIPT language JavaScript src images Common js SCRIPT language JavaScript src images calendar js BODY MARGIN LEFT 0px BACKGROUND COLOR ffffff STYLE1 color ECE9D8 function check if document form1 place value replace s s g length 0 alert 请输入床位位置 document form1 place focus return false 37 String message String request getAttribute message if message null message if message trim equals out println out println alert message out println request removeAttribute message String username String session getAttribute user if username null response sendRedirect basePath error jsp else String id request getParameter id trim List mzList bb getHZyfk Integer parseInt id String s1 mzList get 0 toString 38 String s2 mzList get 1 toString String s3 mzList get 2 toString List fList bb getHZyyf s1 s2 int k 0 if fList isEmpty 5 7 其他管理模块的实现 1 流程图 N Y 开始 其他服务的项目 是否继续 退出 39 5 9 用户管理模块的实现用户管理模块的实现 界面如下图 数据库的连接方法同上 各
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮店店面改造与设备升级合同
- 货物购销框架协议书范本
- 能源项目采购合同进度监管与节能减排协议
- 车辆维修保养包年合同协议书
- 能源管理软件销售与节能方案合同范本
- 餐饮连锁企业股权收购与整合合同
- 学校校园“踩踏式”混战紧急疏散演练合同
- 2024年放大镜项目资金筹措计划书参考
- 餐饮部操作规程
- 安防安全培训
- 《半导体及二极管》教学课件
- 病房床头卡模板
- 消杀记录台账
- 2022年西双版纳傣族自治州景洪教师进城考试笔试题库及答案解析
- 公路改建工程边施工边通车安全专项施工方案
- 施工总平面图布置图及说明
- 道路交通安全法律法规知识测试题
- 国际篮联记录表
- 煤矿培训:自救器课件
- 空心玻璃微珠项目资金申请报告写作模板+
- 药品管理学概论(药品管理学)
评论
0/150
提交评论