基于Java的学生成绩管理系统.doc_第1页
基于Java的学生成绩管理系统.doc_第2页
基于Java的学生成绩管理系统.doc_第3页
基于Java的学生成绩管理系统.doc_第4页
基于Java的学生成绩管理系统.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

目 录1前言11.1摘要:12概述12.1需求分析12.1.1 功能需求分析:12.1.2性能需求分析:22.1.3数据库需求分析:22.1.4数据结构分析22.2概要结构设计32.2.1 系统功能结构设计32.2.2数据库概念结构设计32.2.3逻辑结构设计32.2.4详细设计及功能实现3参考文献:10附录10基于java的学生成绩管理系统设计与实现 计算机科学与技术专业java092 指导教师 崔戈1前言1.1摘要:随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教学管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于Java与SQL server数据库技术建立一个高校成绩管理系统该系统为管理员、学生和教师提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求。关键词:Java;需求分析;概要设计;学生成绩管理系统;2概述2.1需求分析2.1.1 功能需求分析:该学生成绩管理系统具备三方面的功能:一方面是学生用户,学生通过输入学号和密码进下该系统后,可以进行一些基础查询(学生信息查询、班级信息查询、课程信息查询)、成绩管理(成绩查询、计算平均分)重新登陆系统;一方面老师进入该系统则比学生多一些权限:成绩输入、成绩查询。具体功能的详细描述如下:2.1.1.1点击登陆按钮可以进入管理系统2.1.1.2 点击退出按钮可以退出登陆界面2.1.1.3 进入登陆界面后选择返回登陆菜单可以返回登陆界面换帐号登陆2.1.1.4 选择信息维护菜单点击个人信息显示数据库中这个登陆帐号所对应的个人信息2.1.1.5 选择信息维护菜单点击修改信息显示数据库中这个登陆帐号所对应的个人信息,提供修改,并切一起修改数据库对应信息2.1.1.6 选择基础查询菜单点击学生信息根据登陆帐号的权限显示信息,若是学生则显示自己的信息,若是老师则显示所有学生信息2.1.1.7 选择基础查询菜单点击班级信息根据登陆帐号的权限显示信息,若是学生则显示自己的班级信息,若是老师则显示自己所教班级的信息2.1.1.8 选择基础查询菜单点击课程信息根据登陆帐号的权限显示信息,若是学生则显示自己的课程信息,若是老师则显示所有老师的信息并显示每个老师所教班级2.1.1.9 选择信息管理菜单点击成绩查询根据登陆帐号的权限显示信息,若是学生则显示自己的成绩信息,若是老师则显示所有学生的成绩信息2.1.1.10 选择信息查询菜单点击计算平均分根据登陆帐号的权限显示信息,若是学生则显示计算后自己每门课程平均分,若是老师则显示所有学生计算后的每门课程的平均分2.1.1.11 选择帮助菜单点击帮助信息跳出帮助文档(自己写的txt帮助文档)2.1.2性能需求分析:时间特性要求:在软件方面,响应时间有点慢,因为是用JFrame做的,它占用内存比较大,更新处理时间比较快而且迅速。安全性:设立口令号和密码验证方式,防止非法用户登录进行操作。也就是用户只有管理员、学生和教师才能进入这个系统,用户凭口令号和密码进入此系统,系统会自动判断用户是那种类型,分别拥有不同的权限。2.1.3数据库需求分析:在学生成绩管理系统中功能模块主要牵涉到的信息包括:是学生信息(student)、班级信息(class)、课程信息(course)、成绩表(chengji、选课表 、登陆表(denglu)。学生信息:学号(id)、姓名(Sname)、班级(Sclass)、性别(Ssex)、专业(Sdept)课程信息:课程编号(courseid)、课程名称(coursename)、教师(teacher)、专业(Sdept)、对应班级(Java092,测试093,测试094)成绩表:编号(coursename)、学号(id)、课程名称(coursename)、成绩(result)、教师(teacher)班级信息:班级编号(Sclassno)、班级(Sclass)、班主任(bzr)、专业(Sdept)、课程老师(Java,English,Flex,Uml,Linux)老师信息:登陆表:口令号(id)、密码(password)、权限(rightlimit)。2.1.4数据结构分析2.1.4.1 数据结构:学生信息=组成: 学号(id)、姓名(Sname)、班级(Sclass)、性别(Ssex)、专业(Sdept)课程信息=组成: 编号(courseid)、课程名称(coursename)、教师(teacher)、专业(Sdept)、对应班级1(Java092)、对应班级2(测试093)、对应班级3(测试094)成绩表包括=组成:编号(courseid)、学号(id)、课程名称(coursename)、成绩(result)、教师(teacher)课程信息包括=组成:课程编号(courseid)、课程名称(coursename)、教师(teacher)班级信息=组成:班级编号(Sclassno)、班级(Sclass)、班主任(bzr)、专业(Sdept)、课程老师1(Java)、课程老师2(English)、课程老师3(Linux)、课程老师4(Flex)、课程老师5(Flex)、课程老师5(Uml)登陆表=组成:口令号(id)、密码(password)、权限(rightlimit)2.1.4.2 ER图:2.2概要结构设计2.2.1 系统功能结构设计2.2.1.1模块的功能设计:根据需求分析阶段得到的功能需求,学生和教师用户通过输入口令号和密码进下该系统后,可以进行一些学生基础信息查询(学生信息查询、班级信息查询、课程信息查询)、学生信息维护、成绩管理(成绩查询、计算平均分)重新登陆系统、退出。 模块功能大概可以分为如下4个方面:这几个模块学生基础维护、成绩管理、登陆、退出。其中基础维护还要包括学生信息维护、班级信息维护、课程信息维护。成绩管理包括成绩查询、添加成绩、成绩输入等。2.2.2数据库概念结构设计:根据需求分析阶段得到的数据字典以及数据流图,由以上分析可以得到系统中出现的实体有:学生信息实体、课程信息实体、班级信息实体、成绩表实体等等。 2.2.3逻辑结构设计:根据上面概念结构设计阶段得得到关系模型。可以得到对应的关系模式为:student(id、Sname、Sclass、Ssex、Sdept)Class(Sclassno、Sclass、teacher、bzr、Sdept、Java、English、Flex、Linux、Uml)chengjibiao(coursename、id、coourseid、teacher、result) course(courseid、coursename、teacher)denglu(id、password、rightlimit)2.2.4详细设计及功能实现2.2.4.1用户登录模块设计与实现设计思路:为了检验登录用户是否是一个合法用户,当用户输入用户名和密码后,需要查询数据库以便验证该用户是否为非法用户。同时通过用户输入的口令号就可知道用户是管理员、学生,还是教师,他们的权限不同。实现功能:用户可以从登陆界面进入到教务管理系统界面,然后进行一些操作。 图为系统运行时的截图:1.登陆界面:程序设计了连接数据库,先查询有没有登录名有的话则再判断和数据库中登陆名是否一致,若一致则跳出成功登陆 并且弹出主界面,若不正确则弹出后面2,3截图,并要求重新输入。2.用户名或密码错误提示界面(用户名正确但密码错误 或者用户名不存在)3. 权限错误提示界面(选择权限与数据库中该用户权限不吻合)该模块的核心代码如下:public class zhuchuangkou extends JFrame implements ActionListenerString driver = com.microsoft.jdbc.sqlserver.SQLServerDriver;String url =jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=sql;String user = sa;String password = ;String sql1 = null;String sql2 = null;Connection conn = null;Statement stmt=null;ResultSet ps1= null;JButton button1,button2,button3,button4,tuichu;JPanel p1,p2,p3,p4,p5;JLabel l1,l2,l3;JTextField a1;JPasswordField a2;JRadioButton jrb1,jrb2;ButtonGroup bgroup;String rigthlimit;/定义构造函数显示登陆界面public zhuchuangkou()button1=new JButton(登陆);button1.addActionListener(this);tuichu=new JButton(退出);tuichu.addActionListener(this);bgroup=new ButtonGroup();p1=new JPanel();p2=new JPanel();p3=new JPanel();p4=new JPanel();p5=new JPanel();l1=new JLabel(学生成绩管理系统,JLabel.CENTER);l1.setFont(new Font(宋体,Font.BOLD,30);l2=new JLabel(登录名);l3=new JLabel(密 码);a1=new JTextField(10);a2=new JPasswordField(10);jrb1=new JRadioButton(学生,true);bgroup.add(jrb1);jrb2=new JRadioButton(教师);bgroup.add(jrb2);p1.add(l1);p2.add(l2);p2.add(a1);p3.add(l3);p3.add(a2);p4.add(jrb1);p4.add(jrb2);p5.add(button1);p5.add(tuichu);this.setLayout(new GridLayout(5,1);this.add(p1);this.add(p2);this.add(p3);this.add(p4);this.add(p5);this.setSize(350,240);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);2.2.4.2主界面模块设计与实现设计思路:为了实现2.1.1.3-2.1.1.11的功能来完成相应的操作。实现功能:用户可以完成2.1.1.3-2.1.1.11所有功能。图为系统运行时的部分截图:1. 主界面内容:在该界面中用户可以根据菜单选择相应操作。2. 信息维护菜单中个人信息之后的内容该功能是通过连接数据库查询登陆用户的信息并把查询结果返回给主界面中表格显示。3. 信息维护菜单中修改信息之后的内容该界面是通过将前一个界面的相应信息传给该界面,并连接数据库,将输入框中输入修改的内容返回给数据并且将数据库中的内容修改更新。4. 基础查询中点击班级信息查询后的内容(登陆权限为学生)该功能是通过连接数据库查询登陆用户所在的班级并把查询结果返回给主界面中表格显示。5. 基础查询中点击课程信息查询后的内容(登陆权限为学生)该功能是通过连接数据库查询登陆用户的课程信息并把查询结果返回给主界面中表格显示。该模块的核心代码如下:public class chuangkou extends JFrame implements ActionListenerString driver = com.microsoft.jdbc.sqlserver.SQLServerDriver;String url = jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=sql;String user = sa;String password1 = ;String sql1 = null;String sql2 = null;Connection conn = null;Statement stmt=null;ResultSet ps1= null;ResultSet ps2= null;ResultSetMetaData rsmd=null;PreparedStatement pstmt= null; JMenuBar jmb; JMenu jm1,jm2,jm3,jm4,jm5; JMenuItem jmi11; JMenuItem jmi21,jmi22; JMenuItem jmi31,jmi32,jmi33; JMenuItem jmi41,jmi42,jmi43; JMenuItem jmi51; JTable jtb1; JScrollPane jsp; DefaultTableModel tablemodel; String id, password,rigthlimit; Vector columnNames=null; Vector rowData=null; Vector hang=null; String sql=null; public chuangkou(String id,String password,String rigthlimit) this.id=id; this.password=password; this.rigthlimit=rigthlimit; jmb=new JMenuBar(); jm1=new JMenu(返回登陆(F); jm1.setMnemonic(F); jm2=new JMenu(信息维护(W); jm2.setMnemonic(W); jm3=new JMenu(基础查询(C); jm3.setMnemonic(C); jm4=new JMenu(信息管理(G); jm4.setMnemonic(G); jm5=new JMenu(帮助(H); jm5.setMnemonic(H); jmi11=new JMenuItem(返回登陆); jmi11.addActionListener(this); jmi21=new JMenuItem(个人信息); jmi21.addActionListener(this); jmi22=new JMenuItem(修改信息); jmi22.addActionListener(this); jmi31=new JMenuItem(学生信息查询); jmi31.addActionListener(this); jmi32=new JMenuItem(班级信息查询); jmi32.addActionListener(this); jmi33=new JMenuItem(课程信息查询); jmi33.addActionListener(this); jmi41=new JMenuItem(成绩查询); jmi42=new JMenuItem(计算平均分); jmi43=new JMenuItem(成绩输入); jmi51=new JMenuItem(帮助信息); columnNames=new Vector(); for(int i=0;i5;i+) columnNames.add( ); rowData=new Vector(); hang =new Vector(

温馨提示

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

评论

0/150

提交评论