收藏 分享(赏)

本科论文(java版学籍管理系统).doc

上传人:scg750829 文档编号:6414366 上传时间:2019-04-12 格式:DOC 页数:22 大小:163.76KB
下载 相关 举报
本科论文(java版学籍管理系统).doc_第1页
第1页 / 共22页
本科论文(java版学籍管理系统).doc_第2页
第2页 / 共22页
本科论文(java版学籍管理系统).doc_第3页
第3页 / 共22页
本科论文(java版学籍管理系统).doc_第4页
第4页 / 共22页
本科论文(java版学籍管理系统).doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、1 概述 11.1 系统功能 .11.2 研究的意义 .12 系统分析 12.1 功能需求分析 12.2 性能需求分析 22.3 数据库需求分析数据流图 22.4 数据结构分析数据流图 22.4.1 数据结构: 22.4.2 数据流: 33 系统设计 .43.1 系统配置 .43.2 系统功能结构设计 43.3 数据库概念结构设计 43.4 逻辑结构设计 54 详细设计及功能实现 .54.1 用户登录模块设计与实现 .54.2 学生基本信息管理模块的实现 .64.3 成绩管理模块的实现 .74.4 查询模块的实现 .84.5 其他模块的实现 .95 参考文献 .106 附录 (程序清单) .1

2、001 概述1.1 系统功能本学生成绩管理系统具备两方面的功能:一是学生基本信息管理(包括学生记录的录入、修改、查询、删除等) ;二是成绩管理(成绩的录入、修改、查询、删除等) 。1.2 研究的意义随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教学管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于 Java 与 SQL server 数据库技术建立一个高校成绩管理系统该系统为管理员、学生和教师提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求。2

3、 系统分析2.1 功能需求分析该学生成绩管理系统具备两方面的功能:一是学生基本信息管理(包括学生记录的录入、修改、查询、删除等) ;二是成绩管理(成绩的录入、修改、查询、删除等) 。具体功能的详细描述如下:1. 选择基本信息菜单,该菜单有三个子菜单,点击增加信息即可进入添加学生信息功能窗体,在其中输入学生的相关信息,输入新信息后单击“添加”就可以了。点击修改信息菜单,即可进入修改信息功能窗体。点击删除信息菜单,即可进入删除信息功能窗体。2. 选择成绩管理菜单,该菜单也有三个子菜单。点击录入成绩即可进入录入成绩功能窗体,在其中输入学生的各科成绩,单击“添加”就可以了。点击修改成绩菜单,即可进入修

4、改成绩功能窗体。点击删除成绩菜单,即可进入删除成绩功能窗体。3.选择查询菜单,该菜单有两个子菜单。选择基本信息查询项,即可进入基本信息查询窗体,根据条件语句进行查询。选择成绩查询项,即可查询某1位学生的课程成绩。4. 选择其他菜单,该菜单下有子菜单“退出” ,单击,即可退出本系统。2.2 性能需求分析时间特性要求:在软件方面,响应时间有点慢,因为是用 netbeans 做的,它占用内存比较大,更新处理时间比较快而且迅速。安全性:设立口令号和密码验证方式,防止非法用户登录进行操作。也就是用户只有管理员、学生和教师才能进入这个系统,用户凭口令号和密码进入此系统,系统会自动判断用户是那种类型,分别拥

5、有不同的权限。2.3 数据库需求分析数据流图在教务系统中功能模块主要牵涉到的信息包括:是学生信息、课程信息、成绩表、选课表。学生信息:包含学号(id)、姓名(name)、班级(class)、性别(sex)。课程信息:包括课程编号(course_id)、课程名称(coursename)。成绩表:编号(number)、学号(id)、课程名称(coursename)、成绩(result)。班级信息:班级编号(bjbh)、学号(id)、姓名(name)班级名称(bjmc)。根据以上划分的具体数据信息,得到数据流图如 1.1 所示: 1.1 数据库需求分析数据流图2.4 数据结构分析数据流图2.4.1

6、数据结构:学生信息=组成: 学号(id)、姓名(name)、班级(class)、性别(sex)课程信息=组成: 编号(course_id)、课程名称(coursename)成绩表包括=组成:编号(number)、学号(id)、课程名称(coursename)、成绩(result) 班级信息=组成:班级编号(bjbh)、年级(nj)、班级名称(bjmc)、人数(rs)用 户 登 录 操 作登陆信息错误信息账号信息2 开发环境与工具介绍前端客户端我用的是Macromedia Dreamweaver 8 来编写 JSP 文件。中间业务逻辑层的JavaBeans用的是JBuilderX Enterpr

7、iseX 版。数据库的编写是采用MYSQL 数据库。2.1 开发环境由于我用的是JBuilderX Enterprise 版开发的这个系统,这个开发软件功能十分强大,所以自然对开发环境要求相对来说比较高。1对系统硬件的要求:最小 512M RAM,推荐786MB RAM。2. 对系统平台的要求: Windows 平台 CPU:Intel PentiumIII 及以上兼容系列500MHz以上。操作系统:MicrosoftWindows2000(SP4)、WindowXP或者WindowsServer2003。Linux平台CPU:IntelPentiumIII及以上兼容系列500MHz以上。操作

8、系统:SunJavaDesktopSystemRelease2或者RedHatEnterpriseLinux3.02.2 运行环境:硬件:适用于数据吞吐量较大的不同服务器;软件 :服务器端:WINDOWS XP+MySQL用户端: WindowXP+IE返回信息寻找信息数 据 库22.4.2 数据流:对图 1.1 中所涉及的数据流描述如下:(1)数据流名:口令号说明:根据这个口令号定位到用户管理数据库,以便进行身份验证。数据流来源:登陆界面输入的口令号和密码。数据流去向:其中用户口令信息将存在于整个操作过程中,防止非法登陆。数据流组成:口令号(文本) ;密码(文本)(2)数据流名:寻找信息说明

9、:根据用户在学生信息维护的时候所填写的信息。数据流来源:学生信息维护界面学生输入包含学号、班级编号、名称等。数据流去向:学号将存在整个操作,其它的存入数据库。数据流组成:学号(文本) ;姓名(文本)等(3)数据流名:寻找信息说明:根据用户在成绩管理的时候所填写的信息。数据流来源:成绩输入、修改、添加等界面用户输入包含课程编号、课程名称、成绩。数据流去向:学号、班级编号、课程编号将存在整个操作,其它的存入数据库。数据流组成:课程编号(文本) 、课程名称(文本) 、教师(文本)等。(4)数据流名:返回信息说明:根据用户在学生信息维护的时候所填写的信息存入了数据库之后。数据流来源:由学生信息维护界面

10、学生输入的包含学号、姓名、性别等存入数据库的。数据流去向:学生信息维护界面。数据流组成:学号(文本) 、姓名(文本) 、班级名称(文本) 、性别(文本)等。(5)数据流名:返回信息说明:根据用户在成绩管理的时候所填写的信息存入数据库后。数据流来源:由成绩管理输入的包含班级名称、课程名、成绩存入数据库的。数据流去向:成绩管理的各子界面。数据流组成:班级编号(文本) ;班级名称(文本) ;教师(文本)等;对图 1.1 中所涉及的处理过程描述如下:(1)处理过程名:登陆输入数据流:口令号、密码输出数据流:不符合输入条件的错误信息 处理过程逻辑:用 IF 条件进行判断。(2)处理过程名:班级信息维护输

11、入数据流:班级编号、班级名称、教师等输出数据流:班级编号、班级名称等 ,其中班级编号将存在整个操作。处理过程号:班级编号,其中班级编号将存在整个操作。(3)处理过程名:学生信息维护输入数据流:学号、姓名、班级编号、性别等。3输出数据流:学号、姓名、班级编号、性别等。其中学号将存在整个操作。(4)处理过程名:成绩输入输入数据流:课程编号、课程名称输出数据流:编号、学号、课程名称、成绩 、其中编号和学号将存在整个操作。3 系统设计3.1 系统配置1.软件配置:Windows xp 操作系统,java JDK5.0 环境,NetBeans 开发平台(基本配置要求) 。2.硬件配置10G 以上硬盘,i

12、ntel celeron(R)处理器,512M 内存(基本配置要求) 。3.2 系统功能结构设计该学生成绩管理系统具备两方面的功能:一是学生基本信息管理(包括学生记录的录入、修改、查询、删除等) ;二是成绩管理(成绩的录入、修改、查询、删除等) ,重新登陆系统、退出。 模块功能大概可以分为如下 4 个方面:这几个模块学生基础维护、成绩管理、登陆、退出。其中基础维护还要包括学生信息维护、班级信息维护、课程信息维护。成绩管理包括成绩查询、添加成绩、成绩输入等。3.3 数据库概念结构设计根据需求分析阶段得到的数据字典以及数据流图,由以上分析可以得到系统中出现的实体有:学生信息实体、班级信息实体、成绩

13、表实体等等。可以画出对应的 E-R 图如下:得到总 E-R 图如下:m 1n 11 1 1Class_infoBase_infochengjibiaostady belongstady login choose4n1 n3.4 逻辑结构设计根据上面概念结构设计阶段得到的 E-R 图,下一步应该将它转化为关系模型。可以得到对应的关系模式为:Base_info(id、name、class、sex、address)Class_info(class_id、classname、teacher、id)xuankebiao(number、id、coursename teacher、class_id、clas

14、sname、result)chengjibiao(number、id、name、course、result) stu(id、password、rights)4 详细设计及功能实现4.1 用户登录模块设计与实现设计思路:为了检验登录用户是否是一个合法用户,当用户输入用户名和密码后,需要查询数据库以便验证该用户是否为非法用户。同时通过用户输入的口令号就可知道用户是管理员、学生,还是教师,他们的权限不同。实现功能:用户可以从登陆界面进入到教务管理系统界面,然后进行一些操作。 4.2 学生基本信息管理模块的实现该模块主要包括添加、删除、修改学生基本信息三个小部分。所以在编程实现的过程中,构造三个.ja

15、va 源文件。依次为:AddStudent.java,DeleteStudent.java,GetStudent.java。其运行界面如下所示:xuankebiaocourse_info stu54.3 成绩管理模块的实现该模块主要包括添加、删除、修改学生成绩三个小部分。所以在编程实现的过程中,构造三个.java 源文件。依次为:AddGrade.java,DeleteGrade.java,GetGrade.java。其运行界面如下所示:4.4 查询模块的实现该模块主要包括查询学生基本信息和查询成绩两个小部分。所以在编程实现的过程中,构造三个.java 源文件。依次为:SetStuduent

16、,SetGrade.java 。其运行界面如下所示:4.5 其他模块的实现该模块是系统退出菜单,对应文件为 UsingExit.java。单击“退出” ,即退出本系统。65 参考文献1 JAVA 学习笔记 清华大学出版社 20062 施平安 清华大学出版社, 20053 徐慧慧,叶达峰,JBuilder 编程技术与实例,人民邮电出版社, 20064 杨文龙,软件工程,电子工业出版社,19975 郑莉,王行言 ,清华大学出版社 20076 附录 (程序清单 )由于源程序文件较多,在此只显示部分.java 文件源代码:Info_Manage.java:package xuesheng;import

17、 java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;import javax.swing.event.*;public class Info_Manage extends Frameimplements ActionListenerJLabel JLUserName =new JLabel(“用户名:“);JLabel JLPaw =new JLabel(“密 码:“);JTextField JTUserName=new JTextField();JLabel Jbanquan =new JLa

18、bel(“关于软件使用,请联系作者:“);JPasswordField JPsw =new JPasswordField();JButton JB1 =new JButton(“登录“);JButton JB2 =new JButton(“取消“);public Info_Manage()this.setTitle(“学生成绩管理系统“);this.setLayout(null);JLUserName.setBounds(100,40,100,20);this.add(JLUserName);JTUserName.setBounds(200,40,80,20);this.add(JTUserN

19、ame);Jbanquan.setBounds(100,200,250,60);7this.add(Jbanquan);JLPaw.setBounds(100,100,60,20);this.add(JLPaw);JPsw.setBounds(200,100,80,20);this.add(JPsw );JB1.setBounds(100,150,60,20);this.add(JB1);JB1.addActionListener(this);JB2.setBounds(200,150,60,20);this.add(JB2);JB2.addActionListener(this);this.

20、setVisible(true);this.setBounds(10,10,400,250);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)System.exit(0););public static void main(String args)new Info_Manage();public void actionPerformed(ActionEvent e)if(e.getSource()=JB1)String name=JTUserName.getText();String p

21、assword=new String(JPsw.getPassword();if(name!=nullelse8student_manage.java:package xuesheng;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;import javax.swing.event.*;class student_manage extends JFrameimplements ActionListenerJMenuBar jm =new JMenuBar();JMenu jm1

22、=new JMenu(“基本信息“);JMenuItem jmi1=new JMenuItem(“增加信息“);JMenuItem jmi2=new JMenuItem(“删除信息“);JMenuItem jmi3=new JMenuItem(“修改信息“);JMenu jm4= new JMenu(“成绩管理“);JMenuItem jm41=new JMenuItem(“录入成绩“);JMenuItem jm42=new JMenuItem(“删除成绩“);JMenuItem jm43=new JMenuItem(“修改成绩“);JMenu jm2=new JMenu(“查询“);JMen

23、uItem jmi21=new JMenuItem(“基本信息查询“);JMenuItem jm22=new JMenuItem(“成绩查询“);JMenu jm3=new JMenu(“其它“);JMenuItem jmi31=new JMenuItem(“退出“); Container con=new Container();JLabel label=new JLabel(“欢迎登录学生信息系统“,JLabel.CENTER); JPanel pCenter=new JPanel();public student_manage()this.setTitle(“学生基本信息“);this.s

24、etLayout(new CardLayout(); con=getContentPane();pCenter.setLayout(new CardLayout(); label.setFont(new Font(“TimesRoman“,Font.BOLD,24);label.setForeground(Color.red);this.setJMenuBar(jm);jm.add(jm1);jm.add(jm4);jm.add(jm2);jm.add(jm3);jm1.add(jmi1);jm1.add(jmi2);jm1.add(jmi3);9jm4.add(jm41);jm4.add(j

25、m42);jm4.add(jm43)jm2.add(jmi21);jm2.add(jm22);jm3.add(jmi31);jmi1.addActionListener(this);jmi2.addActionListener(this);jmi3.addActionListener(this);jm41.addActionListener(this);jm42.addActionListener(this);jm43.addActionListener(this);jm2.addActionListener(this);jmi21.addActionListener(this);jm22.a

26、ddActionListener(this);jm3.addActionListener(this);jmi31.addActionListener(this); con.add(pCenter,BorderLayout.CENTER);con.validate();this.setBounds(10,10,500,400);this.setVisible(true);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)System.exit(0););public void actionP

27、erformed(ActionEvent e)if(e.getSource()=jmi1)new AddStudent();if(e.getSource()=jmi2)new DeleteStudent();if(e.getSource()=jmi3)new GetStudent();if(e.getSource()=jmi21)10new SetStudent();if(e.getSource()=jmi31)new UsingExit().setVisible(true);if(e.getSource()=jm41)new AddGrade();if(e.getSource()=jm42)

28、new DeleteGrade();if(e.getSource()=jm43)new GetGrade();if(e.getSource()=jm22)new SetGrade();public static void main(String args)new student_manage();AddStudent.java:package xuesheng;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;class AddStudent extends JFrameimple

29、ments ActionListenerJLabel JL =new JLabel(“添 加 基 本 信 息“,JLabel.CENTER);JLabel JLNumber=new JLabel(“学号:“);JTextField JTNumber=new JTextField();JLabel JLName =new JLabel(“姓名:“);11JTextField JTName =new JTextField();JLabel JLClass =new JLabel(“班级:“);JTextField JTClass =new JTextField();JLabel JLsex =ne

30、w JLabel(“性别:“);ButtonGroup BG =new ButtonGroup();JRadioButton JRB1 =new JRadioButton(“男“);JRadioButton JRB2 =new JRadioButton(“女“);JLabel JL1 =new JLabel(“学院:“);JTextField JT1 =new JTextField();JLabel JL2 =new JLabel(“生日:“);JTextField JT2 =new JTextField();JButton JBAdd =new JButton(“添加“); JButton

31、JBNext =new JButton(“重置“);JButton JBExit =new JButton(“退出“);String sql=“;public AddStudent()this.setTitle(“添加学生信息“);this.setLayout(null);JL.setFont(new Font(“TimesRoman“,Font.BOLD,24);JL.setForeground(Color.red);JL.setFont(new java.awt.Font(“宋体“,Font.PLAIN,19);JL.setBounds(100,30,200,40);this.add(JL

32、);JLNumber.setBounds(100,80,100,20);this.add(JLNumber);JTNumber.setBounds(200,80,80,20);this.add(JTNumber);JLName.setBounds(100,120,60,20);this.add(JLName);JTName.setBounds(200,120,80,20);this.add(JTName);JLsex.setBounds(100,160,100,20);this.add(JLsex);JRB1.setBounds(200,160,40,20);JRB2.setBounds(30

33、0,160,40,20);this.add(JRB1);this.add(JRB2);BG.add(JRB1);BG.add(JRB2);JL2.setBounds(100,200,80,20);this.add(JL2);JT2.setBounds(200,200,80,20);this.add(JT2);12JLClass.setBounds(100,240,60,20);this.add(JLClass);JTClass.setBounds(200,240,80,20);this.add(JTClass);JL1.setBounds(100,280,60,20);this.add(JL1

34、);JT1.setBounds(200,280,80,20);this.add(JT1);JBAdd.setBounds(80,320,90,20);this.add(JBAdd);JBAdd.addActionListener(this);JBNext.setBounds(190,320,90,20);this.add(JBNext);JBNext.addActionListener(this);JBExit.setBounds(300,320,90,20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(10,1

35、0,500,400);this.setVisible(true);public void actionPerformed(ActionEvent e)if(e.getSource()=JBAdd)System.out.println(“ffffffffffffffffffff“);String snumber=JTNumber.getText();String sname=JTName.getText();String sclass=JTClass.getText();String ssex=“女“;if(JRB1.isSelected()ssex=“男“;String scollect=JT

36、1.getText();String sbir=JT2.getText();sql=“select * from student where Id=“+snumber+“;tryClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);Connection cot=DriverManager.getConnection(“jdbc:odbc:student1“,“,“);Statement stm=cot.createStatement();ResultSet rs=stm.executeQuery(sql);if(rs.next()JOptionPane.s

37、howMessageDialog(null,“该号已经存在!“);else13sql=“insert into student values(“+snumber+“,“+sname+“,“+sclass+“,“+ssex+“,“+scollect+“,“+sbir+“)“;int i=stm.executeUpdate(sql);if(i0)JOptionPane.showMessageDialog(null,“添加成功!“);elseJOptionPane.showMessageDialog(null,“删除失败!“);catch(Exception ee)if(e.getSource()=

38、JBNext)JTNumber.setText(null);JTName.setText(null);JTClass.setText(null);JT1.setText(null);JT2.setText(null);if(e.getSource()=JBExit)setVisible(false);public static void main(String args)new AddStudent();AddGrade.java:package xuesheng;import java.awt.*;import java.awt.event.*;import javax.swing.*;im

39、port java.util.*;import javax.swing.event.*;class AddGrade extends JFrameimplements ActionListenerJLabel JL =new JLabel(“添 加 成 绩“,JLabel.CENTER);14JLabel JLNumber=new JLabel(“学号:“);JTextField JTNumber=new JTextField();JLabel JLName =new JLabel(“姓名:“);JTextField JTName =new JTextField();JLabel JLClas

40、s =new JLabel(“语文:“);JTextField JTClass =new JTextField();JLabel JLsex =new JLabel(“性别:“);ButtonGroup BG =new ButtonGroup();JRadioButton JRB1 =new JRadioButton(“男“);JRadioButton JRB2 =new JRadioButton(“女“);JLabel JL1 =new JLabel(“数学:“);JTextField JT1 =new JTextField();JLabel JL2 =new JLabel(“班级:“);J

41、TextField JT2 =new JTextField();JButton JBAdd =new JButton(“添加“); JButton JBNext =new JButton(“重置“);JButton JBExit =new JButton(“退出“);String sql=“;public AddGrade()this.setTitle(“添加成绩“);this.setLayout(null);JL.setFont(new Font(“TimesRoman“,Font.BOLD,24);JL.setForeground(Color.red);JL.setFont(new jav

42、a.awt.Font(“宋体“,Font.PLAIN,19);JL.setBounds(100,30,200,40);this.add(JL);JTName.setBounds(200,120,80,20);this.add(JTName);JLsex.setBounds(100,160,100,20);this.add(JLsex);JRB1.setBounds(200,160,40,20);JRB2.setBounds(300,160,40,20);this.add(JRB1);this.add(JRB2);BG.add(JRB1);BG.add(JRB2);JL2.setBounds(1

43、00,200,80,20);this.add(JL2);JT2.setBounds(200,200,80,20);this.add(JT2);JBAdd.addActionListener(this);JBNext.setBounds(190,320,90,20);this.add(JBNext);15JBNext.addActionListener(this);JBExit.setBounds(300,320,90,20);this.add(JBExit);JBExit.addActionListener(this);this.setBounds(10,10,500,400);this.se

44、tVisible(true);public void actionPerformed(ActionEvent e)if(e.getSource()=JBAdd)String snumber=JTNumber.getText();String sname=JTName.getText();String sclass=JTClass.getText();String ssex=“女“;if(JRB1.isSelected()ssex=“男“;String scollect=JT1.getText();String sbir=JT2.getText();sql=“select * from grad

45、e where Id=“+snumber+“;tryClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);Connection cot=DriverManager.getConnection(“jdbc:odbc:student1“,“,“);Statement stm=cot.createStatement();ResultSet rs=stm.executeQuery(sql);if(rs.next()JOptionPane.showMessageDialog(null,“该号已经存在!“);elsesql=“insert into grade val

46、ues(“+snumber+“,“+sname+“,“+sclass+“,“+ssex+“,“+scollect+“,“+sbir+“)“; int i=stm.executeUpdate(sql);if(i0)JOptionPane.showMessageDialog(null,“添加成功!“);elseJOptionPane.showMessageDialog(null,“删除失败!“);catch(Exception ee)16if(e.getSource()=JBNext)JTNumber.setText(null);JTName.setText(null);JTClass.setTe

47、xt(null);JT1.setText(null);JT2.setText(null);if(e.getSource()=JBExit)setVisible(false);public static void main(String args)new AddGrade();SetStudent.java:package xuesheng;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;import java.sql.*;import java.util.Vector;class

48、 SetStudent extends JFrameimplements ActionListenerJLabel JL =new JLabel(“查 询 基 本 信 息“,JLabel.CENTER);JLabel JLNumber=new JLabel(“请输入学号:“);JTextField JTNumber=new JTextField();JLabel JLName =new JLabel(“姓名:“);JTextField JTName =new JTextField();JLabel JLClass =new JLabel(“班级:“);JTextField JTClass =new JTextField();JLabel JLsex =new JLabel(“性别:“);ButtonGroup BG =new ButtonGroup();JRadioButton JRB1 =new JRadioButton(“男“);JRadioButton JRB2 =new JRadioButton(“女“);JLabel JL1 =new JLabel(“学院:“);17JTextField JT1 =new JTextField();JLabel JL2 =new JLabel(“生

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

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报