学生信息系统.

上传人:今*** 文档编号:105824949 上传时间:2019-10-13 格式:DOC 页数:26 大小:399.50KB
返回 下载 相关 举报
学生信息系统._第1页
第1页 / 共26页
学生信息系统._第2页
第2页 / 共26页
学生信息系统._第3页
第3页 / 共26页
学生信息系统._第4页
第4页 / 共26页
学生信息系统._第5页
第5页 / 共26页
点击查看更多>>
资源描述

《学生信息系统.》由会员分享,可在线阅读,更多相关《学生信息系统.(26页珍藏版)》请在金锄头文库上搜索。

1、北京联合大学实验实训报告课程(项目)名称:面向对象程序设计(双语)课程设计 学 院: 师范学院 专 业:计算机科学与技术班 级: 2013本科1班 学 号: 2013020332027_ 姓 名: 马帅 成 绩: _2016年 1月21日学生信息系统数据库设计一、系统需求分析1.系统概述 学生信息管理系统是典型的管理信息系统,其系统开发主要包括数 据库的规划设计与维护、客户端应用程序的开发两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性,而对于后者则要求程序界面友好、功能完备,容易使用,具有流行软件的操作习惯等特点。经过详细的调查分析,利用其提供的集成开发环境及支

2、持面向对象的各种标准化的控件,尤其是对WEB的支持完成对数据库的各种操作,达到对学生学籍管理的目的。设计时首先在短时间内先建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行系统。 学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,

3、其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 关键词:学生信息, 管理, 数据库, 设计, 实现 2、数据库需求分析运用数据库基本理论与应用知识,在微机的环境上建立一个数据库应用系统。要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的信息模型,再转换为机器世界的数据模型和数据文

4、件,并对数据文件实施检索、更新和控制等操作。 (1) 学生基本信息管理:对学生的学号、姓名、性别等基本信息的录入、修改和删除。 (2)各类信息的查询:按简单条件和复合条件对各类信息进行查询。 (3)学生信息的统计:自己设计统计条件对学生信息进行统计。 经过详细的调研,并多次在网上查询相关信息之后,首先加深了对学生信息管理的深刻了解,其次在充分熟悉学生档案管理的同时,我了解了整个学生信息管理系统需要的具体需求为: (1)学生信息:学生编号,姓名,住址,宿舍号 (2)选课表:学生编号,课程编号,教师工号 (3)教师表:教师姓名,教师工号 (4)班级表:班级ID,学生人数,班主任,系别。 (5)出勤

5、表:班级ID,缺勤人数 (6)宿舍表:宿舍号,人数。 (7)系表:系别,教师工号。 在学生信息管理系统中,通过权限管理学生只能查询到自己的相关信息,如:学生的各类信息情况,而不能修改和删除任何的信息;而管理员和老师除了可以查看学生的任何信息之外,还能添加,修改和删除任何学生的任何信息。二、数据库结构设计1实体及属性说明(1) 学生信息:学生编号,姓名,住址,宿舍号 (2) 选课表:学生编号,课程编号,教师工号 (3) 教师表:教师姓名,教师工号 (4) 班级表:班级ID,学生人数,班主任,系别。 (5)出勤表:班级ID,缺勤人数 (6) 宿舍表:宿舍号,人数。 (7) 系表:系别,教师工号。需

6、建立7个实体。 2、ER图设计2、数据库连接程序publicclassMySqlConnnection/私有空构造方法,保证本类不能够被实例化。privateMySqlConnnection()/获得数据库连接publicstaticConnectiongetConnection()Connectionconn=null;try /加载MySQLJDBC驱动程序名称Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);/数据库连接参数。StringserverName=localhost:1433;/数据库主机名称Stringm

7、ydatabase=学生信息管理;/数据库名称Stringurl=jdbc:sqlserver:/+serverName+;DatabaseName=+mydatabase; Stringusername=sa;/MySql用户名Stringpassword=123456;/MySql密码conn=DriverManager.getConnection(url,username,password);/建立连接catch(ClassNotFoundExceptione) e.printStackTrace();/找不到MySql驱动程序类时,打印异常catch(SQLExceptione) e.

8、printStackTrace();/获得数据库连接发生异常returnconn;/关闭数据库连接publicstaticvoidcloseConnection(Connectionconn)if(conn!=null)/连接是否有效tryif(!conn.isClosed()/连接是否已关闭conn.close();/关闭连接catch(SQLExceptionex1)ex1.printStackTrace();/测试连接类publicstaticvoidmain(Stringargs)throwsExceptionConnectionconn=MySqlConnnection.getCon

9、nection();Stringresult=;if(conn=null)result=获得数据库连接错误.;elseresult=正常获得数据库连接.+conn; JOptionPane.showMessageDialog(null,result);三、图形界面设计与实现1、登陆界面1)数据库的相关信息:public class MyPanel extends JPanel implements ActionListener private JLabel labels; / 文本框提示标签,数据库表的各字段名protected JTextField fields; / 文本框数组,用来显示、

10、输入不同表的各字段值protected JButton querybtn, addbtn, updatebtn, delbtn; / 数据库查、添、改、删按钮protected int size;/ 表示库中某个表的字段个数的整数protected MyTableModel tableModel;/ 自定义的表格模型,表格列标题为数据库表的各字段protected String columnNames;/ 表格的标题-对应库中表的字段protected JTable resultTable;/ 表格对象,显示表中的所有记录/ 构造方法:为了通用,可通过参数设置数据库名、表名,在面板中构造图形界

11、面public MyPanel(String database, String tableName) setLayout(new BorderLayout();/ 设置面板布局为边框布局setSize(800, 600);/ 初始化表格模型、表格的列标题、创建表格tableModel = new MyTableModel(tableName); / 自定义表格模型size = tableModel.getColumnCount(); / 得到表格模型的列数(数据库表的字段数)columnNames = tableModel.getColumnNames();/ 表格的列标题(数据库表的字段名)

12、resultTable = new JTable(tableModel);resultTable.setBorder(BorderFactory.createEtchedBorder();resultTable.addMouseListener(new MouseAdapter() / 表格增加鼠标监听public void mouseClicked(MouseEvent e) dealResultTable();/ 鼠标选中表格某行,将该行内容显示在文本框中);/ 1.设置北边图形界面-文本框和添、删、改、查按钮initNorthGUI(size);/ 2.设置中间图形界面-显示数据库记录的

13、表格JScrollPane scrollPanetable = new JScrollPane(resultTable);scrollPanetable.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);/ 总是显示水平滚动条scrollPanetable.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); / 总是显示垂直滚动条add(scrollPanetable, BorderLayou

14、t.CENTER);/ 初始化面板中图形界面的北边,参数size是数据库表的字段个数private void initNorthGUI(int size) JPanel northPanel = new JPanel(new BorderLayout();northPanel.setBorder(BorderFactory.createEtchedBorder();/ 1.提示程序使用的标签,在northPanel面板的北边JPanel panel1 = new JPanel(); / 放置提示标签promptJLabel prompt = new JLabel(输入id号,查询、修改和删除, JLabel.CENTER);panel1.add(prompt);northPanel.add(panel1, BorderLayout.NORTH);prompt.setFont(new Font(楷体_gb2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号