学生学籍管理系统需求分析毕业论文.docx

上传人:b****6 文档编号:5278085 上传时间:2022-12-14 格式:DOCX 页数:50 大小:178.22KB
下载 相关 举报
学生学籍管理系统需求分析毕业论文.docx_第1页
第1页 / 共50页
学生学籍管理系统需求分析毕业论文.docx_第2页
第2页 / 共50页
学生学籍管理系统需求分析毕业论文.docx_第3页
第3页 / 共50页
学生学籍管理系统需求分析毕业论文.docx_第4页
第4页 / 共50页
学生学籍管理系统需求分析毕业论文.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

学生学籍管理系统需求分析毕业论文.docx

《学生学籍管理系统需求分析毕业论文.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统需求分析毕业论文.docx(50页珍藏版)》请在冰豆网上搜索。

学生学籍管理系统需求分析毕业论文.docx

学生学籍管理系统需求分析毕业论文

学生学籍管理系统需求分析毕业论文

第一章概述

1.1开发背景

由于时代的不断进步,科学技术、管理方法的不断进步,传统的办公方式、方法和手段已经不能适应现代化管理的需要,学籍管理的计算机化已成为高校管理现代化、决策科学化的一个重要环节,是开创学籍管理工作新局面的必由之路。

解决了原来手工的管理模式容易出错,易混淆,不容易保存的劣势,从而提高了学校的管理学生信息的工作效率。

使用计算机管理系统不仅可以简化学校传统的管理模式,使学校管理人员能够方便地利用学校部信息对学生个人基本信息进行全面管理,对学生在校档案、学生在校情况进行全面管理。

 

1.2开发环境

基于在大学现阶段的学习,和平时对开发软件系统的操作,在这里我使用了最常用的MicrosoftVisualStudio2010来开发整个系统。

1.3系统运行环境

MicrosoftVisualStudio2010Windows环境下单机运行

 

第二章需求分析

2.1功能需求

要求系统能完成:

(1)学生注册管理。

包括新生录入、学生注册、学生变动等管理。

(2)教学计划管理。

包括教学计划的录入、修改、查询和输出。

(3)学生成绩管理。

包括成绩录入,校对、查询和输出。

(4)毕业管理。

能根据教学计划自动完成毕业班学生的学分计算、审核、输出毕业生成绩登记表和毕业生名册。

2.2性能需求

学生学籍管理系统应满足一下性能需求:

1.系统处理的准确性和及时性

系统处理的准确性和及时性是系统的必要性能。

在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。

2.系统的开放性和系统的可扩充性

学生信息管理系统在开发过程中,应该充分考虑以后的可扩充性。

而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规,可以简单的加入和减少系统的模块,配置系统的硬件。

通过软件的修补、替换完成系统的升级和更新换代。

3.系统的易用性和易维护性

学生信息管理系统使用人员往往对计算机并不是非常熟悉。

这就要求系统能够提供良好的用户接口,易用的人机交互界面。

要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的帮助,缩短用户对系统熟悉的过程。

第3章可行性分析

由于本系统管理的对象单一,都是学生,且每个数据容具有较强的关联性,涉及的计算过程不是很复杂。

因此,比较适合于采用数据库管理。

在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。

本系统的设计是在Win7操作系统环境下,使用VisualStudio2010开发成功的。

VisualStudio具有以下特点:

3.1面向对象的程序设计

1、面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。

2、所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。

一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。

对象部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。

用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通信。

3、类可视为一个产品模具、一个模块。

在面向对象设计中,类是对象的原型,是对象的制作器。

类的概念是面向对象程序设计最重要的特征。

所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任一对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。

4、面向对象设计的核心是类的设计。

例如:

可以定义一个“成绩查询”类,该类中可以定义查询的、学号、班级等信息,则以此类为原型可以设计出众多的“成绩查询”类的对象实例,这些实体都具有类中所定义的特征。

第四章流程图

 

4.1登陆系统:

 

图3-1

4.2学生注册管理系统:

 

 

图3-2

 

4.3教学计划管理系统:

 

教学录入

添加教学信息

保存录入

取消录入

查询教学信息

修改教学信息

 

图3-3

 

4.4学生成绩管理系统:

 

1

学生成绩管理系统

2

 

 

图3-4

 

4.5毕业管理管理系统:

 

1

毕业管理系统

分析成绩判断毕业

2

显示毕业信息

未能毕业信息

显示毕业生名册

 

图3-5

 

第五章数据库设计

数据库在一个信息管理系统中占有非常重要的位置,数据库结构设计的好坏将直接对应用系统的效果产生影响。

合理的数据库设计可以提高数据库存储效率,保证数据的完整和一致。

同时合理的数据结构也将有利于程序的实现。

5.1ACCESS数据库的主要特征

MicrosoftAccess2000使您容易得到所需信息,并提供强大工具,可以帮助您组织和共享您的数据库,以便您和您的工作组能作出更好的决策。

快速找到可靠答案,通过Intranet共享信息,建立更快更有效的商业解决方案。

5.2数据库需求分析

用户信息:

包括的数据项有:

用户号、、密码、身份。

学生信息:

包括的数据项有:

学生学号、学生、性别、出生日期、班级名称、

入学年份、学籍编号、政治面貌编号、身份证号、民族编号、家庭地址、照片、照片名称等。

学籍代码表:

包括的数据项有:

学籍编号、学籍等。

成绩表:

包括的数据项有:

编号、学号、课程编号、成绩、考试性质编号等。

考试性质表:

包括的数据项有:

考试性质编号、考试性质等

课程信息:

包括的数据项有:

课程编号、课程名称、教师、学分、学时等

图4-1学生学籍管理系统数据流程图

5.3数据字典

在系统设计过程中,首先要建立的就是数据库。

本数据库采用SQLServer2000来构造,共使用了7个表,它们分别是用户信息表(UserInfo)、学生信息表(StuInfo)、班级信息表(Class)、专业信息表(Major)、学院信息表(Depart)、课程信息表(Lesson)、学生成绩表(Result)。

1.用户信息表(UserInfo):

 

字段名

数据类型

说明

是否为空

是否为关键字

UserID

文本

用户名

NotNull

PrimaryKey

UserPWD

文本

用户密码

NotNull

UserName

文本

NotNull

UserPower

文本

使用权限

NotNull

2.学生信息表(StuInfo):

字段名

数据类型

说明

是否为空

是否为关键字

SID

文本

学号

NotNull

PrimaryKey

SName

文本

NotNull

SGender

文本

性别

NotNull

SPlace

文本

籍贯

NotNull

SBirthday

日期/时间

出生日期

NotNull

SMinzu

文本

民族

NotNull

SZhengzhi

文本

政治面貌

NotNull

SDormitory

文本

寝室

NotNull

SAddress

文本

家庭住址

NotNull

SCode

文本

邮政编码

NotNull

STel

文本

联系

NotNull

SRemark

备注

备注

NotNull

3.班级信息表(Class):

字段名

数据类型

说明

是否为空

是否为关键字

ID

文本

班级代码

NotNull

PrimaryKey

4.专业信息表(Major):

字段名

数据类型

说明

是否为空

是否为关键字

ID

文本

专业代号

NotNull

PrimaryKey

Name

文本

专业名称

NotNull

5.学院信息表(Depart):

 

字段名

数据类型

说明

是否为空

是否为关键字

ID

文本

学院代号

NotNull

PrimaryKey

Name

文本

学院名称

NotNull

6.课程信息表(Lesson):

字段名

数据类型

说明

是否为空

是否为关键字

ID

文本

课程代号

NotNull

PrimaryKey

Name

文本

课程名称

NotNull

Time

文本

课时

NotNull

Mark

文本

学分

NotNull

7.学生成绩表(Result):

字段名

数据类型

说明

是否为空

是否为关键字

ID

文本

学生学号

NotNull

PrimaryKey

Name

文本

课程名称

NotNull

PrimaryKey

Score

文本

分数

NotNull

Remark

文本

备注

NotNull

 

第六章系统设计

6.1用户登陆模块的创建

系统管理模块主要实现:

●用户登录。

●注册用户。

6.1.1用户登陆

系统启动后,将首先出现如下所示的用户登陆窗体,用户首先输入用户名,然后输入密码。

用户登陆窗体中放置了两个文本框,用来输入用户名和用户密码。

两个按钮用来确定或者取消登陆。

2个标签用来标示窗体的信息。

为窗体定义全局变量,用来判断登陆是否成功,代码如下:

privatevoidbutton1_Click(objectsender,System.EventArgse)

{

if(textBox1.Text.Trim()==""||textBox2.Text.Trim()=="")

MessageBox(0,"请?

输?

入?

用?

户§名?

及°密ü码?

","登?

录?

失骸?

败悒?

0);

else

{

.Open();

OleDbCommandcmd=newOleDbCommand("",);

stringsql="selectRoleNamefromuserinfowherename='"+textBox1.Text.Trim()+"'andpasswd='"+textBox2.Text.Trim()+"'";

cmd.CommandText=sql;

stringrolename;

if(null!

=cmd.ExecuteScalar())

{

rolename=cmd.ExecuteScalar().ToString();

this.Visible=false;

MainFormmainfrm=newMainForm();

mainfrm.Tag=this.FindForm();

sql="select*fromRoleswhereRoleName='"+rolename+"'";

OleDbDataReaderdr;

cmd.CommandText=sql;

dr=cmd.ExecuteReader();

dr.Read();

mainfrm.menuItem16.Visible=(bool)(dr.GetValue

(1));

mainfrm.menuItem10.Visible=(bool)(dr.GetValue

(2));

mainfrm.menuItem1.Visible=(bool)(dr.GetValue(3));

mainfrm.menuItem2.Visible=(bool)(dr.GetValue(4));

mainfrm.menuItem3.Visible=(bool)(dr.GetValue(5));

mainfrm.menuItem4.Visible=(bool)(dr.GetValue(6));

mainfrm.statusBarPanel2.Text=textBox1.Text.Trim();

mainfrm.ShowDialog();

}

else

MessageBox(0,"用?

户§名?

或ò密ü码?

错洙?

误ó","登?

录?

失骸?

败悒?

0);

.Close();

}

}

}

6.1.2用户注册

用户可以通过点击注册按钮来注册账号,点击“注册”,出现如下所示的窗体

在这两个窗体中放置了三个文本框,用来输入用户名、新密码和确认密码。

两了按钮用来确定是否注册密码。

四个标签用来标示文本框的容,单击“注册”按钮,将触发Click事件判断是否注册成功,代码如下:

privatevoidbutton1_Click(objectsender,System.EventArgse)

{

if(textBox1.Text.Trim()==""||textBox2.Text.Trim()==""||textBox3.Text.Trim()==""||comboBox1.Text.Trim()=="")

MessageBox(0,"请?

填?

写′完?

整?

信?

息¢","提?

示?

",0);

else

{

if(textBox2.Text.Trim()!

=textBox3.Text.Trim())

MessageBox(0,"两?

次?

输?

入?

密ü码?

不?

一?

致?

","提?

示?

",0);

else

{

.Open();

OleDbCommandcmd=newOleDbCommand("",);

cmd.CommandText="select*fromuserinfowherename='"+textBox1.Text.Trim()+"'";

if(null==cmd.ExecuteScalar())

{

stringsql="insertintouserinfo(name,passwd,rolename)values('"+textBox1.Text.Trim()+"','"+textBox2.Text.Trim()+"','"+comboBox1.Text.Trim()+"')";

cmd.CommandText=sql;

cmd.ExecuteNonQuery();

MessageBox(0,"新?

用?

户§添?

加ó成é功|","提?

示?

",0);

}

else

MessageBox(0,"已?

有瓺"+textBox1.Text.Trim()+"用?

户§存?

在ú,?

请?

选?

择?

其?

他?

名?

称?

","提?

示?

",0);

.Close();

}

}

}

privatevoidbutton2_Click(objectsender,System.EventArgse)

{

this.Close();

}

privatevoidAddUser_Load(objectsender,System.EventArgse)

{

//MainForm.mainfrm.menuItem17.Enabled=false;

DataSetds=newDataSet();

OleDbDataAdapteradp=newOleDbDataAdapter("",);

adp.SelectCommand.CommandText="selectRoleNamefromRoles";

adp.Fill(ds);

comboBox1.DataSource=ds.Tables[0].DefaultView;

comboBox1.DisplayMember="RoleName";

comboBox1.ValueMember="RoleName";

}

6.2学生注册管理模块的创建

学生注册管理模块主要实现如下功能:

●学生注册

●学生变动

6.2.1学生注册

学生在成功登录系统后,点击“学生注册管理”可进行学生注册管理,出现如下所示的窗体

在这个窗体中放置了7个文本框,用来输入学号、、联系方式、民族、家庭住址、邮政编码和备注。

4个下拉菜单用来选择性别、政治面貌、专业和班级。

两了按钮用来确定是否添加学生。

代码如下:

privateByte[]getphoto(stringphotopath)

{

stringstr=photopath;

FileStreamfile=newFileStream(str,FileMode.Open,FileAccess.Read);

Byte[]bytBLOBData=newByte[file.Length];

file.Read(bytBLOBData,0,bytBLOBData.Length);

file.Close();

returnbytBLOBData;

}

privatevoidbutton1_Click(objectsender,System.EventArgse)

{

if(textBox1.Text.Trim()==""||textBox2.Text.Trim()==""||comboBox1.Text.Trim()==""||textBox4.Text.Trim()==""||textBox5.Text.Trim()==""||textBox6.Text.Trim()==""||comboBox2.Text.Trim()==""||textBox8.Text.Trim()==""||comboBox4.Text.Trim()=="")

MessageBox(0,"请?

填?

写′完?

整?

的?

学§生Θ?

信?

息¢","提?

示?

",0);

else

{

OleDbCommandcmd=newOleDbCommand("select*fromstudentinfowhereStudentNumber='"+textBox1.Text.Trim()+"'",oleDbConnection1);

if(null!

=cmd.ExecuteScalar())

MessageBox(0,"学§生Θ?

学§号?

重?

复′","提?

示?

",0);

else

{

stringsql1,sql2,sql;

sql1="insertintostudentinfo(StudentNumber,name,sex,race,address,telephone,role,postalcode,classid";

sql2="values('"+textBox1.Text.ToString()+"','"+textBox2.Text.ToString()+"','"+comboBox1.Text.Trim()+"','"+textBox4.Text.ToString()+"','"+textBox5.Text.ToString()+"','"+textBox6.Text.ToString()+"','"+comboBox2.Text.Trim()+"','"+textBox8.Text.ToString()+"',"+comboBox4.SelectedValue.ToString();

if(textBox10.Text.Trim()!

="")

{

sql1=sql1+",remark";

sql2=sql2+",'"+textBox10.Text.Trim()+"'";

}

if(this.pictureBox1.Image!

=null)

{

sql1=sql1+",Photo";

sql2=sql2+",?

";

Byte[]bytBLOBData=getphoto(openFileDialog1.FileName);

cmd.Parameters.Add(newOleDbParameter("jpeg",OleDbType.Binary,bytBLOBData.Length,ParameterDirection.Input,true,0,0,null,DataRowVersion.Default,bytBLOBData));

}

sql=sql1+")"+sql2+")";

cmd.CommandText=sql;

cmd.ExecuteNonQuery();

MessageBox(0,"学§生Θ?

信?

息¢添?

加ó成é功|","提?

示?

",0);

}

}

}

privatevoidtjxs_Load(objectsender,System.EventArgse)

{

oleDbConnection1.Open();

OleDbDataAdapteradp=newOleDbDataAdapter("selectspecialtynamefromspecialtyinfo",oleDbConnection1);

DataSetds=newDataSet();

adp.Fill(ds,"specialty");

comboBox3.DisplayMember="specialtyname";

comboBox3.ValueMember="specialtyname";

comboBox3.DataSource=ds.Tables[0].DefaultView;

}

privatevoidcomboBox3_SelectedIndexChanged(objectsender,System.EventArgse)

{

if(comboBox3.Text.Trim()!

="")

{

OleDbDataAdapteradp=newOleDbDataAdapter("selectclassid,classnam

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

当前位置:首页 > 高等教育 > 农学

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

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