Java程序设计大作业实验报告

合集下载

java类的设计实验报告

java类的设计实验报告

java类的设计实验报告Java 类的设计实验报告一、实验目的本次实验的主要目的是深入理解和掌握 Java 类的设计原则、方法和技巧,通过实际的编程实践,提高对面向对象编程思想的应用能力,培养良好的编程习惯和代码规范。

二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容1、设计一个简单的学生类(Student),包含学生的姓名(name)、年龄(age)、学号(studentId)等属性,并提供相应的构造方法、getter 和 setter 方法。

2、设计一个课程类(Course),包含课程名称(courseName)、课程编号(courseId)、授课教师(teacher)等属性,同样提供构造方法和相关的访问方法。

3、设计一个学生选课类(StudentCourse),用于关联学生和课程,包含学生对象(student)、课程对象(course)、选课时间(selectTime)等属性,并实现相应的方法来获取和设置这些属性。

四、实验步骤(一)学生类(Student)的设计```javapublic class Student {private String name;private int age;private String studentId;//无参构造方法public Student(){}//有参构造方法public Student(String name, int age, String studentId) {thisname = name;thisage = age;thisstudentId = studentId;}// getter 和 setter 方法public String getName(){return name;}public void setName(String name) {thisname = name;}public int getAge(){return age;}public void setAge(int age) {thisage = age;}public String getStudentId(){return studentId;}public void setStudentId(String studentId) {thisstudentId = studentId;}}```(二)课程类(Course)的设计```javapublic class Course {private String courseName;private String courseId;private String teacher;//无参构造方法public Course(){}//有参构造方法public Course(String courseName, String courseId, String teacher) {thiscourseName = courseName;thiscourseId = courseId;thisteacher = teacher;}// getter 和 setter 方法public String getCourseName(){return courseName;}public void setCourseName(String courseName) {thiscourseName = courseName;}public String getCourseId(){return courseId;}public void setCourseId(String courseId) {thiscourseId = courseId;}public String getTeacher(){return teacher;}public void setTeacher(String teacher) {thisteacher = teacher;}}```(三)学生选课类(StudentCourse)的设计```javapublic class StudentCourse {private Student student;private Course course;private String selectTime;//无参构造方法public StudentCourse(){}//有参构造方法public StudentCourse(Student student, Course course, String selectTime) {thisstudent = student;thiscourse = course;thisselectTime = selectTime;}// getter 和 setter 方法public Student getStudent(){return student;}public void setStudent(Student student) {thisstudent = student;}public Course getCourse(){return course;}public void setCourse(Course course) {thiscourse = course;}public String getSelectTime(){return selectTime;}public void setSelectTime(String selectTime) {thisselectTime = selectTime;}}```(四)测试类```javapublic class Test {public static void main(String args) {//创建学生对象Student student1 = new Student("张三", 20, "001");//创建课程对象Course course1 = new Course("Java 编程","001","李老师");//创建学生选课对象StudentCourse studentCourse1 = new StudentCourse(student1,course1, "2023-09-01");//输出学生选课信息Systemoutprintln("学生姓名:"+ studentCourse1getStudent()getName());Systemoutprintln("学生年龄:"+ studentCourse1getStudent()getAge());Systemoutprintln("学生学号:"+ studentCourse1getStudent()getStudentId());Systemoutprintln("课程名称:"+ studentCourse1getCourse()getCourseName());Systemoutprintln("课程编号:"+ studentCourse1getCourse()getCourseId());Systemoutprintln("授课教师:"+ studentCourse1getCourse()getTeacher());Systemoutprintln("选课时间:"+studentCourse1getSelectTime());}}```五、实验结果与分析通过运行测试类,成功输出了学生选课的相关信息,包括学生的姓名、年龄、学号,课程的名称、编号、授课教师以及选课时间。

《JAVA程序设计》大作业报告模板

《JAVA程序设计》大作业报告模板

华北科技学院计算机系课程综合作业实验报告课程名称JAVA程序设计实验学期2010 至2011 学年第 1 学期学生所在系部计算机年级08级专业班级信管B082学生姓名学号************ 任课教师实验成绩计算机系制《JAVA程序设计》课程综合作业实验报告学生的学号,可以更新这条记录中的数据;“查询记录”,输入要查询学生学号可以查询这个学生的所有信息;选择分数信息中的“各科最高低分”菜单,可以查询所有学科中的最高分和最低分;“总分平均分”显示所有学生的总分和平均分。

3.主要代码本程序使用Java中基于SWING的图形设计,用到java中的java.awt.*内的包,控件的布局用到java.swing.border.*包,事件处理用到java.awt.event.*,连接数据库用到java.sql 登录界面主要代图1public class denglu{public static void main(String args[]){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){ //11System.out.println(""+e);}new WindowBox("登录窗口"); //调用方法}}class WindowBox extends JDialog implements ActionListener{//声明Box baseBox,boxV1,boxV2,boxV3;JButton button1,button2;}}}如果出现用户名密码错误则会出现提示信息对话框图2通过调用Datawin类中的内容可以进入到主界面声明菜单中的显示、添加、删除、修改、查询、最高低分以及总分平均分菜单项和类,能过给菜单添加事件监听事件图3public void actionPerformed(ActionEvent e){if(e.getSource()==itemshow)show.setVisible(true);else if(e.getSource()==itemadd)add.setVisible(true);else if(e.getSource()==itemupdata)updata.setVisible(true);a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getString(3);a[k][3]=rs.getString(4);a[k][4]=rs.getString(5);a[k][5]=rs.getString(6);k++;}con.close();}catch(SQLException ee){System.out.println(ee);} //处理异常table=new JTable(a,name);getContentPane().removeAll(); //采用BorderLayout布局add(showRecord,BorderLayout.NORTH);add(new JScrollPane(table),BorderLayout.CENTER);validate();}图4构造增加类,声明组件,定义一个表名Object name[]={"学号","姓名","年龄","性别","系别","班级"};和定义一个表单Object a[][]=new Object[1][6];然后给按钮组件增加以下监听事件,通过对表单中输入数据进而增加到数据库中public void actionPerformed(ActionEvent e)//处理事件图5图6构造删除类,声明组件,在文本框中输入信息,进而可以删除数据库中相应的记录给文本框和按钮增加以下事件public void actionPerformed(ActionEvent e){if(e.getSource()==inputNumber){try{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM 学生信息 WHERExueid='"+num+"'");boolean boo=rs.next();if(boo==false){JOptionPane.showMessageDialog(this,"学号不存在",table.repaint();//重打印表con.close();}catch(SQLException ee){JOptionPane.showMessageDialog(this,"更新失败"+ee,"失败",JOptionPane.ERROR_MESSAGE);}}//if图7构造查询方法查询这个窗体整体彩盒式布局,首先声明类和方法设计窗体的外观,给相应的组件添加事件利用SQL语句查询数据库中的信息 rs=sql.executeQuery("SELECT * FROM 学生信息WHERE xueid='"+num+"'");如果输入学号数据库中不存在提示信息“学号不存在”,否则利用table.repaint();方法将数据库中的信息输入到窗体中的table中public void actionPerformed(ActionEvent e)//处理事件{try//连接数据原 hello{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");图8构造最高最低分类首先定义两个静态变量m,n;将数据库中的信息利用查询的方法显示在数字 int b[][]中,con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//只读形式rs=sql.executeQuery("SELECT * FROM 分数信息");st();利用如下方法求得语文成绩的最高分和最低分for(k=0;k<lastNumber;k++){if(m<b[k][0]){m=b[k][0];}if(n>b[k][0]){n=b[k][0];}}a[0][1]=m;a[1][1]=n;同理可以求得其它几科成绩的最高分和最低分然后,将object a[][]中的信息显示有窗体中图9构造总分平均分方法首先将数据库中的信息显示在利用SQL查询方法显示有两个数据中object a[][]和int b[][]中利用如下方法将求得总分和平均分try{con=DriverManager.getConnection("jdbc:odbc:hello","",""); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=sql.executeQuery("SELECT * FROM 分数信息");st();int lastNumber=rs.getRow();b=new int[lastNumber][4];a=new Object[lastNumber][8];int k=0;rs.beforeFirst();while(rs.next()){a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getByte(3);b[k][0]=rs.getByte(3);a[k][3]=rs.getByte(4);b[k][1]=rs.getByte(4);a[k][4]=rs.getByte(5);b[k][2]=rs.getByte(5);a[k][5]=rs.getByte(6);b[k][3]=rs.getByte(6);a[k][6]=b[k][0]+b[k][1]+b[k][2]+b[k][3];a[k][7]=(b[k][0]+b[k][1]+b[k][2]+b[k][3])/4;k++;}con.close();}catch(SQLException ee){System.out.println(ee);}图10四、实验结果及分析程序运行中的报告分析1、在登陆时如果输入不正确的用户和密码会提示用户名或密码错误,因为通过getText()方法无法获得正确的字符串从而提示错误2、在进行数据库相应操作时,如果无法正确连接数据库则会提示不存在所需的数据资源,可能原因是没有正确连接到数据源,即可能数据源名称不正确,或者在数据库中不存在相应的表,或者可能SQL语法错误在进行相应的查询的删除操作时,如果不存在输入的学号会提示用户,“学号学号不存在”,因为不在数据库不无法在相应的字段下找到相匹配的字符串。

java语言程序设计实验报告

java语言程序设计实验报告

java语言程序设计实验报告篇一:Java实验八报告《Java语言程序设计》实验报告学生姓名:郭倩班级:信息112学号:201152275208实验地点:经管实验中心证券实验室指导教师:赵利平实验日期:实验环境:Windows 2000+JDK1.61. 实验目的(1)理解子类派生的概念(2)学习创建子类对象(3)掌握方法覆盖的使用2.实验内容(1)设计三个类:完成实验教材P52页程序清单4-2;(2)通过编制一个程序来加深对嵌套类、内部类和局部类的理解:完成实验教材P56页程序清单4-3;2. 实验过程报告撰写具体要求:上述实验内容要求写出源代码及运行结果。

实验内容(1)://Polymorphism.abstract class Student{final static int CourseNo=3;String name;String type;int[] courses;String courseGrade;public Student(String name){=name;courses=new int[CourseNo];courseGrade=null;}public abstract void calculateGrade();public String getName(){return name;}public String getType(){return type;}public String getCourseGrade(){return courseGrade;}public int getCourseScore(int courseNumber){return courses[courseNumber];}public void setName(String name){=name;}public void setType(String type){this.type=type;}public void setCourseScore(int courseNumber,int courseScore){this.courses[courseNumber]=courseScore;}}class Undergraduate extends Student{public Undergraduate(String name){super(name);type="本科生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=80&&average<100) coursegrade="优秀" else="" average="">=70&&average<80) coursegrade="良好" else="" average="">=60&&average<70) coursegrade="一般" else="" average="">=50&&average<60) courseGrade="及格";else courseGrade="不及格";}}class Postgraduate extends Student{public Postgraduate(String name){super(name);type="研究生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=90&&average<100) coursegrade="优秀" else="" average="">=80&&average<90) coursegrade="良好"else="" average="">=70&&average<80) coursegrade="一般" else="" average="">=60&&average<70) courseGrade="及格";else courseGrade="不及格";}}public class Polymorphism{public static void main(String[] args){Student[] students=new Student[5];students[0]=new Undergraduate("陈建平");students[1]=new Undergraduate("鲁向东");students[2]=new Postgraduate("匡晓华");students[3]=new Undergraduate("周丽娜");students[4]=new Postgraduate("梁欣欣");for(int i=0;i<5;i++){students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for(int i=0;i<5;i++){students[i].calculateGrade();}System.out.println("姓名"+" 类型"+" 成绩");}}System.out.println("-------------------------"); for(int i=0;i<5;i++){ System.out.println(students[i].getName()+" "+students[i].getType()+" "+students[i].getCourseGrade()); }(1) 都有(2) Student[] students=new Student[5];(3) Student是抽象的,不能用new操作符创建抽象类的实例。

java程序设计大作业报告

java程序设计大作业报告

Java程序设计大作业报告1. 引言本报告是关于Java程序设计大作业的报告,旨在总结和描述本次大作业的设计和实现过程。

本次大作业的主题是设计一个学生成绩管理系统。

2. 需求分析在开始设计和实现学生成绩管理系统之前,首先需要明确系统的需求。

本次大作业的学生成绩管理系统需要包含以下功能: - 学生信息管理:包括学生的基本信息和成绩信息。

- 成绩录入和查询:教师能够录入学生的成绩,并能够查询和修改学生的成绩信息。

- 成绩统计和分析:系统能够对学生的成绩进行统计和分析,例如计算平均分、最高分、最低分等。

3. 系统设计根据需求分析的结果,我们可以开始进行系统设计。

以下是学生成绩管理系统的设计步骤:3.1 类设计首先,我们需要定义学生类(Student)和成绩类(Grade)来管理学生和成绩信息。

学生类包含学生的基本信息,如学号、姓名、性别等,成绩类包含学生的各科成绩信息。

此外,我们还需要设计一个教师类(Teacher),用于录入和查询学生的成绩信息。

3.2 数据结构设计在设计学生成绩管理系统时,我们需要选择适合的数据结构来存储和管理学生和成绩信息。

例如,可以使用数组、链表或哈希表等数据结构来存储学生和成绩信息,根据具体需求进行选择。

3.3 用户界面设计学生成绩管理系统需要有一个用户友好的界面,方便教师进行操作。

可以使用图形界面(GUI)或命令行界面(CLI)来实现用户界面。

4. 系统实现在完成系统设计后,我们可以开始实现学生成绩管理系统。

4.1 学生类实现首先,我们需要实现学生类。

学生类应该包含学生的基本信息和成绩信息的操作方法,例如获取学生的基本信息、添加和修改成绩等。

4.2 成绩类实现接下来,我们需要实现成绩类。

成绩类应该包含学生的各科成绩信息,并提供计算平均分、最高分、最低分等操作方法。

4.3 教师类实现然后,我们需要实现教师类。

教师类应该包含录入和查询学生成绩的操作方法,例如录入学生成绩、查询学生成绩等。

JAVA程序设计大作业报告

JAVA程序设计大作业报告
JAVA程序设计大作业报告
过程:
1、课程设计目的 2、课程设计题目描述与要求 3、课程设计报考内容 4、输出结果 5、实验总结
1、课程设计目的
用面向对象语言JAVA完成计算 器的设计和实施。通过课程设计掌 握面向对象编程技术,常用库类的 使用和应用系统的开发过程。
2、课程设计题目描述与要求
(1)完成窗口的关闭 按钮的功能; (2)完成清空键 功能;(即清空文本框中的内容) (3)完成数字按钮的功能;(即文本框显示对应数字) (4)完成基本的“+”,“-”,“*”,“/”四则运算;
3、课程设计报告内容
3.1 课程设计思路 设计的程序能完成计算器的基本功能 例如四则运算 3.2 设计过程 本次设计一个简易的计算器的界面,该计算器运行 程序后的界面如下图所示 该计算机包括了加减乘除四则运算 操作建议
3.3实验源代码
在设计这个程序的开始,我们首先设计这个计算器的 界面,我用比较简单的方法,运用GridLayout(4,5)来实 现简单的排版。然后把我需要的几个按键都依次的输入s("CE"))
{
display.setText("0"); start=true; flag=true; command="=";
} else if(start&&flag) { if(command.equals("-")) { display.setText(command); start=false; } else if((command.equals("1/x")||command.equals("sqrt"))&&flag) calculate(Double.parseDouble(display.getText()),command); else if(flag) lastCommand=command; } else { if(command.equals("Backspace")&&flag) { String s=display.getText(); char[] s1=s.toCharArray(); if(s.length()>=2) { String s2=new String(s1,0,s.length()-1); display.setText(s2); } else { display.setText("0"); start=true; } } else if(flag) { calculate(Double.parseDouble(display.getText()),command); lastCommand=command; start=true; } } } }

Java程序设计大作业实验报告

Java程序设计大作业实验报告

目录一、前言 (2)二、需求分析 (3)三、系统总体设计 (3)3.1系统总体设计系统思路 (3)3.2数据库设计 (4)3.2.1 login1表的设计和数据 (4)3.2.2 student表的设计和数据 (5)3.2.3 course表的设计和数据 (5)3.2.4 score表的设计和数据 (6)3.3系统功能模块设计 (6)四、系统详细设计 (7)4.1登录模块 (7)4.2 学生模块 (7)4.3 教师模块 (8)4.4 管理员模块 (8)五、系统测试及运行结果 (9)5.1 主界面 (9)5.2 学生管理中心界面 (9)5.3 教师管理中心界面 (10)5.4 管理员管理中心界面 (10)5.5 查询课表界面 (11)5.6 查询成绩界面 (11)5.7 查询教学情况界面 (11)5.8 查询所有学生成绩界面 (12)5.9 学生信息管理界面 (12)5.10 学生成绩管理界面 (13)5.11 用户管理界面 (13)六、实验总结 (14)七、参考文献 (14)一、前言随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。

如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。

对于前者,要求应用程序功能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。

本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。

本系统主要分为三个部分:学生模块、教师模块、管理员模块。

其中学生模块实现的功能:查询课表信息和查询成绩。

教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。

《JAVA程序设计》实验报告5

《JAVA程序设计》实验报告5

《JAVA程序设计》实验报告5实验单元五Java 类的应用、继承实验六Java类的应用实验时间: 4.4【实验目的】1、定义自己的Java类。

2、能够应用类。

【实验环境】JDK、Eclipse【实验内容】1.定义一个学生类,包括属性:学号、姓名、年龄(取值介于0-100之间)、成绩(取值介于0-100之间),定义一个方法显示学生信息。

并测试该类。

2.定义一个长方形类,有长、宽属性,并给出计算面积及周长的方法。

并测试该类。

3.设计一个人类Person,包含姓名,年龄,性别基本信息,修饰为私有的设计一个人类Person,包含姓名,年龄,性别基本信息,修饰为私有的;定义构造方法,用来初始化基本信息;定义方法show,用来显示基本信息值。

测试该类。

4.建立一个名叫Cat的类:属性:姓名、毛色、年龄行为:显示姓名、喊叫请编写主类:创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

5.类的成员变量请定义一个交通工具(Vehicle)的类其中有: 属性速度(speed)体积(size)等等方法移动(move())设置速度(setSpeed(int speed))加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象并通过方法给它初始化speed,size的值并且通过打印出来。

另外调用加速减速的方法对速度进行改变。

【详细分析】(此项由学生自己完成)【实验源码】(此项由学生自己完成)1.定义一个学生类,包括属性:学号、姓名、年龄(取值介于0-100之间)、成绩(取值介于0-100之间),定义一个方法显示学生信息。

并测试该类。

代码:package ch5;public class Student {public int no;public String name;public int age;public int cg;public void setNo(int no){this.no=no;}public void setName(String name){=name;}public void setAge(int age){this.age=age;if(age>0&&age<=100);elseSystem.out.println("请输入合法的年龄值:");}public void setCg(int cg){this.cg=cg;if(cg>0&&cg<=100);elseSystem.out.println("请输入合法的成绩值:");}}package ch5;public class StudentText {public static void main(String[] args) {// TODO Auto-generated method stubStudent stu=new Student();stu.setNo(12);System.out.println("学号:"+stu.no);stu.setName("lihua");System.out.println("姓名:"+);stu.setAge(18);System.out.println("年龄:"+stu.age);stu.setCg(21);System.out.println("成绩:"+stu.cg);}}2.定义一个长方形类,有长、宽属性,并给出计算面积及周长的方法。

《Java程序设计》实验报告 --实验3

《Java程序设计》实验报告 --实验3
}
else if(e.getSource()==buttontwo){//按键2操作
tf.setText(tf.getText()+"2");
flag1=Double.parseDouble(tf.getText());
}
else if(e.getSource()==buttonthree){//按键3操作
buttondevision=new JButton("/");
buttonsin=new JButton("sin");
buttontozero=new JButton(">0");
paneleast.setLayout(new GridLayout(3,1));//设置西边的布局为3行1列
//将操作按钮"+""-""*""/""sin"">0"添加到西边的面板中
JButton buttonplus,buttonminus,buttonmultiple,buttondevision,
buttonsin,buttontozero;//新建按钮"+""-""*""/""sin"和归零按钮
JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix,
panelcenter.add(buttonthree);
panelcenter.add(buttonfour);
panelcenter.add(buttonfive);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
一、前言 (2)
二、需求分析 (3)
三、系统总体设计 (3)
3.1系统总体设计系统思路 (3)
3.2数据库设计 (4)
3.2.1 login1表的设计和数据 (4)
3.2.2 student表的设计和数据 (5)
3.2.3 course表的设计和数据 (5)
3.2.4 score表的设计和数据 (5)
3.3系统功能模块设计 (6)
四、系统详细设计 (7)
4.1登录模块 (7)
4.2 学生模块 (7)
4.3 教师模块 (7)
4.4 管理员模块 (8)
五、系统测试及运行结果 (9)
5.1 主界面 (9)
5.2 学生管理中心界面 (9)
5.3 教师管理中心界面 (10)
5.4 管理员管理中心界面 (10)
5.5 查询课表界面 (11)
5.6 查询成绩界面 (11)
5.7 查询教学情况界面 (11)
5.8 查询所有学生成绩界面 (12)
5.9 学生信息管理界面 (12)
5.10 学生成绩管理界面 (13)
5.11 用户管理界面 (13)
六、实验总结 (14)
七、参考文献 (14)
一、前言
随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。

如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。

对于前者,要求应用程序功能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。

本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。

本系统主要分为三个部分:学生模块、教师模块、管理员模块。

其中学生模块实现的功能:查询课表信息和查询成绩。

教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。

管理员模块实现的功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。

二、需求分析
用JAVA语言实现学生信息管理系统的图形界面的编程。

主要实现以下几个重要功能:
①实现三种不同身份(学生、教师、管理员)登录学生信息管理系统。

(其中的数据信息保存在数据库中)
②在三种身份登录成功后,分别展现三个界面:学生管理中心、教师管理中心、管理员管理中心。

③在学生管理中心界面实现功能:查询课表信息和查询成绩。

(查询时不允许修改数据)
④在教师管理中心界面实现功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。

⑤在管理员管理中心界面实现功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。

学生信息的管理:实现学生信息的查询、插入、删除、更新。

课表信息的管理:实现课表的查询。

学生成绩的管理:实现学生成绩的查询、插入、删除、更新。

用户信息的管理:实现用户信息插入、删除、修改、更新。

三、系统总体设计
3.1系统总体设计系统思路
本系统的数据都是保存在数据库中,从而保证了数据的完整性、安全性、和一致性。

系统涉及的主要知识:JAVA以及SQL SERVER2008的操作。

利用JAVA的图形编程界面的输入来对数据库进行数据的增加、修改、删除、更新。

以下为系统设计的总体流程图:
3.2数据库设计
本系统主要用到4张表:login1、student 、course 、score 。

3.2.1 login1表的设计和数据
3.2.2 student表的设计和数据
3.2.3 course表的设计和数据
3.2.4 score表的设计和数据
3.3系统功能模块设计
本系统共有20个类,下面分别简要介绍各类的主要作用。

(1)Login:包含主类,选中运行本系统。

(2)WindowLogin:实现主窗口界面。

(3)Denglu: 验证登录,若登陆成功,分别转向不同的用户界面。

(4)Reset:清空主窗口的所有输入值。

(5)WindowAdmin:管理员用户主界面。

(6)WindowStudent:学生用户主界面。

(7)WindowTeacher:教师用户主界面。

(8)ConnectSQL: 连接数据库,对数据库进行增、删、改、查操作。

(9)ModifyAdminPassword:修改管理员用户的密码。

(10)ModifyTeacherPassword:修改教师用户的密码。

(11)ModifyStudentPassword:修改学生用户的密码。

(12)QueryAllScore:查询所有学生成绩
(13)QueryCouse:查询课表。

(14)QueryScore:查询单个学生成绩。

(15)QueryTeachingSituation:查询教学情况。

(16)QueryAllStudentInformation:查询所有学生信息。

(17)QueryAllUsersInformation:查询所有用户信息。

(18)StudentInformationManegement:学生信息管理界面。

(19)StudentScoreManagement:学生成绩管理界面。

(20)UsersInformationManagement:用户信息管理界面。

四、系统详细设计
4.1登录模块
用Denglu类来做登录按钮的监视器,具体源代码参见打包工程的Denglu类。

4.2 学生模块
在学生模块主要实现三种功能:在菜单条上实现修改密码、查询课表、查询成绩。

分别由三个类来实现,分别是ModifyStudentPassword、QueryCourse、QueryScore。

具体源代码参见打包工程。

4.3 教师模块
在教师模块中主要实现四个功能:在菜单条上实现修改密码、查询课表、查看教学情况、查询所有学生成绩。

分别由四个类来实现,
分别是ModifyTeacher
tPassword、QueryCourse、QueryTeachingSituation、QueryAllScore。

具体源代码参见打包工程。

4.4 管理员模块
在管理员模块中主要实现五个功能:在菜单条上实现修改密码、课表信息管理、学生信息管理、学生成绩管理、用户信息管理。

分别由四个类来实现,分别是ModifyAdminPassword、QueryCourse、StudentInformationManagement、StudentScoreManagement、UsersInformationManagement。

具体源代码参见打包工程。

五、系统测试及运行结果
5.1 主界面
5.2 学生管理中心界面
5.3 教师管理中心界面
5.4 管理员管理中心界面
5.5 查询课表界面
5.6 查询成绩界面
5.7 查询教学情况界面
5.8 查询所有学生成绩界面
5.11 用户管理界面
六、实验总结
通过对学生信息管理系统的开发研究,我把所学的知识综合运用到开发过程中,使我获得了许多在课本中学不到的知识。

经过这次实验,我对自己掌握的JAVA以及数据库知识有了更深层次的了解。

在本系统的编写过程中,我逐渐发现书本上的知识还是远远不够的。

此时我才明白大学就是要培养一个人的自学能力。

在编写过程中,我虽然已经仔细编写代码,但仍然无法阻止错误的发生。

不过幸运的是经过自己的调试和老师的帮助,出现的各种问题已经被妥善解决。

学习一门编程语言,不仅仅是掌握书上的例题,更重要的是在编程过程中的灵活运用。

在这里我想感谢帮助和指导我的老师。

正是由于他的帮助和指导,我的学生信息管理系统最终完成。

感谢周老师的教诲!
七、参考文献
《Java面向对象程序设计》耿祥义张跃平
如有侵权请联系告知删除,感谢你们的配合!。

相关文档
最新文档