大家好,今天给大家介绍基于C#+asp.net+sqlserver的学生信息管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:14084个字89页
包含内容:整套源码+完整毕业论文
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
一 系统概述
本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统、学生缴费管理系统等多种功能,因而具有较强的实用性和先进性。
1.1 系统及需求分析
1.1.1 系统需求
通过调查,要求系统需要有以下功能:
⑴ 由于操作人员的计算机知识普遍较差,要求有良好的人机界面;
⑵ 由于该系统的使用对象多,要求有较好的权限管理;
⑶ 原始数据修改简单方便,支持多条件修改
⑷ 方便的数据查询,支持多条件查询;
⑸ 在相应的权限下,删除数据方便简单,数据稳定性好;
⑹ 数据计算自动完成,尽量减少人工干预;
1.1.2可行性分析
由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
二 开发环境
2.1 ASP.NET简介
ASP.NET是由ASP发展而来,它是使用.NET框架提供的编程类库构建而成的。使用ASP.NET创建、管理和部署Web应用程序变得非常容易。开发人员可以直接用ASP.NET服务器控件,这些控件封装了公共的、用户HTML用户界面的各种元素(如文本框、下拉菜单等)。实际上,这些控件运行在Web服务器上,它们将用户界面转换成HTML格式后再发送给浏览器。再服务器上,控件负责将面向对象的编程模型提供给Web开发者,这种编程模型提供面向对象编程技术的丰富功能。ASP.NET还提供一些基本结构服务(如会话状态管理和进程重启服务),这些服务大大减少了开发人员需要编写的代码量,并使应用程序的可靠性得到大幅度的提高。ASP.NET还允许开发人员将软件作为一项服务来提供。通过使用ASP.NET Web服务功能,开发人员只需进行简单的业务逻辑编程,而由ASP.NET基本结构负责通过SOAP来提供服务。
2.2 SQL Server 简介
SQL Server 是一个功能强大的新一代的数据库管理系统。与前一代的产品相比,SQL Server在可伸缩性、可用性和可管理性等方面有了显著的改进和提高。
Microsoft SQL Server 是由一系列相互协作的组件组成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需要。它主要由以下几个组件组成:关系数据库组件、数据库构架、管理构架、复制构架、数据仓库和联机分析处理分析和应用程序开发构架等。
SQL Server 完全支持Web。通过Web可以查询、分析和处理数据。在SQL Server 中使用可扩展标记语言(XML)可以在松散耦合系统之间交换数据。从浏览器通过防火墙可方便而安全地访问数据,并可对有格式文档执行快速全文检索。分析和链接联机分析处理(OLAP)多维数据集,即使在Web上也是如此。执行点击流分析,以了解Web用户的情况。
三 学生管理信息系统设计
学生信息管理系统主要是处理学生.教师.课程.班级以及它们互相之间的关系信息。学生管理信息系统是一个比较古老的应用,随着近些年计算机技术水平的高速发展,学生管理信息系统也在不断的发展扩充其功能,从单一的学生成绩管理发展到现在的统一学生资料管理,此设计主要讲叙它的设计和实现。
3.1概述
随着学校规模的不断扩大,学生数量的急剧增加,有关学生的各种信息量也成倍的增长。面对庞大的信息量,就要有学生管理信息系统来提高学生管理工作效率。通过这样的系统可以做到信息的管理规范.科学统计和快速查询。从而减少管理方面的工作量。有效的管理学生所有信息就是学生管理系统完成的功能。此学生管理系统是基于.net技术,采用.net技术构建,在此称为SMS。在行使维护功能方面包括:学生管理,班级管理,教师管理,课程管理,学生选课及其成绩管理。在后面将一一介绍。
3.2需求分析
需求分析是数据库信息管理系统开发的第一步也是最重要一步。需求分析就是描述系统的需求,通过定义系统种的关键域来建立模型,分析的根本目的的是在开发者和提出需求的人之间建立的一种理解和沟通机智。
3.2.1 需求功能
这个是一个学生管理系统,我们的目标是提高学会管理工作的效率,具有对学生个人信息,课程信息,所选课程信息进行管理及维护的功能。学生可以通过此系统进行个人信息,考试成绩查询以及完成选课功能。系统开发的总体任务是实现学生信息管理的系统化,规范化和自动化。
总之,学生管理系统的功能需求包括管理员对功能的需求和学生对功能的需求两大部分,如下所列:
·管理员对功能的需求
管理员权限最大,可以对学生,班级,课程情况进行统一的管理,管理员对功能的需求细分如下:
有关学生信息的浏览,包括学生的姓名,性别,民族,出生年月,入学日期,所在班级,籍贯及备注信息;
学生信息的添加,本系统由管理员对学生的基本信息进行添加;
学生信息的修改,删除;
班级管理信息的浏览,包括班级设置,年级信息等;
班级管理信息的添加;
班级管理信息的修改,删除;
教师信息的添加,本系统管理员对教师的基本信息进行添加;
教师权限的修改,管理员可以将教师的权限设为管理员;
学校基本课程的浏览,包括课程名,课程类型,学时,学分和课程具体描述;
学校基本课程的添加;
学校基本课程的修改,删除;
学校对所设课程进行教师分配;
学生成绩的浏览与统计,可按成绩具体范围(如系,班级等),课号,年度,统计内容方面对成绩进行统计;
学生成绩信息的添加;
学生成绩信息的修改,删除;
学生选课人数的统计。
·学生对功能的需求
学生只是利用此系统进行与自己由关的信息查询,输入等,不必关心其他的内容,学生对功能的需求如下:
浏览个人基本信息,具体内容包括姓名,学号,民族,出生日期,籍贯,所在班级,备注等;
学生登陆系统后,修改个人信息,为了保证系统安全性,只要求学生修改个人密码;
浏览课程信息,具体内容包括课程名,课程类型,学时,学分和课程的具体描述,任课教师;
学生利用此系统选修课程,在选课过程中,学生可查询待选课程的基本信息及教师情况,并可浏览截止当前选课的人数;
浏览个人选课情况;
浏览个人成绩。
3.2.2性能需求
省略
3.3系统框架
3.3.1系统流程分析
为了更清楚的说明系统框架对本系统有一个整体上的初步认识,我们给出了系统流程图
用户首先登入到初始页面default.aspx,如果以管理员的身份登录,则被系统引导至学生信息维护页student.aspx,该页是用户最常用的功能页。管理员可以在此页中进行班级管理和教师管理,通过班级管理页classes.aspx,可以添加新班级,查询班级信息等,通过教师管理页teacher.aspx,可以添加新教师,查询教师信息及将教师设为管理员,管理员也可以在信息维护中维护学生的个人信息,该页设置了通向其他管理页面的连接,如添加新学生页addstudent.aspx,课程管理页course.aspx和学生选课管理页student_course.aspx,以及成绩管理页grade.aspx,另外从课程管理页可以进入添加新课程页addcourse.aspx,各个管理页面的功能和各个管理模块挂钩。如果是本校的注册学生,则被系统引导至个人信息页quert.aspx,该页只要显示此登陆学生的个人信息,通过此页此学生可以进入修改密码页updatepwd.aspx,成绩查询页grade_query.aspx,以及选课浏览页sortcourse.aspx.
3.3.2系统功能模块分析
SMS主要的功能包括以下几个方面:用户管理(管理员,老师管理和学生管理),课程管理,班级管理,成绩管理选课管理。设计图如5–3所示,除此之外,系统还包含了教师管理,班级管理等辅助功能模块,用于协调4个主模块。
该模块由两个子模块构成,分别示管理员与教师管理模块和学生管理模块。主要负责管理员与教师以及学生信息的管理功能,具体参看管理员与教师管理子模块和学生管理子模块的模块功能描述。
管理员与教师管理子模块
该模块主要负责管理系统管理员的信息。它为用户管理模块的一个子模块。主要功能是将本校的教师权限设为管理员。管理员课添加新教师信息,每个教师有唯一的编号,之后通过把教师加为管理员,而令此教师具有管理员的权限,从而教师可以登陆系统进行管理员的相关操作。
学生管理子模块
该模块主要负责管理所有在校注册学生的个人信息。它为用户管理模块的一个子模块。主要功能包括添加,删除,修改,查找学生信息。每个学生有唯一的学号,管理员添加新生后,新生即可登陆此系统浏览个人信息,登陆此系统的用户名和密码默认都是此学生的学号。
课程管理模块
该模块负责管理本校所有的课程信息。主要功能包括添加,删除,修改,查找课程信息。只有管理员才具有对课程信息进行维护的权限,课程的类型分三种:公共课,专业课和选修课。课程管理模块是选课管理模块的基础,只有在课程管理中添有选修课的信息,学生才能进行选课。
选课管理模块
该模块负责选课的管理。主要功能包括删除,统计学生选课信息。它以在课程管理系统中维护号的信息作为基础,既可以对选修课程进行管理,也可以对统计选课人数,并根据学生选课时间先后决定最终选修此课的同学。
成绩管理模块
学生学的每一门课显然最后要有成绩,查询的内肉包括课程名称,学分,成绩等。只有管理员可以录入学生每一门课的成绩,并能进行修改,学生只能查询自己所学课程的成绩,并且可以查询每一学期学生所学课程所获总学分,前提是成绩必须及格,否则将没有此课的成绩。
班级管理模块
该模块负责班级的管理。主要功能包括添加,删除和修改班级信息,以及对班级信息的查询。只有管理员才具有对班级管理信息进行维护的权限。学生信息的添加是建立在班级信息维护的基础上,每个学生必然属于特定的班级。并且在管理员对学生成绩查询统计时,可以统计各个班级的平均分,最高分。
3.4系统配置
3.4.1软件配置
软件配置主要包括数据库的选择和操作系统的选择。学生管理系统的软件配置要根据用户对系统稳定的要求,系统的容量以及用户维护水平来确定。
3.4.2硬件配置
硬件配置主要包括客服端硬件和服务器端硬件的选择。学生管理系统的硬件配置要根据拥护对系统的稳定性要求,系统的容量,系统 吞吐量以及用户维护水平来确定。
5.4.3网络配置
3.5数据库分析
根据所涉及的学生管理信息系统的总数据结构,采用构建E-R图,导出系统数据表的分析方法,对学生管理信息系统作如下数据分析。
3.5.1系统E-R图
根据前面对系统做的需求分析,模块设计就可以作出能够满足用户需求的各种实体以及它们之间的关系。本系统根据上面的设计规划出:用户信息实体,学生信息实体,课程信息实体,班级信息实体,教师信息实体,学生-课程信息实体,教师-课程管理实体,下面给出系统数据库E-R图,如图5-6所示。
图5----6
图5—8
图5—11
学生管理系统学生-课程信息实体图,如图5-12所示
图5—12
学生管理系统教师-课程信息实体图,如图5-13所示
图5—13
在本系统中利用PowerDesigner设计E-R模型。PowerDesigner的概念数据模型(CDM)把现实的信息简化成为实体与实体之间的联系,它与DBMS无关。CDM的建立示一个比较复杂的过程,实体关系图的分析结果也非常复杂,一般情况下使用从简到繁的方式进行设计。首先从大的方面中设计出各个实体之间的关系,然后在这个关系的基础上对各个细节进行细化。
如图5-14所示,为学生管理系统的实体关系简图
图5-14
在进行详细设计的实体图设计时,除了有学生,班级,教师,课程基本实体分别记录学生,班级,教师,课程的基本信息外,考虑到便于系统管理员管理学生用户,设计了用实体用户,记录用户登陆系统时的用户名,密码以及权限。同时对于学生选课和教师教课都应该有记录,因此设计了学生选课和教师教课表,其中学生选课表里,包含了学生选课的内容和各门成绩,便于管理员对成绩的录入,修改以及用户对成绩的查询和检索;教师教课表的内容主要时包含教师所教课程的信息。
3.5.2表/字段分析
表/字段分析是建立在试题关系图基础上的。表字段分析后也可以利用Pewrdesigner建立数据库模型。
3.6 数据库创建
3.6.1创建数据库
省略
3.6.2 创建表
创建完CMS数据库后,开始往数据库里添加表。我们把添加过程进行罗列。下面是创建SMS系统Book表的操作步骤:
(1) 在Microsoft SQL Server企业管理器中,展开“数据库”和SMS节点。
(2) 右击“表”节点,然后从快捷菜单中选择“新建表”命令。
(3) 设计表的结构,包括设计表中每个字段的名称,类型,和长度等
(4) 在拟创建的SMS的users表中,我们选中User-id字段,然后单击工具栏的“设置主键”按扭,将此字段设置为主键。作为主键的字段不允许为空。
(5) 单击工具栏的“保存”按扭,然后在弹出的对话框中输入表名users。
(6) 单击“确定”按扭,返回表设计器。
(7) 单击标题栏的“关闭”按扭。
按同样的方法创建SMS中的其他表。创建完毕后的SMS表项列表。
创建表后,如果要往表里添加记录,请单击“表”节点,用户管理表的超级管理员信息需要在系统运行前进行初始维护。方法如下:在右边窗格中右击相应的表,然后从快捷菜单中选择“打开表”子菜单,再选择“返回所有行”命令,接着输入每条记录的各个字段的值,在SMS系统中我们打开users表添加一项管理员的记录,作为系统以后初次运行的第一操作员。
3.6.3创建存储过程
构建了数据库的表结构以后,接下来创建负责表中信息选择,添加,更新以及删除的相关过程,由于存储过程底册应用会给系统带来优化并提高效率,系统使用了如下5个存储过程。
1. select_student_1存储过程
2. insert_student_1存储过程
3. insert_course_1存储过程
4. insert_class_1存储过程
5. update_student_1存储过程
3.7 数据库连接/数据库具体配置
省略
8主要界面及相关代码
8.1学生管理系统首页
学生管理系统首页具有自动导航功能,不同用户登陆时将根据不同的身份进入不同的系统功能页。
代码入下
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Configuration;
namespace sms
{
public class _default : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox Tbx_userid;
protected System.Web.UI.WebControls.TextBox Tbx_userpwd;
protected System.Web.UI.WebControls.Label Lbl_note;
protected System.Web.UI.WebControls.Button Btn_enter;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Btn_enter.Click += new System.EventHandler(this.Btn_enter_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Btn_enter_Click(object sender, System.EventArgs e)
{
string strconn= ConfigurationSettings.AppSettings["dsn"];
SqlConnection cn=new SqlConnection(strconn);
cn.Open();
string strsql="select * from users where User_id='"+Tbx_userid.Text+"'and User_password='"+Tbx_userpwd.Text+"'";
SqlCommand cm=new SqlCommand(strsql,cn);
SqlDataReader dr=cm.ExecuteReader();
if(dr.Read())
{ Session["User_id"]=dr["User_id"];
Session["user_power"]=dr["User_power"];
if((int)Session["User_power"]==0)
{
Response.Redirect("query.aspx");
}
else
{
Response.Redirect("student.aspx");
}
}
else
{
Lbl_note.Text="对不起,登陆失败!";
}
cn.Close();
}
}
}
8.2学生信息维护页面
学生信息维护模块时SMS重管理学生学籍的部分。页面采用DataGrid控件的Dgd_student与DataSet数据集的绑定返回所有学生信息,可以对学生信息进行修改和删除。
8.3学生信息添加页面
学生信息添加页面主要负责往数据库里添加数据。后台支持事件主要为Btn_ok_Click()事件负责当用户单击“确定”按钮后的数据库添加操作。利用RequiredFieldValidator控件可以用来验证用户输入信息是否为空。若输入学号存在,利用CustomValidator验证控件,触发ServerValidator事件,判断是否存在此学号的学生。“重置”按钮的click事件将完成刷新此页面的功能。
8.4课程信息管理页面
课程信息管理页面与学生信息维护页面非常相似,进行DataGrid控件Dgd-course的绑定操作,管理员可以在此页面进行课程信息的编辑和删除。
8.5录入成绩页面
在录入成绩页面的初始化事件Page_Load()事件对“课程”下拉列表框控件Ddl_course进行初始绑定,使其显示该学生已选的所有课程信息。“录入”按钮的Click事件调用数据库操作语句,对数据库中相应学生,成绩关系表中的成绩信息进行更新。
8.6添加学生必修课页面
在添加学生必修课页面初始化事件Page_Load事件中将数据库中的所有课程及班级信息分别绑定到DropDownList控件的Ddl_course和Ddl_class控件中,“确定”按钮Btn_ok控件的Click()事件完成往数据库学生-课程信息表中添加所选班级范围下所有学生的相应课程选课记录的任务。
8.7成绩管理页面
成绩管理页面完成的功能比较多,包括按选定的条件进行限定条件的成绩查询。同时,也可以根据成绩范围对包含在该范围中的学生成绩作一统计,具体统计这门课的平均分,最高分,参加考试总人数以及优秀人数和不及格人数。此页面的关键就在于根据条件生成SQL语句。当“查询”“统计”操作被触发,系统将完成对数据库中多个表 的操作。
8.8学生选课管理页面
学生选课管理页面窗体所示,学生选课后需要管理员进一步确认管理,来确定最终选课信息。
8.9学生选课页面
学生可进入学生选课页面浏览本学期待选课程的信息,可以设定查询条件,可以根据选此课的人数,教师等情况来确定是否选择此课。
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于C#+asp.net+sqlserver的学生信息管理系统设计与实现(源码+文档)_C#_BS架构_学生信息管理系统.zip |