Java学生选课系统

Java学生选课系统
Java学生选课系统

成绩:

课程设计

(Java程序设计)

题目基于Java的学生选课系统

学院计算机与软件学院

专业计算机科学与技术

学号、姓名

指导教师

二○一四年十二月十八日

基于Java的学生选课系统

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

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

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

关键词:课程管理,Java,Eclipse,SQL,JDBC

目录

第一章前言 (1)

1.1 选课背景及意义 (1)

1.2 学生选课系统的发展和研究现状 (1)

1.3 各章节内容简介 (2)

第二章 Java语言以及开发工具 .................... 错误!未定义书签。

2.1 Java的背景知识介绍................................. 错误!未定义书签。

2.1.1 Java的起源 (2)

2.1.2 Java的特点 (2)

2.2 Java的开发工具 (3)

第三章学生选课系统的需求分析 (4)

3.1 学生选课系统功能分析 (4)

3.2 学生选课系统总体设计 (4)

3.3 学生选课系统数据库需求分析 (5)

3.3.1 用户登陆 (5)

3.3.2 学生登陆 (5)

3.3.3 数据库的构建 (5)

第四章学生选课系统的实现 (6)

4.1 学生选课系统程序及注释 (6)

4.2 系统运行环境....................................... 错误!未定义书签。

4.3 学生选课系统运行截图............................... 错误!未定义书签。

4.3.1 登陆页面(起始页)............................ 错误!未定义书签。

4.3.2 学生操作界面.................................. 错误!未定义书签。

第五章系统测试与维护 (19)

5.1 程序测试的目的 (19)

5.2 程序测试的意义 (19)

5.3 程序测试的原则 (19)

5.4 程序测试的流程 (21)

第六章总结与展望.............................. 错误!未定义书签。1参考文献....................................... 错误!未定义书签。1

第一章前言

1.1选题背景及意义

随着计算机技术和网络通讯技术的飞速发展,现在国内有很多大学的选课方式由传统的选择方式转变成了网上选课,学生可以在网上选择规定范围内的课程,并且可以在网上查询成绩。无需自己去老师那一门一门查,了解自己已得多少学分还需多少学分,既节省了学生的时间,又便于学校的管理。

网上选课系统为同学提供了一个自由选择的平台,学生可以选修规定范围内的课程,查看已修学分总数,还可以修改个人信息。本系统也为教师提供了很大的方便,教师可以根据统计的人数挑选一定数量的学生,也可以直接在网上公布成绩,让学生直接在网上查询成绩。

本系统方便了学生的选课,同时便于管理,减少大量的人力资源。并且促进了学生的积极性,近而开发了网上选课系统。

1.2学生选课系统的发展和研究现状

进入21世纪以来,国内各高校都在积极推动教育体制的改革,为培养更为优秀的新世纪复合型人才做出努力。然而在80年代以前,计算机还没有在国内普及各高校学生选课都是手工完成,不仅教师的工作量大,而且学生查询和检索时也很麻烦。

80年代后期,少数高校开始实行学年学分制,学生有了一定程度的选课自由。学生在学校只需要修满学分就可以毕业,并且可以根据自己的喜好选择科目。并且随着PC机的普及,有些高校已经开始应用电脑进行日常管理工作。这时,学生选课系统诞生了。但是,这些系统大多是基于DOS或者WINDOWS的单机版本,不仅界面不友好,而且功能薄弱。各科系之间的数据交流只能借助软盘为中介,费时费力。随着高校的规模扩大,教育体制改革的深化,这类系统已经不能适应管理上的要求。

90年代后期以来,各高校纷纷建立自己的高速校园网:在技术上,客户机/服务器体系结构已经非常成熟,同时浏览器/服务器体系结构正在兴起,这些都为创建大型的学生选课系统创造了条件,满足了数据集中存放,管理运作分布执行的需求。中心数据库存放学生选课系统的相关数据,管理人员通过网络访问数据库进行业务管理;学生和任课教师可以通过浏览器查询相关数据。目前国内各高校均有自己的选课系统。

1.3各章内容简介

本论文在第一章介绍了学生选课系统的研究意义以及研究现状,突出本系统研究的必要性;第二章介绍Java语言和它的开发工具,以说明选择Java的好处;第三章进行学生选课系统的需求分析,以使系统的模块更加清楚;第四章介绍本系统各模块的功能以及它们的结构图,还有具体程序和注释以及运行结果截图;第五章是介绍了程序测试的目的、意义、原则、流程,以使每一步程序的功能清晰地跃然纸上;第六章对学生选课系统进行了总结以及对前景作了展望,使系统更加完美。

第二章Java语言以及开发工具

有了系统制作的必要性接下来是选择开发语言和工具,由于选择的Java制作,座椅本章节将对Java进行介绍以说明选择它进行学生选课系统开发的理由,并介绍几种Java 的开发工具。

2.1 Java背景知识介绍

2.1.1 Java的起源

1991年四月份,Sun的绿色计划开始着手于发展消费性电子产品,所使用的语言是C、C++、及Oak(为Java语言的前身),后因语言本身和市场的问题,使得消费性电子产品的发展无法达到当初预期的目标,再加上网络的兴起,绿色计划也因此而改变发展的方向,这已是1994年了。而这一次的改变,就是Java诞生的契机。而Java这个名字不是由几个单词的首字所组成,而是从许多程序设计师钟爱的热腾腾、香浓咖啡中产生灵感的。

2.1.2 Java的特点

Sun是要Java成为一个简单(Simple)、面向对象对象的(Object Oriented)、分布式的(Distributed)、解释的(Interpreted)、健壮的(Robust)、安全的(Secure)、结构中立的(Architecture Neutral)、可移植的(Portable)、高效能的(High Performance)、多线程的(Multithreaded)、动态的(Dynamic)的程序语言。

面向对象的思想是Java语言的重要指导思想,最主要的重点是即将要用Java编写的程序,其次才是所需要的工具;最近的即插即用(Plug and Play)亦是面向对象设计的重点。

Java与C/C++最大不同点是Java有一个指针模型(Pointer Model)来排除内存被覆盖(Overwriting Memory)和毁损数据(Corrupting Data)的可能性。总的来说Java有以下特点:

结构中立的(Architecture Neutral):一般而言,网络是由很多不同机型的机器所组合而成的,CPU和作业系统体系结构均有所不同;因此,如火如荼使一个应用程序可以在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标文件格式(Object File Format);这使得编译码得以在很多种处理器中执行。

可移植的(Portable):原始资料形式的大小是被指定的,例如“float”一直是表示一个32位元IEEE754浮点运算数字,因绝大多数的CPU都具有此共同特征。程序库属于系统的一部分,它定义了一些可移植的程序接口,Java本身具备有很好的可移植性。

解释的(Interpreted):Java解释器能直接地在任何机器上执行Java位元码(Bytecodes),因此在进行程序连结时,时间的节省,这对于缩短程序的开发过程,有极大的帮助。

高效能的(High Performance):Java位元码迅速地能被转换成机器码(Machine Code),从位元码转换到机器码的效能几乎与C于与C++没有分别。

多线程的(Multi threaded):Java语言具有多线程的功能,这对于交互回应能力及即时执行行为是有帮助的。

动态的(Dynamic):Java比C或C++语言更具有动态性,更能适应时刻在变的环境,Java不会因程序库的更新,而必须重新编译程序。

正如上文所述,Java是一种成熟的语言又有其他语言所不具有的特点,所以本系统采用Java编程实现。

2.2 Java的开发工具

现在常用的Java项目开发环境有:JBuilder、VisualAge for Java、Forte for Java、Visual Cafe、Eclipse、NetBeans IDE、JCreator+J2SDK、jdk+记事本、EditPlus+J2SDK等等。一般开发J2EE项目时都需要安装各公司的应用服务器(中间件)和相应的开发工具,在使用这些开发工具之前,我们最好能熟知这些软件的优点和缺点,以便根据实际情况选择应用。编程工具只是工具,为了方便人们工作而开发的,各有特点,本次学生选课系统我们选择了Ecilpse,下面对其进行介绍。

EClipse是一种可扩展的开放源代码IDE。2010年11月,IBM公司捐出价值4000万美元的源代码组建了EClipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发\构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了EClipse平台。EClipse允许在同一IDE 中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。

EClipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的一直接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Java 类的描述。任何EClipse插件定义的扩展点都能够被其他插件使用,反之,任何EClipse插件也可以遵从其他插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如火如和被使用。

利用EClipse,可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用EClipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由于EClipse 并不了解开发语言,所以无论Java语言调试器、还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。

EClipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的Visual Studio和Sun微系统公司的NetBeans平台。EClipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。这是一款非常受欢迎的Java开发工具,这国内的用户越来越多,实际上使用它Java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来比较困难。

第三章学生选课系统的需求分析

在选择了开发工具后将对系统进行需求分析,以确保程序的结构清晰明朗,所以本章节将对学生选课系统的功能和结构进行分析,以及数据库的构建进行简单说明。

3.1学生选课系统功能分析

选课系统的核心是选课功能。学生在选课以前,必须通过系统的身份验证后,然后就可以选定自己的选修课程。当然,学生也能删除选错或者误选的课程。另外,选课系统还提供了课程查看功能。

3.2 学生选课系统总体设计

图3-1 学生选课系统总体设计图

3.3学生选课系统数据库需求分析

通过对学生选课系统工作内容和相关数据流程分析,根据学生选课系统的需要,以及系统功能设计的要求以及功能模块的划分,就可以设计出满足用户需求的各种实体。

该系统由登陆模块、学生模块两部分组成,其功能如下。

3.3.1 用户登陆

登陆模块包括用户名、密码的输入框,当用户名或密码输入错误时系统会报错。

3.3.2 学生登陆

学生登陆后就可依次输入所要选的课程的课程ID 、课程名、学时、学分、学期、性质,提交便可选课成功,但是如果选课人数已满,那么选课便不会成功,成功的页面会提示还剩多少人可选这门课程。

3.3.3 数据库的构建

对于学生选课系统数据库,可以列出以下数据项和数据结构:

用户登陆 课程模块 学生模块 删除课程

查询课程 编辑课程 删除学生 查询学生 编辑学生 添加课程 添

加学

学生信息:学号、姓名

课程信息:课程ID、课程名、学时、学分、学期、性质

第四章学生选课系统的实现

在系统的功能和结构分析完后,程序可以进行编写,本章节将对程序进行介绍,然后介绍了系统的运行环境,最后展示了程序完成后的界面截图。

4.1 学生选课系统程序及注释

public class StudentChooseCourse extends JFrame implements ActionListener {

JTextField jtfSearch = new JTextField(11);

String[] columnNames = new String[] { "课程ID", "课程名", "学时", "学分", "学期", "性质" };

DefaultTableModel dtmSearch = new DefaultTableModel(columnNames, 27);

JTable jtSearch = new JTable(dtmSearch);

JScrollPane jspSearch = new JScrollPane(jtSearch);

JComboBox jcbSearch = new JComboBox();

JTextField jtfSelectedCourse = new JTextField(10);

Connection con = null;

PreparedStatement ps = null;

ResultSet rs = null;

private static String usrName;

private static String passwrd;

//在构造方法中添加两个参数。以便在"提交"时,将学生的身份连同所选的课程,一同记录在学生选课表中。

public StudentChooseCourse(String usrName, String passwrd) {

createSearchCourse();

https://www.360docs.net/doc/3917784477.html,rName = usrName;

this.passwrd = passwrd;

}

public String getUsrName() {

return usrName;

}

public void setUsrName(String usrName) {

https://www.360docs.net/doc/3917784477.html,rName = usrName;

}

public String getPasswrd() {

return passwrd;

}

public void setPasswrd(String passwrd) {

this.passwrd = passwrd;

}

//根据用户的时间,做出相应的反映

public void actionPerformed(ActionEvent e) {

String str = e.getActionCommand();

//清空结果显示区中的内容,如果有的话。

if ("查询".trim().equals(str)) {

int k = 1;

while (k < 10) {

for (int i = 1; i < 7; i++) {

jtSearch.setValueAt(null, k - 1, i - 1);

}

k++;

}

//调用下面的这个方法,在数据库中进行查找,并将结果显示在表格中。

searchAvailableCourse();

} else if ("提交".equals(str)) {

//processBeforeCommit()对用户选课操作进行有效性检验;

//剔除无效操作:如输入无效的课程号,或已经选择了某一课程,已经选满的6学分等各种情况

boolean effect=processBeforeCommit();

//如果课程存在,且该学生具有选择该课程的资格,即effect为true,进入正式提交程序(tryCommit())

if(effect==true)

{tryCommit();}

}

}

//对用户选课操作进行有效性检验;

public boolean processBeforeCommit(){

//清空原结果显示区中的内容,如果有的话。

int k = 1;

while (k < 10) {

for (int i = 1; i < 7; i++) {

jtSearch.setValueAt(null, k - 1, i - 1);

}

k++;

}

//取得用户输入的课程号

String userInput = jtfSelectedCourse.getText().toString().trim()

.toLowerCase();

//无效操作1:在数据库中的coursexx表中查询该课程号。如果不存在该课程,给出提示。

String sql = "select cno from coursexx where cno=? ";

boolean flagCourseExist = false;

try {

ps = con.prepareStatement(sql);

ps.setString(1, userInput);

rs = ps.executeQuery();

flagCourseExist = rs.next();

} catch (Exception eC) {

eC.printStackTrace();

}

if (!flagCourseExist) {

JOptionPane.showMessageDialog(null, "该课程不存在,请重新输入");

return false;

}

//判断该学生选修课已选课程的总学分是否小于6;

//无效操作2:如果已有选课记录,并且总学分大于6学分,该学生不能在选了。PreparedStatement ps = null;

sql = "select sum(grade) "

+ "from (select x.sname , https://www.360docs.net/doc/3917784477.html,o,k.grade grade "

+ "from coursexx k join choicesxx x "

+ "on https://www.360docs.net/doc/3917784477.html,o=https://www.360docs.net/doc/3917784477.html,o and x.sname=?) result";

String grade =null;

try {

ps = con.prepareStatement(sql);

ps.setString(1, usrName);

rs = ps.executeQuery();

while (rs.next()) {

grade = rs.getString(1);

if(grade==null){grade="0";}

}

} catch (Exception rrr) {

rrr.printStackTrace();

}

System.out.println("总学分:" + grade);

if (Integer.parseInt(grade) > 6) {

JOptionPane.showMessageDialog(null, "你已经选满6学分,系统将退出"); this.setVisible(false);

return false;

}

//无效操作3:课程该学生已经选择了某课程,则不能再选该课程了。

sql = "select * from choicesxx where sname=? and cno=?";

boolean flag = false;

try {

ps = con.prepareStatement(sql);

ps.setString(1, this.getUsrName());

ps.setString(2, userInput);

rs = ps.executeQuery();

flag = rs.next();

} catch (Exception eaa) {

eaa.printStackTrace();

}

if (flag) {

JOptionPane.showMessageDialog(null, "你已经选择了该课程。请另选课程"); return false;}

//如果以上无效操作都不存在,则返回true,意为这是一个准有效操作

return true;

}

//对有效的提交操作的进行处理

public void tryCommit() {

// userInput为用户输入的课程ID.

String userInput = jtfSelectedCourse.getText().toString().trim()

.toLowerCase();

// if course still available(count

// else if course not available,show Message to student.

PreparedStatement ps;

String sql = "select (Max-selectedCount) as RemainedCount "

+ "from Coursexx where cno=?";

try {

ps = con.prepareStatement(sql);

// 取得学生ID或名字,将课程ID存入学生选课表choicesxx

ps.setString(1, userInput);

rs = ps.executeQuery();

ResultSetMetaData meta = rs.getMetaData();

int cols = meta.getColumnCount();

int RemainedCount = -1;

while (rs.next()) {

RemainedCount = rs.getInt(1);

System.out.println("RemainedCount:" + RemainedCount);

}

//如果该课程还有选择的名额,提示单项选课操作成功。

if (RemainedCount > 0) {

// save studentId and courseId to student-course table.

// this.getUsrName();userInput

sql = "insert into choicesxx values(?,?)";

ps = con.prepareStatement(sql);

ps.setString(1, this.getUsrName());

ps.setString(2, userInput);

ps.executeUpdate();

JOptionPane.showMessageDialog(null, "选课成功:" + this.getUsrName() + " 选了" + userInput + "." + "" + " 还有" + RemainedCount

+ " 人可以选该课程。");

// 更新课程中已选该课程的人数:即将可选该课程的人数减去1个人。sql = "update CourseXX set selectedCount=selectedCount+1 where cno=?"; ps = con.prepareStatement(sql);

ps.setString(1, userInput);

ps.executeUpdate();

https://www.360docs.net/doc/3917784477.html,mit();

//如果该课程已经没有选择名额,提示重新选课

}

} catch (Exception es) {

es.printStackTrace();

try {

con.rollback();

} catch (Exception ey) {

ey.printStackTrace();

}

}

}

//对用户查询课程信息,进行处理,并显示查询结果

public void searchAvailableCourse() {

// 让程序自动选择连接的是Oracle或SqlServer.

if (JDBCUtil.getConnection() != null) {

System.out.println(JDBCUtil.getConnection());

con = JDBCUtil.getConnection();

} else {

con = JDBCUtil.getConnection();

}

//userInput取得用户输入的信息,selectedItem取得用户选择的查询方式

String userInput = jtfSearch.getText().toString().trim().toLowerCase();

String selectedItem = jcbSearch.getSelectedItem().toString().trim();

System.out.println("User search:" + userInput);

System.out.println("selectedItem:" + selectedItem);

String sql = null;

//按用户查询方式,如按课程名,课程ID或学时的查询进行处理;并在表格中实现结果

try {

if ("课程名".equals(selectedItem)) {

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where cname = ?";

ps = con.prepareStatement(sql);

ps.setString(1, userInput);

} else if ("课程ID".equals(selectedItem)) {

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where cno = ?"; ps = con.prepareStatement(sql);

ps.setString(1, userInput);

} else if ("学时".equals(selectedItem)) {

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where hour = ?"; ps = con.prepareStatement(sql);

ps.setInt(1, Integer.parseInt(userInput));

} else if ("学分".equals(selectedItem)) {

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where grade = ?"; ps = con.prepareStatement(sql);

ps.setInt(1, Integer.parseInt(userInput));

} else if ("学期".equals(selectedItem)) {

sql = "select cno,cname,hour,grade,term,isNeed from CourseXX where term = ?"; ps = con.prepareStatement(sql);

ps.setString(1, userInput);

}

System.out.println(sql);

rs = ps.executeQuery();

https://www.360docs.net/doc/3917784477.html,mit();

ResultSetMetaData meta = rs.getMetaData();

int cols = meta.getColumnCount();

String result = null;

int k = 1;

boolean flag = false;

//将查询结果以表格的形式显示出来

while (rs.next()) {

for (int i = 1; i <= cols; i++) {

result = rs.getString(i);

System.out.println(result);

jtSearch.setValueAt(result, k - 1, i - 1);

}

k++;

flag = true;

}

//如果查询结果集为空,提示用户没有该课程

if (flag == false) {

JOptionPane.showMessageDialog(null, "该课程不存在,请重新输入");

return;

}

} catch (Exception ex) {

ex.printStackTrace();

try {

con.rollback();

} catch (Exception er) {

er.printStackTrace();

}

}

}

//当某学生有效登录后,启动程序(将学生的登录信息也传过来,以便保存选课操作时使用)

public static void main(String[] args) {

//String usrName = "xuliang";

//String passwrd = "123";

new StudentChooseCourse(usrName, passwrd);

}

}

4.2 系统运行环境

由于本系统开发时用到SQL2012数据库、SQLJDBC、JDK1.7、Eclipse,故其运行需要一定的系统环境。解压下载好的JDBC至D:\迅雷下载

\sqljdbc_4.0.2206.100_chs\sqljdbc_4.0 以及SQL2012至

C:\Program Files\Microsoft SQL Server。然后要配置好环境变量,在数据库里建表,然后将Java通过JDBC连接到SQL2012等。具体操作过程参见了

https://www.360docs.net/doc/3917784477.html,/content/14/0806/02/15319145_399731507.shtml、

https://www.360docs.net/doc/3917784477.html,/Program/java/201211/113769.shtml。

4.3学生选课系统运行截图

4.3.1 登陆页面(起始页)

图4-1 登陆页面截图

输入用户名和密码并且选择用户类型即可登陆到相应用户类型的主界面。

图4-2 登陆信息错误提示截图

但是如果用户名或密码错误就会跳转到如上的提示界面。

4.3.2 学生操作界面

图4-3 带选课界面截图登陆之后学生可以看到如上的待选课界面。

学生信息管理系统(Java)+代码

学生信息管理系统设计 1、系统简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。 管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2、功能设计 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。

学生信息管理模块结构图 2、课程信息管理模块 课程信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。 课程信息管理模块结构图 3、选课信息管理模块 选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。 选课信息管理模块结构图 4、成绩信息管理模块 成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图所示。

成绩信息管理模块结构图 5、用户信息管理模块 用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。 用户信息管理模块结构图 3、数据库设计 在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。

基于jsp(java)学生选课系统的设计和开发

基于jsp学生选课系统的设计 姓名 系别、专业 导师姓名、职称 完成时间

基于JSP的学生选课系统 张三 内容摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。 关键词:选课、课程信息发布、B/S、JSP

目录 第一章引言 第二章相关技术介绍 第一节Java技术 (2) 第二节Servlet技术 (3) 第三节Jsp技术 (4) 第四节开发软件介绍 (5) 4.1 eclipse平台 (5) 4.2 Tomcat服务器 (6) 4.3 SQL server 2000 (6) 第三章系统分析 第一节系统功能模块划分 (8) 第二节系统功能类别划分 (8) 第三节系统维护 (9) 3.1 课程基本资料维护 (9) 3.2 系部维护 (10) 3.3 管理员维护 (10) 第四节学生选课 (10) 4.1 课程预览 (10) 4.2 选课 (10) 4.3 退课 (11) 4.4 修改密码 (11) 第五节教师课程查询 (12) 5.1 查询课程情况 (12) 5.2 修改密码 (12) 第四章系统功能设计 第一节系统功能设计图 (13) 第二节数据库设计 (13) 第三节页面及功能设计 (14) 第五章总结

学生信息管理系统java课程设计(含源代码)

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩:

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

基于JAVA语言的学生选课管理系统的设计与实现.

基于JAVA语言的学生选课管理系统的设计与实现 开发背景 ?随着我国国民经济的飞速发展,电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了 开发意义 ?课题库建设是教育现代化的需要,是教考分离、最大限度提高办学效益、实行标准化考试的需要,也是课程建设的一个重要组成部分。用试题库进行考试是命题方式的重要改革,是实现由传统人工命题到采用计算机随机命题的根本性转变。现代化的考试方法、考试手段,具有无比的优越性和强大的生命力,是教育现代化不可或缺的组成部分。由于从组织出卷到试卷的印制及试卷的管理等工作非常繁琐,工作量很大,而且试卷的标准化程度、难易程度、题量大小等各方面难以控制。因此,本课题组针对试题本身内容、试题管理方面,对试题的设计和试题库的运行机制进行研究,利用计算机进行试卷的自动生成并逐步积累形成有效的试题库,这不仅克服了个人命题中容易出现的片面性、随意性,而且要保证组卷客观性和科学性,对试题和试卷的管理将变得高效而便捷,对提高工作效率,使试卷管理逐步走向正规化、自动化,并进而实现课程管理的现代化,将起到十分重要的作用。 系统功能描述 ?学生选课管理系统根据实际使用对象,共分三个角色:管理员、教师和学生。主要划分为四个功能:个人信息管理功能、试题管理功能、试卷生成功能和信息查询功能。其中的关键是试题管理功能和组卷功能的设计。 系统功能描述 ?教师和管理员用户应具有的功能: (1对教师个人的信息的管理和查询。

基于java学生信息管理系统设计与实现

基于java的学生信息管理系统设计与实现

基于java的学生信息管理系统设计与实现 摘要:利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找便、可靠性高、存储量大、保密性好。本设计就是一个为实现信息化管理而开发的信息管理系统,能够进行信息存储、查询、修改等能功。该系统由六个模块构成,包括学生管理系统的主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据库操作模块。通过这些模块的有机结合,能便的对学生信息进行综合管理,从而实现了信息化管理的目的。由于本人的能力有限,设计过程中难免有不足之处,设计中的存在问题本人将在日后进一步修改,以便让程序的设计更加完善。 关键词:oracle; 异常处理;关系模型

目录 1 引言 0 1.1背景及意义 (3) 1.2 实验技术选择 (4) 1.3 课题实现技术的简要说明 (7) 1.4可行性分析 (8) 2系统需求分析 (9) 3 学生信息管理系统设计 (10) 3.1数据模型分析与设计 (10) 3.2 结构设计与结构功能图 (13) 3.2.1 结构设计 (13) 3.2.2 功能结构图 (13) 4 系统实现 (15) 5 系统调试与测试 (20) 5.1系统功能测试 (20) 5.2系统调试常见错误 (20) 6 实验小结 (22) 参考文献 (22)

1 引言 1.1背景及意义 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的式管理文件档案、统计和查询数据,这种管理式存在着多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查询便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规化、自动化,从而达到提高学生信息管理效率的目的。本课题就是针对便于学生信息管理的问题而设计的一个管理系统。

java学生选课系统

需求分析:写一个较为严谨的学生选课系统,实现学生可以选择多门选课课程,并将有效选课结果保存到数据库。学生需要登录后,才能选课。让学生可以在选课系统通过多种方式查询到要选的课程信息。 //选课规则:1、每个学生可以选多门课程,多次选课的总学分不能超过6学分;2、不能重复选择一门课程;3、每一门课程的选课人数都有数量限制,当某门课程的选课名额满时,则应另选课程。4、凭用户名和密码登录,通过提交某一课程号来选课 //总体设计方案:建立三个类:登录类register,选课类studentChooseCourse,数据库工具类JDBCUtil;一个SQL脚本文件用于生成数据库表结构和初始记录,以搭建数据库环境。 登录类register类,负责对用户的身份进行验证;工具类JDBCUtil用于实现连接,你可调用JDBCUtil的getConnection()方法等到链接。 选课类studentChooseCourse用于,实现选课功能。其中包括几个主要方法: 1、actionPerformed(ActionEvent) 用于监听用户“查询”和“提交”操作,并负责调用各种方法对其进行处理 2、createSearchCourse()用于产生图形用户界面 3、processBeforeCommit()用于对用户的“提交”查找进行验证,剔除无效的用户操作 4、tryCommit()负责对有效的“提交”操作,进一步处理,并将有效的操作结果时时保存到数据库,并更新数据库原有信息 //本程序用到的知识点:数据库连接JDBC;SQL建表、插入输入、动态查询;图形用户界面的产生以及处理查询结果集并较好显示;程序设计基础知识。 //代码如下: import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; import school.schoolPicture.JdbcUtil; public class StudentChooseCourse extends JFrame implements ActionListener { JTextField jtfSearch = new JTextField(11); String[] columnNames = new String[] { "课程ID", "课程名", "学时", "学分", "学期", "性质" }; DefaultTableModel dtmSearch = new DefaultTableModel(columnNames, 27); JTable jtSearch = new JTable(dtmSearch); JScrollPane jspSearch = new JScrollPane(jtSearch); JComboBox jcbSearch = new JComboBox(); JTextField jtfSelectedCourse = new JTextField(10); Connection con = null; PreparedStatement ps = null; ResultSet rs = null; private static String usrName;

(完整版)JAVA学生管理系统源代码

JA V A学生管理系统源代码 一、程序 import java.util.*; public class Test {//主程序 public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.println("------请定义学生的人数:------"); Student[] stuArr = new Student[in.nextInt()]; Admin adminStu = new Admin(); while(true){ System.out.println("-----请选择你要执行的功能-----"); System.out.println("10:添加一个学生"); System.out.println("11:查找一个学生"); System.out.println("12:根据学生编号更新学生基本信息"); System.out.println("13:根据学生编号删除学生"); System.out.println("14:根据编号输入学生各门成绩"); System.out.println("15:根据某门成绩进行排序"); System.out.println("16:根据总分进行排序"); System.out.println("99:退出系统"); String number = in.next(); if(number.equals("10")){ System.out.println("请输入学生的编号:"); int num = in.nextInt(); System.out.println("请输入学生的姓名:"); String name = in.next(); System.out.println("请输入学生的年龄:"); int age = in.nextInt(); adminStu.Create(num,name,age,stuArr);//添加学生}else if(number.equals("11")){ System.out.println("执行查找学生基本信息的操作"); System.out.println("请输入学生的编号进行查找:"); int num = in.nextInt(); adminStu.find(num,stuArr);//查找学生 }else if(number.equals("12")){ System.out.println("执行更新学员的基本信息操作"); System.out.println("请输入学生的编号:"); int num = in.nextInt(); System.out.println("请输入学生的姓名:"); String name = in.next();

学生管理系统Java

实现一个简单的学生管理系统,能支持学生数据(Student)的显示、增加、修改和删除等操作,学生信息包括学号、姓名、性别、专业等。具体要求如下: 学生数据按对象序列化写入文件 程序启动后,从文件读取学生对象存入ArrayList中; 增加学生数据时将学生对象Student存入ArrayList,按保存后再写入; 删除学生必须输入学生的学号; 修改学生必须输入学号,然后输入姓名、性别和专业进行修改; 保存时将当前ArrayList中的所有学生对象写入; 退出前也要将当前ArrayList中的所有学生对象写入; 设计一个操作菜单,包括“增加”、“修改”、“删除”、“显示”、“保存”、“退出”等6个选项。import ; import ; import ; import ; import ; import ; import ; import ; import ; class Student implements Serializable { int id; String name; String sex; String zuanYe; public Student() { id = 0; name = "wu"; sex = "男"; zuanYe = "English"; } public Student(int id, String name, String sex, String zuanYe) { = id; = name; = sex; = zuanYe; } public void output() { ("学号:" + id); (",姓名:" + name); (",性别:" + sex); (",专业:" + zuanYe); } } public class StuInfoSystem {

java学生管理系统实训报告

Java学生管理系统 实训报告 学号: 姓名: 班级: 指导老师:

一、项目计划 (1)项目名称:学生信息管理系统 (2)实训地点: (3)小组成员: 二、系统总体设计 (1)需求分析 学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误,混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。 通过实际调查,要求学生信息管理系统具有以下功能: 1.界面设计美观大方,方便,快捷,操作灵活。 2.实现强大的学生个人信息,课程信息,成绩信息的查询,修改, 录入,删除管理。 3.实现强大的联系人信息及其类别的查询,录入,删除管理。 4.能够在不同的的操作系统下运行,不局限于特定的平台。 5.提供数据库备份与恢复功能。 6.提供友情平台,例如:计算机,方便对成绩的操作; (2)项目计划安排 一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。有计划、有步骤地进行软件开发,除了可以提高开发进度

外,更能明确项目组各成员之间的职责及任务。项目进度表要安排每个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。(3)概要设计 概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。概要设计要坚持以下几个原则:1:细分原则2:提高代码重用性:3:从上而下层层分析4:一致性原则5:提高独立性6:模块的大小要尽量适中。由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。 (4)详细设计 概要设计是为了明确开发人员的工作步骤和工作目标。详细设计使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。(5)数据表设计 根据系统所需,可以得出需要以下数据表信息: 需要管理学生信息:学生表。 需要管理教师信息:教师表。 需要管理课程信息:课程表。 需要管理选课信息:选课表。 需要管理院系信息:院系表。 需要管理管理员信息:管理员表。

学生选课管理系统JAVA

1.设计的原始资料及依据 查阅有关数据库设计、Java语言程序设计以及案例分析等资料,进一步熟悉面向对象程序设计基本理论以及基本思想。本设计要求按照软件工程、数据库设计思想及设计步骤设计一个实用程序,并采用Java开发该系统。通过本设计可以加深对面向对象程序设计基本思想的理解,加强学生研发、调试程序的能力,培养学生分析、解决问题的能力,提高学生的科技写作能力。 2.设计的主要内容及要求 (1)写出系统的需求分析。 (2)写出系统的数据库设计过程,包括概念结构设计、逻辑结构设计、物理结构设计。 (数据库应用程序管理系统类设计详细写,其它类设计可以略) (3)写出系统设计思路—工作原理、功能规划。 (4)详细设计—数据分析、算法思路、类设计、功能实现(包括程序流程图、主要代码及注释)、界面等。 (5)运行调试与分析讨论--给出运行屏幕截图,分析运行结果,有何改进等。 3.对设计说明书撰写内容、格式、字数的要求 (1)学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。 (2)装订格式: 封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、结论、致谢、参考文献。 (3)课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。 4.设计完成后应提交成果的种类、数量、质量等方面的要求 (1)每组提交一份课程设计报告。 (2)每组提交一份课程设计成品。 5.时间进度安排 顺序阶段日期计划完成内容备注 1 充分解读题目内容,进行需求分析设计。 2 系统功能结构设计,数据库设计。 3 单元模块设计及调试。 4 单元模块设计及调试。 5 单元模块设计及调试。 6 单元模块设计及调试。 7 单元模块设计及调试。 8 模块集成与测试 9 6 程序测试与完善 10 成绩评定以及撰写课程设计报告 6.主要参考资料(文献) [1] 耿详义.JA V A2教程.北京:清华大学出版社,2004。

基于JAVA学生信息管理系统(含源文件)

江西科技师范大学毕业设计(论文) 学生姓名: 题目(中文):基于Java的学生信息管理系统 (外文):Student Information Management System based on Java 院(系):数学与计算机科学学院 专业:计算机科学与技术 年级:学号: 指导教师: 时间:2016 年 4 月 2016年4月20日 目录

1.引言 (1) 1.1 项目开发背景和意义 (1) 1.2 国内外的研究现状 (1) 2.系统主要技术及开发环境介绍 (2) 2.1 Java语言 (2) 2.2 Eclipse简介 (2) 2.3 Mysql概述 (2) 2.4 jsp技术概述 (3) 3.系统需求分析 (3) 3.1功能需求分析 (3) 3.2框架结构设计分析 (4) 3.3用户需求分析 (4) 4.系统概要设计 (5) 4.1系统结构图 (5) 4.2系统主要功能模块设计 (5) 4.3程序流程图 (7) 4.4数据库设计 (8) 4.4.1数据库概念结构设计 (9) 4.4.2数据库逻辑结构设计 (11) 5.系统实现 (13) 5.1登录模块系统实现 (13) 5.2基本信息管理实现 (14) 5.3成绩管理实现 (21) 5.4课程管理实现 (23) 5.5班级管理实现 (26) 6.总结和展望 (28) 6.1总结 (28) 6.2 展望 (29)

参考文献 (29)

基于Java的学生信息管理系统 摘要:基于Java的学生信息管理系统分为五大模块:登录管理、学生基本信息管理、成绩管理、课程管理和班级管理。本文详细介绍了前台界面的操作及后台数据库的链接,根据模块制定各个功能的所需界面的实现方法。该系统具有十分清晰友好的界面,操作界面简洁,便于使用。 关键字:学生信息管理;MYSQL;JA VA 1.引言 1.1 项目开发背景和意义 随着科学技术的快速发展和不断提高,尤其是计算机科学技术的日渐普及,其功能的强大以及运行速度已经被人们深刻地了解。近几年来高校的办学模式多元化和学校规模的扩大,为了实现对学生信息进行科学管理,因此开发一个简单快速规范的平台。学生的信息管理是教务管理的一个至关重要的部分,传统的方法不仅费人力和时间,而且效率低。如学生发生班级调动,传统的方法需要人工及时更改信息,十分复杂,使得该学生信息不能合理地配置。而使用计算机技术对学生档案信息进行管理的优点具有便于查找、检索快速、统计科学、保密性强、管理规范、节约成本等优点。 1.2 国内外的研究现状 学生信息管理工作是各大高校必不可少的管理工作之一,在学校占据重要的地位,它涉及到学生、老师和管理员等多方面。由于各大高校学生人数日益增长,因此研发出一款具有操作灵活且人性化的管理系统成为了迫切需要。 从国外看来许多高校一般是由技术强大稳定的队伍来完成该系统程序的设计与研制,或者是本校的某个院系。在西方电子管理系统的概念早已被学生引入,他们可以通过网络浏览学校的管理系统网站,以及学校的学术信息等。可以查看个人信息、考试成绩和课程,这种方式大大地减轻了人力和时间。 从国内研究现状来看,而国内的起步相对较晚,在信息安全和更新方面尚有欠缺,且建立单独的资料共享性差。随着数字校园理论的逐步应用,各高校不断地开发研制各种办公和教学管理等系统,已经成为了一种全面信息化建设体系。

java学生管理系统总结报告

成都东软信息技术职业学院期末项目报告 项目名称:学生管理系统 系别:计算机科学与技术系 年级专业:xx级软件技术 班级:x 学号:xx 学生姓名:xx xx年 xx 月 xx 日

1.项目内容及知识应用 1.1项目完成内容 首先实现登录模块,分为教室登录和学生登录 登录界面有一个下拉条分别为学生和教师,选中哪一个就会登录到相应的界面 学生管理系统分为两大块:学生和教师两个模块 学生登录后进入学生界面,学生界面有菜单项和按钮 学生界面里面有查询自己的成绩,查询自己的详细信息,还可以修改密码,修改自己的信息,菜单项还有帮助等按钮 教师界面里面可以增加学生,显示所有学生的成绩,查找学生,查询学生的详细信息,删除学生的成绩和删除学生,还有刷新和退出等功能 教室界面当点击选中学生时在上面的标签面板会显示学生的详细信息,当查询学生的详细信息时会之间进入该学生的学生面板,教师就可以对学生的信息进行修改 刚登录教师界面时系统启用了另外一个线程,会默认加载所有的学生成绩和信息,当教师点击“显示所有成绩”时就会马上把学生成绩的面板显示在界面上,所有教师就无需等待系统加载 教师界面当老师点击刷新时,会再启动一个线程来重新把学生的信息加载到内存然后显示到界面上 教师界面的成绩表中还有总分和平均分,系统加载的时候会自动计算每一个学生的总分和平均分 教师还可以直接在成绩表中修改学生的成绩,用以来会很方便,修改成绩后要点击刷新按钮来刷新总分和平均分 教室界面还增加了班级的分类,可以查看所有的班级,也可以查看一个班级的学生信息 学生管理系统还增加了上传照片的功能,每个学生都可以上传自己的照片,老师也可以帮学生上传照片

Java学生选课系统

成绩: 课程设计 (Java程序设计) 题目基于Java的学生选课系统 学院计算机与软件学院 专业计算机科学与技术 学号、姓名 指导教师 二○一四年十二月十八日

基于Java的学生选课系统 摘要:课程管理系统是一个学校中不可缺少的部分。课程管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式对课程进行查询、更新、选课等,这种管理方式存在着许多缺点,如:效率低、执行速度慢。另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、成本低、效率高等。这些优点能够极大地提高学生选课系统的效率,也是企业、学校的科学化、正规化管理和与世界接轨的重要条件。因此,开发这样一套管理系统已成为有必要的事情。 JA V A是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。本文中介绍了用JA V A语言实现课程管理系统的全部过程。 关键词:课程管理,Java,Eclipse,SQL,JDBC

目录 第一章前言 (1) 1.1 选课背景及意义 (1) 1.2 学生选课系统的发展和研究现状 (1) 1.3 各章节内容简介 (2) 第二章 Java语言以及开发工具 .................... 错误!未定义书签。 2.1 Java的背景知识介绍................................. 错误!未定义书签。 2.1.1 Java的起源 (2) 2.1.2 Java的特点 (2) 2.2 Java的开发工具 (3) 第三章学生选课系统的需求分析 (4) 3.1 学生选课系统功能分析 (4) 3.2 学生选课系统总体设计 (4) 3.3 学生选课系统数据库需求分析 (5) 3.3.1 用户登陆 (5) 3.3.2 学生登陆 (5) 3.3.3 数据库的构建 (5) 第四章学生选课系统的实现 (6) 4.1 学生选课系统程序及注释 (6) 4.2 系统运行环境....................................... 错误!未定义书签。 4.3 学生选课系统运行截图............................... 错误!未定义书签。 4.3.1 登陆页面(起始页)............................ 错误!未定义书签。 4.3.2 学生操作界面.................................. 错误!未定义书签。 第五章系统测试与维护 (19) 5.1 程序测试的目的 (19) 5.2 程序测试的意义 (19) 5.3 程序测试的原则 (19) 5.4 程序测试的流程 (21) 第六章总结与展望.............................. 错误!未定义书签。1参考文献....................................... 错误!未定义书签。1

简易的学生管理系统Java实现

stuno)){ "删除成功!"); student[i]=null; for(int j=i;j<;j++){ student[j]=student[j+1]; stuno)){ "查找成功!"); "学号:"+student[i].stuno+"姓名:"+student[i].name+ "数学成绩:"+student[i].math+"英语成绩:"+student[i].english+"电脑成绩:" +student[i]puter); break; }else{ "没有此学号学生!请重新查询"); } } } stuno)){ "修改后学号:"); ()); "修改后姓名:"); ()); "修改后数学成绩:"); ()); "修改后英语成绩:"); ()); "修改后电脑成绩:"); ()); student[i]=a; "修改成功!"); break; } "没有此学号的学生!"); } } tuno+" 姓名:"+student[i].name+ " 数学成绩:"+student[i].math+" 英语成绩:"+student[i].english+" 电脑成绩" +student[i]puter); } } } //统计学生的方法 public void infoStudent(){

int i=0; while(student[i]!=null){ i++; } "共用学生"+i+"名"); } public static void main(String[] args) { // TODO 自动生成的方法存根 //菜单:添加学生、删除学生,查找学生、修改学生、打印学生 //使用数组来实现对多个学生的管理 "\n\n\t欢迎使用学生管理系统"); "**********************************"); "1、添加学生\n2、删除学生\n3、查询学生\n4、修改学生\n5、打印学生\n6、统计学生"); boolean flag=true; while(flag){ Student a=new Student(); StudentGuanli d=new StudentGuanli(); in2 = new Scanner; "输入你选择的功能:"); int s=(); switch(s){ case 1: "输入你要添加学生的信息:"); (a); break; case 2: "输入你要删除的学生的学号:"); Scanner st=new Scanner; String n=(); (n); break; case 3: "输入你要查询的学生的学号:"); Scanner st1=new Scanner; String hao=(); (hao); break; case 4: "输入你要修改学生的学号:"); Scanner st2=new Scanner;

毕业设计-基于JAVA的学生选课系统设计

基于JAVA的学生选课系统

摘要 课程管理系统是一个学校中不可缺少的部分。课程管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式对课程进行查询、更新、选课等,这种管理方式存在着许多缺点,如:效率低、执行速度慢,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、成本低、效率高等。这些优点能够极大地提高学生选课系统的效率,也是企业、学校的科学化、正规化管理和与世界接轨的重要条件。因此,开发这样一套管理系统已成为很有必要的事情。 JAVA是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。本文中介绍了用JAVA 语言实现课程管理系统的全部过程。 关键词课程管理 / Eclipse / Java / SQL Server

The curriculum management system based on Java ABSTRACT Course management system is a essential part of the school. Course management system should be able to provide users with adequate information and fast search tool. But along the way people use the traditional curriculum manual query, update, course selection, etc., such management, there are many drawbacks, such as: low efficiency, the implementation was slow, also over time will produce a large number of files and data , This is to find, update and maintain have brought many difficulties. With the continuous improvement of science and technology, computer science, the maturing of its powerful features for people to deepen their understanding, that it has entered all fields of human society and play an increasingly important role. As part of computer applications, using a computer to manage information on course selection, management has the incomparable advantage of hand. For example: quick search, find convenient, high reliability, large memory capacity, low cost and high efficiency. These advantages can greatly improve the efficiency of student elective system, but also businesses, schools, scientific and standardized management and an important condition for integration with the world. Therefore, developing such a management system has become a very necessary thing. JAVA is a very good programming language, object oriented, platform-independent, secure, stable and multi-threading features of the software design is very robust programming language. This article introduces the use of JAVA language course management system, the entire process. KEY WORDS Online test, B/S, JSP, SQL Server

基于JAVA的学生选课系统设计与实现毕业设计

(课程)毕业设计 设计题目:基于JAVA的课程管理系统的设计与实现 设计时间: 学生姓名学号 专业网络工程班级 08技网络 指导教师技术职称 2012 年 4 月 20 日

摘要 课程管理系统是一个学校中不可缺少的部分。课程管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式对课程进行查询、更新、选课等,这种管理方式存在着许多缺点,如:效率低、执行速度慢,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、成本低、效率高等。这些优点能够极大地提高学生选课系统的效率,也是企业、学校的科学化、正规化管理和与世界接轨的重要条件。因此,开发这样一套管理系统已成为很有必要的事情。 JAVA是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。本文中介绍了用JAVA 语言实现课程管理系统的全部过程。 关键词课程管理 / Eclipse / Java / SQL Server

目录 第一章前言--------------------------------------------------------- 4第一节开发背景------------------------------------------------- 5第二节开发目标------------------------------------------------- 5第三节项目意义------------------------------------------------- 6第二章系统分析----------------------------------------------------- 7第一节需求分析------------------------------------------------- 7一功能需求----------------------------------------------------- 7二性能需求----------------------------------------------------- 7三其他需求----------------------------------------------------- 8四业务流分析--------------------------------------------------- 8五数据流分析--------------------------------------------------- 8第二节可行性研究报告------------------------------------------- 8第三节数据库选择----------------------------------------------- 9第四节运行环境------------------------------------------------- 9 1 数据库应用系统开发简介---------------------------------------- 9 2.mysql server简介------------------------------------------- 10第三章概要设计---------------------------------------------------- 11第一节功能模块划分-------------------------------------------- 11第二节系统功能结构图------------------------------------------ 11第四章详细设计---------------------------------------------------- 13第一节系统E-R图示-------------------------------------------- 13第二节信息要求---------------------------------------------- 15第三节模块设计------------------------------------------------ 16第四节数据表--------------------------------------------------- 17第五章数据库的实施和维护------------------------------------------ 20一.存储过程设计----------------------------------------------- 20二.触发器设计------------------------------------------------- 24第六章系统实现---------------------------------------------------- 26 一.用户登录界面------------------------------------------------ 26 二. 登录到学生界面图------------------------------------------- 27 三.学生成绩查询------------------------------------------------ 29 四.教师管理页面----------------------------------------------- 30 五.用户管理操作------------------------------------------------ 31 六.学生信息管理------------------------------------------------ 32第七章测试-------------------------------------------------------- 36结论--------------------------------------------------------------- 39致谢语------------------------------------------------------------- 39参考文献----------------------------------------------------------- 41

相关文档
最新文档