java程序设计-学生成绩信息管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

JAVA程序设计——学生信息管理系统题目学生信息管理系统学院软件学院专业班别学号姓名XXX2015年6月10日2一、课程题目设计一个简易的学生成绩管理系统。用于记录学生的各科成绩,以及实现常用的统计功能。(1)记录学生的基本信息,如姓名、学号、专业、班级等(2)记录各科成绩(3)实现常用的统计功能,如:单科成绩排名、总分排名、统计成绩高于/低于某一临界值的学生、统计单科/总分平均值……(4)使用图形方式显示某些数据,如直方图显示各分数段的人数、绘制各科分数分布曲线……(可选)(5)必须使用数据库。其它功能可自行扩展。二、题目分析与设计1.注明所使用的开发环境(Eclipse、NetBeans,JBuilder)。开发环境:Eclipse2.论述题目的需求。给出软件功能架构图。题目需求:通过数据库记录学生成绩和信息,并通过数据库读取这些信息,实现单个学生查找、全体学生查找等功能和单科排名、平均分、总分排名、平均分等功能。其他扩展功能:登录界面,保存到txt文件。软件功能架构图:其中,删除、修改、单个查找功能均通过学号定位学生3.论述界面设计过程,指出其设计上的创意及组件的布局策略。界面设计过程:主要界面包括登录界面,主功能界面,各个子功能界面。登录界面包括3个面板,每个面板放入相应的标签、文本框、按钮等组件,登录界面采用3行1列的网格布局;主功能界面包括菜单栏和若干面板,面板中放入标签或若干按钮,菜单栏的菜单项与按钮相对应,主功能界面采用7行1列的网格布局;学生管理类子功能(增加学生、删除学生、修改学生、单个查找)界面采用6行2列的网格布局,每个网格均放入一个面板,每个面板放入标签、文本框、组合框、按钮等组件,以达到较友好的界面效果;学生查找类子功能界面(查看全体、按年级查询、按班别查询、按专业查询)和成绩管理类子功能(单科排名、总分排名、合格学生、挂科学生)界面采用边界布局,界面的上部放入一个面板,面板放入相应的按钮或组合框,中部放入一个文本域。所有错误信息等信息均通过对话框的形式显示相应信息。4.论述程序逻辑的实现,包括类的设计、对象的协作过程等,必要时加以各种图形和表格辅助论述。不得以粘贴代码的方式代替设计部分。类的设计过程:本程序包括19个类文件,每个类文件只含有一个类,分别是包含main方法的主类Main,实现登录功能的类Login,实现各种功能选择功能的类Function,实现数据库连接的类DataBaseCreate,实现学生信息编辑功能类StudentEdit,执行增加学生功能的类AddStudent,执行删除学生功能的类DeleteStudent,执行修改学生功能的类UpdateStudent,执行单个查询功能的类IndexOfSingle,(由于AddStudent,DeleteStudent,UpdateStudent,IndexOfSingle界面和操作基本相同,所以上4类均继承StudentEdit)实现条件查找和成绩管理功能的类IndexOrManage,执行查询全体功能的类LookAllStudents,执行按年级查询功能的类IndexOfGrade,执行按班别查询功能的类IndexOfClass,执行按专业查询的类IndexOfMajor,执行单科排名功能的类SubjectScoreRanking,执行总分排名功能的类TotalScoreRanking,执行查找单科及格学生功能的类PassStudents,执行查找单科不及格学生功能的类NotPassStudents,(由于LookAllStudents,IndexOfGrade,IndexOfClass,IndexOfMajor,SubjectScoreRanking,TotalScoreRanking,PassStudents,NotPassStudents,界面和操作基本相同,所以上8类均继承IndexOrManage)执行将文本域内容保存到TXT文件的类TxtSave。以上19个类,除了Main类以外,均包含一个构造方法,有些还包含actionPerformed(e)方法。对象的协作过程:三、测试分析小四字体,1.5倍行距。对程序的测试情况作出分析。至少包括但不限于需要具备以下内容:1.阐述扩展包(仅限于SUN官方发布)的部署过程,并将扩展包附于光盘源程序中;给出数据库的详细配置说明。导入扩展包mysql-connector-java-5.1.25-bin.jar数据库配置说明:数据库mySQL数据库服务器localhost端口3306用户名root密码空数据库名studentmanagementStudent表2.典型测试数据的构建,并且给出测试数据的预计结果原数据:测试数据:添加学生10005张兰女20122信息工程19930506827458删除学生10000修改学生10001李嘉女20114网络工程19920304548586.5单个查找10003查询全体按年级查找2011级按班别查找1班按专业查找软件工程单科排名并显示平均分语文总分排名并显示平均分单科及格学生英语单科不及格学生语文保存Txt总分预测结果:均成功完成操作3.本程序的测试情况,与预计结果作对比测试情况:成功完成相关操作添加学生10005张兰女20122信息工程19930506827458删除学生10000修改学生10001李嘉女20114网络工程19920304548586.5单个查找1000320001查询全体按年级查找2011级按班别查找1班按专业查找软件工程单科排名并显示平均分语文总分排名并显示平均分单科及格学生英语单科不及格学生语文保存Txt总分排名附录:源代码小四字体,1.5倍行距。只需列出程序中所有的包及相关的文件。不需要打印源代码。程序中所有的包及相关的文件:代码:importjavax.swing.JFrame;publicclassMain{/***@paramargs*/publicstaticvoidmain(String[]args){Loginlogin=newLogin();login.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;//登录界面publicclassLoginextendsJFrameimplementsActionListener{JButtonb1=newJButton(登录);JButtonb2=newJButton(退出);JLabella1=newJLabel(用户名);JLabella2=newJLabel(密码);JPanelp1=newJPanel();JPanelp2=newJPanel();JPanelp3=newJPanel();JTextFieldname=newJTextField(15);JPasswordFieldpw=newJPasswordField(15);publicLogin(){setTitle(学生成绩管理系统);getContentPane().setLayout(newGridLayout(3,1));getContentPane().add(p1);getContentPane().add(p2);getContentPane().add(p3);p1.add(la1);p1.add(name);p2.add(la2);p2.add(pw);p3.add(b1);p3.add(b2);setBounds(500,250,100,100);pack();setVisible(true);pw.setEchoChar('*');b1.addActionListener(this);b2.addActionListener(this);}publicvoidactionPerformed(ActionEvente){if(e.getActionCommand()==登录){Stringpassword=pw.getText();Stringuser=name.getText();if(user.equals(admin)&&password.equals(admin)){Functionfunction=newFunction();function.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(false);}else{JOptionPane.showMessageDialog(null,用户名或密码错误,Error,JOptionPane.INFORMATION_MESSAGE);}}elseif(e.getActionCommand()==退出){System.exit(0);}}}importjava.sql.*;//连接数据库类publicclassDataBaseCreate{//连接数据库静态方法,若产生错误,则抛出相应错误信息publicstaticConnectiongetConnection()throwsSQLException,java.lang.ClassNotFoundException{//建立本地数据库连接,编码规则转换为utf-8(正常录入中文)Stringurl=jdbc:mysql://localhost:3306/studentmanagement?useUnicode=true&characterEncoding=utf8;Class.forName(com.mysql.jdbc.Driver);StringuserName=root;Connectioncon=DriverManager.getConnection(url,userName,);returncon;}}importjavax.swing.JFrame;publicclassMain{/***@paramargs*/publicstaticvoidmain(String[]args){Loginlogin=newLogin();login.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;//主要功能界面publicclassFunctionextendsJFrameimplementsActionListener{JPanelp1=newJPanel();JPanelp2=newJPanel();JPanelp6=newJPanel();JPanelp3=newJPanel();JPanelp4=newJPanel();JPanelp5=newJPanel();JButtonadd=newJButton(增加学生);JButtondel=newJButton(删除学生);JButtonupdate=newJButton(修改学生);JButtonsingle=newJButton(单个查询);JButtonlook=newJButton(查看全体);JButtonb11=newJButton(按年级查找);JButtonb12=newJButton(按班别查找);JButtonb13=newJButton(按专业查找);JLabella1=newJLabel(学生管理);JLabella2=newJLabel(成绩管理);JLabella3=newJLabel(学生查找);JButtonb1=newJButton(单科排名);JButtonb2=newJButton(总分排名);JButtonb3=newJButton(合格学生);JButtonb4=newJButton(挂科学生);JMenuItemitems[][]=newJMenuItem[4][

1 / 59
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功