学生信息管理系统第1页共43页目录1需求分析........................................................................................................21.1设计任务要求.........................................................................................21.2系统功能需求分析..................................................................................22概要设计........................................................................................................22.1图形用户界面的设计..............................................................................22.2用数据库建立学生信息表.......................................................................32.3数据库的连接.........................................................................................32.4模块功能的实现......................................................................................33详细设计........................................................................................................43.1图形用户界面的设计..............................................................................43.2用数据库建立学生信息表.......................................................................93.3数据库的连接........................................................................................113.4模块功能的实现.....................................................................................124调试分析.......................................................................................................214.1系统功能测试........................................................................................214.2系统调试常见错误.................................................................................214.3实验小结................................................................................................215用户使用说明................................................................................................226测试数据和数据结果.....................................................................................23参考文献.............................................................................................................27附件....................................................................................................................28学生信息管理系统第2页共43页1需求分析利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。我这次的课题就是设计与实现一个学生信息管理系统。1.1设计任务要求该学生信息管理系统的设计要求主要有以下几点:(1)使用图形用户界面;(2)用数据库建立1或2个学生信息表;(不限使用哪种数据库)(3)能连接数据库并实现对学生信息查询、增、删、改等功能。1.2系统功能需求分析系统主要包括以下几项功能:(1)添加学生信息;(2)查询学生信息;(3)删除学生信息;(4)修改学生信息。2概要设计2.1图形用户界面的设计图形用户界面中,设置窗口大小、显示位置和窗口标题,设置窗口关闭之后学生信息管理系统第3页共43页其后台程序同时关闭,设置窗口可拉伸且为可见的。同时设置了用户输入文本框,文本框的窗口大小等属性也进行设置,文本框中可输入用户需要输入的学生信息。2.2用数据库建立学生信息表在这里我用的是数据库mysql,建立的数据库名字为student,而且程序使用的是单表形式,表名为st,st表的字段,各个字段分别对应学生的学号,名字,性别,年龄,籍贯,系别。2.3数据库的连接数据库的连接只需通过jdbc驱动,即可实现用户操作与数据资源的连接,并可对相关的数据库信息进行操作。2.4模块功能的实现以下是学生信息管理系统功能模块关系图,主要包含查询、添加、修改、删除学生信息等功能。图2.1系统功能模块关系图根据功能的需要,我设想了主窗口界面的大体布置图,并在设计与实现的过程中尽量去按照设想图的图样去实现。设想图如下图所示,图中也大概地标明了部分标语与说明。学生信息管理系统查询学生信息添加学生信息修改学生信息删除学生信息学生信息管理系统第4页共43页图2.2设想的主界面图2.2中组件功能的实现:(1)当用户点击查询按钮时,系统创建一个数据库连接,从数据库调出用户所输入要查询学生的信息,并显示到jscrollPane中,即主模块的中部;(2)当用户点击添加按钮时,系统创建一个数据连接,弹出一个添加学生的信息的文本框,文本框可输入要添加的学生信息,并可存入数据库。(3)当用户点击修改按钮时,系统创建一个数据连接,从数据库中调出你所选行的学生信息,并弹出修改该学生的信息文本框,文本框可进行学生信息修改,修改完确认后,该学生的信息会重新存入数据库。(4)当用户点击删除按钮时,系统创建一个数据连接,根据你所选行的学生学号,在数据库中找到该学生信息,并删除。3详细设计3.1图形用户界面的设计(1)主界面窗口设计函数代码程序如下://定义用户界面用到的组件JLabeluserName=null;//要查询的学生的名字JTextFieldtextField=null;//用户输入的文本框JButtonselect=null;//查询按钮主模块外出容器:Panel1:标签(学生姓名)输入框(学生姓名)按钮(查询)jscrollPane:用来显示数据库调出的数据表Panel3:用来显示按钮(添加)按钮(修改)按钮(删除)学生信息管理系统第5页共43页JButtoninsert=null;//添加按钮JButtonupdate=null;//修改按钮JButtondelete=null;//删除按钮JTabletable=null;//用于显示数据库调出的数据的表Panelpanel1=null;Panelpanel2=null;Panelpanel3=null;JScrollPanejscrollPane=null;StModelstModel=null;//st表的模型privateObjectPreparedStatement;publicStuMange(){//窗口显示的上部的组件userName=newJLabel(学生名:);textField=newJTextField(10);//用户输入文本框限定为最多输入10个字符select=newJButton(查询);//查询按钮//添加到第一个面板中panel1=newPanel();panel1.add(userName);panel1.add(textField);panel1.add(select);//窗口下部的组件insert=newJButton(添加);delete=newJButton(删除);update=newJButton(修改);//添加到第三个个面板中panel3=newPanel();panel3.add(insert);panel3.add(delete);panel3.add(update);//窗口中部的组件stModel=newStModel();stModel.insertDatabase(select*fromst);table=newJTable(stModel);jscrollPane=newJScrollPane(table);//注册事件监听select.addActionListener(this);insert.addActionListener(this);update.addActionListener(this);delete.addActionListener(this);//将各个组件添加到窗体中this.add(panel1,BorderLayout.NORTH);this.add(jscrollPane,BorderLayout.CENTER);学生信息管理系统第6页共43页this.add(panel3,BorderLayout.SOUTH);//设置窗体属性this.setSize(400,300);//设置窗口大小this.setLocation(200,200);//设置窗口显示的位置this.setTitle(学生信息管理系统);//设置窗口标题this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗口关闭之后其后台程序同时关闭//设置窗口为可见this.setVisible(true);}(2)添加学生的界面文本框设计函数程序代码如下所示:privateJLabelid,name,sex,age,address,dep;//分别代表学生的学号,名字,性别,年龄,籍贯,系别privateJTextFieldjtf1,jtf2,jtf3,jtf4,jtf5,jtf6;//用户输入的文本框,分别为学生的学号,名字,性别,年龄,籍贯,系别privateJButtonadd,canel;//分别为添加按钮和取消按钮privatePanelpanel1,panel2,panel3;publicI