




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA课程设计报告题 目学生信息管理系统院 系信息工程学院班 级学 号姓 名1目 录目 录1第一章 需求分析11任务需求12功能需求13设计目的14设计要求2第二章 系统设计31设计思路32系统功能设计32.1系统结构32.2系统功能设计43数据库设计43.1数据库概念结构设计43.2数据库逻辑结构设计53.3数据库物理结构设计5第三章 系统实现61系统环境62数据库连接63功能模块的实现63.1实体类63.2封装的数据库连接池类73.3学生信息处理类74界面模块的实现84.1选择功能类84.2添加学生信息界面类94.3查询学生信息界面类94.4修改学生信息界面类104.5删除学生信息界面类11第五章 系统测试131测试的意义和目的132功能实现及测试132.1主界面的实现132.2添加学生信息界面的实现132.3查询学生信息界面的实现152.4修改学生信息界面的实现172.5删除学生信息界面的实现20总结23第一章 需求分析1任务需求利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。我这次的课题就是设计与实现一个学生信息管理系统。2功能需求1按照数据库设计方案合理设计student表,并生成SQL代码,包含学生的学号、姓名、性别、出生日期、专业等信息。学号为主键。2录入学生基本信息功能的界面。用户可以通过菜单选项让程序呈现“录入学生基本信息”功能的界面,通过该界面可以录入学生的学号、姓名、性别、出生日期、专业等信息。3修改学生基本信息功能的界面。用户可以通过菜单选项让程序呈现“修改学生基本信息”功能的界面,通过该界面可以对已录入的学生信息进行修改。4查询学生基本信息功能的界面。用户可以通过菜单选项让程序呈现“查询学生基本信息”功能的界面,通过该界面可以对已录入的学生信息进行查询,查询条件按照学号进行查询。5删除学生基本信息功能的界面。用户可以通过菜单选项让程序呈现“删除学生基本信息”功能的界面,通过该界面可以按照学号删除已录入的学生信息记录。能连接数据库并实现查询、增、删、改等功能3设计目的1通过JAVA课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类。2通过这次课程设计掌握JAVA的编程思想,为后续课程打下基础。3培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。4设计要求总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体。结构设计合理。也可根据自己对题目的理解增加新的功能模块。使用图形用户界面。工作,运行界面友好,演示程序以用户和计算机的对话方式进行看题目要求,每一条记录包括一个学生的姓名、性别、出生日期等。同时,应具备以下功能:1、删除功能:对指定学生的信息进行删除。2、修改功能:对指定学生的信息进行修改。3、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。4、添加功能:添加新增学生信息。5、退出主菜单。2第二章 系统设计1设计思路程序界面采用javax.swing组件进行设计,合理选择JFrame、JPanel或者JDialog窗体进行设计,程序功能模块分为以下几个部分:1、MainFrame.java 主应用程序界面,负责其它功能模块的调用。2、InputStudent.java 负责“录入学生基本信息”功能的界面,要对录入数据进行有效性验证。3、ModifyStudent.java 负责“修改学生基本信息”功能的界面。4、QueryStudent.java 负责“查询学生基本信息”功能的界面,能够按指定学号来查询并显示学生信息内容。5、DeleteStudent.java 负责“删除学生基本信息”功能的界面,能够删除指定学生信息记录。6、Student.java Student创建的对象负责处理和学生有关的数据,按照实体类的方式来定义,有一些private的参数作为对象的属性,然后针对每个参数定义了get和set方法作为访问的接口。对象的所有属性采用String类型来处理。7、DBUtil.java /负责获取数据库连接 public Connection getConnection(); /负责关闭数据库连接资源 public void closeAll ();2系统功能设计2.1系统结构系统结构图如图2-1:学生个人信息管理系统查询学生信息系统录入学生信息系统录入学生信息更改学生信息系统按学号查询学生信息更改学生信息图2-1 学生个人信息管理系统结构图2.2系统功能设计主界面的菜单选项功能:显示该系统的全部功能,包括:录入学生基本信息的功能,修改学生基本信息的功能,查询学生基本信息的功能,删除学生基本信息的功能。添加学生基本信息的功能:实现学生基本信息的添加,所含内容有:学生的学号,姓名,性别,出生年月,民族,入学年份,院系,专业,。修改学生基本信息的功能:根据录入的学号查询对应的信息,显示信息;然后自己在修改界面进行修改。查询学生基本信息的功能:根据录入的学号查询所对应的信息。删除学生基本信息的功能:根据录入的学号查询对应的信息,单击“确定”即删除。3数据库设计 此系统使用的是MySQL数据库,由于此系统需要的数据量不是很大,所以选择比较简便的mysql数据库。此系统的数据库名称是student。 3.1数据库概念结构设计学生个人信息管理系统数据库的实体联系图如图2-2:N管理员学生管理姓名专业院系学号入学年份性别出生日期期图2-2数据库实体联系图(E-R)图)3.2数据库逻辑结构设计将E-R图转换为关系模型,其中关系的主键用下划线表示如下:学生(stuId,name,sex,nation,birth,entrance_date,department,specialty)3.3数据库物理结构设计结构设计如表2-3:字段名数据类型字段大小描述stuId文本11学号name文本10姓名sex文本2性别nation文本10民族birth文本20出生日期entrance_date文本10入学年份department文本30院系specialty文本30专业第三章 系统实现1系统环境运行环境:Windows 10编程语言:Java使用工具:Eclipse(编码格式为:utf-8)数据库连接为:MySQL2数据库连接数据库连接为封装连接数据库类DBUtil.java,本类具有增、删、改和查询的方法。数据库连接核心代码:Class.forName(com.mysql.jdbc.Driver);conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/student?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true,root, root);3功能模块的实现3.1实体类(1)类名:Student(2)父类:无(3)作用:Student创建的对象负责处理和学生有关的数据,按照实体类的方式来定义,有一些private的参数作为对象的属性,然后针对每个参数定义了get和set方法作为访问的接口。对象的所有属性采用String类型来处理。 (4)主要成员变量:private String stuId; /学号private String name; /姓名private String sex; /性别private String nation; /民族private String birth; /出生日期private String entrance_date; /入学时间 private String department; /学院 private String specialty; /专业(5)主要方法:public String getStuXX();public void setStuXX(String stuId);3.2封装的数据库连接池类(1)类名:DBUtil;(2)父类:无(3)作用:实现DataSource接口,并实现连接池功能的步骤:在DataSource构造函数中批量创建与数据库的连接,并把创建的连接加入LinkedList对象中。实现getConnection方法,让getConnection方法每次调用时,LinkedList中取一个Connection返回给用户。当用户使用完Connection,调用Connection.close()方法时,Collection对象应保证将自己返回到LinkedList中,而不要把conn还给数据库。(4)成员变量:protected Connection conn = null;protected PreparedStatement ps = null;protected ResultSet rs = null;(5)成员方法:public Connection getConn(); /连接数据库的方法public int executeUpdate(String sql, Object params); /增、删、改的方法public List executeQuery(String sql, Object params,Class cla); /查询的方法public void closeAll(); /关闭资源的方法3.3学生信息处理类(1)类名:StudentDaoImpl(2)父类:DBUtil(3)作用:学生信息的处理类,通过继承DBUtil类提供添加学生信息、修改学生信息、删除学生信息和查询学生信息的方法,实现以上的功能。(4)成员变量:无(5)成员方法:public int stuAdd(Student student); /添加学生信息public int stuModify(String stuId, Student student); /修改学生信息public int stuDel(String stuId, Student student); /删除学生信息public Student queryStuById(String stuId); /查询学生信息4界面模块的实现4.1选择功能类(1)类名:MainFrame(2)父类:Jframe(3)作用:主应用程序界面,负责其它功能模块的调用。(4)成员变量:static JMenuBar jMenuBar = new JMenuBar();/ 菜单条static JMenu jMenuFile = new JMenu(菜单);/ 菜单项static JMenuItem jMenuItem1 = new JMenuItem(添加信息);/ 菜单子项static JMenuItem jMenuItem2 = new JMenuItem(修改信息);static JMenuItem jMenuItem3 = new JMenuItem(信息查询);static JMenuItem jMenuItem4 = new JMenuItem(删除信息);static JLabel label3 = new JLabel(请选择操作项);static JLabel label4 = new JLabel(欢迎使用学生信息管理系统);static JButton button2 = new JButton(添加信息); /按钮static JButton button3 = new JButton(修改信息);static JButton button4 = new JButton(信息查询);static JButton button5 = new JButton(删除信息);static JButton buExit = new JButton(退出系统);(5)成员方法:public MainFrame(); /主应用程序界面的设计public void actionPerformed(ActionEvent e); /事件监听方法public static void main(String args); /程序运行的入口4.2添加学生信息界面类(1)类名:InputStudent(2)父类:JFrame(3)作用:负责“添加学生基本信息”功能的界面,要对录入数据进行有效性验证。(4)成员变量:static JLabel label1 = new JLabel(学号:);static JTextField textField1 = new JTextField();static JLabel label2 = new JLabel(姓名:);static JTextField textField2 = new JTextField();static JLabel label3 = new JLabel(性别:);static JTextField textField3 = new JTextField();static JLabel label4 = new JLabel(出生日期:);static JTextField textField4 = new JTextField();static JLabel label5 = new JLabel(民族:);static JTextField textField5 = new JTextField();static JLabel label6 = new JLabel(入学年份:);static JTextField textField6 = new JTextField();static JLabel label7 = new JLabel(院系:);static JTextField textField7 = new JTextField();static JLabel label8 = new JLabel(专业:);static JTextField textField8 = new JTextField();static JButton button1 = new JButton(增加);static JButton button2 = new JButton(取消);(5)成员方法:public InputStudent(); /添加学生信息子界面的设计public void actionPerformed(ActionEvent e); /事件监听方法public static void main(String args); /程序运行的入口4.3查询学生信息界面类(1)类名:QueryStudent(2)父类:JFrame(3)作用:负责“添加学生基本信息”功能的界面,要对录入数据进行有效性验证。(4)成员变量:static JLabel label1 = new JLabel(学号:);static JTextField textField1 = new JTextField();static JLabel label2 = new JLabel(姓名:);static JTextField textField2 = new JTextField();static JLabel label3 = new JLabel(性别:);static JTextField textField3 = new JTextField();static JLabel label4 = new JLabel(出生日期:);static JTextField textField4 = new JTextField();static JLabel label5 = new JLabel(民族:);static JTextField textField5 = new JTextField();static JLabel label6 = new JLabel(入学年份:);static JTextField textField6 = new JTextField();static JLabel label7 = new JLabel(院系:);static JTextField textField7 = new JTextField();static JLabel label8 = new JLabel(专业:);static JTextField textField8 = new JTextField();static JButton button1 = new JButton(查询);static JButton button2 = new JButton(取消);(5)成员方法:public QueryStudent(); /查询学生信息子界面的设计public void actionPerformed(ActionEvent e); /事件监听方法public static void main(String args); /程序运行的入口4.4修改学生信息界面类(1)类名:ModifyStudent(2)父类:JFrame(3)作用:负责“修改学生基本信息”功能的界面。(4)成员变量:static JLabel label1 = new JLabel(学号:);static JTextField textField1 = new JTextField();static JLabel label2 = new JLabel(姓名:);static JTextField textField2 = new JTextField();static JLabel label3 = new JLabel(性别:);static JTextField textField3 = new JTextField();static JLabel label4 = new JLabel(出生日期:);static JTextField textField4 = new JTextField();static JLabel label5 = new JLabel(民族:);static JTextField textField5 = new JTextField ();static JLabel label6 = new JLabel(入学年份:);static JTextField textField6 = new JTextField ();static JLabel label7 = new JLabel(院系:);static JTextField textField7 = new JTextField();static JLabel label8 = new JLabel(专业:);static JTextField textField8 = new JTextField();static JButton button1 = new JButton(修改);static JButton button2 = new JButton(取消);static JButton button3 = new JButton(查询);(5)成员方法:public QueryStudent(); /修改学生信息子界面的设计public void actionPerformed(ActionEvent e); /事件监听方法public static void main(String args); /程序运行的入口4.5删除学生信息界面类(1)类名:DeleteStudent(2)父类:JFrame(3)作用:负责“删除学生基本信息”功能的界面,能够删除指定学生信息记录。(4)成员变量:static JLabel label1 = new JLabel(学号:);static JTextField textField1 = new JTextField();static JLabel label2 = new JLabel(姓名:);static JTextField textField2 = new JTextField();static JLabel label3 = new JLabel(性别:);static JTextField textField3 = new JTextField();static JLabel label4 = new JLabel(出生日期:);static JTextField textField4 = new JTextField();static JLabel label5 = new JLabel(民族:);static JTextField textField5 = new JTextField();static JLabel label6 = new JLabel(入学年份:);static JTextField textField6 = new JTextField();static JLabel label7 = new JLabel(院系:);static JTextField textField7 = new JTextField();static JLabel label8 = new JLabel(专业:);static JTextField textField8 = new JTextField();static JButton button1 = new JButton(删除);static JButton button2 = new JButton(取消); (5)成员方法:public QueryStudent(); /修改学生信息子界面的设计public void actionPerformed(ActionEvent e); /事件监听方法public static void main(String args); /程序运行的入口第五章 系统测试1测试的意义
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业创业基金贷款合同6篇
- 2025年土方运输合同3篇
- 简单石材购货合同范本5篇
- 泥塑彩绘合同范本
- 仓库转租租赁合同范本
- 砂石料款合同范本
- 协议分红股权合同范本
- 新艺人签约合同范本
- 南京特种气体销售合同3篇
- 秋季学期工作计划表怎么写(5篇)
- 以史为帆明方向+少年立志向未来+课件-2025-2026学年上学期主题班会
- 2025年医卫类病理学技术(中级)专业知识-专业实践能力参考题库含答案解析(5套试卷)
- 2025上海科技馆事业单位工作人员招聘10人笔试备考题库及答案解析
- 八年级语文上册期末考点专题17 新闻阅读(解析版)
- 【初二】【八年级】【道法】2025【秋】上学期开学第一课【统编版】(课件)
- 监狱消防安全应急预案
- 军事类面试题目及答案
- 2025巡护员考试题库及答案
- 产科专科护士结业汇报
- 《工程勘察设计收费标准》(2002年修订本)
- 途虎八步及10大保养质检流程试题及答案
评论
0/150
提交评论