数据库系统设计毕业论文 第一章 概述 课题背景 随着计算机智能化、人性化和Internet 技术的不断发展,为了使教学、培训能满足不同地点和不同学习时间的需要,传统的面对面教育方式在这方面已经力不从心。 利用网络进行远程教育已成为教育发展的一个方向。基于网络的教学相对于传统的教学有两个明显的特征。首先,师生可以突破时空的界限,大大的节省了教育资源,而且师生间可以实现互动,反馈和交流都比传统的广播电视教学方便,有效率。其次,可共享的丰富的网络教学、学习资源给师生提供了有利的学习支持。 课题意义 随着计算机智能化、人性化和Internet 技术的不断发展,为了使教学、培训能满足不同地点和不同学习时间的需要,传统的面对面教育方式在这方面已经力不从心。 利用网络进行远程教育已成为教育发展的一个方向。基于网络的教学相对于传统的教学有两个明显的特征。首先,师生可以突破时空的界限,大大的节省了教育资源,而且师生间可以实现互动,反馈和交流都比传统的广播电视教学方便,有效率。其次,可共享的丰富的网络教学、学习资源给师生提供了有利的学习支持。 对于教师来说由原来对教学的完全支配者变成了学习的支持者,他负责网络课件的设计、开发以及维护。对于学生来说由以前单一的、被动的接受学习变成自我探索、发现、协作学习等多种形式的组合学习, 学生不仅仅要像从前一样接受教师给予的知识,更应该发挥自己的主观能动性去寻找和探索相关的知识和资源,学生的学习范围和交流对象也随着网络延伸,并且可以进行协作化的学习。这些变化都要求我们在进行网络课件的设计开发和教学时不能在因循从前的一套模式,而应该根据新的学习、教学环境进行 教学设计 。 第二章 需求分析 在软件开发之前,设计开发人员要对该系统进行软件需求分析,软件分析人员要认真了解用户的要求,细致地进行调查分析,深入描述软件的功能和性能,因此,软件需求分析是奠定软件开发的基础,也是起决定性的一步。 系统开发目的 在线学习系统开发的目的在于知识的共享、提高培训的效率和效果。在线学习系统除了需要实现基本的网上学习功能外,需要重点关注学习者进度和理解程度的把握,否则在线学习系统和普通的资料共享没有太大的区别了。 在线学习除了学生和老师的相关功能外,还包括管理者的功能,在线学习系统的管理面向整个公司,而不是某个事业部,管理功能主要包括老师管理、学生学籍管理、科目管理、课程管理、教材管理等内容。另外,为了实现在线学习系统的功能和内容的不断升级与完善,需要提供对学习者学习效果的调查问卷的功能,把握学生对课程、教材、老师等各方面的意见或建议。基本信息查看子系统是在线学习系统中班级管理模块的一个重要组成部分。是在线学习不可或缺的一部分。 系统功能描述 在线学习系统的主要访问角色如下: 学生:主要是学习的功能 老师:主要是答疑、学生进度把握以及教材作成与维护的功能 访客:类似于学生,可以对公共课进行学习,但无法实现同老师交流的功能 管理部门:实现老师管理、学籍管理、科目设置、课程管理、教材管理等功能 事业部领导:查阅本部门学生和老师相关情报的功能 系统管理员:系统级配置与管理 在线学习系统功能模块图如图2-1所示。 图2-1. 在线学习系统功能模块图 作为在线学习系统这样一个大型系统,包括很多方面的信息,如科目信息,课程信息,班级信息,老师信息,学生信息,老师与学生针对教学内容的交流信息,学生对老师和课程的反馈信息,学生在进入班级后查看到的老师在线与否的信息和老师最新提问信息,老师进入班级后查看学生在线与否的信息和学生最新提问的信息,但有些信息是需要一登陆页面便能看到,以便与老师进行相应的交流。游客通过查看科目和课程信息,能够及时了解是否有新增的课程,是否需要对该课程报名等。 第三章 系统设计 系统概要设计 本系统采用B/S结构,开发语言是JA V A 、JSP 、JA V ASCRIPT 和HTML 语言,数据库采用Oracle 9i,服务器采用,中间件采用O3W 。外部设计采用的是JSP 、JS 和HTML 语言,因为系统是B/S结构,所以网页采用HTML 语言编写。 系统体系结构 本系统采用B/S结构。 选择B/S结构的原因 本系统采用的是B/S开发模式,B/S模式,即Browser/Server(浏览器/服务器)结构,是随着Internet 技术的兴起,对C/S结构的一种变化或者改进的结构。B/S结构(图3-1),主要是利用了不断成熟的WWW 浏览器技术,结合浏览器的多种脚本语言(VBScript 、JavaScript…)和ActiveX 技术,是一种全新的软件系统构造技术。 图3-1. B/S结构示意图 C/S结构,即Client/Server(客户机/服务器) 结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client 端和Server 端,由于C/S体系结构的应用处理留在Client 端,使得在处理复杂应用时客户端应用程序仍显肥胖,限制了对业务处理逻辑变化适应和扩展能力,一旦大量用户访问时,易造成网络瓶颈。 从以上的分析可以看出,B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步,B/S结构的大型管理软件有着C/S结构软件无法比拟的优势。因此这次毕业设计将采用B/S结构进行开发。 前台开发工具的选择 对于前台页面的开发,我们采用JSP 编程语言。 1)JSP : JSP (Java Server Pages )是一种在服务器端运行的网页脚本语言。JSP 里可以包含HTML 标志、Servlet 标记、JSP 语法、JavaScript 或VB script 脚本。 JSP 是一种动态网页技术标准。在传统的HTML 网页文件中假如JA V A 程序片段和JSP 标记,就构成了JSP 网页。程序片段可以操作数据库库、可以重新定向网页、可以发送和接受电子邮件等动态网页所需要的功能。 2)JavaScript : JavaScript 是一种内嵌于HTML 中的脚本语言。由于HTML 无法独自完成交互和客户端动态网页的任务,而Java 语言又显得过于复杂。JavaScript 的目的在于将二者融合。 3)CSS : CSS 是英语Cascading Style Sheets(层叠样式表)的缩写,它是一种用来表现HTML 或XML 等文件式样的计算机语言。CSS 是一种风格语言,它允许为不同的显示部分建立不同的字体,页空白或行空白等。使用CSS 可以使整个站点的所有页面看起来具有统一的风格。 后台开发工具的选择 在本系统的开发中我们采用面向对象的程序设计语言JAVA 语言进行系统后台的开发。它融合了完美的语言设计和以前主要可见于专用语言的强大功能。Java 编程语言还发布了许多功能强大的用于数据库,网络和用户界面接口(GUI )等任务的支持软件库。 Java 语言是一种真正面向对象(OO)的编程语言。面向对象语言为设计那些为再现真实世界里的实体(如汽车、职员、保险制度等等) 的程序提供了一个框架。在这种分离下,程序员必须人为地将数据的结构与处理此数据的相关过程联系在一起。 J2EE 是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE 技术的基础就是核心Java 平台或Java 2平台的标准版,J2EE 不仅巩固了标准版中的许多优点,例如" 编写一次、随处运行" 的特性、方便存取数据库的JDBC API、CORBA 技术以 及能够在Internet 应用中保护数据的安全模式等等,一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构,如图3-2所示: 图3-2. J2EE 典型的四层结构 这四层分别是:运行在客户端机器上的客户端层(Client Tier )、 运行在Web 服务器上的Web 层(Web Tier )、 运行在EJB 服务器上的业务层(Business Tier)和 运行在EIS 服务器上企业信息系统层(Enterprise Information System Tier)。一般情况下,许多开放商把Web 服务器和EJB 服务器产品结合在一起发布,称为应用服务器或J2EE 服务器 数据库开发环境的选择 本次毕业设计始用ORACLE 9i数据库,因为ORACLE 数据库具有众多的优点,非常适合公司的大型数据库开发与维护。 Web服务器的选择及中间件的介绍 Web服务器 WebLogic 是一套基于JAVA 功能强大的电子商务套件,提供了许多功能强大的中间件以方便编程人员编写的JSP 、SERVLET 等电子商务应用。 WebLogic 的优点: (1)WebLogic Server越来越多开发商、独立软件厂商 (ISV)、应用服务提供商 (ASP) 和系统集成商采用的事实上的标准应用服务器 (2)简化运行并实现自动化,使应用和基础结构具有可视化。 (4)通过 Web 和无线客户机访问相同应用程序代码,从而实现无线商务 (5) 利用高可用性和可伸缩性的先进群集技术,使系统随业务的不断壮大而扩展 中间件O3W 的介绍 中间件的重要性 本系统采用了典型的分布式事务应用程序架构,随着各种现有应用的不断扩充和新应用形式的不断增加,迫使在开发中需要解决越来越多的需求,诸如跨过不同硬件平台、不同的网络环境、不同的数据库系统之间互操作,新旧系统并存,系统效率过低,传输不可靠、数据需要加密,各种应用模式,开发周期过长,维护不力,等等,这些问题只靠传统的系统软件或Web 工具软件提供的功能已经不能满足要求,这就需要一种中间平台——中间件,来解决上述问题。 中间件是位于平台(硬件和操作系统) 和应用程序之间的通用服务,如图3-3所示,这些服务具有标准的程序接口和协议。 图3-3. 中间件位置示意图 中间件构架是一种电子商务应用集成的关键件,互连和互操作是电子商务中间件构架首先要解决的问题。 O3W的逻辑结构 Web 基本用户界面 + 画面转移控制 + DataStoreBean + Java应用程序 O3W的部件的主要任务 作为使用Servlet 的Web 应用程序的窗口实现的功能。分析从Servlet 引擎接收到的请求,交给对象「控件」控制,还有,以「控件」的处理结果为基础进行画面迁移的施行。 保存业务处理执行到Web 用户界面的数据的输入输出中必要的数据项目和数据,向Java 应用程序提供单体CHECK ,还有,向JSP 提供数据显示的支持功能。 只在一个请求间保存有效的数据的容器,所以保存每个请求传送的Request 对象和Respone 对象,也可以在应用程序设定独立的数据。 O3W处理流程 基于O3W 的应用程序的工作流程,具体如下: 在客户端部分,当用户在程序的输入画面点击提交按钮时,O3W 将对所提交的数据进行简单的检查,通过O3W 管理的后台应用程序调用应用程序,同时把需要调用的方法名称传递给后台业务服务器。 在后台业务服务器上,JAVA 应用程序接受WEB 服务器上传送过来的数据,在各项检查都通过的情况下,JAVA 程序则开始对于所传过来的数据进行各种业务处理,其中包括对关系数据库的访问和操作。在JAVA 程序的最后,将程序的结果传递给WEB 服务器。 WEB 服务器接受到后台业务服务器上的内容后,通过页面迁移控制把数据传递给相应的输出画面。至此,一次程序调用过程结束。 O3W 处理流程如图3-4所示 : 图3-4. 处理流程 其中sdh(Session Data Holder)、dsb(Data Store Bean)、rdh(Request Data Holder) 为O3W 的三个对象,主要用于存储,是Web 服务器上的中转站。 功能模块设计 基本信息查看系统的功能模块如图3-5所示。 图3-5. 基本信息查看系统的功能模块图 数据库设计 数据库设计遵循的规则 作为一个大型的项目,数据库的设计非常的重要。如果不遵守一定的规则,将会给项目带来灾难性的后果。在本次毕业设计中,遵循的规则是: 1)数据类型 (1)数据类型V ARCHAR2采用统一的长度,编码长度采用20位,名称采用60位。 (2)标志位使用V ARCHAR2数据类型。 (3)日期类型由V ARCHAR2(8)表示, 不保存日期分割符。 (4)时间类型由V ARCHAR2(6)表示, 不保存时间分割符。