个人信息管理系统与开发3.docx
- 文档编号:24161144
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:31
- 大小:57.67KB
个人信息管理系统与开发3.docx
《个人信息管理系统与开发3.docx》由会员分享,可在线阅读,更多相关《个人信息管理系统与开发3.docx(31页珍藏版)》请在冰豆网上搜索。
个人信息管理系统与开发3
本科生毕业论文(设计)指导与评分手册
论文(设计)题目:
学生个人信息管理系统的设计与开发
学生学号:
20122319284317
学生姓名:
王能辉
导师姓名、职称:
马思根副教授
所属班级:
12级43班
所属学院:
商务学院
贵州财经大学教务处制
2016年3月
目录
1设计时间4
2设计目的4
3设计任务4
4设计内容4
4.1需求分析4
4.1.1问题描述4
4.1.2基本要求4
4.2总体设计5
4.2.1包的描述7
4.2.2类的描述8
4.2.3类之间的关系9
类MainTest继承JFrame。
9
类jenter实现接口ActionListener。
9
4.3详细设计9
4.3.1类图13
4.3.2页面设计13
4.4测试与分析13
4.5程序代码15
5总结与展望30
参考文献31
课程设计成绩评定32
1设计时间
2015年11月13日——2016年4月19日
2设计目的
就本着个人的兴趣爱,希望能利用java语言开发一款特别简单,实用,高效的软件来改善大学生个人信息管理和高效的利用大学时间,和不断的激励自己,找到自己的优势及兴趣爱好和合理的规划人生,实现个人价值的最大化。
也是对我个人自学java语言后进行的一次较全面的综合练习。
通过实践加深我对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高自己的应用能力
3设计任务
设计一个简单学生个人信息管理软件,该软件具有具有查询个人基本信息(查询成绩,考试情况,课表)在此基础上还增加了学期总结,个人中心(SWOT分析,计划,任务,人生规划),设置(设置个人基本信息)三项基本功能。
4设计内容
4.1需求分析
根据调查,就目前很多大学生大学生活过得比较慵懒消沉,这对大学生来说无意于扼杀了他们的生命只是没有意识到吧了,既如果有这样一款软件,能让大学生的生活过得充实起来,相信很多人都会愿意用此软件。
此软件主要运用了javaweb,mysql,eclipse等开发软件。
4.1.1问题描述
设计一个简单学生个人信息管理系统,主要有个人信息查询,个人中心,基本设置三项基本功能。
4.1.2基本要求
(1)学生只需要下载此软件,用户名利用学号,用户密码也是学号即可登陆。
(2)登陆之后可以对秘码进行修改。
4.2总体设计
1、自定义类说明:
(1)类名:
MainTest
作用:
主类,构建主界面
继承的父类:
Jframe
主要实现接口:
ActionListener
主要成员变量:
privateJPanelContentPane;
privateJButtonInsert=newJButton();
privateJButtonSelect=newJButton();
privateJButtonUpdate=newJButton();
内部类:
MainTest_actionPerformed,主页面的事件监听。
jenter_actionPerformed,按钮的事件监听。
主要成员方法:
publicMainTest()
publicstaticvoidmain(String[]args)
(2)类名:
Insert
作用:
实现添加个人信息
继承的父类:
Jframe
主要实现接口:
ActionListener
主要成员变量:
privateJPanelContentPane;
privateJLabeljlab1=newJLabel();
privateJLabeljlab2=newJLabel();
privateJLabeljlab3=newJLabel();
privateJLabeljlab4=newJLabel();
privateJLabeljlab5=newJLabel();
privateJLabeljlab6=newJLabel();
privateJLabeljlab7=newJLabel();
privateJLabeljlab8=newJLabel();
privateJTextFieldjtextfield1=newJTextField();
privateJTextFieldjtextfield2=newJTextField();
privateJTextFieldjtextfield3=newJTextField();
privateJTextFieldjtextfield4=newJTextField();
privateJTextFieldjtextfield5=newJTextField();
privateJComboBoxjcombobox1=newJComboBox();
privateJComboBoxjcombobox2=newJComboBox();
privateJTextAreajtextarea=newJTextArea();
privateJButtonsure=newJButton();
内部类:
sure_actionperformed,按钮的事件监听,实现对数据的插入。
主要成员方法:
publicInsert();
(3)类名:
Update
作用:
对个人信息进行修改。
继承的父类:
Jframe
主要实现接口:
ActionListener
主要成员变量:
privateJPanelContentPane;
privateJLabeljlab1=newJLabel();
privateJLabeljlab2=newJLabel();
privateJLabeljlab3=newJLabel();
privateJLabeljlab4=newJLabel();
privateJLabeljlab5=newJLabel();
privateJTextFieldjtextfield1=newJTextField();
privateJTextFieldjtextfield2=newJTextField();
privateJTextFieldjtextfield3=newJTextField();
privateJTextFieldjtextfield4=newJTextField();
privateJButtonsure=newJButton();
privateJButtonupda=newJButton();
主要成员方法:
publicUpdate()
publicvoidactionPerformed(ActionEvente)
(4)类名:
Select
作用:
查询学生个人信息
继承的父类:
Jframe
主要实现接口:
ActionListener
主要成员变量:
privateJTextAreataInfo=newJTextArea();
privateJPanelpanel=newJPanel();
privateJTextFieldjtextfield1=newJTextField();
privateJButtonjbutton=newJButton("查询");
privateJLabeljlabel=newJLabel("学号");
主要成员方法:
publicSelect()
publicvoidactionPerformed(ActionEvente)
2、主程序流程:
(1)界面设计
(2)jdbc
图4-2-1主流程图
4.2.1包的描述
importjava.awt.BorderLayout;边界布局勾画出一个容器,其组成部分的安排和调整以适应在五个区域:
北,南,东,西,和中心。
importjava.awt.Color;颜色类是用于封装在默认成色彩空间的颜色或颜色任意颜色空间所确定的色彩。
importjava.awt.Rectangle;一个矩形指定地区在坐标空间是封闭的矩形对象的左上点(十,年)在空间中的坐标,其宽度和高度。
importjava.awt.event.ActionEvent;事件一个接口,知道如何调度自己。
importjava.awt.event.ActionListener;监听器接口接收动作事件。
类的感兴趣的事件处理行动实现此接口的对象,并创建的类是一个注册的组件,使用组件的addactionlistener方法。
行动时,事件发生时,该对象的actionperformed调用方法。
importjavax.swing.JButton;实施“推”按钮。
请参阅TheJavaTutorial中的信息和使用按钮的例子如何使用按钮,复选框和单选按钮。
importjavax.swing.JComboBox;实施-一个复选框可以选择或取消的项目,并显示其状态的用户。
按照惯例,任何一组号码复选框可以选择。
请参阅如何使用Java教程使用复选框的例子和信息按钮,复选框和单选按钮。
importjavax.swing.JFrame;java.awt.Frame的扩展版本,增加了JFC/Swing组件架构的支持。
你可以找到有关节如何使框架,使用Java教程JFrame的面向任务的文档。
importjavax.swing.JLabel;一个很短的文本字符串或图像的显示区域,或两者兼而有之。
一个标签不输入事件作出反应。
因此,它不能获得键盘焦点。
然而,标签可以显示附近的一个组成部分,有一个键盘的替代品,但不能显示它的方便的键盘替代。
importjavax.swing.JPanel;JPanel的是一个通用的轻量级容器。
对于JPanel的任务为导向的文档和例子,请参阅如何使用面板,Java教程的一个部分。
importjavax.swing.JTextArea;一个JTextArea是一个多行的区域,显示纯文本。
它的目的是成为一个轻量级组件,提供与java.awt.TextArea类源代码的兼容性,它可以合理地这样做。
你可以找到在TheJavaTutorial中使用的文本组件,部分使用所有文本组件的信息和例子。
importjavax.swing.JTextField;JTextField是一个轻量级的组件,它允许在一个单行文本编辑。
对于使用文本字段的信息和例子,请参阅如何使用Java教程的文本字段。
4.2.2类的描述
JButton:
实施“推”按钮。
请参阅TheJavaTutorial中的信息和使用按钮的例子如何使用按钮,复选框和单选按钮。
JLabel:
一个很短的文本字符串或图像的显示区域,或两者兼而有之。
一个标签不输入事件作出反应。
因此,它不能获得键盘焦点。
然而,标签可以显示附近的一个组成部分,有一个键盘的替代品,但不能显示它的方便的键盘替代。
JTextField:
是一个轻量级的组件,它允许在一个单行文本编辑。
对于使用文本字段的信息和例子,请参阅如何使用Java教程的文本字段。
JComboBox:
相结合的一个按钮或可编辑字段和一个下拉列表组件。
用户可以选择从下拉列表中,出现在用户的请求值。
如果您编辑的组合框,组合框包括一个可编辑的字段到,用户可以键入一个值。
Connection:
与特定的数据库连接(会话)。
执行SQL语句和内连接的情况下返回的结果。
Statement:
一个Statement对象代表一种原始的语句在一个单一的方法应用到一个目标,一组参数-“a.setFoo
(二)”。
ResultSet:
一个代表,它通常通过执行查询数据库的语句生成一个数据库结果集的数据表。
包。
4.2.3类之间的关系
类MainTest继承JFrame。
类jenter实现接口ActionListener。
类MainText实现接口ActionListener。
类Insert继承JFrame。
类Select继承JFrame实现接口ActionListener。
类Update继承JFrame实现接口ActionListener。
4.3详细设计
1、各方法的实现:
与数据库的连接:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Stringurl="jdbc:
odbc:
学生管理";
Connectioncon=DriverManager.getConnection(url);
Statementstmt=con.createStatement();
MainTest类中对按钮事件监听的实现:
classMainTest_actionPerformedimplementsActionListener
{
MainTestadapte;
MainTest_actionPerformed(MainTestadapte)
{
this.adapte=adapte;
}
publicvoidactionPerformed(ActionEvente)
{
/*调用窗口程序*/
if(e.getSource()==adapte.Insert)
{
Insertinsert=newInsert();
}
elseif(e.getSource()==adapte.Update)
{
Updateupdate=newUpdate();
}
elseif(e.getSource()==adapte.Select)
{
Selectselect=newSelect();
}
}
}
Insert类中添加个人信息的具体实现:
publicvoidactionPerformed(ActionEvente)
{
StringSQL="insertintostudent(学号,姓名,性别,生日,身份证号,专业,班级,简介)values('"+jtextfield1.getText()+"','"+jtextfield2.getText()+"','"+jcombobox1.getSelectedItem()+"','"+jtextfield3.getText()+"','"+jtextfield5.getText()+"','"+jcombobox2.getSelectedItem()+"',
'"+jtextfield4.getText()+"','"+jtextarea.getText()+"')";
ResultSetrs=stmt.executeQuery(SQL);
}
}
Update类中关于更新学生信息方法的实现:
if(e.getSource()==upda)
{
StringSQL="UPDATEstudentSET姓名='"+jtextfield2.getText()+"',
性别='"+jtextfield3.getText()+"',
专业='"+jtextfield4.getText()+"'
WHERE学号='"+jtextfield1.getText()+"'";
ResultSetrs=stmt.executeQuery(SQL);
rs.close();
stmt.close();
con.close();
}
Select类中对查询个人信息的实现:
publicvoidactionPerformed(ActionEvente)
{
StringSQL="SELECT*FROMstudent
WHERE学号='"+jtextfield1.getText()+"'";
ResultSetrs=stmt.executeQuery(SQL);
while(rs.next())
{
taInfo.setText(rs.getString("学号")+"\n");
taInfo.append(rs.getString("姓名")+"\n");
taInfo.append(rs.getString("性别")+"\n");
taInfo.append(rs.getString("生日")+"\n");
taInfo.append(rs.getString("身份证号")+"\n");
taInfo.append(rs.getString("专业")+"\n");
taInfo.append(rs.getString("班级")+"\n");
taInfo.append(rs.getString("简介")+"\n");
}
}
2、数据库表设计:
使用mysql
4.3.1类图
JFrame
MainTest
Select
UpDate
Insert
ActionListener
jenter
Select
Update
MainTest
类继承
接口实现
图4-3-1类关系图
4.3.2页面设计
添加学生信息
学生管理系统
修改学生信息
查询学生信息
图4-3-2主页面设计图
4.4测试与分析
4.5程序代码
//:
object/MainTest.java
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
/**
*@authorLiuMingyan
*/
publicclassMainTestextendsJFrame{
/**************声明变量************/
privateJPanelContentPane;
privateJButtonInsert=newJButton();
privateJButtonSelect=newJButton();
privateJButtonUpdate=newJButton();
publicMainTest()
{
ContentPane=(JPanel)this.getContentPane();
ContentPane.setLayout(null);
this.setTitle("学生管理系统");
this.setBounds(100,200,500,300);
ContentPane.setBackground(Color.WHITE);
/*********3个按钮的设置********/
Insert.setText("添加学生信息");
Insert.setVisible(false);
Insert.setBounds(newRectangle(70,50,120,33));
Insert.addActionListener(newMainTest_actionPerformed(this));//加事件监听
Insert.setForeground(Color.white);
Insert.setBackground(Color.black);
Update.setText("修改学生信息");
Update.setVisible(false);
Update.setBounds(newRectangle(210,50,120,33));
Update.addActionListener(newMainTest_actionPerformed(this));//加事件监听
Update.setForeground(Color.white);
Update.setBackground(Color.black);
Select.setText("查询学生信息");
Select.setVisible(false);
Select.setBounds(newRectangle(340,50,120,33));
Select.addActionListener(newMainTest_actionPerformed(this));//加事件监听
Select.setForeground(Color.white);
Select.setBackground(Color.black);
/*******把控件添加到面板中去*******/
ContentPane.add(Insert);
ContentPane.add(Update);
ContentPane.add(Select);
this.setVisible(true);
Insert.setVisible(true);
Update.setVisible(true);
Select.setVisible(true);
}
/**********设置动作按钮的监听事件***********/
classjenter_actionPerformedimplementsActionListener
{
publicvoidactionPerformed(ActionEvente)
{
//设置3个按钮的可见性
Insert.setVisible(true);
Update.setVisible(true);
Select.setVisible(true);
}
}
/***********主窗口的监听事件**************************/
classMainTest_actionPerformedimplementsActionListener
{
MainTestadapte;
MainTest_actionPerformed(MainTestadapte)
{
this.adapte=adapte;
}
publicvoidactionPerformed(ActionEvente)
{
/*调用窗口程序*/
if(e.getSource()==adapte.Insert)
{
Insertinsert=newInsert();
}
elseif(e.getSource()==adapte.Update)
{
Updateupdate=newUpdate();
}
elseif(e.getSource()==adapte.Select)
{
Selectselect=n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 信息管理 系统 开发