收藏 分销(赏)

用C#做学生信息管理系统备课讲稿.doc

上传人:丰**** 文档编号:3853780 上传时间:2024-07-22 格式:DOC 页数:34 大小:448KB 下载积分:12 金币
下载 相关 举报
用C#做学生信息管理系统备课讲稿.doc_第1页
第1页 / 共34页
用C#做学生信息管理系统备课讲稿.doc_第2页
第2页 / 共34页


点击查看更多>>
资源描述
课 程 设 计 课程名称 数据库系统原理课程设计 题目名称 学生信息管理系统 专业班级 学生姓名 学 号 指导教师 目 录 摘 要 2 第一章 需求分析 3 1.1信息需求 3 1.1功能需求 3 第二章 数据库设计 5 第三章 类的应用 6 3.1模块任务 6 3.2模块指标 6 3.3 模块提出 6 3.4 模块实施 6 第四章 数据访问方法 8 4.1模块任务 8 4.2模块指标 8 4.3 模块实施 8 第五章 窗体和事件应用 10 5.1 模块任务 10 5.2 模块的提出 10 5.3 模块实施 10 第六章 程序设计总结 15 6.1感想 15 6.2致谢 15 参考文献 16 附源程序 17 摘 要 目前,我国的大中专院校的学生信息管理水平普遍不高。在当今的信息时代,传统的管理方法必然要被以计算机为基础的信息管理系统所代替,而且目前很多重点院校都已经有了自己的教务管理系统。已有的大都比较偏向学生档案管理,学籍管理等,而本案例则把重点放在信息管理上,从整体上进行分析设计,这对于其他类似的管理系统的设计有很高的参考意义。 采用学生信息管理系统进行C#程序开发,将C#程序中的所有概念和技术应用到学生信息管理系统的开发当中,按照软件工程的思想来进行网站开发。分别进行学生信息管理系统需求分析、学生信息管理系统数据库设计、学生信息管理系统主菜单设计、学生信息管理系统中类的应用、学生信息管理系统数据访问方法、学生信息管理系统窗体和事件应用和学生信息管理系统应用部署等几个模块来完成。 关键词:C#;数据库;信息管理;管理系统 第一章 需求分析 1.1信息需求 我们将管理体制和建立各种管理规范与开发信息系统有机地结合起来,通过几个功能模块进行统一管理,要求管理系统满足以下几个方面的要求: 从用户角度来看,系统首先应该能够提供便捷与强大的信息查询功能。对于学校的全体教师而言,他们应该能够对系统的不同部分有各自不同的权限。 具有较强的灵活性及可扩展性,能够存储一定数量的学生信息,并方便有效地进行相应的数据操作和管理.这主要包括:学生信息的录入、删除及修改,各种信息的单条件查询和多条件的组合查询,以及学生各科信息的多关键字检索查询。 具有较高的安全性,系统登录有各自的安全账户。系统管理员可添加用户信息,更改用户信息和删除用户信息,同时可以针对其他的信息具有所有的权限;任课教师可以录入信息;学生只能对所有的信息具有查询的功能,不具有修改、删除和录入的权限。系统能够提供数据信息授权访问,防止随意删改等。 1.2功能需求 1.2.1功能模块设计 学生信息管理系统 系统管理 学生管理 用户添加 用户查询 用户修改 用户删除 学生添加 学生查询 学生修改 学生删除 图1-1功能模块图 1.2.2 系统管理 本模块主要是维护系统的正常运行和安全性设置,包括当登录用户身份时管理员能够完成添加用户、删除用户、修改密码、查询用户的权限和重新登录等功能,以及能够实现按照学生的学号、学生的姓名、学生所在班级代码或者学生的性别,进行单条件或者组合条件的查询。 主要有: 1、用户信息添加 2、用户信息查询 3、用户信息删除 4、用户信息修改 5、用户修改密码 1.2.3 学生管理 本模块能够实现有关学生基本信息的录入、修改、查询和删除。同时能够实现按照学生学号或学生姓名,进行单条件或者组合条件的查询。 主要有: 1、学生基本信息的录入 2、学生基本信息的修改 3、学生基本信息的查询 4、学生基本信息的删除 第二章 数据库设计 学生信息管理系统是以学生信息数据为主的管理,其数据库的建立、健全就是关键。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。同时,合理的数据库结构也有利于程序的实现。 主要步骤如下: 1、创建学生信息管理系统数据库: SXXXGL 2、创建学生信息管理系统的数据表: StudentInfo和UserInfo 表2-1学生信息表StudentInfo 列名 数据类型 数据长度 允许null 备注 Sno varchar 8 不允许 学号 Sname varchar 20 允许 姓名 Sex varchar 2 允许 性别 Birthday datetime 8 允许 出生日期 Classid varchar 10 允许 班级 Tel varchar 20 允许 电话 表2-2 用户登录表UserInfo 列名 数据类型 数据长度 允许null 备注 Userlevel Userid Userpwd varchar varchar varchar 10 10 10 允许 不允许 允许 用户权限 用户名 用户密码 第三章 类的应用 3.1模块任务   创建学生信息管理系统中的各个实体类。 3.2模块指标   创建学生信息管理系统的实体类: Constants类、StudentInfoData类、StudentInfoOperation类、DataAccess类、UserInfoData类和UserInfoOperation类。 3.3 模块提出 学生信息管理系统的需求分析和数据库创建之后,已经确定了所要实现的功能模块内容,对于程序的开发,可以采用直接在表现层来编写代码,直接访问数据库。但是这种方式,对于程序的安全性和后续程序的扩展都是非常不利的。因此,创建实体类是必不可少的。 3.4 模块实施 3.4.1学生信息类 学生信息类StudentInfoData.cs,主要是针对学生信息的实体定义。 StudentInfoData.cs类的访问修饰符应该设为public,设置为公开的,这样才可以被其他层的类访问。定义StudentInfoData.cs类的形式如下所示: public class StudentInfoData { }  StudentInfoData类中主要进行属性的设置。各个属性对应数据库StudentInfo表中的相应字段。主要程序代码包含6个内部变量: 1、设置学号的内部变量为字符串类型的sno 2、学生姓名的内部变量为字符串类型的sname 3、性别的内部变量为字符串类型的sex 4、出生日期的内部变量为字符串类型的birthday 5、电话的内部变量为字符串类型的tel 6、班级号的内部变量为字符串类型的classid 使用get访问器来返回所对应的内部变量的值,使用set访问器来设置所对应的内部变量的值。 3.4.2用户信息类 用户信息类UserInfoData.cs,主要是针对用户信息的实体定义。UserInfoData类中主要进行属性的设置。各个属性对应数据库UserInfo表中的相应字段。主要程序代码包含3个内部变量: 1、设置用户名的内部变量为字符串类型的userid 2、用户密码的内部变量为字符串类型的userpwd 3、用户身份的内部变量为字符串类型的userlevel 使用get访问器来返回所对应的内部变量的值,使用set访问器来设置所对应的内部变量的值。 3.4.3用户权限类 用户权限类Constants.cs,主要是针对用户权限的实体定义。Constants类中主要进行属性的设置。主要程序代码包含2个内部变量: 1、设置用户名的内部变量为字符串类型的username 2、用户权限的内部变量为字符串类型的userlevel 使get访问器来返回所对应的内部变量的值,使用set访问器来设置所对应的内部变量的值。 第四章 数据访问方法 4.1模块任务 创建学生信息管理系统中的各个操作类。 4.2模块指标   创建学生信息管理系统的操作类:DataAccess类、StudentInfoOperation类、和UserInfoOperation类。 针对数据表中的数据信息进行实体类的定义之后,需要针对这些数据表中的内容,定义针对数据的增、删、改和查等数据访问操作类。 4.3 模块实施 4.3.1数据访问类 DataAccess.cs类的访问修饰符设为public,设置为公开的,这样才可以被其他类访问。但是在定义DataAccess.cs类之前,需要引用命名空间,如下所示: using System.Data; using System.Data.SqlClient; DataAccess.cs类主要是实现数据库连接及对SQL命令的执行。 public class DataAccess { } 首先在DataAccess.cs类中定义静态连接字符串ConnectionString,其代码如下所示: public static string ConnectionString = "data source=.;database=SSCGGL;integrated security=true;"; public bool ExecuteSQL(string sql) public SqlDataReader GetReader(string sql) public DataSet GetDataSet(string sql, string tablename) public int GetCount(string sql) public bool CheckAdmin(string strname, string strpwd) 4.3.2学生操作类 StudentInfoOperation.cs类的访问修饰符设为public,设置为公开的,这样才可以被其他类访问。 StudentInfoOperation.cs类主要是实现对学生信息的操作,针对数据库中的StudentInfo表进行增删改查操作。定义StudentInfoOperation.cs类的形式如下所示: public class StudentInfoOperation { } 在该类中,定义的方法都是需要调用数据访问类DataAccess.cs中的方法,因此需要首先实例化数据访问类DataAccess类的对象。定义的代码如下所示: private static DataAccess dataAccess = new DataAccess(); public static bool insertStudentInfo(StudentInfoData studentInfoData) public static bool updateStudentInfo(StudentInfoData studentInfoData) public static bool deleteStudentInfo(string sno) public static DataSet getStudentInfo(StudentInfoData studentInfoData) 4.3.3用户操作类 UserInfoOperation.cs类的访问修饰符设为public,设置为公开的,这样才可以被其他类访问。 UserInfoOperation.cs类主要是实现对用户信息的操作,针对数据库中的UserInfo表进行增删改查操作。定义UserInfoOperation.cs类的形式如下所示: Public class UserInfoOperation { } 在该类中,定义的方法都是需要调用数据访问类DataAccess.cs中的方法,因此需要首先实例化数据访问类DataAccess类的对象。定义的代码如下所示: private static DataAccess dataAccess = new DataAccess(); public static bool insertUserInfo(UserInfoData data) public static bool updateUserInfo(UserInfoData data) public static bool deleteUserInfo(string userid) public static DataSet getUserInfo(UserInfoData data) public static DataSet getUserInfoAll(UserInfoData data) 第五章 窗体和事件应用 5.1 模块任务 5.1.1 创建学生信息管理系统中的各个窗体 5.1.2 实现对用户、学生信息的增删改查功能 创建学生信息管理系统的窗体:Frmlogin.cs登录窗体、Frmxsxxgl.cs主窗体、Frmaddstu.cs添加学生窗体、FrmaddUser.cs添加用户窗体、Frmcjcx.cs信息查询窗体、Frmmmxg.cs用户修改密码窗体、Frmstuxxcx.cs学生查询窗体、Frmusercx.cs用户查询窗体。 5.2 模块的提出 窗体是进行用户体验的最好方式,当用户使用学生信息管理系统的时候,窗体是用户直接使用的界面,因此需要设计合理并便于用户操作。 5.3 模块实施 5.3.1 Frmlogin.cs登录窗体 Frmlogin.cs窗体是用户进行登录所使用的窗体,主要包含Label标签、TextBox文本框和Button按钮。用户输入用户名和密码之后,点击“登录”按钮,可以验证用户身份的合理性,用户身份有效可以登录到主界面中。如图5-1所示。 图5-1学生信息管理系统的主界面 5.3.2 Frmxsxxgl.cs主窗体 Frmxsxxgl.cs窗体为主窗体,窗体上包含了所有模块的菜单项,但是系统根据用户的权限,来设置菜单项中的哪些模块是可以使用的,哪些模块是不可以使用的。 首先在Frmxsxxgl.cs主界面的构造函数中,进行用户权限的判断,如果是学生或者教师登录,那么只允许部分模块进行操作,只有管理员可以所有模块都进行操作。首先创建UserInfoData用户实体类的对象data,并且将Frmlogin.cs窗体中用户登录的名字赋值给data对象的Userid属性,创建数据集ds来获取UserInfoOperation用户操作类中的getUserInfoAll()方法中用户记录。如果用户记录不为空,那么获取该用户的Userlevel字段的值,该值如果为学生或者教师,那么部分模块的Enabled属性设置为false,让这些模块不可用。如果为管理员,那么默认的所有的模块都是可用的,也就是所有模块菜单的Enabled属性的初值均为true。如图5-2所示。 图5-2主页面中的菜单 5.3.3 Frmaddstu.cs添加学生窗体 Frmaddstu.cs窗体主要是用来添加学生信息或者修改学生信息,输入学号、姓名、性别、出生日期、家庭住址、家庭电话和所在班级,点击“保存”按钮即可录入或者修改学生信息记录,点击“取消”按钮,退出学生信息添加窗体。如图7-1所示。 图5-3 Frmaddstu.cs窗体 5.3.4 FrmaddUser.cs添加用户窗体 FrmaddUser.cs窗体主要是实现登录用户的添加操作。该窗体中包含了用户名、密码、确认密码和用户权限这些信息。当点击“保存”按钮时,即可以将用户的这些信息添加到数据库中。点击“取消”按钮,可以退出用户信息添加窗体。如图7-2所示。 图5-4 FrmaddUser.cs窗体 5.3.5 Frmmmxgx.cs用户修改密码窗体 Frmmmxgx.cs窗体主要是实现用户修改密码的功能。该窗体中,可以通过输入用户名和原密码,然后输入新密码和确认新密码,来修改用户的登录密码。如图7-3所示。 图5-5 Frmmmxgx.cs窗体 5.3.6 Frmstuxxcx.cs学生信息查询窗体 Frmstuxxcx.cs窗体主要是实现学生信息查询功能。该窗体中,可以通过学生学号、学生姓名、性别或班级信息进行查询,窗体中有一个DataGridView控件,当查询出结果后,可以选中控件中的一条记录,进行删除或者修改操作。如图7-4所示。 图5-6 Frmstuxxcx.cs窗体 5.3.7 Frmusercx.cs用户信息查询窗体 Frmusercx.cs窗体主要是实现用户信息查询功能。该窗体中,可以通过用户名或者用户类型进行查询,窗体中有一个DataGridView控件,当查询出结果后,可以选中控件中的一条记录,进行删除或者修改操作。如图4-5所示。 图5-7 Frmusercx.cs窗体 第六章 程序设计总结 6.1感想 6.2致谢 参考文献 [1] Andrew Troelsen著 朱晔 译《C#与.NET 4高级程序设计》 人民邮电出版社 2011年4月  [2] 张俊 崔海波 著《ADO.NET数据库应用开发》机械工业出版社 2008年1月  [3](英)夏普 著 《Visual C# 2005从入门到精通》清华大学出版社 2006-6-1  [4](美)里克特 著,李建忠 译《NET框架程序设计(修订版)》 清华大学出版社 2003-11-1 [5](美)罗宾逊,(美)内格尔 著,李敏波 翻译《C#高级编程(第3版)》 清华大学出版社 2005-6-1 附源程序 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 学生信息管理系统4 { public partial class Frmlogin : Form { public Frmlogin() { InitializeComponent(); } //设置启动模块 private void btnlogin_Click(object sender, EventArgs e) { string name, pwd; if (Username.Text.Trim() != "" && password.Text.Trim() != "") { name = Username.Text.Trim(); pwd = password.Text.Trim(); DataAccess data = new DataAccess(); if (data.CheckAdmin(name, pwd)) { Classes.Constants.Username = Username.Text.Trim(); Frmxsxxgl winmain = new Frmxsxxgl(); winmain.Show(); this.Hide(); } else { MessageBox.Show("您输入的账号或密码有误,请重新登录!"); Username.Text = ""; password.Text = ""; } } } private void button2_Click(object sender, EventArgs e) { Application.Exit(); } } } using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 学生信息管理系统4 { public partial class Frmxsxxgl : Form { public Frmxsxxgl() { InitializeComponent(); Classes.UserInfoData data = new 学生信息管理系统4.Classes.UserInfoData(); data.Userid = Classes.Constants.Username;//获取登录用户的姓名 DataSet ds = Classes.UserInfoOperation.getUserInfoAll(data); if (ds.Tables[0].Rows.Count > 0) { //获取登录用户的身份 Classes.Constants.Userlevel = ds.Tables[0].Rows[0]["Userlevel"].ToString(); //登录身份是“学生”,设置某些模块不可被调用 if (Classes.Constants.Userlevel == "学生") { this.用户查询ToolStripMenuItem.Enabled = false; this.用户删除ToolStripMenuItem.Enabled = false; this.用户添加ToolStripMenuItem.Enabled = false; this.成绩录入ToolStripMenuItem.Enabled = false; this.成绩删除ToolStripMenuItem.Enabled = false; this.成绩修改ToolStripMenuItem.Enabled = false; this.课程信息删除ToolStripMenuItem.Enabled = false; this.课程信息添加ToolStripMenuItem.Enabled = false; this.课程信息修改ToolStripMenuItem.Enabled = false; this.班级信息删除ToolStripMenuItem.Enabled = false; this.班级信息添加ToolStripMenuItem.Enabled = false; this.班级信息修改ToolStripMenuItem.Enabled = false; this.学生信息删除ToolStripMenuItem.Enabled = false; this.学生信息添加ToolStripMenuItem.Enabled = false; this.学生信息修改ToolStripMenuItem.Enabled = false; this.专业信息删除ToolStripMenuItem.Enabled = false; this.专业信息添加ToolStripMenuItem.Enabled = false; this.专业信息修改ToolStripMenuItem.Enabled = false; this.教师信息删除ToolStripMenuItem.Enabled = false; this.教师信息添加ToolStripMenuItem.Enabled = false; this.教师信息修改ToolStripMenuItem.Enabled = false; } //登录身份是“任课教师”,设置某些模块不可被调用 else if (Classes.Constants.Userlevel == "任课教师") { this.用户查询ToolStripMenuItem.Enabled = false; this.用户删除ToolStripMenuItem.Enabled = false; this.用户添加ToolStripMenuItem.Enabled = false; this.成绩删除ToolStripMenuItem.Enabled = false; this.成绩修改ToolStripMenuItem.Enabled = false; this.课程信息删除ToolStripMenuItem.Enabled = false; this.课程信息添加ToolStripMenuItem.Enabled = false; this.课程信息修改ToolStripMenuItem.Enabled = false; this.班级信息删除ToolStripMenuItem.Enabled = false; this.班级信息添加ToolStripMenuItem.Enabled = false; this.班级信息修改ToolStripMenuItem.Enabled = false; this.学生信息删除ToolStripMenuItem.Enabled = false; this.学生信息添加ToolStripMenuItem.Enabled = false; this.学生信息修改ToolStripMenuItem.Enabled = false; this.专业信息删除ToolStripMenuItem.Enabled = false; this.专业信息添加ToolStripMenuItem.Enabled = false; this.专业信息修改ToolStripMenuItem.Enabled = false; this.教师信息删除ToolStripMenuItem.Enabled = false; this.教师信息添加ToolStripMenuItem.Enabled = false; this.教师信息修改ToolStripMenuItem.Enabled = false; } } } private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) { this.Close(); } private void 技术支持ToolStripMenuItem_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start(""); } private void 关于学生信息管理系统ToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("学生信息管理系统4V.7", "版本信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); } private void 联系我们ToolStripMenuItem_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("mailto:moon120@"); } private void 重新登录ToolStripMenuItem_Click(object sender, EventArgs e) { Frmlogin login = new Frmlogin(); login.Show(); this.Close(); } private void 用户查询ToolStripMenuItem_Click(object sender, EventArgs e) { Frmusercx usercx = new Frmusercx(); usercx.MdiParent = this; usercx.Show(); } private void 用户添加ToolStripMenuItem_Click(object sender, EventArgs e) { FrmaddUser adduser = new FrmaddUser(); adduser.MdiParent = this; adduser.Show(); } private void 用户修改ToolStripMenuItem_Click(object sender, EventArgs e) { Frmmmxg objchild = new Frmmmxg(Classes.Constants.Username); objchild.MdiParent = this; objchild.Show(); } private void 用户删除ToolStripMenuItem_Click(object sender, EventArgs e) { Frmusercx usercx = new Frmusercx("del"); usercx.MdiParent = this; usercx.Show(); } } } using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 学生信息管理系统4 { public partial class Frmusercx : Form { public Frmusercx() { InitializeComponent(); } public Frmusercx(string a) { InitializeComponent(); this.btncancle.Enabled = true; } publ
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服