C#程序设计项目案例学生信息管理系统.docx

上传人:b****5 文档编号:8168106 上传时间:2023-01-29 格式:DOCX 页数:13 大小:44.70KB
下载 相关 举报
C#程序设计项目案例学生信息管理系统.docx_第1页
第1页 / 共13页
C#程序设计项目案例学生信息管理系统.docx_第2页
第2页 / 共13页
C#程序设计项目案例学生信息管理系统.docx_第3页
第3页 / 共13页
C#程序设计项目案例学生信息管理系统.docx_第4页
第4页 / 共13页
C#程序设计项目案例学生信息管理系统.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C#程序设计项目案例学生信息管理系统.docx

《C#程序设计项目案例学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《C#程序设计项目案例学生信息管理系统.docx(13页珍藏版)》请在冰豆网上搜索。

C#程序设计项目案例学生信息管理系统.docx

C#程序设计项目案例学生信息管理系统

学生信息管理系统

一、需求分析

学生信息管理系统是一个现代高校不可缺少的一部分,使用计算机对高校日常学生管理和教学工作进行统一管理,有助于我们快速了解高校教学现状,实现高校教学管理的信息化,提高现在高校的综合竞争能力。

(一)系统概述

学生信息管理系统是一个可以用于学生信息以及课程构成进行增、删、改、查等操作的应用软件。

该系统提供了一个较完整的人机界面供用户进行操作,可根据用户权限,用户可以根据图形化界面对信息的相关各项数据进行管理操作。

(二)系统运行环境

1、硬件环境

●处理器:

IntelP4或更高

●内存:

1GB

●硬盘空间:

160GB

●显卡:

SVGA显示适配器

2、软件环境

●操作系统:

WindowsXP/7

●运行平台:

.NETFramework4

(三)功能需求描述

学生信息管理系统软件是由学生基本信息,课程基本信息构成,用于对教学管理进行辅助的应用软件。

功能需求描述如下:

1、考虑到系统的可移植性,需要一个数据库配置模块,用于配置系统的数据库环。

2、提供用户登录界面,用户输入正确的用户名和密码后,才可以进入系统。

系统应当包含两种用户:

超级用户和一般用户。

超级用户具有系统操作的所有权限。

一般用户需先注册才能使用。

可以进行系统用户管理,主要用于管理系统用户,包括设置一般用户的操作权限和删除一般用户的功能。

3、可以对密码进行保护,遗忘密码的情况可以找回密码。

4、课程模块用于课程的相关操作,如果是课程已有课程,可以修改课程时间、学分等,如果系统中没有的课程,则添加课程信息的功能。

课程信息包括课程名、学期、学分和学时。

5、可以进行查询学生信息,可以按照学号、姓名、性别、生日等模糊查询课程信息的功能。

6、可以给用户提供一些帮助信息,告诉用户如何操作本系统。

二、总体设计

(一)设计思路

本系统使用C#语言进行开发和实现,总体思想基于面向对象的程序设计。

在本系统中使用三层结构,主要实现的是管理系统的增、删、改和查等典型功能,应用了高级语言程序设计中的基本控制结构和事件触发机制,并且包含对数据库的操作和对文件的读、写等操作。

在软件开发过程中应用了软件工程的基本理论。

(二)系统功能模块

学生信息管理系统是能够提高校现代化的一个软件系统,该系统涉及到学生管理、课程管理等功能的结合。

根据“高内聚”与“低耦合”原则,将教务系统模块化,下面直接给出系统包括的以下十二个功能模块,其中第三-十模块为本系统的核心功能模块。

1、数据库配置模块

考虑到系统的可移植性,为系统设计了一个数据库配置模块,用于配置系统的数据库环境。

用户只需要提供数据库服务器名称、数据库名称以及一些登录数据库的账号信息即可,该功能是一般数据库应用系统都不可缺少的。

2、登录模块

登录模块提供用户登录界面,用户输入正确的用户名和密码后,则可进入到系统主窗口,然后可以选择进入相应的子系统。

本系统使用了两种类型的系统用户:

超级用户和一般用户。

超级用户由系统开发者直接添加到数据库中,用户名为“admin”“1234”,超级用户具有系统操作的所有权限。

一般用户使用下面第3点介绍的“用户注册模块”注册。

3、用户注册模块

用户注册模块提供用户注册的功能,用于注册一般用户,注册完成后,默认不具备系统的核心功能操作权限,核心功能操作权限须由超级用户通过下面第4点介绍的“系统用户管理模块”来分配。

4、系统用户管理模块

本系统的用户管理模块主要用于管理系统用户,包括设置一般用户的操作权限和删除一般用户的功能。

5、密码保护信息管理模块

密码保护信息管理模块主要用于管理系统用户的密码保护信息。

考虑到系统的安全,在设计的学生管理信息系统中,用户密码是用MD5算法加密后再存储到数据库中的。

这样,为了能够在忘记密码的情况下,通过提供密码保护信息来修改用户密码,就需要在用户登录系统后设置密码保护信息。

为简单起见,本模块的密码保护信息包括以下4个问题:

问题1:

您的姓名是?

问题2:

您的出生地是?

问题3:

您的手机号码是?

问题4:

您的E-Mail地址是?

当用户忘记密码时,可以提供这4个问题的预设答案来“找回”用户密码。

6、找回用户密码模块

“找回”用户密码模块用于提供“找回”用户密码功能。

设计本模块的目的是当用户忘记密码的时候,可以通过本模块提供密码保护信息来重设用户密码。

7、课程添加模块

课程添加模块用于课程添加的相关操作,如果是系统已有课程,提供修改已有的功能,如果系统中没有的课程,则提供添加课程信息的功能。

课程信息包括课程号、课程名、学分、学时和时间。

8、课程查询模块

课程查询模块用于查询课程信息,本系统提供了按照课程号、课程名、学分、学时和时间模糊查询课程信息的功能。

9、选课系统模块

选课系统模块是教务系统最核心的功能模块,实现选课系统的相关功能,包括选课、可选人数修改和添加课程等功能。

选课数据包括课程号、课程名、选课人数、总价、学分、上课日期和老师。

10、选课数据查询模块

选课数据查询模块用于选课数据,本系统提供了按照课程号、课程名、选课人数、总价、学分、上课日期和老师精确查询销售数据的功能。

11、帮助模块

帮助模块用于给用户提供一些帮助信息,告诉用户如何操作本系统。

12、关于模块

关于模块用于给用户提供一些关于本软件的信息,如软件版本、开发者的联系方式等。

三、系统架构

本学生管理信息系统采用C/S架构和三层模型实现。

四、数据库设计

根据前面两节的分析,学生管理信息系统数据库中应该包含5个数据表,分别是:

T-User表:

用于存放系统用户信息;T-Information表:

用于存放密码保护信息;T-Course表:

用于存放课程信息;T-SelectCourse表:

用于选课信息。

接下来介绍一下各数据表的结构及相关说明。

(一)系统用户表

系统用户表“T_User”用于存放系统用户的相关数据,包含用户名、用户密码和用户类型。

其结构如表1所示。

表1系统用户表

列名

说明

数据类型、大小

约束

userName

用户名

varchar(13

主键

userPassword

用户密码

varchar(32)

非空

userType

用户类型

char(8)

取值“超级用户”、“一般用户”

(二)密码保护信息表

密码保护信息表“T_Information”用于存放系统用户的密码保护信息,包括用户名、姓名、出生地、手机号码、E-Mail地址。

其结构如表2所示。

表2密码保护信息表

列名

说明

数据类型、大小

约束

userName

用户名

varchar(32)

主键,TB_User的外键

name

姓名

varchar(32)

answer1

出生地

varchar(50)

answer2

手机号码

char(11)

answer3

E-Mail地址

varchar(32)

(三)课程信息表

课程信息表“T-Course”用于存放课程的相关数据,包含课程号、课程名、学分、学时。

其结构如表4所示。

表4课程信息表

列名

说明

数据类型、大小

约束

Con

课程号

varchar(32)

主键

Cname

课程名

varchar(32)

非空

Ccardit

课程学分

int

非空

Csemester

开课学期

int

非空

Cperiod

总学时

int

非空

(四)选课信息表

选课信息表“TB_SelectCours”用于存放选课的相关数据,包含课程号、课程名、学分、学时。

其结构如表5所示。

表5销售信息表

列名

说明

数据类型、大小

约束

Son

学号

int

主键,自动增长标识

Son

课程号

varchar(32)

TB_Goods的外键

grade

院系

int

非空

五、构建三层模型

使用类库构建三层模型,如下图1所示:

图1三层模型

六、详细设计

(一)设计Model实体类

以User实体类为例,代码如下:

//--------------------------------------------------------------------

publicclassUser

{

///

///学号

///

publicstringuserName{get;set;}

///

///密码

///

publicstringuserPassword{get;set;}

///

///用户分类

///

publicstringuserPurview{get;set;}

publicstringfirstlogin{get;set;}

}

}

//--------------------------------------------------------------------

(二)数据访问层(DAL)的实现

以用户操作为例,代码如下:

//--------------------------------------------------------------------

publicclassUserDAL

{

publicDBHelperdh=newDBHelper();

///

///刷新数据

///

///

publicDataSetRefreshData()

{

stringsqlStr;

DataSetds=newDataSet();

sqlStr="select*fromT_UserwhereuserPurview='管理员'oruserPurview='一般用户'";

ds=DBHelper.GetDataFromDB(sqlStr);

returnds;

}

///

///刷新数据2

///

///

publicDataSetRefreshData2()

{

stringsqlStr;

DataSetds=newDataSet();

sqlStr="select*fromT_UserwhereuserPurview='一般用户'";

ds=DBHelper.GetDataFromDB(sqlStr);

returnds;

}

///

///添加用户

///

///

publicvoidaddUser(Useruser)

{

stringsqlStr;

sqlStr="insertintoT_Uservalues('"+user.userName.Trim()+"','"+user.userPassword.Trim()+"','"+user.userPurview.Trim()+"','是')";

DBHelper.Update(sqlStr);

}

///

///删除用户

///

///

publicvoiddeleteUser(Useruser)

{

stringsqlStr="DELETEFROMT_InformationwhereuserName='"+user.userName+"'";

//删除账号

stringquery="DELETEFROMT_UserWHEREuserName='"+user.userName+"'";

DBHelper.Update(sqlStr);

DBHelper.Update(query);

}

}

//--------------------------------------------------------------------

(三)业务逻辑层(BLL)的实现

以用户操作为例,代码如下:

//--------------------------------------------------------------------

publicclassUserBAl

{

publicUserDALuserDAL=newUserDAL();

///

///刷新数据

///

///

publicDataSetRefreshData()

{

returnuserDAL.RefreshData();

}

///

///刷新数据2

///

///

publicDataSetRefreshData2()

{

returnuserDAL.RefreshData2();

}

///

///添加用户

///

///

publicvoidaddUser(Useruser)

{

userDAL.addUser(user);

}

///

///删除用户

///

///

publicvoiddeleteUser(Useruser)

{

userDAL.deleteUser(user);

}

}

//--------------------------------------------------------------------

(四)用户界面层(UI)的实现

以售货员登录为例,代码如下:

privatevoidbtnSaleLogin_Click(objectsender,EventArgse)

{

try

{

stringuserName=txtUserName.Text.Trim();

stringuserPassword=txtUserPassword.Text.Trim();

stringregexUser=@"^[a-zA-Z]\w{4,31}$";

if(!

Regex.IsMatch(userName,regexUser))

{

MessageBox.Show("用户名格式不正确,请重新输入","提示");

txtUserName.Text="";

txtUserPassword.Text="";

txtUserName.Focus();

return;

}

if(userPassword.Length<6||userPassword.Length>32)

{

MessageBox.Show("密码为6-32个字符,请重新输入","提示");

txtUserPassword.Text="";

txtUserPassword.Focus();

return;

}

UserBLLuserBLL=newUserBLL();

stringresult=userBLL.UserLogin(userName,userPassword);

if(result=="OK")

{

UserBLL.loginType="SaleLogin";

GoodsSaleob_GoodsSale=newGoodsSale();

ob_GoodsSale.Show();

this.Hide();

}

elseif(result=="UserNameError")

{

MessageBox.Show("用户名错误,请重新输入","提示");

txtUserName.Text="";

txtUserPassword.Text="";

txtUserName.Focus();

}

else

{

MessageBox.Show("密码错误,请重新输入","提示");

txtUserPassword.Text="";

txtUserPassword.Focus();

}

}

catch(Exceptionex)

{

MessageBox.Show(ex.Message);

}

}

//--------------------------------------------------------------------

(五)其他模块的实现

具体代码详见源代码文件夹。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1