版权所有10277
第一章 引 言
1.1 项目开发背景
近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校的教学管理都受到了极大的挑战。Internet技术持续迅猛的发展,也给传统的办学提出了新的模式。通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。作为新型的办学模式,它们具有对于教育、教学过程来说极为宝贵的特性,可以为新型办学模式的建构提供理想的环境。在此开发的大学信息学院管理信息系统,旨在探索一种以互联网为基础的办学模式。通过这种新的模式,为信息学院营造一种新的办学环境,使管理突破时空限制,扩大教学规模,提高工作效率和办学水平,使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行学习与交流。基于这些优点,信息学院委托计算机系统研究所以及计算机软件与理论研究所共同开发“大学信息学院管理信息系统”。
1.2 项目开发的目的
为了适应信息时代发展,提高考试工作效率和办学水平,实现现代化大学的运行机制和高水平的管理,体现大学计算机学院自己的特色,使数字化学院建设成为一流信息学院建设的重要组成部分。用“数字化校园”的整体概念来统一规划、组织和建设学院的办公自动化系统、数字化教学系统、网站系统、图书资料管理系统和数字化校园体验系统。在这个概念下,统一设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理等。
开发后的数字化学院管理系统包括学院概况、组织机构、师资队伍、学科与专业、招生与就业、数字化教学、数字图书馆、数字化校园体验和办公自动化九部分。
版权所有10277
1.3 项目开发的目标
(1) 升级、改造学院现有的办公自动化系统,完善学院网站建设,实现办公自动化结构的网络化,进一步提高学院的办公效率、工作水平,朝着信息化、网络化、现代化目标迈进。
(2) 建立学院数字化教学系统,进一步提高办学效益和现代化教学水平。 (3) 建立学院数字化图书资料管理系统,为广大师生提供方便、快捷的资料信息获取渠道和手段。
(4) 校园体验子系统,使整个机构完全实现信息化、自动化、网络化。 (5) 建立Intranet系统,方便学院内部的信息发布、信息交流和信息共享。 本开发小组主要负责数字化校园体验子系统。主要包括学院的文化建设、党组织建设、团学建设、教代会工会、校友会信息、资料下载中心、论坛等模块。
1.4 项目提出的意义
“数字化学院”指学校在开展教学、科研、管理及对外联系工作中运用网络实现学院办学的数字化、信息化、智能化。从设计上说,数字化能够提高教务人员、管理人员和学生进行工作、学习和交流的有效性。使用“数字化”技术,可以改善各层面的信息传递与相互了解。与Internet集成在一起的数字化管理解决方案将会使教师与学生更紧密联接成一个综合的教育环境,因而可以更好的提高教学质量。数字化管理的应用软件将在解决学院内部管理与工作时,提供一个最佳实践具体化,并促进最佳的管理与教学实践的实行框架;连接Internet的校园局域网提供的是更广泛的信息来源,使所有相关人员真正体会到数字化教育技术的崭新面貌。
1.5 系统的开发方法
在本系统的开发过程中采用的是JSP+JavaBean+Servlet模式,在该模式中,结合了JSP和Servlet技术,充分利用了JSP和Servlet两种技术原有的优点。 此模式遵循视图控制器(MVC)模式,它的主要思想是使用一个或多个Servlet作为控制器。请求由前沿的Servlet接收并处理后,会重新定向到JSP。在Servlet作为控制器时,每个Servlet通常只实现很少一部分功能,多个Servlet控制器就可以结合起来完成复杂的任务,这样的好处是Servlet的重用性好。在此模式中,
版权所有10277
JavaBean作为模型的角色,它充当JSP和Servlet通信的中间工具,Servlet处理完后设置Bean属性,JSP读取此Bean的属性,然后进行显示。此模式更加明显的把显示和逻辑分离,使代码容易管理,适合于大型项目的开发,所以在本系统中采用了这种模式[8]。此模式的数据传递关系如图1-1所示。
Model
图1-1 JSP+JavaBean+Servlet开发模式数据传递关系
版权所有10277
第二章 系统分析
2.1 系统的设计思想
大学信息学院管理信息系统之数字化校园子系统的基本设计思想是把整个系统按照实现模块进行分解,利用JSP+JavaBean+Servlet进行编程。此子系统的系统结构如图2-1所示。
图2-1 数字化校园体验子系统结构图
其中作者负责文化建设、党组织建设、教代会工会、校友会及团学建设之音乐欣赏几部分的设计与实现。
2.2 可行性分析
可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。
(1) 经济可行性:主要是对项目的经济效益进行评价,本系统开发经费对于本单位在经济上是可以接受的,并且本系统实施后可以显著提高工作效率,有助于学院完全实现信息化管理。所以本系统在经济上是可行的。
(2) 技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成
版权所有10277
开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了当前新兴的Browser/Server模式进行开发。三层的Browser/Server体系结构具有许多传统Client/Server体系结构不具备的优点,而且又紧密的结合了Internet/Intranet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选用IBM的DB2数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
(3) 时机可行性:目前,大学的校园网路覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院,各职能部门,各直属单位上网需求。学校良好的网络设施为信息学院开发数字化学院提供了坚实的基础。
(4) 管理上的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。规章制度和管理方法为系统的建设提供了制度保障。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。
2.3 需求分析
在可行性分析阶段已经粗略的研究了该项目的需求,并分析了开发平台及软件的可行性,但为了准确的确定目标系统必须做什么,了解用户的明确需求,在信息学院相关部门进行了详细的调研, 进一步明确了作者所实现子系统的功能。 2.3.1学院文化建设
在调研过程中了解到文化建设子系统主要包括文化建设的目标和内容、领导和组织机构等内容的显示、教职工各类活动团体信息公告的发布,学生社团和素质拓展活动信息的发布。 2.3.2 党组织建设
这部分主要内容是一些计划、规章制度等页面的显示,学习通知公告的发布,并对一些优秀或受处分的党员给予公示,还提供一些表格或党的重大文件的上传和下载,具体内容如下所示。
版权所有10277
(1) 理论中心组(主要是党委委员和院领导班子的一些学习情况) ① 学习计划 ② 学习心得 ③ 理论与实践 (2) 党内教育 ①工作计划 ②规章制度 ③学习通知
④探索之路(党支部活动立项、表格下载):将活动立项以公告形式发布出来,表格显示标题,点击进入并下载,一般是以Word形式存档。
⑤警钟长鸣 (主要是一些案例)
⑥公示栏(党员发展、奖惩):主要是教工的党员发展情况,以公告的形式展示发展党员名字,点击该名字后进入具体信息部分。奖励的部分主要写在光荣榜中即可,惩罚是针对其情况取消资格或延长预备期等。
(3) 党支部建设
①党支部设置:显示信息学院党委的下属各个党支部,内容应具体到各个班级。 首先以图形显示党支部所划分的大块,分别点击,进入后显示各个相应的具体党支部,各个具体党支部都会有一个主页,做个相应的链接即可。
②大事记回顾:发布并保存一些党内所发生的重大事件,有影响或纪念意义的。
(4) 业余党校 ①党校章程 ②组织机构 ③工作计划
④优秀学员(在页面上只显示优秀学员名单,点击进去查看更多的信息) (5) 光荣榜(对一些优秀个人及先进事迹给予公示)
①获奖名单 (在页面上只以公告的形式显示获奖人员名单和基本的个人简介,点击进去查看更多的信息)
②先进事迹 2.3.3 教代会工会
经调研了解到学院工会建设主要包括规章制度、会费收缴原则、举办的活动
版权所有10277
及通知的发布。教代会主要包括教代会的选举办法、教代会的组成成员、参政议政、院务公开、意见反馈。具体内容如下。
(1)相关法规:主要是一些固定的法律法规,不需要改变。
(2)组织机构:将教代会工会的机构设置和人员设置以图表的形式显示出来,这部分也要有适当的变化,但总体变化不大。
(3)通知公告:发布一些近期的各项主要工作动态,主要包括教代会工作、组织宣传工作、文体工作、生活福利工作、女工工作,这部分要经常更新,时刻把最新的新闻展示给用户。
(4)历史回顾
将每年的重大的或有意义的大事在这里单独保存并给予公示。 (5)工作指导:主要包括过去一年的工作总结和新一年的工作计划。 (6)光荣榜:这里主要存放的是教职工及工作集体的一些获奖情况,要定期进行更新,总是把最新的消息首先展示出来。
(7)院务公开
将教职工的一些意见反馈到一个专门的信箱中,管理者经常收集并对一些必要信息给予公示。 2.3.4 校友会
校友会主要包括校友会简介、校友录、校友风采、聚会公告几个部分。校友会简介、校友风采、聚会公告等基本信息不需要登录即可浏览,而校友录部门必须进行登录后才可以浏览及发表信息。在校的信息学院的教师和学生可以凭借给定的用户名和密码登录到校友录中来,毕业后的校友可以到首页进行注册,成功后再进行登录就可以进行好友查询,查看、发表留言等操作。 2.3.5 团学建设之音乐欣赏
经过在信息学院团委进行的调研,了解到这部分要做成音乐在线视听的方式,信息学院的教师和同学可以凭借给定的用户名和密码进行登录,之后可进行歌曲在线查询、在线视听、在线下载等操作。
版权所有10277
2.4 系统的主要技术分析
2.4.1 Browser/Server系统的三层体系结构
在Browser/Server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。Browser/Server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。
在Browser/Server三层体系结构下,表示层(Presentation)、功能层(Business Logic)、数据层(Data Service)被分割成三个相对独立的单元:
第一层--表示层:Web浏览器
在表示层中包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上。
第二层--功能层:具有应用程序扩展功能的Web服务器
在功能层中包含系统的事务处理逻辑,位于Web服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器传送回客户端。
第三层--数据层:数据库服务器
在数据层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受Web服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。
从上面的分析中可以看出,三层的Browser/Server体系结构是把二层Client/Server结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了Web服务器,于是由原来的两层的Client/server结构转变成三层的Browser/Server结构。 2.4.2 Java Server Page(JSP)技术
首先,J2EE 结构是设计和开发数字化学院系统的核心。第二,系统提供的大部分操作都涉及到与用户动态地进行信息交互,要求系统能够实现数据的动态发
版权所有10277
布。第三,位于客户端的用户主要通过浏览器使用本系统。第四,在Sun 公司提出的J2EE蓝图中明确推荐使用JSP技术为动态内容提供服务。因此,在J2EE结构的模型框架下,JSP 技术是实现此系统动态信息交互功能的首选方案。JSP技术主要有以下一些特点[2]:
(1) 应用程序逻辑和页面显示相分离的特性。JSP 把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。
(2) 组件的可重用性。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序的处理。开发人员能够共享和交换执行组件,并利用这些组件创建应用程序。基于组件的方法加速了开发过程,提高了应用程序的开发效率。
(3) 跨平台特性。JSP技术将“一次编写,随处运行”的思想推广到了交互网页中,因此不需要作任何更改,就可以很轻松地跨平台和跨Web服务器移动JSP页。
(4)可以用多种格式为动态内容提供服务。JSP可以为不同的客户端提供服务,包括使HTML/DHTML的常规浏览器、使用WML的移动电话和PDA 等手持式无线设备以及使用XML的其他B2B 应用程序等。 2.4.3 JDBC技术
JDBC 技术在J2EE 结构的中间层与EIS层的数据源之间提供了数据库独立的开放性连接,使应用程序不仅可以对基于SQL 标准的关系数据库系统进行访问,而且还可以对其他类型的数据源进行访问。JDBC技术通过提供API使Java 应用程序能够实现位于企业信息系统层的数据库的访问能力。
J2EE 结构中间层的应用组件通过JDBC技术可以完成下列功能:实现与位于J2EE结构中企业信息系统层的数据库服务器的连接;管理事务;将SQL 请求传送到数据库管理系统进行预处理并执行相应的数据操作;执行存储过程;检查修改查询语句的执行结果等[6]。 2.4.4 数据库连接池技术
在数据库操作中,数据库的连接开销最大,耗时最长。通常的处理方法是,Servlet响应客户请求时,如果要求操作数据库,那么它会建立数据库的连接,然后与数据库进行数据交换,最后,关闭数据库的连接。这样就会造成每响应一次用户请求就会进行一次数据库连接和关闭,如果同时请求的用户数量很大,那么数据库的连接和关闭的开销将会变得巨大。必然会造成系统的负载过重,响应的速度也会减慢。显然,这种处理方法性能是较低的,但是由于Servlet是基于HTTP
版权所有10277
协议,HTTP协议是无状态的协议,在处理完用户的响应后,不会保存用户的各种信息。因此,同一个用户的请求会当作不同的请求来处理。那么,同一个用户的两次数据库操作本应该做一次数据库连接,但由于HTTP无状态的原因,会进行两次数据库连接。HTTP协议的无状态性是造成数据库的无效的连接和关闭的根本原因。
HTTP协议是国际标准的协议,无法将其改变。为了提高数据库连接的有效性,中间层的数据库连接将采用数据库连接池技术。
连接池技术的核心思想是在数据库的连接被需要之前去建立一个数据库连接的集合。也就是说,在Servlet第一次被装载时,先建立一定数量的数据库连接后,放在一个集合对象中。这个对象作为数据库连接的代理,所有数据库连接的访问都由这个代理进行控制。当有客户端请求数据库连接时,它只需简单地向数据库连接代理程序请求空闲的连接就可以了。这个代理程序将从连接池中选择一个空闲的连接,并给它进行标记,以说明此连接不可用,然后将这个连接返回给客户端。由于连接是提前创建的,因此代理程序几乎可以不需要任何系统的开销就立刻返回一个连接。当连接不再需要时,客户端可以将它返回给代理程序,再由代理程序标记为可用。除了处理连接,代理程序将负责维护连接池的所有细节。其中包括数据库连接的刷新,刷新主要通过删除并重新建立某些数据库连接,或者当连接池中的可用连接被大量并行请求耗尽的时候而去创建新的连接。
2.5系统的运行环境和开发平台
2.5.1 硬件设备及操作系统
服务器:PentiumIII 1G(或与此相当的CPU)以上配置的高性能PC机,有网络接口卡(NIC),内存应在256M以上,硬盘在80G以上。确认该计算机已经安装Web服务器软件WebSphere,数据库软件IBM DB2,还可选用备份服务器。
操作系统:Windows 98以上。
客户端:PentiumIII 500(或与此相当的CPU)以上配置的PC机,有网络接口卡(NIC),内存应在128M以上,硬盘在10G以上。Windows98以上操作系统,安装Web浏览器。
网络:服务器和客户端应有网络连通。配置TCP/IP协议。
版权所有10277
2.5.2 系统开发平台
电脑配置:Dell品牌机CPU: P4 2.6 内存:DDR 512M 硬盘:80G 操作系统:Microsoft Windows 2000 professional 中文版 开发环境:JBuilder 9 Enterprise Web服务平台:IBM Websphere 数据库:IBM DB2
2.6 数据分析
在信息学院数字化校园体验子系统系统中,主要是管理用户、活动、通知公告等输入的数据信息,并且以适当的方式进行汇总统计,并输出给用户。数据类型决定了处理的方式也就是算法,因此,数据是系统实现分析的起点。在本文中使用数据流图来分析数据的流动和处理。
因为对每一种对象的管理都比较类似,在此仅以校友会信息管理为例,来分析一下本系统中的数据流向[3]。
首先,对普通校友来说,本系统接受校友的查询请求,经过对查询请求的分析得到用户的需要。然后把该需要转化为结构化查询语言SQL语句,送入数据库系统中。数据库根据SQL语句,查询出结果,送回本系统。系统接收到数据库返回的查询结果集,经过一定的分析处理,转化为JSP页面,返回给客户端浏览器。
其次,对管理员用户来说,本系统除了完成普通校友的查询请求之外,还接收管理员用户的数据修改请求。经过对数据修改请求的检查,确定该请求是获得权限的管理员用户发出,即为有效请求之后。对该请求进行分析,得到请求的具体内容。然后转化为结构化查询语言SQL语句,送入数据库系统,更新数据库信息。
2.7 数据流图
主要数据关系是管理员对该子系统涉及的相关数据进行管理,而用户在前台可以浏览查询相关信息,总体图如图2-1所示。零级图如图2-2所示[3]。
版权所有10277
图2-1 校友会子系统总体图
图2-2 校友会子系统零级图
对于每一个管理,可以细分为添加、修改、删除、浏览等操作,现以通知公告管理为例,其具体细节图如图2-3所示。
版权所有10277
图2-3 校友会子系统细节图
对校友的数据流稍加细化,也可分为查询请求和查询结果这两种数据。对这
两种数据施加了不同的处理,如图2-4所示。
图2-4 校友查询信息细节图
版权所有10277
第三章 数据库设计
3.1 数据库的引入
数据库技术从60年代中期至今只有不到40年的历史,但其发展速度之快是其它技术所不及的。它已由第一代的层次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的数据库,即第三代数据库。数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的广泛应用。
数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强。
数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。
一个真正的、完整的站点是离不开数据库的,因为少量的数据,如网页访问人数等完全可以存储在文本文件中,但实际应用中,需要保存的数据远不止这一点点,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便的查询和更新。可以说一个动态网站的建设是离不开一个设计最优的数据库的。我们现在可以使用的数据库有很多种,如:Fox数据库(.dbf)、Access数据库(.mdb)、DB2、Informix、Oracle和SQL Server等等,在本次设计中,选择了IBM的DB2作为后台数据库工具,因为它功能远比Access、SQL Server强大,并提供了许多标准的关系数据库管理功能的支持。他的各种关系数据库管理系统适应于各种硬件平台,包括Unix,PC和主机系统。
版权所有10277
3.2 数据库逻辑设计E-R图
3.2.1 实体与属性之间的关系
E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。
(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。
(2)属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。
(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。 (4)在程序中实现对他们的完整性和一致性控制[9]。 3.2.2 数据库的E-R图
(1) 学院文化建设中的E-R图如图3-1所示。
版权所有10277
图3-1 文化建设E-R图
(2) 由于党组织建设这部分共分了三个管理员,即:理论中心管理员、教职工党建管理员、学生党建管理员。不同的管理员访问的权限不同,所以对表的操作也不同。这里以教职工党建管理E-R图为例来说明,其他两个E-R图见附录。教职工党建管理的E-R图如图3-2所示。