学生信息管理系统1引言1.1项目背景随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。目前,在学校里,随着高校规模的不断扩大和招生人数的不断增加,需要处理大量的学生数据信息。如何更好的组织学生信息,更加快捷的管理学生信息显得尤为的重要。作为计算机应用的一部分,使用计算机对学生信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。我们为此开发了一套学生信息管理系统,本系统面向学校的教务人员,目的是为学校办公管理提供一个快速、简单规范的管理平台,使学院在学生信息管理方面更加规范化,快捷化。1.2项目目标本章以学校的学生信息管理为依托,结合教务教学管理,设计并开发一个学生信息管理系统,提供一个信息更新快捷、管理方便、功能设置合理的学生信息管理解决方案。针对学校大量的学生信息,就学生管理的几个方面,提供一个互动式的学生管理平台。系统目标如下:通过学生信息管理系统的实现,使学校的学生信息管理更加科学化。提供灵活、方便的操作。节约学生信息管理的成本,提高学校管理的效率。对系统提供必要的权限管理。为学校考核学生的综合素质提供必要的数据支持。2需求分析2.1系统需求在各大中专院校,学校的教务管理的主要内容包括学生的信息管理和教师排课,学生信息管理传统的手工管理主要包括学生档案管理,学生成绩管理。其中学生信息管理对大数据量要求较高,而教师排课系统由于需要十分专业的算法并且系统需求不断的变化,因此在实际应用时,往往会遇到很大的问题,需要进一步研究,目前一般的学校管理系统都包含了学生信息管理的功能。本系统不包含教师排课管理和教师管理的详细业务,只提供学生相关信息信息的查询。2.2功能需求根据上述的信息管理系统的业务流程、要求以及所要实现的目标,我们可以拟出以下需求目标:(1)建立学生档案的管理和维护。实现计算机自动化管理体制。(2)建立学生成绩管理机制,在计算机的支持下快速的完成学生成绩的查询和修改。(3)建立课程设置管理,在计算机的支持下实现课程的添加、删除、修改。(4)建立班级设置管理,在计算机的支持下实现班级的添加、删除和修改。(5)实现系统的权限设置管理,保证系统安全性。根据系统的需求分析,得到本系统的功能要求如下:(1)班级、课程的设置管理:学校的教务秘书可以根据本校具体情况在每学期开始时设置所需班级数量和人数。并设置本学期的课程。(2)权限管理:为了很好的保证系统的安全性,学校相关负责人可以设置不同类型的人员的权限。(3)学生档案管理:学生档案的数量十分庞大,教务管理人员进行新生入学的档案录入及更改。其中包括学生个人信息的修改。(4)学生成绩管理:教务管理人员可以查询和修改学生的历年考试成绩,掌握学生学习情况,作为评定学生素质的数据依据。2.3性能需求系统的运行对于运行环境的要求是;1.硬件环境目前,我们所开发的系统主要是应用在中小规模的学校内部,因此,一般配置的计算机硬件就可以满足系统需求。考虑到学校规模的扩大和硬件价格的降低,为本系统配置在较优秀的服务器硬件,可以充分发挥本系统性能。处理器:IntelPentium43.06GX或更高内存:256M(推荐)硬盘空间:40GB显卡:SVGA显示适配器2.软件环境操作系统:Windows2000/XP开发软件:MicrosoftVisualStudio.NET2003数据库:MicrosoftSQLServer20003总体设计3.1设计思想与处理流程本系统采用面向对象方法进行分析和设计,在SQLServer2000数据库上实现数据操作。使用纯面向对象的C#语言作为开发语言,使用Windows2000作为开发平台,能够很好的实现系统的开发及测试。系统的基本流程是:用户登陆→主界面→选择各项子系统。3.2系统层次模块图“学生信息管理系统”主要分为登录、新生信息录入、学生信息查询、更新学生信息、学生成绩录入、学生成绩查询、权限管理、密码管理、班级管理、课程管理等10个模块。系统主模块功能树如图2-1所示:图2-1“学生信息管理系统”系统主模块功能树3.3模块设计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_idint4PNotnull学号Student_namenvarchar10Notnull姓名Sexchar2性别Birthsmalldatatime4出生年月Nationchar8民族Class_idint4Notnull班级号Entrance_datesmalldatetimeNotnull入学时间homenvarchar40家庭地址politicchar10政治面貌IDnvarchar18身份证号Jobnvarchar20职位specialtynvarchar20所学专业(2)、名称:学生成绩表表名称标识:Student_course表数据来源:学生成绩录入模块进行录入。表2-2学生成绩表(Student_course)字段名字段类型长度主/外键字段值约束对应中文名Course_idint4PNotnull课程号Student_idint4PNotnull学号Gradefloat8Notnull成绩SC_semesterSmallint2Notnull学期School_yearSmallint2Notnull学年(3)、名称:班级表表名称标识:class表数据来源:班级管理模块进行录入表2-3班级表(class)字段名字段类型长度主/外键字段值约束对应中文名Class_idInt4pNotnull班级号Gradechar10年级Class_namenvarchar40Notnull班级名称SumStuInt4班级人数MaxNumint4最大人数(4)、名称:课程表表名称标识:course表数据来源:课程管理模块进行录入表2-4课程表(course)字段名字段类型长度主/外键字段值约束对应中文名Course_idInt4PNotnull课程号Course_nameCredit20Notnull课程名CreditSmallint2学分(5)、名称:用户表表名称标识:Syuser表数据来源:权限管理模块进行录入表2-5用户表(Syuser)字段名字段类型长度主/外键字段值约束对应中文名User_idchar10PNotnull用户编号User_name10Notnull用户名User_role10用户角色Password8密码5详细设计本系统主要实现学生信息的浏览、查询、编辑、添加和删除,同时对班级和课程进行管理,增加权限的管理。根据已有的需求分析和总体设计,我们在此基础上来进行系统的详细设计和实现,为此,我们建立了一个C#.NET项目。在“开始”菜单中找到“MircoSoftVisualStudio.Net2003”,启动应用程序,鼠标单击“文件”→“新建”→“项目”,单击“VisualC#项目”,建立一个“Windows应用程序”,命名为“StudentManagementSystem”,位置默认。如图2-9所示。图2-9新建C#项目窗体然后我们把这个项目生成的默认窗体作为本系统的主窗体,我们再向这个项目中添加一个窗体,鼠标单击“项目”→“添加Windows窗体”,输入窗体名称为“Login”把新添加的窗体作为登陆窗体,调整窗体大小到合适值。修改该窗体的name属性为“Login”,text属性为“用户登陆”,StartPosition属性为“CenterScreen”,其他属性默认。我们接下来的所有窗体文件都是使用这种方法在这个项目中添加。5.1登录模块的设计与实现1.用户身份验证IPO图输入:用户名和密码。处理:(1)用户登录窗体启动。(2)输入用户名和密码。(3)从用户信息表中检查是否有相应的用户名和密码。(4)如果用户名或密码为空或者错误,进行提示。(5)如果输入的用户名和密码正确,则允许该用户进入系统。(6)进入主控制平台。输出:主控制平台。2.用户登录模块的窗体设计,如图2-10所示:图2-10用户登录模块的窗体效果3.用户登录模块的主要代码usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data