1、 硕士学位论文 (专业学位)医院病案管理系统的设计与实现姓 名: 学 号: 所在院系: 软件学院学科门类:工程硕士学科专业:软件工程指导教师: 副指导教师: 二一四年九月姓 名:方业鑫学 号:所在院系:软件学院职业类型:工程硕士专业领域:软件工程指导教师: 副指导教师: 二一四年九月 A dissertation submitted toTongji University in conformity with the requirements forthe degree of Master of EngineeringThe Design and Execution of Medical Re
2、cords Management SystemCandidate: Student Number: School/Department: Tongji University software institute Discipline: Software EngineeringMajor: Software EngineeringSupervisor: September, 2014医院病案管理系统的设计与实现方业鑫同济大学学位论文版权使用授权书本人完全了解同济大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子
3、版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名: 年 月 日 同济大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声
4、明的法律责任由本人承担。 学位论文作者签名: 年 月 日 同济大学 硕士学位论文 摘要摘 要作为医院信息系统的一个重要的子系统,病案管理对于提高医院管理水平、利用病案资料进行教学和科研、医患纠纷的解决等具有重要的作用。随着信息技术的快速发展和普及,以及传统病案管理方式缺点的不断凸显,将计算机技术引入到病案管理中,己势在必行。针对传统病案管理中存在的问题,论文分析了病案管理方面的国内外发展状况,研究了病案和病案管理系统的特点以及系统开发中的关键技术,详细讨论了系统需求分析、系统总体设计、系统详细设计和实现、系统测试,并对系统的应用效果进行了分析。论文首先对国内外在病案管理系统方面的发展状况进行了
5、简述,给出了病案和病案管理系统的定义;接着研究了病案管理系统的特点和开发中涉及到的关键技术,讨论了C/S结构与B/S结构的优缺点,研究了多层分布式系统结构,以及系统数据库的选择和系统开发工具的选择原则;其次进行了系统规划和需求分析,讨论了系统开发的可行性,分析了病案管理系统的业务流程,系统的功能需求和性能需求,建立了系统的逻辑模型,并采用UML进行了可视化建模,绘制了系统用例图;然后进行了系统的总体设计,讨论了病案管理系统的软件架构,提出采用DataSnap技术,三层C/S结构的病案管理系统体系结构,并在此基础上进行了病案管理系统的功能模块设计;根据病案的规范化、标准化等特点,按照代码标准化、
6、数据库的扩展性及开放性等要求,依据数据库设计相关规范,设计了系统数据库,画出了各个实体的E-R图以及实体之间的关系E-R图,并对数据库的表进行了详细设计;进行了系统的详细设计,讨论了各模块相关函数的设计和程序流程图设计;讨论了病案管理系统测试需求和测试用例设计原则,给出了部分测试用例,分析了系统的应用效果;论文最后进行了全文总结,指出了下一步的研究方向。论文中所开发的病案管理系统相比传统管理方式,在提高了病案管理工作效率,降低了劳动强度的同时,确保了病案数据的准确性和完整性,扩大了病案的利用率,真正体现了病案管理系统在医院管理和教学及科研中的重要作用。关键词:病案;病案管理系统;数据库;多层C
7、/S结构;DataSnapviTongji University Master of Engineering AbstractAbstractAs a sub-system of the hospital information system, the medical records management plays an important role in improving hospital managing ability, utilizing medical records for education and research, and reconciling medical disp
8、utes, etc. With the rapid development and the popularization of information technology and the continuous appearance of the weaknesses of traditional manual medical record management methods, it is imperative to apply the modern information management technology to the management of medical record.
9、In view of the existing problems in the traditional medical record management, this paper analyzes the development of medical record management both domestically and internationally, studies the characteristics of the medical record and medical record management system and the key technology of the
10、system development, discusses in detail system need analysis, general system design, specific system design and application, and analyzes the results of the application system. This paper first analyzes the development of medical record management system both domestically and internationally and def
11、ines medical record and medical record management system; then it studies the key technologies related to the characteristics and development of medical record management system, discusses the advantages and disadvantages of the C/S and B/S structure, examines the multi-layer distributed system stru
12、cture, and the principles for system database selection and system development tools; next, the paper provides the system planning and demand analysis, discusses the feasibility of system development, analysis of the medical records management systems business processes, functional requirements and
13、performance requirements of the system, establishes a logical model of the system, and renders the system use case diagram using the UML visual modeling; the paper continues to describe the overall design of the system, discusses the software architecture of the medical record management system, pro
14、poses the adoption of the DataSnap technology and the triple layer C/S structure of the medical records management system, based on which the functional module medical record management system are designed; it is discussed in the paper the way to design the system database and draw E-R maps of each
15、entity and relational E-R diagrams between the various entities , as well as the detailed database tables, according to the characteristics of medical record standardization, the scalability and openness of database, and the relevant design norms; the paper also describes the detailed design of the
16、system, the module function design and program flow diagram design; it also discusses the medical records management system test requirements and the design principals of test cases, provides some of the test cases, and analyzes the application effect of the system; finally, the paper summarizes the
17、 full thesis and points out the direction for future research.Medical records management system designed and implemented in this paper improves the efficiency in medical record management, compared to the traditional way of medical record management. It reduces the labor intensity, at the same time,
18、 ensures the accuracy and integrity of medical record data, expands the utilization of medical records, and truly reflects the important role of medical records management system in hospital management, education, and research.Key Words: Medical Records; Medical Records Management; Database, Multi-l
19、ayer C/S Structure; DataSnap同济大学 硕士学位论文 目录目 录第1章 绪论11.1 课题背景11.2 研究目的和意义11.3 国内外研究现状21.4 主要研究内容31.5 论文的组织结构4第2章 相关理论和技术52.1 病案和病案管理52.1.1 病案52.1.2 病案管理52.2 病案管理系统62.3 病案管理系统开发方法72.4 开发工具72.4.1 Oracle数据库管理系统72.4.2 Delphi82.5 软件架构92.5.1 C/S和B/S简介92.5.2 DataSnap102.6 泛型编程10第3章 需求分析123.1 系统现状调查123.2 病案管
20、理系统开发目标123.3 系统可行性分析133.4 系统业务流程分析133.4.1 病案产生业务流程图143.4.2 病案借阅流程143.4.3 报表产生流程143.5 系统需求分析153.5.1 总体需求分析153.5.2 功能需求分析153.5.3 非功能需求分析163.6 病案管理系统的逻辑模型173.6.1 数据流程分析173.6.2 用例分析17第4章 系统总体设计224.1 设计原则224.2 系统开发工具224.3 系统架构设计224.3.1 三层C/S结构设计234.3.2 应用服务器244.4 系统功能模块划分254.5 系统安全设计274.6 系统存储设计274.7 系统可
21、维护性设计284.8 系统数据库设计284.8.1 数据库设计原则284.8.2 数据库概念设计294.8.3 数据库逻辑设计324.8.4 数据库表设计334.8.5 数据库表空间设计38第5章 系统详细设计与实现405.1 数据模块405.1.1 DataSnap Server数据模块405.1.2 DataSnap 客户端415.1.3 DataSnap应用程序中的数据集425.1.4 远程数据操作425.2 用户登录模块425.3 用户管理和权限分配模块445.4 病案首页录入模块455.5 病案信息认证模块465.6 病案借阅管理475.7 病案查询495.8 报表管理505.9 系
22、统自动备份515.10 各模块间的相互关系52第6章 软件测试536.1 病案管理系统测试需求536.2 病案管理系统测试用例设计536.2.1 测试用例设计原则536.2.2 用户登录窗口测试用例设计546.2.3 用户管理测试用例设计556.2.4 病案首页录入测试用例设计566.2.5 病案借阅测试用例设计576.2.6 病案归还登记测试用例设计586.2.7 报表管理测试用例设计596.2.8 系统自动备份测试用例设计596.3 系统应用效果60第7章 总结及下一步的工作627.1 本文主要工作627.2 下一步的工作63致 谢64参考文献65附录 部分程序代码67个人简历 在读期间发
23、表的学术论文与研究成果109第1章 绪论第1章 绪论1.1 课题背景随着信息技术的广泛普及,计算机技术在医疗领域的应用也逐渐得到广泛应用。目前,我国大多数医疗单位已开展了基于计算机技术的管理方式。但是,这种基于计算机技术的管理方式在医疗单位中的应用面还很窄,例如主要是应用在财务部门,而医务人员仅仅是利用计算机做做记账工作,忽略了如何利用现代信息技术,尤其是计算机技术来提升对医疗服务、医疗教学、医疗科研等业务效率的提升1。当前我国医院病案管理普遍存在如下问题2:(1) 大量病案被闲置一旁而不充分挖掘利用,造成资源的严重浪费;(2) 病案填写不规范,不能及时发现数据错误或知道错误后,却不知问题出现
24、在哪个环节;(3) 纸质病案在借阅、传递过程中的容易遭到损坏或丢失,不利于保存;(4) 病案涉及到患者的隐私信息,但由于管理不严格,容易使患者的隐私大量外泄,给患者本人造成影响,也给医院管理带来麻烦。当前,以患者为中心的理念已逐步成为各医院的管理目标。在这一目标的要求下,如何提高病案管理质量和效率成为其开展的首要工作之一。病案管理方式由纯人工管理或简单的由单个计算机管理的方式,逐步向网络化计算机管理方式转变。通过网络化计算机病案管理,医院管理人员利用覆盖全院的信息系统,实时掌握患者分布、床位利用率、设备运转率等各种情况,做出管理决策。因此,建立以计算机技术、网络技术等现代信息技术为支持的病案管
25、理系统,通过计算机实现对病案资料的录入、存储、归档、检索、借阅等诸多工作,减少人工操作中数据录入和传递错误,提高病案管理质量和效率,扩大病案信息的利用率,已成为各大医院信息化建设中的迫切需要。1.2 研究目的和意义所谓“病案”,是指医务人员记录的关于患者诊疗过程的一系列文件,它客观、完整地记录了患者的病情变化、诊疗过程和治疗效果,是医疗、教学、科研的第一手资料3。由此可见,病案不仅在医疗、教学和科研方面具有重要参考价值,而且还为医院管理决策的制定提供科学的第一手资料。此外,作为患者的一种医疗过程原始档案,病案还是处理医疗纠纷的重要证据,具有一定的法律意义。病案管理工作一般包括对原始病案的收集、
26、编目和归类、保管以及提供查阅等内容。如果由人工进行这些操作,其弊端将是很明显的:方法简单,操作枯燥,不易提高病案质量;不同医院之间、同一家医院各部门之间对病案资料互不通气,降低了病案资料的共享性,病案的价值不能得到充分的体现;病案管理室需要不断扩充存放空间;病案存放环境要求高,病案保存成本高;病案借出容易、催还难,管理困难,容易造成资料损坏或者缺失;病案管理需要遵循每位患者在该医院看病,不论其就诊或住院多少次,都应使用相同的入院编号这一原则,但由于人工操作上的疏忽,经常会导致多个不同入院号对应单个患者的状况,从而造成在医院许多不同的科室保存同样患者的病案,不利于对病案的管理,严重影响了对患者身
27、体状况作长久的跟踪调查和分析比照。由上可见,病案具有较大的数据信息量、较多的来源、较高的使用频率、较为苛刻的要求等特点,它最为直观的反映了一个医院的医疗和管理水平,病案管理工作在整个医院信息化管理中处于非常重要的地位。随着医院的发展,医院领导和医务人员希望在病案管理中能够:(1) 快速、有效地使用病案。医院在发展壮大和增强医疗水平的同时,必将更加迫切、经常的在医疗、教学、科研等方面利用到病案。(2) 病案编目的目的之一是方便查询病案,但人工病案检索方式存在查找资料困难、效率低下的弊端。此外,借阅病案人员可查看到全部病人的医疗档案,患者隐私得不到保护。目前,无论国外还是国内已有许多病案管理系统(
28、包括单独的病案管理系统和作为医院信息管理系统一部分的病案管理系统),但是这些系统大多是通用系统,未针对具体医院进行优化,例如有的系统过于庞大,适合于大型医院,但对于一些县级或乡级医院就不适合。因此,如何配合医院信息化建设,研究并开发适于具体医院实际情况的病案系统已势在必行。基于以上原因,我们本着高效、规范和安全管理病案,并充分利用病案信息的宗旨,针对南阳医专附属医院病案管理现状,为其开发了病案管理系统。1.3 国内外研究现状西方发达国家较早地进行了现代化病案管理,如美国大学医院会、志愿者医院等。这一方面得益于其内部网络化管理的普及,另一方面得益于院际网络的发展。日本信息网络化管理技术在各医院之
29、间也已得到普遍应用,如有日本医院开发了利用网络传送CT图像进行脑血管疾病的远程诊断的系统,该系统中所有病案资料全部利用网络传输4-5。近年来我国医院在病案管理现代化方面也取得了一定的成果。如我国的众邦慧智公司在1996年研制出国内第一个商品化的医院信息系统(Hosptial Information System,HIS)。在随后的几年时间里,国内出现了一大批进行HIS系统研发的企业,并发布了许多此类产品,其中规模较大的公司如“瑞得”、“金卫”、“军惠”等。虽然我国在医院信息化建设上取得了可喜可贺的成绩,但与欧美等此类技术走在前列的国家比,我国的信息化建设还存在着技术不先进、应用范围不广、研发机
30、构实力不强等方面的不足6。相比于医学科学的发展和需要,我国病案管理的发展还存在一定的问题,主要表现在以下几个方面7:(1) 医院病案管理机构功能、职责不明确;(2) 在病案管理中存在随意修改病案等问题,病案管理缺乏制度约束或执行不严,病案质量得不到保证;(3) 许多病案管理人员缺乏系统专业知识的学习,不能很好的胜任工作;(4) 计算机化病案管理系统普及率低,大都还处于人工管理层次,这严重影响了病案管理工作质量和效率。目前,我国病案管理模式正处从以人工管理为主的传统病案管理模式向以计算机管理为主的现代病案管理模式转变阶段,这一阶段正经历着以下几个变化:(1) 管理方法上,正从人工管理模式或单机管
31、理模式向以网络化计算机病案管理模式转变;(2) 管理内容上,正从传统的以病案收集、编目、归档以及保管为主向如何提高病案资源的综合开发和利用上转变;(3) 工作方式上,正从以我为中心向以用户为中心转变;(4) 人员配置上,设置专门岗位,分派专人管理病案。1.4 主要研究内容病案管理系统是一个庞大复杂的软件系统,对其开发是一项开发周期较长、开发费用高的系统工程,仅仅以一人之力不可能完成。为此,本文只对组成病案管理系统的几个典型模块进行研究。本文主要研究内容如下:(1) 分析了病案管理系统的功能特点和国内外发展现状;(2) 结合当前软件开发技术,详细讨论了病案管理理论和系统开发中的关键技术;(3)
32、结合具体医院院情,进行了病案管理系统的需求分析、总体设计、详细设计、实现技术、系统测试,涉及建立该系统的可行性、功能实现过程、模块分类、数据库具体实现以及测试用例设计原则和测试用例的设计等;(4) 如何提高实现病案管理系统的安全性、可靠性及可维护性。1.5 论文的组织结构论文首先介绍了先行研究、目的和价值及实现功能,接着根据项目开发的顺序组织相关内容,最后对项目开发结果做了总结,并对下一步的设计作了构想。全文共包括七章内容。第1章 绪论。本章主要介绍了本课题的研究背景、研究目的和意义,国内外研究现状,针对现行病案管理中存在的问题,提出了本文的研究内容,最后给出各章节的安排。第2章 相关理论和技
33、术。本章讨论了病案管理系统开发中所涉及到的相关理论和技术,包括病案和病案管理的特点,数据库和数据库管理系统,开发工具,等。第3章 需求分析。本章讨论了病案管理系统的需求分析,主要包括南阳医专附属医院病案管理现状调查、软件开发目标、系统开发的可行性、业务流程分析、用户需求分析,并在此基础上建立了新系统的逻辑模型。第4章 系统总体设计。本章主要讨论了病案管理系统的总体设计,包括系统设计原则、开发工具的选择、软件架构设计、系统功能模块的划分、系统安全设计、系统存储设计、系统数据库设计。本章针对病案管理系统的特点,详细讨论了所需数据库的设计原则,数据库的概念设计,逻辑设计,以及表空间设计,并给出了创建
34、数据库表的部分代码。第5章 系统详细设计与实现。本章详细讨论病案管理系统的详细开发模块,包括用户登录界面、病案首页录入、病案借阅与查询、报表管理、自动备份数据等内容,给出了相关模块所涉及到的一些函数和程序流程图。第6章 系统测试。本章分析了病案管理系统的测试需求,讨论了测试用例设计原则,给出了部分测试用例,最后分析了应用效果。第7章 总结和下一步的工作。本章对全文做出全面的总结,指出进一步的研究内容。109第2章 相关理论和技术第2章 相关理论和技术在本章我们讨论医院病案管理系统开发中所涉及到的相关理论和技术,包括病案和病案管理,数据库和数据库管理系统,开发工具等。2.1 病案和病案管理2.1
35、.1 病案病案是医务人员在诊治和护理患者过程中形成的记录患者健康状况的全部原始记录材料,包括患者基本信息、诊治记录、影像检查、护理以及各种医疗检查费用等资料,是医院管理、教学、科研、社会服务的原始资料。病案是一种档案,更是一种科技档案,具有以下属性8:(1) 原始性病案是一种技术档案,病案所记录的必须是原始资料。(2) 保密性病案是关于患者本人的医疗记录,这些记录信息涉及到患者大量的隐私。医护人员必须尊重并保护患者的隐私,否则将会承担一定的法律责任。(3) 法定性卫生部在卫生部关于修订下发住院病案首页的通知(卫医发(2001)286号)中对病案的归档内容、内容要求、保存都有严格的规定。(4)
36、凭证性病案是医护人员与患者间医疗行为的原始记录,是证明医疗活动正确与否的重要凭证之一。(5) 共享性作为一种医疗原始文献,患者可以复印病案作为报销或者医疗纠纷的凭据,医院也可以利用病案进行临床科研,共享研究结果。2.1.2 病案管理病案管理有两个含义:一个含义是指对病案的录入、编目、归档、保存及借阅使用等工作步骤的管理过程,另一个含义不仅包括狭义病案管理的全过程,还包括对病案信息进行研究、分析、加工、开发利用,为医疗、科研、教学及管理决策者等提供真实可靠的病案资料和医疗统计信息7-8。通常,病案管理包括三个方面的内容,即:病案形成管理、病案归档管理和病案开发利用管理。三者形成一个有机的统一体,
37、互为关联相互影响。图2.1所示为三者之间的关系。图2.1 病案管理内容2.2 病案管理系统病案管理系统是指利用计算机技术和管理技术实现现代化病案管理的系统。利用病案管理系统不仅提高了病案管理工作的效率,保证了病案管理质量,实现了病案资源的共享,而且形成了病案流通的可追踪、病案管理的标准化、信息查询的网络化等功能,使病案管理工作真正成为医院信息管理的中枢。病案管理系统一般应具有以下功能特点:(1) 标准、规范的信息分类代码。统一的信息分类代码有利于医疗卫生信息的数据通信、信息交换以及软件的规范化、标准化设计。(2) 良好的可扩充性。优秀的病案管理系统应具有良好的可扩充性,以便满足日后功能的增加。
38、(3) 一致性和完整性。在病案管理系统中,须保证数据的一致性和完整性。(4) 数据校验功能。病案管理系统应对录入计算机的数据能自动识别错误,并给出错误提示。(5) 开放性和适应性。病案管理系统应充分考虑未来业务发展对整个系统的影响,网络结构能灵活扩展。(6) 安全性和保密性。病案管理系统必须具有一定的安全机制,保证病案信息不被非法查询或修改。(7) 稳定性和可恢复性。病案管理系统必须具有好的稳定性和可恢复性。因此在系统设计时,需从结构、方案、设备选型、技术服务、维护响应等方面考虑,尽可能使系统发生故障的几率降低;对数据进行定期备份,保证在出现机器故障、网络故障或其他故障时,系统能在允许的时间内
39、恢复到最近的工作状态,保证不会造成数据丢失。2.3 病案管理系统开发方法在病案管理系统开发中可采用结构化方法与原型法相结合的形式进行系统开发9-10。在需求分析和总体设计阶段,采用经典的结构化分析和设计思想,合理划分系统的功能模块,建立系统的逻辑模型。根据新系统的逻辑模型详细设计各功能模块。详细设计阶段,首先把病案管理系统分解为若干个一级功能模块,依据“紧内聚,松耦合”原则,再把这些一级模块逐层划分为多个功能明确、独立的子模块,提高系统的可靠性和可维护性。在系统建模时采用UML进行可视化建模11,并贯穿系统开发全过程。在系统的设计和实现过程中采用原型法,以加速开发进程,让用户尽早参与到系统开发
40、中去,对开发的系统应用进行测试和评价,增强系统的适应性。图2.2所示为本病案管理系统的开发方式示意图7。图2.2 结构化方法与原型法相结合的开发方式2.4 开发工具2.4.1 Oracle数据库管理系统数据库是统一管理的相关数据的集合,这些数据以一定的结构存放在存储介质中。数据库的基本特点是:数据能够为各种用户共享、数据具有最小冗余度、数据对程序的独立性以及数据由数据库管理系统统一管理和控制。数据库本身不是独立存在的,它是组成数据库系统的一部分12。目前已有的数据库产品很多,比较流行的如Oracle、DB2、Sysbase、MS SQL Server、Access、Firebird等。其中,O
41、racle、DB2、Sysbase、MS SQL Server主要用于大型数据库系统开发;Access作为微软办公软件Office的一个组成部分,主要用于桌面应用;Firebird是一个开源数据库产品,可用于中小型系统和嵌入式系统。Oracle数据库是美国Oracle公司提供的世界上第一个关系数据库产品,是目前最流行的关系数据库产品之一。Oracle数据库有多个版本,Oracle 10g是其中之一。作为一个大型关系数据库管理系统,Oracle 10g数据库具有以下特点13-14:(1) 网格计算数据库。Oracle 10g是第一个基于网格计算的数据库,它提供了企业网格计算所需要的集群、工作负载
42、和数据中心自动化,改善了系统的管理系能和服务质量,提高了硬件利用率,减少了管理需求。(2) 数据安全性和完整性控制。Oracle 10g根据权限控制用户对系统的访问,只有授权用户才能存取数据库数据,对数据库实施审计、追踪和监控。(3) 数据库自动管理。可以利用Oracle 10g的智能数据库基础架构生成统计和工作负荷数据快照,以进行性能自动调整和为数据库管理员提供建议,减少了需要由管理员执行的维护和调整任务。(4) 物化视图与查询重写。利用Oracle 10g的强制查询重写和调整顾问程序使管理物化视图更容易,可以从基础表中完全刷新或使用快速刷新机制增量刷新。(5) 闪回版本查询与闪回错误操作。
43、Oracle 10g对闪回技术做了进一步扩展。(6) 应用程序开发。Oracle 10g数据库为开发用于可移动、可扩展和网络计算高性能数据库应用程序提供了最全面的功能性,支持C/S和B/S结构应用程序的开发。2.4.2 DelphiDelphi是由原美国Borland公司推出的快速应用程序开发工具,它是将可视化技术、面向对象技术与数据库技术相结合的产物。Delphi采用的是面向对象语言Object Pascal。Delphi提供了大量的控件,用户使用这些控件可以方便、快速的开发出想要的应用程序。Borland在2008年将Delphi产品卖给了Embarcadero公司。Embarcadero
44、对Delphi进一步开发,先后推出了多个版本,目前的最新版本是Delphi XE6。Delphi XE6给利用Delphi编程的开发人员带来了全新体验,他针对微软公司的Windows、苹果公司的Mac以及安卓等各种操作系统加入了全新的设计,各种性能和技术都明显得到改善,能高效运用于各种系统中。2.5 软件架构2.5.1 C/S和B/S简介C/S (Client/Server)是客户机/服务器结构的英文简写。C/S结构可以是二层的,也可以是三层的,三层结构能适应更广泛的网络空间,具有较大的应用空间。C/S结构最大的优势在于它的客户端和服务器工作在不同的微机上,这样使得任何一个服务器都能满足各种不
45、同模块的需求,在程序所在的工作环境发生变化的时候,能很好的兼容,程序具有强大的扩容和删减功能C/S结构的功能虽然非常先进,但是由于社会不断发展,电子技术的快速进步,程序设计也越来越复杂,导致它的缺陷也暴露出来10:(1) 设计经费需求太多。它对客户端电脑整体许求太苛刻,特别是软件的不断升级,对硬件的要求也不断提高,从而增加了系统成本。(2) 客户端程序设计复杂,这是因为大部分工作量放在客户端的程序设计上。(3) 信息内容和形式单一,因为遵循数据库字段解释,开发之初就已确定了用户界面。(4) 由于采用不同的开发工具或平台,一般互不兼容,造成软件移植困难。(5) 软件维护和升级困难,对于软件的一个
46、小小的改动,每一客户端都必须更新。因特网技术的快速发展,出现了一种新的软件架构浏览器/服务器(Browser/Server)结构。B/S结构的客户操作通过用户网页进行,运行指令全部发送到网络服务器完成,这种构架极大降低了对用户主机的性能要求,程序更新的代价也比较小。但是这种结构也有着如下缺点:(1) 不能很好的支持动态页面。(2) 系统不易扩展,安全性得不到保障。(3) 在客户端进行数据查询时,其响应速度远远低于C/S结构的查询响应速度,系统性能低。(4) B/S结构应用系统提交数据的主要单位为页面,动态交互性差,不能在联机状态下很好的处理任务。2.5.2 DataSnapDataSnap最早的版本也叫Midas,它主要采用COM作为主要技术来开发设程序。在电子技术的高速发展下,DataSnap也做出了新的变化,变成了JSON以及REST等主要技术。采用这种主要技术为框架的重要优势是他们可以分别应用到不同的操作系统上,具有很强的兼容性。这样即使应用程序运行在一个操作系统平台上,对其它操作系统上的使