成绩管理系统java+mySQL.doc
《成绩管理系统java+mySQL.doc》由会员分享,可在线阅读,更多相关《成绩管理系统java+mySQL.doc(40页珍藏版)》请在咨信网上搜索。
1、你的姓名Java语言课程期末作业Java语言课程期末作业题 目第9题: 学生成绩管理系统学 院计算机学院 专 业班 别学 号姓 名温景钊2013年6月10日40一、课程题目设计一个简易的学生成绩管理系统。用于记录学生的各科成绩,以及实现常用的统计功能。 (1) 记录学生的基本信息,如姓名、学号、专业、班级等(2) 记录各科成绩(3) 实现常用的统计功能,如:单科成绩排名、总分排名、统计成绩高于/低于某一临界值的学生、统计单科/总分平均值(4) 使用图形方式显示某些数据,如直方图显示各分数段的人数、绘制各科分数分布曲线(可选)(5) 必须使用数据库。其它功能可自行扩展.二、题目分析与设计1. 注
2、明所使用的开发环境(Eclipse、NetBeans,JBuilder).开发环境:Eclipse2. 论述题目的需求。给出软件功能架构图。题目需求:通过数据库记录学生成绩和信息,并通过数据库读取这些信息,实现单个学生查找、全体学生查找等功能和单科排名、平均分、总分排名、平均分等功能.其他扩展功能:登录界面,保存到txt文件。软件功能架构图:其中,删除、修改、单个查找功能均通过学号定位学生3. 论述界面设计过程,指出其设计上的创意及组件的布局策略.界面设计过程:主要界面包括登录界面,主功能界面,各个子功能界面。登录界面包括3个面板,每个面板放入相应的标签、文本框、按钮等组件,登录界面采用3行1
3、列的网格布局;主功能界面包括菜单栏和若干面板,面板中放入标签或若干按钮,菜单栏的菜单项与按钮相对应,主功能界面采用7行1列的网格布局;学生管理类子功能(增加学生、删除学生、修改学生、单个查找)界面采用6行2列的网格布局,每个网格均放入一个面板,每个面板放入标签、文本框、组合框、按钮等组件,以达到较友好的界面效果;学生查找类子功能界面(查看全体、按年级查询、按班别查询、按专业查询)和成绩管理类子功能(单科排名、总分排名、合格学生、挂科学生)界面采用边界布局,界面的上部放入一个面板,面板放入相应的按钮或组合框,中部放入一个文本域。所有错误信息等信息均通过对话框的形式显示相应信息.4. 论述程序逻辑
4、的实现,包括类的设计、对象的协作过程等,必要时加以各种图形和表格辅助论述.不得以粘贴代码的方式代替设计部分.类的设计过程:本程序包括19个类文件,每个类文件只含有一个类,分别是包含main方法的主类 Main,实现登录功能的类 Login, 实现各种功能选择功能的类 Function,实现数据库连接的类 DataBaseCreate, 实现学生信息编辑功能类 StudentEdit, 执行增加学生功能的类 AddStudent, 执行删除学生功能的类 DeleteStudent, 执行修改学生功能的类 UpdateStudent, 执行单个查询功能的类 IndexOfSingle, (由于Ad
5、dStudent, DeleteStudent, UpdateStudent, IndexOfSingle 界面和操作基本相同,所以上4类均继承StudentEdit) 实现条件查找和成绩管理功能的类 IndexOrManage, 执行查询全体功能的类 LookAllStudents, 执行按年级查询功能的类 IndexOfGrade, 执行按班别查询功能的类 IndexOfClass, 执行按专业查询的类 IndexOfMajor, 执行单科排名功能的类 SubjectScoreRanking, 执行总分排名功能的类 TotalScoreRanking, 执行查找单科及格学生功能的类 Pas
6、sStudents, 执行查找单科不及格学生功能的类 NotPassStudents, (由于LookAllStudents, IndexOfGrade, IndexOfClass, IndexOfMajor, SubjectScoreRanking, TotalScoreRanking, PassStudents, NotPassStudents, 界面和操作基本相同,所以上8类均继承IndexOrManage)执行将文本域内容保存到TXT文件的类 TxtSave.以上19个类,除了Main类以外,均包含一个构造方法,有些还包含actionPerformed(e)方法.对象的协作过程:三、测
7、试分析小四字体,1.5倍行距。对程序的测试情况作出分析.至少包括但不限于需要具备以下内容:1. 阐述扩展包(仅限于SUN官方发布)的部署过程,并将扩展包附于光盘源程序中;给出数据库的详细配置说明。导入扩展包mysqlconnector-java-5。1。25bin。jar数据库配置说明:数据库 mySQL数据库服务器 localhost端口 3306用户名 root密码 空数据库名studentmanagementStudent 表2. 典型测试数据的构建,并且给出测试数据的预计结果原数据:测试数据:添加学生10005 张兰 女 2012 2 信息工程 19930506 82 74 58 删除
8、学生10000修改学生 10001李嘉 女 2011 4 网络工程 19920304 54 85 86。5单个查找 10003查询全体按年级查找2011级按班别查找1班按专业查找软件工程单科排名并显示平均分语文总分排名并显示平均分单科及格学生英语单科不及格学生语文保存Txt总分预测结果:均成功完成操作3. 本程序的测试情况,与预计结果作对比测试情况:成功完成相关操作添加学生10005 张兰 女 2012 2 信息工程 19930506 82 74 58 删除学生 10000修改学生 10001李嘉 女 2011 4 网络工程 19920304 54 85 86.5单个查找 10003 2000
9、1查询全体按年级查找2011级按班别查找1班按专业查找软件工程单科排名并显示平均分语文总分排名并显示平均分 单科及格学生英语单科不及格学生语文保存Txt总分排名附录:源代码小四字体,1。5倍行距.只需列出程序中所有的包及相关的文件.不需要打印源代码.程序中所有的包及相关的文件:代码:import javax.swing.JFrame;publicclass Main / param args /publicstaticvoid main(String args) Login login=new Login();login。setDefaultCloseOperation(JFrame。EXIT
10、_ON_CLOSE);import java。awt。;import java.awt.event.*;import javax。swing。;/登录界面publicclassLoginextends JFrame implements ActionListenerJButton b1=new JButton(”登录);JButton b2=new JButton(”退出);JLabel la1=new JLabel(”用户名”);JLabel la2=new JLabel(密 码”);JPanel p1=new JPanel();JPanel p2=new JPanel();JPanel p
11、3=new JPanel();JTextField name=new JTextField(15);JPasswordField pw=new JPasswordField(15);public Login()setTitle(学生成绩管理系统”);getContentPane().setLayout(new GridLayout(3,1));getContentPane().add(p1);getContentPane().add(p2);getContentPane()。add(p3);p1.add(la1);p1.add(name);p2.add(la2);p2。add(pw);p3.a
12、dd(b1);p3。add(b2);setBounds(500, 250, 100, 100);pack();setVisible(true);pw。setEchoChar(*);b1.addActionListener(this);b2。addActionListener(this);publicvoid actionPerformed(ActionEvent e) if(e。getActionCommand()=”登录)String password=pw.getText();String user=name。getText();if(user。equals(”admin”) passwo
13、rd。equals(”admin”))Function function=new Function();function。setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE);setVisible(false);elseJOptionPane.showMessageDialog(null, 用户名或密码错误”, Error”, JOptionPane。INFORMATION_MESSAGE);elseif(e。getActionCommand()=”退出”)System。exit(0);import java。sql.;/连接数据库类publicclas
14、s DataBaseCreate /连接数据库静态方法,若产生错误,则抛出相应错误信息publicstatic Connection getConnection()throws SQLException,java。lang。ClassNotFoundException/建立本地数据库连接,编码规则转换为utf8(正常录入中文)String url=jdbc:mysql:/localhost:3306/studentmanagement?useUnicode=truecharacterEncoding=utf8”;Class。forName(”com.mysql。jdbc。Driver);Str
15、ing userName=”root;Connection con=DriverManager。getConnection(url, userName, ”);return con;import javax。swing.JFrame;publicclass Main /* * param args /publicstaticvoid main(String args) Login login=new Login();login。setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE);import java.awt。;import java。awt。even
16、t。*;import javax。swing。*;/主要功能界面publicclassFunctionextends JFrame implements ActionListenerJPanel p1=new JPanel();JPanel p2=new JPanel();JPanel p6=new JPanel();JPanel p3=new JPanel();JPanel p4=new JPanel();JPanel p5=new JPanel();JButton add=new JButton(”增加学生);JButton del=new JButton(删除学生”);JButton u
17、pdate=new JButton(”修改学生);JButton single=new JButton(单个查询”);JButton look=new JButton(”查看全体”);JButton b11=new JButton(”按年级查找);JButton b12=new JButton(按班别查找);JButton b13=new JButton(”按专业查找”);JLabel la1=new JLabel(学生管理”);JLabel la2=new JLabel(成绩管理”);JLabel la3=new JLabel(学生查找”);JButton b1=new JButton(”单
18、科排名);JButton b2=new JButton(”总分排名”);JButton b3=new JButton(合格学生”);JButton b4=new JButton(”挂科学生”);JMenuItem items=new JMenuItem4;JMenuBar bar=new JMenuBar();JMenu m1=new JMenu(”开始”);JMenu m2=new JMenu(”学生管理”);JMenu m3=new JMenu(”学生查找”);JMenu m4=new JMenu(”成绩管理”);/构造方法public Function()setTitle(”学生成绩管理
19、系统);/设计菜单栏items0=new JMenuItem2;items1=new JMenuItem4;items2=new JMenuItem4;items3=new JMenuItem4;m1.add(items00=new JMenuItem(”返回);m1。add(items01=new JMenuItem(”退出”);m2。add(items10=new JMenuItem(”增加学生”);m2。add(items11=new JMenuItem(”删除学生));m2.add(items12=new JMenuItem(”修改学生”);m2.add(items13=new JMe
20、nuItem(单个查询”);m3.add(items20=new JMenuItem(查看全体));m3.add(items21=new JMenuItem(按年级查找”));m3.add(items22=new JMenuItem(按班别查找);m3。add(items23=new JMenuItem(”按专业查找);m4。add(items30=new JMenuItem(”单科排名);m4.add(items31=new JMenuItem(”总分排名”);m4.add(items32=new JMenuItem(”合格学生”));m4。add(items33=new JMenuItem
21、(挂科学生);bar.add(m1);bar.add(m2);bar。add(m3);bar。add(m4);/设计布局getContentPane()。setLayout(new GridLayout(7,1);getContentPane()。add(bar);getContentPane()。add(p1);getContentPane()。add(p2);getContentPane()。add(p6);getContentPane().add(p3);getContentPane()。add(p4);getContentPane()。add(p5);p1。add(la1);p2。ad
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 成绩管理系统 java mySQL
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。