高校学生管理系统(课设毕设有源码)

高校学生管理系统(课设毕设有源码),第1张

高校学生信息管理系统(课设毕设有源码)
  • 1.系统概述
    • 1.1实现功能
    • 1.2功能模块
  • 2.数据流程图
  • 3数据表数据项
    • 3.1学生信息表结构(tb_Student)
    • 3.2学生成绩表结构(tb_Score)
    • 3.2学生毕业去向表(tb_qx)
    • 3.3数据整合表
  • 4.数据库概念结构设计
    • 4.1全局E-R图
  • 5.数据库逻辑结构设计
    • 5.1实体所对应的关系模式
    • 5.2关系模式优化处理
  • 6系统实现
    • 6.1系统详细功能
    • 6.2系统开发语言简介
  • 7.系统总体
    • 7.1教师模块
    • 7.2学生模块
  • 8.数据库连接代码及数据 *** 作代码
    • 8.1数据库连接代码
    • 8.2数据库代码
    • 8.3(3) 数据 *** 作代码:将数(CRUD)封装为DBHelper类
  • 9.系统测试分析
    • 9.1开发环境
    • 9.2系统特点
    • 9.3bug
  • 10.总结(源码)

1.系统概述

网上教学管理系统在目前的高校中使用还不普遍,但也有许多类似的成功案例:如教务管理系统、排课系统等。本系统采用html" class="superseo">class="superseo">c#html标识语言及SQL Server 2019。SQL Server(基于结构化查询语言的数据库服务器)是基于客户/服务器结构的数据库管理系统,用户通过使用客户系统从服务器检索信息并进行本地 *** 作,服务器关注数据库进程,而客户则关注信息的表示。数据库技术综合开发。

1.1实现功能
  实现了1 学生信息管理模块,2 用户管理 3授课管理
  具体看如下功能模块图
1.2功能模块
        1学生管理模块

2.用户管理(学生/老师)
3.授课信息

2.数据流程图

3数据表数据项 3.1学生信息表结构(tb_Student)

3.2学生成绩表结构(tb_Score)

3.2学生毕业去向表(tb_qx)


其余表太多了根据自己要做的内容自行进行添加

3.3数据整合表

4.数据库概念结构设计

概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
根据学生信息管理数据库设计需求抽象出学生、教师、课程、成绩四个实体,对四个实体做简化处理,默认一门课程仅被一位老师讲授。
(1)一个系部拥有多名学生,一名学生只属于一个系部,所以系部与学生之间是一对多(1:n)的关系;
(2)一位学生可能会选修多门课程,一门课程会被多位学生选修,所以学生与课程之间是多对多(m:n)的关系;
(3)一位学生会有多项成绩(具体指某学生一门课程的分数),一项成绩仅被一位学生拥有,所以学生与成绩是一对多(1:n)的关系;
(4)一个系部拥有多门课程,一门课程只属于一个系部,所以系部与课程的关系是一对多(1:n)的关系;
(5)一门课程拥有多项成绩,一项成绩仅被一门课程拥有,所以课程与成绩的关系是一对多(1:n)的关系;

4.1全局E-R图


之前做的没加毕业生去向,和奖罚处理模块的结构
具体以实现模块为主.

5.数据库逻辑结构设计 5.1实体所对应的关系模式

Student(Id,StuNum,StuPassWord,StuName,StuSex,StuTel,StuEmail,StuAddress,StuDepart,StuRemark,StuSuShe)
Score(Id,Subjectld,StuNum,XueNian,StuScore)
StudentAp(StuNum,StuName,StuJi,StuYuanyin)
Student123(StuNum,StuName,StuByqk,Stuqx,StuBydapjd,StuByhkpjd)

5.2关系模式优化处理

按照数据依赖对关系模式进行逐一分析,并进行极小化处理:
Student(Id,StuNum,StuPassWord,StuName,StuSex,StuTel,StuEmail,StuAddress,StuDepart,StuRemark,StuSuShe)
Score(Id,Subjectld,StuNum,XueNian,StuScore)
Depart(Id,DepartName)
Subject(Id,subjectName)
SysLodin(Id,SysName,SysPassWord)
StudentAp(StuNum,StuName,StuJi,StuYuanyin)
Student123(StuNum,StuName,StuByqk,Stuqx,StuBydapjd,StuByhkpjd)

6系统实现 6.1系统详细功能

功能模块:管理员(老师)模块具有以下功能:
(1) 班级管理:添加系别,系别列表


(2) 学生管理:添加学生,学生信息列表

(3) 课程管理:添加课程,信息列表

(4) 成绩管理:成绩录入,成绩列表

(5) 系统管理:更改密码

(6) 奖励惩罚管理:奖励录入、奖励列表

(7) 毕业工作管理:信息录入、信息列表

学生模块具有以下功能:
(1) 查看成绩信息

(2) 系统管理 (学生登录账号密码初始值都为学号):修改个人信息,更改密码

6.2系统开发语言简介

C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
C#是由C和C++衍生出来的一种安全的、稳定的、简单的、优雅的面向对象编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化 *** 作和C++的高运行效率,以其强大的 *** 作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

7.系统总体 7.1教师模块
   1.教师账号登录界面


2. 班级管理界面

3.班级信息列表

4.添加/修改学生个人信息

5.学生信息列表

6. 添加课程基本信息

7.课程信息列表

8.学生成绩录入

9.学生成绩表

10.奖励录入界面

11.奖励界面表

12.毕业生信息录入

13.毕业生去向

14.更改教师密码

7.2学生模块

1.学生账号登录界面

2. 查看课程成绩

3.修改学生个人信息

4.更改学生账号密码

8.数据库连接代码及数据 *** 作代码 8.1数据库连接代码



	
	
		
		
	
	
		
		
		
		
		
		
8.2数据库代码
	[id] [int] IDENTITY(1,1) NOT NULL,
	[SysName] [varchar](50) NULL,
	[SysPassWord] [varchar](50) NULL,
 CONSTRAINT [PK_tb_SysLogin] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[tb_SysLogin] ON
INSERT [dbo].[tb_SysLogin] ([id], [SysName], [SysPassWord]) VALUES (1, N'admin', N'admin')
SET IDENTITY_INSERT [dbo].[tb_SysLogin] OFF
/****** Object:  Table [dbo].[tb_SubjectInfo]    Script Date:12/12021 09:30:56 小康康 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tb_SubjectInfo](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[SubjectName] [varchar](50) NULL,
 CONSTRAINT [PK_tb_SubjectInfo] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[tb_SubjectInfo] ON
/****** Object:  Table [dbo].[tb_StudentInfo]    Script Date: 12/1/2021  小康康 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tb_StudentInfo](
	[id] [int] IDENTITY(19731126,1) NOT NULL,
	[StuNum] [varchar](50) NULL,
	[StuPassWord] [varchar](50) NULL,
	[StuName] [varchar](50) NULL,
	[StuSex] [varchar](50) NULL,
	[StuTel] [varchar](50) NULL,
	[StuEmail] [varchar](50) NULL,
	[StuAddress] [varchar](50) NULL,
	[StuDepart] [int] NULL,
	[StuRemark] [varchar](100) NULL,
	[StuSuShe] [varchar](100) NULL,
 CONSTRAINT [PK_tb_StudentInfo] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[tb_StudentInfo] ON
SET IDENTITY_INSERT [dbo].[tb_StudentInfo] OFF
/****** Object:  Table [dbo].[tb_Score]    Script Date: 12/1/2021 09:30:56 小康康 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tb_Score](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[subjectId] [int] NULL,
	[StuNum] [varchar](50) NULL,
	[XueNian] [varchar](50) NULL,
	[StuScore] [decimal](18, 2) NULL,
 CONSTRAINT [PK_tb_Score] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[tb_Score] ON
SET IDENTITY_INSERT [dbo].[tb_Score] OFF
CREATE TABLE [dbo].[tb_Student123](
 [StuNum] [varchar](50) NOT NULL,
 [StuName] [varchar](50) NOT NULL,
 [StuByqk] [varchar](50) NOT NULL,
 [StuByqx] [varchar](50) NOT NULL,
 [StuBydapjd] [varchar](50) NOT NULL,
 [StuByhkpjd] [varchar](50) NOT NULL
) ON [PRIMARY]
GO

/****** Object:  Table [dbo].[tb_StudentAp]    Script Date: 2021/12/23 20:48:14 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[tb_StudentAp](
	[StuNum] [varchar](50) NOT NULL,
	[StuName] [varchar](50) NOT NULL,
	[StuJj] [varchar](6) NOT NULL,
	[StuYuanyin] [varchar](50) NOT NULL
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[tb_Depart]    Script Date: 06/19/2020 09:30:56  小康康******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tb_Depart](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[DepartName] [varchar](50) NULL,
 CONSTRAINT [PK_tb_Depart] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[tb_Depart] ON
SET IDENTITY_INSERT [dbo].[tb_Depart] OFF

8.3(3) 数据 *** 作代码:将数(CRUD)封装为DBHelper类
using System;
using System.Data;//DataSet数据库命名空间
using System.Data.SqlClient;//.NET数据提供程序数据库命名空
using System.Configuration;//数据库连接字符串写在配置文件时要写入这个
/**********************************************
*************学生信息管理系统*******************
***********************************************
*                                              *
*        @File name:学生管理                   *
*                                              *
*		@Author:小康康                       *
*						                     * 
*		@Backend Development:小康康            * 
*						                      *
*		@Front-end Development: 川川           *
*                                              *
*       @Database Design:小温                  *
**********************************************/
/// <summary>
/// DBHelper 的摘要说明
/// </summary>

#region 5大对象
//ADO.NET组件,建立c#和sql sever之间的纽带
//ADO.NET=.NET数据提供程序+DdtaSet
//1.Connection:负责APP与DB之间的联系;
//2.Command:负责执行SQL命令 增删改
//3.DateReader:负责读取查询结果(Select语句)查
//4.DataAdapter:数据适配器(牵线搭桥)
//5.DataSet:内存中的数据库

#endregion

public class  DBHelper
{
    #region 连接数据库
    public DBHelper()
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
		}
		/// <summary>
		/// 获得数据库连接字符串
		/// </summary>
		/// <returns></returns>
		public static string GetConnStr()
		{
			return ConfigurationManager.ConnectionStrings["DB"].ConnectionString;
		}
    #endregion
    #region 查询
    /// <summary>
    /// 由sql变量(select语句)得到DataSet学期查询记录集合
    /// </summary>
    /// <param name="sql">select语句,字符串学期</param>
    /// <returns></returns>
    public static DataSet GetDataSet(string sql)
		{
			SqlConnection conn = new SqlConnection(GetConnStr());
			conn.Open();
			SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
			DataSet ds = new DataSet();
			sda.Fill(ds);
			conn.Close();
			return ds;
		}
    #endregion
    #region 增加,删除,更改
    /// <summary>
    /// 执行sql语句,主要是insert、update、delete语句
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public static Boolean ExecSql(string sql)
		{
			SqlConnection conn = new SqlConnection(GetConnStr());
			conn.Open();
			SqlCommand cmd = new SqlCommand(sql, conn);
			try
			{
				cmd.ExecuteNonQuery();
				conn.Close();
			}
			catch (Exception ex)
			{
				conn.Close();
				return false;
			}
			return true;
		}

	}
#endregion
9.系统测试分析 9.1开发环境

(1)系统结构:B/S(浏览器/服务器)
(2)开发技术:asp.net
(3)开发语言: C#,html,css
(4)数据库 SQL Server 2019
(5)开发平台 Microsoft Visual Studio 2019

9.2系统特点

(1)本系统完全基于Web技术,只要能连接Internet,就能访问本系统。
(2)采用Asp.net + SQL server 2019开发,具有管理方便,代码简单易懂,体积小巧的特点。
(3)具有清新简洁方便的界面, *** 作简单。
(4)支持所有的Windows系列 *** 作系统。

9.3bug

在测试过程中发现当数据量大时,界面会稍微有延迟,后发现在DBHelper类封装CRUD时忘记使用了using语句,当回收垃圾时还是采用了.NET中的GC垃圾回收机制,导致系统在加载时会有着一定卡顿,没有进行优化,在StudentInfoAdd.aspx学号进行自动添加时发现当进行设置字母时会出现如下错误,当库中第一次没数据时可以添加,然后第二名学生就不行,最后发下是在aspx设置自增长时格式没转化。

10.总结(源码)

使用三层架构(UI,BLL,DAL)与ASP.NET结合,实现了学生信息管理系统,使用到了模块和程序分离的模式对于管理员(老师)来说,很方便,优秀的Visual Studio 2019开发环境,采用C#,.NET,他的标配数据库就是sql sever。
有写的看起来不适应的不对的,以及建议,也请大佬在评论区点评指导 ,谢谢.
有问题可以私信我或者联系我
企鹅:1833226220
github:https://github.com/xiekangssq/local.git


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/725320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存