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

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

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

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

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

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

 

 

JAVA程序设计课程设计报告

 

课   题:

      学生信息管理系统                 

姓   名:

           肖                   

学   号:

                        

同组姓名:

                    

专业班级:

       信管12101                         

指导教师:

                              

设计时间:

     2014.6.23至2014.6.27 

 

 

评阅意见:

 

 

 

 

 

评定成绩:

指导老师签名:

年月日

 

 

 

 

1.系统描述.....................................3

1.1需要实现的功能............................3

1.2设计的目的................................3

2.分析与设计....................................4

2.1功能模块划分..............................4

2.2数据库结构描述............................5

2.3系统详细设计文档..........................8

2.4各模块的实现方法描述.....................10

2.5测试数据及期望结果.......................11

3.系统测试.....................................17

4.总结或心得体会...............................23

5.参考文献.....................................23

6.附录.........................................24

 

1.系统描述

1.1需要实现的功能

(1)录入学生基本信息的功能

学生基本信息主要包括:

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

(2)修改学生基本信息的功能

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

(3)查询学生基本信息的功能

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

(4)删除学生基本信息的功能

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

(5)用户登陆

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

(6)用户登陆信息设置

可以修改用户登陆密码

1.2设计的目的

学生信息管理系统是一个教育单位不可缺少的部分。

一个功能齐全,简单易用的信息管理系统不但能减轻学校相关人员的工作负担,它的内容对于学校的决策者和管理者来说都是至关重要的。

所以学生管理系统应该能让你为用户提供充足的信息和快捷的查询手段。

让我们设计这个学生信息管理系统,是让我们学生了解学生管理系统的重要性和它的作用。

使用Java语言进行面向对象设计的基本思路和方法;加强学生研发、调试程序的能力;培养学生分析、解决问题的能力;提高学生的科技论文写作能力。

2.分析与设计:

2.1功能模块划分

图1功能模块图

 

2.2数据库结构描述

(1)数据库E-R模型

图2学生局部E-R图

图3登陆用户局部E-R图

 

(2)数据库关系模型——二维

表1学生表(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)

总学分

表2登陆权限表(login)

字段

数据类型

说明

userId

nvarchar(30)

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

password

nvarchar(30)

登陆密码

position

nvarchar(30)

职位,如班委,普通学生

 

(3)数据流图

图4数据流图

 

2.3系统详细设计文档

表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

用户账户修改界面

表4ManageView类

类名

类的成员属性与方法

说明

ManageView

.java

JMenuBarjmb

定义一个菜单条

JMenujm1,jm2,jm3

定义三个菜单

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

定义六个二级菜单项

JTablejtb

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

JScrollPanejsp

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

intwidth,height

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

TableModeltm

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

PurViewModelpvm

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

publicvoidmenuInit

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

publicManageView()

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

publicvoidactionPerformed(ActionEventarg0)

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

表5StuMainView类

类名

类的成员属性与方法

说明

ManageView

.java

JMenuBarjmb

定义一个菜单条

JMenujm1,jm2,jm3

定义三个菜单

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

定义六个二级菜单项

JTablejtb

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

JScrollPanejsp

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

intwidth,height

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

TableModeltm

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

PurViewModelpvm

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

publicvoidmenuInit

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

publicStumainView()

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

publicvoidactionPerformed(ActionEventarg0)

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

表6LoginModel类

类名

类的成员属性与方法

说明

LoginModel.java

SqlConnsqlconn

自定义连接数据库的对象

ResultSetrs

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

Stringsql,position,pwd

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

intflag

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

publicintcheckUser(StringuserId,Stringpassword)

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

2.4各模块实现方法的描述

◆Loginmodel模块是验证登陆用户是否合法。

SqlConnsqlconn是用于自定义链接数据库的对象,ResultSetrs是用于定义一个用于接收数据库返回的记录表,Stringsql.position.pwd是定义三个字符串变量,存取查询语句,职位和密码,intflag定义一个判断变量,根据不同的用户职位,设置不同的值,publicintcheckUser(StringuserId,Stringpassword)当用户与密码正确时,返回一个值,该值表示该用户的职位,根据该职位进入不同的后台界面。

◆ManageView模块是管理员登陆成功后的界面,采用的是菜单管理制。

JMenuBarjmb是用于定义一个菜单条,用JMenujm1,jm2,jm3定义三个菜单,采用JMenuItemjm1_1,jm2_1,jm2_2,jm2_3,jm2_4,jm2_5,jm2_6定义六个二级菜单项,JTablejtb适用于定义一个表格,用于显示学生信息,JScrollPanejsp定义一个滚动面板,用于存放表格,intwidth,height定义设置窗口初始位置的变量,TableModeltm自定义一个表格模型,用于更新表数据,PurViewModelpvm自定义一个登陆权限模型,用于判断登陆用户是否合法publicvoidmenuInit把菜单封装成一个函数,使用时在构造方法内调用即可初始话,publicStumainView()构造函数,初始化管理员后台界面的相关组件publicvoidactionPerformed(ActionEventarg0)事件响应方法,实现各个功能的响应。

◆StuMainview模块是学生登录成功后的界面,实现方法与ManageView模块相同。

在学生登录后的界面与管理员登录成功后的界面一致,只是学生登录成功后的界面有些功能学生不能实现,学生能实现的功能是现实学生信息和查询学生的信息,不能增加,删除和修改。

◆purViewModel模块是一个登陆权限表模型,用于更新数据,rowData,row,column是定义表格所需要的集合,是定义一个记录集,Resulsetrs用于接收从数据库返回来的记录集,设置的是账号,密码和职位的表,用来记录需要登录的管理员和学生的信息。

2.3测试数据及期望结果

(1)测试查询金叶珍的信息

期望能显示金叶珍的所有信息

图5测试查询金叶珍

(2)测试添加学号为88888,姓名为李静,性别为女,年龄为20岁,出生地为湖南省长沙市,专业为信息管理与信息系统,班级为12101,总学分为200.

期望能添加此学生的信息。

图6添加学生李静的信息

图7李静信息添加成功

(3)测试删除李静的信息

期望能删除成功

图8选中要删除的学生李静的信息

图9成功删除学生李静信息

(4)测试将琉璃的姓名改为潇潇

期望修改成功

图10修改琉璃的信息

图11将琉璃的姓名改成潇潇

图12成功修改了琉璃的信息

(4)测试更换管理员的密码

期望管理员的密码更改成功

图13登陆权限表

图14修改账号为admin管理员的密码

图14将admin管理员的密码修改成mima

图15admin管理员的密码修改成功

3.系统测试

图16系统启动界面

 

图17用户登陆界面

 

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

图19普通用户(学生)界面子菜单项显示

图20学生信息查询界面

图21学生信息查询结果显示

图22添加学生信息界面

图23修改学生信息界面

图24显示所有学生信息

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

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

图27显示所有登陆用户信息

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

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

图30关闭学生记录

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

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

4、总结或心得体会

这次课程设计我做的是学生信息管理系统。

学生信息管理系主要对在校学生的个人基本信息以及成绩信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供成绩查询功能。

我们的目标就是为该系统提供后台连接数据库程序设计以及前台用户界面设计。

虽然系统的基本功能都已实现,但还是存在系统不稳定等多个问题尚待解决。

我在做系统的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,之所以能够顺利实现基本功功能,离不开老师和同学的大力相助。

事实证明,只靠自己是不能顺利完成一套功能完整的系统的,必须充分利用团队的力量。

 

开发一套系统,最重要的是细心,并不是一定要做到面面俱到,但也要充分考虑到客户的需求和现实意义,不管什么系统,只用运用到实际应用中,才具有现实意义。

所以在准备工作中要正确分析用户需求,了解现实应用,画出流程图,把大体框架做好,然后再逐一细化。

我们不可能做到面面俱到,但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自己的每一行代码都能实现自己的意义。

 

通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。

五.参考文献

(1)赵海廷.Java语言程序设计教程.北京:

清华大学出版社.2012

(2)孙印杰,刘斌,孙玉强.Java编程案例精解.北京:

电子工业出版社.2005

(3)何梅.java编程实例系列丛书.北京:

清华大学出版社,2002

(4)杨昭.编著二级Java语言程序设计教程.北京:

中国水利水电出版社,2006

(5)赵文靖编著.Java程序设计基础与上机指导.北京:

清华大学出版社,2006

六、附录

登陆用户验证是否合法

packagecom.View;

importjava.sql.ResultSet;

importjavax.swing.JOptionPane;

importcom.SqlConnection.SqlConn;

publicclassLoginModel{

//?

?

?

?

?

?

?

?

?

?

?

SqlConnsqlconn;

ResultSetrs;

Stringsql,position,pwd;

intflag;

publicintcheckUser(StringuserId,Stringpassword)

{

flag=0;

sql="select*fromloginwhereuserId='"+userId+"'";

sqlconn=newSqlConn();

rs=sqlconn.sqlQuery(sql);//?

?

?

?

?

?

?

try{

while(rs.next())

{

pwd=rs.getString

(2);

position=rs.getString(3);

System.out.println("test1="+position);

}

if(password.equals(pwd))

{

if(position.equals("?

?

"))

{

flag=0;

}

elseif(position.equals("?

?

?

?

"))

{

flag=1;

}

}

else

{

flag=2;

}

}catch(Exceptione){

e.printStackTrace();

//TODO:

handleexception

}

finally

{

sqlconn.closeSqlConn();

}

returnflag;

}

}

管理员登陆成功后的界面,采用菜单管理制

packagecom.View;

importcom.SqlConnection.SqlConn;

importcom.Tools.*;//?

?

?

?

?

?

?

?

?

(?

?

importjava.awt.*;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.*;

publicclassManageViewextendsJFrameimplementsActionListener{

//?

?

?

?

?

?

?

?

?

?

JMenuBarjmb;

JMenujm1,jm2,jm3;

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

JMenuItemjm3_1,jm3_2,jm3_3;

//?

?

?

?

?

?

?

?

?

?

?

?

?

?

JTablejtb;

//?

?

?

?

?

?

?

?

?

?

?

?

?

?

JScrollPanejsp;

//?

?

?

?

?

?

?

?

?

?

?

?

?

intwidth,height;

//?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

TableModeltm;

PurViewModelpvm;

//?

?

?

?

?

?

?

?

?

?

publicvoidmenuInit()

{

jm1=newJMenu("?

?

");

jm1.setFont(MyFont.f1);

jm1_1=newJMenuItem("<-?

?

?

?

->");

jm1_1.addActionListener(this);

jm1_1.setFont(MyFont.f2);

jm1.add(jm1_1);

jm2=newJMenu("?

?

?

?

");

jm2.setFont(MyFont.f1);

jm2_1=newJMenuItem("<-?

?

?

?

->");

jm2_1.addActionListener(this);

jm2_1.setFont(MyFont.f2);

jm2_2=newJMenuItem("<-?

?

?

?

->");

jm2_2.addActionListener(this);

jm2_2.setFont(MyFont.f2);

jm2_3=newJMenuItem("<-?

?

?

?

->");

jm2_3.addActionListener(this);

jm2_3.setFont(MyFont.f2);

jm2_4=newJMenuItem("<-?

?

?

?

->");

jm2_4.addActionListener(this);

jm2_4.setFont(MyFont.f2);

jm2_5=newJMenuItem("<-?

?

?

?

->");

jm2_5.addActionListener(this);

jm2_5.setFont(MyFont.f2);

jm2_6=newJMenuItem("<-?

?

?

?

->");

jm2_6.addActionListener(this);

jm2_6.setFont(MyFont.f2);

jm2.add(jm2_5);//?

?

?

?

?

?

?

?

?

?

?

?

jm2.add(jm2_1);

jm2.add(jm2_2);

jm2.add(jm2_3);

jm2.add(jm2_4);

jm2.add(jm2_6);

jm3=newJMenu("?

?

?

?

");

jm3.setFont(MyFont.f1);

jm3_1=newJMenuItem("<-?

?

?

?

?

?

->");

jm3_1.setFont(MyFont.f2);

jm3_1.addActionListener(this);

jm3_2=newJMenuItem("<-?

?

?

?

?

?

->");

jm3_2.setFont(MyFont.f2);

jm3_2.addActionListener(this);

jm3_3=newJMenuItem("<-?

?

?

?

?

?

->");

jm3_3.setFont(MyFont.f2);

jm3_3.addActionListener(this);

jm3.add(jm3_1);

jm3.add(jm3_2);

jm3.add(jm3_3);

//?

?

?

?

?

jmb=newJMenuBar();

//?

?

?

?

?

?

?

?

?

jmb.add(jm1);

jmb.add(jm2);

jmb.add(jm3);

//?

?

?

?

?

?

?

?

?

this.setJMenuBar(jmb);

}

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

ManageViewmanageview=newManageView();

}

publicManageView()

{

//?

?

?

?

?

?

this.menuInit();

//?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

jtb=newJTable();

//?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

jsp=newJScrollPane(jtb);

this.add(js

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

当前位置:首页 > 总结汇报 > 学习总结

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

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