ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:2.06MB ,
资源ID:17257524      下载积分:6 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17257524.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生选课及信息管理系统的毕业设计.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

学生选课及信息管理系统的毕业设计.docx

1、学生选课及信息管理系统的毕业设计学生选课及信息管理系统的毕业设计第1章 绪 论1.1 引 言学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点如:效率低、保密性差另外时间一长,将产生大量的文件和数据这对于查找、更新和维护都带来了不少的困难随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无

2、法比拟的优点,例如:检索迅速、查找方便、可靠性高、 存储量大、保密性好、寿命长、成本低等这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件1.2 系统分析1.2.1 开发背景随着计算机技术的发展,计算机应用越来越深入到人们日常生活的每个领域计算机管理作为其中的一个重要做成部分,也以它独特的优势,渐渐代替了原始的手工管理学生选课信息管理作为学校管理的重要部分,由于其信息量大,给以后的查询、修改等操作带来不便,需要使用计算机来管理这些信息学生选课系统应运而生1.2.2 需求分析高校学生资料的管理使学生管理的最主要工作,由于其工作时间比较集中,工作流程复杂,

3、信息量大,信息准确性要求高,信息更新要求快,所以系统不但需求符合高校学生管理部门的实际业务流程需要,而且需要有很好的信息可维护性、用户交互便利性、信息管理严密性、系统安全性及数据共享性随着科学技术的不断提高,计算机科学日渐成熟,其强大的计算机功能已经让人们深刻认识到,计算机已经进入人类社会的各个领域并发挥着越来越重要的作用作为计算机应用的一部份,使用计算机对选课信息进行管理,具有手工管理所无法比拟的优点例如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点能够极大地提高人事劳资管理的效率,也是学校的科学化、正规化管理与世界接轨的重要条件因此,很有必要开发一套这样的软件1.2.3

4、 系统概要本课题所开发的系统使用JAVA来设计开发完成前台界面,SQLServer 2005作为后台数据库支持系统要有较高的安全性和较好的性能管理员登陆系统后可以现实以下功能:学生的增加、删除、修改、查询,教师的增加、删除、修改、查询,课程的增加、删除、修改、查询,还可以分别通过课程和学号来进行选课以及设置教师所代课程等功能教师登陆以后,可以查询自己所代的课程,并可以录入和删除选课的学生,录入课程成绩并进行成绩统计学生登录以后是另外的界面,学生可以选课、查看自己的选课情况、退选课程、修改密码的操作 实验流程包括:需求分析、感念结构设计、逻辑结构设计、物理设计、相关脚本语言的编写、功能方面的实施

5、、维护机制等本系统通过图形化界面为用户提供方便快捷的学生管理系统采用JAVA编程语言编写前台界面,使用SQL sever提供后台数据库支持前台界面以清晰、简单的风格呈现后台数据库设计六张表:教师信息表、学生信息表、课程信息表、选课成绩表、教师课程表、选课时间表,以此来存储整个系统的数据1.2.4 系统要求1. 硬件要求: (1) 486/DX66Mhz以上CPU(2) 内存16M以上(使用Windows NT需要32M以上内存)(3) 硬盘容量1GB以上(4) EGA以上分辨率的显示器. (5) 鼠标及键盘 2. 软件要求:(1) 操作系统应使用Microsoft Windows95及以上版本

6、,或者使用Microsoft Windows NT3.51或者更高版本(2) 安装JDK 1.6或更高版本(3) 安装SQL SERVER 2005第2章 应用技术介绍2.1 数据库简介SQL(Structured Query Language),结构化查询语言SQL语言的主要功能就是同各种数据库建立联系,进行沟通按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等绝大多数流行的关系型数据库管理系统都采用了SQL语 言标准虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Sel

7、ect、Insert、Update、Delete、 Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作2.1.1 SQL SERVER基本信息SQL Server 是一个关系数据库管理系统它最初是由Microsoft、 Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT

8、 版本Sybase 则较专注于SQL Server在UNIX 操作系统上的应用2.1.2 SQL SERVER 2005SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企级的数据管理SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序 8 SQL Server 2005 数据引擎是本企业数据管理解决方案的核心此外 SQL Server 2005 结合了分析、报表、集成和通知功能这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、

9、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域 1 2.1.3 SQL SERVER 2005 的特点1. 可编程性CLR(Common Language Runtime,公共语言运行时)集成CLR集成是指你可以使用任何一种.NET 语言编写SQL Server 2005 的存储过程,触发器,函数,自定义类型,甚至是自定义的聚合函数想想以前的扩展存储过程,编程非常不容易代码中一不小心就会引起内存泄漏2. 安全性SQL Server 2005 的安全达到了很强大水平,有着很更清晰的安全模型即主体,安全对象和权限 7 3. 异步处理能力Service Brok

10、er提供了一个功能强大的异步编程模型Broker的最大好处一是异步执行能力,提高了可伸缩性,二是可靠执行,三是集成于数据库中,备份数据库就备份了broker 的消息队列4. 支持通过HTTP SOAP协议直接访问数据库增加XML数据类型,支持Xquery,使用新的SQL ServerManagement Studio 等等 4 以前都是大项目用ORACLE或者DB2,因为只有ORACLE和DB2能胜任,现在情况有些变化了不少在Windows构架下的大项目还是倾向于用SQL的,像镜像,高可用性,页面级的恢复,联机索引,多CPU支持等高级特性,SQL也不比ORACLE差2.1.4 SQL SERV

11、ER 2005对比其他数据库的优势目前市场上除了SQL SERVER以外还有很多数据库,比如DB2、Oracle等,但是经过各种对比,最终还是选择了SQL SERVER首先,SQL Server 2005 已经证明能满足客户的高可用性要求,而且提供此功能的成本要比 Oracle10g 低很多SQL Server2005 在 SQL Server2005 Standard Edition 和 SQL Server2005 Enterprise Edition 中均提供了所有主要的高可用性功能,如 Microsoft Clustering Services 支持、Database Mirrorin

12、g、数据库快照、日志传送和复制等,无需额外的资金投入SQL Server2005 Enterprise Edition 还通过对多个服务器间的数据进行分区提供了提高可用性的能力在 Oracle10g 中增加此功能需要购买 Oracle Partitioning 产品高可用性并不需要同样的高成本,SQL Server2005 以比 Oracle10g 低很多的价格满足客户的高可用性要求其次,SQL Server 2005集成.NET运行库时采用的“进程内”模型与“进程外”模型相比有一些非常明显的优势举个例子,考虑一个负担沉重的数据库实例,要响应许多并发的请求,这一情况已经持续了很长一段时间SQL

13、 Server能自动和智能地在数据存储和程序逻辑(例如,.NET存储过程)之间平衡内存的分配当系统的负担有了一些性质上的变化例如,相对较多的 请求利用了较多的程序逻辑SQL Server会再次自动地进行调整这样,系统的性能会根据满足实际需求的伸缩性和可靠性进行不断的优化因为DB2 UDB v8.2采用“进程外”的模型集成.NET运行库,所以DB2不能提供这种类型的机器资源动态平衡和性能优化 10 综合以上SQL SERVER的特点以及对比其他数据库的优点,最终决定采用SQL SERVER数据库来作为后台数据库支持2.2 开发平台和开发工具 2.2.1 开发平台的选择考虑到本系统的性能要求,和现

14、有的条件,我们选择了WINDOWS 7版作为开发、测试和运行的平台因为WINDOWS操作系统是目前应用最广的操作系统,它以全新的图形界面,简单快捷的操作方式,支持多媒体功能等特点而成为软件发展的流行趋势,选用它作为开发平台,易于功能的扩展和软件升级2.2.2 JAVA简介Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java ap

15、plet 5 2.2.3 JAVA语言的特点1. 简单的Java语言的语法与C语言和C+语言很接近,但是Java丢弃了C+ 中如操作符重载、多继承、自动的强制类型转换等特性特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧 2. 面向对象的Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制 3. 健壮的Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证对指针的丢弃是Java的明智选择Java的安全检查机制使得Java更具健壮性 2 4. 安全的Java通常

16、被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击5. 可移植的这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的 6. 解释型的如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中 7. 高性能的与那些解释型的高级脚本语言相比,Java的确是高性能的 6 2.2.4 选

17、择JAVA的原因实际上,Java确实是从C语言和C+语言继承了许多成份,甚至可以将Java看成是类C语言发展和衍生的产物尽管如此,Java和C语言、C+语言又有许多差别,主要表现在如下几个方面:1. Java中对内存的分配是动态的它采用面向对象的机制,采用运算符new为每个对象分配内存空间而且,实际内存还会随程序运行情况而改变程序运行中,Java系统自动对内存进行扫描,对长期不用的空间作为“垃圾”进行收集,使得系统资源得到更充分地利用2. Java不在所有类之外定义全局变量,而是在某个类中定义一种公用静态的变量来完成全局变量的功能3. Java不用goto语句,而是用try-catch-fin

18、ally异常处理语句来代替goto语句处理出错的功能 9 4. Java对每种数据类型都分配固定长度比如,在Java中,int类型总是32位的而在C和C+中,对于不同的平台,同一个数据类型分配不同的字节数5. 类型转换不同在C和C+中,可通过指针进行任意的类型转换,常常带来不安全性而在Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换 6. Java不再使用指针指针是C和C+中最灵活,也最容易产生错误的数据类型由指针所进行的内存地址操作常会造成不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个C+中的私有成员,从而破坏安全性而Java对指针进行完

19、全地控制,程序员不能直接进行任何指针操作 3 7. 综合以上JAVA语言的特点,以及JAVA和C/C+的对比,为了可以更灵活、更安全的实现整个系统,最终决定选择JAVA语言来开发第3章 系统的规划与分析3.1 系统的可行性分析3.1.1 经济可行性分析由于本系统是一个基于Java的应用,后台采用SQL SERVER数据库,只要安装JAVA虚拟机和SQL SERVER 即可使用本系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力、物力所带来的效益远远大于系统软件的开发成本在经济上完全可行3.1.2 操作可行性分析界面设计时充分考虑管理人员的习惯,使得操作简单,数据

20、录入迅速、规范、可靠,统计准确,适应力强,容易扩充3.1.3 技术可行性分析本系统仅需要一台装有 Windows 系统并装有 SQL SERVER数据库和JAVA虚拟机的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求对于软件技术要求,现在的JAVA程序设计语言已非常成熟,本系统前台采用基于C/S 架构的Java开发,页面采用Java常用的BorderLayout、GridLayout等布局后台采用SQL SERVER语句来实现与数据库的数据交换3.2 系统功能分析在实际开发中,系统功能分析需要开发小组的系统设计人员与用户进行全面,深入的交流,以切实了解用户对整个系统

21、期望具有的功能,并分析用户行业营运特点,决定系统具有哪些功能本系统中的学生选课管理系统主要具有以下功能:1. 登陆界面:(1) 注册:新用户注册,包括教师和学生的注册,教师注册的时候需要管理员给的安全码(2) 忘记密码:教师或学生可以使用自己的安全码修改登录密码(3) 登陆:输入用户名和密码,并选择登陆类型之后可以登录到系统2. 管理员系统:(1) 学生信息管理:增加学生信息,修改学生信息,删除学生信息(2) 教师信息管理:增加教师信息,修改教师信息,删除教师信息,设置教师注册时的验证码(3) 课程信息管理:增加课程信息,修改课程信息,删除课程信息,设置教师和学生的选课时间,设置学生选课的学分

22、限制(4) 选课信息管理:增加选课信息,修改选课信息,删除选课信息(5) 信息查询:按条件查看学生信息、按课号或课名查看课程信息、查看选课信息(6) 教师信息查询:查看教师所代的课程、添加教师代课信息3. 教师系统:(1) 我的课程:查看老师所代的课程,并可以查看某课程有哪些同学选了(2) 学生管理:添加或删除学生的选课信息(3) 成绩管理:添加和修改学生的成绩,对各门课程做成绩统计(4) 添加课程:由老师来选择代哪门课程,选课有时间的限制(5) 修改密码或安全码:修改教师登陆密码或者修改密码时用的安全码4. 学生系统:(1) 选课:学生可以查看所有的课程,点击课程之后可以查看任课教师的信息和

23、课程信息,并可以在这里输入教师号和课程号来选课(2) 我的课程:学生可以查看自己已选的课程,并可以输入课程号来退选(3) 修改密码或安全码:修改学生登陆密码或者修改密码时用的安全码3.3 系统模块设计根据对系统功能分析,经过模块化的分析得到如图所示的学生选课管理系统各个功能模块结构图1. 用户登录模块包括新用户注册、修改登录密码以及输入信息登陆系统的功能如图3-1,是系统的登陆界面模块结构图图3-1 登陆系统模块图2. 管理员系统包括对学生信息、教师信息、课程信息以及选课信息的管理,比如添加、修改、查询等功能,以及其他一些系统设置,比如选课时间和学分的设置如图3-2,是管理员管理系统的各功能模

24、块图图3-2 管理员系统模块图3. 教师系统包括教师对自己课程的查看,管理选课学生,添加并管理所带课程的成绩,修改个人简介和所代课程简介,以及修改密码等功能如图3-3,是教师管理的各功能模块图图3- 3 教师管理模块图4. 学生系统包括查看课程并选课,查看已选的课程并退选,以及修改密码等功能如图3-4,是学生系统的各功能模块图图3-4 学生管理模块图3.4 开发与运行环境的选择开发与运行环境的选择会影响到数据库设计,本系统采用的是SQL SERVER 2005作为数据库管理系统,所以也采用了对该数据库支持最好的windows系统作为运行环境另外,系统采用Java做前台界面,在系统中要安装JDK

25、编译环境和Java虚拟机来运行本系统3.5 系统实现过程分析在实现过程中,首先需要根据对系统功能的分析设计出需要的数据库,包括各个数据表和数据表关系图的详细结构在实现各个功能模块时,先将系统每个模块做成一个类,然后将不同的模块包含在不同的包下来区分各个模块之间可以相互调用,来完成整个系统的实现在访问数据库时,采用了JAVA连接数据库的函数来实现与数据库的信息交换用实体类来存放从数据库中取出来的数据,可以方便的读取这里附上连接数据库的函数方法public static Connection CONN() String driverName = com.microsoft.sqlserver.jd

26、bc.SQLServerDriver; String dbURL = jdbc:sqlserver:/localhost:1433; DatabaseName=student; String userName = sa; String userPwd = sa; Connection dbConn = null; try Class.forName(driverName); dbConn = DriverManager.getConnection(dbURL, userName, userPwd); System.out.println(Connection Successful!); cat

27、ch (Exception e) e.printStackTrace(); return dbConn; 3.6 数据库设计系统设计是对整个管理系统功能进行分析,并划分和构建系统功能模块,而数据库设计则是分析和创建系统数据库,两者对整个系统的开发具有同等重要的关键作用根据学习到的知识,将数据库的设计总结为两个步骤:绘制系统数据流图和数据库结构设计3.6.1 绘制系统数据流图绘制系统数据流图系统数据流图根据用户日常工作流程,绘制出系统的各个操作节点,对每一个操作节点,绘制出与该操作关联的数据然后根据数据流图分析总结出系统数据字典即总结出系统管理流程只用到的各个数据以及包含的数据项系统数据流图如图

28、3-5所示图3-5 学生选课系统数据流图1. 系统用户数据:包括的数据项有用户名,密码,用户ID,姓名2. 教师信息数据:包括的数据项有教师号,教师姓名,登录密码,安全码,职称和简介3. 学生信息数据:包括的数据项有学号,学生姓名,所在学院,班级,登录密码,安全码4. 课程信息数据:包括的数据项有课程号,课程名,学分,允许选课人数,课程介绍5. 选课信息数据:包括的数据项有课号,教师号,学号,学生成绩,选课信息表分为学生选课信息表和教师选课信息表6. 另外,根据系统要求,还要一个数据库表来存放选课时间和教师注册验证码的信息3.6.2 数据库结构设计设计数据库结构根据第一步得到的数据字典,为数据

29、库规划需要的数据表,并设计每个数据表的结构按照学生选课管理系统数据字典,设计出学生选课管理系统数据库中各种数据表,包括系统系统用户表,学生信息表,教师信息表,课程信息表,学生选课表,教师选课表,选课时间表7个表数据库中的各个数据表名称和结构分别如下所示1. 系统用户表系统用户数据表用于保存系统管理员的帐户信息,包括编号,用户名,登录密码和姓名,数据表命名为“admin”,表结构如图3-6所示图3-6 系统用户数据表2. 教师信息数据表教师信息表用来存放教师的基本信息,包括教师编号,教师姓名,登录密码,安全码,教师职称和教师简介数据表命名为“teacher”,表结构如图3-7所示教师号作为主关键

30、字图3-7 教师信息数据表3. 学生信息数据表学生信息表用来存放学生的基本信息,包括学号,学生姓名,所在院系,所在班级,登录密码和安全码数据表命名为“S”,表结构如图3-8所示学号作为主关键字图3-8 学生信息数据表4. 课程信息数据表课程信息表用来存放课程的基本信息,包括课程编号,课程名,学分,允许选课的人数以及课程简介数据表命名为“C”,表结构如图3-9所示课程号作为主关键字图3-9 课程信息数据表5. 学生选课信息表学生选课表用来存放学生选课的相关信息,包括课程号,学号,课程成绩,教师编号数据表命名为“SC”,表结构入图3-10所示由于每门课程可能由多个教师来教,所以要在该表添加教师编号

31、一列来区分学生选了哪位教师的课图3-10 学生选课信息数据表6. 教师选课信息表教师选课表用来存放教师所代课程的相关信息,包括课程号和教师编号数据表命名为“TC”,表结构入图3-11所示图3-11 教师选课信息数据表7. 选课时间表选课时间表用来存放管理员设置的教师和学生选课的时间为了节省资源,在此表内添加了两列来存放教师注册时的验证码和允许学生选课的最多学分数据表命名为“time”,表结构入图3-12所示图3-12 选课时间数据表8. 数据表关系图数据的完整性对于一个数据库而言非常重要,比如,如果删除了某个教师的信息之后,那么该教师所代的课程,以及选过该教师所代课程的学生选课信息都要随之删除,否则以后在查询或修改的时候都会出现错误通过创建教师表和教师选课表、学生选课表之间的关联,就可以实现信息的自动删除数据库表关系图如图3-13所示

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2