学生信息管理系统.docx
- 文档编号:11459477
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:34
- 大小:218.20KB
学生信息管理系统.docx
《学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统.docx(34页珍藏版)》请在冰豆网上搜索。
学生信息管理系统
学生信息管理系统
1引言
项目背景
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
目前,在学校里,随着高校规模的不断扩大和招生人数的不断增加,需要处理大量的学生数据信息。
如何更好的组织学生信息,更加快捷的管理学生信息显得尤为的重要。
作为计算机应用的一部分,使用计算机对学生信息进行管理,有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。
我们为此开发了一套学生信息管理系统,本系统面向学校的教务人员,目的是为学校办公管理提供一个快速、简单规范的管理平台,使学院在学生信息管理方面更加规范化,快捷化。
项目目标
本章以学校的学生信息管理为依托,结合教务教学管理,设计并开发一个学生信息管理系统,提供一个信息更新快捷、管理方便、功能设置合理的学生信息管理解决方案。
针对学校大量的学生信息,就学生管理的几个方面,提供一个互动式的学生管理平台。
系统目标如下:
通过学生信息管理系统的实现,使学校的学生信息管理更加科学化。
提供灵活、方便的操作。
节约学生信息管理的成本,提高学校管理的效率。
对系统提供必要的权限管理。
为学校考核学生的综合素质提供必要的数据支持。
2需求分析
系统需求
在各大中专院校,学校的教务管理的主要内容包括学生的信息管理和教师排课,学生信息管理传统的手工管理主要包括学生档案管理,学生成绩管理。
其中学生信息管理对大数据量要求较高,而教师排课系统由于需要十分专业的算法并且系统需求不断的变化,因此在实际应用时,往往会遇到很大的问题,需要进一步研究,目前一般的学校管理系统都包含了学生信息管理的功能。
本系统不包含教师排课管理和教师管理的详细业务,只提供学生相关信息信息的查询。
功能需求
根据上述的信息管理系统的业务流程、要求以及所要实现的目标,我们可以拟出以下需求目标:
(1)建立学生档案的管理和维护。
实现计算机自动化管理体制。
(2)建立学生成绩管理机制,在计算机的支持下快速的完成学生成绩的查询和修改。
(3)建立课程设置管理,在计算机的支持下实现课程的添加、删除、修改。
(4)建立班级设置管理,在计算机的支持下实现班级的添加、删除和修改。
(5)实现系统的权限设置管理,保证系统安全性。
根据系统的需求分析,得到本系统的功能要求如下:
(1)班级、课程的设置管理:
学校的教务秘书可以根据本校具体情况在每学期开始时设置所需班级数量和人数。
并设置本学期的课程。
(2)权限管理:
为了很好的保证系统的安全性,学校相关负责人可以设置不同类型的人员的权限。
(3)学生档案管理:
学生档案的数量十分庞大,教务管理人员进行新生入学的档案录入及更改。
其中包括学生个人信息的修改。
(4)学生成绩管理:
教务管理人员可以查询和修改学生的历年考试成绩,掌握学生学习情况,作为评定学生素质的数据依据。
性能需求
系统的运行对于运行环境的要求是;
1.硬件环境
目前,我们所开发的系统主要是应用在中小规模的学校内部,因此,一般配置的计算机硬件就可以满足系统需求。
考虑到学校规模的扩大和硬件价格的降低,为本系统配置在较优秀的服务器硬件,可以充分发挥本系统性能。
处理器:
IntelPentium4GX或更高
内存:
256M(推荐)
硬盘空间:
40GB
显卡:
SVGA显示适配器
2.软件环境
操作系统:
Windows2000/XP
开发软件:
MicrosoftVisualStudio.NET2003
数据库:
MicrosoftSQLServer2000
3总体设计
设计思想与处理流程
本系统采用面向对象方法进行分析和设计,在SQLServer2000数据库上实现数据操作。
使用纯面向对象的C#语言作为开发语言,使用Windows2000作为开发平台,能够很好的实现系统的开发及测试。
系统的基本流程是:
用户登陆→主界面→选择各项子系统。
系统层次模块图
“学生信息管理系统”主要分为登录、新生信息录入、学生信息查询、更新学生信息、学生成绩录入、学生成绩查询、权限管理、密码管理、班级管理、课程管理等10个模块。
系统主模块功能树如图2-1所示:
学生信息管理系统
更新学生信息
学生成绩录入
学生成绩查询
登录
密码管理
权限管理
班级管理
课程管理
新生信息录入
学生信息查询
图2-1“学生信息管理系统”系统主模块功能树
模块设计
1.登录模块:
输入用户名称和密码,如果用户名、密码正确,进入主控制平台;否则给出错误信息提示。
2.系统维护模块:
权限管理子模块:
系统管理员进行用户权限设置和初始密码的设置。
密码修改子模块:
登陆系统用户可以随时修改自己的密码,保证密码的有效性和保密性。
班级管理子模块:
在新学期开始或每学期中间需要开设新的课程时可以在本模块进行班级的设置和维护。
课程设置子模块:
在每学期开始需要进行本学期需要开设课程的设置。
在某一课程发生变动时可以进行课程的维护,包括修改课程的名称、学分等,也可以删除某一课程。
3.学生信息管理模块:
新生信息录入子模块:
在每学年开始或中间可以进行学生信息的录入,包括学生的基本信息等。
学生信息查询子模块:
方便教务管理人员快速的查找某一学生。
分为按照学生的姓名进行查找和按照学生的所在班级名进行查找。
利于管理人员随时掌握学生信息。
更新学生信息子模块:
教务管理人员可以随时更改学生的某些信息,包括学生姓名、身份证号、班级等信息的更改。
4.学生成绩管理模块:
学生成绩录入子模块:
按照学生考试的时间和课程录入学生的考试成绩。
学生成绩查询子模块:
方便教务管理人员快速的查找某一学生的成绩。
分为按照学生的姓名进行查找和按照学生的所在班级名进行查找。
利于管理人员随时掌握学生考试信息。
5.帮助信息模块:
显示系统的开发版本和系统说明信息。
4数据库设计
1.SQLServer2000数据库建立过程
首先把SQLServer2000的“服务管理器”打开,鼠标左键单击“开始/继续”按钮,然后在“开始”→“程序”内选择“MicrosoftSQLServer”→“企业管理器”。
展开左边的程序树,如图2-2所示。
图2-2打开企业管理器
在“数据库”文件夹图标上单击鼠标右键,选择“新建数据库”,弹出新建数据库窗体,如图2-3所示。
图2-3新建数据库窗体
在“名称”文本框内,输入新建数据库的名称,在此输入“StuMagSys”,新建学生信息管理数据库。
其他选项默认即可。
然后,开始建立本系统需要的数据库表,方法如下:
首先,在新建的数据库上单击鼠标右键,选择“新建”→“表”,如图2-4所示。
图2-4新建表
然后,在弹出的窗体内输入表字段和类型以及长度和是否允许空等信息,如图2-5所示。
图2-5新建表窗体
输入完表字段后,为表的字段添加主键、约束和关系等,方法是在添加约束或关系的字段上单击鼠标右键,选择“设置主键”或“关系”等。
如图2-6所示。
图2-6创建主键
保存该表,命名为Student。
接下来在建立本章需要的其他表,在此不再详述了。
接下来就是如何向已经建立好的数据表内输入数据了,方法如下,首先在建立好的表上单击鼠标右键,选择“打开表”→“返回所有行”,如图2-7所示。
图2-7打开表
然后在弹出的窗体内输入数据,输入结束后,鼠标左键单击工具栏上的运行图标,保存数据,如图2-8所示。
图2-8为表添加数据窗体
2.表结构实现
根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构:
(1)、名称:
学生信息表
表名称标识:
Student表
数据来源:
新生信息录入模块进行录入。
表2-1学生信息表(Student)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Student_id
int
4
P
Notnull
学号
Student_name
nvarchar
10
Notnull
姓名
Sex
char
2
性别
Birth
smalldatatime
4
出生年月
Nation
char
8
民族
Class_id
int
4
Notnull
班级号
Entrance_date
smalldatetime
Notnull
入学时间
home
nvarchar
40
家庭地址
politic
char
10
政治面貌
ID
nvarchar
18
身份证号
Job
nvarchar
20
职位
specialty
nvarchar
20
所学专业
(2)、名称:
学生成绩表
表名称标识:
Student_course表
数据来源:
学生成绩录入模块进行录入。
表2-2学生成绩表(Student_course)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Course_id
int
4
P
Notnull
课程号
Student_id
int
4
P
Notnull
学号
Grade
float
8
Notnull
成绩
SC_semester
Smallint
2
Notnull
学期
School_year
Smallint
2
Notnull
学年
(3)、名称:
班级表
表名称标识:
class表
数据来源:
班级管理模块进行录入
表2-3班级表(class)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Class_id
Int
4
p
Notnull
班级号
Grade
char
10
年级
Class_name
nvarchar
40
Notnull
班级名称
SumStu
Int
4
班级人数
MaxNum
int
4
最大人数
(4)、名称:
课程表
表名称标识:
course表
数据来源:
课程管理模块进行录入
表2-4课程表(course)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
Course_id
Int
4
P
Notnull
课程号
Course_name
Credit
20
Notnull
课程名
Credit
Smallint
2
学分
(5)、名称:
用户表
表名称标识:
Syuser表
数据来源:
权限管理模块进行录入
表2-5用户表(Syuser)
字段名
字段类型
长度
主/外键
字段值约束
对应中文名
User_id
char
10
P
Notnull
用户编号
User_name
10
Notnull
用户名
User_role
10
用户角色
Password
8
密码
5详细设计
本系统主要实现学生信息的浏览、查询、编辑、添加和删除,同时对班级和课程进行管理,增加权限的管理。
根据已有的需求分析和总体设计,我们在此基础上来进行系统的详细设计和实现,为此,我们建立了一个C#.NET项目。
在“开始”菜单中找到“MircoSoftVisual2003”,启动应用程序,鼠标单击“文件”→“新建”→“项目”,单击“VisualC#项目”,建立一个“Windows应用程序”,命名为“StudentManagementSystem”,位置默认。
如图2-9所示。
图2-9新建C#项目窗体
然后我们把这个项目生成的默认窗体作为本系统的主窗体,我们再向这个项目中添加一个窗体,鼠标单击“项目”→“添加Windows窗体”,输入窗体名称为“Login”把新添加的窗体作为登陆窗体,调整窗体大小到合适值。
修改该窗体的name属性为“Login”,text属性为“用户登陆”,StartPosition属性为“CenterScreen”,其他属性默认。
我们接下来的所有窗体文件都是使用这种方法在这个项目中添加。
登录模块的设计与实现
1.用户身份验证IPO图
输入:
用户名和密码。
处理:
(1)用户登录窗体启动。
(2)输入用户名和密码。
(3)从用户信息表中检查是否有相应的用户名和密码。
(4)如果用户名或密码为空或者错误,进行提示。
(5)如果输入的用户名和密码正确,则允许该用户进入系统。
(6)进入主控制平台。
输出:
主控制平台。
2.用户登录模块的窗体设计,如图2-10所示:
图2-10用户登录模块的窗体效果
3.用户登录模块的主要代码
usingSystem;
using;
using;
using;
using;
usingStudentManagementsystem
{
publicclassLogin:
{
privatelabel1;
privatelabel2;
privatelogin_butt;
privateLogout_butt;
privateUser_name;
privatePasswords;
publicstaticStringUsername="";oString().Trim()==&&
Userrows[3].ToString().Trim()=={
loginOrnot=true;
Username=Userrows[1].ToString().Trim();
();
}
else
{
("用户名/密码错误!
请重试!
","确认",;
loginOrnot=false;
"";
"";
}
}
}
catch(Exceptionex)
{
(),"确认",;
}
return;
}
privatevoidLogout_butt_Click(objectsender,e)
{
loginOrnot=false;
();
}
}
}
主操作页面效果
1.主控制平台的窗体设计,如图2-11所示:
图2-11用户登录模块的窗体效果
2.窗体和控件特殊属性的设置:
控件
控件名称
MainMenu
StuMenu
StatusBar
MainstatusBar
3.主控制平台的主要代码
usingSystem;
using;
using;
using;
usingStudentManagementsystem
{
publicclassMainFrm:
{
privatemenuItem1;
privatemenuItem2;
privatemenuItem7;
privateMainstatusBar;
privateStuMenu;
privateNewstu;
privateQueryStu;
privateInputGrade;
privateQueryStuGrade;
privateUpdateRole;
privateExitSys;
privateUpdateStu;
privateAddClass;
privateChgPsw;
privatemenuItem3;
privatepictureBox1;
privateStu_JC;
privatemenuItem4;
privatecomponents=null;
publicMainFrm()
{
InitializeComponent();
();
}
/*此处省略程序自动生成的代码*/
staticvoidMain()
{
Loginlog=newLogin();
();
if==true)(newMainFrm());
}
加新的课程
功能:
在课程信息表中增加新的课程,并把结果写入到数据库StuMagSys内的course表中。
输入:
新课程的名称和学分信息
处理:
在数据库StuMagSys内的course表内检索课程信息,显示到窗体的DataGrid控件AddCourDA中。
取得用户输入的新课程的名称和学分信息。
在数据库StuMagSys内的course表内检索该课程,如果存在该课程,则提示错误信息。
如果不存在该课程信息,则把用户添加的新课程信息记录到数据库StuMagSys内的course表中。
输出:
对课程表course进行记录修改
2).删除课程
功能:
在课程信息表中删除已有课程,并把结果写入到数据库内的course表中。
输入:
选中一条课程记录
处理:
在数据库StuMagSys内的course表内检索课程信息,显示到窗体的DataGrid控件AddCourDA中。
在数据库StuMagSys内的course表内检索该课程,如果不存在该课程,则提示错误信息。
如果存在该课程信息,则把该课程信息记录从数据库StuMagSys内的course表中删除。
把数据表的改动记录到数据库内。
输出:
对课程表进行记录修改
2).修改课程
功能:
在课程信息表中修改课程信息,包括课程名称和学分,并把结果写入到数据库内的course表中。
输入:
选中一条课程记录,输入修改信息
处理:
在数据库StuMagSys内的course表内检索课程信息,显示到窗体的DataGrid控件AddCourDA中。
在DataGrid控件AddCourDA中录入修改的课程信息。
把对数据表course的改动记录到数据库内。
输出:
对课程表进行记录修改
(4).课程管理模块的主要代码
usingSystem;
using;
using;
using;
using;
usingStudentManagementsystem
{
publicclassAddCourse:
{
privateCourList;
privateAddCour;
privateChgCour;
privateDelCour;
privateExitCour;
privatecomponents=null;
privatestringAddCourConnStr="workstationid=localhost;IntegratedSecurity=SSPI;database=StuMagSys";
privateSqlConnectionAddCourConn;
privatestringAddCourSql;
privateSqlCommandBuilderAddCourComm;
privateSqlDataAdapterAddCourDA;
privateDataSetAddCourseset=newDataSet();
publicAddCourse()
{
InitializeComponent();
();
}
/*此处省略程序自动生成的代码*/
privatevoidAddCourse_Load()
{
AddCourSql="selectCourse_nameas课程名,creditas学分fromcourse";
=newSqlConnection;
=newSqlDataAdapter,;
();
"Course");
=[0];
}
privatevoidChgCour_Click(objectsender,e)
{
try
{
introw=DataGridCell(row+1,0);
if())
{
=newSqlConnection;
=newSqlDataAdapter,;
AddCourComm=newSqlCommandBuilder(AddCourDA);
"Course");
("保存修改成功!
","信息");
}
}
catch(ExceptionEe)
{
(),"信息");
}
}
privatevoidExitCour_Click(objectsender,e)
{
if("您确认要退出本系统","确认",==
();
}
privatevoidDelCour_Click(objectsender,e)
{
introwNumber=try
{
=newSqlConnection;
AddCourDA=newSqlDataAdapter("",AddCourConn);
AddCourComm=newSqlCommandBuilder(AddCourDA);
"Course");
("删除成功!
","信息");
}
catch
{}
}
privatevoidAddCour_Click(objectsender,e)
{
introw=DataGridCell(row+1,0);
}
}
}
新生信息录入模块的设计与实现
新生信息录入模块负责登陆用户录入学生信息,包括必须输入的学生姓名,所在班级,入学日期等信息。
1.新生信息录入模块实现的功能
新生信息录入模块主要实现录入学生信息。
2.新生信息录入模块实现的效果
新生信息录入模块的窗体设计效果如图2-16所示。
图2-16新生信息录入模块的窗体效果
3.窗体和控件特殊属性的设置:
控件
控件属性
设置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统