Java语言程序设计课程设计-学生选课系统 .doc

上传人:小小飞 文档编号:5090025 上传时间:2020-02-01 格式:DOC 页数:23 大小:223KB
返回 下载 相关 举报
Java语言程序设计课程设计-学生选课系统 .doc_第1页
第1页 / 共23页
Java语言程序设计课程设计-学生选课系统 .doc_第2页
第2页 / 共23页
Java语言程序设计课程设计-学生选课系统 .doc_第3页
第3页 / 共23页
Java语言程序设计课程设计-学生选课系统 .doc_第4页
第4页 / 共23页
Java语言程序设计课程设计-学生选课系统 .doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《Java语言程序设计课程设计-学生选课系统 .doc》由会员分享,可在线阅读,更多相关《Java语言程序设计课程设计-学生选课系统 .doc(23页珍藏版)》请在三一文库上搜索。

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、站上下载到:http:/ 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/bin3、系统功能:(1)进行系统的需求分析:该学生信息管理系统主要功能:学生通过输入学号和密码进入该系统后,可以

4、进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。全部都可以进行增加、修改、删除、模糊查询。随着科学技术的发展和整个社会的进步,计算机技术也得到了很大的提高,特别是微型计算机的大范围普及,是计算机的应用逐渐有科学计算、实时控制等方面向非数值处理的各个领域渗透并发挥着越来越重要的作用。尤其是以微型计算机为处理核心,以数据库管理系统为开发环境的管理系统在办公室自动化以及商业信息管理等方面的应用,日益受到人们的关注。利用计算机进行信息控制和数据处理,不仅从整体上大大提高了工作效率和安全性,而且具有存储量大,寿命长,成本低等优点,这些更是手工管理所无法比拟的。用计算机支持完成人事管理的日常

5、事务,能够使人事管理自动化和科学化,提高了信息处理得速度和准确性;学生信息管理更是一项琐碎、复杂而又十分细致的工作,如果实行手工操作,会浪费工作人员很多时间和精力,且失误在所难免,而使用计算机进行学生信息管理,不仅能够保证学生信息准确无误,而且能对相关信息进行统计,总之,为了很好的实现数据的录入、修改、 添加、删除、查询、统计、登录等功能,已达到使学校学生信息信息管理科学化、系统化、规范化和自动化的目的,建立学生信息管理的需求。系统的设计目标 1.设计出一套简单、方便的小型学生信息管理系统,方便学校对学生信息的管理。 2.在设计该学生管理系统的过程中,深化对JAVA的学习,以便掌握JAVA中的

6、各种知识。系统的可行性分析技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求。此外,还要考虑开发人员的水平,经过学习,在编程方面有一定的基础。可行性分析分为两个方面,一方面是信息的录入,另一方面是信息的查询。这是一个小型的学生管理系统,从投入的人力、财力与物力来讲是非常小的,只要有电脑就可以了。从节省人力方面,可以让管理人员从繁冗复杂的工作中解脱出来,做更多的工作,可以给学生信息管理提高一个层次。(2)系统的总体设计各个模块的功能的使用()学生通过输入用户名和密码,当显示登录成功后,单击确定按钮,可以进入系统主界面主界面提供了五个子模块,分别是一 学生管理二 课程管理三

7、选课管理四 查询管理五 系统退出选择其中的任一模块,可以进行相应的操作该程序所要达到的具体的要求是能够对学生信息,课程信息,选课信息的增加,修改,查询操作为学生网上选课作出最大的贡献()通过键盘输入用户名和密码在学生信息模块中输入学号,姓名,系别在课程信息模块中输入课号,课名在选课信息模块中输入课号,学号,成绩()以图形界面的方式输出学生所需要的信息()该模块程序只需要达到模糊查询的功能即可()每个模块实现后的显示界面及代码设计程序还在调试之中,过些时间就可成功。(3)详细设计 1用户登陆界面的设计:登录时,凡是账号密码未填写、输入错误账号密码都会提出错误提示框。在填写好账号密码后,会读取数据

8、库里admin表,并查询其输入是否存在,若无误,则登录到用户界面。 2用户界面设计:用户界面能菜单栏有4个一级菜单,学生管理、课程管理、选课管理都能添加、修改、删除数据,分别操作数据库里的S表(学生),C表(课程),SC表(选课)。查询管理则可进行三个表的查询。1表admin(用户表)FieldTypeNullKeyComment Usernamechar(10)PRI用户名passwordchar(10)密码NameChar(10)用户昵称2表S(学生信息表)FieldTypeNullKeyComment Snonvarchar(50)PRI学号Snamenvarchar(50)姓名Sxnv

9、archar(50)系别3表C(课程信息表)FieldTypeNullKeyComment Cnonvarchar(50)PRI课号Cnamenvarchar(50)课名4表SC(学生信息表)FieldTypeNullKeyComment Cnonvarchar(50)PRI课号Snonvarchar(50)PRI学号Cnvarchar(50)成绩 4、任务模块分配表: 组长:陈功发负责数据库连接方面程序代码相关文档组员1:段晶负责用户登录界面和用户界面各程序代码相关文档组员2:程磊负责添加,修改和删除界面各程序代码相关文档组员3:黄一媛负责模糊查询界面各程序代码相关文档5、测试数据impor

10、t 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:1433; DatabaseName=student; /连接服务器和数据库test,此处student是数据库名 S

11、tring userName = sa; /默认用户名 String userPwd = mima; /密码 Connection dbConn=null; try Class.forName(driverName); dbConn = (Connection) DriverManager.getConnection(dbURL, userName, userPwd); System.out.println(Connection Successful!); /如果连接成功 控制台输出Connection Successful! catch (Exception e) e.printStackT

12、race(); 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; String userName = sa; String userPwd = ; Connection dbConn ;

13、 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(系统登录);Container c=getContentPane();c.setLayout(new FlowL

15、ayout();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(退出);/设置登录方法BHandler b=new BHandler();EXIT d=new EXIT();b1.addAct

16、ionListener(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 void main(String args) User f1=new User(new JFrame();2.用户界面i

17、mport java.awt.*;import java.awt.event.*;import javax.swing.*;public class Menu extends JFrame implements ActionListenerAddstu 增加学生界面;Updatastu 修改学生界面;Delstu 删除学生界面;AddC 增加课程界面;DelC 删除课程界面;UpdateC 修改课程界面;AddSC 增加选课界面;DelSC 删除选课界面;UpdateSC 修改选课界面;Selstu 学生查询界面;JPanel pCenter;CardLayout card=null;JLab

18、el 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(add2 );JMenuItem updata2=new JMenuItem(updata2 );JMenuIt

19、em 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(查询信息 );JMenuItem m5=new JMenuItem(系统退出);Font t=new Font (sanerif,F

20、ont.PLAIN,12);public Menu ()this.setTitle(学生选课管理系统);try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println(不能设置外观: +e);/组合菜单addMenu1();addMenu2();addMenu3();addMenu4();addJMenuBar();setJMenuBar(mb);label=new JLabel(选课管理系统,JLabel.CENTER);label.setF

21、ont(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);add2.addActionListener(this);delete2.addActionListener(this

22、);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();修改学生界面=new Updatastu(); 删除学生界面=new Delstu();增加课程界面=new Ad

23、dC();删除课程界面=new DelC();修改课程界面=new UpdateC();增加选课界面=new AddSC();删除选课界面=new DelSC();修改选课界面=new UpdateSC();学生查询界面=new Selstu();pCenter.add(欢迎界面,label);pCenter.add(增加学生界面,增加学生界面);pCenter.add(修改学生界面,修改学生界面);pCenter.add(删除学生界面,删除学生界面);pCenter.add(增加课程界面,增加课程界面);pCenter.add(删除课程界面,删除课程界面);pCenter.add(修改课程界

24、面,修改课程界面);pCenter.add(增加选课界面,增加选课界面);pCenter.add(删除选课界面,删除选课界面);pCenter.add(修改选课界面,修改选课界面);pCenter.add(学生查询界面, 学生查询界面);add(pCenter,BorderLayout.CENTER);validate();setVisible(true);setBounds(400,150,400,280);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); addWindowListener(new WindowAdapter()/关闭程序时的操

25、作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.add(updata3);m3.add(delete3);m3.setFont(t);private void a

26、ddMenu2() /将菜单加入到菜单栏中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)System.exit(0);elseif(obj=add1)card.show(pCenter,增加学生界面);e

27、lseif(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=add3) card.show(pCenter, 增加选课界面);elseif(obj=delete3) card.s

28、how(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.*;public class AddC extends JPanel implements ActionListenerJ

29、TextField 课号,课名;JButton 录入;public AddC()try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exception e)System.err.println(不能设置外观: +e);课号=new JTextField(12);课名=new JTextField(12);录入=new JButton(录入);录入.addActionListener(this);Box box1=Box.createHorizontalBox();/横放boxBox box2=

30、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.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.cre

31、ateVerticalGlue();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;/用户名输入框 private JPasswordField k2;/密码输入框 private JButton b1,b2;/登录

32、窗口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=new JTextField(12);k2=new JPasswordField(12);b1=new JButto

33、n(登录);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);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_

34、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 删除学生界面;AddC 增加课程界面;DelC 删除课程界面;UpdateC 修改课程界面;AddSC 增加选课界面;DelS

35、C 删除选课界面;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 delete1=new JMenuItem(delete1 );JMenu m2=new JMenu(课程管理);JMenuI

36、tem 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 JMenuItem(delete3 );JMenu m4=new JMenu(查询管理);JMenuItem 学生查询=n

37、ew 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(不能设置外观: +e);/组合菜单addMenu1();addMenu2();addMenu3();addMenu4();

38、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.addActionListener(this);delete1.addActionListener(this);m5.addA

39、ctionListener(this);add2.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

40、); 增加学生界面=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(增加学生界面,增加学生界面);pCenter.add(修改学生界面,修改学生界面);pCenter.add(删除学生界面

41、,删除学生界面);pCenter.add(增加课程界面,增加课程界面);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_ON_CLOSE); addWindowListener(new WindowAdapter

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1