《C#程序设计-项目案例-学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《C#程序设计-项目案例-学生信息管理系统.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学生信息管理系统一、需求分析学生信息管理系统是一个现代高校不可缺少的一局部,使用计算机对高校日常学生管 理和教学工作进行统一管理,有助于我们快速了解高校教学现状,实现高校教学管理的信 息化,提高现在高校的综合竞争能力。(-)系统概述学生信息管理系统是一个可以用于学生信息以及课程构成进行增、册h改、查等操作 的应用软件。该系统提供了一个较完整的人机界面供用户进行操作,可根据用户权限,用 户可以根据图形化界面对信息的相关各项数据进行管理操作。(-)系统运行环境1、硬件环境 处理器:Intel P4或更高 内存:1GB 硬盘空间:160GB 显卡:SVGA显示适配器2、软件环境 操作系统:Windo
2、ws XP/7 运行平台:.NET Framework 4(三)功能需求描述学生信息管理系统软件是由学生基本信息,课程基本信息构成,用于对教学管理进行 辅助的应用软件。功能需求描述如下:1、考虑到系统的可移植性,需要一个数据库配置模块,用于配置系统的数据库环。/ III刷新数据2 / /summary III public DataSet RefreshData2() (return userDAL.RefreshData2 (); )/ III添加用户III /summary/param name=,Tusern public void addUser(User user) (userDAL
3、.addUser(user);)/ summaryIII删除用户III /summaryIII public void deleteUser(User user) (userDAL.deleteUser(user);)/)用户界面层(UI)的实现以售货员登录为例,代码如下: private void btnSaleLogin_Click(object sender, EventArgs e) (try(string userName = txtUserName.Text.Trim();string userPassword = txtUserPassword.Text.Trim(); stri
4、ng regexUser = Aa-zA-Zw4,31$n;if (!Regex.IsMatch(userName, regexUser) |MessageBox.Show (用户名格式不正确,请重新输入“,“提示); txtUserName.Text = txtUserPassword.Text = n;txtUserName.Focus(); return;if (userPassword.Length 32) (MessagBox.Show (密码为6-32个字符,请重新输入,”提示”); txtUserPassword.Text = txtUserPassword.Focus(); r
5、eturn;)UserBLL userBLL = new UserBLL();string result = userBLL.UserLogin(userName, userPassword); if (result = OK) (UserBLL.loginType = nSaleLoginn;GoodsSale ob_GoodsSale = new GoodsSale();ob_GoodsSale.Show(); this Hide();)else if (result = UserName Errorn) (MessageBox.Show (用户名错误,请重新输入”,“提示”);txtUs
6、erName.Text = n; txtUserPassword.Text = txtUserName . Focus();)else(MessagBox. Show (密码错误,请重新输入“,“提示”); txtUserPassword.Text = nn ;txtUserPassword.Focus();)catch (Exception ex)( MessageBox.Show(ex.Message);)/(五)其他模块的实现具体代码详见源代码文件夹。2、提供用户登录界面,用户输入正确的用户名和密码后,才可以进入系统。系统应 当包含两种用户:超级用户和一般用户。超级用户具有系统操作的所有
7、权限。一般用户需 先注册才能使用。可以进行系统用户管理,主要用于管理系统用户,包括设置一般用户 的操作权限和删除一般用户的功能。3、可以对密码进行保护,遗忘密码的情况可以找回密码。4、课程模块用于课程的相关操作,如果是课程已有课程,可以修改课程时间、学分 等,如果系统中没有的课程,那么添加课程信息的功能。课程信息包括课程名、学期、学分 和学时。5、可以进行查询学生信息,可以按照学号、姓名、性别、生日等模糊查询课程信息 的功能。6、可以给用户提供一些帮助信息,告诉用户如何操作本系统。二、总体设计(一)设计思路本系统使用C#语言进行开发和实现,总体思想基于面向对象的程序设计。在本系统 中使用三层结
8、构,主要实现的是管理系统的增、册h改和查等典型功能,应用了高级语言 程序设计中的基本控制结构和事件触发机制,并且包含对数据库的操作和对文件的读、写 等操作。在软件开发过程中应用了软件工程的基本理论。(-)系统功能模块学生信息管理系统是能够提高校现代化的一个软件系统,该系统涉及到学生管理、课 程管理等功能的结合。根据“高内聚”与“低耦合”原那么,将教务系统模块化,下面直接给出系统包括的以 下十二个功能模块,其中第三-十模块为本系统的核心功能模块。1、数据库配置模块考虑到系统的可移植性,为系统设计了一个数据库配置模块,用于配置系统的数据库 环境。用户只需要提供数据库服务器名称、数据库名称以及一些登
9、录数据库的账号信息即 可,该功能是一般数据库应用系统都不可缺少的。2、登录模块登录模块提供用户登录界面,用户输入正确的用户名和密码后,那么可进入到系统主窗 口,然后可以选择进入相应的子系统。本系统使用了两种类型的系统用户:超级用户和一般用户。超级用户由系统开发者直 接添加到数据库中,用户名为“皿嗔n”“ 1234”,超级用户具有系统操作的所有权限。一 般用户使用下面第3点介绍的“用户注册模块”注册。3、用户注册模块用户注册模块提供用户注册的功能,用于注册一般用户,注册完成后,默认不具备系 统的核心功能操作权限,核心功能操作权限须由超级用户通过下面第4点介绍的“系统用 户管理模块”来分配。4、系
10、统用户管理模块本系统的用户管理模块主要用于管理系统用户,包括设置一般用户的操作权限和删除 一般用户的功能。5、密码保护信息管理模块密码保护信息管理模块主要用于管理系统用户的密码保护信息。考虑到系统的平安, 在设计的学生管理信息系统中,用户密码是用MD5算法加密后再存储到数据库中的。这样, 为了能够在忘记密码的情况下,通过提供密码保护信息来修改用户密码,就需要在用户登 录系统后设置密码保护信息。为简单起见,本模块的密码保护信息包括以下4个问题:问 题1:您的姓名是?问题2:您的出生地是?问题3:您的手机号码是?问题4:您的E-Mail 地址是?当用户忘记密码时,可以提供这4个问题的预设答案来“找
11、回”用户密码。6、找回用户密码模块“找回”用户密码模块用于提供“找回”用户密码功能。设计本模块的目的是当用户忘记密码的时候,可以通过本模块提供密码保护信息来重设用户密码。7、课程添加模块课程添加模块用于课程添加的相关操作,如果是系统已有课程,提供修改已有的功能, 如果系统中没有的课程,那么提供添加课程信息的功能。课程信息包括课程号、课程名、学 分、学时和时间。8、课程查询模块课程查询模块用于查询课程信息,本系统提供了按照课程号、课程名、学分、学时和 时间模糊查询课程信息的功能。9、选课系统模块选课系统模块是教务系统最核心的功能模块,实现选课系统的相关功能,包括选课、 可选人数修改和添加课程等功
12、能。选课数据包括课程号、课程名、选课人数、总价、学分、 上课日期和老师。10、选课数据查询模块选课数据查询模块用于选课数据,本系统提供了按照课程号、课程名、选课人数、总 价、学分、上课日期和老师精确查询销售数据的功能。11、帮助模块帮助模块用于给用户提供一些帮助信息,告诉用户如何操作本系统。12、关于模块关于模块用于给用户提供一些关于本软件的信息,如软件版本、开发者的联系方式等。三、系统架构本学生管理信息系统采用c/s架构和三层模型实现。K数据库设计根据前面两节的分析,学生管理信息系统数据库中应该包含5个数据表,分别是: T-User表:用于存放系统用户信息;TTnformation表:用于存
13、放密码保护信息;T-Course 表:用于存放课程信息;T-SelectCourse表:用于选课信息。接下来介绍一下各数据表的结构及相关说明。(一)系统用户表系统用户表“T_User”用于存放系统用户的相关数据,包含用户名、用户密码和用户 类型。其结构如表1所示。表1系统用户表列名说明数据类型、大小约束userName用户名varchar( 13主键userPassword用户密码varchar(32)非空userType用户类型char(8)取值“超级用户”、“一 般用户”(-)密码保护信息表密码保护信息表Information”用于存放系统用户的密码保护信息,包括用户名、 姓名、出生地、手
14、机号码、E-Mail地址。其结构如表2所示。列名说明数据类型、大小约束userName用户名varchar(32)主键,TB_User的外键name姓名varchar(32)answer1出生地varchar(50)answer2手机号码char( 11)answer3E-Mail地址varchar(32)表2密码保护信息表(三)课程信息表课程信息表“Course”用于存放课程的相关数据,包含课程号、课程名、学分、学时。其结构如表4所示。表4课程信息表列名说明数据类型、大小约束Con课程号varchar(32)主键Cname课程名varchar(32)非空Ccardit课程学分int非空Cse
15、mester开课学期int非空Cperiod总学时int非空(四)选课信息表选课信息表TB_SelectCours”用于存放选课的相关数据,包含课程号、课程名、学 分、学时。其结构如表5所示。表5销售信息表列名说明数据类型、大小约束Son学号int主键,自动增长标识Son课程号varchar(32)TB_Goods的夕卜键grade院系int非空五、构建三层模型使用类库构建三层模型,如下列图1所示:3解决方案学生管理信息系统(4个工程)Properties 引用BackPswBAL.cs ClassDiagraml.cd CourseBAL.cs InformationBAL.es Selec
16、tCourseBAL.esStudentBAL.es UserBAl.es回口图图酉 回口图图酉 Properties 引用 BackPswDAL.csCourseDAL.cs DBHelper.cs图 InformationDAL.es叨 SelectCourseDAL.cs闻 StudentDAL.es当 UserDAL.es 司 ModelProperties 引用Course.csInformation.esSelectCours.es I .图1三层模型六、详细设计(-)设计Model实体类以User实体类为例,代码如下:/public class UserIII summaryII
17、I学号III /summary public string userName get; set; III summaryIII密码III /summary public string userPassword get; set; III III用户分类 / /summary public string userPurview get; set; public string firstlogin get; set; ) ) /(二)数据访问层(DAL)的实现以用户操作为例,代码如下:/public class UserDAL( public DBHelper dh = new DBHelper(
18、); / summary III刷新数据 III /summary / public DataSet RefreshData() ( string sqlStr; DataSet ds = new DataSet ();sqlStr = nselect * from T_User where userPurview=,管理员,or userPurview= 1 一般用户 , n ;ds = DBHelper.GetDataFromDB(sqlStr); return ds;)III /刷新数据2 III /summary III public DataSet RefreshData2() (
19、string sqlStr;DataSet ds = new DataSet ();sqlStr = select * from T_User where userPurview= ,一般用户 ds = DBHelper.GetDataFromDB(sqlStr); return ds;/ summary/添加用户/ /summaryIII param name=usern public void addUser(User user) ( string sqlStr;sqlStr = ninsert into T_User values ( + user . userName . Trim (
20、) + ” , ” + user.userPassword.Trim() + n , 1n + user.userPurview.Trim() + 是,)”;DBHelper.Update(sqlStr); )III summaryIII删除用户III /summaryIII public void deleteUser(User user) (string sqlStr = DELETE FROM T_Information where userName + user , userName + n *;/删除账号string query = DELETE FROM T_User WHERE userName =+ user. userNameDBHelper.Update(sqlStr);DBHelper.Update(query);)(三)业务逻辑层(BLL)的实现以用户操作为例,代码如下:/public class UserBAlpublic UserDAL userDAL = new UserDAL();III summaryIII刷新数据III /summaryIII public DataSet RefreshData()return userDAL.RefreshData ();