《基于c#的研究生管理系统课程设计正文论文--学位论文.doc》由会员分享,可在线阅读,更多相关《基于c#的研究生管理系统课程设计正文论文--学位论文.doc(39页珍藏版)》请在金锄头文库上搜索。
1、东北石油大学本科生课程设计(论文)目 录第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参考文献381- -东北石油大学本科生课程设计(论文)第1章 概 述1.1项目的目的和意义本次课程设计的题目是“研究生信息管理系统”的设计与实现。该设计是对本学期前八周所学的C#程序设计课程的巩固和深入应用
2、。利用前面学过的知识来解决实际问题,锻炼解决问题的能力和动手编程的能力。同时初步理解软件开发步骤和软件工程思想。并且通过亲手编写程序与开动脑筋,这加深理解并巩固所学专业知识,进一步提高认识问题、分析问题、解决问题的能力,为今后走向社会,适应工作,对某些软件实际要求做好思想准备和知识储备。 1.2项目体系结构及开发环境1 本系统采用Client/Server体系结构。2 系统开发环境1) 开发平台:Microsoft Visual Studio 20082) 开发语言:C#3) 数据库:Access20033 系统运行环境客户端:操作系统:Windows 2007、Windows XP服务器端:
3、数据库:Access20031.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”七个数据表。表的结构、表字段的数据类型及相关说明
7、如下:1.系统用户表系统用户表“UserInfo”用于存放系统用户的相关数据。其结构如表2-1所示。表2-1 系统用户表列名说明数据类型约束UName用户名字符串,长度为16主键PWD用户密码字符串,长度为16非空RoleName角色字符串,长度为16非空2.角色信息表角色信息表“Roles”结构如表2-2所示。表2-2角色信息表列名说明数据类型约束RoleName角色名字符串,长度为20主键SystemManage系统管理是/否可空MajorManage专业管理是/否可空CourseManage课程管理是/否可空MasterManage研究生管理是/否可空ScoreManage成绩管理是/否
8、可空UserManage用户管理是/否可空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”结
9、构如表2-5所示。表2-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.教师信息表教师信息表
10、“TeacherInfo”结构如表2-7所示。表2-7选课信息表列名说明数据类型约束TID教师号字符串,长度为10主键 TName姓名字符串,长度为10非空第3章 系统的详细设计及实现3.1公共类考虑到系统的各个模块都需要访问数据库,因此最好的方法是编写一些访问数据库的方法,如返回数据集的公共查询方法,执行数据操作的公共方法,并把它们放在一个公共的类(DataBase)中,然后在各模块中调用这些方法来实现对数据库的访问。同样,在用户登录时,可能需要记录一些关于用户的信息,例如用户名、用户权限等,因此也需要使用到一些公共的静态变量,把这些变量放置在一个名为“ClassShared”的类中。3.1
11、.1添加DataBase公共类首先为系统添加一个名为“DataBase”的公共类,用于存放访问数据库的公共方法。添加公共类的方法和步骤如下:(1)选择【项目】-【添加类】菜单项,将弹出【添加新项】对话框,保留默认的选择,在“名称”文本框中输入“DataBase”。(2)单击【添加】按钮,则类“DataBase”已经被添加到项目中,并自动切换到该类的代码窗口。(3)设置DataBase类的访问修饰符为“Public”。3.1.2 编写公共方法因为在这些方法中需要使用到OleDbConnection、OleDbDataAdapter、DataSet和MessageBox,所以首先应当引入以下命名空
12、间:using System.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 = Provider = Microsoft.Jet.OLEDB.4.0; + DataSource=masterMIS.mdb;1.公共查询方法GetDataFromDBGetDataFromDB是一个返回数据集的公共查询方法,如果正常访问则返回查询结果;否则返回null。代码如下:public DataSet GetDataFromDB(string sqlStr)/这是一个返回数据集的公共查