学生信息管理.docx

上传人:b****5 文档编号:8569185 上传时间:2023-01-31 格式:DOCX 页数:26 大小:284.77KB
下载 相关 举报
学生信息管理.docx_第1页
第1页 / 共26页
学生信息管理.docx_第2页
第2页 / 共26页
学生信息管理.docx_第3页
第3页 / 共26页
学生信息管理.docx_第4页
第4页 / 共26页
学生信息管理.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

学生信息管理.docx

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

学生信息管理.docx

学生信息管理

目录

1问题定义1

2可行性研究1

2.1系统流程图1

2.2高层数据流图2

2.3可行性分析2

2.3.1技术可行性2

2.3.2操作可行性2

2.3.3经济可行性3

2.4开发计划3

3需求分析3

3.1ER图3

3.2细化的数据流图4

3数据字典5

3.4状态转换图6

4概要设计7

4.1系统层次图7

4.2IPO表8

4.3数据库设计9

5详细设计11

5.1人机界面设计11

5.2过程设计12

5.2.1登录窗口模块代码13

5.2.2主操作窗口模块代码13

5.2.3用户界面代码15

5.2.4用户添加,删除模块代码16

6测试报告18

6.1界面设计18

6.2用户管理19

6.2.1添加用户模块19

6.2.2删除用户模块20

7总结21

参考文献21

1问题定义

关于系统规模和目标的报告书

项目名称:

学生信息管理系统

问题:

在信息化高速发展的今天,学生信息管理系统在学校的管理方面已经不可或缺,但是现在学校信息改版量大,系统扩展能力差,所以一套功能完备,操作方便的学生信息管理系统应运而生。

项目目标:

制作一个功能完备的学生信息管理系统,包括用户管理,学生信息的添加,删除,修改,查询,显示全部学生信息等功能。

项目规模:

此项目属于小型网站项目。

初步设想:

运用Java技术实现对学生信息的基本操作。

2可行性研究

2.1系统流程图

 

图2-1学生信息管理系统流程图

2.2高层数据流图

图2-2学生信息管理系统数据流图

2.3可行性分析

2.3.1技术可行性

本系统是围绕数据库进行操作。

数据库操作主要是数据的增,删,改,查。

所以很容易掌握这些数据库操作的基本语法。

在运行平台方面,基于MyEclipse和Tomcat服务器,在浏览器中解释执行。

所以在技术上可以完成此项目。

2.3.2操作可行性

本系统采用基于浏览器的Web程序,而该系统是大家熟悉的操作系统Windows系统,对于那些有一般计算机知识的人员就可以轻松操作,界面很熟悉。

在系统移植性问题上,本系统采用java语言编写,本身就具有强大的可移植性,并且不需要附带共享库,理论上可以免安装就可以投入使用。

此外,本系统内部部分模块进行过出错处理,因此,系统具有一定的容错能力。

因此,该系统的操作可行性是比较完善的,有必要开发该系统。

2.3.3经济可行性

学生信息管理系统是针对在校学生的信息统计操作而产生的。

学校对于如此庞大的生源信息必然要使用一种方便快捷的操作环境,所以对于学校而言,完全有能力和需求去承担该系统的开发。

开发新系统的工作是一项艰巨复杂的工作,它的投入主要是人力和物力的投资。

对于本系统的开发者来说,其主要的投资还是人力和物力两个方面,在系统的开发过程中,学校完全有能力承担开发费用。

因此经济可行性是可以通过的。

2.4开发计划

人事档案管理系统的粗略计划

阶段

要用的时间(天)

可行性研究

1

需求分析

3

概要设计

2

详细设计

2

实现

2

总计

10

3需求分析

3.1ER图

图3-1学生信息管理系统ER图

3.2细化的数据流图

 

图3-2细化的数据流图

 

3数据字典

名称:

学生信息

别名:

学生

描述:

学生的各项基本信息

定义:

学生信息=学号+姓名+性别+民族+年龄

+年级+班级+专业

学号=10{字符}10

姓名=10{字符}10

民族=10{字符}10

性别=[1|2]

年龄=10{字符}10

年级=10{字符}10

班级=10{字符}10

专业=10{字符}10

位置:

学生信息数据库,输出到程序界面

 

 

3.4状态转换图

 

图3-4学生信息管理系统状态转换图

4概要设计

4.1系统层次图

图4-1系统层次图

 

4.2IPO表

IPO表

系统:

学生信息管理

模块:

添加用户

编号:

1.1

作者:

闫斌斌

日期:

2011.7.7

被调用:

用户管理1.0

调用:

输入:

用户名X

密码Y

输出:

新用户信息

处理:

IFX存在;

THEN{重新输入用户名,密码}·

局部数据元素:

密码Y

注释:

 

图4-2

(1)添加模块的IPO表

 

IPO表

系统:

学生信息管理

模块:

删除用户

编号:

1.2

作者:

闫斌斌

日期:

2011.7.7

被调用:

用户管理1.0

调用:

输入:

用户名X

输出:

新用户信息

处理:

IFX存在;

THEN{重新输入用户名}

局部数据元素:

密码Y

注释:

图4-2

(2)删除用户模块的IPO表

 

4.3数据库设计

此系统中为员工信息涉及一个名为:

学生管理数据库的数据库,数据库中包含一个名为管理员的表和一个名为学生信息表的表。

二个表含有10个字段,用来保存各项信息。

表一为:

用户名

密码

表设计如图:

 

图4-3学生管理数据库管理员表设计

 

表二为:

学号

姓名

性别

民族

年龄

年级

班级

专业

 

图4-3学生管理数据库学生信息表设计

5详细设计

5.1人机界面设计

图5-1

(1)登陆界面图

 

图5-1

(2)主操作窗口界面图

 

图5-1(3)用户管理窗口界面

5.2过程设计

图5-2

(1)添加用户模块的N-S图

图5-2

(2)删除用户模块的N-S图

5.2.1登录窗口模块代码

publicloginFrame(){

p=newJPanel();

user=newJTextField(10);

pass=newJTextField(10);

login=newJButton("登录");

cancel=newJButton("退出");

user.setText("admin");

pass.setText("admin");

login.addActionListener(this);

cancel.addActionListener(this);

p.add(newJLabel("账号"));

p.add(user);

p.add(newJLabel("密码"));

p.add(pass);

p.add(login);

p.add(cancel);

this.add(p);

this.setTitle("系统登录");

this.setSize(180,130);

}

5.2.2主操作窗口模块代码

publicmainFrame(){

myMenuFile=newMenu("文件");

miNew=newMenuItem("新建");

miOpen=newMenuItem("打开");

miSave=newMenuItem("保存");

miExit=newMenuItem("退出");

//miNew.enable(false);

//miOpen.enable(false);

//miSave.enable(false);

//myMenuFile.add(miNew);

//myMenuFile.add(miOpen);

//myMenuFile.add(miSave);

myMenuFile.add(miExit);

myMenuEdit=newMenu("数据编辑");

miFind=newMenuItem("查找数据");

miAdd=newMenuItem("添加数据");

miEdit=newMenuItem("修改数据");

miDel=newMenuItem("删除数据");

miShow=newMenuItem("全部显示");

myMenuEdit.add(miFind);

myMenuEdit.add(miAdd);

myMenuEdit.add(miEdit);

myMenuEdit.add(miDel);

myMenuEdit.add(miShow);

myMenuUser=newMenu("用户");

miUser=newMenuItem("编辑用户");

myMenuUser.add(miUser);

myMenuAbout=newMenu("我的作业");

miAbout=newMenuItem("作业说明");

myMenuAbout.add(miAbout);

myMenuBar.add(myMenuFile);

myMenuBar.add(myMenuEdit);

myMenuBar.add(myMenuUser);

myMenuBar.add(myMenuAbout);

String[]col={"学号","姓名","性别","民族","年龄","年级","班级","专业"};//创建属性列名

mm=newDefaultTableModel(col,0);

table.setModel(mm);

JScrollPanetableScrollPane=newJScrollPane(table);

this.setMenuBar(myMenuBar);

this.add(tableScrollPane);

miExit.addActionListener(this);

miFind.addActionListener(this);

miAdd.addActionListener(this);

miEdit.addActionListener(this);

miDel.addActionListener(this);

miShow.addActionListener(this);

miUser.addActionListener(this);

miAbout.addActionListener(this);

}

5.2.3用户界面代码

publicuserFrame(){

p1=newJPanel();

p2=newJPanel();

p3=newJPanel();

p4=newJPanel();

p5=newJPanel();

user=newJTextField(8);

pass=newJTextField(8);

add=newJButton("添加");

del=newJButton("删除");

String[]col={"用户名","密码"};

m=newDefaultTableModel(col,0);

t=newJTable();

t.setModel(m);

JScrollPanesp=newJScrollPane(t);

p1.add(newJLabel("用户名"));

p1.add(user);

p1.add(newJLabel("密码"));

p1.add(pass);

p1.add(add);

p2.add(sp);

p3.add(del);

add.addActionListener(this);

del.addActionListener(this);

myConnectionconn=newmyConnection();

ResultSetrs;

rs=conn.getResult("select*from管理员");

if(rs!

=null){

try{

//m.setRowCount(0);

//table.setModel(mm);

while(rs.next()){

String用户名=rs.getString("用户名");

String密码=rs.getString("密码");

String[]cloumns={用户名,密码};

m.addRow(cloumns);

}

t.setModel(m);

}catch(Exceptione){

System.out.println(e.toString());

}

}

this.add(p1,BorderLayout.NORTH);

this.add(p2,BorderLayout.CENTER);

this.add(p3,BorderLayout.SOUTH);

this.add(p4,BorderLayout.WEST);

this.add(p5,BorderLayout.EAST);

this.setTitle("用户管理");

this.setSize(600,400);

}

5.2.4用户添加,删除模块代码

publicvoidactionPerformed(ActionEvente){

//添加

if(e.getSource()==add){

if(user.getText().toString().equals("")){

JOptionPane.showMessageDialog(null,"请输入用户名","温馨提示",JOptionPane.INFORMATION_MESSAGE);

}elseif(pass.getText().toString().equals("")){

JOptionPane.showMessageDialog(null,"请输入密码","温馨提示",JOptionPane.INFORMATION_MESSAGE);

}else{

myConnectionconn=newmyConnection();

ResultSetrs;

try{

rs=conn.getResult("select*from管理员where用户名='"+user.getText().toString()+"'");

if(rs.next()){

JOptionPane.showMessageDialog(null,"此用户已经存在","温馨提示",JOptionPane.INFORMATION_MESSAGE);

}else{

if(conn.executeSql("insertinto管理员values('"+user.getText().toString()+"','"+pass.getText().toString()+"')")){

String[]newUser={user.getText(),pass.getText()};

m.addRow(newUser);

t.setModel(m);

JOptionPane.showMessageDialog(null,"添加成功","温馨提示",JOptionPane.INFORMATION_MESSAGE);

}else{

JOptionPane.showMessageDialog(null,"添加失败","温馨提示",JOptionPane.INFORMATION_MESSAGE);

}

}

}catch(Exceptioner){

System.out.println(er.toString());

}

}

//删除

}elseif(e.getSource()==del){

if(t.getSelectedRow()==-1){

JOptionPane.showMessageDialog(null,"请选择你要删除的行","温馨提示",JOptionPane.INFORMATION_MESSAGE);

}else{

Stringsql="deletefrom管理员where用户名='"+t.getValueAt(t.getSelectedRow(),0)+"'";

//JOptionPane.showMessageDialog(null,sql,"温馨提示",JOptionPane.INFORMATION_MESSAGE);

myConnectionconn=newmyConnection();

if(conn.executeSql(sql)){

m.removeRow(t.getSelectedRow());

t.setModel(m);

//t.removeRowSelectionInterval();

JOptionPane.showMessageDialog(null,"成功删除","温馨提示",JOptionPane.INFORMATION_MESSAGE);

}else{

JOptionPane.showMessageDialog(null,"未知错误","删除失败",JOptionPane.INFORMATION_MESSAGE);

}

}

}

}

}

6测试报告

6.1界面设计

图6-1

(1)登陆界面图

 

图6-1

(2)主操作窗口界面图

 

图6-1(3)用户管理窗口界面

6.2用户管理

6.2.1添加用户模块

输入用户名,密码分别为:

11,11显示如下

图6-2

(1)显示添加界面

单击添加后显示

图6-2

(2)单击添加按钮后显示

6.2.2删除用户模块

选中删除用户行,显示如下

图6-2(3)选中删除行显示

单击删除按钮后显示如下

图6-2(3)单击删除按钮后显示

7总结

在本次课程设计中,我体会颇多,学到很多东西。

我加强了对Java的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。

从而对Java又有了更深入的认识!

在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,比如需求分析、总体设计、程序模块设计(含功能需求、用户界面设计、程序代码设计与分析、运行结果)、系统使用说明等。

设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。

特别是学会了在Java集成开发环境中如何调试程序的方法。

当然,老师的悉心指导和同学的帮助也是不可忽视的,在此感谢本次课程设计中所有辅导老师对我的关心和帮助,诚心诚意感谢他们对我的鼓励与教导,是她们在我迷茫的时候给了我些许提示,激发了我编程的灵感;还有,我在此也十分感谢本次课程设计中同学们对我的帮助,是他们让我有信心坚持做下来,在此感谢他们!

参考文献

[1]张海藩编著.软件工程导论(第5版).北京:

清华大学出版社,2008

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

当前位置:首页 > 初中教育

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

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