




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本本科科毕毕业业论论文文 设设计计 基于基于 B SB S 的医院门诊预约挂号系统的设计的医院门诊预约挂号系统的设计 学 院 医药信息工程学院 专 业 信息管理与信息系统 医药软件方向 年 级 2003 学生姓名 学 号 指导教师 2007 年 5 月 12 日 目目 录录 摘 要 1 前 言 2 一 医院信息系统发展现状 2 1 我国医院信息系统建设回顾及发展趋势 2 2 系统研究目的和实现概述 3 3 本章小结 4 二 B S 架构技术 4 1 B S 架构介绍 4 2 JSP 技术基础 5 3 本章小结 7 三 统一建模语言和数据库 7 1 统一建模语言基础概念 7 2 UML 建模机制 8 3 UML 的主要特点 10 四 MYSQL 数据库 11 1 MYSQL 特性 11 2 MYSQL 的体系结构 11 五 门诊预约挂号系统的分析与设计 12 1 需求分析 12 2 分析问题领域 12 3 静态结构图 15 4 动态行为模型 18 5 基于 MVC 模式的详细设计 19 6 本章小结 20 六 门诊预约挂号系统实现 20 1 用单例模式实现的 JAVA连接 MYSQL 数据库 20 2 基于 MVC 模式的门诊预约挂号系统的实现 21 3 本章小结 33 结束语 33 参 考 文 献 35 致 谢 36 诚 信 声 明 37 1 摘摘 要要 随着计算机网络的迅速发展 越来越多的医院利用计算机网络来处理日常 业务 医院的网络信息服务成为医院服务发展的一个新方向 本文提出一种医 院门诊预约查询系统 该系统是基于 B S 的管理信息系统 可以实现跨越操作 系统平台 本文对医院门诊预约查询系统开发背景进行了简要的介绍 并简述了系统 的功能与应用 运用 UML 对系统进行了需求分析 确定系统范围和系统边界 定义活动者 定义用例 画出系统的静态结构图并建立系统动态行为模型 最 后应用单例模式和 Model View Controller MVC 模式实现了门诊预约挂号系 统 该系统可以作为医院的信息化建设和信息化管理的一个部分 通过网络实 现门诊预约 解决了医院门诊预约挂号中存在着病人在医院排队和等待时间的 问题 使医院更好地服务病人 关键词 关键词 门诊预约系统 B S UML 单例模式 MVC AbstractAbstract With the rapid development of computer network more and more affairs have been handled by computer network in the hospital and the network information service provided by hospital has been a new service In this paper the hospital outpatient booking system is presented which is an information management system based on B S technology and a system of crossing operation system platform The development background of the hospital outpatient booking system is introduced in this paper and the system function and application is summarized UML is used to analyze the demand determine the area and boundary of system define the activity and the model draw the static structure figure and establish the dynamic activity model of the system At last the system is realized by singleton model and Model View Controller MVC model The system can be a part of the hospital information construction and management It solves the problem of the hospital outpatient service which the outpatient appointment is realized through the network It will release the patients from the waiting line and make the hospital provide the more service for the patients KeywordsKeywords Outpatient booking system B S UML Singleton model MVC 2 前前 言言 近年来 随着信息技术的发展和我国金卫工程的展开 卫生部及多个省市 卫生厅对医院信息系统软件做出了规范标准 使医院信息系统建设更加规范 并有了很大的发展 随着国家医保改革政策的出台 对如何建设和完善医院信 息系统 掌握其发展趋势 使现有的医院信息系统能够满足改革的需要 又提 出了新的要求 这里我们结合所了解的国内外的相关信息就这一问题进行讨论 一一 医院信息系统发展现状医院信息系统发展现状 1 1 我国医院信息系统建设回顾及发展趋势我国医院信息系统建设回顾及发展趋势 1 国内医院信息化发展现状国内医院信息化发展现状 我国医院信息系统大体经历了以下四个阶段 1 A 单机应用 始于七十年代末八十年代初 主要用于门诊收费 住院病人 费用管理 药库管理等 B 部门级局域网 八十年代中期 代表性的应用系统主要有住院病人管理 系统 门诊计价及收费发药系统 药品管理系统等 C 完整的医院信息系统 九十年代初开始 一些大医院相继在 100M 快速 以太网上建立了较为完整的医院信息系统 D 远程医疗 随着互联网络的兴起 在一些大医院开始了对远程医疗的研 究和实施 通过 Internet 传输射线 MRI CT 等影像 目前我国医院信息化建设具有以下特点 经济发达地区医院的信息化程度相对较高 发达地区 省会城市医院无论 在信息系统设计 开发 应用还是信息系统维护及系统升级能力等方面都具有 较高的水平 经济相对落后地区信息系统建设比较简单 技术水平低 局限在 单一的门诊收费及药房管理上 但有很大市场发展潜力 大型综合医院的医院 信息系统投资规模在 1000 万元以上 技术人员中 62 以上是大学本科生 医生 护士上岗培训人数达到 95 软件水平较低 一般只能做些初级的事务处理 也有的软件开发之后用了一段时间就停下了 坚持不下去 重复开发多 据一 个省调查 几年来 总共开发 262 个项目中 工资系统就有 41 个 医疗统计 21 个 人事 21 个 重复率达 70 多 2 国外医院信息系统的发展状况国外医院信息系统的发展状况 随着人类基因组工程和后基因组工程研究成果的逐步推广应用 未来医疗 卫生领域对信息技术的依赖程度将越来越高 医院信息化是今后 生物技术革 命 的战略制高点 将影响医疗卫生产业的未来 近年来 世界不少国家对此 给予了较大的关注 2 3 A 美国 早在 1987 年 美国就组织了对 卫生信息传输标准 的开发和 推广 从克林顿时代开始 美国开展了一系列的立法 要求医疗机构尽快进入 数字时代 并设立了仅低于内阁部长的卫生信息技术协调官员新职位 3 B 英国 2005 年 英国卫生部签署了一份为期 10 年 价值 55 亿英镑的 合同 以支持电子病历 网上预约等开发项目 使远程病情咨询成为可能 这 将在很大程度上造福英国的医护和病患人员 C 加拿大 加拿大政府组织建立了记载每一个加拿大公民医疗卫生档案的 电子健康档案 每一个获得授权的医务工作者和个人都可以通过这一档案库查 找相关内容 为加强和促进电子卫生信息系统的发展和实施 加拿大成立了卫 生信息网络系统 D 韩国 韩国已完成了第一个卫生信息系统 10 年计划 1991 2000 的实 施 第二阶段计划 2001 2010 正在实施中 2 2 系统研究目的和实现概述系统研究目的和实现概述 1 系统研究目的系统研究目的 为解决目前医院信息系统发展面临的种种困难 不仅需要不断提高和规范 医院的管理水平 而且要求软件开发商不断进取 分析国内外开发 HIS 系统的 成败并吸收它们的经验和教训 采用先进的开发技术和软件体系结构以增强软 件的运行效率 安全性和可维护性 从而降低系统费用 4 6 2 系统实现概述系统实现概述 A 系统的三层体系结构 系统的三层体系结构 见图 1 客户机 浏览器 http 服 务器 应用程序服务器 Servlet 容器 数据库 JDBC servletjsp 图 1 基于 Java 技术的 Web 应用体系结构 整个系统采用 Browser Web Database 的三层体系结构 Web 服务器接受请 求 通过应用程序服务器执行一个 Java 服务器端小程序 Servlet 并返回其输出 从而实现与客户机进行信息资源的交互 数据库服务器用来存储管理信息系统 中所用到的各种数据 数据由数据库管理程序直接录入 系统的客户端只需要 一个浏览器即可 相关人员通过浏览器来查询 增加 修改 删除数据 对信 息进行管理 B 系统的设计模式 在中间层上采用基于模型视图控制器 MVC Model View Controller 的设 计模式 Model 层用来实现业务逻辑 View 层用来显示用户界面 Controller 层主要负责 View 层和 Model 层之间的控制关系 具体实现时 把 Servlet 用作 应用程序的控制器 把 JSP 文档作为视图 JavaBeans 被用来表示模型 所有的 请求都被发送给作为控制器的 Servlet 它接受请求 并根据请求信息将它们分 4 发给适当的 JSP 来响应 同时 Servlet 还根据 JSP 的需求生成 JavaBeans 的实 例并输出给 JSP 环境 JSP 可以通过直接调用方法或使用 UseBean 的自定义标 签得到 JavaBeans 中的数据 这种设计模式很好地实现了数据层与表示层的分 离 使开发工作更加容易和迅速 在这种设计模式下 各层次之间的数据传递 见图 2 HTTP 请求 获取数据 转交 请求 文档输出 更新模型 图 2 MVC 设计模式的数据传递图 C 数据存取技术 在数据的存取方面 采用 JSP Servlet JDBC 的技术 即客户端不产生数据 库查询命令 客户端上的浏览器通过 URL 和中间层的 Web 服务器建立连接 Web 服务器主要负责接收本地或远程浏览器的 HTTP 数据请求 然后中间层的 Servlet 收到请求后 通过执行程序中的 SQL 语句 利用 JDBC 提供的标准 API 对数据库进行访问和相应的操作处理 Servlet 再将查询的数据传给 JSP 最后 生成标准的 JSP 页面将结果返回给提出请求的浏览器 这样 不仅将客户端与 数据库服务器端分开 同时提高了数据库的访问效率 3 3 本章小结本章小结 本章主要介绍了医院信息系统的发展和现状 医院信息系统的特性 以及 开发医院信息系统的重要性和必要性 阐述了 HIS 系统在国内发展的状况和面 临的问题 针对医院信息系统的复杂性 我们采用了基于 B S 架构开发 HIS 系 统中遇到的技术上的问题 最后概要地介绍了挂号子系统的研究目的与实现 二二 B SB S 架构技术架构技术 1 1 B SB S 架构介绍架构介绍 1 B S 架构架构基本概念基本概念 B S Browser Server 结构即浏览器和服务器结构 它是随着 Internet 技术 的兴起 对 C S 结构的一种变化或者改进的结构 在这种结构下 用户工作界 面是通过 WWW 浏览器来实现 极少部分事务逻辑在前端 Browser 实现 但是主要事务逻辑在服务器端 Server 实现 形成所谓三层 3 tier 结构 这样 就大大简化了客户端电脑载荷 减轻了系统维护与升级的成本和工作量 降低 了用户的总体成本 TCO 以目前的技术看 局域网建立 B S 结构的网络应用 并通 Internet Intranet 模式下数据库应用 相对易于把握 成本也是较低的 它是一次性到位的开发 能实现不同的人员 从不同的地点 以不同的接入方式访问和操作共同的数据 Controller Servlet View JSP Model JavaBeans Database 5 库 它能有效地保护数据平台和管理访问权限 服务器数据库也很安全 特别 是在 JAVA 这样的跨平台语言出现之后 B S 架构管理软件更是方便 快捷 高效 7 8 2 B S 架构技术优缺点架构技术优缺点 A 维护和升级方式简单 目前 软件系统的改进和升级越来越频繁 B S 架构的产品明显体现着更 为方便的特性 对一个稍微大一点单位来说 系统管理人员如果需要在几百甚 至上千部电脑之间来回奔跑 效率和工作量是可想而知的 但 B S 架构的软件 只需要管理服务器就行了 所有的客户端只是浏览器 根本不需要做任何的维 护 无论用户的规模有多大 有多少分支机构都不会增加任何维护升级的工作 量 所有的操作只需要针对服务器进行 如果是异地 只需要把服务器连接专 网即可 实现远程维护 升级和共享 所以客户机越来越 瘦 而服务器越 来越 胖 是将来信息化发展的主流方向 今后 软件升级和维护会越来越容 易 而使用起来会越来越简单 这对用户人力 物力 时间 费用的节省是显 而易见的 惊人的 因此 维护和升级革命的方式是 瘦 客户机 胖 服 务器 B 成本降低 选择更多 大家都知道 Windows 在桌面电脑上几乎一统天下 浏览器成为了标准配置 但在服务器操作系统上 Windows 并不是处于绝对的统治地位 现在的趋势是凡 使用 B S 架构的应用管理软件 只需安装在 Linux 服务器上即可 而且安全性 高 所以服务器操作系统的选择是很多的 不管选用那种操作系统都可以让大 部分人使用 Windows 作为桌面操作系统电脑不受影响 这就使的最流行免费的 Linux 操作系统快速发展起来 Linux 除了操作系统是免费的以外 连数据库也 是免费的 这种选择非常盛行 C 应用服务器运行数据负荷较重 由于 B S 架构管理软件只安装在服务器端 Server 上 网络管理人员只需 要管理服务器就行了 用户界面主要事务逻辑在服务器 Server 端完全通过 WWW 浏览器实现 极少部分事务逻辑在前端 Browser 实现 所有的客户端 只有浏览器 网络管理人员只需要做硬件维护 但是 应用服务器运行数据负 荷较重 一旦发生服务器 崩溃 等问题 后果不堪设想 因此 许多单位都 备有数据库存储服务器 以防万一 2 2 JSPJSP 技术基础技术基础 Java Server Pages JSP 是基于 Java 语言的服务器端脚本技术 9 10 JSP 提供动态网页设计技术 建立在 Java Servlet 技术的基础之上 使用 JSP 技术 程序开发人员可以利用 JSP 的标记在 HTML 静态内容中加入动态数据 制作动 态网页 编写 HTML 代码的工作可以由网页设计者负责 而动态数据则由程序 开发人员负责 这样可更有利于网页设计者和程序开发人员发挥各自的特长 Servlet 和 JSP 都是基于 Java 语言上的一种动态网页技术 Servlet 程序其实 就是 Java 程序 只不过它所使用的类库为 Java Servlet API 用于编写服务器端 的程序 Servlet 继承了 Java 语言所具有的优点 跨平台 安全性 易开发等 但是 Servlet 的页面显示和业务逻辑没有分离 使其编写难度较大 它们最大 的好处就是跨平台性 可实现 一次编写 处处运行 1 JSP 技术原理技术原理 6 JSP 是由 Sun 公司为创建动态 Web 页面而定义的一种技术 它们是与 Java 相关的一种 HTML 文档 Java 提供动态内容 JSP 是在服务器端应用的一种脚 本 它接受请求并生成响应 此请求通常由一个 Web 客户端发送 而响应则是 根据请求生成的一种 HTML 文档 该文档需要返回给 Web 客户端 由于 JSP 是服务器端应用 所以它拥有对服务器端资源的访问权限 诸如 Servlet JavaBeans EJB 和数据库 A JSP 工作原理 JSP 文件是在一个普通的静态 HTML 文件中添加了一些 Java 代码 JSP 文 件的扩展名为 jsp 当第一次访问 JSP 页面的时候 这个文件首先会被 JSP 容器 翻译为一个 Java 源文件 其实就是一个 Servlet 并进行编译生成相对应的字节 码文件 class 然后像其他 Servlet 一样 由 Servlet 容器来处理 Servlet 容器装 载这个类 处理来自客户的请求 并把结果返回给客户 见图 3 图 3 JSP 页面的执行过程 如果以后再有客户访问这个页面时 只要该文件没有发生过更改 JSP 容 器就直接调用已经装载的 Servlet 如果已经做过修改 那就会再次执行以上过 程 翻译 编译并装载 因为首次访问的时候要执行一系列上面的过程 所以 第一次访问某 JSP 页面时速度会较慢 但在以后运行时速度将非常快 B JSP 页面的生存周期 JSP 页面在被编译为 Servlet 并加载到 Servlet 容器后 Servlet 容器使用 3 个 方法控制其生命周期 这 3 个方法为 jspInit jspSevice 和 jspDestroy 这些方法是根据 JSP 页面的状态由 JSP 容器调用的 在 javax servlet jsp 包中定义了一个 JspPage 接口 该接口定义了 jspInit 与 jspDestroy 两个方法 jspInit 与 jspDestroy 方法分别用于完成初 始化和释放资源的操作 针对 HTTP 通信协议 javax sevler jsp 包定义了一个 HttpJspPage 接口 该接口只定义了一个 jspService 方法 该方法由 JSP 容 器调用 以响应客户端的 HTTP 请求 一般把 jspInit 方法 jspService 以及 jspDestroy 3 个方法称为 JSP 生命周期方法 当一个 JSP 页面被请求调进时 由 JSP 容器把该 JSP 页面 转换成一个 Servlet 在转换成功后 JSP 容器将调用 jspInit 方法 创建 Servlet 的一个实例 jspInit 方法在 Servlet 生命周期只执行一次 然后将调用 jspService 方法处理来自客户端的请求 当同时有多个客户请求时 JSP 容器将创建该 Servlet 的多个线程响应 这样每个客户请求对应一个 Servlet 线程 以多线程方 式执行提高了系统的并发性 由于 Servlet 始终驻留在内存中 所以响应速度非 常快 如果在 JSP 页面被转换成 Servlet 后 该 JSP 页面又被修改了 则 JSP 容 7 器会重新编译该 JSP 页面 并用新生成的 Servlet 取代内存中旧的 Servlet 当不 再需要一个 Servlet 时 jspDestroy 方法将被调用 以释放该 Servlet 实例占 用的系统资源 2 JSP 技术优点技术优点 对于用户界面的更新 其实就是由 Web Server 进行的 所以给人的感觉更 新很快 所有的应用都是基于服务器的 所以它们可以时刻保持最新版本 客 户端的接口不是很繁琐 对于各种应用易于部署 维护和修改 JSP 的设计目标及其实现 JSP 的设计目标主要是提供一种更为简便 有效的动态网页编写手段 并 且增强网页程序的独立性 兼容性和可重用性 它是通过以下几个方面加以实现的 A 简便性和有效性 B 程序的独立性 C 程序的兼容性 D 程序的可重用性 3 3 本章小结本章小结 本章主要对 B S 架构进行探析 并简单阐述了 JSP 技术 对 JSP 的工作原 理 页面的生存周期和优缺点进行简单介绍 三三 统一建模语言和数据库统一建模语言和数据库 1 1 统一建模语言基础概念统一建模语言基础概念 Unified Modeling Language UML 称统一建模语言或标准建模语言 是始 于 1997 年一个 OMG 标准 它是一个支持模型化和软件系统开发的图形化语言 为软件开发的所有阶段提供模型化和可视化支持 包括由需求分析到规格 到 构造和配置 11 12 UML 是一种定义良好 易于表达 功能强大且普遍适用的 建模语言 它溶入了软件工程领域的新思想 新方法和新技术 它的作用域不 限于支持面向对象的分析与设计 还支持从需求分析开始的软件开发的全过程 作为一种建模语言 UML 的定义包括 UML 语义和 UML 表示法两个部分 A UML 语义 描述基于 UML 的精确元模型定义 元模型为 UML 的所有 元素在语法和语义上提供了简单 一致 通用的定义性说明 使开发者能在语 义上取得一致 消除了因人而异的最佳表达方法所造成的影响 此外 UML 还 支持对元模型的扩展定义 B UML 表示法 定义 UML 符号的表示法 开发者或开发工具使用这些 图形符号和文本语法为系统建模提供了标准 这些图形符号和文字所表达的是 应用级的模型 在语义上它是 UML 元模型的实例 标准建模语言 UML 的重要内容可以由下列五类图 共 9 种图形 来定义 8 第一类是用例图 从用户角度描述系统功能 并指出各功能的操作者 第二类是静态图 Static diagram 包括类图 对象图和包图 其中类 图描述系统中类的静态结构 不仅定义系统中的类 表示类之间的联系如关联 依赖 聚合等 也包括类的内部结构 类的属性和操作 第三类是行为图 Behavior diagram 描述系统的动态模型和组成对象间 的交互关系 第四类是交互图 Interactive diagram 描述对象间的交互关系 其中顺 序图显示对象之间的动态合作关系 它强调对象之间消息发送的顺序 同时显 示对象之间的交互 合作图描述对象间的协作关系 合作图跟顺序图相似 显 示对象间的动态合作关系 第五类是实现图 Implementation diagram 其中构件图描述代码部件 的物理结构及各部件之间的依赖关系 从应用的角度看 当采用面向对象技术设计系统时 首先是描述需求 其 次根据需求建立系统的静态模型 以构造系统的结构 第三步是描述系统的行 为 其中在第一步与第二步中所建立的模型都是静态的 包括用例图 类图 包含包 对象图 组件图和配置图等五个图形 是标准建模语言 UML 的 静态建模机制 其中第三步中所建立的模型或者可以执行 或者表示执行时的 时序状态或交互关系 它包括状态图 活动图 顺序图和合作图等四个图形 是标准建模语言 UML 的动态建模机制 因此 标准建模语言 UML 的主要内容 也可以归纳为静态建模机制和动态建模机制两大类 见图 4 图 4 UML 的组成 2 2 UMLUML 建模机制建模机制 1 UML 的静态建模机制的静态建模机制 任何建模语言都以静态建模机制为基础 标准建模语言 UML 也不例外 UML 的静态建模机制包括用例图 Use case diagram 类图 Class diagram 对象图 Object diagram 包 Package 构件图 Component diagram 和配置图 Deployment diagram A 用例图 9 用例模型 Use case model 长期以来 在面向对象开发和传统的软件 开发中 人们根据典型的使用情景来了解需求 在 UML 中 一个用例模型由若 干个用例图描述 用例图主要元素是用例和执行者 用例 use case 从本质上讲 一个用例是用户与计算机之间的一次 典型交互作用 在 UML 中 用例表示为一个椭圆 执行者 Actor 执行者是指用户在系统中所扮演的角色 其图形化 的表示是一个小人 尽管执行者在用例图中是用类似人的图形来表示的 但执行 者未必是人 例如 执行者也可以是一个外界系统 该外界系统可能需要从当前系 统中获取信息 与当前系统有进行交互 使用和扩展 Use and Extend 是两种不同形式的继承关系 一个用 例与另一个用例相似 但所做的动作多一些 就可以用到扩展关系 用例模型的获取几乎在任何情况下都会使用用例 用例用来获取需求 规划和控制项目 B 类图 对象图和包 面向对象建模技术中 我们将客观世界的实体映射为对象 并归纳成一个个 类 类 Class 对象 Object 和它们之间的关联是面向对象技术中最基本 的元素 对于一个想要描述的系统 其类模型和对象模型揭示了系统的结构 在 UML 中 类和对象模型分别由类图和对象图表示 类图技术是 OO 方法的核心 类图 类图 Class Diagram 描述类和类之间的静态关系 类和对象 对象 Object 与我们对客观世界的理解相关 我们通常用 对象描述客观世界中某个具体的实体 所谓类 Class 是对一类具有相同特征 的对象的描述 而对象是类的实例 Instance 类描述一类对象的属性 Attribute 和行为 Behavior 在 UML 中 类的可视化表示为一个划分成三 个格子的长方形 下面两个格子可省略 关联关系 关联 Association 表示两个类之间存在某种语义上的联系 聚集和组成 聚集 Aggregation 是一种特殊形式的关联 聚集表示类之 间的关系是整体与部分的关系 在需求分析中 包含 组成 分为 部分 等经常设计成聚集关系 聚集可以进一步划分成共享聚集 Shared Aggregation 和组成 另一种情况是整体拥有各部分 部分与整体共存 如整体不 存在了 部分也会随之消失 这称为组成 Composition 在 UML 中 聚集表示 为空心菱形 组成表示为实心菱形 继承关系 在面向对象方法中将前者称为一般元素 基类元素或父元素 将 后者称为特殊元素或子元素 继承 Generalization 定义了一般元素和特殊元 素之间的分类关系 在 UML 中 继承表示为一头为空心三角形的连线 依赖关系 有两个元素 X Y 如果修改元素 X 的定义可能会引起对另 一个元素 Y 的定义的修改 则 称元素 Y 依赖 Dependency 于元素 X C 构件图和配置图 构件图 Component diagram 和配置图 Deployment diagram 显示系统 实现时的一些特性 包括源代码的静态结构和运行时刻的实现结构 构件图显示 代码本身的结构 配置图显示系统运行时刻的结构 10 构件图 构件图显示软件构件之间的依赖关系 一般来说 软件构件就 是一个实际文件 可以是源代码文件 二进制代码文件和可执行文件等 可以用 来显示编译 链接或执行时构件之间的依赖关系 配置图 配置图描述系统硬件的物理拓扑结构以及在此结构上执行的软 件 配置图可以显示计算结点的拓扑结构和通信路径 结点上运行的软件构件 软件构件包含的逻辑单元 对象 类 等 配置图常常用于帮助理解分布式系 统 结点和连接 结点 Node 代表一个物理设备以及其上运行的软件系 统 如一台 Unix 主机 一个 PC 终端 一台打印机 一个传感器等 结点表示为 一个立方体 结点名放在左上角 结点之间的连线表示系统之间进行交互的通信 路径 在 UML 中被称为连接 Connection 构件和界面 在配置图中 构件代表可执行的物理代码模块 如一个可执 行程序 逻辑上它可以与类图中的包或类对应 因此 配置图中显示运行时各个 包或类在结点中的分布情况 在面向对象方法中 类和构件等元素并不是所有的 属性和操作都对外可见 对象 Object 一个面向对象软件系统中可以运行很多对象 由于构 件可以看作与包或类对应的物理代码模块 因此 构件中应包含一些运行的对象 配置图中的对象与对象图中的对象表示法一样 标准建模语言 UML 的静态建模机制是采用 UML 进行建模的基础 我们认 为 熟练掌握基本概念 区分不同抽象层次以及在实践中灵活运用 是三条最值得 注意的基本原则 2 UML 的动态建模机制的动态建模机制 A 消息 在面向对象技术中 对象间的交互是通过对象间消息的传递来完 成的 在 UML 的四个动态模型中均用到消息这个概念 通常 当一个对象调用 另一个对象中的操作时 即完成了一次消息传递 B 状态图 状态图 State Diagram 用来描述一个特定对象的所有可能状 态及其引起状态转移的事件 大多数面向对象技术都用状态图表示单个对象在 其生命周期中的行为 一个状态图包括一系列的状态以及状态之间的转移 C 顺序图 顺序图 Sequence Diagram 用来描述对象之间动态的交互关 系 着重体现对象间消息传递的时间顺序 顺序图存在两个轴 水平轴表示不同 的对象 垂直轴表示时间 顺序图中的对象用一个带有垂直虚线的矩形框表示 并标有对象名和类名 垂直虚线是对象的生命线 用于表示在某段时间内对象 是存在的 对象间的通信通过在对象的生命线间画消息来表示 消息的箭头指 明消息的类型 通过在对象生命线上显示一个细长矩形框来表示激活 消息可 以用消息名及参数来标识 D 合作图 合作图 Collaboration Diagram 用于描述相互合作的对象间 的交互关系和链接关系 3 3 UMLUML 的主要特点的主要特点 标准建模语言 UML 的主要特点可以归结为三点 A UML 统一了 Booch OMT 和 OOSE 等方法中的基本概念 11 B UML 还吸取了面向对象技术领域中其他流派的长处 其中也包括非 OO 方法的影响 UML 符号表示考虑了各种方法的图形表示 删掉了大量易引起混 乱的 多余的和极少使用的符号 也添加了一些新符号 因此 在 UML 中汇 入了面向对象领域中很多人的思想 这些思想并不是 UML 的开发者们发明的 而是开发者们依据最优秀的 OO 方法和丰富的计算机科学实践经验综合提炼而 成的 C UML 在演变过程中还提出了一些新的概念 在 UML 标准中新加了模 板 Stereotypes 职责 Responsibilities 扩展机制 Extensibility mechanisms 线程 Threads 过程 Processes 分布式 Distribution 并发 Concurrency 模式 Patterns 合作 Collaborations 活动图 Activity diagram 等新概念 并清晰地区分类型 Type 类 Class 和实 例 Instance 细化 Refinement 接口 Interfaces 和组件 Components 等概念 四四 MYSQL 数据库数据库 MYSQL 是一个真正的多用户 多线程 SQL 数据库服务器 SQL 结构化查询 语言 是世界上最流行的和标准化的数据库语言 MYSQL 是以一个客户机 服务 器结构的实现 它由一个服务器守护程序 MYSQLd 和很多不同的客户程序和库组 成 13 MYSQL 建立的基础是业已用在高要求的生产环境多年的一套实用例程 尽 管 MYSQL 仍在开发中 但它已经提供一个丰富和极其有用的功能集 1 1 MYSQLMYSQL 特性特性 在将 MYSQL 与其他数据库系统进行比较时 所要考虑的最重要的因素是 性能 支持 特性 与 SQL 的一致性 扩展等等 认证条件和约束条件 价 格等 相比之下 MYSQL 具有许多吸引人之处 1 速度 MYSQL 运行速度很快 开发者声称 MYSQL 可能是目前能得到 的最快的数据库 2 容易使用 MYSQL 是一个高性能且相对简单的数据库系统 与一些更 大系统的设置和管理相比 其复杂程度较低 3 价格 MYSQL 对多数个人用户来说是免费的 4 支持查询语言 MYSQL 可以利用 SQL 结构化查询语言 SQL 是一 种所有现代数据库系统都选用的语言 也可以利用支持 ODBC 开放式数据库 连接 的应用程序 ODBC 是 Microsoft 开发的一种数据库通信协议 5 性能 许多客户机可同时连接到服务器 多个客户机可同时使用多个数 据库 可利用几个输入查询并查看结果的界面来交互式地访问 MYSQL 这些 界面为 命令行客户机程序 Web 浏览器或 X Window System 客户机程序 此 外 还有由各种语言 如 C Perl Java PHP 和 Python 编写的界面 因此 可以选择使用已编好的客户机程序或编写自己的客户机应用程序 6 连接性和安全性 MYSQL 是完全网络化的 其数据库可在因特网上的 任何地方访问 因此 可以和任何地方的任何人共享数据库 而且 MYSQL 还 12 能进行访问控制 可以控制哪些人不能看到您的数据 7 可移植性 MYSQL 可运行在各种版本的 UNIX 以及其他非 UNIX 的系 统 如 Windows 和 OS 2 上 MYSQL 可运行在从家用 PC 到高级的服务器上 2 2 MYSQLMYSQL 的体系结构的体系结构 因为 MYSQL 采用的是客户机 服务器体系结构 所以你在使用 MYSQL 时 存取数据时 必须至少使用两个或者说两类程序 1 一个位于存放您的数据的主机上的程序 数据库服务器 数据库服 务器监听从网络上传过来的客户机的请求并根据这些请求访问数据库的内容 以便向客户机提供它们所要求的信息 2 连接到数据库服务器的程序 客户机 这些程序是用户和服务器交 互的工具 告诉服务器需要什么信息的查询 MYSQL 分发包包括服务器和几个客户机程序 可根据要你要达到的目的 来选择使用客户机 最常用的客户机程序为 MYSQL 这是一个交互式的客户 机程序 它能发布查询并看到结果 其他的客户机程序有 MYSQLdump 和 MYSQLimport 分别导出表的内容到某个文件或将文件的内容导入某个表 MYSQLadmin 用来查看服务器的状态并完成管理任务 如告诉服务器关闭 重 起服务器 刷新缓存等 如果具有现有的客户程序不满足你的需要 那么 MYSQL 还提供了一个客户机编程库 可以编写自己的程序 客户机编程库可 直接从 C 程序中调用 如果希望使用 C 语言以外的其他语言 还有几种其他的 接口可用 五五 门诊预约挂号系统的分析与设计门诊预约挂号系统的分析与设计 1 1 需求分析需求分析 医院预约挂号系统的用户是患者 医生和管理员 患者使用预约挂号系统 登记注册成为用户 查询医生信息并基于查询结果进行预约 对已经进行的预 约情况查询或撤消和预约成功后查询医生信息与自己的病历信息 医生使用预 约挂号系统查看预约患者的情况 查询患者病历 创建患者病历和对患者的病 历进行修改或删除 管理员使用预约挂号系统增加或删除医生账号 14 对门诊预约挂号系统要求提出两方面的服务 1 预约管理 负责患者的预约工作 2 病历管理 负责患者病历管理 在预约管理方面应提供的服务功能如下 1 患者注册 患者可随时登陆系统进行预约注册 并且允许改变或注销注册信息 2 查询 可以查询最大可预约数量信息 当前可数量预约信息和医生信息 患者 医生可以查询预约记录表 获得预约数量信息 查询的关键词可以是 记录编号 医生可以查询患者预约情况 查询的关键词可以是 患者编号 患者只允许查 询自己的预约信息 不允许查询别人的预约信息 患者 医生 管理员可以查 询医生的信息 查询的关键词可以是 医生编号 13 在病历管理方面应提供的服务功能如下 1 创建患者病历 医生从预约队列中创建患者病历 系统从预约记录中删除该患者记录 并 更新当前可预约数量 2 病历查询 医生可以查询患者病历 查询的关键词可以是 患者名 患者只允许查询自 己的病历 不允许查询别人的病历 为保存数据 需建立门诊预约挂号管理数 据库 可以采用关系数据库 建立下列数据库表 医生表 患者表 病历表 预 约记录表 管理员表 医生最大可预约数量表 医生当前可预约数量表 门诊预约挂号系统的直接用户有患者 医生和管理员 管理员有权操纵数 据库的数据 进行添加 更新 删除等操作 患者和医生一般只查询信息 只 允许对自己有关的数据进行添加 更新 删除等操作 2 2 分析问题领域分析问题领域 分析问题领域是软件系统开发的一项基本工作 是项目开发之初必须首先 进行的重要工作 分析问题领域的结果是对问题领域的清晰 精确的定义 明 确目标系统将做些什么 分析问题领域的主要任务是 对问题领域进行抽象 提 出解决方案 对未来的系统进行需求分析 确定系统的职责范围 功能需求 性能需求 应用环境及假设条件等 用 Use Case 图对未来系统的行为建立模型 初步确定未来系统的体系结构等 1 确定系统范围和系统边界确定系统范围和系统边界 首先要确定业务需求和系统目标 门诊预约挂号系统用于患者的预约管理 和患者的病历管理 凡是这两方面的医院管理内容都是门诊预约挂号系统的职 责范围 其他的医院管理内容 如药房管理 检验管理等都不属于门诊预约挂 号系统的职责范围 至于医院的其他管理工作 如科研 人事 财务 资产等 管理不属于门诊预约挂号系统的职责范围 门诊预约挂号系统与医院的其他信息管理系统没有直接的联系 但是可以 从医院的全局数据库中共享患者 医生等必要的数据 2 定义活动者定义活动者 根据门诊预约挂号系统的职责范围和需求可以确定 3 个活动者 患者 医生 和管理员 对于每一个活动者 应当明确其业务活动的内容 对系统的服务要 求 患者 活动者使用门诊预约挂号系统查询预约信息和医生信息 登记注 册并预约和查询自己的病历信息 医生 活动者使用门诊预约挂号系统查询患者预约信息和患者病历信息 创建患者病历 对患者病历进行修改和删除 管理员 活动者使用门诊预约挂号系统管理对医生信息进行维护 管理 工作包括医生信息的录入 管理员 要求能够方便地查询医生信息 3 定义用例定义用例 每一个 Use Case 都是一个活动者与系统在交互中执行的有关事务序列 应 当根据系统需求 找出全部的 Use Case 并从活动者的角度给出事件流 当 Use Case 执行时系统应提供给活动者的服务 见图 5 下面对门诊预约挂号系统的 Use Case 作简要的说明 A Use Case 登录 14 当患者 医生 管理员启动 登录 时 Use Case 登录 就开始运行 登录时 须输入正确的用户标识 DID PID 或 AID 和密码 否则将被拒绝 进入 B Use Case 注销 当患者 医生 管理员启动 注销 时 Use Case 注销 就开始运行 用户退出系统 C Use Case 注册 当患者登录系统后并进行 注册 操作时 Use Case 注册 就开始运行 患者输入自己的基本信息 D Use Case 查询医生信息 当管理员登录系统后并进行 查询医生信息 操作时 Use Case 查询医 生信息 就开始运行 患者可以查询到所有医生的全部信息 E Use Case 查询主治医生信息 患者登录系统后并进行 查询医生信息 操作时 Use Case 查询主治医 生 就开始运行 主要返回当前患者的主治医生的信息 其中 主治医生 指 已经创建该患者病历并治疗过程未结束的医生 图 5 用例图 F Use Case 查询病历 15 患者登录系统后并进行 查询病历 操作时 Use Case 查询病历 就开 始运行 返回当前患者的所有病历 G Use Case 预约 患者登录系统后并进行 预约 操作时 Use Case 预约 就开始运行 向数据库插入一条记录 H Use Case 取消预约 患者登录系统后并进行 取消预约 操作时 Use Case 取消预约 就开 始运行 向数据库删除相应记录 I Use Case 查询预约信息 患者登录系统后并进行 查询预约信息 操作时 Use Case 查询预约信 息 就开始运行 返回当前患者的所有预约信息 J Use Case 查询医生预约信息 患者登录系统后并进行 查询医生预约信息 操作时 Use Case 查询医 生预约信息 就开始运行 返回某位医生的当前可预约信息 K Use Case 创建患者病历 医生启动 创建患者病历 时 Use Case 创建患者病历 就开始运行 医生根据患者的注册信息创建患者病历 数据库从预约记录表中删除预约记录 并更新医生当前可预约数量表 L Use Case 查询患者病历 医生启动 查询患者病历 时 Use Case 查询患者病历 就开始运行 医生查询其所有就诊患者的所有病历记录 M Use Case 查询与 hid 匹配的患者病历 医生启动 查询与 hid 匹配的患者病历 时 Use Case 查询与 hid 匹配的 患者病历 就开始运行 医生查询其与 hid 匹配的就诊患者的所有病历记录 N Use Case 查询预约队列中的患者信息 医生启动 查询预约队列中的患者信息 时 Use Case 查询预约队列中 的患者信息 就开始运行 医生查询到预约队列中预约当前医生的所有患者信 息 O Use Case 修改患者病历 医生启动 修改患者病历 时 Use Case 修改患者病历 就开始运行 医生可以其所有就诊患者的所有病历记录 P Use Case 添加医生账户 管理员启动 添加医生账户 时 Use Case 添加医生账户 就开始运行 管理员添加医生账号 系统向医生表 医生最大可预约数量表和医生当前可预 约数量表插入记录 Q Use Case 获取医生账户信息 管理员启动 获取医生账户信息 时 Use Case 获取医生账户信息 就 开始运行 系统返回所有医生信息 R Use Case 删除医生账户 管理员启动 删除医生账户 时 Use Case 删除医生账户 就开始运行 管理员删除医生账号 系统向医生表 医生最大可预约数量表 医生当前可预 约数量表和病历表删除相关记录 在完成了领域分析 建立了门诊预约挂号系统的 Use Case 视图后 紧接着 16 要建立系统的静态结构模型和动态行为模型 3 3 静态结构图静态结构图 系统的静态结构模型主要由对象类图和对象图表达 发现对象类及其联系 确定它们的静态结构和动态行为 是面向对象分析的最基本的任务 类图描述 系统中类的静态结构 它不仅定义系统中的类 描述类之间的联系 还包括类 的内部结构 类的属性和操作 类图描述的是一种静态关系 在系统的整个生 命周期中都是有效的 通过分析用例和问题域 就可以得到相关的类 1 建立对象图建立对象图 首先从研究 Use Case 和交互剧本中发现对象类 确定类的属性和主要操作 对于门诊预约挂号系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年乡村民宿管家中级面试预测题与解析
- 2025年市场营销专员招聘笔试模拟题及答案详解
- 2025年井下多功能测振仪项目合作计划书
- 脊柱解剖培训课件
- 2025年医用X射线设备项目发展计划
- 2025年稀土发光材料项目合作计划书
- 2025年生麻生产合作协议书
- 河南省济源市轵城镇2024-2025学年七年级上学期第二次月考生物试题(含答案)
- 广东省深圳市多校联考2025-2026学年高三上学期开学考试语文试题
- 2025年高阻隔性封装材料项目建议书
- 药肥登记管理办法
- 深企投产业研究院:2025第三代半导体产业链研究报告
- 华为主数据管理办法
- 商混公司生产部管理制度
- 水果供应链协议
- 用别人资质中标合同范本
- 储备土地巡查管理办法
- 考古学复习资料与题库
- 铝粉代加工铝锭合同范本
- 餐前礼仪教学课件
- 临床试验病历书写规范与流程
评论
0/150
提交评论