




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内 容 摘 要 软件复用是在软件开发中避免重复劳动的解决方案。 它将已有的软件及其有效成分用于构造新的软件或系统,使得应用系统的开发不再采用一切从零开始的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经验,从而将开发的重点集中于应用的特有构成成分。软件组件技术是支持软件复用的核心技术,在近几年来迅速发展并受到高度重视。目前主要的组件技术规范有微软公司的 com 技术、 sun 公司的 ejb 和对象管理组织(omg)提出的 corba。 本文对这三种组件技术规范的工作原理、结构框架、发展演变等方面进行了简要论述,并将三种组件技术规范进行了比较,明确了它们的特点与区别。 基于组件的软件开发(cbsd)是现今软件复用实践的研究热点。该方法是对以前传统的开发方法的一种改变,它使得软件开发从代码开发转移到对己测试、使用的组件的集成。 本文中设计的三峡大学研究生教学管理信息系统是一个基于组件的软件开发实例。通过对研究生教学管理业务流程进行分析,将系统功能组件划分成学生管理组件、用户管理组件、检索记录组件和业务组件四部分,并分别为每个组件编写代码,再将设计完成的组件部署到 easerver 服务器中,在已编写好的 4gl 网页中调用这些组件,实现教学管理系统各模块的功能。通过这个实例,提供了组件技术在软件开发中的又一具体实现方法和途径。 随着这一组件技术开发成果在研究生教学管理信息系统的应用,可以减轻研究生教学管理的工作量,提高管理部门的工作准备效率。b/s 模式下统一的管理平台能方便各级研究生管理部门进行教学管理工作。同时基于组件的研究生教学管理信息系统还具有较好的开放性和拓展性, 为以后系统功能拓展提供了很好的空间。 关键词:组件技术关键词:组件技术 基于组件的软件开发基于组件的软件开发 管理信息系统管理信息系统 abstract software reuse supplies a way to avoid repeat work during the development of software. it makes existed software and effective component construct a software or system. it makes development of application system begin with some finished work which was included knowledge and experience. so people can research some special component in new application. software component technology which develops rapidly and has been thought much recent years is the core technology of software reuse. the main component technology criterions are com+ proposed by microsoft and corba and ejb are presented by object management group (omg) and by sun corporation, respectively. this paper analyzes and studies the main component technology criterions from their principles, frames and evolution in brief. moreover, comparisons of the three component models are made and their relations and differences are also discussed. component-based software development (cbsd) is researched mainly in software reuse today. it is a change compared the traditional development way .for it turns software development from writing code to integrating components which have been tested, used and worked each other. analyzing and designing graduate student educational administration management information system (gseamis) of china three gorges university (ctgu) is an example that is developed with component. analyzing and designing graduate student educational administration management information system (geamis) is an example that is developed with component. through analyzing the business procedure of graduate students teaching, student manage package , user manage package , getting record package and business package 4 parts are divided. then writing codes for each package respectively and deploying the package to easerver server. then function of every module can be used in 4gl webpage. through this instance, implementation method and way in software development are offered. the application of geamis can lighten the work during graduate students teaching management; prepare efficiency in work of improving the administrative department. the unified management platform can help the administrative departments of graduate student at all levels carry on the teaching management under b/s mode. at the same time component-based geamis has better opening and expanding. it offers space to expand afterwards. key words: component technology cbsd mis iii 三峡大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究的成果。除文中已经注明引用的参考文献内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 学位论文作者签名: 日 期: 引 言 应用计算机与计算机网络对研究生教育进行管理是适应我国研究生教育事业发展的必然趋势。然而,鉴于各校研究生的规模与管理模式的不同,商品化的管理系统软件往往不具有通用性, 自行开发或委托开发适应高校自身研究生教育发展特点的研究生管理软件,成为提高研究生教育管理水平的一种普遍做法。鉴于此,三峡大学研究生教育超常规、 跨跃性的发展迫切要求开发出一套适合三峡大学的研究生教学管理信息系统。 把组件技术这一近年来流行的软件开发技术与瘦客户端的三层 b/s 结构这一应用软件的主流结构相结合,开发出一套三峡大学研究生教学管理信息系统,是既符合三峡大学研究生教学管理的特点,又可提高教学管理效率的可行性方案。 1 1 研究背景 研究生教育是我国培养新时期高层次人才的重要途径。自 1978 年我国恢复研究生招生制度以后,我国研究生教育事业己经得到了长足发展。尤其是 1999 年中国高校连续扩招以来,我国的研究生教育事业保持着快速增长的势头,2004 年在学研究生人数已达 70 余万人,2005 年报考硕士研究生者已逾百万人,我国的研究生教育进入了蓬勃发展的新时期。 在我国研究生教育快速发展的大背景下, 三峡大学的研究生教育也得到了蓬勃发展。三峡大学完全自主地招收硕士学位研究生始于 2001 年,共招收了 63 名硕士学位研究生,到 2004 年三峡大学招收硕士学位研究生的人数达到 203 人。招收学院从最初的 6 个学院增加到 9 个,专业从最初的 10 个专业增加到 18 个,开设的研究生课程总计达 300 余门,在学研究生形式也从最初的统招生一种形式增加为统招生、同等学力人员、工程硕士研究生三种形式并存,在校生总人数达到 751 名。 快速增长的研究生招生规模需要高水平的研究生培养条件才能保证研究生培养质量,高水平的研究生培养条件则要求有高效率的研究生管理水平相匹配。由于研究生教育在三峡大学起步较晚,研究生教育的管理经验不足,在最初的阶段,研究生招生人数少、开课课程少,管理相对容易,一台单机加上常用办公软件就可以使日常管理有条不紊。然而,随着在校研究生人数的增加,研究生的管理工作量逐渐加大,原始的手工管理加上日常办公软件的管理方式弊端日益显露出来。手工处理大量数据,需要大量的人力和时间,容易产生操作上的失误,不仅给工作人员带来极大的压力,查询信息也非常不方便,很大程度上影响了整个研究生教育管理工作的效率。 如何充分利用当今计算机软硬件科学技术, 设计出符合三峡大学特色的研究生教学管理信息系统,以满足我校研究生教学管理工作的需要,已成为我校研究生事业发展的重要任务。 研究生的管理涉及到招生、培养、科研管理、学位授予、就业等多方面,每个方面都是管理信息系统中相对独立又互相联系的模块, 而研究生管理中的教学管理是其中重要的一环。 教学管理在整个研究生培养过程中是细节最多、 工作最为繁杂的部分,如果能实现该部分的自动化管理就可以在很大程度上提高整个研究生管理的效率与水平。 三峡大学研究生教学管理信息系统主要就是针对研究生培养中的教学管理进行研发的。 2 2 软件复用与组件技术综述 2.1 软件复用的概念 软件复用的概念是在 1968 年 nato(北大西洋公约组织)软件工程会议上由mcllroy 第一次提出的。软件复用是将已有的软件及其有效成分用于构造新的软件或系统。软件复用是在软件开发中避免重复劳动的解决方案。它使得应用系统的开发不再采用一切从零开始的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经验,从而将开发的重点集中于应用的特有构成成分。 软件复用不同于软件移植。软件移植是指对软件进行修改和扩充,使之在保留原有功能、 适应原有平台的基础上, 运行于新的软硬件平台。 而复用则指在多个系统中,尤其是在新系统中使用已有的软件成分。 2.1.1 软件复用分类 依据复用的对象,可以将软件复用分为产品复用和过程复用。产品复用是指复用己有的软件组件,通过组件集成组装得到新系统。产品复用则是目前现实的、主流的途径。过程复用是指复用已有的软件开发过程,使用可复用的应用生成器来自动或半自动地生成所需系统。过程复用依赖于软件自动化技术的发展。 依据对可复用信息进行复用的方式,可以将软件复用区分为黑盒复用和白盒复用。黑盒复用是指对已有组件不需做任何修改,通过组件组装的方式直接进行复用,这是目前研究的热点,也是将来发展的趋势。白盒复用是指已有组件不能完全符合用户需求的情况下,根据用户需求进行适应性修改后才可使用。 2.1.2 软件复用原则 软件复用有三个基本原则,一是必须有可以复用的对象;二是所复用的对象必须是有用的,三是复用者需要知道如何去使用被复用的对象。软件复用包括两个相关过程:可复用软件(组件)的开发(development for reuse)和基于可复用软件(组件)的应用系统构造(集成和组装)(development with reuse)。解决好这几个方面的问题才能实现真正成功的软件复用。 2.2 软件复用的意义 通过软件复用,在应用系统开发中可以充分地利用已有的开发成果,减少包括分析、设计、编码、测试等在内的许多重复劳动,从而提高软件开发的效率,同时,通过复用高质量的已有开发成果,避免重新开发可能引入的错误,从而提高了软件的质量。 软件复用的一种方式是类库。类库的出现使大规模的软件重用得以实现,并使软件的重用性及可维护性得到大大增强。然而,类库也与函数库一样有受限于开发语言的缺陷,因为它也是经过特定的开发语言编译而成的。 3 目前最现实、 主流的软件复用方式是复用已有的软件组件(component)。 软件组件技术是支持软件复用的核心技术。 近几年来它的迅速发展并受到了软件开发者的高度重视。 2.3 组件技术 2.3.1 组件的定义 目前关于软件组件的定义比较多,到目前为止,还没有一个公认的标准定义。关于组件定义的一些具有代表性的观点如下: 1)组件是一个独立的可传递的操作的集合,可以在二进制级别上进行集成和重用。 2)组件是软件开发中一个可替换的软件单元,它封装了设计决策,并作为一个大单元的一部分和其它组件组合起来。 3)组件是由一些对象类组成的物理意义上的包。 4)组件是具有特定功能,能够跨越进程的边界实现网络,语言、应用程序、开发工具和操作系统的“即插即用”的独立的对象。 5)组件在通常意义上是指任何可被分离出来,具有标准化的和可重用性的公开接口的软件系统。 2.3.2 组件的分类 按多个侧面,组件可以分为: 1)根据组件重用的方式,可以分为黑箱组件和白箱组件。 2)根据使用的范围,可以分为通用组件和专用组件。 3)根据组件粒度的大小,可以分为数据结构组件,功能组件和子系统组件。 4)根据功能用途,可以分为系统组件、支撑组件和领域组件 2.4 基 于 组 件 的 软 件 开 发 cbsd (component-based software development) 随着软件技术的成熟,基于组件的软件开发 cbsd (component-based software development)也作为一种新的工业化的软件开发方法被提了出来。该方法是对以前传统的开发方法的一种改变。它使得软件开发从代码开发转移到对己测试、使用组件的集成。cbsd 已经成为现今软件复用实践的研究热点,被认为是最具潜力的软件工程发展方向之一。 2.4.1cbsd 所具有的特点 基于组件的软件开发方法采用以组件为中心的开发模式。组件检索和评价,组件的匹配和一致性验证是基于组件的软件开发方法的关键。 基于组件的软件开发过程中需要同一些技术标准化接轨, 相同的组件可能由多个4 软件供应商生产,被多个用户使用,所以组件的接口、组件的基础设施必须标准化。 基于组件的软件开发需要配置管理,即专门处理组件的集成、配置和发布的有关事宜,于是组件的配置、适配和部署都是基于组件的软件开发的关键任务。 从基于组件的软件开发的特点可以看出, 采用组件技术实现软件可重构性是通过在统一技术标准下,通过各种渠道获得有用的组件,在软件体系结构的支持下进行组装,形成一个实用的系统。实用系统的整体性能要通过配置管理来完成。 2.4.2 基于组件的软件开发步骤 基于组件的软件开发步骤如下: 1)设计:根据需求在抽象层描述系统中包含的组件,包括组件的接口、组件的属性以及组件间的关联等信息。 2)部署:根据实际的应用环境,为组件定义包,决定组件的分布以及组件的实现等细节。 3)实现:完成设计后,组件开发者和客户端开发者就可以实现组件和客户端,以组成应用程序。 4)提交:在测试服务器上测试了应用程序之后,就可以提交组件文件到产品服务器,并将客户应用程序文件提供给应用程序用户。 2.5 面向对象技术与组件技术的区别与联系 组件技术与面向对象技术紧密相关。组件和对象都是对现实世界的抽象描述,通过接口封装可复用的代码实现。其区别主要表现在:传统的面向对象技术有两个基本的特点,即封装性和继承性,其通常强调代码复用,对象往往仅存在于一个程序中,程序的外界并不一可能感知和访问这些对象。 而组件技术主要使用了面向对象技术的封装性,组件可以分布在网络的任何位置。对外界来说,它所需关心的只是组件的界面,至于内部是如何实现的则无需考虑,远程客户通过方法调用来访问它。这是组件技术和传统的面向对象技术的最大的不同点。另外在概念层面上,对象用来描述客观世界实体,组件则是提供客观世界服务;在复用策略上,对象是通过继承实现复用,而组件是通过合成实现复用;在技术手段上,组件通过对象技术而实现,对象按规定经过适当的接口包装之后成为组件,一个组件通常是多个对象的集合体。 组件及其较高的可重用性为我们展示了一种崭新的软件设计思路, 以组件对象为中心的设计方法把硬件以芯片为中心的工艺思想恰如其分地融合于软件的面向对象的分析、设计和开发之中,使面向对象的概念和方法从工具语言的层次一下子跃上了系统的应用层次。 2.6 基于组件的软件开发方法的优点 与传统的软件开发方法相比,基于组件的软件开发方法的有如下优点: 5 1)减少软件开发本身的费用; 2)快速的集成系统,缩短开发软件开发的周期; 3)减少与支持升级大型的系统相关的维护费用; 4)提高复用性:全面考虑组件在多个应用系统中的复用潜力。 2.7 组件技术规范 组件之间的交互或互操作性是组件技术的核心部分, 基于组件的软件设计在实现过程中必须遵守一定的规范。目前典型的软件组件规范有:微软公司的 com 技术、sun 公司的 ejb 和对象管理组织(omg)提出的 corba。 分别论述如下: 2.7.1com/dcom/com+ com (component object model) 技术是微软公司制定的技术规范, 是在 windows 3.1中最初为支持复合文档而使用ole技术上发展而来, 经历了ole 2/com, activex, dcom 和 com+等几个阶段。 com 是为集成组件提供的一组框架。该框架支持分布式对象的互用性和可再用性, 开发者通过从不同供应商处集中的可再用组件来建立 com 通信系统。 com 为组件的创建定义了应用程序接口 (api) , 用来集成自定义应用程序或支持不同组件间的相互作用。 dcom(distributed component object model) ,建立在 com 基础上,是由微软提供的一种用于开发分布式系统的方法。 dcom 中, 可以在一台计算机上执行 com 对象,而在另一台计算机上创建 com 对象,并访问它们的方法。远程对象的位置是透明的。通过 dcom ,可以采用访问本地对象的方式准确访问远程对象。 com+不再局限于 com 的组件技术,它更加注重于分布式网络应用的设计和实现。com+继承了 com 几乎全部的优势,同时又避免了 com 实现方面的一些不足,把 com、dcom 和 mts 的编程模型结合起来,继承了它们的绝大多数特性,在原有的特性上增加了新的功能:如 com+扩充了 mts 安全模型,它允许开发人员或管理员指定到方法级的安全控制,通过 com+对象环境信息,使得 com+的安全模型更为有效细致;com+支持 mts 的事务语义,不仅可以通过 setabort 或 setcomplete完成事务操作, 而且 com+还支持 byot(bring your own transaction), 即允许 com+组件参与非 mts 事务处理环境管理的事务;com+继承了 mts 对象池的概念,并且真正实现了对象池的功能。com+不仅继承了原有的多数特性,而且还增加了一些服务,比如负载平衡、队列服务、内存数据库、事件服务等。 2.7.2 ejb 组件技术 sun 公司对 ejb(enterprise javabeans)的定义是:ejb 是用于开发和部署多层结6 构的、分布式的、面向对象的 java 应用系统的跨平台的组件体系结构。采用 ejb 可以使开发商业应用系统变得容易,应用系统可以在一个支持 ejb 的环境中开发,开发完之后部署在其他的环境中,随着需求的改变,应用系统可以不加修改地迁移到其他功能更强、更复杂的服务器上。 ejb 是 j2ee 平台的核心,j2ee 的一个主要目的就是简化企业应用系统的开发,使程序员将主要精力放在商业逻辑的开发上。ejb 正是基于这种思想的服务器端技术,它本身也是一种规范,该规范定义了一个可重用的组件框架来实现分布式的、面向对象的商业逻辑。ejb 的核心思想是将商业逻辑与底层的系统逻辑分开,使开发者只需关心商业逻辑,而由 ejb 容器实现目录服务、事务处理、持久性、安全性等底层系统逻辑。 ejb 技术把 java 组件的概念从客户机域扩展到了服务器域,这是 java 技术成长过程中有重大意义的一步,它使 java 技术发展成为一种强健的、可伸缩的环境,能够支持以任务为关键的企业信息系统。 一个可部署的 ejb 组件包含 3 个部分: remote 接口:remote 接口定义 ejb 组件中提供的可供用户调用的方法,也就是通常所说的实现商业逻辑的函数或过程,以供远程客户端调用。在 ejb 组件部署到容器的时候,容器会自动生成 remote 接口相应的实例,即 ejb 对象,它负责代理用户的调用请求。 home 接口:home 接口定义一组方法来创建新的 ejb 对象,查找、定位和清除己有的 ejb 对象。在 ejb 组件部署时容器也会自动生成相应的 home 对象,该对象负责查找和创建 ejb 对象,返回 ejb 对象的引用给客户,用户利用该引用调用 ejb组件的方法,得到结果;最后 home 对象清除 ejb 对象。 enterprise beans 类:enterprise beans 类是商业逻辑的具体实现类。其可供用户调用的方法在 remote 接口中定义。 2.7.3 corba 标准 corba (common object request broker architecture)是对象管理组织 omg (object management group)推出的一个重要规范。corba 的主要目标是解决面向对象的异构应用之间的互操作问题,并提供分布式计算所需的一些其它服务。为保持corba 的活力和可用性,随着分布式计算的发展,omg 不断地推出 corba 的新版本。 1991 年 10 月,omg 推出 corba 1.0。该版本的主要内容包括:corba 对象模型、界面定义语言(idl, interface definition language)、用于动态请求管理和动态调用的 api 集合和界面仓库。 7 1996 年 8 月,omg 推出了 corba 2.0。该版本在解决互操作问题方面迈上了一个 新 台 阶 。 其 中 一 个 突 出 的 贡 献 是 引 入 了 giop/iiop (genera linter-orb protocol/internet inter-orb protocol)协议,它能用于解决不同供应商的 corba 平台之间的互操作问题。 omg在2002年8月推出的corba3.0是一个非常重要的版本, 它实现了corba与 internet 的彻底集成。主要包括 java 和 internet 集成;服务质量(qos)控制;corba组件模型(ccm)。 corba 既代表了一种软件开发模式,一种软件开发标准,也提供了软件开发必需的服务、可以使用的工具集合。它提供了一个集成框架,应用程序只要给出用接口定义语言 idl(interface definition language)书写的界面,就可插入框架,与其他对象协同工作,为在分布式环境下实现不同应用程序即插即用的集成提供了有力支持。 2.7.4 各组件技术规范比较分析 对于以上三种技术的采用以下三种标准进行比较分析。 1)集成性:集成性主要反映在基础平台对应用程序互操作能力的支持上。它要求分布在不同机器平台和操作系统上、 采用不同的语言或者开发工具生成的各类商业应用必须能集成在一起,构成一个统一的企业计算框架。这一集成框架必须建立在网络的基础之上,并且具备对于遗留应用的集成能力; 2)可用性:要求所采用的软件组件技术必须是成熟的技术,相应的产品也必须是成熟的产品,在至关重要的企业应用中能够稳定、安全、可靠地运行。另外,由于数据库在企业计算中扮演着重要角色,软件组件技术应能与数据库技术紧密集成; 3)可扩展性:集成框架必须是可扩展的,能够协调不同的设计模式和实现策略,可以根据企业计算的需求进行裁剪,并能迅速反应市场的变化和技术的发展趋势。通过保证当前应用的可重用性,最大程度地保护企业的投资。 表 2.1 从集成性,可用性,可扩展性三个方面,给出了上述三种主流分布计算平台的比较结果。 表表 2.1 corba、ejb、dcom 的比较的比较 项目 corba(ccm) ejb dcom 跨语言性能 好 差(限于 java) 好 跨平台性能 好 好 差(限于 windows) 网络通讯 好 好 一般 8 公共服务组件 好 好 一般 事务处理 好 一般 一般 消息服务 一般 一般 一般 安全服务 好 好 一般 目录服务 好 一般 一般 容错性 一般 一般 一般 软件开发商支持度 一般 好 好 产品成熟性 一般 一般 好 可扩展性 好 好 一般 本文中的研究生管理信息系统中, 组件由开发工具按照corba的标准进行发布。 9 3 研究生教学管理信息系统的分析设计 3.1 研究目标 综合分析研究生教学管理的业务要求,即本系统的研究目标: 1)采用先进、实用的技术,发挥系统的最大效能 本系统采用技术的确定原则是提高使用人员的工作效率,最大限度的实现自动化办公,使管理人员能从繁琐事务工作中解脱出来。 2)使用快捷、灵活、方便 本系统的设计,完全基于成熟的应用技术和流行的 internet 技术,与现今流行的操作系统和常用的办公软件实现连接,用户将面对熟悉的浏览器和熟悉的操作方式。只要会使用浏览器,就能自如地操作本系统。 3)数据安全、可靠 本系统通过用户使用权限的控制、数据库的备份与恢复,确保用户数据的安全。 4)使用效果显著 当用户使用本系统后,能够提高工作效率、缩短工作流程;加强管理监控、减少工作失误。 3.2 系统开发方法 本系统的开发采取结构化生命周期开发方法。其基本思想是:用系统的思想和系统工程的方法,遵循用户至上的原则,结构化、模块化地自上而下对作生命周期进行分析与设计。 用结构化生命周期开发方法开系统, 将整个开发过程划分为 5 个依次连接的阶段即:系统规划阶段、系统分析阶段、系统设计阶段、系统实施阶段、系统运行阶段。以上 5 个阶段共同构成了系统开发的生命周期。 3.3 研究生教学管理业务流程 研究生教学管理业务流程,如图 3.1 所示: 10 图图 3.1 研究生教学管理业务流程研究生教学管理业务流程 3.4 系统开发环境 本管理信息系统的开发环境如下: 1)程序开发平台:sybase powerbuilder9.0,easever4.2 2)数据库支持平台:microsoft sql-server2000 3)服务器端操作系统:windows2000 server 4)客户端操作系统:windows98/xp/2000 powerbuilder 是第一个基于商业开发人员的面向对象编程(oop)的应用程序,是一种“快速构建商业应用程序”的开发工具。 powerbuilder 9.0 扩展并增加了多种功能。它集设计、建模、开发、部署、管理等各项功能为一体,还包含一个优秀的代研究生与导师进行双向选择研究生在导师的指导下填写个人培养计划表研究生处汇总个人培养计划表 下达教学任务, 给任课教师提供上课学生名单课程考试, 任课教师登录学生成绩研究生查询已获学分与成绩 n继续课程学习 研究生处审核研究学分与成绩是否合格y研究生进行课题研究 11 码基础、许多新的增强特性以及与 web 和 n 层应用开发的进一步整合。powerbuilder9.0 的新增功能包括了对.net、pbdom、xml datawindow、rad javaserver pages与pbni等的支持。 同时, 它还提供了与sybase 应用服务器enterprise application server (easerver)更为紧密的集成,能够在 easerver 中调用 enterprise javabean(ejb),并能够将现有的组件连接到 easerver。 easerver 是 sybase 公司提出的针对电子商务应用的解决方案, 它为用户提供全面的企业级 web、分布式和客户/服务器应用的解决方案,是英文 sybase enterprise application server 的缩写。 它由两部分组成: jaguar cts(component transaction server)和powerdynamo。 它们是sybase电子商务解决方案easerver的两个主要服务器产品。jaguar cts 是组件事务服务器,是 sybase 新的适应性组件体系结构的中间层的核心产品,它面向的应用类型是多层结构下的企业级客户/服务器应用和 web oltp 应用,它是未来 web 应用发展的典型代表。power dynamo 是将数据库与 web 站点的管理统一起来的专业应用服务器产品,它的主要作用在于为创建数据驱动的 web 应用提供广泛的应用服务集,提供 web 服务器和数据库中间的一个解释性网关,即用来存储、 管理和访问静态html以及动态的数据库数据。 easerver4.2在对java 2 enterprise edition (j2ee)应用开发模型提供完全支持的同时还为几乎任何类型的应用提供了跨客户机和跨组件的支持。easerver 支持多种组件类型,如 com、corba、javabean/ejb 和 powerpuilder 组件。easerver 的关键特性包括最优秀的事务处理、安全性管理、内置的负载平衡、失败转移、以及高可用性。系统的灵活性和适应性确保了各种应用的可靠部署。这些应用领域包括:电子商务基础架构、用户资源管理、采用客户机/服务器应用进行 n 层/web 部署。 在 easerver 中的应用服务器 power dynamo 相当于目前常见的 microsoft active server、 javasofts java server pages 等;而组件事务服务器就相当于 microsoft 的 mts。 easerver 支持的协议有: iiop (internet inter-orb protocol) 、 http、 tds (sybase tabular data stream) 、ssl(secure scockes layer)、cgi、isapi、nsapi 以及powerdynamo 专用协议。 easerver 支持的数据库驱动包括: openclient (native sybase)、native oracle 7&8、jdbc 和 odbc 等。 easerver 支持的组件模型有: com (dcom) 、 java/servlet/jsp、 ejb、 pb nvo以及 c 和 c+等。 sql server2000作为微软在windows 系列平台上开发的数据库,它建立在成熟而强大的关系模型基础上,可以很好地支持客户机/服务器网络模式,能够满足各种类型的企事业单位对构建网络数据库的需求。 sql server2000 是一个功能完备的数据库12 管理系统。它包括支持开发的引擎、标准的 sql 语言、扩展的特性(如复制、olap、分析)等功能,它拥有存储过程、触发器等特性等大型数据库的特性,具有易用性、可扩展性、可靠性的特点。 3.6 数据库的建立 在研究生管理信息系统规划设计中,后台的数据库系统采用了 sqlserver 2000,该数据库系统具有丰富的数据类型,提高多种开放式接口,支持多种访问方式,支持多种网络拓扑结构,支持常见的网络协议。在今后的网络拓展时,数据库系统能适应新的网络环境。 要在良好的 sql server 方案中实现最优的性能,关键的是要有一个很好的数据库设计方案。一般在设计数据库的时候要考虑以下几个问题: 1)按照规范化理论设计数据库 数据库设计应满足按照规范化理论的前 3 级标准即:第一范式,对于表中的每一行,必须且仅仅有唯一的行值.在一行中的每一列仅有唯一的值并且具有原子性。第二范式,要求非主键列是主键的子集,非主键列活动必须完全依赖整个主键。主键必须有唯一性的元素,一个主键可以由一个或更多的组成唯一值的列组成。一旦创建,主键无法改变,外键关联一个表的主键。第三范式要求非主键列互不依赖。遵守这些规则的设计会使数据库结构更合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。 2)并发性 并发性是指在多用户同时访问数据时,通过锁定保持事务完整性的功能.为大量并发用户开发的系统,最好能在一段时间内保持事务。排他型锁可以起到这一作用,它可以阻止其他事务读取表中的数据,直到当前的事务被确认或回滚时为止。 3)数据完整性 数据库的数据完整性是指数据的正确性和相容性。它包括实体完整性,即必须保证表中的每一行都是独立的;域完整性就是对一个给定的列而言,只有一定范围内的数值是有效的;参照完整性意味着要维持两个表格之间的关系,并且数据库中不允许孤立行的存在。 4)安全性原则 数据库的安全性是指保护数据, 防止非法用户使用数据库或合法用户非法使用数据库造成数据泄露、更改或破坏,要有认证和授权机制。 5)可伸缩性原则 数据库结构的设计应充分考虑发展的需要、移植的需要具有良好的扩展性、伸缩性和适度冗余。 13 按照以上的设计原则, 建立研究生教学管理信息系统主要的数据表, 结构如下(字段名后加*为数据表的主键): 表表 3.1 用户口令表用户口令表(yhkl)结构结构 字段名 注释 数据类型 宽度 是否允许空值 yhm* 用户名 varchar 6 否 kl 口令 varchar 8 否 表表 3.2 学生口令表学生口令表(xskl)结构结构 字段名 注释 数据类型 宽度 是否允许空值 nj 年级 varchar 4 否 xh* 学号 varchar 10 否 kl 口令 varchar 8 否 表表 3.3 学院代码表学院代码表(xyb) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 xydm * 学院代码 varchar 2 否 xymc 学院名称 varchar 30 是 表表 3.4 专业代码表专业代码表(zyb) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 zydm* 专业代码 varchar 6 否 zymc 专业名称 varchar 50 是 表表 3.5 成绩录入临时表成绩录入临时表(cj_lrb) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 xh* 学号 varchar 10 否 kcbh* 课程编号 varchar 7 否 kkxn 开课学年 varchar 9 是 kkxq 开课学期 varchar 1 是 faqsny 培养方案年月 varchar 6 是 kssj 考试时间 varchar 8 是 cj 成绩 real 4 是 14 cxbz 重修标志 varchar 1 是 lrsj 考试时间 varchar 8 是 bz 备注 varchar 60 是 表表 3.6 成绩录入正式表成绩录入正式表(cj_zsb) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 xh* 学号 varchar 10 否 kcbh* 课程编号 varchar 7 否 kkxn 开课学年 varchar 9 是 kkxq 开课学期 varchar 1 是 kssj 考试时间 varchar 8 是 faqsny 培养方案年月 varchar 6 是 cj 成绩 real 4 是 cxbz 重修标志 varchar 1 是 lrsj 考试时间 varchar 8 是 bz 备注 varchar 60 是 表表 3.7 研究生课程表研究生课程表(course) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 faqsny* 培养方案年月 varchar 6 否 kcbh* 课程编号 varchar 7 否 falb 方案类别 varchar 20 是 kcmc 课程名称 varchar 50 是 xs 学时 real 4 是 xf 学分 real 4 是 kkxq 开课学期 varchar 3 是 xydm 开课学院代码 varchar 2 是 khfs 考核方式 varchar 20 是 表表 3.8 各专业课程表各专业课程表(gzykc) 结构结构 15 字段名 注释 数据类型 宽度 是否允许空值 faqsny* 培养方案年月 varchar 6 否 zydm* 专业代码 varchar 6 否 kcbh* 课程编号 char 7 否 nj 年级 varchar 4 是 lbdm 类别代码 varchar 1 是 lxdm 类型代码 varchar 1 是 kcxz 课程性质 char 6 是 表表 3.9 教学安排表教学安排表(py_jxjh) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 kkxn* 开课学年 varchar 9 否 kkxq* 开课学期 varchar 1 否 kcbh* 课程编号 varchar 7 否 faqsny* 方案起始年月 varchar 6 否 rkjs 任课教师 varchar 10 是 sksj 上课时间 varchar 4 是 skdd 上课地点 varchar 5 是 表表 3.10 在校学生表在校学生表(xj_zxs) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 xh* 学号 varchar 10 否 xsxm 学生姓名 varchar 10 是 rxrq 入学日期 varchar 8 是 nj 年级 varchar 4 是 xb 性别 varchar 2 是 mz 民族 varchar 10 是 csrq 出生日期 varchar 8 是 zzmm 政治面貌 varchar 10 是 xydm 学院代码 varchar 2 是 16 zydm 专业代码 varchar 6 是 sfzh 身份证号 varchar 18 是 bz 备注 varchar 60 是 表表 3.11 学分要求表学分要求表(py_xfyqb) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 faqsny* 方案起始年月 varchar 6 否 zydm* 专业代码 varchar 6 否 nj 年级 varchar 4 是 lbdm 类别代码 varchar 1 是 lxdm 类型代码 varchar 1 是 ms 总门数 real 4 是 xydm 学院代码 varchar 2 是 yjfx 研究方向 varchar 40 是 xxnx 学习年限 varchar 3 是 xfyq 总学分 real 4 是 bz 备注 varchar 60 是 表表 3.12 培养计划课表培养计划课表(xk_yjspyjhb) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 xh* 学号 varchar 10 否 kcbh* 课程编号 varchar 7 否 faqsny 方案起始年月 varchar 6 是 zydm 专业代码 varchar 6 是 kcxz 课程性质 varchar 6 是 表表 3.13 研究生所获学分表研究生所获学分表(xfb) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 xh* 学号 varchar 10 否 nj 年级 varchar 4 是 17 lbdm 类别代码 varchar 1 是 lxdm 类型代码 varchar 1 是 qdxf 总学分 real 4 是 qdms 总门数 real 4 是 表表 3.14 每学期学生选课表每学期学生选课表(xkb) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 xh* 学号 varchar 10 否 kcbh* 课程编号 varchar 7 否 xn* 学年 varchar 9 否 xq* 学期 varchar 1 否 rq 日期 varchar 1 是 skjs 授课教师 varchar 10 是 sj 时间 varchar 4 是 表表 3.15 毕业生表毕业生表(bys) 结构结构 字段名 注释 数据类型 宽度 是否允许空值 xh* 学号 varchar 10 否 nj 年级 varchar 4 是 以上数据表之间的相互关联关系如图 3.4 所示 18 图图 3.4 数据表的相互关联关系数据表的相互关联关系 3.7 管理信息系统的结构 3.7.1 两层结构的系统 在两层结构系统中,第一层是运行应用程序的客户端,它既提供用户口界面又提供业务逻辑。第二层是运行数据库服务的服务器端,它主要提供数据存储功能。两层客户机/服务器体系结构如图 3.5 所示。 两层结构的系统主要特点是系统对客户端的计算机配置有较高的要求,属于“胖客户端” ;系统对信息安全的控制能力很强但系统升级较难,升级可能是再做一个全新的系统。为了解决两层结构的这些不足之处,三层结构系统应运而生。 数据库访问协议odbc/sql 数据库 服务器 客户端 实现用户界面 和业务逻辑 实现数据集中管理 19 图图 3.5 两层应用结构两层应用结构 3.7.2 三层结构的系统 三层结构一般是指将用户界面、业务逻辑、数据管理三个层次部署在不同的位置上。其中用户界面是在客户端实现的功能,业务逻辑是在一个专门的应用服务器上实现的功能,数据管理是在一个专门的数据库服务器上实现的功能。 这种结构层次如图 3.6 所示。 与二层结构相比,三层体系结构多出了一个应用服务器层。应用程序服务器存放的是一个包含企业逻辑的应用程序,软件开发人员以一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年环保包装箱租赁及回收利用合同
- 2025版跨境电子商务合同履行风险控制条款
- 二零二五年度豪华公寓个人买卖合同协议
- 二零二五年度建设工程抵押担保管理协议
- 二零二五年度家庭光伏电站销售与环保认证合同
- 2025版酒店厨师长创新研发与技术支持合同
- 二零二五年度城市更新改造工程建筑垃圾清运及资源化利用合同
- 二零二五年度影视制作公司担保借款合同范本
- 2025版汽车租赁公司成品油销售合同范本
- 二零二五年度防水材料新产品推广与销售代理合同
- 放射科质控汇报
- 2023年山东威海乳山市事业单位招聘带编入伍高校毕业生12人笔试备考题库及答案解析
- 结构方案论证会汇报模板参考83P
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- 《企业人力资源管理专业实践报告2500字》
- 万东GFS型高频高压发生装置维修手册
- 公寓de全人物攻略本为个人爱好而制成如需转载注明信息
- 企业经营沙盘模拟实训指导书
- 魏家庄村道路实施方案
- 智能制造生产线运营与维护课件完整版
- 【外科学】心脏疾病
评论
0/150
提交评论