Java课程设计报告--学生信息管理系统.doc_第1页
Java课程设计报告--学生信息管理系统.doc_第2页
Java课程设计报告--学生信息管理系统.doc_第3页
Java课程设计报告--学生信息管理系统.doc_第4页
Java课程设计报告--学生信息管理系统.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

Java 课程设计报告题 目: 学生信息管理系统 学生姓名: 学 号: 专业班级: 同组姓名: 指导教师: 设计时间: 指导老师意见: 评定成绩: 签名: 日期:目 录一、系统的描述 3二、系统分析与设计41.系统总框图42.各模块功能介绍6三、数据库结构设计5 1.建立时间信息数据库52.数据库分析6四、管理系统主界面设计开发9五、系统测试211.个人信息功能测试222.选课信息功能测试233.奖励信息功能测试244职务信息功能测试25六、小结26七、参考文献27 1.系统描述(1)系统设计的意义随着学校规模的扩大,学生人数急剧增加,需要管理的信息也成倍增加,同时,由于计算机和网络的普及,建立一个计算机管理系统,学生便可以通过网络来选课并管理自己的信息。(2)系统功能描述 学生信息管理系统用模块话设计的方法,使得学生信息管理工作系统化、自动化、规范化,大大提高了学校管理学生的效率。(3)系统开发设计思想尽量采用学校现有的软硬件环境以及先进的管理系统方案,从而达到充分利用学校资源、提高系统开发水平和应用效果的目的。系统应符合学校系统管理系统的规定,满足学校对学生信息管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计的方法,既便于系统功能的组合和修改,又便于未参与系统开发的人员补充和维护。系统应具有数据库维护功能,及时根据用户的要求对数据进行添加、删除、修改、备份等要操作。 2、系统分析与设计1、系统总框图 根据学生信息管理的的总框架,管理信息系统的总框架如下图。学生信息信息管理的总界面由个人信息,选课信息,奖惩信息,职务信息组成。1、系统总框图 学生信息管理系统 选课信息奖励信息职务信息退出系统基本信息查询信息修改信息增加信息修改信息查询信息增加信息修改信息查询信息增加信息修改信息查询信息增加信息图1 学生信息管理系统框架图2、各模块功能介绍1 个人基本信息管理:管理员和学生都可以登陆,管理员所实现的功能有个人信息的查询,输入,修改和删除,学生用户可以实现查询和修改的功能,但不能增加和删除学生用户。2 选课信息管理:管理员和学生都可以登陆,管理员所实现的功能有选课信息的查询和修改功能,学生生用户只能查询自己的选修的课程的修改和查询功能。3 奖励信息管理:管理员和学生都可以登陆,管理员所实现的功能有个人信息的查询,修改和删除和增加功能,学生用户只能实现查询功能。登陆系统 采购员登陆销售员 登陆经理登陆查询、修改和增加本人信息查询商品性质订购商品查询、修改和增加本人信息增加、修改和查询订单查询商品信息查询本人的工作进度查询、修改和增加本人信息查询本人工作进度查询商品信息查询、修改和增加本人信息查询商品信息查询员工及本人的工作进度用户管理员登陆查询和修改用户信息删除用户信息管理商品信息退出系统 3. 数据库结构设计1.建立时间信息数据库在这个学生信息管理系统的开发中,我们选用SQL Server2000作为系统服务数据库。(1)设置数据表的的列名、数据类型等,如下图所示: 数据表设计(2)设置数据表名称,如图:2.数据库分析 数据库需求分析是数据库结构设计的第一个阶段,是非常重要的的一个阶段。在这个阶主要是收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后的进一步设计打下基础。 在仔细分析和调查学生信息管理过程的基础上,可以得到本系统的的数据流程图,如图所示。在此次程序设计中,通过对学生信息管理的内容和数据流程的分析而设计的数据项和数据结构如下所示:(1)学生个人信息记录:学号、姓名、班级、性别、生日、联系电话、联系地址。(2)班级信息记录:班级编号、班级名称、所属院系、班主任、辅导员。(3)学生课程信息记录:记录号、学号、姓名、所选课程编号。(4)课程设置记录:课程编号、课程名、学时、学分、任课老师、上课地点。(5)学生奖励记录:记录号、学号、姓名、获奖时间、奖励名称、具体描述。(6)学生职务记录:记录号、学号、姓名、任职时间、职务名称、具体描述。 学生信息管理数据流程图有了上面的数据结构、数据项和数据流程图,就能进行数据库设计了。在对数据项和结构分析的基础上可以形成数据库中的表格以及个人信息表、学生所选课程信息表、学生奖励信息学生职务信息表。为了数据记录实例的完整,系统中包括了应用程序序中所需的一个外部数据表:学生班级信息表。总共需5个表,其结构分别如表1至表5所示。 表1 学生个人信息表的结构字段名字段类型可否为空说明Student-IDIntNOT NULL学生学号(关键字)Student-NameChar(10)NOT NULL学生姓名Student-ClassVarcharNOT NULL学生所在班级Student-SexVarcharNOT NULL学生性别Student-BirthdaydatetimeNULL学生生日Student-TelVarcharNULL联系电话Student-AddressvarcharNULL联系地址表2学生所选课程表字段名数据类型可否为空说明Count-IDIntNOT NULL记录号(主键字)Course-IDIntNOT NULL学生学号Course-NameChar(10)NOT NULL学生姓名Course-NoIntNOT NULL所选课程编号(外部关键字)表3 学生奖励信息表字段名字段类型可否为空说明Gcheck-IDIntNOT NULL记录号(主关键字)Gcheck- NoIntNOT NULL学生学号Gcheck- NameChar(10)NOT NULL学生姓名Gcheck-TimedaratimeNOT NULL获奖时间Gcheck-TitleChar(30)NOT NULL获奖内容Gcheck-DiscChar(50)NULL获奖具体描述表4 学生职务信息表字段名字段类型可否为空说明Bcheck-IDIntNOT NULL记录号(主关键字)Bcheck- NoIntNOT NULL学生学号Bcheck- NameChar(10)NOT NULL学生姓名Bcheck-TimedaratimeNOT NULL任职时间Bcheck-TitleChar(30)NOT NULL职务内容Bcheck-DiscChar(50)NULL职务具体描述表5 学生班级信息表字段名字段类型可否为空说明Class-IDIntNOT NULL学校班级编号(主关键字,外部关键字student-class)Class-NameChar(10)NOT NULL班级名称Class-DepVarcharNOT NULL学生所属学院Class-TeacherVarcharNOT NULL班主任Class-AssitantdatetimeNULL辅导员至此一个完整的学生信息管理系统数据库的基本结构就创建完成了。四、管理系统主界面设计开发管理系统主界面主要包括系统管理标志、“选课信息管理”按钮、“奖励信息管理”按钮、“个人信息管理”按钮、“职务信息管理”按钮和“退出系统”按钮,在这个界面中处理的主要按钮是事件。主要代码:package stumanage;import javax.swing.*;import java.awt.*;import sun.awt.image.*;import java.awt.event.*;/* * Title: * Description: * Copyright: Copyright (c) 2003 * Company: * author not attributable * version 1.0 */public class WelcomeFrame extends JFrame JPanel jPanel1 = new MyPanel(); ImageIcon imageIcon1 = new ImageIcon(beautiful.jpg); BorderLayout borderLayout1 = new BorderLayout(); JPanel jPanel2 = new JPanel(); GridBagLayout gridBagLayout1 = new GridBagLayout(); JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JButton jButton3 = new JButton(); JButton jButton4 = new JButton(); JButton jButton5 = new JButton(); public WelcomeFrame() try jbInit(); catch (Exception e) e.printStackTrace(); public static void main(String args) WelcomeFrame welcomeFrame = new WelcomeFrame(); welcomeFrame.pack(); welcomeFrame.show(); private void jbInit() throws Exception imageIcon1.setDescription(beautiful.jpg); imageIcon1.setImageObserver(this); jPanel1.setLayout(borderLayout1); jPanel1.setMinimumSize(new Dimension(600, 400); jPanel1.setPreferredSize(new Dimension(600, 420); this.setLocale(java.util.Locale.getDefault(); this.setResizable(true); this.setSize(new Dimension(747, 396); this.setState(Frame.NORMAL); jPanel2.setBackground(UIManager.getColor(RadioButtonMenuItem.selectionBackground); jPanel2.setForeground(Color.black); jPanel2.setMinimumSize(new Dimension(100, 30); jPanel2.setPreferredSize(new Dimension(100, 400); jPanel2.setLayout(gridBagLayout1); jButton1.setToolTipText( 个人信息管理); jButton1.setText( 个人信息管理); jButton1.addActionListener(new WelcomeFrame_jButton1_actionAdapter(this); jButton2.setToolTipText( 选课信息管理); jButton2.setText( 选课信息管理); jButton2.addActionListener(new WelcomeFrame_jButton2_actionAdapter(this); jButton3.setToolTipText(奖励信息管理); jButton3.setText(奖励信息管理); jButton3.addActionListener(new WelcomeFrame_jButton3_actionAdapter(this); jButton4.setToolTipText(职务信息管理); jButton4.setText(职务信息管理); jButton4.addActionListener(new WelcomeFrame_jButton4_actionAdapter(this); jButton5.setToolTipText(退出系统); jButton5.setText(退出系统); jButton5.addActionListener(new WelcomeFrame_jButton5_actionAdapter(this); this.getContentPane().add(jPanel1, BorderLayout.CENTER); jPanel1.add(jPanel2, BorderLayout.EAST); jPanel2.add(jButton1, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0); jPanel2.add(jButton2, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(9, 0, 0, 21), 0, 0); jPanel2.add(jButton3, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(10, 0, 0, 10), 0, 0); jPanel2.add(jButton5, new GridBagConstraints(0, 4, 2, 1, 0.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 11), 21, 0); jPanel2.add(jButton4, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(9, 0, 13, 0), 12, 0); class MyPanel extends JPanel public void paintComponent(Graphics g) super.paintComponent(g); imageIcon1.paintIcon(this, g, 0, 0); void jButton4_actionPerformed(ActionEvent e) MainFrame.main( null ); this.hide(); MainFrame.jTabbedPane1.setSelectedComponent( MainFrame.jPanel4); void jButton1_actionPerformed(ActionEvent e) MainFrame.main( null ); this.hide(); void jButton3_actionPerformed(ActionEvent e) MainFrame.main( null ); this.hide(); MainFrame.jTabbedPane1.setSelectedComponent( MainFrame.jPanel3); void jButton2_actionPerformed(ActionEvent e) MainFrame.main( null ); this.hide(); MainFrame.jTabbedPane1.setSelectedComponent( MainFrame.jPanel2); void jButton5_actionPerformed(ActionEvent e) System.exit(0); class WelcomeFrame_jButton4_actionAdapter implements java.awt.event.ActionListener WelcomeFrame adaptee; WelcomeFrame_jButton4_actionAdapter(WelcomeFrame adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.jButton4_actionPerformed(e); class WelcomeFrame_jButton1_actionAdapter implements java.awt.event.ActionListener WelcomeFrame adaptee; WelcomeFrame_jButton1_actionAdapter(WelcomeFrame adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.jButton1_actionPerformed(e); class WelcomeFrame_jButton3_actionAdapter implements java.awt.event.ActionListener WelcomeFrame adaptee; WelcomeFrame_jButton3_actionAdapter(WelcomeFrame adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.jButton3_actionPerformed(e); class WelcomeFrame_jButton2_actionAdapter implements java.awt.event.ActionListener WelcomeFrame adaptee; WelcomeFrame_jButton2_actionAdapter(WelcomeFrame adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.jButton2_actionPerformed(e); class WelcomeFrame_jButton5_actionAdapter implements java.awt.event.ActionListener WelcomeFrame adaptee; WelcomeFrame_jButton5_actionAdapter(WelcomeFrame adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.jButton5_actionPerformed(e); “奖励信息管理”按钮的处理代码如下:queryDataSet1.setColumns(new Column column1, column2, column3, column4, column5, column6); jdbTable2.setDataSet(queryDataSet1); jdbTable2.setEditable(false); column7.setCaption(学生姓名); column7.setColumnName(course_name); column7.setDataType(com.borland.dx.dataset.Variant.STRING); column7.setPrecision(50); column7.setSchemaName(dbo); column7.setTableName(student_course); column7.setWidth(10); column7.setServerColumnName(course_name); column7.setSqlType(12); jLabel14.setText(学号:); jLabel15.setText(性别: ); jLabel16.setRequestFocusEnabled(true); jLabel16.setText(姓名: ); jLabel17.setText(班级: ); jPanel3.setLayout(borderLayout7); jPanel15.setMinimumSize(new Dimension(200, 100); jPanel15.setPreferredSize(new Dimension(200, 250); jPanel15.setLayout(borderLayout8); jPanel14.setLayout(borderLayout9); jPanel14.setMinimumSize(new Dimension(300, 50); jPanel14.setPreferredSize(new Dimension(300, 50); jPanel14.setVerifyInputWhenFocusTarget(true); jPanel13.setPreferredSize(new Dimension(404, 40); jPanel16.setPreferredSize(new Dimension(280, 10); jPanel16.setLayout(gridBagLayout1); jLabel18.setText(获奖时间:); jLabel19.setText(获奖名称:); jdbTextField1.setText(jdbTextField1); jdbTextField1.setColumnName(gcheck_time); jdbTextField1.setDataSet(qSet_jiangli); jdbTextField2.setText(jdbTextField2); jdbTextField2.setColumnName(gcheck_title); jdbTextField2.setDataSet(qSet_jiangli); jdbTextArea1.setText(jdbTextArea1); jdbTextArea1.setColumnName(gcheck_disc); jdbTextArea1.setDataSet(qSet_jiangli); jPanel17.setLayout(borderLayout10); jButton5.setText(增加); jButton6.setText(取消); jPanel18.setLayout(borderLayout11); borderLayout11.setVgap(10); jLabel20.setText(获奖内容具体描述:); jdbTextField3.setEnabled(true);五、系统测试本系统测试是根据实际的用户需求书而进行的系统测试,它主要分为以下两部分:系统功能测试和系统健壮性测试。1、功能测试鉴于本系统功能模块较多,决定采用分块的方式来进行功能测试,分别如下:学生管理系统主要是对学生信息进行管理,本程序可以分为两个类:Welcome Frame 类和 Main Frame类。(1)Welcome Frame 类:完成学生信息管理系统画面的启动。 画面由个人信息管理按钮、选课信息管理按钮、奖励信息管理按钮、职务信息管理系统按钮、退出按钮和一个系统标志图组成。完成界面布局后,再给这些按钮添加事件监听。有Welcome Frame_jButton4_action Adapter等5个内部类完成事件响应处理。 图 (1) 图 (1) (2)Main Frame 类:完成各个子系统的功能。 在Main Frame 上放置4个JTabbedPane, 用来在各个子系统之间进行切换。每一个JTabbedPane代表一个子系统。 1)个人信息管理子系统。个人信息系统根据界面设计所需要的 Label、JdbTextField、Button、JdbTable 和 JdbNavToolBar等。首先需要确定这些控件的数目,在JBuider 的 Design中生成它们,并添加事件监听,连接数据库后(在这里采用的是本地数据库服务器)。JdbNavToolBar 用于翻页,浏览指定JdbTable 中的信息。个人信息管理子系统对所有的学生的个人信息进行登记,其中包括学生的学号、姓名、性别、生日、地址、电话等,并且系统还能够修改输入错误的学生个人信息记录。个人信息管理子系统界面分为上下两部分。上半部分主要是一些信息输入框,还有两个按钮:一个是记录修改按钮,通过单击它来提交学生个人信息修改记录;一个记录取消按钮,单击它放弃错误的输入信息记录。下半部分负责显示所有学生的个人信息的记录。其界面设计如图 2 所示 图 ( 2 ) 2)选课信息管理子系统。选课信息管理子系统根据界面设计所需要的Label、JdbTextField、Button、JdbNavToolBar等,并连接数据库。在本子系统中需要建立两个JdbTable 、一个用来显示所有可选课程,另一个显示学生已选课程信息。JdbTable 显示在数据库中满足输入信息的需要。 选课信息管理子系统对学生所选的课程进行管理,包括学生的可选课程和个人已选课信息,并可以进行选课和退课操作。选课信息管理子系统界面分为左右两部分,左边负责显示学生所有可选课程的记录信息,右边显示当前这个学生已经选上的课程。有两个按钮:一个“选课”按钮,单击它可增加学生选课程信息的记

温馨提示

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

评论

0/150

提交评论