基于JAVA的课程管理系统的设计与实现(论文+源码)_kaic

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 基于JAVA的课程管理系统的设计与实现(论文+源码)_kaic

摘  要

课程管理系统是一个学校中不可缺少的部分。课程管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式对课程进行查询、更新、选课等,这种管理方式存在着许多缺点,如:效率低、执行速度慢,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。

  随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、成本低、效率高等。这些优点能够极大地提高学生选课系统的效率,也是企业、学校的科学化、正规化管理和与世界接轨的重要条件。因此,开发这样一套管理系统已成为很有必要的事情。

   JAVA是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。本文中介绍了用JAVA语言实现课程管理系统的全部过程。

关键词  课程管理 / Eclipse / Java / SQL Server

目录

第一章 前言

第一节 开发背景

第二节 开发目标

第三节 项目意义

第二章 系统分析

第一节 需求分析

一 功能需求

二 性能需求

三 其他需求

四 业务流分析

五 数据流分析

第二节 可行性研究报告

第三节 数据库选择

第四节 运行环境

1 数据库应用系统开发简介

2.mysql server简介

第三章 概要设计

第一节 功能模块划分

第二节 系统功能结构图

第四章 详细设计

第一节 系统E-R图示

第二节   信息要求

第三节 模块设计

第四节数据表

第五章 数据库的实施和维护

一.存储过程设计

二.触发器设计

第六章 系统实现

一.用户登录界面

二. 登录到学生界面图

三.学生成绩查询

四.教师管理页面

五.用户管理操作

六.学生信息管理

第七章 测试

结论

致谢语

参考文献

第一章 前言

数据库是从60年代初发展起来的计算机技术。经过四十来年的发展,数据库技术己经趋于成熟。Web数据库在新的Internet环境中发生了很大的变化。就数据应用而言呈现出多样化的空间,如数字图书馆、电子出版物、电子商务、远程教育系统等的出现,给web数据库技术提出了更多、更高的要求。同时,随着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃发展并发挥着较大的作用。例如,我国许多高校的网上招生系统,学校的各种管理信息系统,学校选课系统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于校园网的应用系统。

  国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。

  在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。

   我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。

  从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的两个关键子系统,目前不少教务系统尚未很好地解决排课与选课问题。本文主要对高校教务管理系统中计算机课表编排与选课子系统的基本功能、设计思想、需求分析以及实现技术进行探讨。

 我想大家肯定都经历过学生时代,也许很多人还对那个时候的选课记忆犹新,每个学期都要排着长长的队伍去选。现在,我们已经进入到Internet时代了,选课系统自然也要随着更新。大学中,公选课较多,学生可根据自己的专业及兴趣选择公选课程进行学习,本系统将从教学部门的要求出发,实现公选课的选择、查询与统计。

第一节 开发背景

当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用玉信息管理系统的环境。计算机的好处在于利用它能够进行信息 管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理学生课程选修信息而设计的。

学生选课作为一种信息资源的集散地,包含很多的信息数据的管理。由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发基本环境。

数据处理手工操作,工作量大,出错率高,出错后不易更改。造成时间上的浪费,基于这个问题,是有必要建立一个课程管理系统,使学生选课信息管理工作规范化,系统化,程序化,避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时,准确,有效的查询和修改选课情况。

第二节 开发目标

本系统根据学校实际项目要求及所针对的用户群体,预期制定出主要实现的如下目标:

1.网页风格学校平台的特点,界面简单大方。

2.充分为用户着想,提供细致周到的技术支持。

3.方便教师或管理员修改信息。

4.为网站管理员提供方便、快捷的网站维护平台。

5.严格限制不动的用户权限。

第三节 项目意义

课程管理系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以课程管理系统能够为用户提供充足的信息和快捷的查询手段,但是一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点如:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻的认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对课程管理信息进行操作,有着手工管理无法比拟的优点:检索迅速,查找方便,可靠性高,存储量大,保密性好,成本低等。这些优点能够极大的提高人事劳资管理的效率,也是企业的科学化,正规化管理,与世界接轨的重要条件。

因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开发一套学生课程管理系统为例,谈谈其开发过程和所涉及的问题及解决办法。

本文所做的主要工作如下:

1.介绍了个性化页面的背景及运用java语言和eclipse运行环境的原理。

2.阐述整个系统的系统结构及工作原理,分析系统实现中的特殊性,难点和重点。

3.设计实现用户管理,课程管理,选课信息录入管理,新生信息录入管理,新来老师信息录入管理和课程的浏览等页面。

4.分析并解决实现中的若干技术问题。

 

第二章 系统分析

第一节 需求分析

在本系统进入开发阶段之前,已针对课程管理系统的各方面因素做了综合的构思;并仔细浏览了Internet上的多个网站,总结它们的优缺点,并调查其运行成本和成效;同时认真的把自己对项目的想法告诉周围对此有兴趣的老师和同学,听取他们的意见和建议。经过多方面的考核与研究,大致确定了学生选课测试系统所需要满足的功能与性能:

一 功能需求

课程管理系统主要满足三方面的需求,这三个方面分别是学生,教师和管理员。学生的需求是查询院系的课程,学生选课情况及学生信息的修改;教师对学生选课情况进行操作。同时形成学生选课查看确认;选课管理员的功能最为复杂,包括对学生,教师,选课进行管理和统计,及系统状态的查看,维护并生成选课报表。学生可以直接查看选课情况,学生可以根据本人学号和密码进行登录系统,还可以进行本人学科成绩情况的查询和维护部分个人信息。一般情况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课信息,就要知道其他学生的学号和密码。所以有了个人密码不但满足了学生的要求,还保护了学生的个人隐私。

二 性能需求

一般用户并不具备计算机专业知识,若程序性能有一定的缺陷或可对其隐藏,但一旦异常暴露,对于计算机专业知识较少的用户来说降一发不可收拾。对于一个专业的开发人员来讲,其项目在满足用户提出的功能实现外,首先应保证性能良好;对于一个基于B/S的项目,更要顾及当前各种先进的黑客技术,有备无患!综上所属,本系统的性能需求大致如下:

系统的多数模块(尤其是后台几乎所有的)都有相应的特殊操作,所以在进入模块之前要对用户所具有的权限等用户信息做出严格检测,预防非法操作。

数据库的连接应采用连接池技术,合理、有效的分配、回收资源。

系统运行过程中会产生许多异常(其中大多数是预期效果),要有良好的异常处理机制,即要显示界面友好又要体现程序严谨。

学生在选修课程时教师会在后台严格控制,系统设计时要充分考虑到线程之间的并发与冲突。

注重系统所需时间与空间上的资源消耗和运行效果。

三 其他需求

本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。

四 业务流分析

课程管理系统的业务流程:首先由系统管理员等有录入权限的用户将各自权限范围内的信息进行录入,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除。所有用户均可以进行信息查询和统计,有权限用户还可以基于已有信息进行选修课程。

五 数据流分析

课程管理管理系统的数据流程:首先由教师或系统管理员等有录入权限的用户将各自权限范围内的信息进行录入处理,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除处理。所有用户均可以进行信息查询和统计。

第二节 可行性研究报告

1.技术可行性-----本系统需要一台装有java,eclipse及sql server运行环境的计算机即可,对机器本身没有太大的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,再运用图形图像制作工具来制作生动活泼的网页。

2.经济可行性-----由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。

3.操作可行性-----界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速,规范,可靠,统计准确;制表灵活;适应力强;容易扩充。

第三节 数据库选择

在目前这种信息多元化,服务智能化的时代,应用软件往往与数据库形影不离。碍于JAVA技术的跨平台特性,我们在实际应用中很少见到微软的数据库产品要去搭配使用,而是MySql和Orcale居多,本项目最终决定选用MySql作为后台数据库。

第四节 运行环境

鉴于数据库的选择,本系统仅能在Windows系统上运行,需装有MYSQL。在工程中,本系统采用MyEclipse作为开发及测试环境。

1 数据库应用系统开发简介

在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。用户数据目前表明,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。

2.mysql server简介

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracal收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库.

 


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22小时前
|
供应链 安全 Java
如何挑选一个合适的HIS系统? 基于B/S架构,JAVA语言,springboot最新技术栈开发的整套云HIS系统源码 HIS源码
最近有很多人在询问,有没有最优秀的HIS系统?在这里小编是没办法回答的。为什么呢?
8 0
如何挑选一个合适的HIS系统? 基于B/S架构,JAVA语言,springboot最新技术栈开发的整套云HIS系统源码 HIS源码
|
23小时前
|
存储 Java 关系型数据库
基于Java+SpringBoot+Vue前后端分离婚纱影楼管理系统设计和实现
基于Java+SpringBoot+Vue前后端分离婚纱影楼管理系统设计和实现
|
1天前
|
算法 Java Go
运行时管理GO与Java的概要对比
【5月更文挑战第17天】本文介绍Go、Python和Java的运行时机制各异。Go是编译型语言,其runtime负责内存管理、GC和协程调度,强调性能和低延迟。Java的JVM兼顾跨平台和性能,使用字节码和JIT编译,其GC策略复杂且高效。三种语言在设计和优化上各有侧重,适用不同场景。
20 3
|
4天前
|
JavaScript Java 测试技术
基于Java的城镇保障性住房管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的城镇保障性住房管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
4天前
|
JavaScript Java 测试技术
基于Java的作业管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的作业管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
2天前
|
安全 Java 测试技术
Java并发编程:理解线程同步和锁
【5月更文挑战第25天】本文深入探讨了Java并发编程的核心概念,即线程同步和锁。通过详细解释这两种机制,我们能够理解它们如何帮助解决多线程环境中的竞态条件问题。此外,文章还提供了一些示例代码,以展示如何在Java中使用这些技术。
|
19小时前
|
IDE Java 开发工具
"如何使用 jconsole 查看Java进程中线程的详细信息? "
当Java程序运行时,其中的一些线程也正在执行。我们可以用第三方工具 jconsole 来查看Java进程中线程的执行情况和详细信息,这有助于我们对多线程编程的理解。
7 0
|
1天前
|
缓存 Java
Java并发编程:深入理解线程池
【5月更文挑战第26天】本文将深入探讨Java并发编程中的一个重要概念——线程池。我们将了解线程池的基本概念,它的工作原理,以及如何在Java中使用线程池。此外,我们还将讨论线程池的优点和缺点,以及在实际应用中如何选择合适的线程池策略。
|
1天前
|
Java 开发者
Java中的多线程编程:基础知识与实践
【5月更文挑战第26天】 在现代计算机科学中,多线程编程是一个复杂且强大的概念。Java作为一种广泛使用的编程语言,其对多线程的支持使得开发者能够创建出更为复杂、高效和响应迅速的应用程序。本文将深入探讨Java中的多线程编程,从基础概念到实际编程技巧,为读者提供全面的理解和实践指导。
|
1天前
|
Java 调度 开发者
Java并发编程:深入理解线程池
【5月更文挑战第26天】在Java中,线程池是处理并发任务的高效工具。本文将深入探讨Java线程池的原理、使用及性能优化,帮助开发者更好地理解和应用线程池技术。