天华V42学生信息管理系统.docx
- 文档编号:26884681
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:30
- 大小:365.88KB
天华V42学生信息管理系统.docx
《天华V42学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《天华V42学生信息管理系统.docx(30页珍藏版)》请在冰豆网上搜索。
天华V42学生信息管理系统
大连科技学院
Java课程设计报告
题目天华V4.2学生信息管理系统
学生姓名于寿彬 专业班级软件工程08-3
指导教师陈伟俊职称 高级工程师
所在单位信息科学系软件工程教研室
教学部主任王立娟
完成日期2011年9月30日
课程设计报告单
学号
0801030310
姓名
于寿彬
专业班级
软件工程08-3
考核项目
评分
备注
1
平时工作态度及遵守纪律情况
(10分)
2
掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平
(10分)
3
独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度
(20分)
4
完成课程设计说明书及软件的情况与水平(小组分工情况、规范性、整洁清楚、叙述完整性、思路清晰程度、工作量及实际运行情况和创新性)
(60分)
总评成绩
综合评定:
(优、良、中、及格、不及格)
指导教师签字:
2011年9月30日
《Java课程设计》任务书
任务及要求:
一、设计(研究)内容和要求
内容:
编写一个学生信息管理系统,分为系统管理和学生管理,可以对学生信息进行录入、查询、修改、删除等操作
要求:
1、软件要求
(1)实现界面,可以依次录入学生信息管理系统登录的界面,主界面,学生信息管理的界面
(2)实现数据库的连接和应用功能。
(3)实现对学生信息的录入,查询,修改,删除等功能。
2、文档要求
(1)设计程序结构、画出模块图。
(2)按照指导教师给出的项目文档的模板进行书写。
(3)参考文献数量不得低于4个。
二、工作量
3周(15个工作日)时间
三、计划安排
第1个工作日-第3个工作日:
查找相关资料、书籍,阅读示例文档;
设计程序结构、模块图、完成类的设计。
第4个工作日-第12个工作日:
完成程序的编码,并且自己调试、测试。
穿插进行项目文档的撰写。
第13个工作日-第14个工作日:
撰写和整理项目文档。
第15个工作日:
由教师检查软件测试效果、项目文档,给出学生本课程成绩。
指导教师签字:
2011年9月13日
目 录
1 需求分析1
1.1 功能要求1
1.2 操作要求1
1.3 系统的性能要求1
2 总体设计2
2.1 系统功能模块划分2
2.2 界面设计3
2.3 数据库与数据库逻辑结构设计6
2.4 关于数据的处理6
3 详细设计与实现7
3.1 关于类的设计7
3.2 数据库的连接11
3.3 类的功能设计12
4 测试14
参考文献15
课程设计实践总结16
附 录17
1 需求分析
1.1 功能要求
(1)管理员管理
本系统提供成员的增加、修改和删除操作,要求对成员进行登录时的身份验证。
牵涉到多个用户的操作,管理员可以直接在数据库表中输入成员的信息。
安装后要求提供初始的管理员信息,以便登录。
(2)学生信息管理
同样,所有的学生信息,全部保存在中心数据库,并且只有管理员本人才能对这些信息进行增加、修改和删除操作
软件应该提供对信息的增加、修改和删除的操作。
同时,软件应该提供对信息的查询、查找操作,以方便用户查找到待定的信息。
(3)支持扩展其他管理功能
要求管理员可以添加对其他模块的管理
1.2 操作要求
程序在通常的应用环境下,使用鼠标和键盘进行输入和输出操作,对于执行按钮,通常使用鼠标的点击完成,但是,界面要求全部支持键盘的定位操作(在不安装鼠标的计算机上,也能够使用该系统)
1.3 系统的性能要求
该学籍管理系统主要实现的是信息的录入,发布,更新,因此,不管对学校管理的需要或是学生获知信息的需要以及各个部门之间的紧密衔接关系,网上的数据必须具有高度的完整性和准确性,这就要求系统的高度安全性,可维护性,可靠性及灵活性。
比如学生成绩管理,老师在录入成绩的时候或是数据库出现异常而产生差错,可能会影响学生奖学金的评定或是造成不该重修的出现重修情况,这就要求系统具有高度的安全性,可维护性和可靠性;灵活性指的是系统要具有强大的功能以适应不同层次的用户不同的需求。
另外,系统的操作界面要求简便,通俗,以便于操作。
2. 总体设计
2.1 系统功能模块划分
根据系统的需求,将系统划分如下,并对其模块的划分和功能进行描述。
图2-1 系统流程图
系统包含的类及类之间的关系如下:
图2-2 类关系图
2.2 界面设计
界面设计简洁,共两个菜单栏,运行后界面效果如下图:
图2-3 系统主界面
图2-4 学生信息录入界面
图2-5 学生信息查询界面
图2-6 学生信息修改界面
图2-7 学生信息删除界面
2.3 数据库与数据库逻辑结构设计
该系统的E-R图如下:
图2-8 系统E-R图
学生信息管理系统(录入信息,查询信息,修改信息,删除信息)
2.4 关于数据的处理
通过系统界面,向后台数据库录入数据,进行存储处理,查询、修改、删除等操作,也同样通过前台界面的操作,对后台数据库进行相应的数据处理。
3 详细设计与实现
3.1 关于类的设计
1.主类MainWindow
(1)成员变量见表3-1
表3-1 主要成员变量(属性)
成员变量描述
变量类型
名称
面板
InputStudent
ins
面板
ModifyStudent
mos
面板
DeleteStudent
des
面板
QueryStudent
qus
菜单栏
JButtonBar
bar
菜单组
JMenu
menuSystemmenuStu
菜单项
JMenuItem
itemWelitemExititemSearchitemAdditemEdititemDelete
布局管理器
CardLayout
card
(2)方法见表3-2
表3-2 主要方法
方法名称
返回类型
功能
备注
MainWindow
无类型
创建窗口
构造方法
actionPerformed
无类型
处理响应事件
继承自父类抽象方法
main
无类型
执行程序
程序的主函数
(3)源代码见文件MainWindow.java
2.类Database
(1)成员变量见表3-3
表3-3 主要成员变量
成员变量描述
变量类型
名称
执行SQL语句的接口
Statement
stmt
返回结果的接口
ResultSet
rs
数据库连接接口
Conn
conn
字符串(SQL语句、驱动)
String
sqlstrurl
(2)方法见表3-4
表3-4 主要方法
方法名称
返回类型
功能
备注
Database
无类型
创建Database对象
构造方法
OpenConn
无类型
打开数据库连接
无
executeQuery
ResultSet
执行SQL查询语句,返回结果集RS
返回ResultSet类型结果集
executeUpdate
无类型
执行SQL更新语句
无
closeStmt
无类型
关闭当前的Statement对象
无
closeConn
无类型
关闭数据库连接
无
(3)源代码见文件Database.java
3.类StuBean
(1)成员变量见表3-5
表3-5 主要成员变量
成员变量描述
变量类型
名称
返回结果的接口
ResultSet
rs
字符串(SQL语句数据库属性)
String
sqlsNumsNamesSexsMajorsGradesBirth
创建Database对象
Database
DB
(2)方法见表3-6
表3-6 主要方法
方法名称
返回类型
功能
备注
stuAdd
添加学生信息
无
stuModify
修改学生信息
无
stuDel
删除学生信息
无
stuSearch
String[]
根据学号查询学生信息
返回ResultSet类型结果集
(3)源代码见文件StuBean.java
4.类InputStudent
(1)成员变量见表3-7
表3-7 主要成员变量
成员变量描述
变量类型
名称
StuBean对象类型
StuBean
addStuqueryStu
文本域
JTextField
SnumSnameSgradeSbirth
组合框
JComboBox
Smajor
单选框
ButtonGroup
boy,girl
按钮多斥作用域
ButtonGroup
group
按钮
JButton
Entryreset
(2)方法见表3-8
表3-8 主要方法
方法名称
返回类型
功能
备注
InputStudent
无类型
创建录入学生信息界面
构造方法
actionPerformed
无类型
处理响应事件
继承自父类抽象方法
clearMess
无类型
清除文本框内容
无
(3)源代码见文件InputStudent.java
5.类ModifyStudent
(1)成员变量见表3-9
表3-9 主要成员变量
成员变量描述
变量类型
名称
StuBean对象类型
StuBean
modifyStuqueryStu
文本域
JTextField
SnumSnameSgradeSbirth
组合框
JComboBox
Smajor
单选框
ButtonGroup
boy,girl
按钮多斥作用域
ButtonGroup
group
(2)方法见表3-10
表3-10 主要方法
方法名称
返回类型
功能
备注
ModifyStudent
无类型
创建修改学生信息界面
构造方法
actionPerformed
无类型
处理响应事件
继承自父类抽象方法
clearMess
无类型
清除文本框内容
无
(3)源代码见文件Modify.java
6.类QueryStudent
(1)成员变量见表3-11
表3-11 主要成员变量
成员变量描述
变量类型
名称
StuBean对象类型
StuBean
queryStu
文本域
JTextField
SnumSnameSgradeSbirthSmajor
启动并执行打印作业
PrintJob
pri
单选框
ButtonGroup
boy,girl
按钮多斥作用域
ButtonGroup
group
按钮
JButton
quertprint
面板(查询结果之后)
JPanel
messPanel
(2)方法见表3-12
表3-12 主要方法
方法名称
返回类型
功能
备注
QueryStudent
无类型
创建录入学生信息界面
构造方法
actionPerformed
无类型
处理响应事件
继承自父类抽象方法
clearMess
无类型
清除文本框内容
无
(3)源代码见文件QueryStudent.java
7.类DeleteStudent
(1)成员变量见表3-13
表3-13 主要成员变量
成员变量描述
变量类型
名称
StuBean对象类型
StuBean
delStuqueryStu
文本域
JtextField
SnumSnameSgradeSbirthSmajor
单选框
ButtonGroup
boy,girl
按钮多斥作用域
ButtonGroup
group
按钮
Jbutton
del
(2)方法见表3-14
表3-14 主要方法
方法名称
返回类型
功能
备注
InputStudent
无类型
创建录入学生信息界面
构造方法
actionPerformed
无类型
处理响应事件
继承自父类抽象方法
clearMess
无类型
清除文本框内容
无
(3)源代码见文件DeleteStudent.java
3.2 数据库的连接
通过OpenConn类,与数据库进行连接:
classOpenConn{
ResultSetre;
Stringstrurl="jdbc:
odbc:
driver={MicrosoftAccessDriver(*.mdb)};DBQ=学生管理数据库.mdb";
publicOpenConn(){}
publicResultSetgetResult(Stringsql){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connconn=DriverManager.getConn(strurl);
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSetre=stmt.executeQuery(sql);
returnre;
}
catch(Exceptione){
System.out.println("getResult------"+e.toString());
returnnull;
}
}
publicbooleanexecuteSql(Stringsql){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connconn=DriverManager.getConn(strurl);
Statementstmt=conn.createStatement();
stmt.executeUpdate(sql);
mit();
returntrue;
}
catch(Exceptione){
System.out.println("executeSql----"+e.toString());
returnfalse;
}
}
}
3.3 类的功能设计
1.MainWindow.java
该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。
2.InputStudent.java
该类创建的对象是MainWindow类的重要成员之一,负责提供录入学生基本信息的界面。
3.ModifyStudent.java
该类创建的对象是MainWindow类的重要成员之一,负责提供修改学生基本信息的界面。
4.DeleteStudent.java
该类创建的对象是MainWindow类的重要成员之一,负责提供删除学生基本信息的界面。
5.QueryStudent.java
该类创建的对象是MainWindow类的重要成员之一,负责提供查询学生基本信息以及打印基本信息的界面。
6.Database.java
该类负责提供打开与关闭数据库连接的功能。
7.StuBean.java
该类负责数据库操作,包括对学生信息数据库的添加、查询、修改、删除。
4. 测试
通过录入假数据,对其进行数据的查询、修改、删除等操作,来对系统进行测试。
参考文献
[1]杨绍方.王颖.林锦全.Java程序设计基础.北京.科学技术出版社.2001
[2]夏帮贵.刘凡馨.JDBCAPI数据库编程实作教程.北京.北京希望电子出版社.2001
[3]刘勇.Java实例入门.北京.中国青年出版社.2002
[4]吴晓东.Java程序设计基础.北京.清华大学出版社.2002
[5]StroustrupBjarne.TheJavaProgrammingLanguage.ThirdEdition.Reading.1997
课程设计实践总结
通过这次课程设计,我锻炼了自己的动手能力,巩固了对面向对象程序设计概念的理解和JAVA的运用,初步掌握JAVA开发应用程序的基本方法,学习了对数据库的基本操作,能够对MicrosoftAcess的表做基本处理,提高了自己综合运用所学知识的能力。
经过几个星期的设计和开发,系统基本开发完毕。
在本次课程设计中困难遇到不少,比如数据库的连接,SQL语言的书写格式,全局参数的传递等。
由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,功能不够完善等多方面问题。
在这次系统开发的过程中,我深深体会到了做一个系统,首先进行需求分析的重要性,了解了一个系统的制作,从功能分析到功能模块分析、与其他系统的关系,再到数据库设计、数据库结构实现及各功能模块的创建都需要从整体上考虑设计。
这些都有待以后进一步改进。
回顾起此次JAVA课程设计,我仍感慨颇多,学到了很多的东西。
同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。
在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。
一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。
附 录
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjavax.swing.border.*;
importjavax.swing.JOptionPane;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.table.DefaultTableModel;
importjavax.swing.table.TableColumn;
importjava.sql.*;
importjava.awt.GridLayout;
//主界面
classmainFrameextendsJFrameimplementsActionListener{
MenuBarmyMenuBar=newMenuBar();
MenumyMenuFile,myMenuEdit,myMenuUser,myMenuAbout;
MenuItemmiNew,miOpen,miSave,miSaveAs,miExit;
MenuItemmiAdd,miEdit,miDel,miFind,miShow,miUser,miAbout;
publicJTabletable=newJTable();
publicDefaultTableModelmm;
publicmainFrame(){
myMenuFile=newMenu("系统管理");
miNew=newMenuItem("录入");
miOpen=newMenuItem("查询");
miSave=newMenuItem("修改");
miExit=newMenuItem("删除");
//miNew.enable(false);
//miOpen.enable(false);
//miSave.enable(false);
//myMenuFile.add(miNew);
//myMenuFile.add(miOpen);
//myMenuFile.add(miSave);
myMenuFile.add(miExit);
myMenuEdit=newMenu("数据编辑");
miFind=newMenuItem("查找数据");
miAdd=newMenuItem("添加数据");
miEdit=newMenuItem("修改数据");
miDel=newMenuItem("删除数据");
miShow=newMenuItem("全部显示");
myMenuEdit.add(miFind);
myMenuEdit.add(miAdd);
myMenuEdit.add(miEdit);
myMenuEdit.add(miDel);
myMenuEdit.add(miShow);
myMenuUser=newMenu("用户");
miUser=newMenuItem("编辑用户");
myMenuUser.add(miUser);
myMenuAbout=newMenu("我的作业");
miAbout=newMenuItem("作业说明");
myMenuAbout.add(miAbout);
myMenuBar.add(myMenuFile);
myMenuBar.add(myMenuEdit);
myMenuBar.add(myMenuUser);
myMenuBar.add(myMenuAbout);
String[]col={"学号","姓名","性别","专业","年级","出生",};//创建属性列名
mm=newDefaultTableModel(col,0);
table.setModel(mm);
JScrollPanetableScrollPane=newJScrollPane(table);
this.setMenuBar(myMenuBar);
this.add(tableScrollPane);
miExit.addActionListener(this);
miFind.addActionListener(this);
miAdd.addActionListener(this);
miEdit.addActionListener(this);
miDel.addActionListener(this);
miShow.addActionListener(this);
miUser.addActionListener(this);
miAbout.addActionListener(this);
}
publicvoidfreshTable(Stri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 天华 V42 学生 信息管理 系统