还剩10页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
学生信息管理系统
一、需求分析学生信息管理系统是一个现代高校不可缺少的一部分,使用计算机对高校日常学生管理和教学工作进行统一管理,有助于我们快速了解高校教学现状,实现高校教学管理的信息化,提高现在高校的综合竞争能力-系统概述学生信息管理系统是一个可以用于学生信息以及课程构成进行增、册h改、查等操作的应用软件该系统提供了一个较完整的人机界面供用户进行操作,可根据用户权限,用户可以根据图形化界面对信息的相关各项数据进行管理操作-系统运行环境
1、硬件环境•处理器Intel P4或更高•内存1GB•硬盘空间160GB•显卡SVGA显示适配器
2、软件环境•操作系统Windows XP/7•运行平台.NET Framework4三功能需求描述学生信息管理系统软件是由学生基本信息,课程基本信息构成,用于对教学管理进行辅助的应用软件功能需求描述如下
1、考虑到系统的可移植性,需要一个数据库配置模块,用于配置系统的数据库环///summary III刷新数据2///〈/summary〉III returns/returns publicDataSet RefreshData2return userDAL.RefreshData2;///summary III添加用户III〈/summary〉///〈param name=,Tuser n/param publicvoid addUserUseruseruserDAL.addUseruser;///〈summary〉III删除用户III〈/summary〉III param name=nuser nX/param publicvoid deleteUserUseruseruserDAL.deleteUseruser;//----------------------------------------------------------------------------用户界面层UI的实现以售货员登录为例,代码如下private voidbtnSaleLogin_Clickobject sender,EventArgs etrystring userName=txtUserName.Text.Trim;string userPassword=txtUserPassword.Text.Trim;string regexUser=@A[a-zA-Z]\w{4,31}$n;if!Regex.IsMatchuserName,regexUser|MessageBox.Show用户名格式不正确,请重新输入“,“提示;txtUserName.Text=txtUserPassword.Text=n;txtUserName.Focus;return;if userPassword.Length6||userPassword.Length32Messag㊀Box.Show密码为6-32个字符,请重新输入,”提示”;txtUserPassword.Text=txtUserPassword.Focus;return;UserBLL userBLL=new UserBLL;string result=userBLL.UserLoginuserName,userPassword;if result==OKUserBLL.loginType=nSaleLogin n;GoodsSale ob_GoodsSale=new GoodsSale;ob_GoodsSale.Show;this・Hide;else ifresult==UserName ErrornMessageBox.Show用户名错误,请重新输入”,“提示”;txtUserName.Text=n;txtUserPassword.Text=txtUserName.Focus;elseMessag㊀Box.Show密码错误,请重新输入“,“提示”;txtUserPassword.Text=nn;txtUserPassword.Focus;catch ExceptionexMessageBox.Showex.Message;}//---------------------------------------------------------------------------------五其他模块的实现具体代码详见源代码文件夹
2、提供用户登录界面,用户输入正确的用户名和密码后,才可以进入系统系统应当包含两种用户超级用户和一般用户超级用户具有系统操作的所有权限一般用户需先注册才能使用可以进行系统用户管理,主要用于管理系统用户,包括设置一般用户的操作权限和删除一般用户的功能
3、可以对密码进行保护,遗忘密码的情况可以找回密码
4、课程模块用于课程的相关操作,如果是课程已有课程,可以修改课程时间、学分等,如果系统中没有的课程,则添加课程信息的功能课程信息包括课程名、学期、学分和学时
5、可以进行查询学生信息,可以按照学号、姓名、性别、生日等模糊查询课程信息的功能
6、可以给用户提供一些帮助信息,告诉用户如何操作本系统
二、总体设计
(一)设计思路本系统使用C#语言进行开发和实现,总体思想基于面向对象的程序设计在本系统中使用三层结构,主要实现的是管理系统的增、册h改和查等典型功能,应用了高级语言程序设计中的基本控制结构和事件触发机制,并且包含对数据库的操作和对文件的读、写等操作在软件开发过程中应用了软件工程的基本理论(-)系统功能模块学生信息管理系统是能够提高校现代化的一个软件系统,该系统涉及到学生管理、课程管理等功能的结合根据“高内聚”与“低耦合”原则,将教务系统模块化,下面直接给出系统包括的以下十二个功能模块,其中第三-十模块为本系统的核心功能模块
1、数据库配置模块考虑到系统的可移植性,为系统设计了一个数据库配置模块,用于配置系统的数据库环境用户只需要提供数据库服务器名称、数据库名称以及一些登录数据库的账号信息即可,该功能是一般数据库应用系统都不可缺少的
2、登录模块登录模块提供用户登录界面,用户输入正确的用户名和密码后,则可进入到系统主窗口,然后可以选择进入相应的子系统本系统使用了两种类型的系统用户超级用户和一般用户超级用户由系统开发者直接添加到数据库中,用户名为“皿嗔n”“1234”,超级用户具有系统操作的所有权限一般用户使用下面第3点介绍的“用户注册模块”注册
3、用户注册模块用户注册模块提供用户注册的功能,用于注册一般用户,注册完成后,默认不具备系统的核心功能操作权限,核心功能操作权限须由超级用户通过下面第4点介绍的“系统用户管理模块”来分配
4、系统用户管理模块本系统的用户管理模块主要用于管理系统用户,包括设置一般用户的操作权限和删除一般用户的功能
5、密码保护信息管理模块密码保护信息管理模块主要用于管理系统用户的密码保护信息考虑到系统的安全,在设计的学生管理信息系统中,用户密码是用MD5算法加密后再存储到数据库中的这样,为了能够在忘记密码的情况下,通过提供密码保护信息来修改用户密码,就需要在用户登录系统后设置密码保护信息为简单起见,本模块的密码保护信息包括以下4个问题问题1您的姓名是?问题2您的出生地是?问题3您的手机号码是?问题4您的E-Mail地址是?当用户忘记密码时,可以提供这4个问题的预设答案来“找回”用户密码
6、找回用户密码模块“找回”用户密码模块用于提供“找回”用户密码功能设计本模块的目的是当用户忘记密码的时候,可以通过本模块提供密码保护信息来重设用户密码
7、课程添加模块课程添加模块用于课程添加的相关操作,如果是系统已有课程,提供修改已有的功能,如果系统中没有的课程,则提供添加课程信息的功能课程信息包括课程号、课程名、学分、学时和时间
8、课程查询模块课程查询模块用于查询课程信息,本系统提供了按照课程号、课程名、学分、学时和时间模糊查询课程信息的功能
9、选课系统模块选课系统模块是教务系统最核心的功能模块,实现选课系统的相关功能,包括选课、可选人数修改和添加课程等功能选课数据包括课程号、课程名、选课人数、总价、学分、上课日期和老师
10、选课数据查询模块选课数据查询模块用于选课数据,本系统提供了按照课程号、课程名、选课人数、总价、学分、上课日期和老师精确查询销售数据的功能
11、帮助模块帮助模块用于给用户提供一些帮助信息,告诉用户如何操作本系统
12、关于模块关于模块用于给用户提供一些关于本软件的信息,如软件版本、开发者的联系方式等
三、系统架构本学生管理信息系统采用c/s架构和三层模型实现K数据库设计根据前面两节的分析,学生管理信息系统数据库中应该包含5个数据表,分别是T-User表用于存放系统用户信息;TTnformation表用于存放密码保护信息;T-Course表用于存放课程信息;T-SelectCourse表用于选课信息接下来介绍一下各数据表的结构及相关说明
(一)系统用户表系统用户表“T_User”用于存放系统用户的相关数据,包含用户名、用户密码和用户类型其结构如表1所示表1系统用户表列名说明数据类型、大小约束userName用户名varchar13主键userPassword用户密码varchar32非空取值“超级用户”、“一般userType用户类型char8用户”(-)密码保护信息表密码保护信息表^Information”用于存放系统用户的密码保护信息,包括用户名、姓名、出生地、手机号码、E-Mail地址其结构如表2所示表2密码保护信息表列名说明数据类型、大小约束userName用户名varchar32主键,TB_User的外键name姓名varchar32answer1出生地varchar50answer2手机号码char11answer3E-Mail地址varchar32
(三)课程信息表课程信息表“「Course”用于存放课程的相关数据,包含课程号、课程名、学分、学时其结构如表4所示表4课程信息表列名说明数据类型、大小约束Con课程号varchar32主键Cname课程名varchar32非空Ccardit课程学分int非空Csemester开课学期int非空Cperiod总学时int非空
(四)选课信息表选课信息表TB_SelectCours”用于存放选课的相关数据,包含课程号、课程名、学分、学时其结构如表5所示表5销售信息表列名说明数据类型、大小约束Son学号int主键,自动增长标识Son课程号varchar32TB_Goods的夕卜键grade院系int非空
五、构建三层模型使用类库构建三层模型,如下图1所示:3解决方案学生管理信息系统4个项目Properties引用BackPswBAL.cs ClassDiagraml.cd CourseBAL.cs InformationBAL.es SelectCourseBAL.es StudentBAL.es UserBAl.es回Properties引用BackPswDAL.cs口CourseDAL.cs DBHelper.cs图图图InformationDAL.es酉叨SelectCourseDAL.cs闻StudentDAL.es当UserDAL.es司Model Properties引用Course.cs Information.es SelectCours.es•I.图1三层模型
六、详细设计-设计Model实体类以User实体类为例,代码如下//--------------------------------public classUser III〈summary〉III学号III〈/summary〉public stringuserName{get;set;}III〈summary〉III密码III〈/summary〉public stringuserPassword{get;set;}III summaryIII用户分类///〈/summary〉public stringuserPurview{get;set;}public stringfirstlogin{get;set;}//--------------------------------------------------------------二数据访问层DAL的实现以用户操作为例,代码如下//----------------------------------------------------------------------------------public classUserDALpublic DBHelperdh=new DBHelper;///〈summary〉III刷新数据III〈/summary〉///returns/returns publicDataSet RefreshDatastring sqlStr;DataSet ds=new DataSet;sqlStr=nselect*from T_User whereuserPurview=,管理员,or userPurview=1一般用户,n;ds=DBHelper.GetDataFromDBsqlStr;return ds;III summary///刷新数据2III〈/summary〉III returns/returns publicDataSet RefreshData2string sqlStr;DataSet ds=new DataSet;sqlStr=select*from T_User whereuserPurview=,一■般用户ds=DBHelper.GetDataFromDBsqlStr;return ds;///〈summary〉///添加用户///〈/summary〉III〈paramname=user n/param publicvoid addUserUseruserstring sqlStr;sqlStr=ninsert intoT_User values+user.userName.Trim+”,°”+user.userPassword.Trim+n,,1n+user.userPurview.Trim+是,”;DBHelper.UpdatesqlStr;III〈summary〉III删除用户III〈/summary〉III paramname=nuser nx/param publicvoid deleteUserUseruserstring sqlStr=DELETE FROMT_Information whereuserName+user,userName+n*;//删除账号string query=DELETE FROMT_User WHEREuserName=…+user.userName DBHelper.UpdatesqlStr;DBHelper.Updatequery;三业务逻辑层BLL的实现以用户操作为例,代码如下//---------------------------------------------------------------------------public classUserBAl{public UserDALuserDAL=new UserDAL;III〈summary〉III刷新数据III〈/summary〉III returns/returns publicDataSet RefreshDatareturn userDAL.RefreshData;。