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

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

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

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

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

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

学号:

 

课程设计

 

题目

学生信息管理系统

学院

计算机科学与信息工程学院

专业

金融信息化服务外包

班级

学生姓名

指导教师

 

2015

12

28

 

课程设计任务书

学生姓名:

专业班级:

指导教师:

工作单位:

题目:

学生信息管理系统

已知技术参数和设计要求:

a)时间要求为14周~18周。

b)开发工具java。

c)开发平台JCreator4.50Pro。

d)所用文本Txt。

e)说明文档要求符合学校课程设计文档规范。

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

设计一个学生信息管理系统,应用软件的开发环境的简要说明,需求分析,数据设计,功能设计,程序的主要界面、代码实现,设计结果的总结,附录或参考资料

a)登录、查询、增加、删除、修改本系统中的各个表信息

时间安排:

1、需求分析,联系实际,历时2天。

2、各种设计简要说明需求分析,数据设计,功能设计,历时4天。

3、编码,使用Java语言在JCreator4.50Pro集成开发环境中实现本系统的添加、删除、查询、读取txt文档,历时4天。

4、界面设计与软件测试。

使用可视化界面设计,完成系统各界面功能的设计与实现。

完成本系统的初步测试与试运行,历时5天。

5、java课程设计文档的最后检查与修订,历时1天

指导教师签名:

年月日

一.应用软件的开发环境的简要说明

(一)开发环境:

开发环境的选择会影响到java的设计,所以在这里给出学生信息管理系统的开发与运行环境如下:

开发环境:

WindowsXP

开发工具:

JCreator4.50Pro

文本文件管理系统:

txt

(二)运行环境:

为了保证系统运行的效率和可靠性。

其运行要求如下:

运行环境:

JCreator4.50Pro以上

客户端:

Windows98/NT/XP等

硬件环境:

服务器CPU:

PIII500以上,内存:

256M以上

客户机CPU:

P200MMX以上,内存:

32M以上

二.需求分析

(一)系统目标

本系统的用户主要不是学生。

通过一个学生信息管理系统,使学生的信息管理工作系统化、规范化、自动化,从而达到提高管理效率的目的。

(二)系统功能分析

1.功能需求:

(1)验证用户输入的登录信息。

用户只有输入正确的登录信息后,才能进入信息管理系统。

(2)查询学生信息功能。

选择该功能后,可以查询学生基本信息。

(3)添加学生信息功能。

选择该功能后,可以添加学生的学生基本信息。

(4)修改学生信息功能。

选择该功能后,可以修改学生的学生基本信息。

(5)删除学生信息功能。

选择该功能后,可以删除学生的学生基本信息。

(6)退出。

可以退出本信息管理系统。

2.非功能约束需求:

(1)安全性:

权限管理,身份检验。

(2)可靠性:

基本能够运行,不会系统崩溃。

(3)时间响应速度:

查询,更新。

3.数据需求:

(1)学生信息的添加和删除都需要管理人员来执行。

(2)输入学生信息时,要求学生信息完整。

(3)登录时要求输入用户名和匹配的密码。

4.系统需求

(1)本系统只有输入正确的用户名和密码,才能进入系统。

(2)但凡进入系统的人,都可以执行各种操作。

三.数据设计

(一)数据流图

图2.1学生信息管理系统的顶层数据流图

 

根据基本系统模型,对其逐步细化,得到描述逻辑系统细化后的数据流图,如图2.2所示。

图2.2学生信息管理系统的0层数据流图

(二)数据字典

数据项

有了系统的数据流图后,还有相当多的数据信息如学生具体信息需要进一步描述,这就是需要定义数据字典,才能把现有的系统描述清楚。

图2.3列出了系统的主要数据字

1.数据项:

学号

含义说明:

唯一识别学生的号码

别名:

学生证号

类型:

字符型

长度:

10

取值范围:

0000000000—9999999999

取值含义:

前四位表示班级号、中间四位表示专业代码、后两位表示学生编号

与其他数据项的逻辑关系:

标识项

2.数据项:

姓名

含义说明:

学生的名称

类型:

字符型

长度:

10

取值范围:

所有汉字

3.数据项:

性别

含义说明:

识别学生性别

类型:

字符型

长度:

2

取值范围:

男、女

4.数据项:

专业

含义说明:

表示该生所学的专业

类型:

字符型

长度:

30

5.数据项:

年级

含义说明:

该表该生所在的年级

类型:

字符型

长度:

20

6.数据项:

出生

含义说明:

该表该生出生年月

类型:

字符型

长度:

4

取值范围:

无(eg:

1994.03.24)

7.数据项:

用户

含义说明:

是否有登录的权限

类型:

字符型

长度:

10

数据结构

1.数据结构:

学生

含义说明:

是学生信息管理系统的主要数据,定义了一个学生的有关信息

组成:

姓名、学号、性别、专业、年级、出生

2.数据结构:

用户

含义说明:

是学生信息管理系统的数据,定义了有关用户的信息

组成:

用户名、密码

数据流

1.数据流:

登录信息

说明:

用户用来登录学籍系统的用户学生信息

数据流来源:

用户

数据流去向:

用户信息认证

组成:

用户名

2.数据流:

学生信息查询结果

说明:

用户查看学生信息后得到的结果

数据流来源:

查询学生信息

数据流去向:

用户

组成:

姓名、学号、性别、专业、年级、出生

数据存储

1.数据存储:

学生信息数据

说明:

记录所有学生的学生信息资料库

流入数据流:

相关人员输入

流出数据流:

学生查询学生信息

数据量:

由信息详细情况而定

存取方式:

随机存取

5.数据存储:

用户登录信息数据

说明:

用户的登录信息

流入数据流:

管理员输入或用户输入

流出数据流:

验证用户信息

数据量:

由用户登录多少决定

存取方式:

随机存取

处理过程

1.处理过程:

查询学生信息

说明:

用户获得所查学生信息

输入:

选择查询学生信息功能

输出:

查询结果

处理:

用户进入系统后,选择查询学生信息功能,获得相应信息

2.处理过程:

添加学生信息

说明:

用户添加学生信息

输入:

选择添加学生信息功能

输出:

添加成功

处理:

用户进入系统后,选择添加学生信息功能

3.处理过程:

删除所查学生信息

说明:

用户删除学生信息

输入:

选择删除学生信息功能

输出:

删除结果

处理:

用户进入系统后,选择删除学生信息功能

4.处理过程:

修改学生信息

说明:

学生修改学生信息

输入:

选择修改学生信息功能

输出:

修改结果

处理:

用户进入系统后,选择修改学生信息功能

学生基本信息表(Student)

数据类型

特殊属性

描述

String

不为空

姓名

String

不为空

学号

String

不为空

性别

String

不为空

专业

String

不为空

年级

String

不为空

出生

表3.1学生信息基本表

四.功能设计

(一)本系统的主要功能

运行该系统成功后,会出现一个登录的界面,输入正确的用户名后,会出现一个主界面,上面有5个子菜单分别是添加、修改、查询、删除和退出。

点击它们会出现不同的界面,分别有不同的功能:

1.StudentMessage.java

该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。

2.Add.java

该类创建的对象是StudentManager类的重要成员之一,负责提供添加学生基本信息的界面。

3.Xiu.java

该类创建的对象是StudentManager类的重要成员之一,负责提供查询和修改学生基本信息的界面。

4.Shan.java

该类创建的对象是StudentManager类的重要成员之一,负责提供删除学生基本信息的界面。

5.Cha.java

创建的对象是StudentManager类的重要成员之一,该类负责提供查询学生基本信息的界面。

6.Login1.java

该类创建的对象是StudentManager类的重要成员之一,该类负责用户登录时的检验。

本系统是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。

(二)Java源文件及其功能

1.admin.txt

该文件为登录提供登录的用户名,Login1调用该文件。

2.student.txt

该文件为添加、修改、查询、删除操作提供学生信息,Add,Shan,Cha和Xiu调用该文件。

 

(三)详细设计

1.主类StudentManager

成员变量描述

变量类型

名称

按钮

JButton

b1(添加)

按钮

JButton

b2(删除)

按钮

JButton

b3(修改)

按钮

JButton

b4(查询)

按钮

JButton

b5(退出)

面板容器

JPanel

Jp

表4.1主要成员变量(属性)

方法名称

返回类型

功能

备注

Studentmessage

无类型

创建窗口

构造方法

main

无类型

执行程序

程序的主函数

表4.2主要方法

2.类Add

成员变量描述

变量类型

名称

ArrayList

ArrayList

a

单行文本

JTextField

学号、姓名、专业、年级、出生、性别

标题

JLable

学号、姓名、专业、年级……

面板容器

JPanel

Jp

按钮

JButton

确定、清空、返回

表4.3主要成员变量(属性)

方法名称

返回类型

功能

备注

Add

无类型

创建添加学生信息界面

构造方法

表4.4主要方法

3.类Cha

成员变量描述

变量类型

名称

ArrayList对象类型

ArrayList

a

面板容器

JPanel

Jp

按钮

JButton

确定、清空、返回

标题

JLable

请输入内容:

单行文本

JTextField

NULL

多行文本框

JTextArea

NULL

滚动条

JScrollPane

NULL

表4.5主要成员变量(属性)

方法名称

返回类型

功能

备注

Cha

无类型

创建查找学生信息界面

构造方法

readDate

无类型

读取studen.txt中的数据

Js

无类型

执行查找

表4.6主要方法

4.类Shan

成员变量描述

变量类型

名称

ArrayList对象类型

ArrayList

a

面板容器

JPanel

Jp

按钮

JButton

确定、清空全部数据、返回

标题

JLable

请输入要删除的……

单行文本

JTextField

NULL

表4.7主要成员变量(属性)

方法名称

返回类型

功能

备注

Shan

无类型

创建删除学生信息界面

构造方法

readDate

无类型

读取studen.txt中的数据

Delete

无类型

执行删除

表4.8主要方法

5.类Xiu

成员变量描述

变量类型

名称

ArrayList对象类型

ArrayList

a

面板容器

JPanel

Jp

按钮

JButton

查找、修改、返回

标题

JLable

学号、姓名、专业、年级……

单行文本

JTextField

学号、姓名、专业、年级……

表4.9主要成员变量(属性)

方法名称

返回类型

功能

备注

Xiu

无类型

创建修改学生信息界面

构造方法

readDate

无类型

读取studen.txt中的数据

Pc

无类型

执行修改后保存

Cx

无类型

执行查询并显示在框中

表4.10主要方法

6.类Login1

成员变量描述

变量类型

名称

ArrayList对象类型

ArrayList

a

面板容器

JPanel

Jp

按钮

JButton

确定

标题

JLable

请输入用户名:

单行文本

JTextField

NULL

密码框

JPasswordField

passWord

表4.11主要成员变量(属性)

方法名称

返回类型

功能

备注

Login1

无类型

创建登录学生信息界面

构造方法

readDate

无类型

读取studen.txt中的数据

Log

无类型

执行查询是否有该用户

表4.12主要方法

(四)结构图及流程图

1.学生信息系统结构图

图4.1学生信息系统结构图

2.添加学生信息

图4.2添加学生信息流程图

3.删除学生信息

图4.3删除学生信息流程图

4.修改学生信息

图4.4删除学生信息流程图

5.查询学生信息

图4.5删除学生信息流程图

6.登录

图4.6登录学生信息系统流程图

五.程序的主要界面、代码实现

(一)登录界面

图5.1登录界面

源代码:

classLogin1extendsJFrame{

JLabell1=newJLabel("用户名:

");

JLabell3=newJLabel("欢迎登录学生信息管理系统!

");

JLabell2=newJLabel("密码:

");

JPasswordFieldpassWord=newJPasswordField();

JButtonb1=newJButton("确定");

JTextFieldjtf=newJTextField(150);

ArrayLista=newArrayList();

JPaneljp=newJPanel();

publicLogin1(){

Fontf=newFont("黑体",Font.BOLD,15);//修改字体

l3.setFont(f);//修改字体

jp.add(l3);

jp.add(l1);

jp.add(jtf);

jp.add(l2);

jp.add(passWord);

jp.add(b1);

getContentPane().add(jp);

jp.setLayout(null);

intx=0,y=0;

l3.setBounds(x+60,y+10,350,30);

l1.setBounds(x+70,y+50,200,30);

jtf.setBounds(x+130,y+60,80,25);

l2.setBounds(x+70,y+100,200,40);

passWord.setBounds(x+130,y+105,80,25);

b1.setBounds(x+100,y+170,70,25);

setSize(300,300);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setTitle("学生信息管理系统登录");

setVisible(true);

b1.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEventae)

{

log();

}

}

);//查询是否有该用户

}

voidreadDate()

{

try{

Scannersc=newScanner(newFile("admin.txt"));

while(sc.hasNextLine())//一行一行的读取

{

Stringtemp=sc.nextLine();

a.add(temp);//txt中的所有数据,逐行将数据加载到ArrayList中

}

}

catch(Exceptionex){

}

}

publicvoidlog()

{

a.clear();

readDate();

booleanflag=true;

if(jtf.getText().equals(""))

{

JOptionPane.showMessageDialog(null,"用户名不能为空!

");

}elseif(passWord.getText().equals(""))

{

JOptionPane.showMessageDialog(null,"密码不能为空!

");

}else

{

Stringsh=jtf.getText();

Stringsh2=passWord.getText();

for(inti=0;i

{

Stringstr=(String)a.get(i);

if(str.indexOf(sh)>=0&&str.indexOf(sh2)>=0)

{

flag=false;

dispose();

StudentMessages=newStudentMessage();

}

}

if(flag)

{JOptionPane.showMessageDialog(null,"密码错误");

jtf.setText(null);

passWord.setText(null);}

}

}

}

(二)主界面

图5.2主界面

源代码:

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

publicclassStudentMessageextendsJFrame{

CInsteadc1=newCInstead();

Containerc;

JButtonb1;

JButtonb2;

JButtonb3;

JButtonb4;

JButtonb5;

JLabeltail;

publicStudentMessage(){

setContentPane(c1);

c=getContentPane();

Fontf=newFont("隶书",Font.BOLD,20);//修改字体

b1=newJButton("添加");

b2=newJButton("删除");

b3=newJButton("修改");

b4=newJButton("查询");

b5=newJButton("退出");

tail=newJLabel("学生信息管理系统");

tail.setFont(f);//修改字体

JPaneljp=newJPanel();

c.add(tail);

c.add(b1);

c.add(b2);

c.add(b3);

c.add(b4);

c.add(b5);

c.setLayout(null);

intx=0,y=0;

tail.setBounds(x+80,y+30,200,40);

b1.setBounds(x+120,y+90,70,25);

b2.setBounds(x+120,y+140,70,25);

b3.setBounds(x+120,y+190,70,25);

b4.setBounds(x+120,y+240,70,25);

b5.setBounds(x+120,y+290,70,25);

setSize(330,450);

show();

setTitle("学生信息管理系统");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

b5.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEventae)

{System.exit(0);}

}

);//关闭

b4.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEventae)

{Chac=newCha();}

}

);//查询

b1.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEventae)

{Addc=newAdd();}

}

);//添加

b2.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEventae)

{Shanc=newShan();}

}

);//删除

b3.addActionListener(

newActionListener(){

publicvoidactionPerformed(ActionEventae)

{Xiuc=newXiu();}

}

);//修改

setVisible(true);

}

publicstaticvoidmain(String[]args){

Login1n=newLogin1();

}

classCInsteadextendsJPanel

{

ImageIconicon;

Imageimg;

publicCInstead()

{

icon=newImageIcon(StudentMessage.class.getResource("12.jpg"));

img=icon.getImage();

}

publicvoidpaintComponent(Graphicsg)

{

super.paintComponent(g);

g.drawImage(img,0,0,null

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

当前位置:首页 > 工程科技 > 交通运输

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

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