完整word版java编写的简单的学生信息管理系统源码需求分析.docx

上传人:b****6 文档编号:6270234 上传时间:2023-01-05 格式:DOCX 页数:23 大小:185.72KB
下载 相关 举报
完整word版java编写的简单的学生信息管理系统源码需求分析.docx_第1页
第1页 / 共23页
完整word版java编写的简单的学生信息管理系统源码需求分析.docx_第2页
第2页 / 共23页
完整word版java编写的简单的学生信息管理系统源码需求分析.docx_第3页
第3页 / 共23页
完整word版java编写的简单的学生信息管理系统源码需求分析.docx_第4页
第4页 / 共23页
完整word版java编写的简单的学生信息管理系统源码需求分析.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

完整word版java编写的简单的学生信息管理系统源码需求分析.docx

《完整word版java编写的简单的学生信息管理系统源码需求分析.docx》由会员分享,可在线阅读,更多相关《完整word版java编写的简单的学生信息管理系统源码需求分析.docx(23页珍藏版)》请在冰豆网上搜索。

完整word版java编写的简单的学生信息管理系统源码需求分析.docx

完整word版java编写的简单的学生信息管理系统源码需求分析

学生信息管理系统

一、需求分析

1、可行性分析

知识爆炸的时代里,求学的人数越来越多,但学校的数量及学校所能提供的资源很有限。

为优化管理学生的人力资源,设计了这个系统。

2、任务概述

1)目标

在计算机网络,数据库和先进的开发平台上,利用现有

的软件、硬件资源,开发一个具有开放体系结构的,

易扩充的,易维护的,具有良好人机交互界面的学

生信息管理系统。

2)需求要求

这个简单的学生信息管理系统包括以下两个基本功能:

·管理员登陆

·学生信息管理

二、层次图

三、界面预览

登录界面

该管理员不存在

学生信息管理界面

填写学生信息

录入学生信息

按学号进行查询

查询后可以进行信息的修改

学生信息的删除

显示全部学生信息

四、系统说明

1该系统并未使用数据库,只是把信息存放在了一个新建立的文本文档中

2关于管理员信息,必须现在C盘建立一个名为Login的文本文档,在Login中存入用户名和密码且必须分行写入

3若要修改学生信息必须先进行信息的查询,查询后方可进行信息修改

五、源代码

登录界面源代码

importjava.awt.event.*;

importjavax.swing.*;

importjava.awt.*;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileReader;

importjava.io.IOException;

importjava.util.*;

importjava.sql.*;

classLoginextendsJFrameimplementsActionListener

{Containercp=null;

Stringname=null;

Stringpsw=null;

JFramef=null;

JButtonj1,j2;

JTextFieldt1;

JPasswordFieldt2;

JLabeljlable1,jlable2;

Colorc;

JPaneljp1,jp2;

Login(){

f=newJFrame("学生管理系统");

j1=newJButton("确定");

j2=newJButton("取消");

cp=f.getContentPane();

jlable1=newJLabel("输入用户名");

jlable2=newJLabel("用户密码");

jp1=newJPanel();

jp2=newJPanel();

t1=newJTextField(18);

t2=newJPasswordField(18);

jp1.add(jlable1);

jp1.add(t1);

jp1.add(jlable2);

jp1.add(t2);

JLabelJL=newJLabel("欢迎进入学生管理系统",SwingConstants.CENTER);

cp.add(JL,"North");

jp2.add(j1);

jp2.add(j2);

cp.add(jp1,"Center");

cp.add("South",jp2);

jp1.setBackground(Color.lightGray);

Toolkitkit=Toolkit.getDefaultToolkit();

Dimensionscreen=kit.getScreenSize();

intx=screen.width;/*取得显示器窗口的宽度*/

inty=screen.height;/*取得显示器窗口的高度*/

//setSize(x,y);/*让系统窗口平铺整个显示器窗口*/

f.setSize(300,300);

intxcenter=(x-300)/2;

intycenter=(y-300)/2;

f.setLocation(xcenter,ycenter);/*显示在窗口中央*/

f.setVisible(true);

//-----------------------------------------------------

j1.addActionListener(this);//注册事件监听器

j2.addActionListener(this);

f.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

}

);

}

publicvoidconfirm()throwsIOException//验证用户和密码是否存在

{

Filefile=newFile("C:

//Login.txt");

try{

if(!

file.exists())

file.createNewFile();

}catch(IOExceptione){

e.printStackTrace();

}

BufferedReaderbr=newBufferedReader(newFileReader(file));

Stringtemp=br.readLine();

Stringline;

while((line=br.readLine())!

=null){

temp+=","+line;

}

if(temp==null){

System.out.println();

}else{

///分割字符串

String[]str=temp.split(",");

name=str[0];

psw=str[1];

if(t1.getText().trim().equals(name)&&t2.getText().trim().equals(psw)){

newTest();

f.hide();

br.close();

}else{

JOptionPane.showMessageDialog(null,"该用户不存在","提示!

",

JOptionPane.YES_NO_OPTION);

}

t1.setText("");

t2.setText("");

//for(inti=0;i>str.length;i++){

//System.out.println(str[i]);

//}

}

}

publicvoidactionPerformed(ActionEvente)

{

Stringcmd=e.getActionCommand();

if(cmd.equals("确定")){

try{

confirm();

}catch(IOExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

}

elseif(cmd.equals("取消")){

f.dispose();

}

}

publicstaticvoidmain(String[]arg){

Logina=newLogin();

}

}

学生信息管理界面源代码

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

classStudentimplementsjava.io.Serializable{

Stringnumber,name,specialty,grade,borth,sex;

publicStudent(){};

publicvoidsetNumber(Stringnumber){this.number=number;}

publicStringgetNumber(){returnnumber;}

publicvoidsetName(Stringname){this.name=name;}

publicStringgetName(){returnname;}

publicvoidsetSex(Stringsex){this.sex=sex;}

publicStringgetSex(){returnsex;}

publicvoidsetSpecialty(Stringspecialty){this.specialty=specialty;}

publicStringgetSpecialty(){returnspecialty;}

publicvoidsetGrade(Stringgrade){this.grade=grade;}

publicStringgetGrade(){returngrade;}

publicvoidsetBorth(Stringborth){this.borth=borth;}

publicStringgetBorth(){returnborth;}

}

publicclassTestextendsJFrame{

JLabellb=newJLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询"+

"内容改后的保存!

");

JTextField学号,姓名,专业,年级,出生;

JRadioButton男,女;

ButtonGroupgroup=null;

JButton录入,查询,删除,修改,显示;

JPanelp1,p2,p3,p4,p5,p6,pv,ph;

Student学生=null;

Hashtable学生散列表=null;

Filefile=null;

FileInputStreaminOne=null;

ObjectInputStreaminTwo=null;

FileOutputStreamoutOne=null;

ObjectOutputStreamoutTwo=null;

publicTest(){

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

学号=newJTextField(10);

姓名=newJTextField(10);

专业=newJTextField(10);

年级=newJTextField(10);

出生=newJTextField(10);

group=newButtonGroup();

男=newJRadioButton("男",true);

女=newJRadioButton("女",false);

group.add(男);

group.add(女);

录入=newJButton("录入");

查询=newJButton("查询");

删除=newJButton("删除");

修改=newJButton("修改");

显示=newJButton("显示");

录入.addActionListener(newInputAct());

查询.addActionListener(newInquestAct());

修改.addActionListener(newModifyAct());

删除.addActionListener(newDeleteAct());

显示.addActionListener(newShowAct());

修改.setEnabled(false);

p1=newJPanel();

p1.add(newJLabel("学号:

",JLabel.CENTER));

p1.add(学号);

p2=newJPanel();

p2.add(newJLabel("姓名:

",JLabel.CENTER));

p2.add(姓名);

p3=newJPanel();

p3.add(newJLabel("性别:

",JLabel.CENTER));

p3.add(男);

p3.add(女);

p4=newJPanel();

p4.add(newJLabel("专业:

",JLabel.CENTER));

p4.add(专业);

p5=newJPanel();

p5.add(newJLabel("年级:

",JLabel.CENTER));

p5.add(年级);

p6=newJPanel();

p6.add(newJLabel("出生:

",JLabel.CENTER));

p6.add(出生);

pv=newJPanel();

pv.setLayout(newGridLayout(6,1));

pv.add(p1);

pv.add(p2);

pv.add(p3);

pv.add(p4);

pv.add(p5);

pv.add(p6);

ph=newJPanel();

ph.add(录入);

ph.add(查询);

ph.add(修改);

ph.add(删除);

ph.add(显示);

file=newFile("学生信息.txt");

学生散列表=newHashtable();

if(!

file.exists()){

try{

FileOutputStreamout=newFileOutputStream(file);

ObjectOutputStreamobjectOut=newObjectOutputStream(out);

objectOut.writeObject(学生散列表);

objectOut.close();

out.close();

}

catch(IOExceptione){}

}

Containercon=getContentPane();

con.setLayout(newBorderLayout());

con.add(lb,BorderLayout.NORTH);

con.add(pv,BorderLayout.CENTER);

con.add(ph,BorderLayout.SOUTH);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setBounds(100,100,600,300);

setVisible(true);

}

publicstaticvoidmain(String[]args){newTest();}

classInputActimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

修改.setEnabled(false);

Stringnumber="";

number=学号.getText();

if(number.length()>0){

try{

inOne=newFileInputStream(file);

inTwo=newObjectInputStream(inOne);

学生散列表=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}

catch(Exceptionee){System.out.println("创建散列表出现问题!

");}

if(学生散列表.containsKey(number)){

Stringwarning="该生信息已存在,请到修改页面修改!

";

JOptionPane.showMessageDialog(null,warning,"警告",

JOptionPane.WARNING_MESSAGE);

}//endif1

else{

Stringm="该生信息将被录入!

";

intok=JOptionPane.showConfirmDialog(null,m,"确认",

JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);

if(ok==JOptionPane.YES_OPTION){

Stringname=姓名.getText();

Stringspecialty=专业.getText();

Stringgrade=年级.getText();

Stringborth=出生.getText();

Stringsex=null;

if(男.isSelected()){sex=男.getText();}

else{sex=女.getText();}

学生=newStudent();

学生.setNumber(number);

学生.setName(name);

学生.setSpecialty(specialty);

学生.setGrade(grade);

学生.setBorth(borth);

学生.setSex(sex);

try{

outOne=newFileOutputStream(file);

outTwo=newObjectOutputStream(outOne);

学生散列表.put(number,学生);

outTwo.writeObject(学生散列表);

outTwo.close();

outOne.close();

}

catch(Exceptionee){System.out.println("输出散列表出现问题!

");}

学号.setText(null);

姓名.setText(null);

专业.setText(null);

年级.setText(null);

出生.setText(null);

}

}//endelse1

}//endif0

else{

Stringwarning="必须输入学号!

";

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE);

}//endelse0

}//endactionPerformed

}//endclass

classInquestActimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

Stringnumber="";

number=学号.getText();

if(number.length()>0){

try{

inOne=newFileInputStream(file);

inTwo=newObjectInputStream(inOne);

学生散列表=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}

catch(Exceptionee){System.out.println("散列表有问题!

");}

if(学生散列表.containsKey(number)){

修改.setEnabled(true);

Studentstu=(Student)学生散列表.get(number);

姓名.setText(stu.getName());

专业.setText(stu.getSpecialty());

年级.setText(stu.getGrade());

出生.setText(stu.getBorth());

if(stu.getSex().equals("男")){男.setSelected(true);}

else{女.setSelected(true);}

}

else{

修改.setEnabled(false);

Stringwarning="该学号不存在!

";

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE);

}

}

else{

修改.setEnabled(false);

Stringwarning="必须输入学号!

";

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE);

}

}

}

classModifyActimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

Stringnumber=学号.getText();

Stringname=姓名.getText();

Stringspecialty=专业.getText();

Stringgrade=年级.getText();

Stringborth=出生.getText();

Stringsex=null;

if(男.isSelected()){sex=男.getText();}

else{sex=女.getText();}

Student学生=newStudent();

学生.setNumber(number);

学生.setName(name);

学生.setSpecialty(specialty);

学生.setGrade(grade);

学生.setBorth(borth

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

当前位置:首页 > 表格模板 > 合同协议

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

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