基于C#的研究生管理系统课程设计论文(32页).doc
《基于C#的研究生管理系统课程设计论文(32页).doc》由会员分享,可在线阅读,更多相关《基于C#的研究生管理系统课程设计论文(32页).doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于C#的研究生管理系统课程设计论文-第 30 页目 录第1章 概 述11.1项目的目的和意义11.2项目体系结构及开发环境11.3系统基本功能1第2章 系统设计22.1系统的模块划分22.2数据库设计4第3章 系统的详细设计及实现63.1公共类63.2系统登录与主窗体83.3 系统管理133.4专业管理203.5课程管理303.6研究生管理313.7成绩管理333.8用户管理343.9 帮助36结 论37参考文献38第1章 概 述1.1项目的目的和意义本次课程设计的题目是“研究生信息管理系统”的设计与实现。该设计是对本学期前八周所学的C#程序设计课程的巩固和深入应用。利用前面学过的知识来解
2、决实际问题,锻炼解决问题的能力和动手编程的能力。同时初步理解软件开发步骤和软件工程思想。并且通过亲手编写程序与开动脑筋,这加深理解并巩固所学专业知识,进一步提高认识问题、分析问题、解决问题的能力,为今后走向社会,适应工作,对某些软件实际要求做好思想准备和知识储备。 1.2项目体系结构及开发环境1 本系统采用Client/Server体系结构。2 系统开发环境1) 开发平台:Microsoft Visual Studio 20082) 开发语言:C#3) 数据库:Access20033 系统运行环境客户端:操作系统:Windows 2007、Windows XP服务器端:数据库:Access20
3、031.3系统基本功能在以上环境下对研究生信息管理系统进行开发与设计。主要实现系统登录、系统管理、专业管理、课程管理、研究生管理、成绩管理、用户管理等主要功能。第2章 系统设计2.1系统的模块划分研究生信息管理系统是学校教务系统中不可缺少的一个子系统,它涉及到学生、课程等信息的结合。学生选课系统包括以下七个模块:1登录模块登录模块提供用户登录界面,用户输入正确的用户名和密码后,则可进入系统主窗口(即导航页面),从而可以选择进入相应的子系统。2系统管理模块系统管理模块主要用户管理用户的基本信息,包括两个方面:角色管理和用户管理。其中角色管理包括,新建角色,修改角色权限,删除角色;而用户管理是管理
4、用户相关信息,主要包括注册用户,注销用户,修改用户权限。在这个模块中只有系统管理员才有此权限进入并对角色和用户信息进行管理。 3专业管理模块专业管理模块主要用于管理专业信息,包括专业代号、专业名、和专业描述,实现对专业的添加,修改,删除,浏览的功能。4 课程管理模块 课程管理模块主要用于对众多课程的管理,包括课程名,课程代号,课时,所属专业,授课地点。实现对课程信息的添加,修改,删除,和浏览功能。5 研究生管理模块研究生管理模块用于管理维护研究生信息,是该系统的重要一环,包括学号,姓名,性别,出生日期,教师代号,所属专业构成,实现开学时对研究生基本信息的录入与后期管理,所以也是包含了添加,修改
5、,删除,查询四个子功能。6 成绩管理模块成绩管理模块用于记录研究生成绩信息,包括学号、课程名和分数。实现对学生成绩的录入修改删除查询的功能,同时在成绩的变更过程中用学号代替了姓名,有效防止重名等问题导致学生成绩出错的困扰,同时也给学生一点隐私空间,7 用户管理模块用户管理模块式唯一不受权限管制的模块,所有用户均可以进入该模块修改登录密码或者重新登录另一位用户。8帮助模块帮助模块简要提示该系统操作要点。由于系统设计简单实用,凡是不合理操作均有提示,新用户只需根据提示操作即可实现相应功能。系统功能模块图如图2-1所示。研究生管理信息系统用户管理成绩管理研究生管理课程管理专业管理系统管理重新登录修改
6、密码课程查询课程删除课程添加专业查询专业删除专业添加角色管理用户信息管理课程修改专业修改 成绩查询成绩删除成绩修改成绩添加研究生信息添加研究生信息修改研究生信息删除研究生信息查询 图2-1 研究生管理信息系统模块图 2.2数据库设计根据前面的分析,研究生管理信息系统数据库(masterMIS)中包括系统用户信息“UserInfo”、角色信息“Roles”、专业信息“MajorInfo”、课程信息“CourseInfo”、研究生信息“StudentInfo”、成绩信息“ScoreInfo”、教师信息“TeacherInfo”七个数据表。表的结构、表字段的数据类型及相关说明如下:1.系统用户表系统
7、用户表“UserInfo”用于存放系统用户的相关数据。其结构如表2-1所示。表2-1 系统用户表列名说明数据类型约束UName用户名字符串,长度为16主键PWD用户密码字符串,长度为16非空RoleName角色字符串,长度为16非空2.角色信息表角色信息表“Roles”结构如表2-2所示。表2-2角色信息表列名说明数据类型约束RoleName角色名字符串,长度为20主键SystemManage系统管理是/否可空MajorManage专业管理是/否可空CourseManage课程管理是/否可空MasterManage研究生管理是/否可空ScoreManage成绩管理是/否可空UserManage
8、用户管理是/否可空3.专业信息表学生信息表“MajorInfo”结构如表2-3所示。表2-3专业信息表列名说明数据类型约束MName专业名字符串,长度为10主键MRemark专业描述字符串,长度为50非空MNo专业代号字符串,长度为20非空4.课程信息表课程信息表“CourseInfo”结构如表2-4所示。表2-4 课程信息表列名说明数据类型约束CName课程名字符串,长度为20非空CDate课时整数非空CNum课程号字符串,长度为10主键Mname所属专业字符串,长度为10非空CPlace授课地点字符串,长度20非空5.学生信息表学生信息表“StudentInfo”结构如表2-5所示。表2-
9、5 学生信息表列名说明数据类型约束SID学号字符串,长度为10主键 SName姓名字符串,长度为10非空SSex性别字符串,长度为10只能选择”男”或”女”SBirth生日字符串,长度为20非空TID教师号字符串,长度为10主键,引用TeacherInfo的外码MName所属专业字符串,长度为20主键,引用MajorInfo的外码6成绩信息表成绩信息表“ScoreInfo”用于学生成绩的相关数据。其结构如表2-6所示。表2-6 系统用户表列名说明数据类型约束SID学号字符串,长度为16主键CName课程字符串,长度为16非空Score分数整数非空7.教师信息表教师信息表“TeacherInfo
10、”结构如表2-7所示。表2-7选课信息表列名说明数据类型约束TID教师号字符串,长度为10主键 TName姓名字符串,长度为10非空第3章 系统的详细设计及实现3.1公共类考虑到系统的各个模块都需要访问数据库,因此最好的方法是编写一些访问数据库的方法,如返回数据集的公共查询方法,执行数据操作的公共方法,并把它们放在一个公共的类(DataBase)中,然后在各模块中调用这些方法来实现对数据库的访问。同样,在用户登录时,可能需要记录一些关于用户的信息,例如用户名、用户权限等,因此也需要使用到一些公共的静态变量,把这些变量放置在一个名为“ClassShared”的类中。3.1.1添加DataBase
11、公共类首先为系统添加一个名为“DataBase”的公共类,用于存放访问数据库的公共方法。添加公共类的方法和步骤如下:(1)选择【项目】-【添加类】菜单项,将弹出【添加新项】对话框,保留默认的选择,在“名称”文本框中输入“DataBase”。(2)单击【添加】按钮,则类“DataBase”已经被添加到项目中,并自动切换到该类的代码窗口。(3)设置DataBase类的访问修饰符为“Public”。3.1.2 编写公共方法因为在这些方法中需要使用到OleDbConnection、OleDbDataAdapter、DataSet和MessageBox,所以首先应当引入以下命名空间:using Syst
12、em.Data;using System.Data.OleDb;using System.Windows.Forms;然后为“DataBase”类声明几个公共变量:public OleDbConnection dataConnection = new OleDbConnection();public OleDbDataAdapter dataAdapter;public DataSet dataSet = new DataSet();public OleDbCommand command;/定义数据库连接字符串,随具体环境而定,应根据内容自行调整string connstr = Provide
13、r = Microsoft.Jet.OLEDB.4.0; + DataSource=masterMIS.mdb;1.公共查询方法GetDataFromDBGetDataFromDB是一个返回数据集的公共查询方法,如果正常访问则返回查询结果;否则返回null。代码如下:public DataSet GetDataFromDB(string sqlStr)/这是一个返回数据集的公共查询方法 try dataConnection.ConnectionString = connstr; dataAdapter = new OleDbDataAdapter(sqlStr, dataConnection)
14、; dataSet.Clear(); dataAdapter.Fill(dataSet);/填充数据集 dataConnection.Close(); catch (Exception exp) MessageBox.Show(exp.Message); dataConnection.Close(); if (dataSet.Tables0.Rows.Count != 0) return dataSet; /若找到相应数据返回数据集 else return null; /若找不到相应数据返回空值2.公共类数据操作方法UpdateDB公共类数据操作方法UpdateDB用于对数据进行添加、修改和删
15、除操作,若操作成功则返回true,否则 返回false。代码如下:public bool UpdateDB(string sqlStr)/公共数据操作方法,用于对数据进行增,改,删操作 try dataConnection.ConnectionString = connstr; dataConnection.Open(); command = dataConnection.CreateCommand(); command.CommandText = sqlStr; command.ExecuteNonQuery(); dataConnection.Close(); /关闭连接 return t
16、rue; catch (Exception exp) MessageBox.Show(exp.Message); return false;3.静态公共类ClassShared用于记录用户名和用户角色,代码如下:namespace 研究生管理信息系统 public class ClassShared/用于记录用户名和用户角色 public static string userInfo = new string2;3.2系统登录与主窗体登录是每一个成功项目中不可缺少的模块,好的登录模块可以保证系统的可靠性和安全性。3.2.1 登录界面设计新建一个Windows应用程序,命名为“研究生信息管理系统
17、”,使用PictureBox、Label、TextBox、Button控件将出现的默认窗体Form1设计成如图3-1所示。图3-1 登录界面3.2.2 登录功能实现及代码接下来编写登录模块的代码。【确认】按钮用于验证输入的用户名和用户密码,若正确则进入系统主界面;否则弹出错误提示,并等待用户的重新输入。登录时,需要记录登录的用户名和用户权限,因此在“ClassShared”公共类中声明公共静态成员,声明后“ClassShared”公共类的代码上文已有。然后切换到“frmMain”窗体设计器,双击【登录】按钮,编写其单击事件的代码如下:通过判断输入文本框中的用户名与密码是否与UserInfo表中
18、的用户密码相匹配,决定是进入主界面还是报错提示用户重新输入。 private void btnOK_Click(object sender, EventArgs e) try /验证登录密码 DataSet ds = new DataSet(); DataBase db = new DataBase(); string sqlStr = select PWD,RoleName from UserInfo where UName= + txtUserName.Text.Trim() + ; ds = db.GetDataFromDB(sqlStr); if (ds.Tables0.Rows0.I
19、temArray0.ToString() = txtPassword . Text.Trim() /密码正确情况,进入主界面 FrmMain frmmain = new FrmMain(); ClassShared.userInfo0 = txtUserName.Text.Trim(); ClassShared.userInfo1 = ds.Tables0.Rows0.ItemArray1.ToString(); frmmain.Show(); this.Hide(); else/密码错误情况,返回重新输入 MessageBox.Show( 用户名或密码输入错误,请重新输入!); txtUse
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 C# 研究生 管理 系统 课程设计 论文 32
限制150内