- 1.42 MB
- 2022-04-22 13:47:22 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'数据库系统设计毕业论文第一章概述1.1课题背景随着计算机智能化、人性化和Internet技术的不断发展,为了使教学、培训能满足不同地点和不同学习时间的需要,传统的面对面教育方式在这方面已经力不从心。利用网络进行远程教育已成为教育发展的一个方向。基于网络的教学相对于传统的教学有两个明显的特征。首先,师生可以突破时空的界限,大大的节省了教育资源,而且师生间可以实现互动,反馈和交流都比传统的广播电视教学方便,有效率。其次,可共享的丰富的网络教学、学习资源给师生提供了有利的学习支持。1.2课题意义 随着计算机智能化、人性化和Internet技术的不断发展,为了使教学、培训能满足不同地点和不同学习时间的需要,传统的面对面教育方式在这方面已经力不从心。利用网络进行远程教育已成为教育发展的一个方向。基于网络的教学相对于传统的教学有两个明显的特征。首先,师生可以突破时空的界限,大大的节省了教育资源,而且师生间可以实现互动,反馈和交流都比传统的广播电视教学方便,有效率。其次,可共享的丰富的网络教学、学习资源给师生提供了有利的学习支持。37
对于教师来说由原来对教学的完全支配者变成了学习的支持者,他负责网络课件的设计、开发以及维护。对于学生来说由以前单一的、被动的接受学习变成自我探索、发现、协作学习等多种形式的组合学习,学生不仅仅要像从前一样接受教师给予的知识,更应该发挥自己的主观能动性去寻找和探索相关的知识和资源,学生的学习范围和交流对象也随着网络延伸,并且可以进行协作化的学习。这些变化都要求我们在进行网络课件的设计开发和教学时不能在因循从前的一套模式,而应该根据新的学习、教学环境进行教学设计。37
第二章需求分析在软件开发之前,设计开发人员要对该系统进行软件需求分析,软件分析人员要认真了解用户的要求,细致地进行调查分析,深入描述软件的功能和性能,因此,软件需求分析是奠定软件开发的基础,也是起决定性的一步。2.1系统开发目的在线学习系统开发的目的在于知识的共享、提高培训的效率和效果。在线学习系统除了需要实现基本的网上学习功能外,需要重点关注学习者进度和理解程度的把握,否则在线学习系统和普通的资料共享没有太大的区别了。在线学习除了学生和老师的相关功能外,还包括管理者的功能,在线学习系统的管理面向整个公司,而不是某个事业部,管理功能主要包括老师管理、学生学籍管理、科目管理、课程管理、教材管理等内容。另外,为了实现在线学习系统的功能和内容的不断升级与完善,需要提供对学习者学习效果的调查问卷的功能,把握学生对课程、教材、老师等各方面的意见或建议。基本信息查看子系统是在线学习系统中班级管理模块的一个重要组成部分。是在线学习不可或缺的一部分。2.2系统功能描述在线学习系统的主要访问角色如下:学生:主要是学习的功能老师:主要是答疑、学生进度把握以及教材作成与维护的功能访客:类似于学生,可以对公共课进行学习,但无法实现同老师交流的功能管理部门:实现老师管理、学籍管理、科目设置、课程管理、教材管理等功能事业部领导:查阅本部门学生和老师相关情报的功能系统管理员:系统级配置与管理37
在线学习系统功能模块图如图2-1所示。图2-1.在线学习系统功能模块图作为在线学习系统这样一个大型系统,包括很多方面的信息,如科目信息,课程信息,班级信息,老师信息,学生信息,老师与学生针对教学内容的交流信息,学生对老师和课程的反馈信息,学生在进入班级后查看到的老师在线与否的信息和老师最新提问信息,老师进入班级后查看学生在线与否的信息和学生最新提问的信息,但有些信息是需要一登陆页面便能看到,以便与老师进行相应的交流。游客通过查看科目和课程信息,能够及时了解是否有新增的课程,是否需要对该课程报名等。37
第三章系统设计3.1系统概要设计本系统采用B/S结构,开发语言是JAVA、JSP、JAVASCRIPT和HTML语言,数据库采用Oracle9i,服务器采用WebLogic8.1,中间件采用O3W。外部设计采用的是JSP、JS和HTML语言,因为系统是B/S结构,所以网页采用HTML语言编写。3.1.1系统体系结构本系统采用B/S结构。3.1.1.1选择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结构进行开发。3.1.2前台开发工具的选择对于前台页面的开发,我们采用JSP编程语言。37
1)JSP:JSP(JavaServerPages)是一种在服务器端运行的网页脚本语言。JSP里可以包含HTML标志、Servlet标记、JSP语法、JavaScript或VBscript脚本。JSP是一种动态网页技术标准。在传统的HTML网页文件中假如JAVA程序片段和JSP标记,就构成了JSP网页。程序片段可以操作数据库库、可以重新定向网页、可以发送和接受电子邮件等动态网页所需要的功能。2)JavaScript:JavaScript是一种内嵌于HTML中的脚本语言。由于HTML无法独自完成交互和客户端动态网页的任务,而Java语言又显得过于复杂。JavaScript的目的在于将二者融合。3)CSS:CSS是英语CascadingStyleSheets(层叠样式表)的缩写,它是一种用来表现HTML或XML等文件式样的计算机语言。CSS是一种风格语言,它允许为不同的显示部分建立不同的字体,页空白或行空白等。使用CSS可以使整个站点的所有页面看起来具有统一的风格。3.1.3后台开发工具的选择在本系统的开发中我们采用面向对象的程序设计语言JAVA语言进行系统后台的开发。它融合了完美的语言设计和以前主要可见于专用语言的强大功能。Java编程语言还发布了许多功能强大的用于数据库,网络和用户界面接口(GUI)等任务的支持软件库。Java语言是一种真正面向对象(OO)的编程语言。面向对象语言为设计那些为再现真实世界里的实体(如汽车、职员、保险制度等等)的程序提供了一个框架。在这种分离下,程序员必须人为地将数据的结构与处理此数据的相关过程联系在一起。J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,37
一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构,如图3-2所示:图3-2.J2EE典型的四层结构这四层分别是:运行在客户端机器上的客户端层(ClientTier)、运行在Web服务器上的Web层(WebTier)、运行在EJB服务器上的业务层(BusinessTier)和运行在EIS服务器上企业信息系统层(EnterpriseInformationSystemTier)。一般情况下,许多开放商把Web服务器和EJB服务器产品结合在一起发布,称为应用服务器或J2EE服务器3.1.4数据库开发环境的选择本次毕业设计始用ORACLE9i数据库,因为ORACLE数据库具有众多的优点,非常适合公司的大型数据库开发与维护。3.1.5Web服务器的选择及中间件的介绍3.1.5.1Web服务器WebLogic是一套基于JAVA功能强大的电子商务套件,提供了许多功能强大的中间件以方便编程人员编写的JSP、SERVLET等电子商务应用。WebLogic的优点:(1)WebLogicServer越来越多开发商、独立软件厂商(ISV)、应用服务提供商(ASP)和系统集成商采用的事实上的标准应用服务器(2)简化运行并实现自动化,使应用和基础结构具有可视化。(4)通过Web和无线客户机访问相同应用程序代码,从而实现无线商务(5)37
利用高可用性和可伸缩性的先进群集技术,使系统随业务的不断壮大而扩展3.1.5.2中间件O3W的介绍3.1.5.2.1中间件的重要性本系统采用了典型的分布式事务应用程序架构,随着各种现有应用的不断扩充和新应用形式的不断增加,迫使在开发中需要解决越来越多的需求,诸如跨过不同硬件平台、不同的网络环境、不同的数据库系统之间互操作,新旧系统并存,系统效率过低,传输不可靠、数据需要加密,各种应用模式,开发周期过长,维护不力,等等,这些问题只靠传统的系统软件或Web工具软件提供的功能已经不能满足要求,这就需要一种中间平台——中间件,来解决上述问题。中间件是位于平台(硬件和操作系统)和应用程序之间的通用服务,如图3-3所示,这些服务具有标准的程序接口和协议。图3-3.中间件位置示意图中间件构架是一种电子商务应用集成的关键件,互连和互操作是电子商务中间件构架首先要解决的问题。3.1.5.2.2O3W的逻辑结构Web基本用户界面+画面转移控制+DataStoreBean+Java应用程序3.1.5.2.3O3W的部件的主要任务作为使用Servlet的Web应用程序的窗口实现的功能。分析从Servlet引擎接收到的请求,交给对象「控件」控制,还有,以「控件」的处理结果为基础进行画面迁移的施行。保存业务处理执行到Web37
用户界面的数据的输入输出中必要的数据项目和数据,向Java应用程序提供单体CHECK,还有,向JSP提供数据显示的支持功能。只在一个请求间保存有效的数据的容器,所以保存每个请求传送的Request对象和Respone对象,也可以在应用程序设定独立的数据。3.1.5.2.4O3W处理流程基于O3W的应用程序的工作流程,具体如下:在客户端部分,当用户在程序的输入画面点击提交按钮时,O3W将对所提交的数据进行简单的检查,通过O3W管理的后台应用程序调用应用程序,同时把需要调用的方法名称传递给后台业务服务器。在后台业务服务器上,JAVA应用程序接受WEB服务器上传送过来的数据,在各项检查都通过的情况下,JAVA程序则开始对于所传过来的数据进行各种业务处理,其中包括对关系数据库的访问和操作。在JAVA程序的最后,将程序的结果传递给WEB服务器。WEB服务器接受到后台业务服务器上的内容后,通过页面迁移控制把数据传递给相应的输出画面。至此,一次程序调用过程结束。O3W处理流程如图3-4所示:图3-4.处理流程37
其中sdh(SessionDataHolder)、dsb(DataStoreBean)、rdh(RequestDataHolder)为O3W的三个对象,主要用于存储,是Web服务器上的中转站。3.1.6功能模块设计基本信息查看系统的功能模块如图3-5所示。图3-5.基本信息查看系统的功能模块图3.1.7数据库设计3.1.7.1数据库设计遵循的规则作为一个大型的项目,数据库的设计非常的重要。如果不遵守一定的规则,将会给项目带来灾难性的后果。在本次毕业设计中,遵循的规则是:1)数据类型(1)数据类型VARCHAR2采用统一的长度,编码长度采用20位,名称采用60位。(2)标志位使用VARCHAR2数据类型。(3)日期类型由VARCHAR2(8)表示,不保存日期分割符。(4)时间类型由VARCHAR2(6)表示,不保存时间分割符。2)命名规范37
(1)表名字应能包含一定的含义信息。(2)字段名:表类型简写_表名简称_数据类型_ZZZZ。其中,表类型简写为:master简写为M,table简写为T;数据类型为:S-字符串,N-数字,ZZZZ为字段的含义名。3.1.7.2数据库概念设计概念模型设计同应用领域的信息需求分析有关,构造一个高级的数据模型。采用称之为实体联系模型的非形式模型。它提供一种表示实体及其相互联系的自然方法。先在第一阶段的设计策略上使用实体联系模型,然后讨论从实体-联系模型向关系模型的转换。实体-关系模型中的信息由下列三种基本概念级成:实体:正要被建模的对象关系:实体之间的联系属性:实体和联系的特征E-R图设计是数据库概念结构设计的一个很好的方法。E-R图,即实体-联系图,用来描述现实世界的概念模型。其中,矩型表示实体,椭圆表示属性,菱型表示联系,它们构成了E-R图的基本要素。本系统是基于基本信息查看,它所涉及的实体有科目、课程、班级、老师、学生,他们之间存在着所属或包含的关系,具体如图3-6所示:37
图3-6.系统整体ER图各实体属性图如下:图3-7.科目属性图37
图3-8.课程属性图图3-9.班级属性图图3-10.老师属性图37
图3-11.学生属性图3.1.7.3数据库逻辑结构设计关系模型的逻辑结构是一组关系模式的集合。而E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换遵循的原则:1、一个实体型转换为一个关系模式。2、一个m:n联系转换为一个关系模式。3、一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。4、一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。5、三个或三个以上实体间的一个多元联系转换为一个关系模式。6、同一实体集的实体间的联系,即自联系,也可按1:1、1:n和m:n三种情况分别处理。7、具有相同码的关系模式可合并。关系模式:科目(编码,编号,中文名称,日文名称,中文简介,日文简介,内容分类)课程(编码,编号,所属科目编码,课程名称CN,课程名称JP37
,课程简介CN,课程简介JP,发布标识,发布者,是否公開,选用教材编码,是否考核,试卷编码,预计学时,开始日,结束日,报名截止日,有效标示,課程分类名稱,實際結束時間)班级(编码,编号,所属课程编码,选用教材编码,选用教材发布日,开始日期,结束日期,暫停標示)老师(所属编码,所属类型,教师编号,簡介,教師開始日)学生(学生编号,课程编码,批准日期,班级编码,班级编号,毕业时间,学习开始日期,学习结束日期,成绩,学习状态,评价,评语,评价状态,备注,教材编号,教材发布日,累计学时,登陆次数,进度,Q&A总数,Q&A未回答数,人員郵件,所屬事業部ID,職務,入社日)根据实体、实体的属性和实体之间的联系转化为关系模式而设计的数据37
第四章详细设计详细设计的目的是为软件结构图(SC图或HC图)中的每一个模块确定使用的算法和块内数据结构。4.1页面设计4.1.1画面(见表4-1)表4-1画面设计画面ID画面名称所属功能模块OSM_OS08G04课程编辑页面课程编辑OSM_OS09G01班级信息查看页面班级查看OSM_OS09G03我的课程(老师)页面某个老师信息的查看OSM_OS09G05学生信息查看某个班级中学生信息的查看4.1.2画面跳转几个页面主要功能示意图(如图4-1)37
图4-1.画面跳转图4.2迁移定义页面迁移定义,即页面跳转定义,是用来定义页面之间跳转的方向和处理过程,一组相关页面的迁移定义包含在同一个Control中,Control即O3W中的控制机制,由它来控制页面的跳转,并将页面上的数据存入到O3W中的存储器DSB中。37
表中各项包含:编号,迁移源页面名称,迁移源的画面名称,触发迁移的动作名称,所调用的后台名称,迁移目的地的页面名称以及迁移目的地的页面文件名。迁移页面一般都会有两个页面,一个是正确返回页面,一个是错误返回页面,O3W判断程序的正确与否是通过请求方法的返回值来判断的,0表示正确,99标志错误。4.3数据定义数据定义,即DSB的做成,是O3W开发的四大部分之一。数据定义是用来定义在存储器DSB中存储的数据的名称、类型、格式以及输入输出要求的。数据定义最大的优点就是可以提供数据检查,即检查输入输出数据的合法性。数据定义写在特定的Excel文件中,最终通过特定的方式导出为XML文件。4.4请求对象内部设计本系统通过请求对象和页面进行交互,因此请求对象的逻辑和编码是否正确,直接影响到页面显示信息的正确与否,页面显示的信息会直接影响用户的选择。4.4.1课程编辑页面课程编辑页面提供对课程信息进行查询、修改,该页面的主要方法有初始化函数,保存函数,添加函数,修改发布标示函数,修改有效标示函数,删除函数。1.页面初始化方法blInit08G04该方法用于初始化课程编辑页面,首先要将页面上所有可以输入的控件全部清空,清空页面上需要用到的ds(数据定义),并查询出课程、课程下的班级、课程分类、教材以及老师的信息,将查询结果放入相应的ds中。2.保存方法blSave08G04当用户点击页面上的“保存”按钮,则执行此方法,根据用户对相应信息所做的修改对数据进行保存。3.追加班级方法blAdd08G04当用户点击页面上的“追加班级”链接时,执行此方法,在此课程下追加一个班级。4.修改有效标示方法blEfc08G04当用户点击页面上的“有效/无效”37
按钮,则执行此方法。修改课程状态(暂停/继续)。5.修改发布标示blRls08G04当用户点击页面上的“发布/取消发布”按钮,则执行此方法。修改课程状态(发布/不发布)。6.删除信息blDel08G04当用户点击页面上的某个“删除”链接时,则执行此方法。删除相应的班级信息。4.4.2班级信息查看页面班级信息查看页面提供用户对所有班级信息进行查看,该页面的主要方法有初始化函数,查询函数,暂停/继续班级的方法和删除班级函数。页面初始化方法blInit09G01该方法用于初始化班级信息查看页面。首先清空页面上需要用到的ds,读取所有科目、课程分类以及课程的信息,将查询结果放入相应的ds中,以供页面显示。查询课程下班级信息方法blQuery09G01该方法用于查询出某一课程下所有班级的信息。在页面中选中相应的课程,点击“照会”按钮时,执行此方法。首先清空页面上需要用到的ds,获取以面中选中的科目、课程分类、课程的编码,读取所选中的科目、课程分类以及课程下所有班级的信息,将查询结果放入相应的ds中,以供页面显示。暂停/继续班级方法blStop09G01当用户点击页面上的某个“暂停/继续”链接时,执行此方法。修改相应班级的状态(暂停/继续)。删除班级方法blDel09G01当用户点击页面上的某个“删除”链接时,执行此方法。删除相应的班级信息。4.4.3我的课程(老师)页面我的课程(老师)页面提供角色为老师的人员对自己所带班级信息进行查看,该页面的主要方法有初始化函数。37
4.4.4学生信息查看页面学生信息查看页面提供用户对某一班级下所有学生的信息进行查看,该页面的主要方法有初始化函数,查询函数,暂停/继续班级的方法和删除班级函数。1.页面初始化方法blInit09G05该方法用于初始化学生信息查看页面。首先清空页面上需要用到的ds,读取所有科目、课程分类、课程以及班级的信息,将查询结果放入相应的ds中,以供页面显示。2.查询班级下学生信息方法blQuery09G05该方法用于查询出某一班级下所有学生的信息。在页面中选中相应的班级,点击“照会”按钮时,执行此方法。首先清空页面上需要用到的ds,班级的编码以及hasFinFlag(是否包含已毕业学生复选框的值),读取所选中的班级下所有学生的信息,将查询结果放入相应的ds中,以供页面显示。3.开除學生方法blDel09G05当用户点击页面上的某个“开除”链接时,执行此方法。修改相应学生的状态为“开除”。4.5业务对象内部设计本系统通过业务对象和数据库进行操作,业务对象设计与编码是否正确,将直接影响程序的正确性。4.5.1课程编辑页面涉及到的业务方法业务方法与数据表之间的关系:如图4-3所示(○表示相关数据表)。37
图4-3.课程编辑页面涉及到的业务方法与数据表关系4.5.2班级信息查看页面涉及到的业务方法业务方法与数据表之间的关系:如图4-4所示(○表示相关数据表)。图4-4.班级信息查看页面涉及到的业务方法与数据表关系4.5.3我的课程(老师)页面涉及到的业务方法业务方法与数据表之间的关系:如图4-5所示(○表示相关数据表)。图4-5.我的课程(老师)页面涉及到的业务方法与数据表关系4.5.4学生信息查看页面涉及到的业务方法业务方法与数据表之间的关系:如图4-6所示(○表示相关数据表)。37
图4-6.学生信息查看页面涉及到的业务方法与数据表关系37
第五章编码5.1规约规约,顾名思义就是一些要求人们遵守规范和约定。在开发大系统的时候,程序员们遵守同一版本的规约更是尤为重要,它可以使开发变得简单、有序。5.1.1代码注释1、方法(1)注释位置:方法定义语句前/***ID:statStudInfo*名稱:*機能説明:*統計班級内學生信息*參數説明:*conn:數據庫連接*clsNo:班级编码,String,入力*hasFinFlag:包含結束標識,String,入力*0:包含已畢業學生*1:不包含已畢業學生*vecResults:Vector,出力*返回値説明:*0:統計班級内學生信息成功*1:統計班級内學生信息失敗*處理數據説明:*統計班級内學生信息*擔當者設計:製造:王晶測試:*版本信息:2007/04/29*/publicintstatStudInfo(Connectionconn,StringclsNo,StringhasFinFlag,37
VectorvecResults)throwsOSMException{}5.1.2调试信息注释位置:需要处理调试信息的位置,格式如下://调试信息开始System.out.println("clsNo="+clsNo);System.out.println("hasFinFlag="+hasFinFlag);//调试信息结束5.1.3JSP页面模版说明1、JSP页面格式如下:<%@pagecontentType="text/html;charset=Shift_JIS"%>----------------------①<%@includefile="COMMONHDR.jsp"%><%@includefile="OSM_COMMONHDR.jsp"%><%=pageID+":"+pageName%> <%=baseUrlDir%>css/OSM_styleL.css"--------------------------②type="text/css"><%=baseUrlDir%>js/OSM_must.js"><!-------------------本畫面js函數begin-------------------><%=pageHeader%><%=sbfMenubar%>-------------------------------------------------------------③"onSubmit="returnsubmitEventHandler(this)"><%=_SYSFLD%><%=_SYSDSBFLD%><%=OSM_HIDDEN_FLD%>