基于Oracle的学生档案管理系统设计毕业论文.docx
- 文档编号:11598519
- 上传时间:2023-03-20
- 格式:DOCX
- 页数:64
- 大小:3.23MB
基于Oracle的学生档案管理系统设计毕业论文.docx
《基于Oracle的学生档案管理系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Oracle的学生档案管理系统设计毕业论文.docx(64页珍藏版)》请在冰豆网上搜索。
基于Oracle的学生档案管理系统设计毕业论文
基于Oracle的学生档案管理系统设计毕业论文
1.1论文背景
学生档案管理是所有大、中、小学均需要进行的一项任务繁重的工作。
尤其近几年随着国家深化教育体制改革,学校进行大量扩招,学生的档案管理变的更为重要。
做好学生档案管理是一个学校最基本的工作,是一个教育单位必须要有的部分。
它对学校的管理者来说非常重要,学生档案如果不清晰,那么学校将会变得混乱不堪。
另外,学生的基本信息也是一项很重要的信息,如果管理不好,被不法分子利用,后果将不堪设想。
传统的学生档案管理为人工管理,采用纸质档案的方式。
那个时代学生信息量小,所以依靠人力可以基本完成。
随着时代的发展,现在的学校动辄几千甚至几万人,再加上已经毕业的存档历史记录,是的数据量急剧增加,单纯依靠人力已经无法变得十分困难。
比如说,查询学生成绩就是一项很繁琐的工作。
就目前来说,如果仅仅依靠人工来管理学生档案信息,必然会出现各种问题,导致工作效率极其低下,工作失误率高。
另外,以人工的方式来管理学生档案信息,还会带来不安全因素。
这必然会给教育单位带来不必要的麻烦,使得学校的声誉及教学质量下降。
针对上述问题,我们有必要进行改革。
这就使得使用计算机来对学生档案信息进行管理变得非常有必要。
基于数据库管理系统的计算机能够实现高效的管理大量的数据。
对不同用户提供不同的功能,大大提高了数据的安全性。
一个好的学生档案管理系统,能够让学校管理者简化大量的工作,从而节省大量人力物力,让教育单位的决策者和管理者有更多的精力放在学校教育质量上,大大的促进了学校的发展。
1.2论文意义
开发学生档案管理系统,采用计算机来管理学生档案信息将对管理者、教师和学生都存在重要的意义。
对于教育单位的的管理者,可以更条理的管理学校的学生信息,快速、简单的查询,修改档案。
借助计算机的高存储密度和强大的计算功能,可以不用堆积如山的纸质档案。
另外,计算机存储安全,不易丢失,不易被不法分子盗用。
对于学校的教师,可以更方便的查看并掌握自己所教的学生的基本信息,可以在自己的办公室通过动动鼠标就能完成所需的工作。
这大幅的减轻了教师的工作量,提高了工作效率,使得教师有更多的精力投入到提高教学质量上。
对于学生,可以随时随地的查询自己的相关信息,查看成绩,选课情况等。
像查询成绩这样的事情,学生就可以自己独立完成,而不用再去麻烦老师。
另外,系统提供了简单但是功能齐全的操作方式,清爽的界面和方便的操作流程,也成为了该系统的一个优点。
综上所述,学生档案管理系统改革了传统的管理方式,无论对教育单位的管理人员,还是教师或者学生,都有着其巨大的突破,实现了通过一个系统,不同类型的用户可以跨时空进行信息交流,而不用再像原始的需要人力来回跑的局面。
因此,作为本系统的数据库设计与系统管理部分,其意义便不言而喻。
没有良好的数据库后台支持,首先前台应用很难开发;其次,开发出来的系统功能和稳定性也不能保证。
1.3论文需要解决的问题
本系统在对学生档案管理的实际需求和不同用户的任务不同进行了详细分析的基础上,采用功能强大且是目前最流行之一的大型关系数据库Oracle数据库管理系统,结合C++面向对象思想和微软提供的强大的MFC类库,并将软件开发的螺旋模型和传统瀑布模型相结合,设计并实现了学生档案管理系统。
由于不同类型的用户需要做的工作不同,比如一个教育单位的顶层管理者要总览全局,对学校各院系进行管理,而院系相关负责人又需要对本院系的师生的档案信息进行管理等。
因此我们设计的系统进行了分模块处理,不同的用户对应不同的模块,具体介绍如下:
(1)管理员模块:
学校管理者(管理员用户)可以对院系信息进行管理,对学生的奖惩、学籍变动信息进行管理等;
(2)院系模块:
院系负责人(院系用户)可以管理本院系的师生基本信息、课程信息等;
(3)教师模块:
教师用户可以查询自己的授课信息并且为自己所教授的学生进行成绩管理等;
(4)学生模块:
学生用户可以查询自己的选课信息和成绩信息,以及查看个人奖惩信息和学籍变动信息等。
本论文需要解决的问题就是,设计数据库并进行相应的管理,以使得系统可以解决上述问题。
1.4论文内容和章节的相关安排
本篇论文将分几章对基于Oracle的学生档案管理系统的数据库设计和系统管理部分的设计和开发进行介绍。
第一章为绪论,主要介绍本课题的研究背景、研究意义、将解决的问题以及写作结构和各章内容安排。
第二章为系统设计的相关技术,主要介绍本系统在设计和开发过程中所涉及的一些关键技术。
第三章为需求分析与总体设计,主要对学生档案管理系统进行需求分析和总体设计,总体设计包括用例分析、总体结构设计等。
第四章为详细设计与实现,主要对系统进行数据库的表、视图、触发器、角色等的设计,以及系统登录模块和用户管理功能模块详细设计和实现。
第五章为结果与评价,主要对系统的功能和效果进行阐述,并测试系统的相关功能,以及对本系统给出客观评价。
第六章为结论,对系统的功能、优点以及缺点做出了总结,并提出了一些改进方法。
二.系统设计的相关技术
本系统的数据库采用Oracle10g数据库,选取C/S模式,前台程序设计选用VisualC++6.0,语言选用C++,结合微软提供的MFC类库,使用ADO技术访问数据库来实现。
开发系统平台选取WindowsXP专业版,硬件平台为IntelCorei3-2310M2.1GHz的CPU,DDR3-1333Hz2GB内存。
下面给出相关技术的简介。
2.1Oracle10g数据库简介
Oracle是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。
Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。
Oracle的关系数据库是世界第一个支持SQL语言的数据库。
1977年,LawrenceJ.Ellison领着一些同事成立了Oracle公司,他们的成功强力反击了那些说关系数据库无法成功商业化的说法。
Oracle数据库是当前最流行的大型关系数据库之一,它所支持的平台有32位和64位的Windows、HP-UX、Solaris、各种Linux发行版、Unix等多种操作系统平台,并且有着大量的应用案例。
其版本10g虽然目前官网已经不提供下载(最新版本为12c),但是由于其是第一个为企业提供网格计算(gridcomputing)的数据库管理系统,仍拥有着大量的用户。
Oracle10g的g代表网格计算,是一种灵活而其高效的信息管理和应用的方式,它还提出了池(pool)的概念。
其体系结构如图2-1所示。
图2-1Oracle10g的体系结构
Oracle数据库的逻辑结构由方案对象、数据块、区间、段、表和表空间等组成,其关系如图2-2所示。
图2-2表空间、表、段和数据块之间的关系
Oracle数据库的物理结构是由构成数据库的操作系统文件所组成的。
一般来说,一个数据库有三类文件构成:
数据文件、日志文件和控制文件。
这些文件组成了数据库的物理存储。
Oracle10g数据库提供了多种管理工具,包括企业管理器(EM)、OracleAdministrationAssistant、多种网络配置工具、SQL*Plus和iSQL*Plus等等,有基于Web形式的、Java图形界面的、WindowsMFC风格的和命令行的等,无论是对数据库使用者,还是应用开发者或者数据库管理员,都提供了很大的方便。
Oracle数据库拥有强大的安全管理功能和备份与恢复技术,可以让用户放心的去使用。
关于Oracle数据库的备份与恢复,本文将在后续章节做详细介绍。
另外,Oracle数据库为多重编程语言都提供了接口,包括C/C++、Java、Asp、PHP、Python等等。
支持多个线程并发执行,充分利用了处理器资源。
Oracle数据库还是一个分布式数据库,实现了分布式处理功能。
Oracle在其技术白皮书上表明,Oracle10g数据库关键目标有二:
一是降低管理开销;二是提高性能。
这个版本的Oracle的一个引人注目之处就是管理上的极大简化。
大量复杂的配置和部署设置被取消或者简化。
常见的操作过程被自动化。
对不同区域的大多数调整和管理操作的到简化。
缩短了应用和数据库升级的宕机时间,可以回闪(Flashback)任何错误等。
Oracle对超大数据库的支持,可支持到8EB(1EB=1,073,741,824GB)的数据量。
本系统之所以选择Oracle数据库,是因为它相比其他数据库有很多优势。
下面简要介绍如下:
(1)开放性:
SQLServer只能在Windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。
Windows9X系列产品是偏重于桌面应用,NTserver只适合中小型企业。
而且Windows平台的可靠性,安全性和伸缩性是非常有限的。
它不象unix那样久经考验,尤其是在处理大数据量的关键业务时。
而Oracle能在所有主流平台上运行(包括Windows)。
完全支持所有的工业标准。
采用完全开放策略。
可以使客户选择最适合的解决方案。
对开发商全力支持。
(2)可伸缩性,并行性
SQLserver和DB2并行实施和共存模型并不成熟。
很难处理日益增多的用户数和数据卷。
伸缩性有限。
而Oracle平行服务器通过使一组结点共享同一簇中的工作来扩展Windownt的能力,提供高可用性和高伸缩性的簇的解决方案。
如果WindowsNT不能满足需要,用户可以把数据库移到UNIX中。
(3)安全性
SQLserver没有获得任何安全证书。
而Oracle获得最高认证级别的ISO标准认证。
(4)性能
SQLServer多用户时性能不佳。
而Oracle性能最高,保持WindowsNT下的TPC-D和TPC-C的世界记录。
(5)客户端支持及应用模式
SQLServer一般为C/S结构,只支持Windows客户,可以用ADO、DAO、OLEDB、ODBC连接。
而Oracle支持多层次网络计算,支持多种工业标准,可以用ADO、DAO、OLEDB、ODBC、JDBC、OCI等网络客户连接。
(6)使用风险
SQLServer是完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明,并不十分兼容早期产品。
使用需要冒一定风险。
而Oracle具有长时间的开发经验,完全向下兼容,得到广泛的应用,风险极低。
2.2C/S模式
C/S(Client/Server),也就是大家所熟知的客户端和服务器端的结构。
目前大家所用的网络信息服务软件基本都是这种结构,像著名的社交软件腾讯QQ等。
这种结构充分利用了客户端和服务器端的硬件优势,能够将系统任务相对合理的分配给客户端和服务器端,这就减少了通讯资源。
其客户端是一个应用程序,可以运行在一个或者多个用户的电脑上。
而服务器端则有两种:
一种是数据库,客户端可以通过连接数据库来获取所需数据;另一种则是Socket服务器,服务器端的程序通过Socket来与客户端进行通信。
C/S模式的原则是将系统任务分为多个子任务,然后让不同的计算机去完成,也就是“功能分布”。
客户端机器主要完成的任务有数据处理和用户接口等功能,而服务器端机器则大部分是DBMS的核心处理。
C/S模式的优点是,能够让客户端机器充分发挥它的处理能力,大部分数据都可以通过客户端处理之后再提交给服务器,这大大减轻了服务器端的工作压力,对应的特点是提交响应速度快。
另外,C/S模式的应用通常拥有很丰富的界面和操作,安全性很高,可以实现多层认证。
C/S模式的缺点是,客户端机器必须得安装专用的客户端软件,安装的工作量是很大的,而且一旦出现问题,维护起来也是件很麻烦的事情。
C/S模式的一般结构图如图2-3(摘自XX百科)所示。
图2-3C/S模式结构图
2.3开发语言的选择
开发C/S模式系统时,一般会选取编译型的语言,如C++等;而开发B/S模式系统时,则会一些解释型的Web开发类的语言,如Java等。
其各有优缺点。
编译型语言在程序执行之前,有单独的编译过程,将其翻译成机器语言,在Windows操作系统下也就是exe可执行文件,其程序编译完成后,以后再执行就不再需要这个过程了,因此执行速度快。
但是由于其要编译成特定的机器码,因此在不同平台上兼容性不好,实现跨平台使用很困难。
解释型语言不需要编译,其在执行时是有解释器一边解释一边执行的,具有良好的跨平台性,但是相应的,由于执行过程中加入了解释过程,因此会影响其执行速度。
本系统我们选取C/S模式,选择C++语言。
C++语言是最主要的软件开发语言,几乎所有PC软件都是用C++开发,例如目前流行的QQ、360、迅雷、各种Office办公软件、各种网络游戏、播放器以及大部分语言的编译器及IDE,甚至本文用到的Oracle数据库也有大部分组件是用C++开发的,另外操作系统的驱动程序和内核等也用到C++语言。
因此C++是真正的软件开发语言。
2.4VisualC++6.0简介
作为微软开发的最经典的C++编译器,VisualC++6.0并不过时。
目前市面上仍有很大一部分Windows应用是由其开发的,很多公司、培训机构、教育单位以及程序员等仍在使用它。
另外,用VisualC++6.0开发的工程,可以升级到更高的VisualStudio版本而不用做任何更改,完全由VS自己去完成,而且不会影响软件的功能。
因此我们选取VisualC++6.0作为开发环境。
VisualC++6.0的启动界面如图2-4。
相信计算机相关专业和所有对编程语言有过接触的人们看到后都有一种亲切感。
图2-4VisualC++6.0启动界面
VisualC++6.0简称VC或者VC6.0,它是一个在Windows操作系统下的可视化的功能强大的软件开发工具。
作为一款IDE(integrateddevelopmentenvironment),其拥有编辑器、调试器、编译器,以及程序向导(AppWizard)和类向导(ClassWizard)。
VC6.0主要包含三个部分:
(1)DeveloperStudio。
它是一个集成开发环境,我们编写代码时的99%的工作都在这上面,但是它并不是VC,也并不是专门为VC设计的,大家都知道,它也适用于VisualStudio家族的诸如VB、VJ等成员。
它只不过是VC与用户的一个借口而已。
(2)MFC。
MFC并不是只有VC才能用,BorlandC++、C++Builder等同样可以使用MFC。
用VC编写代码也不是说一定要用MFC,VC也可以来编写SDK程序,使用STL、ATL等,都没有任何限制。
但是,VC本来就是微软为MFC设计的,其内部很多的语言上的特征和拓展也都是为MFC所开发的,因此使用VC而不用MFC确实舍弃了很大一部分功能。
但是VC也不是MFC。
(3)Platform SDK。
它才是真正的VisualC++和VisualStudio的灵魂和精华,虽然我们基本接触不到。
上面提到的DeveloperStudio并不具备编译的功能,这项工作是由Platform SDK来完成的。
虽然VC6.0很经典,也是使用最多的版本,但是它对于模板的支持不是很好,有时会出现编译时假死的情况。
另外,就目前来说,其对Windows7和Windows8的兼容性不是很好。
但是我们的学生档案管理系统是在WindowsXP下开发的,因此不用考虑这点。
其开发的应用在Windows7和Windows8下兼容性仍然没有问题。
下面我们介绍下在VC中开发本系统需要用到的两种技术:
2.4.1MFC类库简介
刚才介绍VisualC++6.0时提到了MFC(MicrosoftFoundationClasses),它是微软基础类库的简称,是一个封装了很多WindowsAPI函数的C++类库。
另外,MFC还是一个框架,其内部封装了一些SDK编程中的消息循环等。
MFC为程序开发提供了图形界面,包括很丰富的窗口、对话框以及多种多样的控件,为软件开发人员提供了方便,也提升了所开发软件的用户体验。
我们的学生档案管理系统就是基于MFC对话框的程序,其中大量使用了按钮、编辑框、列表、组合框、日期时间选择框等控件,实现了有好的用户界面和强大的功能。
2.4.2ADO数据库访问技术简介
数据库访问技术有很多种,像ODBC、JDBC、OLEDB、DB-Library、DAO和ADO等等。
由于我们的系统使用的是ADO技术,因此,这里我们只对ADO做简要的介绍。
ADO(ActiveX Data Object)是微软开发的目前最新的数据库访问技术,它的使用变得更加的方便和灵活,并且包括了几个强大的数据模型,对象间的关系如图2-6所示,对各对象简要解释如下:
Connection对象:
它是一个与数据库互动的必须的连接,它通过用户名和口令来鉴别用户身份,从而支持对事物的处理。
通常用它创建数据库连接,或者执行一条不返回结果的SQL语句。
Command对象:
这个对象封装了一些数据源用来解释执行的命令,它对已经连接的数据库进行数据的变动。
命令包括SQL语句、存储过程等。
Recordset对象:
它通常用来记录从数据库返回的表格数据,其封装了记录集增、删、改、查和导航等功能。
它还可以对记录集进行记录锁定和游标控制等功能,通过它可以简化数据库设计部分的游标设计。
Record对象:
它相当于Recordset对象的一个子集,它可以对Recordset对象里的一条记录进行相关操作。
Stream对象:
这个对象主要用来处理Recordset对象里的二进制数据流,比如多媒体文件等。
通过ADO技术,程序员可以简便的连接数据库,并对数据进行相关操作,而无须了解数据库的比较深入的知识,简化了开发过程,提高了开发效率。
以上是对ADO的简要介绍,关于ADO的具体使用,我们会在后文中做具体介绍。
三.需求分析与总体设计
3.1需求分析
学生档案管理系统是一个针对教育单位的档案信息管理的管理软件。
它对学校提供了一套科学并且完整的管理流程。
下面我们对本系统的用户需求和功能需求以及本系统数据库的需求作简要分析。
3.1.1用户需求
在一个教育单位中,不同的用户需求也不相同,具体如下:
(1)管理员用户(学校的管理者或者决策者)的需求有:
对各个院系的基本信息
进行管理,包括增删改查;对学生奖惩信息进行管理,包括增删查;对学生的学籍变动信息进行管理,包括增删查;对管理员用户进行管理,包括新增、删除和重置密码;对用户登录系统的信息记录(登录用户、登录时间和登录日期)进行管理,包括查看和删除。
(2)院系用户(院系负责人)的需求有:
对本院基本信息进行管理,包括查看和
修改;对本院教师进行管理,包括增删改查以及重置登录密码;对本院学生进行管理,包括增删改查以及重置登录密码;对本院课程信息进行管理,包括增删改查;对本院教师的授课信息进行管理,包括增加和删除;对本院学生选课进行管理,包括选课和退选(主要以班级为单位进行,也可对单独某一个学生进行选课管理);对本院班级信息进行管理,包括增加班级、删除班级以及为班级指定班主任和班长等;对本院学生的成绩进行管理,包括录入成绩和修改。
(3)教师用户的需求有:
对个人信息进行管理,包括查看和修改个人信息以及修
改登录密码等;对个人授课信息进行管理,包括查看授课信息以及对选课学生的成绩进行录入和修改。
(4)学生用户的需求有:
对个人信息进行管理,包括查看和修改个人信息以及修
改登录密码等;对个人选课信息进行管理,包括查看已选课程以及对某些选修性质的课程进行选课和退选等;查看已修课程成绩信息;查看个人奖惩信息;查看个人学籍变动信息。
针对以上不同的用户的不同需求,系统采用分模块设计,从而高效的实现了学生档案信息的管理,为学校提供了一套强大的管理方案。
其具体为不同用户对应不同模块,模块的具体功能则根据该模块用户的需求来设计。
3.1.2功能需求
学生档案管理系统是一套功能完善而且操作简单实用的管理系统。
总体来说功能是管理学生的档案信息。
从实际出发,根据上述的用户需求进行分析,该系统具体应包括以下若干功能:
(1)用户的创建,管理员需要创建院系用户,而院系用户又需要创建本院系的教师和学生用户。
创建的不同类型的用户应具有不同的权限,以保证系统的安全性。
(2)用户登录,已经创建的用户应该具有登录系统的功能,其中系统应包含对其身份进行验证的功能。
另外,用户成功登录系统后,系统应具有记录用户登录信息功能。
(3)学生各种档案信息的查询与管理,管理员、院系以及教师等应具有对学生相应的信息的管理功能,从而实现该系统的分级化管理的思想;学生用户应该具有查询个人相关信息的功能。
(4)用户密码修改功能,这是任何一个系统都必须有的功能。
(5)用户退出系统功能,当用户选择选择退出系统或者关闭客户端的时候,应该断开数据库的链接。
3.1.3数据库需求
首先我们要创建一个学生档案管理系统的数据库,对其进行相关配置。
创建数据库时需要设置数据库文件存储位置、备份位置、数据库管理员及其密码、日志文件数量及大小、存储数据的字符集、默认表空间、临时表空间名称和文件位置以及撤销表空间的位置和文件位置等。
为了使数据库更好地工作,我们还要对其进行一些配置,包括设置内存参数、还原管理、初始化参数管理和数据库功能使用情况统计等。
在用户管理方面,Oracle数据库提供了多种用户类型,包括数据库管理员(DBA)、安全官员、网络管理员、应用程序开发人员、应用程序管理员和数据库用户等等。
本系统在实际使用中主要涉及上述的两种用户:
数据库管理员和数据库用户。
数据库用户即之前我们提到的4种用户。
需要根据用户的需求不同对其授予不同的权限,可以通过设计角色来方便的实现授权。
在存储管理方面,Oracle10g版本对DBA的工作进行了简化,提供了一种自动存储管理(ASM)的存储机制,DBA只需进行简单干预即可。
在本系统中,需要对表空间、控制文件、重做日志以及归档日志进行相应管理。
在安全管理方面,数据库管理员要做好Oracle的认证、用户管理以及角色管理。
只有通过认证的用户(包括应用程序)才能对数据库进行相关操作。
在备份与恢复方面,数据库系统需要预防和避免由于人为或者自然灾害等不可抗力造成的数据损坏或者丢失。
因此,需要数据库管理员对数据库系统做好备份与恢复设置。
在数据库设计时,需要根据实际需求,设计一系列表。
另外,还有刚才提到的角色的相关设计,以及对数据操作时的相应的触发器的设计和视图设计等。
3.2总体设计
3.2.1用例分析
在经过了对系统的需求分析后,我们基本已经知道了系统应有的功能。
下面,我们采用UML建模来做出系统的用例图(图3-1)。
图3-1用例图
3.2.2总体结构设计
根据上一小节的需求分析,我们设计系统总体结构图如图3-2所示。
图3-2系统总体结构图
管理员模块结构图如图3-3所示:
图3-3管理员模块结构图
院系模块结构图如图3-4所示:
图3-4院系模块结构图
教师模块结构图如图3-5所示:
图3-5教师模块结构图
学生模块结构图如图3-6所示:
图3-6学生模块结构图
四.详细设计与实现
正如本论文的题目,这里我们只讨论学生档案管理系统数据库的设计与系统管理部分。
4.1数据库部分的设计
4.1.1E-R(实体-关系)图设计
根据需求分析与总体设计,从实际出发,本系统有如下几个实体:
(1)院系:
院系有院系编号、院系名称、办公地点、联系电话、登录密码以及备
注等属性,如图4-1所示:
图4-1院系实体属性图
(2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Oracle 学生 档案管理系统 设计 毕业论文