1、学生信息管理系统1 引言1.1 项目背景随着信息技术在管理上越来越进一步而广泛应用,管理信息系统实行在技术上已逐渐成熟。管理信息系统是一种不断发展新型学科,任何一种单位要生存要发展,要高效率地把内部活动有机地组织起来,就必要建立与自身特点相适应管理信息系统。当前,在学校里,随着高校规模不断扩大和招生人数不断增长,需要解决大量学生数据信息。如何更好组织学生信息,更快捷管理学生信息显得尤为重要。作为计算机应用一某些,使用计算机对学生信息进行管理,有着手工管理所无法比拟长处.例如:检索迅速、查找以便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些长处可以极大地提高学生信息管理效率,也是学校科学
2、化、正规化管理,与世界接轨重要条件。咱们为此开发了一套学生信息管理系统,本系统面向学校教务人员,目是为学校办公管理提供一种迅速、简朴规范管理平台,使学院在学生信息管理方面更加规范化,快捷化。1.2 项目目的本章以学校学生信息管理为依托,结合教务教学管理,设计并开发一种学生信息管理系统,提供一种信息更新快捷、管理以便、功能设立合理学生信息管理解决方案。针对学校大量学生信息,就学生管理几种方面,提供一种互动式学生管理平台。系统目的如下: 通过学生信息管理系统实现,使学校学生信息管理更加科学化。 提供灵活、以便操作。 节约学生信息管理成本,提高学校管理效率。 对系统提供必要权限管理。 为学校考核学生
3、综合素质提供必要数据支持。2 需求分析2.1 系统需求在各大中专院校,学校教务管理重要内容涉及学生信息管理和教师排课,学生信息管理老式手工管理重要涉及学生档案管理,学生成绩管理。其中学生信息管理对大数据量规定较高,而教师排课系统由于需要十分专业算法并且系统需求不断变化,因而在实际应用时,往往会遇到很大问题,需要进一步研究,当前普通学校管理系统都包括了学生信息管理功能。本系统不包括教师排课管理和教师管理详细业务,只提供学生有关信息信息查询。2.2 功能需求 依照上述信息管理系统业务流程、规定以及所要实现目的,咱们可以拟出如下需求目的:(1)建立学生档案管理和维护。实现计算机自动化管理体制。(2)
4、建立学生成绩管理机制,在计算机支持下迅速完毕学生成绩查询和修改。(3)建立课程设立管理,在计算机支持下实现课程添加、删除、修改。(4)建立班级设立管理,在计算机支持下实现班级添加、删除和修改。(5)实现系统权限设立管理,保证系统安全性。依照系统需求分析,得到本系统功能规定如下:(1)班级、课程设立管理:学校教务秘书可以依照本校详细状况在每学期开始时设立所需班级数量和人数。并设立本学期课程。(2)权限管理:为了较好保证系统安全性,学校有关负责人可以设立不同类型人员权限。(3)学生档案管理:学生档案数量十分庞大,教务管理人员进行新生入学档案录入及更改。其中涉及学生个人信息修改。(4)学生成绩管理:
5、教务管理人员可以查询和修改学生历年考试成绩,掌握学生学习状况,作为评估学生素质数据根据。2.3 性能需求系统运营对于运营环境规定是;1硬件环境当前,咱们所开发系统重要是应用在中小规模学校内部,因而,普通配备计算机硬件就可以满足系统需求。考虑到学校规模扩大和硬件价格减少,为本系统配备在较先进服务器硬件,可以充分发挥本系统性能。l 解决器: Intel Pentium 4 3.06 GX 或更高l 内存: 256M(推荐)l 硬盘空间:40GBl 显卡: SVGA显示适配器2软件环境l 操作系统:Windows /XPl 开发软件:Microsoft Visual Studio .NET l 数据
6、库:Microsoft SQL Server 3 总体设计3.1 设计思想与解决流程本系统采用面向对象办法进行分析和设计,在SQL Server 数据库上实现数据操作。使用纯面向对象C语言作为开发语言,使用Windows作为开发平台,可以较好实现系统开发及测试。系统基本流程是:顾客登陆主界面选取各项子系统。3.2 系统层次模块图“学生信息管理系统”重要分为登录、新生信息录入、学生信息查询、更新学生信息、学生成绩录入、学生成绩查询、权限管理、密码管理、班级管理、课程管理等10个模块。系统主模块功能树如图2-1所示:学生信息管理系统更新学生信息学生成绩录入学生成绩查询登录密码管理权限管理班级管理课
7、程管理新生信息录入学生信息查询图2-1 “学生信息管理系统”系统主模块功能树3.3 模块设计1登录模块:输入顾客名称和密码,如果顾客名、密码对的,进入主控制平台;否则给出错误信息提示。2系统维护模块: 权限管理子模块:系统管理员进行顾客权限设立和初始密码设立。 密码修改子模块:登陆系统顾客可以随时修改自己密码,保证密码有效性和保密性。 班级管理子模块:在新学期开始或每学期中间需要开设新课程时可以在本模块进行班级设立和维护。 课程设立子模块:在每学期开始需要进行本学期需要开设课程设立。在某一课程发生变动时可以进行课程维护,涉及修改课程名称、学分等,也可以删除某一课程。3学生信息管理模块: 新生信
8、息录入子模块:在每年开始或中间可以进行学生信息录入,涉及学生基本信息等。 学生信息查询子模块:以便教务管理人员迅速查找某一学生。分为按照学生姓名进行查找和按照学生所在班级名进行查找。利于管理人员随时掌握学生信息。 更新学生信息子模块:教务管理人员可以随时更改学生某些信息,涉及学生姓名、身份证号、班级等信息更改。4学生成绩管理模块: 学生成绩录入子模块:按照学生考试时间和课程录入学生考试成绩。 学生成绩查询子模块:以便教务管理人员迅速查找某一学生成绩。分为按照学生姓名进行查找和按照学生所在班级名进行查找。利于管理人员随时掌握学生考试信息。5协助信息模块:显示系统开发版本和系统阐明信息。4 数据库
9、设计1SQL Server数据库建立过程一方面把SQL Server “服务管理器”打开,鼠标左键单击“开始/继续”按钮,然后在“开始”“程序”内选取“Microsoft SQL Server” “公司管理器”。展开左边程序树,如图2-2所示。图2-2 打开公司管理器在“数据库”文献夹图标上单击鼠标右键,选取“新建数据库”,弹出新建数据库窗体,如图2-3所示。图2-3 新建数据库窗体在“名称”文本框内,输入新建数据库名称,在此输入“StuMagSys”,新建学生信息管理数据库。其她选项默认即可。然后,开始建立本系统需要数据库表,办法如下:一方面,在新建数据库上单击鼠标右键,选取“新建”“表”,
10、如图2-4所示。图2-4 新建表然后,在弹出窗体内输入表字段和类型以及长度和与否容许空等信息,如图2-5所示。图2-5 新建表窗体输入完表字段后,为表字段添加主键、约束和关系等,办法是在添加约束或关系字段上单击鼠标右键,选取“设立主键”或“关系”等。如图2-6所示。图2-6 创立主键保存该表,命名为Student。接下来在建立本章需要其她表,在此不再详述了。接下来就是如何向已经建立好数据表内输入数据了,办法如下,一方面在建立好表上单击鼠标右键,选取“打开表”“返回所有行”,如图2-7所示。图2-7 打开表然后在弹出窗体内输入数据,输入结束后,鼠标左键单击工具栏上运营图标,保存数据,如图2-8所
11、示。图2-8 为表添加数据窗体2表构造实现依照系统功能设计规定以及功能模块划分,对于系统顾客信息数据库,可以列出如下数据项和数据构造:(1)、名称:学生信息表表名称标记:Student表数据来源:新生信息录入模块进行录入。表2-1学生信息表(Student)字段名字段类型长度主/外键字段值约束相应中文名Student_idint4PNot null学号Student_namenvarchar10Not null姓名Sexchar2性别Birthsmalldatatime4出生年月Nationchar8民族Class_idint4Not null班级号Entrance_datesmalldate
12、timeNot null入学时间homenvarchar40家庭地址politicchar10政治面貌IDnvarchar18身份证号Jobnvarchar20职位specialtynvarchar20所学专业(2)、名称:学生成绩表表名称标记:Student_course表数据来源:学生成绩录入模块进行录入。表2-2学生成绩表(Student_course)字段名字段类型长度主/外键字段值约束相应中文名Course_idint4PNot null课程号Student_idint4PNot null学号Gradefloat8Not null成绩SC_semesterSmallint2Not n
13、ull学期School_yearSmallint2Not null年(3)、名称:班级表表名称标记:class表数据来源:班级管理模块进行录入表2-3班级表(class)字段名字段类型长度主/外键字段值约束相应中文名Class_idInt4pNot null班级号Gradechar10年级Class_namenvarchar40Not null班级名称SumStuInt4班级人数MaxNumint4最大人数(4)、名称:课程表表名称标记:course表数据来源:课程管理模块进行录入表2-4课程表(course)字段名字段类型长度主/外键字段值约束相应中文名Course_idInt4PNot n
14、ull课程号Course_nameCredit20Not null课程名CreditSmallint2学分(5)、名称:顾客表表名称标记:Syuser表数据来源:权限管理模块进行录入表2-5顾客表(Syuser)字段名字段类型长度主/外键字段值约束相应中文名User_idchar10PNot null顾客编号User_name10Not null顾客名User_role10顾客角色Password8密码5 详细设计本系统重要实现学生信息浏览、查询、编辑、添加和删除,同步对班级和课程进行管理,增长权限管理。依照已有需求分析和总体设计,咱们在此基本上来进行系统详细设计和实现,为此,咱们建立了一种C
15、.NET项目。在“开始”菜单中找到“MircoSoft Visual Studio.Net ”,启动应用程序,鼠标单击“文献” “新建” “项目”,单击“Visual C#项目”,建立一种“Windows 应用程序”,命名为“StudentManagementSystem”,位置默认。如图2-9所示。图2-9新建C#项目窗体然后咱们把这个项目生成默认窗体作为本系统主窗体,咱们再向这个项目中添加一种窗体,鼠标单击“项目”“添加Windows窗体”,输入窗体名称为“Login”把新添加窗体作为登陆窗体,调节窗体大小到适当值。修改该窗体name属性为“Login”,text属性为“顾客登陆”,Sta
16、rtPosition属性为“CenterScreen”,其她属性默认。咱们接下来所有窗体文献都是使用这种办法在这个项目中添加。5.1登录模块设计与实现1顾客身份验证IPO图输入:顾客名和密码。解决:(1) 顾客登录窗体启动。(2) 输入顾客名和密码。(3) 从顾客信息表中检查与否有相应顾客名和密码。(4) 如果顾客名或密码为空或者错误,进行提示。(5) 如果输入顾客名和密码对的,则容许该顾客进入系统。(6) 进入主控制平台。输出:主控制平台。2顾客登录模块窗体设计,如图2-10所示:图2-10顾客登录模块窗体效果3顾客登录模块重要代码using System;using System.Draw
17、ing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using System.Data.SqlClient;namespace StudentManagementsystempublic class Login :System.Windows.Forms.Formprivate System.Windows.Forms.Label label1;private System.Windows.Forms.Label label2;private
18、System.Windows.Forms.Button login_butt;private System.Windows.Forms.Button Logout_butt;private System.Windows.Forms.TextBox User_name;private System.Windows.Forms.TextBox Passwords;public static String Username=;/保存顾客登陆名,以便后来使用。public static bool loginOrnot;/判断顾客登陆成功与否。private string strconn;/查询更新数据
19、库字符串。private string connstr=workstation id=localhost;Integrated Security=SSPI;database=StuMagSys;/连接数据库字符串。private SqlDataAdapter sqlda;/查询数据库时使用适配器。private DataSet dset =new DataSet();/保存查询成果数据集。private SqlConnection myconn;/数据库连接。private DataTable mytable;/查询返回数据表。private DataRow Userrows;/表中行。pri
20、vate System.Windows.Forms.GroupBox groupBox1;private System.Windows.Forms.GroupBox groupBox2;private System.ComponentModel.Container components = null;/*此处省略程序自动生成代码*/private void login_butt_Click(object sender,System.EventArgs e)trystrconn=select * from syuser where Use_name=+this.User_name.Text.To
21、String().Trim()+;/依照顾客输入顾客名和密码初始化查询更新数据库字符串myconn=new SqlConnection(connstr);sqlda=new SqlDataAdapter(strconn,myconn);dset.Clear();sqlda.Fill(dset,syuser);mytable=dset.Tables0;/查询成果在Tables0中。for(int j=0;j0) MessageBox.Show(录入成功);catch(Exception Ex)MessageBox.Show(必要选取一种角色!,错误);2密码修改模块设计与实现密码修改模块负责登陆
22、顾客随时修改密码,保证密码安全性。(1)密码修改模块实现功能密码修改模块重要实现修改登陆顾客密码。(2)密码修改模块实现效果密码修改模块窗体设计效果如图2-13所示。图2-13 密码修改模块窗体效果(3)密码修改模块IPO图功能:从登陆窗体中获得登陆成功顾客名,在数据库Syuser表内查找该顾客,并据此把输入新密码写入到数据库内Syuser表中。输入:新密码和确认密码解决:1)密码修改窗体启动。2)一方面从登陆对话框Login内获得登陆系统登陆顾客登陆顾客名。2)依照已经获得登陆顾客名在数据库StuMagSysSyuser表内查找该顾客,然后比较顾客输入新密码和确认密码,如果比较成果相似,则把
23、新密码写入到相应记录内,如果两次输入不一致,则提示错误信息。3)把顾客新密码记录到数据库内。输出:对顾客表进行记录修改(4)密码修改模块重要代码using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data.SqlClient;using System.Data;namespace StudentManagementsystempublic class ChgPsw :System.Windows
24、.Forms.Formprivate System.Windows.Forms.Button ChgPswCanl;private System.Windows.Forms.Button ChgPswOk;private System.Windows.Forms.TextBox ConfPsw;private System.Windows.Forms.TextBox NewPsw;private string PswStrCon;private SqlConnection PswConn;private String PswStrComd;private SqlCommand PswComd;/*此处省略程序自动生成代码*/private void ChgPswCanl_Click(object sender,System.EventArgs e)if(MessageBox.Show(您确认要退出?,确认,MessageBoxButtons.YesNo)=DialogResult.Yes)this.Close();private void ChgPswOk_Click(object sender,System.EventArgs e)if(NewPsw.Text.ToString().Trim()=ConfPsw.T