收藏 分销(赏)

个人信息管理系统与开发3.doc

上传人:精*** 文档编号:4555220 上传时间:2024-09-29 格式:DOC 页数:41 大小:141KB 下载积分:14 金币
下载 相关 举报
个人信息管理系统与开发3.doc_第1页
第1页 / 共41页
个人信息管理系统与开发3.doc_第2页
第2页 / 共41页


点击查看更多>>
资源描述
个人信息管理系统与开发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 主要成员变量: private JPanel ContentPane; ​private JButton Insert = new JButton(); ​private JButton Select = new JButton(); ​private JButton Update = new JButton(); 内部类:MainTest_actionPerformed,主页面的事件监听。 jenter_ actionPerformed,按钮的事件监听。 主要成员方法: public MainTest() public static void main(String[] args) (2)类名:Insert 作用:实现添加个人信息 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JPanel ContentPane; ​private JLabel jlab1 = new JLabel(); ​private JLabel jlab2 = new JLabel(); ​private JLabel jlab3 = new JLabel(); ​private JLabel jlab4 = new JLabel(); ​private JLabel jlab5 = new JLabel(); ​private JLabel jlab6= new JLabel(); ​private JLabel jlab7 = new JLabel(); ​private JLabel jlab8 = new JLabel(); ​private JTextField jtextfield1 = new JTextField(); ​private JTextField jtextfield2 = new JTextField(); ​private JTextField jtextfield3 = new JTextField(); ​private JTextField jtextfield4 = new JTextField(); ​private JTextField jtextfield5 = new JTextField(); ​private JComboBox jcombobox1 = new JComboBox(); ​private JComboBox jcombobox2 = new JComboBox(); ​private JTextArea jtextarea = new JTextArea(); ​private JButton sure = new JButton(); 内部类:sure_actionperformed,按钮的事件监听,实现对数据的插入。 主要成员方法:public Insert(); (3)类名:Update 作用:对个人信息进行修改。 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JPanel ContentPane; ​private JLabel jlab1 = new JLabel(); ​private JLabel jlab2 = new JLabel(); ​private JLabel jlab3 = new JLabel(); ​private JLabel jlab4 = new JLabel(); ​private JLabel jlab5 = new JLabel(); ​private JTextField jtextfield1 = new JTextField(); ​private JTextField jtextfield2 = new JTextField(); ​private JTextField jtextfield3 = new JTextField(); ​private JTextField jtextfield4 = new JTextField(); ​private JButton sure = new JButton(); ​private JButton upda = new JButton(); 主要成员方法: public Update() public void actionPerformed(ActionEvent e) (4)类名:Select 作用:查询学生个人信息 继承的父类:Jframe 主要实现接口:ActionListener 主要成员变量: private JTextArea taInfo=new JTextArea(); private JPanel panel=new JPanel(); private JTextField jtextfield1=new JTextField(); private JButton jbutton=new JButton("查询"); private JLabel jlabel=new JLabel("学号"); 主要成员方法: public Select() public void actionPerformed(ActionEvent e) 2、主程序流程: (1)界面设计 (2)j d b c 图 4-2-1 主流程图 4.2.1包的描述 import java.awt.BorderLayout;边界布局勾画出一个容器,其组成部分的安排和调整以适应在五个区域:北,南,东,西,和中心。 import java.awt.Color;颜色类是用于封装在默认成色彩空间的颜色或颜色任意颜色空间所确定的色彩。 import java.awt.Rectangle;一个矩形指定地区在坐标空间是封闭的矩形对象的左上点(十,年)在空间中的坐标,其宽度和高度。 import java.awt.event.ActionEvent;事件一个接口,知道如何调度自己。 import java.awt.event.ActionListener;监听器接口接收动作事件。类的感兴趣的事件处理行动实现此接口的对象,并创建的类是一个注册的组件,使用组件的addactionlistener方法。行动时,事件发生时,该对象的actionperformed调用方法。 import javax.swing.JButton;实施“推”按钮。请参阅The Java Tutorial中的信息和使用按钮的例子如何使用按钮,复选框和单选按钮。 import javax.swing.JComboBox;实施 - 一个复选框可以选择或取消的项目,并显示其状态的用户。按照惯例,任何一组号码复选框可以选择。请参阅如何使用Java教程使用复选框的例子和信息按钮,复选框和单选按钮。 import javax.swing.JFrame;java.awt.Frame的扩展版本,增加了JFC / Swing组件架构的支持。你可以找到有关节如何使框架,使用Java教程JFrame的面向任务的文档。 import javax.swing.JLabel;一个很短的文本字符串或图像的显示区域,或两者兼而有之。一个标签不输入事件作出反应。因此,它不能获得键盘焦点。然而,标签可以显示附近的一个组成部分,有一个键盘的替代品,但不能显示它的方便的键盘替代。 import javax.swing.JPanel;JPanel的是一个通用的轻量级容器。对于JPanel的任务为导向的文档和例子,请参阅如何使用面板,Java教程的一个部分。 import javax.swing.JTextArea;一个JTextArea是一个多行的区域,显示纯文本。它的目的是成为一个轻量级组件,提供与java.awt.TextArea类源代码的兼容性,它可以合理地这样做。你可以找到在The Java Tutorial中使用的文本组件,部分使用所有文本组件的信息和例子。 import javax.swing.JTextField;JTextField是一个轻量级的组件,它允许在一个单行文本编辑。对于使用文本字段的信息和例子,请参阅如何使用Java教程的文本字段。 4.2.2类的描述 JButton:实施“推”按钮。请参阅The Java Tutorial中的信息和使用按钮的例子如何使用按钮,复选框和单选按钮。 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"); ​String url="jdbc:odbc:学生管理"; ​Connection con=DriverManager.getConnection(url); ​Statement stmt=con.createStatement(); MainTest类中对按钮事件监听的实现: class MainTest_actionPerformed implements ActionListener ​{ ​MainTest adapte ; ​MainTest_actionPerformed(MainTest adapte) ​{ ​this.adapte = adapte; ​} ​public void actionPerformed(ActionEvent e) ​{ ​/*调用窗口程序*/ ​if(e.getSource()==adapte.Insert) ​{ ​Insert insert = new Insert(); ​} ​else if(e.getSource()==adapte.Update) ​{ ​Update update = new Update(); ​} ​else if(e.getSource()==adapte.Select) ​{ ​Select select = new Select(); ​} ​} ​} Insert类中添加个人信息的具体实现: ​public void actionPerformed(ActionEvent e) ​{ String SQL="insert into student(学号,姓名,性别,生日,身份证号,专业,班级,简介) values('"+jtextfield1.getText()+"','"+jtextfield2.getText()+"', '"+jcombobox1.getSelectedItem()+"','"+jtextfield3.getText()+"', '"+jtextfield5.getText()+"','"+jcombobox2.getSelectedItem()+"', '"+jtextfield4.getText()+"','"+jtextarea.getText()+"')"; ResultSet rs=stmt.executeQuery(SQL); ​} ​} Update类中关于更新学生信息方法的实现: if(e.getSource()==upda) ​{ ​String SQL="UPDATE student SET 姓名='"+jtextfield2.getText()+"', 性别='"+jtextfield3.getText()+"', 专业='"+jtextfield4.getText()+"' WHERE 学号='"+jtextfield1.getText()+"'"; ​ ResultSet rs=stmt.executeQuery(SQL); ​ rs.close(); ​ stmt.close(); ​ con.close(); ​} Select类中对查询个人信息的实现: public void actionPerformed(ActionEvent e) { String SQL="SELECT * FROM student WHERE 学号='"+jtextfield1.getText()+"'"; ​ ResultSet rs=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、数据库表设计: 使用mys q l 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 import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * @author LiuMingyan */ public class MainTest extends JFrame{ ​/**************声明变量************/ ​private JPanel ContentPane; ​private JButton Insert = new JButton(); ​private JButton Select = new JButton(); ​private JButton Update = new JButton(); ​public MainTest() ​{ ​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(new Rectangle(70, 50, 120, 33)); ​Insert.addActionListener(new MainTest_actionPerformed(this));//加事件监听 ​Insert.setForeground(Color.white); ​Insert.setBackground(Color.black); ​Update.setText("修改学生信息"); ​Update.setVisible(false); ​Update.setBounds(new Rectangle(210, 50,120, 33)); ​Update.addActionListener(new MainTest_actionPerformed(this));//加事件监听 ​Update.setForeground(Color.white); ​Update.setBackground(Color.black); ​Select.setText("查询学生信息"); ​Select.setVisible(false); ​Select.setBounds(new Rectangle(340, 50, 120, 33)); ​Select.addActionListener(new MainTest_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); ​ ​} ​/**********设置动作按钮的监听事件***********/ ​class jenter_actionPerformed implements ActionListener ​{ ​public void actionPerformed(ActionEvent e) ​{ ​//设置3个按钮的可见性 ​Insert.setVisible(true); ​Update.setVisible(true); ​Select.setVisible(true); ​ ​} ​} /***********主窗口的监听事件**************************/ ​class MainTest_actionPerformed implements ActionListener ​{ ​MainTest adapte ; ​MainTest_actionPerformed(MainTest adapte) ​{ ​this.adapte = adapte; ​} ​public void actionPerformed(ActionEvent e) ​{ ​/*调用窗口程序*/ ​if(e.getSource()==adapte.Insert) ​{ ​Insert insert = new Insert(); ​} ​else if(e.getSource()==adapte.Update) ​{ ​Update update = new Update(); ​} ​else if(e.getSource()==adapte.Select) ​{ ​Select select = new Select(); ​} ​} ​} ​public static void main(String[] args) { ​MainTest maintest=new MainTest (); ​// TODO 自动生成方法存根 ​} } //: object/Insert.java import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; /** * @author LiuMingyan */ public class Insert extends JFrame { ​/**************声明变量************/ ​private JPanel ContentPane; ​private JLabel jlab1 = new JLabel(); ​private JLabel jlab2 = new JLabel(); ​private JLabel jlab3 = new JLabel(); ​private JLabel jlab4 = new JLabel(); ​private JLabel jlab5 = new JLabel(); ​private JLabel jlab6= new JLabel(); ​private JLabel jlab7 = new JLabel(); ​private JLabel jlab8 = new JLabel(); ​private JTextField jtextfield1 = new JTextField(); ​private JTextField jtextfield2 = new JTextField(); ​private JTextField jtextfield3 = new JTextField(); ​private JTextField jtextfield4 = new JTextField(); ​private JTextField jtextfield5 = new JTextField(); ​private JComboBox jcombobox1 = new JComboBox(); ​private JComboBox jcombobox2 = new JComboBox(); ​private JTextArea jtextarea = new JTextArea(); ​private JButton sure = new JButton(); ​public Insert() ​{ ​this.setBounds(320,160,450,450); ​this.setTitle("添加学生信息");//窗体标题 ​ ContentPane =(JPanel)this.getContentPane();//将容器转化为JPanel ​ ContentPane.setLayout(null);//设置可更改性 ​ ContentPane.setBackground(Color.black); ​jlab1.setText("学号"); ​jlab1.setBounds(new Rectangle(30, 11, 51, 33)); ​jlab1.setForeground(Color.white); ​jlab2.setText("姓名"); ​jlab2.setBounds(new Rectangle(162, 11, 28, 33)); ​jlab2.setForeground(Color.white); ​jlab3.setText("性别"); ​jlab3.setBounds(new Rectangle(241, 11, 28, 33)); ​jlab3.setForeground(Color.white); ​jlab4.setText("出生日期"); ​jlab4.setBounds(new Rectangle(31, 53, 55, 33)); ​jlab4.setForeground(Color.white); ​jlab5.setText("身份证号"); ​jlab5.setBounds(new Rectangle(163, 94, 55, 33)); ​jlab5.setForeground(Color.white); ​jlab6.setText("班级"); ​jlab6.setBounds(new Rectangle(163, 53, 26, 33)); ​jlab6.setForeground(Color.white); ​jlab7.setText("专业"); ​jlab7.setBounds(new Rectangle(30, 94, 50, 33)); ​jlab7.setForeground(Color.white); ​jlab8.setText("自我介绍"); ​jlab8.setBounds(new Rectangle(30, 120, 66, 33)); ​jlab8.setForeground(Color.white); ​jtextfield1.setText("");//学号 ​jtextfield1.setBounds(new Rectangle(86, 16, 74, 22)); ​jtextfield2.setText("");//姓名 ​jtextfield2.setBounds(new Rectangle(192, 16, 44, 22)); ​jtextfield3.setText("");//出生日期 ​jtextfield3.setBounds(new Rectangle(86, 58, 74, 22)); ​jtextfield4.setText("");//班级 ​jtextfield4.setBounds(new Rectangle(191, 58, 44, 22)); ​jtextfield5.setText("");//身份证号 ​jtextfield5.setBounds(new Rectangle(230, 98, 158, 22)); ​jcombobox1.setBounds(new Rectangle(275, 15, 50, 25)); ​jcombobox1.addItem("男"); ​jcombobox1.addItem("女"); ​jcombobox1.setForeground(Color.black); ​jcombobox1.setBackground(Color.white); ​jcombobox2.setBounds(new Rectangle(86, 98, 75, 25)); ​jcombobox2.addItem("软件"); ​jcombobox2.addItem("工商"); ​jcombobox2.addItem("电信"); ​jcombobox2.addItem("电控"); ​jcombobox2.addItem("营销"); ​jcombobox2.addItem("安全"); ​jcombobox2.setForeground(Color.black); ​jcombobox2.setBackground(Color.white); ​jtextarea.setText(""); ​jtextarea.setBounds(new Rectangle(84, 139, 285, 92)); ​sure.setText("添加");//设置命令按钮 ​sure.setBounds(new Rectangle(156, 244, 89, 22)); ​sure.addActionListener(new sure_actionperformed());//设置动作监听 ​ContentPane.add(jlab1); ​ContentPane.add(jlab2); ​ContentPane.add(jlab3); ​ContentPane.add(jlab4); ​ContentPane.add(jlab5); ​ContentPane.add(jlab6); ​ContentPane.add(jlab7); ​ContentPane.add(jlab8); ​ContentPane.add(jtextfield1); ​ContentPane.add(jtextfield2); ​ContentPane.add(jtextfield3); ​ContentPane.add(jtextfield4); ​ContentPane.add(jtextfield5); ​ContentPane.add(jcombobox1); ​ContentPane.add(jcombobox2); ​ContentPane.add(jtextarea); ​ContentPane.add(sure); ​this.setVisible(true);//设置可见性 ​} ​ ​class sure_actionperformed implements ActionListener //设置动作按钮的监听 ​{ ​public void actionPerformed(ActionEvent e) //创建方法 ​{ ​ ​try{ ​Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); ​String url="jdbc:odbc:学生管理"; ​Connection con=DriverManager.getConnection(url); ​Statement stmt=con.createStatement(); ​String SQL="insert into student(学号,姓名,性别,生日,身份证号,专业,班级,简介)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服