基于J2EE的元数据管理系统的设计与实现

2024-09-21

基于J2EE的元数据管理系统的设计与实现(共10篇)

基于J2EE的元数据管理系统的设计与实现 篇1

基于J2EE的元数据管理系统的设计与实现

摘要:对基于XML的多源异构数据融合、遥感数据存储、数据持久化以及用户访问控制技术进行了分析和设计;讨论了元数据管理系统的实现技术、设计思想和系统构架,注重系统的可移植性、可维护性和可扩展性;实现了基于J2EE技术的元数据管理系统。

关键词:Java 2平台企业版;元数据管理;扩展标记语言

随着信息技术的发展,产生了海量的信息。如何有效地管理和组织这些海量信息已经成为一个突出的问题。元数据机制是解决这一问题的有效手段。一些部门已经针对数据在行业内部的应用特点来开发自己的管理系统[1]。目前,在元数据管理系统的建设中存在的主要问题是:基于不同操作系统和数据库的管理平台不可移植、安全性差、难以维护和扩展、缺乏统一的建设模式与内容服务提供方式[2,3]。

以J2EE平台为基础的各项技术的成熟为这些问题提供了良好的解决方案。J2EE是一种利用Java2平台来简化诸多与多级解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE的核心技术是Java2平台的标准版,具有Java语言的特性,是一个开放的、跨平台的结构,提供了健全的意外事件处理机制,具有良好的可移植性和扩展性。

基于J2EE的元数据管理系统具有高效、稳定、可复用、易维护的特点;独立于平台,可以部署于Microsoft Windows、Linux、UNIX等操作系统之上;可对Oracle、SQL Server 2000、MySQL等多种数据库进行操作。但是J2EE涉及的技术种类繁多,在实际应用中要根据需要准确使用,而且基于J2EE的系统需要具有良好的系统设计结构,才能最大限度地发挥优势。尽管基于J2EE平台的系统具有诸多优点,但目前J2EE还没有被广泛应用在元数据管理中。本文提出的基于J2EE架构的元数据管理系统建设方法和应用实例,是将J2EE引入元数据管理的一个初步尝试。

1关键技术研究

1.1基于XML的多源异构数据融合

各个部门采用了不同的元数据存储方式。由于缺乏统一的标准,很难对这些元数据进行有效的管理和发布。必须实现多源异构数据的融合。

采用简单文本文件作为中间介质的信息交换方法不能描述数据的结构,不适合用来进行复杂的元数据交换。XML技术实现信息交换与共享已经成为一种发展趋势。孙君明等人[4]对基于XML的数据交换技术进行了研究。XML是采用线性语法描述树状结构的标志语言。作为一种数据交换的中间件,XML具有跨平台、结构化和自描述性强的特点。

用XML实现多源异构数据融合的过程如图1所示。

在图1中,首先各地的数据提供者通过浏览器将数据传送给服务器,由服务器端的XML引擎将这些数据转换成标准的XML文档;再由一些服务组件根据需要对XML文档进行处理,如建立索引等。这样,多源异构数据就被转换成了具有统一标准的XML文档;通过对这样具有固定结构的XML中间件的解析,实现从XML文档到数据库的转换,完成了多源异构数据的统一存储[4,5]。进行信息发布时,根据客户端的查询条件在数据库中提取相应的结果集,形成XML文档,将该文档发送至客户端;由客户端的格式化工具解析该XML文档,显示在客户端。

1.2遥感数据的分块存储

遥感数据(如DEM、TM、ASTER等)具有数据量庞大的特点,应用数据库中的大数据类型存储,如Oracle 9i中的Blob、SQL Server 2000中的Image。但是如果将它们直接存入数据库中会造成系统效率低下;可采用一种分块存储的策略,将原始数据分割成大小一致的若干块,一块一块地进行存储。分块大小要根据磁盘的读写性能和网络的传输性能确定,过大或过小都会导致系统运行效率低下[6]。每块数据以一条记录的方式进行存储,包含数据的编号、经纬度、步长、时间等信息,并且建立索引。

1.3数据持久化

为了能使系统部署在任意数据库系统上,加入了一个持久化层,作为连接Java应用和关系数据库的通道。为数据库中的每张表建立一个Java对象,定义好对象与表之间的对应关系,只需对Java对象进行操作,不用关心SQL语句和系统最终使用的数据库。持久层作为一个中间件,封装对数据库的操作,提供接口,隐藏数据访问的细节[7]。

1.4用户访问控制

元数据的使用人员级别复杂,用户管理困难。使用RBAC(Role-Based Access Control,基于角色的访问控制)模型,可以提高管理的效率和安全性。RBAC在传统的用户——权限模型中引入了角色的概念。角色是一组用户的集合,也是一个授权的集合,它将一组用户与权限联系起来。一个角色可以与多个用户对应,一个用户可以拥有多个角色,每个角色可以执行多种权限,每个权限可以被多个角色共享。对一个用户授予相应的角色,使用户可以进行相应的操作[8]。引入角色可以使系统的安全机制具有很大的灵活性,减少了权限管理的负担和代价,同时也增强了系统的可维护性。

2元数据管理系统的设计

使用本系统的各部门实际情况不同,系统可能被部署到不同的平台上,而且需要对该系统进行一定的扩展和改进。所以在系统设计上,需要充分考虑到系统的可移植性和可扩展性。

2.1系统设计

本系统基于J2EE平台,是一个浏览器/服务器(B/S)结构的系统,具有J2EE平台可以跨系统使用的特性,采用MVC(Model-View-Controller)应用框架。MVC设计框架的内部原理比较复杂,将MVC运用到应用程序中会带来大量的额外工作,增加应用的复杂性。但是MVC可以轻松地实现程序代码与HTML的分离,而且MVC的三个模块相互独立,可以构造良好的松耦合构件,提高应用系统的可维护性、可扩展性、可移植性和可复用性。从长远的应用考虑,应使用MVC设计框架[9]。

本系统在传统的B/S三层结构上作了一定的改进。

(1)表现层。在该层使用Struts框架。Struts是一个MVC模式的表现层应用框架。浏览器向Web服务器提出请求后,Web服务器会把请求交给控制器处理。ActionServlet控制器根据请求的不同,将它们转发给不同的Action实例。Action实例在这里充当了用户请求与业务处理逻辑之间的适配器,它只负责控制整个程序的流程,不关心具体业务的实现,实现了请求与业务逻辑的分开。本系统使用一个高效的Action类——DispatchAction类。只要继承该类,就可以在一个Action中集成多个业务方法,有利于系统的维护。在视图显示方面,其大量使用了Struts标签,用来控制显示的逻辑和内容。由于不同平台采取的编码方式不同,在进行系统移植时很容易出现中文乱码问题。在这里使用一个可插拔式的过滤器,实现对请求和响应的预处理及后处理,很好地解决了字符编码问题,使系统可以在不同的平台上进行移植。

用户请求和应用逻辑。在处理之前,将所有涉及到表现层的数据结构替换成更加通用的数据结构类型;使用通用的、与表现层无关的数据结构在这两层之间传递参数。表现层方法提交的参数类型主要是HttpServletRequest和HttpServletResponse;使用这样的参数会增加系统的耦合性,不利于代码的重用,所以要将它们处理成通用的数据类型,如数组。这一过程在Action适配器进行转发之前完成,提供给业务层的参数是通用的数据类型[10]。业务层方法之间的通信也通过通用的参数类型进行,使得每个业务方法均独立存在于系统之中,在很大程度上减少了系统的耦合,提高了可复用性。

(3)数据层。为了实现数据库访问细节与业务层的分离,引入持久化层。

为了使系统具有较好的可维护性、可移植性和可复用性,采用以上的设计思想,以搭建一个逻辑清楚、功能明确、模块化程度高的元数据管理系统。

2.2工作流程

用户通过浏览器(IE/Netscape)向服务器提交请求,请求经过过滤器处理后再提交给控制器ActionServlet;控制器根据请求的类别将它们转发给不同的DispatchAction类。该类中的方法对参数进行处理后调用不同的业务逻辑对请求进行分析处理,处理后得到的信息通过视图显示在用户浏览器上。

3基于J2EE的元数据管理系统的实现

根据本文提出的设计思想,实现了一个元数据管理系统——基于J2EE的小城镇元数据管理平台。本实例以J2EE平台为基础,Tomcat 5.0为服务器,可以使用Oracle 9i、SQL Server 2000、MySQL数据库,使用了ORM(Object-Relation Mapping)模式的持久化层中间件Hibernate,以Eclipse 3.0为开发平台。在系统实现过程中,使用了以J2EE平台为基础的各项技术,遵循Java2标准平台的编码标准,注重系统的可扩展性和可维护性。系统的XML引擎采用了DOM(Document Object Model)和SAX(Simple API for XML)。DOM负责XML文档的生成和修改;SAX对XML进行解析。

小城镇元数据管理平台的功能主要分为管理与检索两部分,可以实现对矢量数据、栅格数据、文档数据、原始试验数据、报表数据和模型数据的管理与检索;用户管理可以对用户进行权限设置;系统管理功能可以提供系统运行的日志和帮助文件。

4结束语

基于J2EE的元数据管理平台,具有良好的跨平台特性;解决了多源异构数据的融合、遥感数据的存储、数据持久化和用户控制访问问题;在设计和实现过程中遵循J2EE的设计模式,具有良好的扩展性和维护性;功能模块具有低耦合的特点,极大地提高了代码的可复用性;可对元数据进行有效管理,实现信息的共享发布,广泛地应用在各个领域。在如何提高系统的安全性方面还有待于对其进行进一步的研究。

参考文献:

[1]吴洪桥,何建邦,池天河,等.基于Internet的元数据管理模式研究[J].计算机科学,2003,30(4):89-91.[2]李广乾.小城镇信息化建设的基本思路[J].信息化建设,2005(Z1):24-26.

[3]赵春江,杨信廷.加强信息技术研究和开发促进小城镇健康发展[J].小城镇建设,2005(1):22-23.

[4]孙君明,郭红.基于XML的异构信息交换技术研究[J].计算机应用研究,2003,20(1):70-72.

[5]李德冠,陈梦东.一种基于XML的数据交换系统的设计和实现[J].微机发展,2005,15(12):12-14.

[6]朱雷,潘懋,李丽勤,等.GIS中海量栅格数据的处理技术研究[J].计算机应用研究,2006,23(1):66-68.

[7]孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005.

[8]范会联,李献礼.基于Struts框架的Web信息系统中RBAC的实现[J].计算机时代,2005(12):33-34.

[9]孙卫琴.基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.

[10]ALUR D,CRUPI J, MALKS D.J2EE核心模式[M].第2版.北京:机械工业出版社,2005.

基于J2EE的元数据管理系统的设计与实现 篇2

以J2EE平台为基础的各项技术的成熟为这些问题提供了良好的解决方案。J2EE是一种利用Java2平台来简化诸多与多级解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE的核心技术是Java2平台的标准版, 具有Java语言的特性, 是一个开放的、跨平台的结构, 提供了健全的意外事件处理机制, 具有良好的可移植性和扩展性。

基于J2EE的元数据管理系统具有高效、稳定、可复用、易维护的特点;独立于平台, 可以部署于Microsoft Windows、Linux、UNIX等操作系统之上;可对Oracle、SQL Server 2000、MySQL等多种数据库进行操作。但是J2EE涉及的技术种类繁多, 在实际应用中要根据需要准确使用, 而且基于J2EE的系统需要具有良好的系统设计结构, 才能最大限度地发挥优势。尽管基于J2EE平台的系统具有诸多优点, 但目前J2EE还没有被广泛应用在元数据管理中。本文提出的基于J2EE架构的元数据管理系统建设方法和应用实例, 是将J2EE引入元数据管理的一个初步尝试。

1关键技术研究

1.1基于XML的多源异构数据融合

各个部门采用了不同的元数据存储方式。由于缺乏统一的标准, 很难对这些元数据进行有效的管理和发布。必须实现多源异构数据的融合。采用简单文本文件作为中间介质的信息交换方法不能描述数据的结构, 不适合用来进行复杂的元数据交换。XML技术实现信息交换与共享已经成为一种发展趋势。孙君明等人对基于XML的数据交换技术进行了研究。XML是采用线性语法描述树状结构的标志语言。作为一种数据交换的中间件, XML具有跨平台、结构化和自描述性强的特点。

用XML实现多源异构数据融合的过程如图1所示。在图1中, 首先各地的数据提供者通过浏览器将数据传送给服务器, 由服务器端的XML引擎将这些数据转换成标准的XML文档;再由一些服务组件根据需要对XML文档进行处理, 如建立索引等。这样, 多源异构数据就被转换成了具有统一标准的XML文档;通过对这样具有固定结构的XML中间件的解析, 实现从XML文档到数据库的转换, 完成了多源异构数据的统一存储。进行信息发布时, 根据客户端的查询条件在数据库中提取相应的结果集, 形成XML文档, 将该文档发送至客户端;由客户端的格式化工具解析该XML文档, 显示在客户端。

1.2遥感数据的分块存储

遥感数据 (如DEM、TM、ASTER等) 具有数据量庞大的特点, 应用数据库中的大数据类型存储, 如Oracle 9i中的Blob、SQL Server 2000中的Image。但是如果将它们直接存入数据库中会造成系统效率低下;可采用一种分块存储的策略, 将原始数据分割成大小一致的若干块, 一块一块地进行存储。分块大小要根据磁盘的读写性能和网络的传输性能确定, 过大或过小都会导致系统运行效率低下。每块数据以一条记录的方式进行存储, 包含数据的编号、经纬度、步长、时间等信息, 并且建立索引。

1.3数据持久化

为了能使系统部署在任意数据库系统上, 加入了一个持久化层, 作为连接Java应用和关系数据库的通道。为数据库中的每张表建立一个Java对象, 定义好对象与表之间的对应关系, 只需对Java对象进行操作, 不用关心SQL语句和系统最终使用的数据库。持久层作为一个中间件, 封装对数据库的操作, 提供接口, 隐藏数据访问的细节。

1.4用户访问控制

元数据的使用人员级别复杂, 用户管理困难。使用RBAC (Role-Based Access Control, 基于角色的访问控制) 模型, 可以提高管理的效率和安全性。RBAC在传统的用户——权限模型中引入了角色的概念。角色是一组用户的集合, 也是一个授权的集合, 它将一组用户与权限联系起来。一个角色可以与多个用户对应, 一个用户可以拥有多个角色, 每个角色可以执行多种权限, 每个权限可以被多个角色共享。对一个用户授予相应的角色, 使用户可以进行相应的操作。引入角色可以使系统的安全机制具有很大的灵活性, 减少了权限管理的负担和代价, 同时也增强了系统的可维护性。

2元数据管理系统的设计

使用本系统的各部门实际情况不同, 系统可能被部署到不同的平台上, 而且需要对该系统进行一定的扩展和改进。所以在系统设计上, 需要充分考虑到系统的可移植性和可扩展性。

2.1系统设计

本系统基于J2EE平台, 是一个浏览器/服务器 (B/S) 结构的系统, 具有J2EE平台可以跨系统使用的特性, 采用MVC (Model-View-Controller) 应用框架。MVC设计框架的内部原理比较复杂, 将MVC运用到应用程序中会带来大量的额外工作, 增加应用的复杂性。但是MVC可以轻松地实现程序代码与HTML的分离, 而且MVC的三个模块相互独立, 可以构造良好的松耦合构件, 提高应用系统的可维护性、可扩展性、可移植性和可复用性。从长远的应用考虑, 应使用MVC设计框架。

本系统在传统的B/S三层结构上作了一定的改进。

(1) 表现层。

在该层使用Struts框架。Struts是一个MVC模式的表现层应用框架。浏览器向Web服务器提出请求后, Web服务器会把请求交给控制器处理。ActionServlet控制器根据请求的不同, 将它们转发给不同的Action实例。Action实例在这里充当了用户请求与业务处理逻辑之间的适配器, 它只负责控制整个程序的流程, 不关心具体业务的实现, 实现了请求与业务逻辑的分开。本系统使用一个高效的Action类——DispatchAction类。只要继承该类, 就可以在一个Action中集成多个业务方法, 有利于系统的维护。在视图显示方面, 其大量使用了Struts标签, 用来控制显示的逻辑和内容。由于不同平台采取的编码方式不同, 在进行系统移植时很容易出现中文乱码问题。在这里使用一个可插拔式的过滤器, 实现对请求和响应的预处理及后处理, 很好地解决了字符编码问题, 使系统可以在不同的平台上进行移植。

(2) 业务层。

它处理用户请求和应用逻辑。在处理之前, 将所有涉及到表现层的数据结构替换成更加通用的数据结构类型;使用通用的、与表现层无关的数据结构在这两层之间传递参数。表现层方法提交的参数类型主要是HttpServletRequest和HttpServletResponse;使用这样的参数会增加系统的耦合性, 不利于代码的重用, 所以要将它们处理成通用的数据类型, 如数组。这一过程在Action适配器进行转发之前完成, 提供给业务层的参数是通用的数据类型。业务层方法之间的通信也通过通用的参数类型进行, 使得每个业务方法均独立存在于系统之中, 在很大程度上减少了系统的耦合, 提高了可复用性。

(3) 数据层。

为了实现数据库访问细节与业务层的分离, 引入持久化层。

为了使系统具有较好的可维护性、可移植性和可复用性, 采用以上的设计思想, 以搭建一个逻辑清楚、功能明确、模块化程度高的元数据管理系统。

2.2工作流程

用户通过浏览器 (IE/Netscape) 向服务器提交请求, 请求经过过滤器处理后再提交给控制器ActionServlet;控制器根据请求的类别将它们转发给不同的DispatchAction类。该类中的方法对参数进行处理后调用不同的业务逻辑对请求进行分析处理, 处理后得到的信息通过视图显示在用户浏览器上。

3基于J2EE的元数据管理系统的实现

根据本文提出的设计思想, 实现了一个元数据管理系统——基于J2EE的小城镇元数据管理平台。本实例以J2EE平台为基础, Tomcat 5.0为服务器, 可以使用Oracle 9i、SQL Server 2000、MySQL数据库, 使用了ORM (Object-Relation Mapping) 模式的持久化层中间件Hibernate, 以Eclipse 3.0为开发平台。在系统实现过程中, 使用了以J2EE平台为基础的各项技术, 遵循Java2标准平台的编码标准, 注重系统的可扩展性和可维护性。系统的XML引擎采用了DOM (Document Object Model) 和SAX (Simple API for XML) 。DOM负责XML文档的生成和修改;SAX对XML进行解析。

小城镇元数据管理平台的功能主要分为管理与检索两部分, 可以实现对矢量数据、栅格数据、文档数据、原始试验数据、报表数据和模型数据的管理与检索;用户管理可以对用户进行权限设置;系统管理功能可以提供系统运行的日志和帮助文件。

4结语

基于J2EE的元数据管理平台, 具有良好的跨平台特性;解决了多源异构数据的融合、遥感数据的存储、数据持久化和用户控制访问问题;在设计和实现过程中遵循J2EE的设计模式, 具有良好的扩展性和维护性;功能模块具有低耦合的特点, 极大地提高了代码的可复用性;可对元数据进行有效管理, 实现信息的共享发布, 广泛地应用在各个领域。

摘要:对基于XML的多源异构数据融合、遥感数据存储、数据持久化以及用户访问控制技术进行了分析和设计;讨论了元数据管理系统的实现技术、设计思想和系统构架, 注重系统的可移植性、可维护性和可扩展性;实现了基于J2EE技术的元数据管理系统。

关键词:Java2平台企业版,元数据管理,扩展标记语言

参考文献

[1]吴洪桥, 何建邦, 池天河等.基于Internet的元数据管理模式研究[J].计算机科学, 2003, 30 (4) :89-91.

[2]李广乾.小城镇信息化建设的基本思路[J].信息化建设, 2005, (Z1) :24-26.

[3]赵春江, 杨信廷.加强信息技术研究和开发促进小城镇健康发展[J].小城镇建设, 2005, (1) :22-23.

[4]孙君明, 郭红.基于XML的异构信息交换技术研究[J].计算机应用研究, 2003, 20 (1) :70-72.

基于J2EE的元数据管理系统的设计与实现 篇3

【摘要】 随着信息技术的发展,人们都希望自己的信息永久的保存在电脑上,考试系统应运而生,可以永久将考生信息、考试信息、考场信息、考试结果永久保存在电脑上,供用户随时查询。系统前台包括:考生注册、登录、考生答题界面。后台包括:试卷上传、考试过程监控、试卷批阅、数据库数据修改等功能模块。

【关键字】 J2EE 考试系统 数据库 java

随着计算机互联网应用的不断延伸,学生考试的技术手段和载体发生了巨大的变化。计算机技术、网络技术和考试理论的不断成熟,使考试从传统的纸笔考试到计算机辅助考试再发展到基于互联网的智能化在线考试成为现实。基于互联网技术支持的在线考试系统就是借助遍布因特网技术,考试既可在本地进行,也能在异地进行,极大拓展了学校考试的灵活性,而且智能组卷、客观题自动阅卷评分和成绩分析将教师从繁重的工作中解脱了出来。这最大程度提高了考试工作效率,真正的实现了无纸化考试。论文主要论述了基于J2EE技术的网络考试系统整体项目分析、设计和开发的全部过程。采用RUP思想,运用ER图、类图、时序图等UML建模技术对项目的设计进行详细说明。

本文在分析现存的各种网络在线考试统的优缺点基础上,设计一种基于互联网技术的J2EE平台的MVC模式体系结构,能满足一定数量考试考生,通过Internet/Intranet进行考试及管理的信息系统,以求使得考试形式更具智能化、更具合理性,最大程度提高考试的效率和公平,减轻教师的负担。本论文主要阐述基于J2EE技术的在线考试系统的需求、设计、开发、实现等细节,同时对系统特色做出阐述。论文研究项目来源于南阳理工学院校级立项科研课题。课题立足于本校计算机系专业课程教学改革,依托于校园网平台,研究设计一种网络考试系统,从实际应用出发,改变传统的人工组织考试方式,实现计算机在线考试,自动组卷,自动阅卷。

通过开发基于J2EE技术的网络考试系统来提高考试工作效率。网络考试系统主要由两个组成部分:前台考试系统和后台管理系统。在对现有的一些考试系统进行分析比较的基础上,查阅相关技术资料,对在线考试系统进行了分析和设计,完成以下主要工作,在对UML、J2EE、MVC等技术进行综述之后,对系统的可行性、系统角色及业务、考试流程、功能需求进行了分析,给出了系统角色、考前流程、考中流程、考后流程、各角色用例图及用例规约,对非功能性需求进行了简要分析。基于需求,进行了系统总体设计、功能设计、数据库设计和部分界面设计,给出了系统功能结构,采用功能结构图、活动图表达了考生子系统等4个子系统的功能设计,采用E-R图表达了数据库概念设计、给出了数据库表结构,完成了部分界面布局设计。对该系统实施进行了研究,给出了初步的实施方案。

全文按照软件工程设计思想,分为项目的设计方案、需求分析、系统设计、关键技术解决、系统整体测试和结论等五个部分。设计方案中主要确定设计考试系统的目的、方案的选择及开发框架的技术;需求分析描述考试系统的总体需求及系统各模块的功能需求;系统设计撰写了系统设计的指导思想、数据库的设计、系统模块的设计;关键技术论述了在具体实现时需解决的一些技术,如开发框架的整合技术、开发框架与数据库的连接、身份认证、安全技术、智能题库算法、泛型编程方案、存储过程应用;系统测试主要采用JUnit工具进行单元测试和Jmeter工具对WEB服务和SQL数据库服务进行有效压力测试,得出系统应用数据。最后根据系统运行效果给出分析和评价,给出总体应用结论。

基于笔者几年来的教学工作经验,特别是对教学中考试环节的研究,同时在对国内外同类软件产品研究的基础上,认为开发一套具备多维度分析的考试系统是一个很有意义的学术课题。国内外同类产品更多地注重商业价值,提供了很多功能,但是对于教育教学中考试的最终目的这方面没有特别关注。如何通过考试来提高教师教学质量,发现学员和教师的薄弱环节,从而对教育教学工作有全面的改善提高,笔者开发的基于J2EE技术的在线考试系统正是为了实现这个目的,更加深刻地揭示出考试的本质意义。

本系统实现了无纸化网络考试,是对绿色环保理念的支持,系统除了提供试卷、试题、学员信息管理等基本功能外,还提供了对整个考试过程(从出题到实施考试、阅卷、分析)的全程计算机网络化支持。系统特色在于考试结果分析模块,该模块从多个维度(班级、试卷、试题、多班级等)提供考试结果分析,这种智能分析以数据和图形方式客观直观地展现给用户,让用户很容易地发现和挖掘出教育教学中的问题,从多层面发现学员的薄弱知识点,从而为教育教学的改进提供支持和参考。另外通过系统提供的多班级错误率比较功能,使同科教师可以具体的、有针对性的进行教学经验分享、交流和改进,从而让整个学校的教学活动得到持续优化和改善。

前台考试系统包括考场纪律、查看新闻、参加考试、参加作业、账户信息、修改密码和成绩查询等功能模块。后台管理主要包括个人事务、成绩查询、新闻管理、账户管理、题库管理、试卷管理、过程管理、成绩管理和系统设置等功能模块。

基于J2EE的元数据管理系统的设计与实现 篇4

为了实现对基于云计算的分布式数据挖掘系统设计,其中,数据挖掘算法设计是关键,本文提出一种基于分布式自适应特征调度和高阶累积量后置聚焦的数据挖掘算法,假设数据信息流为,数据信息流通过噪声滤波,得到数据流聚类相似性函数表示为,其是一组准平稳随机的时间序列,对数据库中的存储信息流进行能量谱密度特征提取,得到输出数据x(t)的第n 个宽频带分量,分布式自适应特征调度模型表示为:基于二元假设模型,构建数据库存储结构的检验统计量,通过经验模态分解执行数据库存储结构的区域的自适应筛选和更新,得到:云计算环境下分布式数据的数据挖掘的本体结构为一个五元组,其中,C 为云计算环境下分布式数据的概念集,I 是云计算环境下分布式数据的字符串实例集,通过四阶累积量切片进行数据库存储结构的特征压缩处理,降低存储的特征维数和数据冗余,结合高阶累积量后置聚焦,得到数据挖掘输出特征的四阶累积量切片:式中,表示存储空间的频谱特征伸缩尺度,可见,采用高阶累积量后置聚焦,有效提高了数据的精度。嵌入式Linux的内核下数据挖掘系统设计描述

在上述进行了算法设计的基础上,进行数据挖掘系统的软件开发设计,基于云计算的分布式数据挖掘系统总体模型中,采用ST 超低功耗 ARM CortexTM-M0 微控制器,系统建立在嵌入式Linux 的内核平台上,系统包括程序加载模块、数据存储模块、数据缓存调度模块和数据通信传输模块等,通过配置CAN_IMASK 寄存器,采用LabWindows/CVI 进行数据远程控制和信息通信,基于云计算的分布式数据挖掘系统给用户提供一个简单、统一的系统调用接口,系统可配置4 路组联合Cache,基于云计算的分布式数据挖掘系统的寄存器系统时钟120 MHz。嵌入式Linux 的内核下数据挖掘系统通过VISA 软件接口发送Flash 设备上的文件系统内核到HP E1562D/ESCSI 数据硬盘进行数据存储,调用s3c2440_adc_read()函数,进行程序加载和基于云计算的分布式数据挖掘系统的嵌入式控制,使用Qt/Embedded 作为GUI,利用开源Linux 操作系统的丰富网络资源,实现数据挖掘系统的远程通信信息传输和控制。仿真实验

为了测试本文设计的基于云计算的分布式数据挖掘系统在实现数据挖掘中的优越性能,进行仿真实验,分布式数据信息采样的时宽为10 ms, 分布式数据的随机采样率为KHz,调控因子λ=0.25。根据上述仿真环境和参数设定,进行基于云计算的分布式数据挖掘系统的数据挖掘和处理性能分析,首先进行数据挖掘的输出时域波形采样,结果可见,采用本文算法进行数据挖掘的准确度较高,为了对比性能,采用本文方法和传统方法,以数据挖掘的准确配准性为测试指标,得到对比结果。实验结果表明,采用该方法进行基于云计算的分布式数据挖掘,数据挖掘的准确配准性能较好,系统的可靠性较好。结束语

基于J2EE的元数据管理系统的设计与实现 篇5

基于ArcGIS Engine的地理信息数据库设计与实现

简述了地理信息数据库管理系统的结构和功能,并通过用VB开发语言建立了辽宁省地理信息控制点数据库管理系统,介绍了基于ArcEngine基于该方法基本思路.在结尾处,给出今后努力的.方向.

作 者:李红 沈冬 LI Hong SHEN Dong 作者单位:辽宁省地理信息院,辽宁,沈阳,110034刊 名:测绘与空间地理信息英文刊名:GEOMATICS & SPATIAL INFORMATION TECHNOLOGY年,卷(期):32(4)分类号:P208关键词:组件式GIS 空间数据库 ArcEngine

基于J2EE的元数据管理系统的设计与实现 篇6

介绍移动地理信息系统(GIS)的基本架构,以及移动GIS在野外数据采集中的一些应用,并归纳总结了移动GIS的开发模式.其次对数字城管数据采集进行介绍、分析,研究移动GIS用于数字城管数据采集的`必要性和实用性.设计基于移动GIS的数字城管数据采集系统的整个架构以及功能配置,并用实例说明.

作 者:陈晓军 刘春 裴洪雨 Chen Xiaojun Liu Chun Pei Hongyu  作者单位:陈晓军,裴洪雨,Chen Xiaojun,Pei Hongyu(同济大学测量与国土信息工程系,上海,92)

刘春,Liu Chun(同济大学测量与国土信息工程系,上海,200092;现代工程测量国家测绘局重点实验室,上海,200092)

基于J2EE的元数据管理系统的设计与实现 篇7

关键词:J2EE,Oracle9i,内容管理系统,数据库连接池

随着我国信息化和互联网的飞速发展, 信息发布量的不断增加, 在网站中进行新闻, 政策, 法规, 通告等信息内容的发布和管理已经成为大多数商务网站和政务网站的主要任务之一。传统的人工发布新闻的方法, 已经显得落伍, 不但周期长、易丢失, 而且消耗大量人力物力。网站内容发布和管理的自动化和模块化建设已成为必由之路。建设一个内容管理系统, 可以使得新闻发布和管理工作更便捷、快速、高效地完成。笔者基于J2EE平台, 使用B/S模式, 采用Oracle9i数据库, 设计与开发了这一内容管理系统。

1、技术介绍

1.1 J2EE平台

J2EE是企业级应用程序的开发平台和中间件体系结构.其技术基础是Java 2平台.同时还新增了一整套诸如Servlet, EJB, JSP以及支持XML技术的标准模块组件。选择J2EE主要有以下的一些优点: (1) J2EE构架的稳定性。Java在语言级实现了较高的稳定性和安全性.内存自动回收技术有效的防止了对服务程序危害很大的内存泄露。 (2) J2EE的可移植性。方便系统在不同操作系统之间的移植。由于Java语言具有平台无关性.采用J2EE技术开发的系统可以运行在多种操作系统之上.可以根据工作的需要布置在不同的平台上.为系统的维护带来很大的主动性。 (3) 技术成熟.采用J2EE构架来开发B/S结构的应用系统具有很成熟的技术.具有很多成功的案例可以参考。

1.2 数据库连接池

数据库连接池是重用数据库连接对象的一种机制。连接池负责管理数据库连接的建立、释放和调度。事前连接池先建立若干个连接, 放置在内存对象中, 当有数据库访问请求时, 不需要执行连接数据库的操作, 只需从连接池的空闲队列中取用连接, 数据库存访问完成后, 将连接放回连接池中。供其他数据库操作时复用连接池中的连接。

2、内容管理系统的功能与结构

内容管理系统主要是实现新闻类型的信息内容的集中发布和管理。内容管理系统采用基于浏览器、Web服务器/Application服务器和数据库服务器的三层B/S应用体系结构 (见图1) , 这三层明确分工, 并在逻辑上独立。软件应用的业务逻辑完全在应用服务器端实现, 客户端只需要浏览器即可进行业务处理, 负载轻。应用系统全部在服务器端, 具有一次编写、随处运行的特点, 系统开放性好, 有良好的可移植性, 系统维护升级方便。

系统的基本流程为:普通用户只能浏览、阅读和检索新闻;管理员用户除了可以完成普通用户的操作外, 还可以登陆后台, 通过权限验证后, 普通管理员可进行新闻录入、修改、删除操作;超级管理员除了拥有一般管理员的权限外, 还可以对一般管理员的账号进行管理

3、内容管理系统的设计与实现

本系统所用的开发平台:Web服务器选择为Tomcat 5.5, 应用服务器选择为JBoss2.0, 数据库系统选择Oracle 9i, 客户端浏览器使用IE6.0, Win2000 Server操作系统下开发完成。在JDBC (Java Database Connectivity) 与数据库系统的连接中, 采用数据库连接池的系统在效率和稳定性上比采用传统的其它方式的系统要好得多。因此, 系统在数据连接过程中利用连接池来优化访问效率, 提供高效的连接分配, 实现连接高效、安全的复用, 避免了频繁建立与关闭数据库连接所导致的系统性能降低。数据库连接池的配置, 使用的是Tomcat自带的管理工具。进入Tomca Administration页面后, 选中左边框架中Data Sources菜单项, 在右侧的设置页中对用户名、密码、连接数等进行配置, 保存退出后, 该数据源则可以使用。

内容管理系统 (CMS) 包括后台管理模块和前台显示模块 (见图2) 。

3.1 后台管理模块

后台管理模块主要方便管理员对新闻进行管理, 包括三大模块。

(1) 栏目管理模块

本模块主要实现管理员对新闻栏目的添加, 修改, 删除, 合并等工作, 从而实现对信息内容的动态分类。

(2) 新闻管理模块。

本模块主要实现管理员对新闻的添加、修改、删除等操作。

后台管理页面采用主右栏的显示样式, 左栏显示类别, 右栏则显示该类的新闻列表。在添加和修改新闻的页面上内嵌在线HTML编辑器, 在网页上实现许多桌面编辑软件 (如:word) 所具有的强大可视编辑功能, 管理员可以很方便地对新闻格式进行自由的调整, 该编辑器主要是使用i Frame嵌入网页技术。如还要进行图片的添加, 则以上传文件的形式保存到指定的文件夹下面, 便于在首页上动态显示。最终, 新闻是以HTML代码的形式保存在数据库中。

新闻存储时会涉及到长文本保存问题, 由于像政策法规这样的单条新闻有可能远远超过Oracle9i中Varchar2字段最大所能保存的4000字节, 所以需采用能存储4G字节的Blob字段进行保存。Oracle9i所提供的数据库驱动程序对于Blob字段是以流的方式进行操作, 不免使得代码不够清晰且难于维护, 本系统将其更换为Oracle lOg数据库驱动程序后, 可以像操作Varchar2字段一样的操作Blob字段, 非常简单方便。

(2) 权限管理模块。

本系统用户分为一般管理员和超级管理员。一般管理员.可以对新闻进行添加、修改、删除操作。超级管理员除享有一般管理员的权限外, 还可对栏目进行管理, 以及增加和删除一般管理员。

3.2 前台显示模块

前台显示主要方便用户浏览新闻, 其包括四大主要模块:

(1) 首页新闻显示模块。

网站通过引入样式表, 把页眉、页脚、导航栏做成模板, 统一定制了网站的设计风格。在后台进行首页栏目的设置。设置好的栏目按照要求放在首页中间位置显示, 内容为该栏目最近的5条新闻的标题, 为避免格式被破坏, 当标题字数超过l5后, 只显示前l5个字, 后面用省略号代替。并且在最近三天发布的新闻标题后显示New图标, 便于用户浏览到最新的消息。同时, 首页左上有一个小的图片框, 用来读取上传图片文件夹下的最新上传图片, 使得首页的新闻图片能够自动更新, 实现网站的自动维护。

(2) 详细列表模块。

点击导航栏后, 可进入相关栏目的详细新闻列表, 显示新闻标题和新闻发布日期, 按日期从新到旧排序。每条新闻的标题都被做成一个超链接, 点击它们就能跳转页面进入到单条新闻显示页面。当新闻超过20条后, 进行分页处理。

(3) 单条新闻显示模块。

在首页或详细列表处点击新闻标题后, 都可进入该条新闻的显示页面。页面中显示新闻标题、正文和浏览数。并按照相对固定的格式放置在页面的不同区域。所有新闻使用大致相同的页面布局, 只是各字段对应的内容不同。新闻上方可显示当前新闻的具体位置, 用于在详细列表和单条新闻间跳转。

(4) 新闻检索模块。

为方便用户对某条新闻的查找, 需要添加检索功能, 把一个检索表单放在首页的导航栏下。用户在表单中输入需查找的新闻标题, 在下拉列表框中选择基于全站搜索还是某一类别搜索。在后台程序处理过程中, 通过传人的需要匹配的标题字串和类别表项的约束条件, 生成一条SQL查询语句, 搜索新闻存储表, 将查询到的结果加入到结果记录集, 最后把新闻标题显示给用户, 用户点击标题后可进入该新闻的显示模块。

4、结束语

用J2EE技术开发的内容管理系统, 实现了网站新闻内容的动态管理, 使得对信息内容的管理更加及时、高效, 提高了工作效率。另一方面, 该系统可以作为第三方控件无缝集成到普通的网站建设中, 提高了开发效率, 具有较高的应用推广前景。

参考文献

[1].何雄.J2EE网络程序设计[M].北京:人民邮电出版社, 2000.

[2].沈斌, 丁扬帆.基于B/S模式和JSP技术的企业产品信息管理系统[J].机电产品开发与创新, 2006, 19 (2) :41~42.

[3].胡灵芝.B/S模式的农业信息远程查询的ASP实现方案[J].安徽农业科学, 2006, 34 (17) :4498-4499.

基于J2EE的元数据管理系统的设计与实现 篇8

关键词:固定资产管理;J2EE;共享信息资源;数据存储;MVC

中图分类号:TP315 文献标识码:A文章编号:1007-9599 (2011) 07-0000-02

Design and Implementation of the Fixed Assets Management System Based on J2EE

Feng Lvqing

(Guangdong University of Science&Technology,Dongguan523083,China)

Abstract:Through researching on the management of fixed assets of university,and analyze the business situation and process,this paper used J2EE and SQL Server database in the system with B/S structure,implement Fixed Assets Management system.This system can reduce the working intensity of managers and in prove the work efficiency.

Keywords:Fixed Assets Management;J2EE;Information Resource Sharing;Data Storage;MVC

一、绪论

近年来,高校的固定资产管理方法不断的改进,高校的设备管理工作或多或少的使用计算机来辅助完成,但是长期以来,计算机大多扮演的仅是数据存储的角色,随着高校固定资产不断增多,使用计算机系统管理高校固定资产、共享信息资源成为日益迫切的需求[1]。高校固定资产管理系统就是应此需求而提出的,该系统的研发和使用,也是提高高校固定资产管理水平、增强高校管理的重要手段之一。

二、系统的分析

(一)用户业务概述

系统开发的总任务是实现固定资产信息的规范化、科学化、现代化,正确反映固定资产的减少与增加、使用、保管、维修、报废、定期盘点和正确计算固定资产的折旧,以保证固定资产的安全完整,促使企业做好固定资产维护管理工作。本系统要完成的主要功能有:

1.资产信息录入,包括资产类别、部门信息、人员信息、存放地点等;2.资产领用,使用人领用固定资产,作为资产的临时拥有人;3.资产借用,系统记录资产借用、归还的信息,使固定资产不会在借用过程中发生意外而不能确定责任;4.资产维修,详细记录资产维修的信息,使系统使用人员能够清楚地了解固定资产的维修记录;5.资产移交,当高校有人员变动时,相应的固定资产需要移交,该模块需要记录固定资产的移交记录;6.资产报废,固定资产耗损需要报废时,需要通过系统登记,为下一批固定资产采购提供参考。

(二)系统需求

高校固定资产使用系统主要包括资产管理员和资产使用人两种角色。资产管理员一般有高校领导和院系高层,资产使用人一般为高校老师和指导员。

高校固定资产管理系统的管理员是系统中权限最高的用户,它的主要任务是管理高校的所有资产,查看资产的情况,审批资产申请。其具体的功能如:录入新增资产、资产领用审批、借用审批、维修审批、移交审批、报废审批和查询等功能。

高校固定资产管理系统的使用人是该系统的一般用户,它使用系统来直接管理高校固定资产。当使用人缺乏资产时,通过系统领用固定资产;当使用人需要使用其他使用人的固定资产时,通过系统借用和归还固定资产;当使用人的固定资产发生故障时,通过系统维护固定资产;当使用人职务发生变化,通过系统移交固定资产;当使用人资产耗损后,通过系统报废固定资产。

(三)系统性能分析

1.安全性分析。本系统采用易于扩展和灵活的基于角色的访问控制(RBAC,Role-Based Access Control)访问控制模型。使用该模型,可以防止非授权用户对系统资源进行访问,使合法用户以授权的方式访问资源。这样,资产管理员能根据自己的权限访问系统的大部分信息资源,而资产使用人仅能访问自己权限内的少部分资源。

2.稳定性分析。本系统在系统设计阶段,经过了参与项目开发的老师多次讨论,仔细分析系统的需求进行模块设计,并调研系统使用人数量、资产入库数据量和系统访问量等,对系统进行了边缘测试。经过测试,本系统的稳定性能满足我校日常固定资产管理业务。

(四)可行性分析

1.资金的合理性。本项目资金用途经过校领导会议讨论和所需设备、人员费用的市场调研,并通过项目申报、审批、核准流程,资金使用符合项目开发的实际需求。

2.风险和不确定性。由于学校固定资产数量庞大,使用系统人员比较多,人员和固定资产数量将随学校发展数量将有可能快速增长。将增加系统负载压力,而固定资产数量增加,也大大加大了系统存储压力。本系统应用于本校各个院系,客户端将分布在我校各处,因此对网络线路分布要求很高,并且对系统的安全性带来一定隐患。

三、系统的设计

本系统采用的B/S(Browser/Server)结构[2],在这种系统结构下,客户端只需安装有Web浏览器,不必安装任何客户端软件,用户对系统的任何操作都通过浏览器来实现,而不必关心后台服务器对事务的处理机制。

(一)系统功能设计

本系统分三次结构,底层是数据库访问层,主要设计用于与数据库的访问;中间层是业务逻辑层,处理固定资产的各种操作;上层是显示页面,主要与系统使用人的交互。系统基本架构如图。

图系统架构图

(二)数据库设计

本系统使用数据库SQL Server 2005。在分析系统功能的基础上,对数据库的设计主要包括以下几个表:人员信息表,主要用来存储系统使用人信息;固定资产表,用来存放固定资产的基本信息;资产领用表,说明资产的领用信息;资产借用表,记录资产的借用信息;资产维修表,记录固定资产的维修信息;资产移交表,记录资产的移交信息;资产报废表,记录报废的资产。

四、系统实现与测试

(一)开发环境选取

1.IDE的选取。本系统开发采用MyEclipse 6.0作为软件环境。MyEclipse 6.0是可视化的面向对象的,功能强大,并且将Struts,Tomcat, Hibernate插件集成在编译器内,编写和调试BS结构程序较为方便[3]。

2.Web容器的选取。Jakarta Tomcat 60,Tomcat能被用作一个独立的容器,或者当作一个已经存在的Web服务器的一个附加软件。作为一个开放源代码的软件,Jakarta-Tomcat有着自己独特的优势:由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。

(二)系统的实现

本系统功能采用树形菜单,其主要优点在于高层模块调用简单。一棵树形机构中的所有节点都是组件,对调用者来说局部和整体没有任何区别,高层模块不必关心自己处理的是单个对象还是整个组合结构,简化了高层模块的代码。

(三)数据库访问实现

在SQL Server 2005中建立好表和表间的关系。本系统使用JDBC为数据库开发人员提供的标准的API对数据库进行访问。

(四)系统测试

本系统测试主要采取黑盒测试。测试过程中安排三名测试员,设置资产管理员账号3个,资产使用人账号30个,使用管理员账号录入南博技术学院计算机系固定资产共1000件。系统测试人员对各个模块分布进行功能测试,系统测试结果:

1.系统基本能完成固定资产录入、领用、借用、移交、维修和报废功能,功能满足系统需求分析。

2.系统在用户输入过程中,能接受正确输入,并在错误输入数据时根据异常进行提示;系统能根据用户的查询和执行操作后输出正确结果。

3.操作返回数据与系统应有结果相同。

4.系统在各模块执行中,页面反应时间最长不超过2秒。

五、结束语

本文是在指出高校固定资产管理的现状和存在问题的基础上,使用J2EE和SQL Server技术实现固定资产管理系统,为高校固定资产的管理提供了有效的帮助,但为了进一步结合高校固定资产管理的发展,系统还应进一步做以下几个方面的改进:

(1)进一步完善条形码机制;

(2)系统的权限管理层次应该更多,对应于各角色的更加细化,管理功能应该更加灵活;

(3)统计功能进一步完善,应该更多的考虑加强对于财务信息的统计和分析,并进一步考虑到本系统与相关财务管理系统的对接和信息共享;

参考文献:

[1]张佩英.基于J2EE与Oracle的高校资产管理系统研究与实现.上海:华东师范大学软件工程,2007:1-2

[2]Hou Aimin,Zeng Guangpei.Design and Implementation of a J2EE Platform-Based Student Information Management System[C],2004

基于J2EE的元数据管理系统的设计与实现 篇9

摘要:基于网络的教务教学管理是21世纪教务教学管理的发展方向,大多数高校已经充分认识到了这个形势,都在努力去研究和开发,但实现效果大都不很理想,或实质上仍然处于单机管理状态,无法实现信息的高效共享,本文结合我院实际情况,采用B/S结构的开发模式,针对网络化教务教学管理信息系统进行了设计和实现,并提出了实现网络教务教学管理系统时应该注意的一些关键问题。

关键词:教务教学管理系统浏览器/服务器结构教务教学 电子计算机和网络应用技术的普及为学校的教务、教学管理及改变传统的教学模式提供了新的手段和思维模式,随着高校教育体制的改革,特别是扩大招生以后,给高校的教学管理工作提出了许多新的课题,教学管理信息化水平不高在我校表现的尤为明显。为了改善目前的尴尬状况,从繁琐、复杂、混乱的教务教学工作中解脱出来,发挥高校的信息技术和硬件资源集中的优势,借助计算机和网络技术实现高等学校教学管理信息化,促使教学管理的选课、排课、考评与工作量核算系统实现自动化、现代化,并使现有的教育资源特别是教师资源效用最大化,我们设计开发了基于网络的教务教学管理系统。问题提出

由于学校规模的扩大,学生和教师的人数快速增加,使我校原有的一套教务教学管理模式受到了极大的冲击,具体表现如下:

学生选课无法适应跨专业、跨年级的要求,这严重影响了学生学习的积极性,也使教学资源不能按需最优分配;

教育资源大量闲置,配置不合理,未能最大限度地发挥其效用;

在对教师教学质量的监控中,仍然采取原有的一套管理方法,既不能发挥学生的主体作用,也不能很好的对教学质量进行监控;

在考试中未能发挥出计算机的效用,成绩查询也较为困难而且出错率高;

在院、系两级的教师工作量核算中,也存在着重复计算与手工计算效率低等问题。教务教学管理系统的设计功能设计

基于网络的教务教学管理系统主要包括以下五个功能模块(如图1),这几个模块中学生选课管理、学生成绩管理、共享教学资源管理这三个模块在处理时对数据库结构的要求较高,所以,在数据库的设计上要在能够保证信息全面的基础上,尽量保证表格的精简。图1 管理功能模块示意图

基于网络的教务教学管理系统的开发过程 体系结构

系统体系结构采用三层结构模型,即前端客户机为浏览器,表示层放在前端,应用层放在应用服务器上,数据层单独用一个服务器。三层结构与传统的客户/服务器方式相比,充分利用现有浏览器软件,减轻了网络和客户机的负载,维护相对简单,且支持跨平台。系统开发环境

根据系统要求结合当前实际,系统的开发选择开发环境如表1示,表1 系统开发环境 网络操作系统

Windows 2000 Server

Web服务器管理程序

IIS4.0

数据库管理系统

NT SQL Server 2000

Web服务器与数据库连接

ISAP(IDC)

Client端开发工具

HTML、Frontpage、VbScript、ASP

浏览器

IE 5.0 及以后版本

数据转换开发工具

Visual Basic 6.0

首先,Windows 2000 Server 是Microsoft公司推出的新一代网络操作系统,代表了Windows的新技术,是完全支持32位体系结构的开放式的多任务操作系统,提供了强大的网络功能,完全符合网络操作系统的选取原则,是PC级服务器代替小型机服务器的最佳操作系统。其次,Microsoft公司的SQL Server 2000作为面向中小型企业的网络数据库服务系统,提供了与众多高级数据库管理器相同的运行性能。它基本符合管理信息系统对数据库平台的要求,而且能够与Windows 2000 Server 很好地兼容。

再次,ASP是微软公司推出的IIS3.0的一个组件,利用它可以产生和运行动态的、交互的、高性能的Web服务应用程序。其工作原理如图:

图2 ASP的工作原理

从软件的技术层面看:无须编译;易于生成;独立于浏览器;面向对象;存取数据库方便,可使用ADO组件;与任何ActiveX Script语言兼容;源程序码不会外漏;安全性高。Web与数据库技术的结合应用 实现动态网页关键技术之一是Web与数据库的接口技术。系统中用户登录、维护信息、共享教学资源管理、成绩判定、成绩分析、教职工工作量核算、教学考评信息管理等功能本质上都是对数据库的一系列SQL操作。

ASP中使用ADO(ActiveX Data Objects)组件访问后台数据库。ADO工作在服务器端,它是一组优化的访问数据库专用对象集,为ASP提供了完整的站点数据库访问技术方案。通过ADO组件,用户可以在浏览器画面中输入、更新和删除站点数据库信息。在浏览器/服务器(B/S)的三层结构下实现对数据库的访问应满足以下两个基本要求。(1)信息安全。

防止非法用户的访问和防止授权用户对数据非法的操作。数据库的安全性通过用户名和口令字来实现,若在客户端直接输入数据库名、用户名/口令,就将数据库的安全性暴露在大众面前。非法用户一旦得到了数据库名,用户名/口令便可进入数据库,任意修改数据记录,这样将会导致例如考试成绩、考评信息等敏感信息受到威胁。解决的方法是用Web切断客户端和数据库的直接联系。Web用户名记录在服务器端变量中,可以通过检查此变量使用户只能访问与身份相对应的页面。服务器端通过ADO组件访问数据库。不同的DB用户,对数据库有不同的操作权限。Web用户名和DB用户名存在对应关系,通过ASP脚本完成两者之间的转换。采用这种方法,数据库名、数据库用户名/口令被严格限制在Web和数据库之间,根据不同Web用户的权限控制用户对数据库的操作,客户端必须了解Web用户名/口令,才可完成对数据库的相应操作。(2)保证信息的完整、可靠、一致性。在数据库中,数据之间相互是有关联的,必须保证一个事务在一定时间内对所有相关数据进行全部修改,要么不成功,要么一次完成,即保证信息的完整性。在网络传输和通信的过程中随时可能中断,另外,由于所有的浏览器都支持BACK和FORWARD操作,用户在任何时刻可任意回到某一步骤,这都将造成数据的不一致性。解决问题的方法是:将一个事务的完整处理过程安排在一个HTM页面上,要么一次性提交数据库系统处理,要么不提交,另外,Web服务器具有超时判断的能力,在会话结束时检查事务的操作是否全部收到,若未全部收到应主动退回所有事务,防止数据不一致。系统特点分析

1)先进的管理思想,本系统将学生入学到毕业的所有数据统一管理,纳入到本系统当中,改变了以往教务模块分散,不全面的弊端。教务数据集中管理,最大程度地实现了数据的共享,从而避免管理漏洞的产生,同时为学校管理层的决策支持提供详尽的数据。它为促进学校教务管理的科学化、信息化,保障学分制的顺利实行提供了强有力的支持。

2)先进的技术,模块化的软件结构。系统运行于Internet上,采用C/S结构与B/S结构相结合的体系结构既满足教务管理用户集中、大量处理数据的要求,又满足学生最大范围地使用该系统。各子系统即可独立运行,也可联合运行,实现数据共享。

3)系统操作的友好性,本教务系统是标准的Windows程序,全部采用了以图形化的界面来显示和修改数据。其中的每个模块都采用统一的数据记录定位操作和数据编辑操作。学会了对一个模块的数据操作后即可操作系统所有的模块,让教务管理人员真正将精力花在教务管理上,而不是简单和繁重的信息处理上。

4)强大的权限管理功能,提供全面的安全策略,教务管理流程复杂,因而在本系统可为每个进入本系统的用户设置不同的权限。权限控制可细到记录、字段级,例如可控制用户是否可看某些数据显示窗口中的字段列,以及不同系的教务人员只能修改本系的数据。权限最大可设到模块,即是否可对某一模块有操作权限。通过集中的用户权限管理可使不同的教务能以最安全的模式协调工作。配合多种数据备份策略,保障教务数据的安全性。

5)跨越时间、空间限制,学生选课采用WEB平台和数据库结合的技术,实现了网上选课。学生可以在任意时间通过网上进行选课,不受时间、地点的限制。结论

根据我院教务教学管理的种种不足进行了此次系统设计与开发,从现有软硬件资源条件出发,吸收了其他院校的一些经验的基础上有所突破,实现了系统的安全、适用、简单、快捷,切实根据实际要求,吸收和采用了如B/S与C/S混合结构技术、ASP数据上传组件等先进技术,系统已经基本解决了现有的问题,能够方便地协调好教师、学生、教室三者的关系,使资源达到最大化的利用。系统已初步顺利运行,将在以后的实践中不断摸索、完善,强化其功能,优化其性能。参考文献:

黄梯云,李一军.管理信息系统.修订版.北京:高等教育出版社,2000 余伟萍.计算机管理信息系统开发与应用.北京:电子科技大学出版社,1998 Laudon,Kenneth C.Laudon.Jane P.Management Iformation Systems-New Spproaches to Organization & Technology.Fifth Edition.Prentice Hall ,1998 张家钰.观念先行推进教学管理现代化建设[J].中国高等教育,2003,8.李京申,沈鸿.局域网管理(Windows NT平台)职业技能培训教程(管理员级).北京:希望电子出版社,2000 周绪,管丽娜.SQL Server 2000中文版入门与提高.北京:清华大学出版社,2001 杨树勋.高校教务和教学管理[M].化学工业出版社.刁兴春,李赤红.Web和数据库接口的技术研讨.通信工程学院学报,1998,12(2):19~232 刘德山.基于C/S和B/S混合结构的教学管理信息系统[J].辽宁师范大学学报,2002.曹向东.一种网络化教学信息管理系统的开发与实现[J].中国数据通信,2001,3.The design and implement of educational administration and teaching management system based on network

Hei Long jiang Institute of Science and Technology

Miaohui

Gao taiguang

Sun yongbo Abstract :The educational administration and teaching management which based on network is the direction of the teaching management development in the 21st century , Most colleges have known this situation ,and they all did a lot of R&D work, But the effect is not ideally or in fact the management is still stand-alone ,and the information can not be shared with high efficiency.This article designed and carried out the MIS of teaching management based on network with the development mode of B/S structure.And the article also put forward some key questions about the realization of educational administration an teaching management system Keywords: Educational administration and teaching management system

Browser/Server structure

基于J2EE的元数据管理系统的设计与实现 篇10

教务管理系统为满足高校日益繁杂的教务工作,提升信息的流通速度,增 加师生间的沟通和交流,提高各个部门的工作效率而开发的管理信息系统。教务 信息管理系统是融合管理科学、信息科学、系统科学和网络技术为一体的综合性 先进管理手段。该系统是基于B/S(浏览器/服务器)模式的信息管理系统,选用

ASP.NET+SQL Server 2000数据库进行开发。全文设计开发的教务管理系统结

合了面向对象的编程思想,其开发主要包括后台数据库的建立和维护以及前端应 用程序的开发两个方面。通过系统实现,用户可以在网络环境下直接访问操作权 限范围内的各项信息。

在开发系统过程中,严格按照软件工程的开发理念,采用了基于先进的统 一建模语言.IdML的面向对象技术进行系统的分析与设计。UML是一种对面向 对象系统进行可视化、详细描述、构造和文档化的规范建模语言。特别是在统一 建模过程RUP出现后,UML的应用更加广泛。UML可以应用在软件工程的每 个阶段,本文使用Rational Rose 2003对UML中涉及到的视图进行建模。本文详细阐述了基于UML的面向对象的系统分析与设计、数据库设计以及 UML模型向关系数据库的映射方法。在数据库的需求分析中,使用Microsoft Visio进行E.R图的建模。在需求分析中,详细分析了系统所面向的用户对系统 的功能需求,基于此需求,确定参与者及参与者所感受的系统服务或功能单元,经过多次迭代和细化后建立需求模型,制品为用例图。在用例视图基础上,进入 系统分析阶段,识别系统全部的类,建立类图,并对每一个类判定其构造型,建 立系统分析阶段的静态模型。为了描述系统各对象在执行期间不同时间点是如何 动态交互的以及结果如何,建立系统分析阶段的动态模型,包括序列图和协作图。在系统设计阶段,对系统进行分层和刻画子系统,本文所论述的教务管理 系统共分为学生登录模块、教师登录模块、教务管理员登录模块和教材管理员登 录模块。其中教务管理员登录模块中,又分为学生信息管理、师资管理、网上选 课、工作量计算、教学计划管理等几个模块,是整个系统的开发重点。数据库设 计阶段,依据数据库三种模式之间的两种映射关系,将对象模型向数据库模式映 射,建立数据库模型。

本文建立了较为完整的UML模型,对各个开发过程中的分析与建模作了较 充分的阐述,为应用软件提供了清晰的解决方案,因而,本论文对使用UML进 行软件开发的读者具有一定得参考价值和实用价值。

关键词:教务管理系统;统一建模语言;面向对象;ASP.NET

The Des i gn and I mp I ementat i on of Educat i ona I Adm i n i st rat i on System Based on ASP.NET Abstract The educational implementation system is planed for the satisfaction of the increasingly complex educational administration work in tmiversity, for the promotion of the information circulative speed,for the increasing contact and communication between teachers and students,as well as for the improvement of working efficiency amony different branches.The educational administration system is such comprehensively advanced management methods as administrative science,information science,systematic science and network technique,all routed into one.

The system is established by the information administration。which is based on the B/S model,and selects the data base ofASP.NET+SQL.Server2000 to apply.Focus of the thesis is to design the educational administration system,and employs the typical administrative system by the theory of objects·oriented.The development includes two aspects:the establishment and reservation of the backstage data base;the development of front applied programs.By achieving this system,users can directly visit all kinds of information、析m in the authority of operation under the netwok environment.

During the process of development,the thesis bases strictly on the concept of software project,and makes systematic analysis and design,aimed the technology of directed objects on UML.Uniform Modeling Language(UML)is the one to visible,fully describe,build and docnmentalizc for objects-oriented,especially applied in Rational Unified Process.UML Can be used in stage of software engineering project,therefore,the thesis models the views related to UMLby using Rational Rose 2003.

In the practice of systematic design,the thesis fully elaborates the objects-oriented,the plan for the data base and the mapping methods from UML to relational data base. And it also models the E—R diagram with the help of MicrosoR Visio,in the demand analysis of data base.Furthermore,it analyses the functional demands of the users in the system,defines the system services or function units enjoyed by interparticipants,establishes the needed models and detailed division.division.On the basis of the Use Case Diagram,the thesis enters the stage of systematic analysis,distinguishes all the classes诵tll in the system,establishes the Class Diagram,judges the structure of each class,and finally builds the static models in the stage.In order to describe how the objects interact dynamically in different period of time,the thesis continues to establish the static models in systematic analysis stage,including Sequence Diagram and Collaboration Diagram.

It is because of the stratification and carving sub—system that the educational administration system in this sense Can bc divided into students login model,teachers login model,educational administrators login model and teaching material

administrators login model is the focus of administrators login model.The educational development for the whole system,among which can be divided into such models as students information management,teach management,optional courses on line,work load calculation,teaching plan management,and SO on.In the state of designing data base,it shines upon the data base model from object models and establishes them in view of 2 mapping relations among the 3 models in data base.

To skim up,the thesis has established completed UML models,elaborated the analysis and models in the process of exploitation in details,and provided clear solutions to the applied software.Therefore,it is of great help and value to the reads who are intended to develop software by using UML.

Key Words:Educational Administration System;Uniform Modeling Language;0bject-Oriented;ASP.NET

O引言

近年来随着教育普及,高校教育体制改革,各高校扩大招生规模,使得在校 学生人数有了突飞猛进的发展,办学规模逐渐增大,专业设鼍日趋多样化,招生 人数逐年增加,教学计划不断更新,这使得高校教务管理的工作量大幅度增加。并且,随着教育改革的深化,教学管理模式也在发生变化,如学分制的逐步实行、学生可以自主选课等。这就对原有的教学管理模式提出了更高的要求。另一方面,随着计算机网络技术的发展,校园网引进各个高校,为无纸化办公提供了有利条 件。在这样的形势下,开发一个集成化的教务管理系统不仅势在必行,而且成为 一个紧迫的任务。

由于国内各高校的教务管理模式不尽相同,不同学校的实际教务管理情况各 有自己的特点,因而各高校需要针对自己的教务管理模式和特点建立自己的教务 管理系统。教务管理包括对教学资源——如教室、办公用品等的管理,新生注册 和学籍的管理、各学期学生成绩的管理、教学培养方案的执行、教学计划的安排、学生考试的管理、教师评教以及工作量的计算等大量信息。如何高效率的进行管 理,并且有序的存放和处理这些巨大的信息,并使之成为教学管理分析和决策的 手段,为教学活动产生更好的促进作用,是教务管理信息系统主要功能。教务管理系统是以管理信息系统为理论依据的。管理信息系统的发展伴随着 软件工程的发展而日趋成熟。不断增长的复杂性、多样性和相互关联性是当今管 理信息系统的共同特征。而开发一个管理信息系统往往要结合软件工程的理念,使用系统化的方法进行管理信息系统的开发,从而更能有效地控制程序复杂性,减少系统的不合理,减轻维护成本。

从技术层次上,软件工程是从一系列建模任务开始的,由这些任务产生出软 件完整的需求规格说明和软件设计的表示。80年代末期,当面向对象程序设计 语言产生后,人们将面向对象的软件建模方法引入到软件工程的各个阶段。并迅 速发展成为当代软件界研究的热点课题之一。这种开发方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法【11。面 向对象的程序设计立意于创建软件重用代码,它通过在程序中加入扩展语句把函 数“封装“进编程所需要的“对象’’中。从本质上来讲软件开发就是对软件所要 处理的问题集进行正确的认识,并把这种认识正确地描述出来。面向对象的软件 开发就是直接面对问题集当中客观存在的事物来进行软件开发。

面向对象的开发方法的精髓是从不稳定的需求中分析出稳定的对象,以对象 为基础来组织需求、构架系统【2】。这种开发方法包括面向对象分析和面向对象设

计。

面向对象分析的目的是认知客观世界的系统并对系统进行建模,那么就需要 在面向对象分析过程中根据客观世界的具体实例在问题中准确、具体、严密的分 析模型。如图O.1所示为面向对象的分析过程。

图O一1面向对象的分析过程

面向对象的设计是把分析阶段得到的需求转变成符合成本和质量要求的,抽 象的系统实现方案的过程。设计的准则包括模块化、抽象、信息隐藏、低耦合和 高内聚等特征【11。

公认的面向对象建模语言出现于20世纪70年代中期,从1989~1994年,其 数量从不到十种增加到了五十多种。建模语言中用的最广的是Booch的Booch 93、Jacobson的面向对象软件工程(OOSE)和Rumbaugh的对象建模技术(OMT-2)。面向对象建模方法出现以来,各种面向对象的分析与设计方法的主 导思想以及所采用的主要概念与原则大体上是一致的,但是也存在不少的差异。统一建模语言UMLCOnified Modeling Language)lE是为结束这种差异的局面应运

而生的。

1994年10月,Grady Booch和Jim Rumbaugh开始致力于这一工作。他们首

先将Booch 93方法和OMT-2方法统一起来,并于1995年10月发布第一个公开

版本UML0.8。1995年秋,OOSE创始人Ivar Jacobson也加入了。三人共同致力 于设计统一建模语言,他们同面向对象方法学的创始人共同合作,为这项工作注 入了强大的动力,打破了面向对象软件开发领域内原有的平衡。目前UML得到 了诸多大公司的支持,如IBM、HP、Oracle、Microsoft等,已成为面向对象技 术领域内占主导地位的规范化建模语言,并且已被OMG组织采纳的建模语言规 范。Booch、Rumbaugh和Jacobson在一些文献中经常被称作“三个好朋友”(three amigos)【3】。UML的发展过程如图0.2所示。本文所论述的系统在需求分析、系 统分析与设计阶段,都采用UML进行建模。

图0-2 UML的主要发展历程

被OMG采纳的UML只是一种建模语言,并不包含对软件开发过程的指导。在讨论UML时,人们往往谈论到统一过程(Rational Unified Process,RUP)。RUP是一个最佳软件开发实践,根据字面理解,可以知道RUP包括3方面的意

思,即Rational、Unified和Process。Rational表示RUP是由Rational公司开发

并维护的;Unified表示RUP采用了现代软件工程开发的6项最佳实践:Process 表示RUP是一种软件开发过程14】。Rational统一过程的动态结构是通过对迭代式软件开发过程的周期、阶段、迭代过程以及里程碑等的描述来进行表示的。

本文基于UML建模方法对我校教务管理系统做了较深入的分析,并基于物 理模型进行了系统的设计与实现。对于建模的工具的选择,本文选择Rational Rose,它提供了UML的所有建模元素的可视化编辑环境,并提供了基于组件的 开发以及对软件开发全过程的支持。除了支持UML的类图、交互图、组件图和

配置图外,Rational Rose是一个独立的工具,通过应用程序接口(API)层与市

场主导的各种IDE结合来支持各种编程语言和其他实现技术【51,从而全面支持面

向对象分析、设计和编码。Rational Rose支持软件系统的面向对象的开发,它通

过用例图、逻辑类图、序列图等支持面向对象的分析和设计,在不同的视图中建 立相应UML图形来反映系统的不同特征。

在开发工具的选择上,本文采用了新的ASP.NET技术,结合.NET框架所支 持的VB语言来实现教务系统的各项功能。ASENET不仅仅是下一版本的Active Server Page(ASP),它还是统一的Web开发平台,方便开发人员开发企业级W曲

应用程序。它是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语 言创建应用程序。另外,任何ASENET应用程序都可以使用整个.NET框架,并 且可以无缝地与HTML编辑器及其他编程工具一起工作。这使Web开发变得更

加方便。

数据库的开发工具上,选用SQL Server 2000开发环境。SQL Server2000是能 够支持企业级关系型数据库的管理系统,它能与Windows操作系统紧密集成,具有方便易用的图形管理界面,其用户界面风格与Windows一样非常友好。SQL Server2000在存储大容量数据方面,在数据的安全性和完整性方面,在分布式处 理等都是适合于企业级应用的。而其相对Oracle,DB/2等大型数据库来说,学习更为容易,应用成本也相对较低。采用SQL Server2000+ASP.Net开发本系统 是一个较为理想的组合。

综上所述,开发这样一个系统不但可以降低工作量、提高办公效率,而且使 目前分散的教务信息得到集中管理。这对减轻教务工作负担、提高教务管理水平、实现教务管理的现代化具有重要意义。论文分为引言、正文和结束语三部分。

引言部分简要地论述了当前高校管理信息化的必要性、高校教务管理系统开 发的重要意义以及高校教务管理系统开发所使用的技术。正文部分共分4章,其内容安排如下:

第一章:需求分析与建模。本章对教务管理系统进行需求分析,逐步对系统 分析细化,找出参与者和用例等,作出Use Case图。在用例图的基础上,从现 实或原型方面来透视的系统,进一步作出系统的静态模型。还有表示对象类之间 的通信及对话的动态模型。

第二章:系统概要设计。阐述了系统体系结构,和为什么选择采用B/S模式。介绍了系统实现基于的三层架构,即数据访问层、业务外观层和页面层。最后对 系统的层次和模块进行细化。

第三章:系统详细设计。对数据进行全面分析,得到E.R图,建立数据库表,完成存储过程的设计。举例介绍了系统中类的设计,以及几个代表性的功能模块 的设计思想。

第四章:系统实现。本文所论述的系统是用ASP.NET+SQL Server开发的。在这一章中主要是对笔者负责的部分,进行阐述。并以UML建模为基础,实现

系统功能。

结束语对本文工作进行简明扼要的总结,并指出本文存在的不足和改进方向,以及对未来的展望。

本文的创新性在于结合我校教务工作的实际问题,有针对性的对教务工作的 各个环节进行UML建模,从对象模型到动态模型再到系统功能的建模,让系统 分析更全面,系统实现更完善。系统实现采用三层架构,即数据访问层、业务外 观层和页面层。在业务外观层扩展出业务规则层,数据层扩展为数据存取层和存 储过程层,使业务逻辑与用户界面分开,增加程序的可扩展性和可维护性。

1需求分析与建模

需求分析是软件开发过程的重要环节,是软件开发的基础,通过与用户的反 复沟通,勾勒出系统的框架,需求分析的好坏决定了软件设计的成败,好的需 求分析也能减少资金的浪费。

1.1功能需求

教务管理系统系统主要是为完成日常教学任务而开发的,其主要目标是对学 生个人信息、师资信息、教学资源信息、课程信息、学生成绩信息等进行管理 及维护,减轻教学工作的压力,提高教学管理工作的效率。

通过对学校教学管理的业务调查,得知教务管理人员可通过此系统实现对学 生和教学资源的管理与维护,学生可以通过此系统进行个人信息、考试成绩查 询以及完成选课等相关功能,教师可以通过此系统完成个人信息管理、学生成 绩输入、教学任务查询等等功能。系统的总体任务是实现整个教学信息管理的 系统化、规范化和自动化。

在日常教学工作中,教务处有整体规划和辅助教学的任务,各个院系上报的 教学任务和教学计划都要上报给教务处,由教务处根据上报的材料分配教学资 源,如教室等,并且安排教师上课时间和上课的周次,然后再将教师上报的教 材征订单传达给教材科,由教材科根据开课学生人数订教材。教务处还要将一 切安排妥当的事宜公布在网络上,以供教师和学生查询。

因此,该系统主要的使用对象是教务管理人员、学生、教师和系统维护人员。这些使用者对教务管理系统的功能要求是不同的。(1)教务管理人员对功能的需求 ·学籍管理

功能包括:学生注册、学生基本信息管理(包括添加、删除和更新学生信息,可按姓名或学号查询学生信息)、学籍变动管理、毕业管理等。·师资管理

6功能包括:各专业课教师个人基本信息管理、教学任务发布、教学工作量管

理、考评考核管理、科研管理等。

●选课管理

功能包括:教务管理人员依据教学计划和培养计划,设置选课课程并统计生 成己选课学生名单等。

●教学计划管理

功能主要包括:根据培养计划和各个专业上报的教学计划,添加各专业教学 计划,包括教学计划的修改删除等操作。

●成绩管理

功能包括:每门课程结束后,由教师进行成绩登记,然后教务管理人员对登 记的信息进行管理,如教师登录成绩后发现成绩有错误,只能由教务管理人员 核实后进行修改。还有根据成绩就算出学生的学分,以便学籍管理的需要。

●课程管理

功能主要有:安排各个专业所开设课程的上课时间和上课教室。(2)教材管理人员功能需求

功能包括:教材的基本信息的管理(按书名或作者等查询各专业教材、添加 修改删除教材信息等)、统计教材数量、教材费用、教材的入库和出库管理等。

(3)学生对功能的需求

学生有两类,分别是本科生和研究生。每一类学生对于功能的要求还是有区 别的,如研究生有科研和论文的内容。在本文中,只分析了本科生的功能需求。·个人信息管理

功能包括:浏览个人基本信息,具体内容包括姓名、性别、学号、民族、出 生日期、籍贯、所在专业班级等,这些信息是以学籍管理表中的信息为准,所 以不允许学生自行更改,只能进行查询。还包括个人课表查询,成绩查询等。·更改系统登录信息

功能包括:学生登录系统后,修改登录信息,为了保证系统的安全性,只要 求学生修改个人密码。

● 网上选课

功能包括:网上查看可选课程,添加、删除所选课程等功能。

7(4)教师对功能的需求

●个人基本信息的维护

功能包括:教师基本信息的添加和修改等,如出生日期、毕业学校、学历和 学位等信息,但是职工编号和姓名是不允许教师在系统中进行修改的。·教学信息查询

功能包括:教学任务查询、教学自然班名单下载打印、教学质量评价查询和 工作量计算结果的查看等。●学生成绩录入

功能主要包括:本学期学生考试成绩的录入,一旦用录入密码录入成绩成功 后,就不能任意修改学生成绩,必须由教务处管理人员修改。(5)系统管理员的需求

系统管理员主要是对教务管理系统进行维护和更新,并保证系统的安全性,以及数据库的安全性。

从以上可以看出,各种人员对于系统的需求是不同的,对于学生来说,教务 人员的操作是不能使用的,也是不可见的,所以要在用户登录系统时,就做出 判断该用户可以使用哪些功能,这就需要设置不同的登录权限。系统管理人员 具有最高的权限,可以添加、删除用户,并可设置和修改不同的用户权限。因 此在数据库设计中,要有权限的定义。

权限的定义其实是系统安全性的一种需求,采用身份认证机制对一般用户进 行管理,以教工号和学生学号来判断登录者的权限,并且以这两种身份来判断 登录者是否该校的校内人士,如果是校外人士,则具有浏览这样的最低权限。系统的安全性需求还有另外一方面内容——数据安全性,对于数据库服务器,要避免系统崩溃等意外事件发生而导致数据全部丢失,常用的方法是采用 RAIDS磁盘阵列,其次是对数据库系统提供完全、增量等多种备份方式,如把 数据定期刻成光盘保存。对于数据安全性,本文不做详细的阐述。

根据以上对系统的功能的分析,我们可以大体总结出系统的一个大概框架和 系统应该分为哪些子系统。根据所完成的功能和用户角色的不同,我们将系统 分为教师子系统(完成教师登录后的功能)、学生子系统(完成学生登录后的功 能)、教务管理子系统(完成繁杂的教务工作的功能)和教材管理子系统(完成 教材有关的功能)四个子系统。在这四个子系统中又可以划分出多个小模块,例如,教务管理子系统是一个非常大的子系统,我们将它再次细化,可以分成 学生学籍管理模块、网上选课模块、教学计划管理模块、课程管理模块等。用 一个系统结构框图来表示,如图1.1所示。

图1.1教务管理系统总体框图

1.2用例图

图1.1教务管理系统总体框图

需求获取阶段的主要工作是建立待开发系统的模型。本文中采用统一建模语 言对系统的需求进行建模,UML的用例和用例模型是建立这种需求模型的合适 方法。

系统需求建模是为描述系统需求而建立的相应模型,其重要性在于:通过系 统模型可评估系统构件及其相互关系,确定需求如何适应其布局,以及评估系 统的“美学’’等方面【31。

在计算机图形学中,有一句名言,叫做“一幅图顶得上一千个字’’。同样的 道理,在软件开发过程中,模型的重要性也十分明显,它可以达到以下目的: >使用模型可以加强人员之间的沟通

>使用模型可以更早的发现错误或疏漏的地方

>模型为最后的代码生成提供依据 >使用模型可以更好的理解问题 >使用模型可以获取设计结果

面向对象的软件建模方法主要从面向对象程序设计领域演变发展而来,它是 对象问题域进行完整的映射的过程。“对象“的主要特征包括如下内容:

(1)它包括了事物的数据特征和行为特征,对象是系统中用来描述客观事物 的一个实体,具有它自己的静态特征和动态行为,是构成系统的一个基本单位。(2)它通过封装、继承、消息通信等原则使问题域的复杂性得到控制。(3)它用聚合和链接如实反映问题域中事物间的关系,“任何两个对象之间 的关系都包含其中一个对另一个的假设”。

正是拥有上述特征,从而使面向对象建模方法能够完整和直接的映射出问题 域,所以其在模拟现实世界方面具有天然的优势。

UML是用图来进行“说话”的,图是UML的关键。用UML开发的图在软 件开发生命周期(SDLC)的每个阶段中起着关键的文档作用。此外,你可用 UML来开发基于任何SDLC模型的软件系统【6】。1.2.1用例图概述

用例视图指出系统提供给每个利益相关者的功能。由于UML中的各个构件 和概念之间没有明显的划分界限,为方便起见,选用视图来划分这些概念和构 件。视图只是表达系统某一方面特征的UML建模构件的子集。用例视图是视 图中的一种。用例视图约束其他视图,在建模过程中居于非常重要的位置。项 目开始时,项目小组就可以在用例视图中生成业务模型。开发者既可以把用例 视图用于构建一个新系统的功能视图,还可以把已有的用例视图修改或扩充后,产生新的版本,也就是在现有的视图上加入新功能(即在视图中加入新的执行

者和用例)。

用例图是把满足用户需求的基本功能聚集起来的强有力的工具。对于正在构 造的新系统,用例描述系统应该做什么;对于已经构建完毕的系统,用例则反 映了系统能够完成什么样的功能【71。用例图包括用来描述最终用户、分析人员 和测试人员的角度所看到的系统行为的用例。

用例图的基本组成部件是用例、执行者和系统。用例用于描述系统的功能,也就是从外部用户的角度观察系统应支持哪些功能,帮助分析人员理解系统的

行为,即站在系统外部看系统功甜引。在用例模型中系统仿佛是实现各种用例 的黑盒子。我们只关心该系统实现了哪些功能,并不关心内部的具体实现细节。用例模型主要用于工程开发的初期,在进行系统需求分析时使用。用例模型由用例图构成。用例图中显示执行者、用例和用例之间的关系。1.2.2建立用例图

建立Use Case图可以按下列步骤进行:(1)确定系统范围和边界

所谓系统的边界是指系统与系统之间的界限。系统同时又是相对的,在这里,我们只说明第一次迭代的系统边界。教务管理系统以教学计划的实施为线索,对教务管理实行一体化操作,涉及学籍管理、教学计划管理、课程管理、选课 管理、成绩管理、教师管理、教材管理等。这些内容都属于教务管理系统的职 责范围。而学校的其他管理工作,如人事、财务、资产等管理不属于该系统的 职责范围。虽然有系统边界的存在,但是使用Rational Rose画图并不画出系统

边界。

(2)确定主要参与者

参与者(Actor)是指存在于系统外部并直接与系统进行交互的人、系统、子系 统或类的外部实体的抽象。参与者有自己的目标,通过与系统的交互达到目标。参与者包括人参与者(Human Actor)和外部系统参与者(System Actor)。在与系统 打交道的人员中,凡是直接使用系统的人员可以确认为人参与者;凡是与系统 相联,并与系统交互的外部系统,可以确认为系统参与者。

一个参与者可以参与一个或多个Use Case,而一个Use Case可以有一个或 多个参与者运行。在本系统中确定教务管理员、教材管理员、学生、教师和系 统管理员为活动者。(3)确定用例

用例(Use Case)是参与者可以感受到的系统服务或功能单元。它定义了系

统是如何被参与者使用的,描述了参与者为了使用系统所提供的某一完整功能 而与系统之间发生的一段对话。每一个用例都是一个参与者与系统交互中执行 的有关事务的序列【9】。虽然用例描述了活动者与系统交互中的对话,但是,它 只描述了该做些什么,并不描述该如何做。全部的用例构成了对于系统外部是

可见的行为的描述。应当根据系统需求找出全部的用例,并从参与者的角度给 出事件流和用例执行时系统可以提供给参与者的服务。

在教务管理系统中,我们可以确定以下一些主要用例:学生管理(学生基本 信息的维护)、师资管理、课程管理、教学计划管理、选课管理、成绩管理、教 材管理(教材信息查询,教材的入库和出库等),系统维护等。本文只列出几个主要的用例图加以介绍。①系统管理用例 >创建新账号 >设置账号基本信息 >查看账号

>删除账号 >系统维护和更新

建立用例图,如图1.2所示,图1.2系统管理员用例图

②教务管理用例

由于教务管理的事务繁琐复杂,因此功能的划分就很细致,用例数目就比较 多。我们先列出顶层用例,然后再将粒度大的用例进行分析。>登录系统 >学生学籍管理 >教学计划管理 >选课管理 >课程管理 >师资管理 >成绩管理

建立教务管理顶层用例图,如图1.3所示。然后将粒度大的用例进行进一步 分析,例如,师资管理工作,可以包括教师信息管理、评教情况、工作量计算、科研情况等。每一项工作都可以作为功能的细化,而看作是一个用例。因此,以师资管理为例,将教务管理顶层用例进一步细化,如图1.4所示。将顶层的用例模型进一步细化,划分为粒度小的用例,以便深入分析系统的 要求和目标,这一过程也是迭代过程【101。对顶层用例图逐步分解,精细化,直 到能清晰的表达问题,满足系统分析与建立模型的需要。又如,图1.5所示为 细化后的网上选课用例。

图1-3教务管理顶层用例图

图l-4师资管理三次迭代后的用例图

图1.5选课管理用例图

③学生用例 >登录系统 >个人信息管理 >成绩查询 >网上选课

建立学生用例图,如图1-6所示。

图1.6学生用例图 ④教师用例 >登录系统 >个人信息管理 >登录成绩 >教学任务查询 >教学班名单打印 >教材查询

建立教师用例图,如图1.7所示。

图1.7教师用例图

⑤教材管理用例

>登录系统

>教材信息管理 >入库

> 出库

建立教材管理用例图,如图1.8所示。

图1.8教材管理用例图

161.3静态结构模型

系统的静态结构模型主要由类图和对象图表达。类图从抽象的角度描述系统 的静态结构,而对象是类的实例化表示,对象图是系统静态结构的一个快照⋯l。对象图和类图类似,也是表达系统的静态开发视图,但它是从现实或原型方面 来透视的,说明在类图中所发现的事物实例的数据结构和静态快照。当要在动 态建模的交互图中表示动态场景的一个静态画面时,可以使用对象图来重现系 统中存在的实例以及它们之间的相互关系。类图展示了一组类、接口和协作及 它们间的关系,建模中所建立的最常见的图就是类图。类图中包含了三方面的信息:

(1)对象类:对象类简称类,是面向对象模型最基本的模型元素,类有属性、操作、约束以及其他成分等。“属性”描述类性质的实例所能具有的值;“操作” 实现类的服务功能,它可以被本类的对象请求执行,从而发生某种行为。(2)用户接口:用户和系统交互的界面,它也可以用类表示。

(3)联系:表示类之间的关系,这种关系可以有多种,关联、依赖、泛化、聚合都是非常重要的联系。

在建立静态模型时,首先要对类进行识别,类的识别通常是由系统分析员在 分析问题域的基础上来完成的,它是面向对象开发中一项困难较大的活动【12】。对类的识别,通常的方法是从用例中来识别。用例图实际上就是一种对系统描 述的形式,因此,可以根据用例图来识别类。

所有被识别的类只包括三种构造型中的一种:边界类(Boundary Class)、实 体类(Entity Class)和控制类(Control Class)。使用类的构造型可以方便的对 类进行分类。按照类的识别顺序,首先识别出系统的实体类,然后进一步识别 出边界类和控制类。

实体类(Entity Class):实体类的信息和行为通常存在较长的时间,实体类 是现实问题的抽象,这种类型的类通常对应现实世界中的实体,或者需要执行 系统的内部事务f13】。例如学生、教师、教材等。而且每个实体类在数据库中都 有相应的表,实体类的属性对应数据库表中的字段。表1.1列出了教务管理系 统中一些重要的实体类。

边界类(Boundary Class):负责系统与系统外部环境的通信。位于系统与外 界的交界处,工作在系统和角色之间【81。因此,通常又被称为“接口类”。包括 所有窗体、报表、打印机和扫描仪等硬件接口以及与其他系统的接口。在教务 系统中的边界类有,用户登录界面、学生基本信息管理界面、教师基本信息管 理界面、教学工作量信息管理界面、科研情况管理界面、学生成绩管理界面、教学计划管理界面、选课界面等等。

控制类(Control Class):负责协调其他类的工作,通常其本身并不完成任何 功能,其他类也不向其发送很多消息,而是由控制类以委托责任的形式向其他 类发出消息。将教务管理系统中的业务逻辑抽象为以下的一些控制类,如表112 所示。

表1-2教务管理系统中的控制类

对类进行分析完毕接下来,就可以建立初步分析模型。例如,教材管理中,类的初步模型如图1-9所示。

图卜9教材管理用例类的初步建模

课程管理中,类的初步模型如图1.10所示。

教材

图1.10教材管理用例类的初步建模

选课记录

根据初步建模图,确定各个类的属性和方法后,再次建模,如图1.11所示

图1_11确定了属性和方法的类建模

根据己定义的类及其联系,以及对象类的多重性、角色、导航等性质,可以 画出对象类图。如图1.12是教务管理系统的主要类及其关系。图1.12教务管理系统主要的类及其关系图

所有系统均可表示为两个方面:静态结构和动态行为。类图最适合于描述系 统的静态结构:类、对象以及它们之间的关系,而状态、时序、协作和活动图 则适合于描述系统的动态行为,即描述系统中的对象在执行期间中不同时间点 是如何动态交互的。

系统中的对象需要相互通信,通常情况下,~个消息就是一个对象激活另一 个对象中的操作调用【141。对象是如何进行通信以及通信的结果如何,则是系统 的动态行为,也就是说,对象通过通信进行协作及对象在系统的生命期中改变 状态的方式是系统的动态行为。一组对象为了实现一些功能而进行通信称之为 交互。交互图(Interaction Diagram)是用来描述对象之间以及对象与参与者之 间的动态协作关系以及协作过程中行为次序的图形文档,它包括序列图

(Sequence Diagram)和协作图(Collaboration Diagram)两种形式。序列图着

2l重描述对象按照时间顺序的消息交换,协作图着重描述系统成分如何协同工作。

序列图和协作图从不同的角度表达了系统中的交互和系统的行为,它们之间可 以相互转化。(1)序列图的建立

序列图(Sequence Diagram)是由对象、生命线、激活和消息等构成。序列 图的目的就是按照交互发生的一系列顺序显示对象之间的交互【31。下面列出学生选课的序列图,如图1.13所示。教学计划管理的序列图,如 图1.14所示。

图1.13学生选课基本事件序列图

基于ASENET的教务管理系统的设计与实现 图1.14教学计划管理基本事件序列图

图1.15学籍管理模块添加成绩序列图

序列图作为一种描述在给定语境中消息是如何在对象间传递的图形化方式,在使用其进行建模时,可以将其用途分为以下3个方面。

·确认和丰富一个使用语境的逻辑表达:一个系统的使用环境就是系统潜

在的使用方式的描述,也就是它的名称所要描述的。一个使用环境的逻 辑可能是一个用例的一部分或是一条控制流。

● 细化用例的表达:序列图的主要用途之一就是把用例表达的需求转化为

进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的

序列图。

●有效的描述如何分配各个类的职责以及各类具有相应职责的原因:可以

根据对象之间的交互关系来定义类的职责,各个类之间的交互关系构成 一个特定的用例。例如,“用户对象向地址对象请求其街道名称“指出 用户对象应该具有“知道其街道名’’这个职责。

(2)协作图的建立

协作图(Collaboration Diagram)是由对象、消息和链等构成【15J。协作图通 过各个对象之间的组织交互关系以及对象彼此之间的链接,表达对象之间的交 互。

与序列图不同的是,在协作图中明确表示了角色之间的关系,通过协作角色

来限定协作中的对象或链。另一方面,协作图不将时间作为单独的维来表示,所以必须使用顺序号来判断消息的顺序以及并行线程【2】。序列图和协作图表达 的是类似的信息,虽然它们使用不同的方法表示,但可以通过适当的方式将它

们进行转换。

将图1.13和1.14中的序列图转换为协作图,分别见图1.15和图1.16。

1.15学生选课协作图

协作图作为一种在给定语境中描述协作中各个对象之间的组织交互关系的 空间组织结构的图形化方式,在使用其进行建模时,可以将其作用分为以下三 个方面:

·通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达: 一个使用情景的逻辑可能是一个用例的一部分或是一条控制流。这和序 列图的作用类似。

●显示对象及其交互关系的空间组织结构:协作图显示了在交互过程中各 个对象之间的组织交互关系以及对象彼此之间的链接。与序列图不同,协作图现实的是对象之间的关系,并不侧重于交互的顺序,它没有将时 间作为一个单独的维度,而是使用序列号来确定消息及并发线程的顺 序。

·表现一个类操作的实现:协作图可以说明类操作中使用到的参数、局部 变量以及返回值等。当使用协作图表现一个系统行为时,消息编号对应 了程序中嵌套调用的结构和信号传递过程。

2系统概要设计

经过需求分析后,对于系统是“做什么”已经清楚了,这一章的内容主要讨 论系统“怎样做“116]。总体设计的基本目的就是回答“概括地说,系统应该如 何实现?”这个问题。设计工作集中在细化阶段结束、构造阶段之时开始。它 将产生合理、健壮而稳定的构架,创建实现模型的蓝图‘171。

2.1系统体系结构

教务管理系统是由Web后台进行统一管理,所有业务逻辑都集中在Web应 用程序中管理和制定,具有数据的添加、搜索和查询统计等功能,客户端的分 布广泛,数据集中处理,因此在设计时充分考虑各种体系结构的优缺点,B/S 结构对异种机、异种应用的连机、连网及统--N务具有很好的作用,因此选择 B/S结构进行开发实现。

B/S模式是三层结构体系,对比过去C/S结构,B/S在客户机和服务器之间 增加了一个Web服务器。当客户端发出请求时,由Web服务器向数据库服务器 取出数据并计算,然后将计算结果返回给客户端,用户通过安装在客户端的浏 览器浏览计算结果。在B/S模式下,客户端只需装上浏览器以及相应的操作系 统、网络协议软件即可,而所有应用软件的开发、维护、升级等工作由服务器 承担【18】。B/S模式是三层结构体系如图2.1所示。

图2-1 B/S的三层结构体系

教务系统的软件开发在B/S体系结构基础上,程序设计过程采用三层架构,即数据层,业务外观层和页面表示层(应用层)。将UML建模使用到体系结构 的设计中来,也是本论文的一大创新点。

页面表示层表示软件界面,包括大量控件,并以事件为触发机制,在事件响 应程序中调用业务外观层中的接口完成相关操作。图2.2表示了页面表示层与

其它层的交互。

图2—2页面表示层交互图

业务外观层将用户界面和业务功能的具体实现分割开,对业务规划层和数据 访问层的所有调用必须通过此层进行。一般将业务外观层扩展出业务规则层,业务外观层就位于Web层与业务规划层之间,主要完成与Web层交互以及在对 “业务规则“层的调用之间维护临时状态【191。图2.3表示了业务外观层与其它 层的交互。

图2-3业务外观层交互图

数据层为业务外观层和业务规则层提供数据服务,并解决数据存取的问题。

对数据库的操作全部封装到对数据库服务器端的存储过程层调用中【191。图2.4 表示了数据层与其它层的交互。

图2—4数据层交互图

2.2系统模块划分 图2—4数据层交互图

在第一章的需求分析中,初步将本系统划分为4个子系统,每一个子系统面 向不同的用户。接下来在概要设计中,要将这四个子系统进一步细化,细化成

低耦合、高内聚的模块。

系统的总体框图在需求分析中已经列出,具体查看第一章的图1.1。根据总 体框图继续将框图中的每一个模块进一步细化。细化的结果按照模块独立性原

理来进行验证。

模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果【16】。模 块的独立程度可以由两个方面度量,分别为内聚和耦合。耦合强弱决定模块间 接口的复杂程度,接口越简洁,临界值的测试也越容易,不但是程序不容易出 错,后期维护成本也会降低。内聚是衡量一个模块内部各个成员彼此结合的紧 密程度,理想内聚的模块只完成一件任务。

按照软件工程中的这一理论,将教务管理系统进行细化。(1)学生子系统

学生子系统是学生身份登录后所使用的功能,按照功能的不同,将学生子系 统进一步细化,如图2.5所示。

图2.5学生子系统细化后结构图

(2)教师子系统

教师子系统面向的是普通教师,根据需求分析得到的结果,将教师子系统进 行多次细化后得到如图2-6的模块结构。(3)教材管理子系统

教材管理实质是教务管理的一部分,但是由于其管理对象与教务管理的工作 对象有很大差异,属于一种教学资源的管理,因此将教材管理从教务管理中划 分出来作为一个单独的子系统。其用户为教材科管理员,登录后不进入教务管 理界面,而进入教材管理界面。按功能细化后的模块结构如图2.7所示。

图2-6教师子系统细化后结构图

图2-7教材管理子系统细化后结构图

(4)教务管理子系统

教务管理子系统是所有子系统中功能最复杂的一个子系统,涉及了整个日常 教务和教学工作。将该系统第一步细化,按功能分成学生学籍管理、师资管理、选课管理、教学计划管理、成绩管理和课程管理六个大的模块,如图2.8所示。

图2-8对教务管理子系统二次细化

二次细化后的模块并不是最优模块,每一个模块都完成若干项工作,因此还 要再次细化。下面依次列出多次精细化后的模块结构图。① 生学籍管理

图2-9学生学籍管理结构图

②师资管理

图2.10师资管理结构图

③教学计划管理 图2-ll教学计划管理结构图

④学生选课管理

图2-12教学计划管理结构图

⑤学生成绩管理 生成绩管理结构图

⑥课程管理

2-13学

图2.14课程管理结构图

综合以上结构图,可以发现,在每个子系统中都包含了数据的一些基本操作,如添加记录、删除记录、修改记录和数据统计等,还有报表的制作、打印等常 见的功能。根据面向对象思想,可以将这些程序代码进行封装,增加代码的重

用。

3系统详细设计

详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统【16】。这一 阶段应该得出对系统的精确描述。

3.1数据库设计

数据位于信息集成系统的中心,是信息系统的灵魂,因此,数据库设计直接 影响着数据库系统的性能以及整个教务管理系统的功能。所以数据结构应该是 稳定的,变化的只是处理过程。本系统在侧重信息需求的同时兼顾处理需要,这个设计按照关系模型和第三范式理论,直接面向数据设计。数据库设计有如下三个基本阶段:

>需求信息的收集一一与客户、最终用户以及公司中定义数据库需求的管 理者进行调研的过程。收集的信息主要有,业务如何处理、业务规则、当前所使用的数据库信息等。

>数据建模一一通过可视化的方式分析业务数据,并最终将业务模型转换 为数据模型的过程。所产生的数据模型用来创建表、视图和数据库所需 的其他对象。

>数据库设计和规范化一一业务模型转换为物理模型的过程。并减少冗余 数据。

ANSI/SPARC模式规定,数据库可分为三层:内模式、中间模式和外模式【201,简单的说,数据库模式是指数据库中一组相关对象。在模式结构中,对象之间 并不是互相独立的,它们之间存在相互关联的关系。它统一地考虑了所有用户 的需求,并把这些需求所涉及的记录、记录间的联系有机地结合为一个整体,描述概念模式的常用方法是E.R图(Entity.Relationship approach,实体-联系方 法)【19lo 外模式也叫应用软件接口,是数据库的外层,是与用户进行互动的一层。子 模式是模式的子集。外模式允许在用户应用软件和数据模型之间创建关系。

35内模式也叫物理模型,具体描述了数据如何组织并存入外部存储器上,处理

数据库的物理存储和数据访问。内模式一般由系统程序员根据计算机系统的软 硬件配置决定数据存储方式,并编制程序实现存取。

中间模式也叫逻辑模型,是数据库的基本模型,它主要处理用来定义数据库 结构的一些数据结构,例如,表和约束条件。

数据库三个模式之间存在两种映射,一是模式与子模式之间的映射,这种映 射把概念数据库与用户数据库联系起来,另一种映射是模式与内模式之间的映 射,这种映射把概念数据库与物理数据库联系起来【211。有了这两种映射,才把 用户对数据库的逻辑操作转换为对数据库的物理操作。3.1.1数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据 库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据 处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。仔细分析本系统的有关信息,设计如下面所示的主要数据项和数据结构:

●学生基本信息

包括的数据项有:学号、姓名、性别、出生年月、籍贯、政治面貌、学院编 号、专业编号、班级编号、家庭住址、联系方法、照片、备注等。·学院信息

包括的数据项有:学院编号、学院名称、专业编号、专业名称、各专业班级 编号、班级名称、班级人数等。·教师信息

包括的数据项有:员工编号、姓名、性别、出生年月、籍贯、政治面貌、职 称、学院编号、职务等。·课程信息

包括的数据项有:课程编号、课程名称、课程类型编号、理论学时、实验学

时等。

·教学计划

包括的数据项有:学院编号、专业编号、班级编号、课程编号、开设时间等。●教材信息

包括的数据项有:教材ISBN编号、教材名、作者、出版社、版次、库存量

等。

·评教信息

包括的数据项有:员工编号、评教时间、评教成绩等。·工作量信息

包括的数据项有:员工编号、计算学年、课程编号、理论学时、实验学时、总工作量等。·科研信息

包括的数据项有:项目编号、项目名称、项目负责人、项目完成时间、项目 内容、获奖情况等。·选课信息

包括的数据项有:课程编号、教师姓名、最大人数、已选学生数等。●成绩信息

包括的数据项有:学生学号、课程编号、成绩、是否重修等。·系统用户信息

包括的数据项有:用户ID、用户权限、用户密码。根据以上的数据结构和数据项,进行下面的数据库设计。

3.1.2 E.R图设计

E.R方法是一种用来在数据库设计过程中表示数据库系统结构的方法,又被 称为实体.联系模型。它的主导思想是使用实体(Entity)、实体属性(Attribution)以及实体之间的联系(Relationship)来表示数据库系统的结构。

实体有描述其特征的属性,一个或多个属性表征一个实体。在E.R图中,实 体用长方形表示,属性用椭圆表示。

联系是指实体之间的关联,E.R模型清楚地定义了联系,每个联系都有名字。联系的元是参加联系的实体的数目,大多数联系是二元的,有三种类型:一对 一联系、一对多联系和多对多联系。联系用菱形表示。

对关系数据库而言,就是要将E.R模型转换为关系模型,并对其进行优化。将E.R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系 转化为关系模型,这种转换一般遵循如下原则:

(1)一个实体型转换为一个关系模型。实体的属性就是关系的属性,实体的 码就是关系的码;

(2)一个一对一联系可以转换为一个独立的关系模型,也可以与任意一端对 应的关系模型合并;

(3)一个一对多联系可以转换为一个独立的关系模型,也可以与多端对应的 关系模型合并;

(4)一个多对多联系转换为一个关系模型;

(5)--个或三个以上实体间的一个多元联系转换为一个关系模型;

(6)同一实体集的实体间的联系,可以按照一对一、一对多、多对多三种情 况分别处理;

(7)具有相同码的关系模型可合并。3.1.3系统的E.R模型

教务管理系统中对于学生信息管理、选课管理以及成绩管理的相关功能在第 一章的需求分析和建模中也做了详细说明。这几个子系统中所涉及到的角色主 要是教务管理人员、教师和学生。实体主要有学生、教师、课表、成绩、教学 计划5个,具体的E.R模型如下列各图所示。图3.1教务系统E.R图图3-2学生选课成绩管理E-R图

图3.3学生选课E.R图

3.1.4数据库表建立

图3.3学生选课E.R图

教务管理系统数据库表数量很多,在这里仅列出具有代表性的几个重要模块 中的数据库表。

表3.1用户登录信息表

表3-2学生基本信息表

表3.3课程信息表

表3.4成绩信息表表3.5教材信息表表3-6教师信息表表3.7科研信息表表3.8评教信息表表3-9工作量统计表

表3—10教学计划信息表3.1.5数据完整性设计

数据的完整性是指存储在数据库中的数据的正确性和可靠性,它是衡量数据 库中数据质量好坏的一种标准。满足数据完整性要求的数据应具有以下特点:

>数据类型准确无误

≯数据的值满足范围设置 >同一表格数据之间不存在冲突 >多个表格数据之间不存在冲突 数据完整性可以分为以下四类:

(1)实体完整性(Entity Integrity):实体完整性的目的是确保数据库中所有实 体的唯一性,也就是不应使用完全相同的数据记录。可以通过设定主键、唯一 键、唯一索引等多种方法来实现实体完整性,其中最常用的是使用主键。如,本文中的学生信息表,学生的学号是唯一的值,是学生信息表的主键。(2)区域完整性(Domain Integrity):区域完整性是要求数据表中的数据位于 某一个特定的允许范围内。可以使用默认值(Default)、核查(Check)、外键、数据类型和规则(Rule)等多种方法来实现区域完整性。如,限制“sex”性别 字段的数据值可以是“F”或“M",那么,输入的其他数值将被SQL Server拒

绝。

(3)参考完整性(Referemial Integrity):参考完整性是用来维护相关数据表之 间数据一致性的手段,通过实现参考完整性,可以避免因一个数据表的记录改 变而造成另一个数据表内的数据编程无效的值‘221。可利用外键、触发器和存储 过程来实现。如,在教师数据表和工作量数据表中,如果要删除教师数据表中 的一条记录,而同时在工作量数据表中存在需要参考该记录的记录集,那么该 删除操作将会失败。

(4)用户定义完整性:这种数据完整性由用户根据实际应用中的需要自行定 义。可以用来实现用户定义完整性的方法有:规则、触发器、存储过程和数据 表创建时可以使用的所有约束。

通过使用这些强制的完整性定义,数据库管理系统将提供更可靠的数据,同 时避免在多个用户同时操作数据库时可能发生的数据不一致。3.1.6数据库表的实现

经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。接下来

要在SQL Server 2000数据库系统中实现该逻辑结构。利用SQL Server 2000的

SQL查询分析器实现。下面是创建表格的SQL语句,由于篇幅原因,只列出部 分语句。

(1)创建系统用户表格Admin CREATE TABLE[dbo].[Admin](【usedd】【int]NOT NULL,【pwd][varchar](20)COLLATE Chinese—PRC—CI—AS NULL,[group]【char](5)COLLATE Chinese—PRC—CI—AS NULL)ON[PRIMARY】

(2)创建学生基本信息表格Student~Info CREATE TABLE【dbo].【Student_lnfo】([stuid】[int]NOT NULL,【stuname]【varchar】(1 O)COLLATE Chinese—PRC—Cl—AS NULL,[Sex】[char](4)COLLATE Chinese~PRC—CI—AS NULL,【age】[tinyint】NULL,【studepartment】[int](4)COLLATE Chinese—PRC—CI—AS NULL,[stucid】[int](4)COLLATE Chinese_PRC CI_AS NULL,【smgid】[int](4)COLLATE Chinese—PRC—CI—AS NULL,[birthday】[datetime]NULL,【address][varchar](50)COLLATE Chinese—PRC—C1一AS NULL,[phone][varchar](12)COLLATE Chinese—PRC—CI—AS NULL,[Jiguan】[varchar](1 o)COLLATE Chinese._PRC_CI_AS NULL)ON[PRIMARY](3)课程信息表格Course—Info CREATE TABLE[dbo].【Course_Info]([cid]【int](4)NOT NULL,[cname][varchar](30)COLLATE Chinese—PRC—CI—AS NULL,【ctypeid】【int](4)COLLATE Chinese—PRC CI_AS NULL 【clong][int](4)COLLATE Chinese—PRC—CI—AS NULL)ON[PRIMARY](4)成绩信息表格Score—Info CREATE TABLE【dbo].【Score_Info】(【stuid】【int]NOT NULL,【cid】【int】(4)COLLATE Chinese_PRC CI AS NOT NULL,【score】【smallint】NULL [restudy】【char](2)COLLATE Chinese—PRC—CI—AS NOT NULL)ON[PRIMARY】

(5)教材信息表格Book—Info CREATE TABLE[dbo].【Book._Info】(【bid】【varchar](1 5)COLLATE Chinese—PRC—CI—AS NOT NULL,[bname】【varchar](30)COLLATE Chinese—PRC—CI—AS NULL,【bwriter】【varchar]O o)COLLATE Chinese—PRC—CI—AS NULL,【bpublishl[varchar】(30)COLLATE Chinese—PRC—CI—AS NULL,【bci】【int](4)COLLATE Chinese—PRC_CI_AS NULL,【bcoum】【int】(4)COLLATE Chinese—PRC—CLAS NULL,)ON[PRIMARY】

(其他表格创建略)3.1.7存储过程的设计

存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工

作容易得多。存储过程是SQL语句和可选控制流语句的预编译集合,以—介名

称存储并作为一个单元处理【23】。存储过程存储在数据库内,可由应用程序通过 一个调用执行,而且允许用户声明变量、有条件执行以及其他强大的编程功能。Admin表相关存储过程。对Admin表进行的操作有,增加管理员(或用户)、验证管理员(或用户)、删除管理员(或用户)、修改管理员(或用户)权限、修改管理员(或用户)密码、得到所有管理员(或用户)、通过用户名查找管理 员(或用户)信息等等若干操作。由于篇幅原因,我们只列举部分的设计思路

和方法。

(1)增加管理员。在系统中系统管理员有权限添加管理员,建立存储过程在 Admin表中添加管理员,用户名为参数@usefid,用户密码为参数@pwd,用户 权限为参数@group。SQL脚本:

CREATE PROCEDUREjw_addadmin@usefid int(4),@pwd varchar(20),@group varchar(5)as insert into Admin values(@usefid int,@pwd,@group,0,”,”)90(2)验证管理员。添加管理员时,需要验证管理员是否已存在,通过选择Admin 表中是否有同名管理员用户来验证,查询条件为从Admin表中得到userid字段 等于参数@userid的数据,如果所得数据集为零说明管理员名不冲突,大于零时 说明已存在此管理员。

SQL脚本:

CREATE PROCEDUREjw_addadminvalidate@userid int(4)AS select事from Admin where userid=@userid go(3)得到管理员相关信息。当登录管理后台时,系统需得到管理员信息,以 验证管理员权限和是否有权利登录,验证管理员主要是通过用户名和密码来匹 配管理员信息,如果数据为空说明不存在此用户或密码错误,数据不为空则此

用户存在,得到管理员信息。SQL脚本:

CREATE PROCEDURE jw_getinfo@usedd int(4),@pwd varchar(20)AS select事劬m AdmiIl where usedd=@userid and pwd:@pwd 90(4)通过用户名查找管理员信息。在系统中,需得到管理员信息,即在Admin 表中得到userid字段等于参数@userid的数据。SQL脚本:

CREATE PROCEDUREjw_seladminbyuserid@userid int(4)AS select幸from Admin where userid=@:userid 90 463.2类设计

本系统是以面向对象设计思想为基础的,需求分析是用UML进行建模,因 此在模型基础上就可以进行类设计。

根据概要设计中的各个模块图,可以发现,每个子系统在对于数据库的操作 时都存在一些共同的行为,如添加、更新、搜索等,根据面向对象的封装特性,可以将这些行为封装成组件。同样,对于一些非数据库的操作,例如在教务管 理子系统中有工作量的计算,这样的操作也可以封装成类,使用设计模式使得 程序更加灵活、易于修改,并且易于复用。准确的说,就是让业务逻辑与界面 逻辑分开。

数据访问层类设计:数据访问层负责链接到数据源,构建类型化数据集,然 后该数据集从对象的方法中返回【22】。

建立一个数据访问组件visitjwdata,可以创建这个类的实例来使用。它的每 一个实例都是到数据源的一个链接。可以为每一个数据表定义一个这样的实例。该组件包括了三个方法,getdata引用数据集;deldata从后台数据源中删除数据 集;updatedata将数据集的变化添加到后台数据源中。类图如图3.4所示。

图3.4数据访问组件visitjwdata 另外,将数据库中的表格看做是对象,字段就是该对象的属性。数据库记录 就是一个实例化对象。

在第一章的静态建模中,我们分析系统中的主要类,并作出类图,根据静态 结构建模中创建的类,VB.NET语言实现。

3.3模块设计

第一章动态行为模型中的序列图和协作图对系统设计有很重要的帮助。序列 图是模块通信流程的一种抽象表示,从序列图中很容易看出各个对象之间承上 启下的关系,因为序列图主要是以时间作为单独的维来表示的。协作图和序列 图有着密切的关联,它是序列图的另一种表现形式,是通过协作角色来限定协 作中的对象或链。虽然它们的表示方法不同,但可以在Rational Rose中通过适 当的方式相互转换。

由于静态结构模型属于系统分析,动态行为模型属于系统设计,因此在这一 章里,我们就以第一章详细的建模为基础,不在对详细设计作过多的论述。在 模块设计中我们采用流程图来表达模块的算法,这里只列出几个代表性的模块。(1)登录模块

与数据库中的Admin表格关联,检查用户id字段和12令字段,结合SQL语 句实现。流程如图3.5所示(2)选课模块

根据登录的学生身份读取学生信息数据库表的院系、专业和班级字段值,通 过这些信息显示选课界面中相关的课程,并在学生提交自己的选课后,判断所 选课程是否符合要求,一方面选课总数限制,另一方面选择的课程为选满。流

程如图3-6所示 .5登录流程图

(3)教材管理模块

与数据库表教材信息表关联。教师在选用教材时,首先查询数据库中是否有 合适的教材,若没有则填写教材征订表提交给教材管理人员,由教材管理人员 进行课本的采集。

书本的出库业务流程如图3.7所示。

3图3-6选课流程图

图3.7出库业务流程图

4系统的实现

本系统在开发工具上,选择了Visual Studio.NET 2005。Visual Studio.NET是 一套完整的开发工具,用于生成ASP.NET Web应用程序、XML Web services、桌面应用程序和移动应用程序1241。Visual Basic.NET、Visual C++.NET、Visual C群.NET和Visual J撑.NET全都使用相同的集成开发环境(IDE),该环境允许

它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NET Framework的功能,此框架提供对简化ASENET Web应用程序和XML Web services开发的关键技术的访问。

Visual Studio.NET是用于快速生成企业级ASENET Web应用程序和高性

能桌面应用程序的工具。Visual Studio支持Microsott.NET Framework,该框架 提供公共语言运行库和统一编程类。公共语言运行库是.NET框架的基础。运行 库可以看作一个在执行时管理代码的代理,提供核心服务,而且还强制实施严 格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性【25】。以运行 库为目标的代码称为托管代码,而不以运行库为目标的代码成为非托管代码。类库是一个综合性的面向对象的可重用类型集合,用户可以用它开发包含从传 统的命令行或图形用户界面应用程序到基于最新的ASP.NET技术在内的应用 程序【25】。在数据库的开发上,本文论述的系统将采用Microsoft SQL Server2000作为 系统的DBMS支撑,SQL Server2000是能够支持企业级关系型数据库的管理系 统,它能与Windows操作系统紧密集成,具有方便易用的图形管理界面,其用 户界面风格与Windows一样非常友好1261。SQL Server2000在存储大容量数据方 面,在数据的安全性和完整性方面,在分布式处理等都是适合于企业级应用的。而其相对Oracle,DB/2等大型数据库来说,学习更为容易,应用成本也相对较 低。采用SQL Server2000 4-ASP.Net开发本系统是一个较为理想的组合。

4.1登录模块

在用户登录界面中,最关键的问题是用户的验证,在这里可以将用户的验证 独立成一个模块。在该系统中,将用户分为几种不同的权限,每一种权限的用 户所面对的用户操作界面是不同,系统所提供的功能也是不同的,因此在数据 库中等门添加用户权限的字段,为的就是在用户登录时,比对数据表中的权限 值来判断是何种用户,从而展现给用户不同的操作界面。

实现思想:根据用户名即usefid字段和用户密码即pwd字段是否符合数据 库中的数据来决定该用户是否为已注册用户,如果不一致则有两种可能:一是 该用户的用户名或密码输入错误,二是该用户可能是未注册用户,数据库中还 没有该用户的信息。遇到这两种情况中的一种,都要弹出提示,指示用户要么 重新输入用户名和密码,重新登录;要么就要进行信息注册。若用户的名和密 码与数据库中数据相符,则进行下一步判断,验证同一条记录的另一个字段即 group权限字段,根据权限字段的值决定显示何种操作界面。如图4一l所示。

图4—1教务管理系统登录页面

这一模块中有一个功能“注册”功能,选择“注册”后,会出现一个注册页 面,这一页面中有多个表单输入框,用户在进行输入后,表单提交到Web服务 器端时,要验证表单字段的合法性,在这里使用ASENET的验证控件.这样可 以防止用户向数据库表提交错误类型的数据。验证控件会在客户端(浏览器)和服务器端都默认执行验证。从用户角度看,这一功能非常好,因为无论何时 把一个无效的值输入表单字段都能立即得到反馈。

每个验证控件都包含一个lsValid属性,如果验证过程中未发现错误,这个 属性将会返回True值。如果页面中所有的验证控件的lsValid都返回True,那 么Page.IsValid属性就是True。因此模块代码中通过检查Page.IsValid属性判断 是否将表单值填入数据库表。图4.2所示为注册页面中添加了验证控件的效果。

图4-2验证控件

4.2教师功能模块

教师登录系统成功后能够执行的操作,共有4个主要菜单,成绩录入、信息 维护、信息查询和选课(自然班)名单打印。(1)基本信息管理

主要功能是输入教师的一些基本信息,供教务部门查阅和调用。其中有一些 档案中的基本信息,是直接从数据库中读取的,不能随意更改,另外一些不重 要的信息由教师选择是否添加和更新。这里也是使用了表单验证控件防止非法 的数据写入数据库当中。图4.3是教师基本信息管理的页面。(2)信息查询

主要完成教师对自己工作上的一些信息的浏览。如本学期课表、教学计划、选课情况、教学质量信息等。(3)成绩录入

主要功能是对本学期教学班成绩的输入,每个学期学校教务部门对每门课程 每教学班下发专门的成绩录入密码,教师获得密码后登录成绩,然后使用密码 提交,提交后不能再修改。(4)选课(自然班)名单打印

选择该菜单后进入如图4-4所示界面。在这一页面中,根据教师选择的学年 学期以及教师所教授的课程名,弹出符合选择条件的学生班级人员列表。也可 以在班级选择栏中,找到要查找的班级列出班级列表。

图4-3教师基本信息管理界面

图4-4教师所教班级学生名单

每个学期的学期未,教务处会开放选课功能,并规定学生在限定的时间内进 行网上选课。在指定的时间内,学生可以多次进行网上选课。选课的条件有:

(1)选修课程数的限定:根据每学年的培养计划,设簧不同年级的限选门数。(2)选修年级的限定:不同的年级学生在登录选课模块后,查看到的所选课 程名称是不同的,某些课程只面向固定的年级。

(3)选修人数的限定:每个选修课程可以设置最大选课人数,并可咀选择选 课人数满时的解决办法,如禁选,或者允许继续选择,当选课结束时由教务人 员筛选。

(4)选修名单已经确定,或者被管理员设置禁选的课程,在选课时间范围内 只接受己选中的学生退选要求。

设计思路:学生登录后,根据学生的身份,及判断学生过去的选修记录来显 示该学生的选课界面,首先从课程信息表中找到课程类型(ctypeid字段)为选 修课的这类课程,并且满足crime字段的值为本学期.这样的课程以表格形式 显示;其次,对显示的每--1]课程添加复选框,允许学生选中或者退选。复选 框checked属性若为True,说明被选中,否则未被选中。在接到学生提交的选 课信息时,检查学生的选择是否有效,即判断学生的选课总数是否超出该年级 的限选门数,并判断选课人数是否超出限选人数,也就是判断该课是否设为满 即禁选。如果满足以上条件,将本次选课记录写入数据库中。在本功能模块中,还存在一种校验功能.检查学生所选课程是否时间矛盾,如果矛盾则及时通知 学生,以便重新选课.图4-5学生选课界面

4.4教学计划管理模块

教学计划是根据每个专业制定的学生培养计划和教学课程大纲而延伸出来 的与课程安排、教师排课、成绩等信息有着密切关系的文件,是教务管理的核

心内容。

教学计划中每学期的所教授的课程明细是由教务管理人员根据学生培养计 划和教学课程大纲列出,然后送达各个院系。由学院的教研室主任根据各个教 师的实际情况分配教学任务。然后将教学任务返回教务处。教师在接到教学任 务后,根据教学课程大纲中的教学要求,详细写出自己课程的教学授课计划,并从教务管理系统输入,这样教务处和学生都能看到了。

教学计划分成了两大部分,教务处制定的总的计划和教师制定的课程详细计 划,这些都可以通过网络向全校人员公布。

在教学计划管理页面上,有些信息是教务管理人员在后台输入的,是教师不 能修改的,这部分信息就是教务处制定的总的计划。教师指定的课程详细计划 是可以由教师修改添加的。如图4-6和4.7所示,为教务计划页面的部分截图。

上一篇:泵工新工人考试试题下一篇:演讲《新时代青年的责任担当