生学信息管理系统课程设计报告大学论文.docx

上传人:b****8 文档编号:9349712 上传时间:2023-02-04 格式:DOCX 页数:29 大小:501.78KB
下载 相关 举报
生学信息管理系统课程设计报告大学论文.docx_第1页
第1页 / 共29页
生学信息管理系统课程设计报告大学论文.docx_第2页
第2页 / 共29页
生学信息管理系统课程设计报告大学论文.docx_第3页
第3页 / 共29页
生学信息管理系统课程设计报告大学论文.docx_第4页
第4页 / 共29页
生学信息管理系统课程设计报告大学论文.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

生学信息管理系统课程设计报告大学论文.docx

《生学信息管理系统课程设计报告大学论文.docx》由会员分享,可在线阅读,更多相关《生学信息管理系统课程设计报告大学论文.docx(29页珍藏版)》请在冰豆网上搜索。

生学信息管理系统课程设计报告大学论文.docx

生学信息管理系统课程设计报告大学论文

 

JAVA课程设计报告

 

题目

学生信息管理系统

院系

信息工程学院

班级

学号

姓名

目录

目录1

第一章需求分析1

1.任务需求1

2.功能需求1

3.设计目的1

4.设计要求2

第二章系统设计3

1.设计思路3

2.系统功能设计3

2.1.系统结构3

2.2.系统功能设计4

3.数据库设计4

3.1.数据库概念结构设计4

3.2.数据库逻辑结构设计5

3.3.数据库物理结构设计5

第三章系统实现6

1.系统环境6

2.数据库连接6

3.功能模块的实现6

3.1.实体类6

3.2.封装的数据库连接池类7

3.3.学生信息处理类7

4.界面模块的实现8

4.1.选择功能类8

4.2.添加学生信息界面类9

4.3.查询学生信息界面类9

4.4.修改学生信息界面类10

4.5.删除学生信息界面类11

第五章系统测试13

1.测试的意义和目的13

2.功能实现及测试13

2.1.主界面的实现13

2.2.添加学生信息界面的实现13

2.3.查询学生信息界面的实现15

2.4.修改学生信息界面的实现17

2.5.删除学生信息界面的实现20

总结23

第一章需求分析

1.任务需求

利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。

要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。

我这次的课题就是设计与实现一个学生信息管理系统。

2.功能需求

1.按照数据库设计方案合理设计student表,并生成SQL代码,包含学生的学号、姓名、性别、出生日期、专业等信息。

学号为主键。

2.录入学生基本信息功能的界面。

用户可以通过菜单选项让程序呈现“录入学生基本信息”功能的界面,通过该界面可以录入学生的学号、姓名、性别、出生日期、专业等信息。

3.修改学生基本信息功能的界面。

用户可以通过菜单选项让程序呈现“修改学生基本信息”功能的界面,通过该界面可以对已录入的学生信息进行修改。

4.查询学生基本信息功能的界面。

用户可以通过菜单选项让程序呈现“查询学生基本信息”功能的界面,通过该界面可以对已录入的学生信息进行查询,查询条件按照学号进行查询。

5.删除学生基本信息功能的界面。

用户可以通过菜单选项让程序呈现“删除学生基本信息”功能的界面,通过该界面可以按照学号删除已录入的学生信息记录。

能连接数据库并实现查询、增、删、改等功能

3.设计目的

1.通过JAVA课程设计,使学生能够将学到的面向对象的设计思想运用在具体的工作和学习中,加深对类和对象的理解,要求学生对生活中许多具体的事物抽象出类。

2.通过这次课程设计掌握JAVA的编程思想,为后续课程打下基础。

3.培养我实际操作能力和实践能力,为以后的工作打下坚实的基础。

4.设计要求

总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体。

结构设计合理。

也可根据自己对题目的理解增加新的功能模块。

使用图形用户界面。

工作,运行界面友好,演示程序以用户和计算机的对话方式进行

看题目要求,每一条记录包括一个学生的姓名、性别、出生日期等。

同时,应具备以下功能:

1、删除功能:

对指定学生的信息进行删除。

2、修改功能:

对指定学生的信息进行修改。

3、查询功能:

选择某种方式并输入该信息查询符合条件的学生信息。

4、添加功能:

添加新增学生信息。

5、退出主菜单。

第二章系统设计

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

//负责获取数据库连接

publicConnectiongetConnection();

//负责关闭数据库连接资源

publicvoidcloseAll();

2.系统功能设计

2.1.系统结构

系统结构图如图2-1:

 

2.2.系统功能设计

主界面的菜单选项功能:

显示该系统的全部功能,包括:

录入学生基本信息的功能,修改学生基本信息的功能,查询学生基本信息的功能,删除学生基本信息的功能。

添加学生基本信息的功能:

实现学生基本信息的添加,所含内容有:

学生的学号,姓名,性别,出生年月,民族,入学年份,院系,专业,。

修改学生基本信息的功能:

根据录入的学号查询对应的信息,显示信息;然后自己在修改界面进行修改。

查询学生基本信息的功能:

根据录入的学号查询所对应的信息。

删除学生基本信息的功能:

根据录入的学号查询对应的信息,单击“确定”即删除。

3.数据库设计

此系统使用的是MySQL数据库,由于此系统需要的数据量不是很大,所以选择比较简便的mysql数据库。

此系统的数据库名称是student。

3.1.数据库概念结构设计

学生个人信息管理系统数据库的实体联系图如图2-2:

 

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.系统环境

运行环境:

Windows10

编程语言:

Java

使用工具:

Eclipse(编码格式为:

utf-8)

数据库连接为:

MySQL

2.数据库连接

数据库连接为封装连接数据库类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)主要成员变量:

privateStringstuId;//学号

privateStringname;//姓名

privateStringsex;//性别

privateStringnation;//民族

privateStringbirth;//出生日期

privateStringentrance_date;//入学时间

privateStringdepartment;//学院

privateStringspecialty;//专业

(5)主要方法:

publicStringgetStuXX();

publicvoidsetStuXX(StringstuId);

3.2.封装的数据库连接池类

(1)类名:

DBUtil

(2)父类:

(3)作用:

实现DataSource接口,并实现连接池功能的步骤:

在DataSource构造函数中批量创建与数据库的连接,并把创建的连接加入LinkedList对象中。

实现getConnection方法,让getConnection方法每次调用时,

LinkedList中取一个Connection返回给用户。

当用户使用完Connection,调用Connection.close()方法时,Collection对象应保证将自己返回到LinkedList中,而不要把conn还给数据库。

(4)成员变量:

protectedConnectionconn=null;

protectedPreparedStatementps=null;

protectedResultSetrs=null;

(5)成员方法:

publicConnectiongetConn();//连接数据库的方法

publicintexecuteUpdate(Stringsql,Object[]params);//增、删、改的方法

publicListexecuteQuery(Stringsql,Object[]params,Classcla);//查询的方法

publicvoidcloseAll();//关闭资源的方法

3.3.学生信息处理类

(1)类名:

StudentDaoImpl

(2)父类:

DBUtil

(3)作用:

学生信息的处理类,通过继承DBUtil类提供添加学生信息、修改学生信息、删除学生信息和查询学生信息的方法,实现以上的功能。

(4)成员变量:

(5)成员方法:

publicintstuAdd(Studentstudent);//添加学生信息

publicintstuModify(StringstuId,Studentstudent);//修改学生信息

publicintstuDel(StringstuId,Studentstudent);//删除学生信息

publicStudentqueryStuById(StringstuId);//查询学生信息

4.界面模块的实现

4.1.选择功能类

(1)类名:

MainFrame

(2)父类:

Jframe

(3)作用:

主应用程序界面,负责其它功能模块的调用。

(4)成员变量:

staticJMenuBarjMenuBar=newJMenuBar();//菜单条

staticJMenujMenuFile=newJMenu("菜单");//菜单项

staticJMenuItemjMenuItem1=newJMenuItem("添加信息");//菜单子项

staticJMenuItemjMenuItem2=newJMenuItem("修改信息");

staticJMenuItemjMenuItem3=newJMenuItem("信息查询");

staticJMenuItemjMenuItem4=newJMenuItem("删除信息");

staticJLabellabel3=newJLabel("请选择操作项");

staticJLabellabel4=newJLabel("欢迎使用学生信息管理系统");

staticJButtonbutton2=newJButton("添加信息");//按钮

staticJButtonbutton3=newJButton("修改信息");

staticJButtonbutton4=newJButton("信息查询");

staticJButtonbutton5=newJButton("删除信息");

staticJButtonbuExit=newJButton("退出系统");

(5)成员方法:

publicMainFrame();//主应用程序界面的设计

publicvoidactionPerformed(ActionEvente);//事件监听方法

publicstaticvoidmain(String[]args);//程序运行的入口

4.2.添加学生信息界面类

(1)类名:

InputStudent

(2)父类:

JFrame

(3)作用:

负责“添加学生基本信息”功能的界面,要对录入数据进行有效性验证。

(4)成员变量:

staticJLabellabel1=newJLabel("学号:

");

staticJTextFieldtextField1=newJTextField("");

staticJLabellabel2=newJLabel("姓名:

");

staticJTextFieldtextField2=newJTextField("");

staticJLabellabel3=newJLabel("性别:

");

staticJTextFieldtextField3=newJTextField("");

staticJLabellabel4=newJLabel("出生日期:

");

staticJTextFieldtextField4=newJTextField("");

staticJLabellabel5=newJLabel("民族:

");

staticJTextFieldtextField5=newJTextField("");

staticJLabellabel6=newJLabel("入学年份:

");

staticJTextFieldtextField6=newJTextField("");

staticJLabellabel7=newJLabel("院系:

");

staticJTextFieldtextField7=newJTextField("");

staticJLabellabel8=newJLabel("专业:

");

staticJTextFieldtextField8=newJTextField("");

staticJButtonbutton1=newJButton("增加");

staticJButtonbutton2=newJButton("取消");

(5)成员方法:

publicInputStudent();//添加学生信息子界面的设计

publicvoidactionPerformed(ActionEvente);//事件监听方法

publicstaticvoidmain(String[]args);//程序运行的入口

4.3.查询学生信息界面类

(1)类名:

QueryStudent

(2)父类:

JFrame

(3)作用:

负责“添加学生基本信息”功能的界面,要对录入数据进行有效性验证。

(4)成员变量:

staticJLabellabel1=newJLabel("学号:

");

staticJTextFieldtextField1=newJTextField("");

staticJLabellabel2=newJLabel("姓名:

");

staticJTextFieldtextField2=newJTextField("");

staticJLabellabel3=newJLabel("性别:

");

staticJTextFieldtextField3=newJTextField("");

staticJLabellabel4=newJLabel("出生日期:

");

staticJTextFieldtextField4=newJTextField("");

staticJLabellabel5=newJLabel("民族:

");

staticJTextFieldtextField5=newJTextField("");

staticJLabellabel6=newJLabel("入学年份:

");

staticJTextFieldtextField6=newJTextField("");

staticJLabellabel7=newJLabel("院系:

");

staticJTextFieldtextField7=newJTextField("");

staticJLabellabel8=newJLabel("专业:

");

staticJTextFieldtextField8=newJTextField("");

staticJButtonbutton1=newJButton("查询");

staticJButtonbutton2=newJButton("取消");

(5)成员方法:

publicQueryStudent();//查询学生信息子界面的设计

publicvoidactionPerformed(ActionEvente);//事件监听方法

publicstaticvoidmain(String[]args);//程序运行的入口

4.4.修改学生信息界面类

(1)类名:

ModifyStudent

(2)父类:

JFrame

(3)作用:

负责“修改学生基本信息”功能的界面。

(4)成员变量:

staticJLabellabel1=newJLabel("学号:

");

staticJTextFieldtextField1=newJTextField("");

staticJLabellabel2=newJLabel("姓名:

");

staticJTextFieldtextField2=newJTextField("");

staticJLabellabel3=newJLabel("性别:

");

staticJTextFieldtextField3=newJTextField("");

staticJLabellabel4=newJLabel("出生日期:

");

staticJTextFieldtextField4=newJTextField("");

staticJLabellabel5=newJLabel("民族:

");

staticJTextFieldtextField5=newJTextField("");

staticJLabellabel6=newJLabel("入学年份:

");

staticJTextFieldtextField6=newJTextField("");

staticJLabellabel7=newJLabel("院系:

");

staticJTextFieldtextField7=newJTextField("");

staticJLabellabel8=newJLabel("专业:

");

staticJTextFieldtextField8=newJTextField("");

staticJButtonbutton1=newJButton("修改");

staticJButtonbutton2=newJButton("取消");

staticJButtonbutton3=newJButton("查询");

(5)成员方法:

publicQueryStudent();//修改学生信息子界面的设计

publicvoidactionPerformed(ActionEvente);//事件监听方法

publicstaticvoidmain(String[]args);//程序运行的入口

4.5.删除学生信息界面类

(1)类名:

DeleteStudent

(2)父类:

JFrame

(3)作用:

负责“删除学生基本信息”功能的界面,能够删除指定学生信息记录。

(4)成员变量:

staticJLabellabel1=newJLabel("学号:

");

staticJTextFieldtextField1=newJTextField("");

staticJLabellabel2=newJLabel("姓名:

");

staticJTextFieldtextField2=newJTextField("");

staticJLabellabel3=newJLabel("性别:

");

staticJTextFieldtextField3=newJTextField("");

staticJLabellabel4=newJLabel("出生日期:

");

staticJTextFieldtextField4=newJTextField("");

staticJLabellabel5=newJLabel("民族:

");

staticJTextFieldtextField5=newJTextField("");

staticJLabellabel6=newJLabel("入学年份:

");

staticJTextFieldtextField6=newJTextField("");

staticJLabellabel7=newJLabel("院系:

");

staticJTextFiel

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1