Java语言程序设计课程设计学生选课系统_第1页
Java语言程序设计课程设计学生选课系统_第2页
Java语言程序设计课程设计学生选课系统_第3页
Java语言程序设计课程设计学生选课系统_第4页
Java语言程序设计课程设计学生选课系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 10届 第二学年 三学期java语言程序设计小组课程设计项目报告书 小组名称: 小组题目: 学生选课系统 专 业: 信息管理与信息系统 班 级: 10级5班 姓 名: 指导教师: 完成日期: 2012年12月28日 学生信息管理系统1、问题描述 设计一个学生信息管理系统,该系统具备管理学生信息、课程信息、选课信息的功能:用户通过输入账号和密码进下该系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。全部都可以进行增加、修改、删除、模糊查询。为学生提供一系列的服务。其中我负责的是用户登陆界面和用户界面的设计。登录时,凡是账号密码未填写、输入错误账号密码都会提出错误提示框。

2、在填写好账号密码后,会读取数据库里admin表,并查询其输入是否存在,若无误,则登录到用户界面。用户界面能菜单栏有4个一级菜单,学生管理、课程管理、选课管理都能添加、修改、删除数据,分别操作数据库里的s表(学生),c表(课程),sc表(选课)。查询管理则可进行三个表的查询。2、开发环境搭建一、 jdk下载、安装及配置: jdk是整个java的核心,包括了java运行环境(java runtime envirnment),一堆java工具和java基础的类库(rt.jar)。第一步:下载 jdk的一个常用版本j2se(java2 sdk standard edition)可以从sun的java网

3、站上下载到:/j2se/downloads.html,我们建议下载最新版本的。当前最新版本为:j2se 5.0 jdk。第二步:安装 下载好的jdk是一个可执行安装程序,执行安装即可。安装完成在安装目录下会有jdk1.5.0和jre1.5.0两个文件夹。第三步:设置环境变量 打开“我的电脑 - 属性 - 高级 - 环境变量 - 系统变量”,设置以下三个变量: java_home= 如:我的为:e:/program files/java/jdk1.5.0classpath=.path=;如:我的为:e:/program files/java/jdk1.5.0/

4、bin3、系统功能:(1)进行系统的需求分析:该学生信息管理系统主要功能:学生通过输入学号和密码进入该系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。全部都可以进行增加、修改、删除、模糊查询。随着科学技术的发展和整个社会的进步,计算机技术也得到了很大的提高,特别是微型计算机的大范围普及,是计算机的应用逐渐有科学计算、实时控制等方面向非数值处理的各个领域渗透并发挥着越来越重要的作用。尤其是以微型计算机为处理核心,以数据库管理系统为开发环境的管理系统在办公室自动化以及商业信息管理等方面的应用,日益受到人们的关注。利用计算机进行信息控制和数据处理,不仅从整体上大大提高了工作

5、效率和安全性,而且具有存储量大,寿命长,成本低等优点,这些更是手工管理所无法比拟的。用计算机支持完成人事管理的日常事务,能够使人事管理自动化和科学化,提高了信息处理得速度和准确性;学生信息管理更是一项琐碎、复杂而又十分细致的工作,如果实行手工操作,会浪费工作人员很多时间和精力,且失误在所难免,而使用计算机进行学生信息管理,不仅能够保证学生信息准确无误,而且能对相关信息进行统计,总之,为了很好的实现数据的录入、修改、 添加、删除、查询、统计、登录等功能,已达到使学校学生信息信息管理科学化、系统化、规范化和自动化的目的,建立学生信息管理的需求。系统的设计目标 1.设计出一套简单、方便的小型学生信息

6、管理系统,方便学校对学生信息的管理。 2.在设计该学生管理系统的过程中,深化对java的学习,以便掌握java中的各种知识。系统的可行性分析技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求。此外,还要考虑开发人员的水平,经过学习,在编程方面有一定的基础。可行性分析分为两个方面,一方面是信息的录入,另一方面是信息的查询。这是一个小型的学生管理系统,从投入的人力、财力与物力来讲是非常小的,只要有电脑就可以了。从节省人力方面,可以让管理人员从繁冗复杂的工作中解脱出来,做更多的工作,可以给学生信息管理提高一个层次。(2)系统的总体设计各个模块的功能的使用()学生通过输入用户名和

7、密码,当显示登录成功后,单击确定按钮,可以进入系统主界面主界面提供了五个子模块,分别是一 学生管理二 课程管理三 选课管理四 查询管理五 系统退出选择其中的任一模块,可以进行相应的操作该程序所要达到的具体的要求是能够对学生信息,课程信息,选课信息的增加,修改,查询操作为学生网上选课作出最大的贡献()通过键盘输入用户名和密码在学生信息模块中输入学号,姓名,系别在课程信息模块中输入课号,课名在选课信息模块中输入课号,学号,成绩()以图形界面的方式输出学生所需要的信息()该模块程序只需要达到模糊查询的功能即可()每个模块实现后的显示界面及代码设计程序还在调试之中,过些时间就可成功。(3)详细设计 1

8、用户登陆界面的设计:登录时,凡是账号密码未填写、输入错误账号密码都会提出错误提示框。在填写好账号密码后,会读取数据库里admin表,并查询其输入是否存在,若无误,则登录到用户界面。 2用户界面设计:用户界面能菜单栏有4个一级菜单,学生管理、课程管理、选课管理都能添加、修改、删除数据,分别操作数据库里的s表(学生),c表(课程),sc表(选课)。查询管理则可进行三个表的查询。1表admin(用户表)fieldtypenullkeycomment usernamechar(10)pri用户名passwordchar(10)密码namechar(10)用户昵称2表s(学生信息表)fieldtypen

9、ullkeycomment snonvarchar(50)pri学号snamenvarchar(50)姓名sxnvarchar(50)系别3表c(课程信息表)fieldtypenullkeycomment cnonvarchar(50)pri课号cnamenvarchar(50)课名4表sc(学生信息表)fieldtypenullkeycomment cnonvarchar(50)pri课号snonvarchar(50)pri学号cnvarchar(50)成绩 4、任务模块分配表: 组长:陈功发负责数据库连接方面程序代码相关文档组员1:段晶负责用户登录界面和用户界面各程序代码相关文档组员2:程

10、磊负责添加,修改和删除界面各程序代码相关文档组员3:黄一媛负责模糊查询界面各程序代码相关文档5、测试数据import java.sql.drivermanager;import com.sun.corba.se.pept.transport.connection;public class tcon public static connection conn() string drivername = com.microsoft.sqlserver.jdbc.sqlserverdriver; /加载jdbc驱动string dburl = jdbc:sqlserver:/localhost:14

11、33; databasename=student; /连接服务器和数据库test,此处student是数据库名 string username = sa; /默认用户名 string userpwd = mima; /密码 connection dbconn=null; try class.forname(drivername); dbconn = (connection) drivermanager.getconnection(dburl, username, userpwd); system.out.println(connection successful!); /如果连接成功 控制台输

12、出connection successful! catch (exception e) e.printstacktrace(); return dbconn;import java.sql.*; public class testdb public static void main(string args) string drivername = com.microsoft.jdbc.sqlserver.sqlserverdriver; string dburl = jdbc:microsoft:sqlserver:/localhost:1433; databasename=pubs; str

13、ing username = sa; string userpwd = ; connection dbconn ; try class.forname(drivername); dbconn = drivermanager.getconnection(dburl, username, userpwd); system.out.println(connection successful!); catch (exception e) e.printstacktrace(); 6、程序模块调用关系图。系统的功能模型(各个模块的调用关系)选课信息课程信息学生信息删除信息修改信息添加信息删除信息修改信息

14、添加信息删除信息修改信息添加信息查询管理选课管理课程管理学生管理学生信息管理系统 学生信息管理系统登录 登录系统成功密码或用户名错误帮助查询管理选课管理课程管理学生管理系统选课信息课程信息学生信息互动退出系统的数据模型7、源程序1.用户登录界面public class user extends jframe private jlabel use,password; private jtextfield k1;/用户名输入框 private jpasswordfield k2;/密码输入框 private jbutton b1,b2;/登录窗口public user(jframe f)super

15、(系统登录);container c=getcontentpane();c.setlayout(new flowlayout();use=new jlabel(username:);use.setfont(new font(serif,font.plain,20);password=new jlabel(password:);password.setfont(new font(serif,font.plain,20);k1=new jtextfield(12);k2=new jpasswordfield(12);b1=new jbutton(登录);b2=new jbutton(退出);/设置

16、登录方法bhandler b=new bhandler();exit d=new exit();b1.addactionlistener(b);b2.addactionlistener(d);/添加控件c.add(use);c.add(k1);c.add(password);c.add(k2);c.add(b1);c.add(b2);setbounds(600,300,250,150);setvisible(true);setresizable(false);setdefaultcloseoperation(jframe.exit_on_close);/主函数public static voi

17、d main(string args) user f1=new user(new jframe();2.用户界面import java.awt.*;import java.awt.event.*;import javax.swing.*;public class menu extends jframe implements actionlisteneraddstu 增加学生界面;updatastu 修改学生界面;delstu 删除学生界面;addc 增加课程界面;delc 删除课程界面;updatec 修改课程界面;addsc 增加选课界面;delsc 删除选课界面;updatesc 修改选课

18、界面;selstu 学生查询界面;jpanel pcenter;cardlayout card=null;jlabel label=null;jmenubar mb=new jmenubar();/菜单栏jmenu m1=new jmenu(学生管理);jmenuitem add1=new jmenuitem(add1 );jmenuitem updata1=new jmenuitem(updata1 );jmenuitem delete1=new jmenuitem(delete1 );jmenu m2=new jmenu(课程管理);jmenuitem add2=new jmenuitem

19、(add2 );jmenuitem updata2=new jmenuitem(updata2 );jmenuitem delete2=new jmenuitem(delete2 );jmenu m3=new jmenu(选课管理);jmenuitem add3=new jmenuitem(add3 );jmenuitem updata3=new jmenuitem(updata3 );jmenuitem delete3=new jmenuitem(delete3 );jmenu m4=new jmenu(查询管理);jmenuitem 学生查询=new jmenuitem(查询信息 );jm

20、enuitem m5=new jmenuitem(系统退出);font t=new font (sanerif,font.plain,12);public menu ()this.settitle(学生选课管理系统);try uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname();catch(exception e)system.err.println(不能设置外观: +e);/组合菜单addmenu1();addmenu2();addmenu3();addmenu4();addjmenubar();setjmenu

21、bar(mb);label=new jlabel(选课管理系统,jlabel.center);label.setfont(new font(宋体,font.bold,36);label.sethorizontaltextposition(swingconstants.center);label.setforeground(color.red);/点击事件add1.addactionlistener(this);updata1.addactionlistener(this);delete1.addactionlistener(this);m5.addactionlistener(this);ad

22、d2.addactionlistener(this);delete2.addactionlistener(this);updata2.addactionlistener(this);add3.addactionlistener(this);delete3.addactionlistener(this);updata3.addactionlistener(this);学生查询.addactionlistener(this);card=new cardlayout();pcenter=new jpanel();pcenter.setlayout(card);增加学生界面=new addstu();

23、修改学生界面=new updatastu(); 删除学生界面=new delstu();增加课程界面=new addc();删除课程界面=new delc();修改课程界面=new updatec();增加选课界面=new addsc();删除选课界面=new delsc();修改选课界面=new updatesc();学生查询界面=new selstu();pcenter.add(欢迎界面,label);pcenter.add(增加学生界面,增加学生界面);pcenter.add(修改学生界面,修改学生界面);pcenter.add(删除学生界面,删除学生界面);pcenter.add(增加

24、课程界面,增加课程界面);pcenter.add(删除课程界面,删除课程界面);pcenter.add(修改课程界面,修改课程界面);pcenter.add(增加选课界面,增加选课界面);pcenter.add(删除选课界面,删除选课界面);pcenter.add(修改选课界面,修改选课界面);pcenter.add(学生查询界面, 学生查询界面);add(pcenter,borderlayout.center);validate();setvisible(true);setbounds(400,150,400,280);setdefaultcloseoperation(jframe.exit

25、_on_close); addwindowlistener(new windowadapter()/关闭程序时的操作public void windowclosing(windowevent e)system.exit(0); );validate();private void addjmenubar() mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);private void addmenu4() m4.add(学生查询);m4.setfont(t);private void addmenu3() m3.add(add3);m3.

26、add(updata3);m3.add(delete3);m3.setfont(t);private void addmenu2() /将菜单加入到菜单栏中m2.add(add2);m2.add(updata2);m2.add(delete2);m2.setfont(t); private void addmenu1() m1.add(add1);m1.add(updata1);m1.add(delete1);m1.setfont(t); public void actionperformed(actionevent e)object obj=e.getsource();if(obj=m5)s

27、ystem.exit(0);elseif(obj=add1)card.show(pcenter,增加学生界面);elseif(obj=updata1) card.show(pcenter,修改学生界面);elseif(obj=delete1) card.show(pcenter, 删除学生界面);elseif(obj=add2) card.show(pcenter, 增加课程界面);elseif(obj=delete2) card.show(pcenter, 删除课程界面);elseif(obj=updata2) card.show(pcenter, 修改课程界面);elseif(obj=ad

28、d3) card.show(pcenter, 增加选课界面);elseif(obj=delete3) card.show(pcenter, 删除选课界面);elseif(obj=updata3) card.show(pcenter, 修改选课界面);elseif(obj=学生查询) card.show(pcenter, 学生查询界面);public static void main(string args) new menu();import java.awt.*;import javax.swing.*;import java.sql.*;import java.awt.event.*;pu

29、blic class addc extends jpanel implements actionlistenerjtextfield 课号,课名;jbutton 录入;public addc()try uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname();catch(exception e)system.err.println(不能设置外观: +e);课号=new jtextfield(12);课名=new jtextfield(12);录入=new jbutton(录入);录入.addactionlistener

30、(this);box box1=box.createhorizontalbox();/横放boxbox box2=box.createhorizontalbox();box box3=box.createhorizontalbox();box box4=box.createhorizontalbox();box1.add(new jlabel(课号:);box1.add(课号);box2.add(new jlabel(课名:);box2.add(课名);box4.add(录入);box boxh=box.createverticalbox();/竖放boxboxh.add(box1);boxh

31、.add(box2);boxh.add(box3);boxh.add(box4);boxh.add(box.createverticalglue();jpanel messpanel=new jpanel();messpanel.add(boxh);setlayout(new borderlayout();add(messpanel,borderlayout.center);validate();8、运行与测试public class user extends jframe private jlabel use,password; private jtextfield k1;/用户名输入框 p

32、rivate jpasswordfield k2;/密码输入框 private jbutton b1,b2;/登录窗口public user(jframe f)super(系统登录);container c=getcontentpane();c.setlayout(new flowlayout();use=new jlabel(username:);use.setfont(new font(serif,font.plain,20);password=new jlabel(password:);password.setfont(new font(serif,font.plain,20);k1=n

33、ew jtextfield(12);k2=new jpasswordfield(12);b1=new jbutton(登录);b2=new jbutton(退出);/设置登录方法bhandler b=new bhandler();exit d=new exit();b1.addactionlistener(b);b2.addactionlistener(d);/添加控件c.add(use);c.add(k1);c.add(password);c.add(k2);c.add(b1);c.add(b2);setbounds(600,300,250,150);setvisible(true);set

34、resizable(false);setdefaultcloseoperation(jframe.exit_on_close);/主函数public static void main(string args) user f1=new user(new jframe();import java.awt.*;import java.awt.event.*;import javax.swing.*;public class menu extends jframe implements actionlisteneraddstu 增加学生界面;updatastu 修改学生界面;delstu 删除学生界面

35、;addc 增加课程界面;delc 删除课程界面;updatec 修改课程界面;addsc 增加选课界面;delsc 删除选课界面;updatesc 修改选课界面;selstu 学生查询界面;jpanel pcenter;cardlayout card=null;jlabel label=null;jmenubar mb=new jmenubar();/菜单栏jmenu m1=new jmenu(学生管理);jmenuitem add1=new jmenuitem(add1 );jmenuitem updata1=new jmenuitem(updata1 );jmenuitem delete

36、1=new jmenuitem(delete1 );jmenu m2=new jmenu(课程管理);jmenuitem add2=new jmenuitem(add2 );jmenuitem updata2=new jmenuitem(updata2 );jmenuitem delete2=new jmenuitem(delete2 );jmenu m3=new jmenu(选课管理);jmenuitem add3=new jmenuitem(add3 );jmenuitem updata3=new jmenuitem(updata3 );jmenuitem delete3=new jmen

37、uitem(delete3 );jmenu m4=new jmenu(查询管理);jmenuitem 学生查询=new jmenuitem(查询信息 );jmenuitem m5=new jmenuitem(系统退出);font t=new font (sanerif,font.plain,12);public menu ()this.settitle(学生选课管理系统);try uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname();catch(exception e)system.err.println(不能设置

38、外观: +e);/组合菜单addmenu1();addmenu2();addmenu3();addmenu4();addjmenubar();setjmenubar(mb);label=new jlabel(选课管理系统,jlabel.center);label.setfont(new font(宋体,font.bold,36);label.sethorizontaltextposition(swingconstants.center);label.setforeground(color.red);/点击事件add1.addactionlistener(this);updata1.addact

39、ionlistener(this);delete1.addactionlistener(this);m5.addactionlistener(this);add2.addactionlistener(this);delete2.addactionlistener(this);updata2.addactionlistener(this);add3.addactionlistener(this);delete3.addactionlistener(this);updata3.addactionlistener(this);学生查询.addactionlistener(this);card=new

40、 cardlayout();pcenter=new jpanel();pcenter.setlayout(card); 增加学生界面=new addstu();修改学生界面=new updatastu(); 删除学生界面=new delstu();增加课程界面=new addc();删除课程界面=new delc();修改课程界面=new updatec();增加选课界面=new addsc();删除选课界面=new delsc();修改选课界面=new updatesc();学生查询界面=new selstu();pcenter.add(欢迎界面,label);pcenter.add(增加学

41、生界面,增加学生界面);pcenter.add(修改学生界面,修改学生界面);pcenter.add(删除学生界面,删除学生界面);pcenter.add(增加课程界面,增加课程界面);pcenter.add(删除课程界面,删除课程界面);pcenter.add(修改课程界面,修改课程界面);pcenter.add(增加选课界面,增加选课界面);pcenter.add(删除选课界面,删除选课界面);pcenter.add(修改选课界面,修改选课界面);pcenter.add(学生查询界面, 学生查询界面);add(pcenter,borderlayout.center);validate();

42、setvisible(true);setbounds(400,150,400,280);setdefaultcloseoperation(jframe.exit_on_close); addwindowlistener(new windowadapter()/关闭程序时的操作public void windowclosing(windowevent e)system.exit(0); );validate();private void addjmenubar() mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);private voi

43、d addmenu4() m4.add(学生查询);m4.setfont(t);private void addmenu3() m3.add(add3);m3.add(updata3);m3.add(delete3);m3.setfont(t);private void addmenu2() /将菜单加入到菜单栏中m2.add(add2);m2.add(updata2);m2.add(delete2);m2.setfont(t); private void addmenu1() m1.add(add1);m1.add(updata1);m1.add(delete1);m1.setfont(t)

44、; public void actionperformed(actionevent e)object obj=e.getsource();if(obj=m5)system.exit(0);elseif(obj=add1)card.show(pcenter,增加学生界面);elseif(obj=updata1) card.show(pcenter,修改学生界面);elseif(obj=delete1) card.show(pcenter, 删除学生界面);elseif(obj=add2) card.show(pcenter, 增加课程界面);elseif(obj=delete2) card.sh

45、ow(pcenter, 删除课程界面);elseif(obj=updata2) card.show(pcenter, 修改课程界面);elseif(obj=add3) card.show(pcenter, 增加选课界面);elseif(obj=delete3) card.show(pcenter, 删除选课界面);elseif(obj=updata3) card.show(pcenter, 修改选课界面);elseif(obj=学生查询) card.show(pcenter, 学生查询界面);public static void main(string args) new menu();imp

46、ort java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class selstu extends jpanel implements actionlistenerjtextfield 学号,姓名,系别;jbutton 查找;jtextfield 课号,课名;jbutton 查找1;jtextfield 课号1,学号1,成绩;jbutton 查找2; public selstu ()学号=new jtextfield(12);姓名=new jtextfield(12);系别=new

47、jtextfield(12);课号=new jtextfield(12);课名=new jtextfield(12);课号1=new jtextfield(12);学号1=new jtextfield(12);成绩=new jtextfield(12);查找=new jbutton(查找学生信息);查找1=new jbutton(查找课程信息);查找2=new jbutton(查找选课信息);box box1=box.createhorizontalbox();/横放boxbox box2=box.createhorizontalbox();box box4=box.createhorizon

48、talbox();box box5=box.createhorizontalbox();box box6=box.createhorizontalbox();box box7=box.createhorizontalbox();box1.add(new jlabel(学号:,jlabel.center);box1.add(学号);box1.add(new jlabel(姓名:,jlabel.center);box1.add(姓名);box1.add(new jlabel(系别:,jlabel.center);box1.add(系别);box2.add(查找);box4.add(new jlabel(课号:,jlabel.center);box4.add(课号);box4.add(new jlabel(课名:,jlabel.center);box4.add(课名);box6.add(查找1);box5.add(new jla

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论