学生信息系统报告

学生信息系统报告
学生信息系统报告

中原工学院软件学院

二级实践课题设计任务书

摘要

本文给出了学生信息管理系统的开发背景、需求分析与设计以及主要功能模块的实现等内容。

描述了学生信息系统的背景、现状、研究内容和意义;给出了系统的需求分析及概要设计,内容包括体系结构设计及系统数据库设计;给出了系统详细设计,内容包括系统主要功能模块的界面设计及实现;最后给出系统运行及测试的结果。

关键词:学生信息管理;学生登录;教师登录;管理员登录等。

目录

摘要2

第1章绪论4

1.1课题背景4

1.2学生信息管理管理系统的现状4

1.3 课题研究内容5

第2章需求分析6

2.1 业务分析6

2.2 功能需求分析6

2.3 系统环境需求7

2.3.1 开发环境需求7

2.3.2 运行环境需求7

第3章概要设计8

3.1 数据库概要设计8

3.1.1 实体及其属性8

3.1.2 E-R模型8

3.2 系统管理模块设计9

第4章详细设计11

4.1 数据库的详细设计11

4.2 系统详细设计14

4.2.1 管理员信息管理14

4.2.2 教师信息管理22

4.2.3学生信息管理25

第5章运行与测试29

第6章结束语 (30)

附录系统相关代码32

第1章绪论

1.1课题背景

学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。推行学校信息管理系统的应用是进一步推进学生学籍管理规范化、电子化、控制辍学和提高义务教育水平的重要举措

本系统主要应用于学校学生信息管理,总体任务是实现学生信息系统化、规范化和自动化,其主要任务是计算学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到了学生选课、针对这些要求设计了学生信息管理系统。

随着学校的规模不断过大,学生数量急剧增加,有关学生的各种信息量也成倍增加。面对庞大的信息量需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。

1.2学生信息管理管理系统的现状

学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教案管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依靠人工管理,而且传

统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。

1.3 课题研究内容

该课题以学生信息管理为出发点,实现了以下功能:

学生管理

教师管理

管理员信息管理

课程信息管理

信息维护管理

成绩管理

选课管理

第2章需求分析

2.1 业务分析

该系统以学生信息管理为中心,学生信息可以分为基本信息、课程信息和选课信息。系统能够实现对学生信息进行分类别管理,同时学生也可以登录到本系统对自己的个人信息进行查询。

2.2 功能需求分析

经业务分析,并结合系统用户的需求,系统需要实现以下功能:

<1)管理员:主要功能有:教师管理、学生管理、课程管理、密码修改等功能。其中,教师管理可以对教师信息进行维护,可以实现对教师基本信息的查询,修改和删除,还可以添加教师。学生管理又分为学生信息维护,和新学生的添加,其中学生信息维护,可以实现对学生基本信息的查询,删除及修

改。课程管理又分为课程维护与排课,课程维护可以实现对所有已开设课程进行查询,也可以对课程信息进行修改、添加、删除。排课功能可以实现对已开设课程对教师进行排课管理,通过排课实现学生对课程进行选择。

<2)教师:主要功能有:教师基本信息的查询、学生选课管理、学生成绩管理、密码修改。其中,学生选课管理可以查询该教师所教课程学生的选课情况。学生成绩管理,可以查询该教师所教课程学生的成绩,和学生成绩的录入。

<3)学生:主要功能:基本信息查询、成绩查询、选课管理、密码修改。其中,选课查询可以实现,该学生哪一学年与哪一学期选课结果。正选,可以实现学生选课,和历史已选课程的查询,当然该学生也可以对已选课程进行退选。

2.3 系统环境需求

2.3.1 开发环境需求

硬件需求:CPU PIII 500以上的PC服务器,内存1GB以上,硬盘8GB以上。操作系统:Windows XP

软件需求:Microsoft Visual Studio 2005 开发环境,SQL Server 2005数据库

2.3.2 运行环境需求

硬件需求:CPU PIII 500 以上的PC服务器,内存1CB以上,硬盘8GB以上。操作系统:Windows XP;软件需求:.NET Framework v2.0。

第3章概要设计

3.1 数据库概要设计

对于学生信息管理系统的数据库设计,本文将从以下几个方面进行描述:首先是概念模型描述,包括对系统的实体属性分析及系统的E-R图,然后是系统的逻辑结构设计,即给出系统的数据库设计表结构及描述。

3.1.1 实体及其属性

整个系统各实体可用以下关系来表示<其中主键已用下划线标识):

1.学生个人信息表:<学号,姓名,性别,出生年月,班级,专业,院系,密码,入学时间)

2.教师表<教师编号,姓名,性别,年龄,院系,密码>

3.课程表<课程号,课程名,课程学时,学分,类别,考查方式,上课时间,上课地点,教师编号<不为空),学期)

4.选课表<课程号,学号,教师编号,课程名)

5.管理员表<账号,姓名,密码,

6.成绩表 <学号,课程号,成绩,学期)

3.1.2 E-R模型

在分析过系统各实体之间的联系后可得出系统的整体概念模型,用E-R图表示出来,学生实体E-R图如图3.1所示

图3.1 学生实体E-R图

教师实体E-R图如图3.2所示:

图3.2 教师实体E-R图

课程表实体E-R图如图3.3所示:

图3.3 课程实体E-R图

选课表实体E-R图如图3.4所示:

图3.4 选课实体E-R图

管理员实体E-R图如图3.5所示

图3.5 管理员实体E-R图

成绩实体E-R图如图3.6所示:

图3.6 成绩实体E-R图

3.2 系统管理模块设计

系统网站导航图如图3.7所示。

该图将此系统的大致信息展示了出来,系统是分相应权限的,只有具有相应权限的人员才能进入相应的功能模块。

图 1.7 系统功能模块图

第4章详细设计

为了方便用户的操作,系统采用了模块化设计的思想,通过各模块的不同组合以实现不同的增、删、改、查功能。最终,使该系统能够具有规范化的格式、完整的信息量和易于查询等的特点。

4.1 数据库的详细设计

依据数据库的概要设计,最后总结出数据库结构的主要数据表包括:成绩表,教师表,课程表,选课表,学生课,院系专业表,管理员表等。以下将给出系统数据库设计的逻辑模型,即各数据表的结构。

4.1学生表

学生表存储学生的相关信息,表结构如表4.1所示

表4.1学生表结构

4.2教师表

教师表存储教师的相关信息,表结构如表4.2所示

表4.2 教师表结构

课程表存储学生课程的相关信息,表结构如表4.3所示

表4.3课程表结构

4.4选课表

选课表存储学生选课的相关信息,表结构如表4.4所示

表4.4 选课表结构

4.5 管理员表

管理员表存储管理员的相关信息,表结构如表4.5所示

表4.5管理员表结构

排课表存储排课的相关信息,表结构如表4.6所示

4.7成绩表

成绩表存储学生成绩的相关信息,表结构如表4.7所示

表4.7成绩表结构

4.2 系统详细设计

以下是系统各主要功能模块的界面设计及实现。

进入网站的用户必须先登录,登录页面如图4.1所

图4.1登陆页面

4.2.1 管理员信息管理

在系统登陆界面中登陆管理员账号,将进入管理员登陆界面,系统都提供了教师管理、学生管理、课程管理,密码修改等功能,显示结果如图4.2所示

图4.2管理员登陆界面

在该页面点击“教师管理”的按钮,将进入教师添加页面和教师信息维护

和添加页面界面,如图4.3和4.4所示

图4.3.1教师管理

图4.3.2教师添加

图4.3.3教师信息修改

在该页面中点击“学生管理”的按钮如图 4.3.4,将进入用户添加和学生信息维护界面,分别如图4.5,4.6所示

图4.3.4 学生管理页面

图4.5显示全部学生信息界面

在“管理员登陆界面”中点击“课程管理”,会出现相应功能,如下图4.6显示:

图4.6课程管理页面

图4.7 密码修改页面

第5章运行与测试

在编码的过程中,需要通过不断的对系统进行调试,才能对其功能做出完善性的补充。所以测试在此期间起了相当大的作用。

第6章结束语

在这次设计课题的过程中,通过组员的共同努力完成了程序设计,但从中也发现了自己的的不足,需要弥补,使我受益匪浅。它教会了我们一个程序员必须要有扎实的基础,要有严谨的态度,更需要有耐心。因为即使一个微小的错误就会导致程序无法运行,所以我们必须小心、认真书写代码,防止自己去犯一些完全没有必要的小错误,然后再浪费大量时间去查找错误,再去修改,既耗时又费力。

通过为期三周的课程设计,对《C#程序设计》这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们软件项目专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践,而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。

在做课题的过程中,多次遇到数据库连接错误的问题,这也再次证明了我们学数据库学的很不扎实。所以在以后的学习中也找到了学习的重点。课题设计不仅可以巩固知识,还可以将知识充分运用到实际操作中,让我们真正的了解C#,是一次宝贵的经验。

忙碌的三个星期的课题时间结束了,回顾上学期,我发现我的《C#程序设计》和《数据库系统概论》只掌握了书本上的知识,而对于编写程序的能力有很大的漏洞,所以这次的课题对我来说是个很大的挑战。虽然我的编程水平不高,但是通过组员的共同努力,参考文献,请教老师和同学,程序也基本上算是完成了。

记得做一级课题的时候,面对课题不知所措,觉得课题非常困难,我难以完成,对课题存在了很大的畏惧心理,所以一级课题完成的不尽人意。在刚开始做二级课题时,就想要认认真真的完成它。虽然在做的过程中有很多不会和不熟练的地方,但经过努力,一个课题下来,这些已经可以熟练掌握了。

做完这次二级课题,我知道并不是只单纯地学习书本知识就可以学好编程语言,我们如果要想学好这门课,必须多动手编写代码,通过修改运行出来的错,可以更好的知道自己不足并加以改正,牢固掌握这种类型的知识。

附录系统相关代码

登陆页面:

publicvoid button1_Click(object sender, EventArgs e>

{

if (radioButton1.Checked>

{

SqlConnection conn = new SqlConnection(>。

conn.ConnectionString = "Server=1V47Y484QXASMMP。database= student。integrated security=true"。

conn.Open(>。

SqlCommand cmd = new SqlCommand(>。

cmd.Connection = conn。

https://www.360docs.net/doc/193694486.html,mandText = "Select * from 学生表 where 学号=@学号"。

cmd.Parameters.Add(new SqlParameter("@学号",

textBox1.Text>>。

SqlDataReader dr = cmd.ExecuteReader(>。

if (dr.Read(>>

{

if (dr["密码"].ToString(> == textBox2.Text>

{

学生信息 frm = new学生信息(>。

frm.Text = textBox1.Text。

textBox1.Clear(>。

textBox2.Clear(>。

frm.Show(>。

}

else

{

MessageBox.Show("账号或密码有误!!!">。

}

}

else

{

MessageBox.Show("没有这个用户名">。

}

dr.Close(>。

conn.Close(>。

}

elseif (radioButton2.Checked>

{

SqlConnection conn = new SqlConnection(>。

conn.ConnectionString = "Server=1V47Y484QXASMMP。database=student。integrated security=true"。

conn.Open(>。

SqlCommand cmd = new SqlCommand(>。

cmd.Connection = conn。

https://www.360docs.net/doc/193694486.html,mandText = "Select * from 教师表 where 教师编号 = @教师编号"。

cmd.Parameters.Add(new SqlParameter("@教师编号", textBox1.Text>>。

SqlDataReader dr = cmd.ExecuteReader(>。

if (dr.Read(>>

{

if (dr["密码"].ToString(> == textBox2.Text>

{

教师信息 frm = new教师信息 (>。

frm.Text = textBox1.Text。

textBox1.Clear(>。

textBox2.Clear(>。

frm.Show(>。

}

else

{

MessageBox.Show("账号或密码有误!!!">。

}

}

else

{

MessageBox.Show("没有这个用户名">。

}

dr.Close(>。

conn.Close(>。

}

elseif (radioButton3.Checked>

{

SqlConnection conn = new SqlConnection(>。

conn.ConnectionString = "Server=1V47Y484QXASMMP。database=student。integrated security=true"。

conn.Open(>。

SqlCommand cmd = new SqlCommand(>。

cmd.Connection = conn。

https://www.360docs.net/doc/193694486.html,mandText = "Select * from 管理员 where 账号=@账号"。

cmd.Parameters.Add(new SqlParameter("@账号",

textBox1.Text>>。

SqlDataReader dr = cmd.ExecuteReader(>。

if (dr.Read(>>

{

if (dr["密码"].ToString(> == textBox2.Text>

{

管理员 frm = new管理员(>。

frm.Text = textBox1.Text。

textBox1.Clear(>。

textBox2.Clear(>。

frm.Show(>。

}

else

{

MessageBox.Show("账号或密码有误!!!">。

}

}

else

{

MessageBox.Show("没有这个用户名">。

}

dr.Close(>。

conn.Close(>。

}

}

privatevoid button2_Click(object sender, EventArgs e>

{

this.Close(>。

}

学生管理:

privatevoid button6_Click(object sender, EventArgs e>

{

this.Close(>。

}

privatevoid button1_Click(object sender, EventArgs e>

{

SqlConnection conn = new SqlConnection(>。

相关主题
相关文档
最新文档