(系统分析与集成专业论文)基于web的科研管理信息系统设计与实现.pdf_第1页
(系统分析与集成专业论文)基于web的科研管理信息系统设计与实现.pdf_第2页
(系统分析与集成专业论文)基于web的科研管理信息系统设计与实现.pdf_第3页
(系统分析与集成专业论文)基于web的科研管理信息系统设计与实现.pdf_第4页
(系统分析与集成专业论文)基于web的科研管理信息系统设计与实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(系统分析与集成专业论文)基于web的科研管理信息系统设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 摘要 随着 internet/intranet 技术的快速发展,为高校和科研院所的信息管理带来了崭新 的思路,尤其是地域上分散的行业,可通过互联网突破时空的限制,将科研单位所属 各个院、所(中心) 、站等单位联接成统一的“虚拟网” 。构建覆盖全系统的科研资源 共享平台和整体运作的科研管理网络, 实现整体性、 连贯性和动态性的 “全过程管理” , 全面提升科研管理水平和效率。以大型网络数据库系统为平台,开发基于 web 的管理 信息系统成为科研单位信息化建设的一项迫切而重要任务。 本文以“中国水产科研管理信息系统研究与开发”项目为背景,对 c/s 结构和 b/s 结构的特点进行了分析和比较,指出了本系统采用 b/s 结构的优势。同时介绍了当今 流行的 web 开发技术asp.net 和数据库技术sql server 2000,并分析了这 些技术对开发本系统的支撑作用。通过对“中国水产科研管理信息系统”进行的详细 需求分析,构建了功能模块的活动图,分析了系统的业务流程。系统遵循实用性、先 进性和可扩展性的设计原则,采用面向对象的设计模式,将系统的层次结构从下到上 依次划分为数据库、数据访问层、业务逻辑层和表示层,针对每一层次自下而上分别 描述了其设计思想和实现过程,并在数据访问层结合持久对象技术,建立了基于 nhibernate 技术的持久层。此外,设计工作还对系统界面的设计作了充分的考虑,构 建了一个经济、高效、网络化的中国水产科研管理信息系统,为提升中国水科院科研 管理规范化水平和效率提供了一套行之有效的平台。 在文章的最后,通过对系统的研究和开发过程的总结,扼要阐述了作者在研究和 实践中的一些体会与认识。 关键字:科研管理,web,b/s 结构,c/s 结构,持久对象 ii abstract along with the rapid development of the internet/intranet,it brings a new idea for the information management of the high school and academe, especially for the department which was separated from each other. with the internet,it can bring the academes each department, section (center) and station and so on together, and becomes uniform “virtual net”. it constructs a system-covered scientific resource sharing platform and scientific research management network, and realizes “the entire process of management” with overall consistence and dynamic, promotes the level and efficiency of the scientific research management. with the platform of the large web database system, developing the web- based management information system becomes an important content of the academes information construction. this article considers “the scientific research management information system of the chinese academy of fishery science” as background, gives the first analysis and comparison of the c/s and b/s mode characteristics, point out the reason for adopting of the b/s mode. follow by introduction of the present prevailing web technology asp.net, and database technology sql server 2000, analyses the superiority in development of the system with these technology. this article gives a particular requirement analysis of “the scientific research management information system of the chinese academy of fishery science”, establishes the activity graphs for each module and analyses the operation flow of the whole system. this system follows the principle of practicability, advancement and expansibility, adopts the object-oriented design pattern. the system is divided into four layers: database, data service, business logic and presentation. it gives the description of design philosophy for each layer, and unites the persistent-object technology in the data service, establishes a nhibernate-based persistence layer. besides, it gives plenary consideration for the interface design. it contributes a scientific research management information system of the chinese academy of fishery science with economy, effective, network, and it provides a effective scheme for the improving the standardization level and efficiency of thee chinese academy of fishery sciences scientific research management. in the end, with the conclusion for research and development of the system, some feelings and understandings in related field. keywords:scientific research management, web, b/s, c/s, persistent-object i 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以 明确方式标明。本人完全意识到,本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密 ,在_年解密后适用本授权书。 不保密。 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 1 1 绪论绪论 1.1 课题背景 新形势下,随着科研体制改革的深入,中国水产科学研究院作为水产学科可续研 究和科研开发的国家队伍,在科研工作中,需要以知识创新为核心,全面提高知识生 产量和知识生产率。因此,如何利用 internet 的网络资源,及时收集科研工作中有关 信息,协助各级领导制定科技发展规划和政策,合理安排人财物等资源,推进科技创 新,成为水科院科研管理工作的重要任务。 长期以来,水科院科研管理工作仍然是传统的手工式管理和单机式管理,缺乏简 洁高效的数据化系统管理。随意打开管理人员计算机中文件目录,是大量的 word 或 excel 文件,查找和统计信息相当困难;管理中以科研计划和科研成果划分的管理方 式,难以体现科研管理工作的整体性和连贯性;项目申报、立项、执行、验收、鉴定、 报奖等科研管理全过程,仍然是要借助传统的纸质文件邮递或 email 来进行,中间如 遇到材料修改、重新报送等问题,往返过程既浪费时间和金钱,又在很大程度上影响 了科研项目的申报立项,不利于水科院整体科研工作的发展。如何对现有科研管理工 作加以重新规划和组织,建立网络化的科研管理信息系统,实现科研管理工作的全 过程管理,提高科研管理水平和效率,更好地为全院科研工作服务,是摆在水科院 科研管理部门面前的一项紧迫而重要的任务。 1.2 研究目的及意义 目前水科院科研管理工作仍然是传统的手工式管理和单机式管理,缺乏简洁高效 的数据化系统管理,经常出现科研工作者的科研成果包括论文项目等存在多次录入、 重复统计、漏报、误报的问题。为了使单位科研管理部门、项目负责人、工作组成人 员及其他科研人员可以突破时间和空间的限制,随时了解科研项目进度和状态,确保 科研项目实施的顺利进行,同时全面支持年度统计要求,有效的保证统计数据的完整 性、正确性和科学性,使得年度科研量化统计工作能够顺利进行。所以,开发结构设 计合理的科研管理信息系统成为目前的首要任务。 科研管理信息化的重要意义主要体现在如下几个方面1: 第一,信息是科研管理决策、制定科研计划的依据。只有掌握大量、准确的信息, 2 才能看准和把握科研方向,选准科研课题,提高科研工作的效率,对科研工作做出科 学的管理决策。制定科研计划是科研管理工作中的重要环节。计划的正确性在很大程 度上决定着整个管理工作的水平、效率和效益。掌握的信息质量越高,做出的计划越 切合实际,越符合客观规律。 第二,信息是确定科研选题的基础。科学研究选题一靠研究人员的实力,二靠把 握科技发展的趋势。当前我国高校的科研经费、科研人数和设备条件都十分有限,科 研管理人员在确定科研课题之前一定要掌握大量的信息,了解国内外有关课题的发展水 平、科研方向、专业技术等情况,充分利用信息,选出有生命力和竞争性的科研课题, 提高科研课题的中标率,使有限的科研资源产生最大的效益。 第三,无论是科研项目的申报、科研项目的中期管理、科研项目的结题、鉴定, 还是科研成果的转化,都要依靠信息的搜集和分析。科研成果是科学研究工作的归宿。 鉴定(或评价)一项科研成果,首先要了解其科学价值或社会价值,其技术指标是否合 理、应用是否广泛等。在这一过程中,只有依据信息,才能从学科的发展和社会的需 要两个角度来正确评价成果的价值,克服鉴定时的盲目性和片面性。 第四,信息化将大大提高科研管理的工作效率。internet 的出现使科研管理人员 最大限度地开发和利用网上信息资源成为可能。通过利用信息网络和采用信息技术, 可以使信息交换方便、快捷,简化工作程序,减少工作量,节省人力物力,提高工作 效率。同时,利用网络信息,还可以使各项科研管理工作进一步规范化,各院系部门 可以通过网络查询、发布科研信息、科研成果,下载各种资料,从而实现网上信息交 流,提高管理水平和工作效率。 1.3 国内外研究概况及发展动态 1.3.1 科研管理信息系统理论的发展 科研管理信息系统的基本理论研究,正朝着以下几个方向的发展2: 1) 科研管理信息系统研制方法的进一步系统化的研究。 2) 科研管理信息系统研制工具的进一步改善和完善的研究。 3) 科研管理信息系统模型的进一步研究。 4) 科研管理信息系统对人、组织和社会影响的进一步研究。 3 1.3.2 科研管理信息系统应用技术的发展 科研管理信息系统在实际应用上概括来说是向着高层次和普及性4两个方向发 展。从普及性方面来说,随着微型计算机功能的增强和广泛应用,以微型计算机为主 要信息处理工具的、功能完善的管理信息系统将越来越多地受到各级科研管理者的欢 迎,并且要逐渐地向着用于支持个人独立思考和决策活动的方向发展。 从科研管理信息系统应用的高层次上来讲,以大型计算机为中央处理机的分布式 管理信息系统也将是一个重要的发展方向,利用微型计算机和大型主机联网,可以为 科研管理者提供更加广泛的信息和决策支持。另外,各种类型的专家系统、人工智能 系统、决策支持系统也将得到进一步的研究和发展,并逐渐走进应用领域。 从科研管理信息系统的体系结构看,传统的管理信息系统一般采用两层 c/s 结构, 这种结构集中了大中型系统及文件服务器的优点,并有良好的系统开放性和可扩展 性,一般应用于局域网。但是,随着信息的全球化网络技术成为计算机界的热门话题。 近年来,internet/intranet6技术的发展,为企事业单位的信息管理带来了崭新的思 路intranet 的技术基础是 web 技术,采用的结构是浏览器/服务器(browser/server) 结构,它沿用并发展了客户机/服务器(client/server)结构技术,即在 mis 系统的用 户端采用统一的浏览器界面,在后台服务器上安装运行 web 服务器软件和数据库管理 系统、与当前采用传统技术的 mis 系统相比,基于 intranet 技术的 mis 系统具有用户 界面统一、不受操作系统平台限制、操作简单方便、减少用户前端的开发工作量、系 统维护容易等优点;且由于 intranet 技术采用与 internet 相同的技术,因此基于 intranet 的 mis 系统既可以自成体系,也可以方便的接 internet,从而最大限度地保证对外信 息资源的共享。 目前,国内研制的科研管理系统7大都基于局域网和 access 技术,采用大型数据 库及应用 intranet 技术在国内还比较少见,现有的一些软件也不适合科研管理的模式, 本课题拟采用 internet/intranet 技术利用微软最前沿的技术 asp.net 研制开发一套具 有一定技术先进性的高效、实用的科研管理信息系统。 1.4 本文的组织结构 本文以基于 web 模式的科研管理信息系统的设计与实现为主题,围绕科研管理信 息系统所采用的技术,及其需求和设计进行详细阐述,分为六部分: 4 第一章主要介绍了课题产生的背景,围绕背景阐述此课题研究目的和意义,并结 合国内外的研究现状,分析科研管理信息系统理论的发展以及在实际应用中的发展。 第二章主要介绍了科研管理信息系统所需的模式和各项技术,其中比较了 c/s 模 式和 b/s 模式的特点,总结出 b/s 模式在开发此系统的优势。另外还介绍 web 开发技 术、数据库技术以及 web 与数据库连接技术,最后列出了本系统的开发与运行环境。 第三章首先提出了持久对象技术,并对此技术所涉及的几个基本概念进行了阐 述,然后详细介绍了持久对象技术的实现过程。 第四章针对科研管理的特征和各模块的功能,给出了此系统的详细需求分析,最 后根据需求分析建立了各模块的活动流图。 第五章首先给出了科研管理信息系统的层次模型,然后根据层次从下到上对各个 层次的设计与实现进行了详细论述,并在数据访问层结合了第三章所提出的持久对象 技术,将该技术应用于科研管理信息系统。 第六章总结了全文的工作,阐述了作者在研究与实践中的一些体会与认识以及创 新之处。 5 2 科研管理系统体系结构分析科研管理系统体系结构分析 2.1 c/s 模式和 b/s 模式 管理信息系统的结构设计,目前存在两种较为流行的模式:c/s(客户端/服务器) 模式和 b/s(浏览器/服务器)模式。 2.1.1 c/s 模式的主要特性及优越性 c/s 模式是一种两层结构的系统,如图 2.1 所示: server服务器 intranet企业内部局域网 client 客户机 client 客户机 client 客户机 client 客户机 图 2.1 c/s 模式的结构图 第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据 库服务器。c/s 模式主要由客户应用程序、服务器管理程序和中间件三个部分组成。 其优越性如下: 首先,交互性强是 c/s 固有的一个优点。在 c/s 中,客户端有一套完整的应用程 序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。 其次,c/s 模式提供了安全的存取模式。由于 c/s 是配对的点对点的结构模式, 采用适用于局域网、安全性比较好的网络协议(例如:nt 的 netbeui 协议) ,安全 性可以得到较好的保证。 再次,采用 c/s 模式将降低网络通信量。 最后,由于 c/s 在逻辑结构上比 b/s 少一层,对于相同的任务,c/s 完成的速度 6 总比 b/s 快。使得 c/s 更利于处理大量数据。 但是客户端需要另外安装客户端软件和应用软件;升级、维护非常困难;而采用 c/s 结构时,客户端和服务器端都需要处理部分任务,对客户机的要求较高,适合于 非常复杂的应用和速度要求很高的应用。如银行业务处理等等。 2.1.2 b/s 模式的主要特性及优越性 随着 internet 越来越广泛的应用,原来基于局域网的企业网开始采用 internet 技术 来构筑和改建自己的企业网,即 intranet。于是,一种新兴的体系结构 browser/server 应运而生,并获得飞速发展,成为众多厂家争相采用的新型体系结构。本质上, browser/server 也是一种 client/server 结构,它是一种由传统的二层 client/server 结构 发展而来的三层 client/server 结构在 web 上应用的特例。 在 browser/server 三层体系结构8下,表示层(presentation) 、功能层(business logic) 、数据层(data service)被割成三个相对独立的单元。结构如图 2.2所示: web服务器 数据库服务器 web浏览器 图 2.2 b/s 模式的结构图 第一层表示层,即 web 浏览器。 在表示层中包含系统的显示逻辑,位于客户端。其任务是由 web 浏览器向网络上 的某一 web 服务器提出服务请求,web 服务器对用户身份进行验证后用 http 协议 把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在 web 浏览器 上。 第二层功能层,由具有应用程序扩展功能的 web 服务器实现。 在功能层中包含系统的事务处理逻辑,位于 web 服务器端。其任务是接受用户 的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过 sql 等方式向 数据库服务器提出数据处理申请,然后等数据库服务器将数据处理的结果提交给 web 服务器,再由 web 服务器传送回客户端。 7 第三层数据层:由数据库服务器实现。 在数据层中包含系统的数据处理逻辑,位于数据库服务器端。其任务是接受 web 服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提 交给 web 服务器。 b/s 模式的特点如下:模式的特点如下: 1) 系统开发、维护和升级的经济性。对于大型的管理信息系统,软件开发、维 护与升级的费用是非常高的,b/s 模式所具有的框架结构可以大大节省这些费用,同 时,b/s 模式对前台客户机的要求并不高,可以避免盲目进行硬件升级造成的巨大浪 费。 2) b/s 模式提供了一致的用户界面。 b/s 模式的应用软件都是基于 web 浏览器的, 这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致 的,从而可以降低软件的培训费用。 3) b/s 模式具有很强的开放性。在 b/s 模式下,外部的用户亦可通过通用的浏览 器进行访问。 4) b/s 模式的结构易于扩展。由于 web 的平台无关性,b/s 模式结构可以任意扩 展,可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。 5) b/s 模式具有更强的信息系统集成性。在 b/s 模式下,集成了解决企事业单位 各种问题的服务,而非零散的单一功能的多系统模式,因而能提供更高的工作效率。 6) b/s 模式提供灵活的信息交流和信息发布服务。b/s 模式借助 internet 强大的 信息发布与信息传送能力可以有效地解决企业内部的大量不规则的信息交流。 2.1.3 两种体系结构的对比及其方案的选择 b/s 模式管理信息系统基本上克服了 c/s 模式管理信息系统的不足,主要体现为 以下几点11: 1) 开放的标准开放的标准。client/server 所采用的标准只要在内部统一认可,其应用往往是 专用的。browser/server 所采用的标准都是开放的、非专用的,是经过标准化组织所 确定的而非单一厂商所制定,保证了其应用的通用性和跨平台性。 2) 较低的开发和维护成本。较低的开发和维护成本。client/server 的应用必须开发出专用的客户端软件, 8 无论是安装、配置还是升级都需要在所有的客户机上实施,极大地浪费了人力和物力。 browser/server 的应用只需在客户端装有通用的浏览器即可,维护和升级工作都在服 务器端进行,不需对客户端进行任何改变,故而大大降低了开发和维护的成本。 3) 使用简单,界面友好。使用简单,界面友好。client/server 用户的界面是由客户端软件所决定的,其 使用的方法和界面各不相同,每推广一个 client/server 系统都要求用户从头学起,难 以使用。browser/serve 用户的界面都统一在浏览器上,浏览器易于使用、界面友好, 不须再学习使用其它的软件,一劳永逸的解决了用户的使用问题。 4) 客户端消肿。客户端消肿。client/server 的客户端具有显示与处理数据的功能,对客户端的 要求很高,是一个“胖”客户机。browser/server 的客户端不再负责数据库的存取和 复杂数据计算的等任务,只需要其进行显示,充分发挥了服务器的强大作用,这样就 大大的降低了对客户端的要求,客户端变得非常“瘦” 。 5) 系统灵活。系统灵活。client/server 系统的三部分模块中有一部分需改变就要关联到其它 模块的变动,使系统极难升级。browser/server 系统的三部分模块各自相对独立,其 中一部分模块改变时其它模块不受影响,系统改进变得非常容易,且可以用不同厂家 的产品来组成性能更佳的系统。 三层的 browser/server 体系结构具有许多传统 client/server 体系结构不具备的优 点,而且又紧密的结合了 internet/intranet 技术,是技术发展的大势所趋,它把应用系 统带入了一个崭新的发展时代。 所以,在本文所设计的科研管理信息系统中,选择了 b/s 模式,这样确保系统能 满足跨平台、操作简单、易维护的需求。 2.2 web 技术研究 asp.net 是 microsoft 用户构建动态和数据驱动 web 站点的技术。它是建立在通 用语言运行时刻库(clr)上的应用程序框架和用来在服务器端构建功能强大的 web 应用程序。asp.net 提供了几个超越以前 web 开发模式的优点13: 1) 增强的性能。 asp.net 是运行在服务器端的编译后的 clr 代码, 而不是像 asp 那样解释执行。asp.net 利用提前绑定,即时编译,本地优化和缓存服务来提高性能。 2) 世界级水平的开发工具支持。在 visual studio .net 的集成开发环境(ide) 9 中,asp.net 框架由丰富的工具箱和设计器组成。所见即所得的(wysiwyg)编辑 方式、拖放服务器控件、以及自动部署,仅仅是这一强大工具所提供的一少部分功能。 3) 强大而富有弹性。由于 asp.net 是基于(clr)的,因此整个.net 平台的强 大和富有弹性,同样可以应用于 web 应用程序开发者。.net 框架的类库、消息以及 数据访问解决方案,都可以无缝集成到 web。asp.net 也是语言中立的,因此可以选 择开发者最熟悉的语言,或者通过几种语言来共同完成一个应用。而且,clr 的互用 性可以保证开发者升级到 asp.net 的时候,现存的基于 com 的开发投资依然保留。 4) 简单。asp.net 使执行常用的工作变得很容易,比如从简单的表单提交、客 户端验证,到部署和站点配置。例如,asp.net 允许建立用户接口,实现页面和逻辑 代码的分离,同时,就像 vb 的表单执行模式那样来处理事件(也就是说,由页面驱 动模式变成了事件驱动模式) 。此外,clr 简化了部署,用来管理代码服务,例如自 动参照和垃圾回收。 5) 易于管理。asp.net 使用一个基于文本的、分层次的配置系统,它简化了服 务器端环境和 web 应用程序的设置。由于配置信息用纯文本格式保存,新的设置不需 要本地管理工具的支持。这种“零本地支持”的理念也同样应用到了部署 asp.net 应用程序。asp.net 应用程序部署到服务器,简化为复制必要的文件到服务器。在部 署,甚至替换正在运行的变异代码的时候,也不需要重新启动服务器。 6) 可伸缩性和有效利用性。asp.net 被设计成可伸缩的,能为集群和多处理器 环境设计提高性能。而且,asp.net 运行时刻密切监视和管理进程,这样,如果发生 了错误的行为,例如漏洞和死锁,新的进程会在当前位置建立,来帮助应用程序继续 处理事件请求。 7) 可订制和扩展。asp.net 提供一种良好的扩充结构,允许开发者在适当的级 别“插入”他们的代码。 8) 安全性。内建的 windows 验证和每一个应用程序的独立配置,应用程序是安 全可靠的。 2.3 数据库技术研究 sql server 2000 中文版是 microsoft 公司开发的大型关系数据库管理系统,具有 非常强大的关系数据库创建、开发、设计及管理功能。 10 当今社会日益膨胀的信息量对数据库的构造提出了更新、更高的要求,数据库已 步入网络应用领域。web 数据的发布与收集,分布式数据库管理及联机处理支持,都 要求数据库开发管理系统具有相应的新增功能,正是在这种背景下,sql server 应运 而生。sql server 以其良好的数据库设计、管理与网络功能,越来越深得用户青睐, 并成为数据库产品中的杰出代表。 sql server 2000 彻底脱离了 sybase,它将数据库连接到 internet,并通过 web 浏 览器显示数据操作,具有客户机/服务器结构,并与 microsoft 公司的其他产品及第三 方产品具有良好的兼容性,能方便的实现无缝操作。此外,sql server 2000 还提供了 对分布式事务处理的支持,并具有对开发工具的良好支持,能为大型数据库项目提供 优秀的企业级解决方案。其优点如下20: 1) 与 internet 的紧密结合。 sql server 2000 的数据库引擎集成了对 xml 的支持, 同时以可以扩展、易于使用和安全的特点,成为建设大型 web 站点最好的数据存储设 备之一。 sql server 2000 的编程模式在很大程度上与专用于开发 web 应用的 windows dna 架构相集成。同时,sql server 2000 所携带的诸如英语查询以及 microsoft 查询 服务等为开发 web 应用提供了友好而强大的查询界面。 2) 和 windows ntde 登录认证模式整合在一起可直接设定 windows nt 的用户和 用户群组连接 sql server,而不用另外在 sql server 上建立登录账号,数据库存取权 限也可直接对 nt 的用户和用户组做设定。 3) 可扩展性和可用性。为了兼顾各种配置计算机的使用,sql server 2000 的数 据库引擎可以运行在从装有 windows 98 的台式机、笔记本电脑到安装 windows 2000 数据中心的多处理器计算机上。sql server 2000 企业版,具有联盟服务器(federated servers) 、视图索引(indexed views)以及超大规模的内存支持等特征,完全可以满足 最大规模的 web 站点的性能需求。sql server 2000 所支持的联盟数据库服务器 (federated database server)特性允许用户在多个数据库服务器上水平划分数据表,而 从使得用户把本来一台服务器负责的功能扩展到数台数据库服务器上去。这多台数据 服务器彼此合作提供类似于集群服务器所能提供的强大性能。 4) 在安全性方面,sql server 2000 与 windows nt 安全性更加自然地集成,可 以直接为 windows nt 用户和用户组指定数据库许可权。还有一个 sql server 2000 工作组模拟,称为角色(role) ,可以对用户指定多个角色,对服务器管理提供更大的 11 灵活性。 5) 查询功能增强:sql server 2000 支持 ole db、异构分布式查询,执行并行 查询,改进了索引的使用,使用新的图形化 query analyzer(查询分析器) 。用一个表 格上的多个索引解析查询,并自动维护索引统计信息。并允许在视图上建立索引。建 立索引后的视图,其返回的数据集被存储在数据库里,并建立相应的索引,大大提高 了频繁使用 join 等语句的应用程序的性能。 6) 数据存储中的新内容:不再限制每个表格中的触发器个数,使得触发器在保 证业务规则的执行中作用更强。sql server 2000 还引入了动态行锁定,优化器可以在 特定操作需要时自动选择行锁定而不是页面锁定,更有助于插入的实现,从而提高许 多数据库的并发性。 7) 可视化的数据库管理工具11:在 visual studio 与 visual basic 之类的产品中提 供了完成许多复杂数据库操作的简单工具,特别是查询设计和结构设计,不必学习 transact sql 就可以加进字段、 建立触发器等。 这些工具还集成在 sql server enterprise manager(微软企业管理器)中。另外还实现了 transact sql 自定义函数功能,用户 可以根据自己的实际情况将特定的商业逻辑,编写成自定义的 transact sql 函数,以 满足调用的需要。 8) 企业级数据库:sql server 2000 关系数据库引擎具备有完善而强大的数据处 理功能。它在有效保证数据库一致性的基础上,尽量降低成千上万的数据库用户进行 并发访问时的管理和延迟成本。sql server 2000 的分布式查询允许用户同时引用多 处数据源,但其友好的界面使用户觉得好像自始至终是在操作一个数据源。 9) 简单、友好的操作方式:sql server 2000 包含一整套的管理和开发工具。这 些工具都具有非常友好的用户界面,在提供强大功能的同时,易于安装、使用和发布。 用户可以把更多的精力放在自己的业务问题上,可以非常迅速的建立并发布强大而复 杂的数据库应用系统。 10) 数据仓库支持:sql server 2000 为了满足现代企业对大规模数据进行有效分 析和利用的要求,包含了一系列提取、分析、总结数据的工具从而使联机分析处理成 为可能。同时,sql server 2000 提供了英语查询工具和编程接口,使得以英语为基 础设计和管理、查询数据库成为了可能。 12 2.4 面向 web 的数据库访问技术 自若干年前推出开放式数据库连接 (odbc) 应用程序编程接口 (api) 以来, 出现了各种各样的数据库访问技术,而 ado.net 是其中最新的一种。 ado.net28是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源 是数据库,但它同样也能够是文本文件、excel 表格或者 xml 文件。ado.net 提供 对 microsoft sql server 等数据源以及通过 ole db 和 xml 公开的数据源的一致访 问。数据共享使用者应用程序可以使用 ado.net 来连接到这些数据源,并检索、操 作和更新数据。 ado.net 与以前版本的数据访问组件相比,具有许多后者无法比拟的优点29: 1) 对 xml 支持的特性,使得应用程序间或者组件之间的数据交换过程只需通过 传递一个基于文本格式的 xml 文件即可实现,这大大简化了应用程序间的通信过程。 2) 在 ado.net 中提供了 dataset 对象,该对象能实现对数据库的断开访问,而 无须在对象的生存期内一直保持与数据库的连接。更短时间的数据库资源占用意味着 数据库服务器负荷的减轻和响应时间的加快,从而提高了应用程序的执行效率和可伸 缩性,尤其适合子分布式应用场合。 3) ado.net 引入了一些重大变化和革新,它们专门用于结构松散的、本质非链 接的 web 应用程序。其中一个重要变化是:用 datatable, dataset, dataadapter 和 datareader 对象的组合代替了 ado recordset 对象。datatable 表示来自一个表的行集 合,在这方面它与 recordset 类似。dataset 表示 datatable 对象的集合,及与其它表 绑定在一起的关系和限制。实际上,dataset 是具有内置的扩展标记语言(xml)支 持的内存中的关联结构。 13 2.5 系统开发及运行环境 2.5.1 系统开发环境 硬件环境:硬件环境: pc 机一台,基本配置满足以下要求: cpup4 cpu 2g 以上 ram最少 256m,推荐 512m 内存 存储80g 以上 ide 硬盘一块 网络适配器10m/100m 自适应以太网卡一块 显示1024*768 分辨率、85hz 刷新率以上显示器一台 软件环境:软件环境: 操作系统microsoft windows 2000 professional 数据库管理系统microsoft sql server 2000 开发版 www 服务器microsoft iis 5.0 版或更高版本, microsoft .net framework 1.1 可再发行组建包 开发工具microsoft visual studio.net 2003 建模工具borland together for vs.net 或者 ibm rational xde for vs.net 页面辅助编辑dream weaver, microsoft frontpage 2003 源代码管理cvs 或者 microsoft visual sourcesafe 单元测试nunit 文档生成microsoft word 2003 和 ndoc 14 2.5.2 系统运行环境 硬件环境:硬件环境: 服务器一台,基本配置满足以下要求: cpup4 cpu 2g 以上或 intel 至强 cpu ram512m 内存或以上 存储60g scsi 硬盘一块或两块 网络适配器100m 或 1000m 以太网卡 显示800*600 分辨率、85hz 刷新率以上显示器一台 软件环境:软件环境: 操作系统microsoft windows 2000 server 或 microsoft windows 2003 server 数据库管理系统microsoft sql server 2000 专业版 www 服务器microsoft iis 5.0 版或更高版本, microsoft .net framework 1.1 可再发行组建包 2.6 本章小结 本章主要针对开发科研管理系统中所需的模式、技术进行详细介绍,首先介绍了 c/s 和 b/s 模式各自的特点,并进行分析比较,结合开发此科研管理信息系统的需求 特点分析采用b/s模式开发的优势, 接着介绍了本系统所采用的web技术asp.net, 分析了此技术较以往的 web 开发技术的优点,其次介绍了当前最流行的数据库开发技 术microsoft sql server 2000,从简单、友好的操作方式、安全性、查询功能等方 面分析了此技术的特点,然后对 web 和数据库访问技术ado.net 进行了介绍和 性能分析,最后列出系统所需的开发和运行环境,包括硬件环境和软件环境。 15 3 持久对象技术的研究持久对象技术的研究 3.1 持久对象技术的概念 持久对象技术涉及几个基本的概念:持久化、持久层、对象/关系数据库映射。 持久化(persistence) ,即把数据(如内存中的对象)保存到可永久保存的存储设 备中(如磁盘) 。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当 然也可以存储在磁盘文件中、xml 数据文件中等等。 持久层31(persistence layer) ,即专注于实现数据持久化应用领域的某个特定系 统的一个逻辑层面,将数据使用者和数据实体相关联。 对象/关系数据库映射33(object/relational mapping(orm) )表示一种技术,用 来把对象模型表示的对象映射到基于 sql 的关系模型数据库结构中去。 持久对象技术34就是提供一个持久层,可以从一个数据存储源中生成对象,并可 以把数据保存到数据存储源中去。该技术向开发人员隐藏了对象存储的细节,实际上 是构建一个层的特殊情况,使开发人员自己免于变化之苦。所有持久对象都使用持久 层的标准接口,如果数据存储机制改变了,只有持久层需要改变,这样就使对象/关系 数据库映射变得透明起来。 企业应用开发者在应用和底下的数据库之间创建了一个 “持 久层” ,将对象映射到某种持久机制(在这里是关系数据库)中,并且对关系数据库 结构的简单改动并不影响面向对象代码。这样将复杂的业务逻辑和数据逻辑分离,以 将系统的紧耦合关系转化为松耦合关系(即解耦合) 。 3.2 持久对象技术的实现 一个持久层封装了使对象持久化的行为,即从(或者向)永久存储中读取、写入、 删除对象, 其技术的实现功能是通过以下步骤实现: 3.2.1 对象到数据库的映射 . 属性类型映射成域 uml 中的属性类型(attribute type)映射成数据库中的域(domain) ,域的使用 提高了设计的一致性且优化了应用的移植性,简单的域是非常容易实现的,仅仅需要 替换相对应的数据类型和数据的尺寸,同时,对于使用域的属性可能要求为域的约束 16 加入 sql 的 check 串,例如限定域的取值范围等。 . 属性映射成字段 类的属性映射至关系数据库中 0 个或多个字段。并不是类中的所有属性均是永久 的,例如发票 invoice 中的合计 grandtotal 属性可能是用于计算而不需保存在数据库 中。另外有时某个对象包含其它对象如顾客 customer 中的 address 属性 address 本 身映射为数据库表,有时属性映射成多个字段。 . 类映射成表 类直接或间接的映射成表。除非是非常简单的应用类与表之间才会存在一一对应 的关系。 3.2.2 对象之间关系到数据库的映射 不仅仅是对象需要被映射至数据库,对象之间的关系也需要映射至数据库,对象 之间的关系可分为:继承(inheritance) 、关联(association) 、聚集(aggregation) 、组 合(composition) 。 . 继承关系的映射 考虑类的继承问题,在关系数据库中保存对象时基本上问题归结于如何在数据库 中组织被继承的属性,该问题的不同解决方案会影响到整个设计。图给出了简单的类 层次。 例子: -personid : string -personname : string person -projectid : string projectmanager -position : string administrator 图 3.1 类层次 uml 示意图 17 关系数据库中实现继承的方法可划分为三类: 1) 将整个类层次映射为单个数据库表 将整个类层次映射到一张数据表中,意味着从基类到其所有子孙类的所有属性都存 储到一张数据表中。这种方法的优点是简单,实现起来也较容易。缺点是类层次之间 的耦合度高。在类层次中增加一个属性时,就需要在类中必须增加一个字段。如果当 增加一个属性时发生错误,则会影响这个类层次中的所有类,而不仅仅是增加属性的 这个类。另外,这种方法浪费大量的存储空间。该方法的实现如下图所示: -personid : string -personname : string -projectid : string -position : string person 图 3.2 类层次映射至单个表 2) 每个具体子类映射成单个数据库表 各个子类所特有属性,联合从父类中继承的公共属性,构成表的结构。父类不映 射为数据库中的实体表,只作为子类公共属性的载体。这种映射模型使得类属性值的 保存和对象还原实现方便。缺点同样是类结构与数据库的耦合程度高,当父类属性变 动时,所有从此继承下来的子类都需要进行变更。图3.3 描述了该方法的实现,其中 person 由于是抽象类未映射成数据库表,而 projectmanager、administrator 类映射为 相应的表,它们具有各自的主键。 -managerid : string -managername : string -projectid : str

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论