1、数据库系统原理课程设计汇报学生成绩管理系统设计组员所在专业所在班级指导教师提交时间 目 录卷首语:读书笔记41、课程设计目62、课题组组员设计任务73、学生信息管理系统概述84、系统需求分析105、数据库设计126、系统模块详细设计177、课程设计设计总结218、程序源代码22参照文献50学生信息管理系统班级: 制作组员: 指导教师: 卷首语:I、 读书笔记有关网上花店管理系统读书笔记:在网上购物逐渐平民化今天,网上购物人数不停增长,现代IT技术和互联网结合。给了市场发明了无限商机!我阅读了一片“网上花店管理系统”论文。该论文重要研究网上花店管理系统。该系统以MySQL作为后台数据库,JSP作
2、为前台开发工具,通过Java中JDBC连接数据库。提供应顾客网上浏览,购置,支付等功能,同步.管理员对可以该系统进行维护和管理!SQL Server安全可靠,性能好,易用性强,JSPWeb运用跨平台,系统底层采用Java开发。Java语言简朴,面向对象,安全性高特点,运用Serlvet模式和Tomcat服务器。这几点综合搭配使得该系统灵活以便易用,简化了动态网站开发。网上花店管理系统实现了顾客注册,网上订购支付,留言,购物车,鲜花资料管理和顾客管理,订单管理等功能。SQl数据库实现了顾客注册登记信息存储,和网站资料维护,更新等使得数据管理愈加便利,高效JSP则为顾客提高动态图形界面,简化了操作
3、,提高了易用性。 论文还详细简介了系统逻辑构造设计,逻辑图,总功能设计,和数据库设计等。该系统虽然是不懂web技术人也可以熟悉运用。开发工具和数据库工具有诸多,各有各优势。在互联网大行其道时代,电脑技术顺应着时代发展,只有我们把握运用好各类技术,互相结合与运用,才能制作出更好软件和程序。在目前信息化高速发展时代,信息只有快,准,精才能发挥其价值。因此机器替代人力是必然历史发展趋势,人工操作必将被计算机替代。计算机在我们平常生活中使用越来越不可或缺,计算机进行信息管理,不仅提高了工作效率,并且大大提高了其安全性.尤其对于复杂信息管理,计算机可以充足发挥它优越性. 数据库技术,已经成为先进信息技术
4、重要构成部分,是现代计算机信息系统和计算机应用系统基础和关键。数据库技术从诞生到目前,在不到半个世纪时间里,形成了坚实理论基础、成熟商业产品和广泛应用领域,吸引越来越多研究者加入。数据库诞生和发展给计算机信息管理带来了一场巨大革命。三十数年来,国内外已经开发建设了成千上万个数据库,它已成为企业、部门乃至个人平常工作、生产和生活基础设施。同步,伴随应用扩展与深入,数据库数量和规模越来越大,数据库研究领域也已经大大地拓广和深化了。计算机技术不停应用到各行各业,大量企业数据寄存于数据库中,并通过数据库进行迅速查询,获取比老式方式更高效率。而学生成绩交由数据库进行保留、管理,则是一种教育单位不可缺乏部
5、分,它内容对于学校决策者和管理者来说都至关重要。1、 课程设计目(1) 加深对数据库系统、软件工程、程序设计语言理论知识理解和应用水平;(2) 在理论和试验教学基础上深入巩固已学基本理论及应用知识并加以综合提高;(3) 学会将知识应用于实际措施,提高分析和处理问题能力,增强动手能力; (4) 为毕业设计和后来工作打下必要基础。(5)理解和掌握该课程中有关基本概念,程序设计思想和措施。(6)培养综合运用所学知识独立完毕课题能力。(7)培养勇于探索、严谨推理、实事求是、有错必改,用实践来检查理论,全方位考虑问题等科学技术人员应具有素质。(8)掌握从资料文献、科学试验中获得知识能力,提高学生从他人经
6、验中找到处理问题新途径悟性,初步培养工程意识和创新能力。2、课题组组员设计任务 课题由三人共同协作完毕,系统构成和功能重要包括:2.1 系统构成 :数据表构成:成绩表查询构成:查询学生、查询成绩 菜单构成:主菜单由查询、删除、添加构成2.2系统功能 :本系统重要功能分别通过主菜单中如下各项来实现: 通过系统维护菜单实现学生成绩查询、删除、添加等模块功能 通过学生成绩管理菜单实现对学生成绩录入、查询学生成绩、删除学生成绩 通过基本数据管理菜单实现对姓名、学号、课程设置,录入学生记录,查询学生记录和退出系统;3、学生信息管理系统概述3.1 研究背景90年代中期,由于Internet 迅速普及,使I
7、ntranet成为Internet技术在企业管理信息系统中应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体信息技术综合体,它打破了时间和地区界线,使信息交流变得快捷、精确,为建立现代企业管理信息系统提供了充足条件。企业信息管理系统在此基础上延伸、扩展,使之上下、内外全面贯穿。伴随Internet技术兴起,对C/S构造一种变化或者改善构造。在这种构造下,顾客界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,不过重要事务逻辑在服务器端实现,形成所谓3-tier构造。B/S构造,重要是运用了不停成熟WWW浏览器技术,结合浏览器多种Script语言(VBScript、JavaS
8、cript)和ActiveX技术,用通用浏览器就实现了本来需要复杂专用软件才能实现强大功能,并节省了开发成本,是一种全新软件系统构造技术。伴随Windows 98/Windows 将浏览器技术植入操作系统内部,这种构造更成为当今应用软件首选体系构造。显然B/S构造应用程序相对于老式C/S构造应用程序将是巨大进步。学生信息管理系统是学校管理重要工具,是学校不可或缺部分。 伴随在校大学生人数不停增长,教务系统数量也不停上涨,。学校工作繁杂、资料众多,人工管理信息难度也越来越大,显然是不能满足实际需要,效率也是很低。并且这种老式方式存在着诸多弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然
9、而,本系统针对以上缺陷可以极大地提高学生信息管理效率,也是科学化、正规化管理,与世界接轨重要条件。因此怎样自动高效地管理信息是这些年来许多人所研究。 3.2 开发意义伴随这些年电脑计算机速度质提高,成本下降,IT互联网大众趋势发展。我们使用电脑高效率才处理数据信息成为也许。 学生学籍管理系统出现,正是管理人员与信息数据,计算机进入互动时代体现。友好人机交互模式,清晰简要图形界面,高效安全操作使得我们对成千上万信息管理得心应手。通过这个系统,可以做到信息规范管理,科学记录和迅速查询,从而减少管理方面工作量毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于增进学校管理制度,提高学校教学质量与
10、办学水平有着明显意义在目前信息化高速发展时代,信息只有快,准,精才能发挥其价值。因此机器替代人力是必然历史发展趋势,人工操作必将被计算机替代。计算机在我们平常生活中使用越来越不可或缺,计算机进行信息管理,不仅提高了工作效率,并且大大提高了其安全性.尤其对于复杂信息管理,计算机可以充足发挥它优越性. 数据库技术,已经成为先进信息技术重要构成部分,是现代计算机信息系统和计算机应用系统基础和关键。数据库技术从诞生到目前,在不到半个世纪时间里,形成了坚实理论基础、成熟商业产品和广泛应用领域,吸引越来越多研究者加入。数据库诞生和发展给计算机信息管理带来了一场巨大革命。三十数年来,国内外已经开发建设了成千
11、上万个数据库,它已成为企业、部门乃至个人平常工作、生产和生活基础设施。同步,伴随应用扩展与深入,数据库数量和规模越来越大,数据库研究领域也已经大大地拓广和深化了。计算机技术不停应用到各行各业,大量企业数据寄存于数据库中,并通过数据库进行迅速查询,获取比老式方式更高效率。而学生成绩交由数据库进行保留、管理,则是一种教育单位不可缺乏部分,它内容对于学校决策者和管理者来说都至关重要。4、系统需求分析 4.1 开发环境和软件(1) 操作系统:Windows 7 (2) 数据库软件:MySQL (3) Java开发工具:Eclipse 4.2 系统设计与功能分析 学生信息管理系统,可用于学校等机构学生信
12、息管理,查询,更新与维护,使用以便,易用性强,图形界面清晰明了。该软件用java语言编写,用MySQL数据库作为后台数据库进行信息存储,用SQL语句完毕学生学籍信息添加,查询,删除操作以及成绩录入,查询,删除等。用ODBC驱动实现前台Java与后台SQL数据库连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,以便简朴,安全性好。MySQL数据库高效安全,两者结合可互相运用各自优势。 学生成绩管理系统设计目分析(1)管理员可以实现对整个学生信息添加,修改,删除,查询等操作,对教师顾客添加,删除,修改等操作,对留言信息添加,删除,修改查询等操作. (2),可
13、以将学生成绩数据库公布到网上,教师信息公布网上,以便学生教师进行查询,到达资源共享目. (3)教师可以在一定权限内对所有学生成绩查询,所有教师信息查询,留言信息添加,删除,修改是,查看等,对自己联络信息进行更新,登录密码修改. (4)学生可以在自己权限内对对自己成绩查询,以及个人信息查询,登录密码修改,留言查看,提交留言信息有关操作.学生成绩管理系统功能需求分析 学生成绩管理系统重要提供成绩查询,以便管理网上信息查阅平台, ,查看留言,提交留言.教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言,学生留言,提交留言,留言管理等有关操作.系统管理员可以学生可以通过该系统查阅与自己有
14、关信息实现以上所有功能,尚有对学生添加,删除,修改,教师添加,删除,修改,数据库备份,数据库还原等有关操作. 系统功能分析 学生成绩管理系统是用MySQl数据库+SQL查询语言编句,系统是基于网络在线学生成绩管理系统,在系统中分为大二个方面:一是教师登录页面,二是学生登录页面. (1)系统管理员进入学生成绩管理系统重要功能是:实现教师添加,教师修改,教师删除,教师查询,数据库恢复,数据库备份,学生添加,学生修改,学生查询,学生成绩录入,学生成绩添加,学生成绩修改,学生成绩删除,留言查询,留言提交,留言删除,留言修改等基本功能. (2)教师进入学生成绩管理系统重要功能是:实现学生查询,学生成绩查
15、询,留言删除,留言查询,留言查询,密码修改,教师查询,教师登陆密码更改,教师个人信息修改等基本功能. (3)学生进行学生成绩管量系统重要功能是:实现学生自己怕成绩查询,自己登录密码修改,个人信息查询,留言查看,提交留言基本功能. 本系统实现大体功能:1 管理员登陆界面。本系统设计通过管理员身份登录获取操作界面和功能权限。管理员账号和密码输入对即可登录。学生管理界面。提供了学生成绩信息查询,有关科目成绩查询,添加,删除等功能。管理员拥有最高权限。2 操作界面。提供了对学生学籍信息查询,添加,删除;学生成绩录入,修改,查询等功能。5、 数据库设计5.1 系统概念构造设计系统登录界面管理员登录查询成
16、绩添加信息删除信息输入学号显示:ID、学号、姓名、出生、各科成绩输入学号删除:ID、学号、姓名、出生、各科成绩输入学号添加:ID、学号、姓名、出生、各科成绩5.2 系统逻辑构造设计管理员信息表:字段名 类型空值约束条件管理员账号 varchar(8)not null主键登录密码varchar(8)not null成绩信息表:字段名 类型空值约束条件IDint 学号int主键姓名varchar(8)not null出生varchar(8)not null数学成绩int 英语成绩int5.3 数据库实现创立数据库:Create database 翰林学院学生成绩管理系统;创立成绩表:create
17、table 成绩表(ID int,number int primary key,name varchar(8),birthday varchar(8),math int,english int)向数据库中添加信息:insert into 成绩表(ID,number,name,birthday,math,english)values(1,11,刘产,90,59)insert into 成绩表(ID,number,name,birthday,math,english)values(2,12,范剑,58,85)insert into 成绩表(ID,number,name,birthday,math,
18、english)values(3,13,夏建仁,90,99)insert into 成绩表(ID,number,name,birthday,math,english)values(4,14,史珍香,83,75)insert into 成绩表(ID,number,name,birthday,math,english)values(5,15,范统,80,97)insert into 成绩表(ID,number,name,birthday,math,english)values(6,16,秦寿生,52,55)insert into 成绩表(ID,number,name,birthday,math,e
19、nglish)values(7,17,杜子腾,81,88)insert into 成绩表(ID,number,name,birthday,math,english)values(8,18,楚中天,46,77)显示存储数据:Select * from 成绩表;6、系统模块详细设计6.1 登录模块6.2 管理员操作模块6.2.1 查询成绩6.2.2 添加信息6.2.3 删除信息7、课程设计总结一周多课程设计,终于成功验收了,虽然有些疲惫,但还是有诸多收获,我又一次巩固了所学到知识,之前学习只是停留在理论基础上,目前自己动手操作试验后,才是真正理解及体会。数据库也学了近四个月,有诸多知识都是似懂非懂
20、,通过平时上机操作,自己也理解了某些,但让我有了更深理解和更好认识,则是在这次课设上,之前困惑也通过这次课设处理了某些,虽然还是不可以全面理解,不过有进步就很快乐。 在课程设计之前,由于有了综合试验经验与教训,明白了写代码这一步是非常重要,由于当你把代码输进去之后,并编译让其运行,发现通过不了,再来检查出问题,是很费费力事情,因此分析和规划代码是很重要,最重要是要把逻辑构造写好,这样就不会出现大问题,写代码就要先找出关键内容,用多种措施来实现关键部分,这样可以尽量防止发现逻辑或编译不支持错误。通过本次论文设计,我初步学会了论文设计基本措施,学会了怎样去借鉴他人措施和经验,懂得了怎样整合资料和处
21、理这些资料能力,这位后来做毕设论文打下了基础,使我感觉比很好是有一种成功喜悦,虽然在编译时候会常常由于某些小错误而心烦意乱,不过也不失为一件好事,失败越多积累经验越丰富,对人考验也比较多,那么在最终编译成功时喜悦就越浓烈,也是自己能力有了深入提高。由于知识和经验局限性,这个程序编写不是很尽如人意,不过融合了自己心血,就觉得是最佳,因此在后来还是需要较多努力,还是会在后来学习过程中不停地提高和改善。8、程序源代码主窗口源程序设计:/zhuchuangkou.javapackage com.test;import java.awt.*;import java.awt.event.*;import
22、javax.swing.*;import javax.swing.border.*;public class Zhuchuangkou extends Frame implements ActionListenerButton button1,tuichu;Panel p1,p2,p3;Label l1,l2,l3;TextField a1,a2;Box b1,b2,b3,b4,b5;Chaxun s;public static void main(String args) Zhuchuangkou test1=new Zhuchuangkou();public Zhuchuangkou()b
23、utton1=new Button(登陆);tuichu=new Button(退出);p1=new Panel();p2=new Panel();p3=new Panel();l1=new Label(翰林学院学生成绩管理系统,Label.CENTER);l1.setFont(new Font(宋体,Font.BOLD,60);l1.setBackground(Color.green);l2=new Label(管理员登录);l3=new Label(登录密码);a1=new TextField(10);a2=new TextField(10);a2.setEchoChar(*);b1=Bo
24、x.createVerticalBox();b1.add(l2);b1.add(Box.createVerticalStrut(8);b1.add(l3);b2=Box.createVerticalBox();b2.add(a1);b2.add(Box.createVerticalStrut(8);b2.add(a2);b4=Box.createHorizontalBox();b4.add(button1);b4.add(Box.createHorizontalStrut(10);b4.add(tuichu);b3=Box.createHorizontalBox();b3.add(b1);b3
25、.add(Box.createHorizontalStrut(10);b3.add(b2);b5=Box.createVerticalBox();b5.add(b3);b5.add(Box.createVerticalStrut(8);b5.add(b4);button1.addActionListener(this);p1.add(l1);p2.add(b5);add(p1,BorderLayout.NORTH);add(p2,BorderLayout.CENTER);add(p3,BorderLayout.PAGE_END);addWindowListener(new WindowAdap
26、ter()public void windowClosing(WindowEvent e)dispose(););setBackground(Color.blue);setBounds(10, 10, 1000, 500);setVisible(true);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=tuichu)System.exit(0);if(e.getSource()=button1)if(a1.getText().equals(旷华勇)&a2.getText().equals(111)|a
27、1.getText().equals(刘佳宇)&a2.getText().equals(111)|a1.getText().equals(刘丹丹)&a2.getText().equals(111)new Chuangkou(); System.out.println(请选择操作);dispose();else System.out.print(输入错误);窗口模块程序设计:/chuangkou.javapackage com.test;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swin
28、g.border.*;public class Zhuchuangkou extends Frame implements ActionListenerButton button1,tuichu;Panel p1,p2,p3;Label l1,l2,l3;TextField a1,a2;Box b1,b2,b3,b4,b5;Chaxun s;public static void main(String args) Zhuchuangkou test1=new Zhuchuangkou();public Zhuchuangkou()button1=new Button(登陆);tuichu=ne
29、w Button(退出);p1=new Panel();p2=new Panel();p3=new Panel();l1=new Label(翰林学院学生成绩管理系统,Label.CENTER);l1.setFont(new Font(宋体,Font.BOLD,60);l1.setBackground(Color.green);l2=new Label(管理员登录);l3=new Label(登录密码);a1=new TextField(10);a2=new TextField(10);a2.setEchoChar(*);b1=Box.createVerticalBox();b1.add(l2
30、);b1.add(Box.createVerticalStrut(8);b1.add(l3);b2=Box.createVerticalBox();b2.add(a1);b2.add(Box.createVerticalStrut(8);b2.add(a2);b4=Box.createHorizontalBox();b4.add(button1);b4.add(Box.createHorizontalStrut(10);b4.add(tuichu);b3=Box.createHorizontalBox();b3.add(b1);b3.add(Box.createHorizontalStrut(
31、10);b3.add(b2);b5=Box.createVerticalBox();b5.add(b3);b5.add(Box.createVerticalStrut(8);b5.add(b4);button1.addActionListener(this);p1.add(l1);p2.add(b5);add(p1,BorderLayout.NORTH);add(p2,BorderLayout.CENTER);add(p3,BorderLayout.PAGE_END);addWindowListener(new WindowAdapter()public void windowClosing(
32、WindowEvent e)dispose(););setBackground(Color.blue);setBounds(10, 10, 1000, 500);setVisible(true);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=tuichu)System.exit(0);if(e.getSource()=button1)if(a1.getText().equals(旷华勇)&a2.getText().equals(111)|a1.getText().equals(刘佳宇)&a2.getT
33、ext().equals(111)|a1.getText().equals(刘丹丹)&a2.getText().equals(111)new Chuangkou(); System.out.println(请选择操作);dispose();else System.out.print(输入错误);查找模块程序设计:/chazhao.javapackage com.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.Result
34、Set;import java.util.Vector;import javax.swing.table.*;public class Chazhao extends AbstractTableModelVector rowData,columnNames;PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;public void init(String sql)if(sql.equals()sql=select * from 成绩表;/中间 columnNames=new Vector();/设置列名 columnNa
35、mes.add(ID);columnNames.add(学号); columnNames.add(姓名);columnNames.add(出生);columnNames.add(数学);columnNames.add(英语);rowData=new Vector(); try Class.forName( org.gjt.mm.mysql.Driver ); ct=DriverManager.getConnection( jdbc:mysql:/127.0.0.1:3306/翰林学院学生成绩管理系统,root,111111); ps=ct.prepareStatement(sql); rs=p
36、s.executeQuery(); while(rs.next() Vector hang=new Vector(); hang.add(rs.getInt(1); hang.add(rs.getString(2); hang.add(rs.getString(3); hang.add(rs.getString(4); hang.add(rs.getInt(5); hang.add(rs.getString(6); /加入rowdata rowData.add(hang); catch (Exception e) e.printStackTrace(); finally /关闭 try if(
37、rs!=null) rs.close(); if(ps!=null) ps.close(); if(ct!=null) ct.close(); catch(Exception e) e.printStackTrace(); public Chazhao(String sql) this.init(sql);public Chazhao()this.init();public int getColumnCount() return this.columnNames.size();public int getRowCount() return this.rowData.size(); public
38、 Object getValueAt(int row, int column) return (Vector)this.rowData.get(row).get(column); Overridepublic String getColumnName(int arg0) return (String) this.columnNames.get(arg0);查询模块程序设计:/chaxun.javapackage com.test;import javax.swing.*;import javax.swing.table.AbstractTableModel;import java.sql.Co
39、nnection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.*;import java.awt.*;import java.awt.event.*;public class Chaxun extends JFrame implements ActionListener JPanel jp1; JLabel jl1; JButton jb1,jb2,jb3,jb4; JTable jt; JScrollPane jsp; JT
40、extField jtf; public static void main(String args) Chaxun test=new Chaxun();public Chaxun()jp1=new JPanel(); jtf=new JTextField(10);jb1=new JButton(查询);jb1.addActionListener(this); jl1=new JLabel(请输入学号); jp1.add(jl1); jp1.add(jtf); jp1.add(jb1); Chazhao cz=new Chazhao(); jt=new JTable(cz); jsp=new JScrollPane(jt);this.add(jsp);this.add(jp1