面向对象程序与Java课程学生信息管理系统.docx

上传人:b****6 文档编号:12834055 上传时间:2023-06-08 格式:DOCX 页数:22 大小:1,008.50KB
下载 相关 举报
面向对象程序与Java课程学生信息管理系统.docx_第1页
第1页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第2页
第2页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第3页
第3页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第4页
第4页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第5页
第5页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第6页
第6页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第7页
第7页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第8页
第8页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第9页
第9页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第10页
第10页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第11页
第11页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第12页
第12页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第13页
第13页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第14页
第14页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第15页
第15页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第16页
第16页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第17页
第17页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第18页
第18页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第19页
第19页 / 共22页
面向对象程序与Java课程学生信息管理系统.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

面向对象程序与Java课程学生信息管理系统.docx

《面向对象程序与Java课程学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《面向对象程序与Java课程学生信息管理系统.docx(22页珍藏版)》请在冰点文库上搜索。

面向对象程序与Java课程学生信息管理系统.docx

面向对象程序与Java课程学生信息管理系统

 

《面向对象程序设计与Java》

课程设计

题目:

学生信息管理系统

院、系:

计算机系

学科专业:

信息管理与信息系统

学生姓名:

学号:

指导教师:

 

2009年11月26日

学生信息管理系统

一、需要实现的功能

1.1录入学生基本信息的功能

学生基本信息主要包括:

学号、姓名、性别、年龄、出生地、专业、班级、总学分,在插入时,如果数据库则已经存在该学号,则不能再插入该学号。

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

在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。

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

可使用“姓名”对已存有的学生资料进行查询。

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

在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。

1.5用户登陆

用不同的登录权限可以进入不同的后台界面,从而实现权限操作。

1.6用户登陆信息设置

可以修改用户登陆密码

二、设计的目的

《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。

其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本思路和方法;加强学生研发、调试程序的能力;培养学生分析、解决问题的能力;提高学生的科技论文写作能力。

三、总体设计

3.1功能图

3.2UseCase图

3.3系统执行流程图

3.4.数据库设计

主要是E-R图和数据库二维表的设计

3.4.1数据库E-R模型

学生

3.4.2数据库关系模型——二维表

学生表(student)

字段

数据类型

说明

stuId

nvarchar(30)

学号

stuName

nvarchar(30)

姓名

stuSex

nvarchar(30)

性别

stuAge

int

年龄

stuJg

nvarchar(30)

籍贯

stuZy

nvarchar(30)

专业

classId

nvarchar(30)

班号

stuSourse

numeric(5,2)

总学分

登陆权限表(login)

字段

数据类型

说明

userId

nvarchar(30)

用户名(账号),即登陆Id

password

nvarchar(30)

登陆密码

position

nvarchar(30)

职位,如班委,普通学生

四、详细设计

4.1开发环境:

windowsxp/7

4.2开发工具:

myEclipse+Access(或SQLServer2005)

4.3编码实现,具体需要的包,类,方法,变量如下系列表所示:

包名(package)

所包含的类

说明

com.sqlConnection

SqlConn.java

用于连接数据库

com.Tools

MyFont.java

用于设置窗体各组件的字体

com.View

Index.java

使用进度条与线程结合实现闪屏,初始化进入登陆界面

Login.java

登陆界面,管理员与用户登陆

ManageView.java

管理员界面,可进行所有操作

StuMainView.java

普通学生(用户)界面,只能进行部分操作

StuQuery.java

学生信息查询模块

AddStu.java

添加学生信息模块

UpdateStu.java

更新学生信息模块

TableModel.java

表数据更新模型,学于更新并通过表来显示信息

LoginModel.java

用户登陆验证模型

PurViewModel.java

用户权限设置界面

UpdateLogin.java

用户账户修改界面

类名

类的成员属性与方法

说明

SqlConn.java

Connectionct

得到与数据库的连接

PreparedStatementps

实现发送SQL语句给数据库

ResultSetrs

获得数据库返回的记录集

publicResultSetsqlQuery(Stringsql)

实现查询功能的方法

publicvoidsqlUpdate(Stringsql)

实现添加,修改功能的方法

publicvoidsqlDelete(Stringsql)

实现删除学生记录的方法

publicvoidcloseSqlConn()

实现关闭数据库连接的功能

类名

类的成员属性与方法

说明

Index.java

JProgressBarjpb

定义进度条

JLabeljl1

用于在窗体的北部放一张图片,南部是进度条

intwidth,height

用于获取显示屏分辨率大小,以便设置窗口的默认位置

publicIndex()

初始化窗口的相关组件

publicvoidrun()

进度条线程的run方法,用于设置线程的属性

int[]progressValue

定义一个数组,存放进度条显示时需要的数据

类名

类的成员属性与方法

说明

Login.java

JLabeljl1,jl2,jl3

定义三个标签组件

JTextFieldjtf1

定义一个用户输入账号的文本框

JPasswordFieldjpf1

密码输入框

JButtonjb1,jb2

提交和清除按钮

intwidth,height

用于设置窗口初始位置的变量,即获取显示器的大小

ResultSetrs

用于接收从数据库返回来的记录集

LoginModelloginModel

自定义一个模型,把值到登陆验证模型

publicLogin()

构造方法,用于初始化登陆窗口的相关组件

classBackImageextendsJPanel

创建一个内部类,并继承JPanle,用于画背景图片

类名

类的成员属性与方法

说明

ManageView.java

JMenuBarjmb

定义一个菜单条

JMenujm1,jm2

定义三个菜单

JMenuItemjm1_1,jm2_1,jm2_2,jm2_3,jm2_4,jm2_5,jm2_6

定义六个二级菜单项

JTablejtb

定义一个表格,用于显示学生信息

JScrollPanejsp

定义一个滚动面板,用于存放表格

intwidth,height

定义设置窗口初始位置的变量

TableModeltm

自定义一个表格模型,用于更新表数据

PurViewModelpvm

自定义一个登陆权限模型,用于判断登陆用户是否合法

publicvoidmenuInit

把菜单封装成一个函数,使用时在构造方法内调用即可初始化

publicManageView()

构造函数,初始化管理员后台界面的相关组件

publicvoidactionPerformed(ActionEventarg0)

事件响应方法,实现各个功能的响应

类名

类的成员属性与方法

说明

StuQuery.java

JPaneljp1

定义一个面板

JLabeljp1_jl1

定义两个标签

JTextFieldjp1_jtf1

定义一个文本输入框

JButtonjp1_jb1,jp1_jb2,jp1_jb3

定义三个按钮

JTablejtb

定义一个表

JScrollPanejsp

定义一个滚动面板,用于存放表

TableModeltm

自定义一个表模型,用于更新表数据

publicStuQuery(FrameMain,Stringtitle,booleanmodel)

构造方法,通过传递三个参数,实现对话

super(Main,title,model)

调用父类的构造方法,实现模式对话

publicvoidactionPerformed(ActionEventarg0)

事件响应方法

类名

类的成员属性与方法

说明

AddStu.java

JLabeljl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8

定义八个标签,用于设置数据库表的字段名

JTextFieldjtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8

定义八个文本框,用于接收表的各字段值

JButtonjb1,jb2,jb3

定义三个按钮,用于事件响应

publicvoidaddView()

这是添加学生界面的函数封装

publicAddStu(FrameMain,Stringtitle,booleanmodel)

构造方法,通过传递三个参数,实现对话

super(Main,title,model)

调用父类的构造方法,实现模式对话

publicvoidactionPerformed(ActionEvente)

事件响应方法

类名

类的成员属性与方法

说明

UpdateStu.java

JLabeljl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8

定义八个标签,用于设置数据库表的字段名

JTextFieldjtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8

定义八个文本框,用于接收表的各字段值

JButtonjb1,jb2,jb3

定义三个按钮,用于事件响应

publicvoidaddView()

这是修改学生界面的函数封装

publicAddStu(FrameMain,Stringtitle,booleanmodel)

构造方法,通过传递三个参数,实现对话

super(Main,title,model)

调用父类的构造方法,实现模式对话

publicUpdateStu(FrameMain,Stringtitle,TableModeltm,introwNo,booleanmodel)

因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号row

publicvoidactionPerformed(ActionEvente)

事件响应方法

类名

类的成员属性与方法

说明

TableModel.java

VectorrowData,row,column

定义表格所需要的集合(表,行,列)

ResultSetrs

定义一个记录集,用于接收从数据库返回来的记录集

SqlConnconn

定义一个用于连接数据库的对象,SqlConn是连接数据库的类

publicTableModel(Stringsql)

构造方法,并传一个SQL语句,实现查询操作

publicStringgetColumnName(intcolumn)

这是一个重写的方法,用于设置表的列名

publicintgetColumnCount()

得到数据模型记录集的列数

publicintgetRowCount()

得到数据模型记录集的行数

publicObjectgetValueAt(intarg0,intarg1)

得到数据模型记录集某行某列的值

类名

类的成员属性与方法

说明

LoginModel.java

SqlConnsqlconn

自定义连接数据库的对象

ResultSetrs

定义一个用于接收数据库返回的记录集

Stringsql,position,pwd

定义三个字符串变量,存取查询语句,职位,密码

intflag

定义一个用于判断变量,根据不同的用户职位,置不同的值

publicintcheckUser(StringuserId,Stringpassword)

一个用户权限与登陆验证的方法,当用户与密码正确时,返回一个值,该值表示该用户的职位,根据该职位进入不同的后台界面

类名

类的成员属性与方法

说明

UpdateLogin.java

JLabeljl1,jl2,jl3

定义三个标签,即用户名,密码,职位

JTextFieldjtf1,jtf2,jtf3

定义三个文本框,对应三个标签的值

JButtonjb1,jb2,jb3

定义三个按钮,用于事件响应

JTablejtb

定义一个表格,用于显示登陆用户信息

PurViewModelpvm

自定义登陆用户信息的数据更新模型

publicvoidupView()

这是修改账户信息权限的界面函数的封装

publicUpdateLogin(FrameMain,Stringtitle,PurViewModelpvm,introwNo,booleanmodel)

因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号row

super(Main,title,model)

调用父类的构造方法,实现模式对话

publicvoidactionPerformed(ActionEvente)

事件响应方法

4.4系统的主要类之间的调用关系图

 

五.调试与运行结果

5.1系统启动界面

5.2用户登陆界面

5.3班委(管理员)界面,即具有完全权限的用户后台界面

5.4班委(管理员)界面子菜单项显示

5.5学生信息查询界面

5.6学生信息查询结果显示

5.7添加学生信息界面

在没有输入学号或者姓名,以及某一项时,会弹出一个对话框进行提示,如没有输入学号时!

5.8修改学生信息界面,学号是主键,灰色显示,即不可更改

5.9显示所有学生信息

5.10当没有选中一行的时候,不能修改和删除,并弹出提示警告框

5.11删除文件时的确认对话框(当点击确认时才会删除,点击取消,则返回主界面)

5.12显示所有登陆用户信息

5.13修改用户登陆密码,选中某个用户进行修改

5.14关闭用户记录,即不显示所有用户信息

5.15关闭学生记录

5.16退出系统确认对话框,只有确认时才会退出系统,否则返加主界面

5.16普通学生登陆后的界面(即不能对学生信息进行添加,修改和删除以及用户密码修改,对应的这几项灰色显示,不可点击)

六、课程设计的体会与收获

本次课程设计使我受益非浅,在老师的带领下,我能够系统地去完成每一部分功能模块,实现每个功能,同时,串插了很多新的知识,在充分运用上课老师所讲的知识外,通过这次课程设计,是对课本一次系统的复习和实践,是对系统开发的一次体验,一次学习,把学习到的基本知识,运用到程序算法中去,完善程序,优化程序,以解决实际问题。

在设计的过程中,主要出现了一些问题,主要有下面这些:

1、SQL查询语句条件变量出错误,也就是查询语法赋值变量错误,导致信息不能添加,修改和查询。

2、模型不能更新,即数据不会自动更新。

3、在更新学生信息中,出现写sql语句时不细心,忘了带条件,导致一个严重的错误,所有记录被全改为同一条记录。

4、在执行删除操作时调用数据库连接后忘了调用关闭数据库连接的方法,导致模型更新失败。

5、在修改学生信息和登陆密码时,必须要关闭与数据库的连接后才能关闭对话框,否则表数据不能自动更新显示。

总结:

1)在写代码之前,在大脑里一定要把思路理清楚,不能模模糊糊,一定要把功能图和流程图画出来,然后根据它去实现每一个功能块,要多分析,培养一种良好的逻辑思维能力。

2)在写代码的过程中,一定要采取就近原则,同一个功能,或者对同一个组件的设置一般要写在一块,这样写的程序比较清晰,不容易出错,也便于查找。

3)要养成良好的注释习惯,一是有利于别人阅读你的程序,同时也有利于自己以后再看,就能很快的读懂程序,提高效率。

4)把功能模块化,即把实现相同功能的代码段封装成一到一个类或者一个方法中,实现的时候调用即可,这样能提高代码的可读性

5)养成创建包来存放不同功能的类,使系统的结构更加模块化和规范化。

6)在编写代码的时候,一定要边写边调试,要适时的设置断点,或者把某些变量的值输出到控制台,通过观察和分析变量的值,便于判断问题所在,同时,需要捕获异常的一定要把异常信息打印出来,便于分析问题。

在老师悉心的指导下,我顺利地完成了本次课程设计,并取得了很大的收获,对以后的软件开发奠定了一定的基础!

 

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2