计算机系学生信息管理系统课程设计报告doc.docx

上传人:b****2 文档编号:22994749 上传时间:2023-04-29 格式:DOCX 页数:32 大小:513.92KB
下载 相关 举报
计算机系学生信息管理系统课程设计报告doc.docx_第1页
第1页 / 共32页
计算机系学生信息管理系统课程设计报告doc.docx_第2页
第2页 / 共32页
计算机系学生信息管理系统课程设计报告doc.docx_第3页
第3页 / 共32页
计算机系学生信息管理系统课程设计报告doc.docx_第4页
第4页 / 共32页
计算机系学生信息管理系统课程设计报告doc.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

计算机系学生信息管理系统课程设计报告doc.docx

《计算机系学生信息管理系统课程设计报告doc.docx》由会员分享,可在线阅读,更多相关《计算机系学生信息管理系统课程设计报告doc.docx(32页珍藏版)》请在冰豆网上搜索。

计算机系学生信息管理系统课程设计报告doc.docx

计算机系学生信息管理系统课程设计报告doc

 

《计算机系学生信息管理系统》

课程设计报告

 

报告题目:

计算机系学生信息管理系统

作者所在系部:

计算机科学与工程系

作者所在专业:

网络工程

作者学号:

作者姓名:

指导教师姓名:

完成时间:

2012年12月10日

 

 

摘要

对于高等学校来说,学生信息的管理至关重要。

面对庞大的信息量,需要通过专门的管理系统来系统化、规范化以及高效地实现学生信息管理。

利用VisualStudio2010编写程序,实现了用户对在校学生基本信息,即学号、姓名、班级、年级、专业、住址、出生年月等信息的增加、删除、修改、查询。

本系统主要有2个主要功能模块:

教师模块,管理员模块。

教师模块中,可是实现的功能包括对学生进行按学号,姓名和班级的查询,还包括对登陆密码的修改。

管理员模块中,功能包括对学生进行增添,删除,查找,修改和对密码的修改。

已经过全面的系统测试,能够很好的运行,达到了预期的效果。

关键词:

学生信息,增添,删除,查找,修

第一章绪论

1.1课程设计的目的

课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。

此次程序设计综合运用所学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解了C#功能之强大,进一步让学生对面向对象的方法以及C++的编程思想有了较好了解和认识。

1.2课程设计的意义

(1)通过课程设计的综合训练,培养了学生分析解决实际问题和编程等实际动手能力。

帮助了同学系统的掌握C#课程的主要内容。

(2)通过详细的实例分析,循环渐进的描述,启发学生顺利的完成设计。

课程设计将设计要求、需求分析、算法设计、编程和实例测试运行分开,为学生创造分析问题、独立思考的条件。

(3)通过编写一个较复杂的程序,实现了对学生信息的管理,激发了学生学习编程的兴趣。

 

第二章系统分析

2.1需求分析

根据实验要求,本系统具有以下功能:

□良好的人机界面

□教师可以查询学生信息并更改登陆密码

□管理员可以对教师,学生,班级,年级,专业的信息进行增加、删除、查找、修改改,并修改本人的登录密码。

2.2开发工具选择

本系统前台数据库采用MicrosoftSQLSever2008,后台采用Microsoft公司的VisualStudio2010作为主要开发工具,该开发工具可以与SQLServer2008数据库无缝链接。

 

第三章总体设计

3.1项目规划

计算机系学生信息管理系统主要由教师和管理员两个模块组成,具体规划如下:

□教师模块

(1)查询。

该模块只具有按照姓名、学号、班级查询学生部分信息的功能。

(2)修改。

修改自己的登陆密码。

□管理员模块

(1)添加。

该模块负责添加新的学生、教师、年级、班级、专业。

(2)删除。

该模块可以根据提示删除原有的学生、教师、年级、班级、专业。

(3)查询。

查询学生、教师、年级、班级、专业的相关信息。

(4)修改。

修改学生、教师、年级、班级、专业。

3.2系统业务流程分析

计算机系学生信息管理系统的业务流程图如图3-1所示。

 

图3-1计算机系学生信息管理系统业务流程图

3.3系统功能结构

计算机系学生信息管理系统的功能结构图如图3-2所示。

 

图3-2计算机系学生信息管理系统功能结构图

 

第四章系统设计

4.1设计目标

本系统属于单机版信息管理系统,可以对计算机数据库中的学生信息进行有效管理。

通过本系统可以达到以下目标:

□添加大量数据

□用ListView、DataGritView、TextBox等控件实现对数据查询的显示

□删除并级联删除数据

□修改并级联修改

4.2开发及运行环境

□系统开发平台:

MicrosoftVisualStudio2010

□系统开发语言:

C#

□数据库系统:

SQLServer2008

□运行平台:

WindowsXP/Windows7

□运行环境:

Microsoft.NETFrameworkSDKv4.0

□分辨率:

最佳效果1024╳768像素

4.3数据库设计

本系统采用SQLServer2008作为后台数据库,数据库名称为Department,其中包括六张数据表,下面分别进行介绍。

1.数据库概要说明

为了使读者对本系统后台数据库中的数据表有更加清晰地认识,在此特别设计了数据表树形结构图,该图包括所有数据表,如图4-1所示。

 

图4-1数据表树形结构图

2、数据表的结构

下面给出其中主要的五张表的设计。

1)Class表

2)Grade表

3)Major表

4)Student表

5)Teacher表

第五章

技术准备

5.1更改密码

本系统中涉及到教师和管理员更改登陆密码,在这个过程中需要用到,窗体之间值传递,因此设计了UserInfo类,具体实现如下:

publicclassUserInfo

{

privatestring_userName;

privatestring_userPassword;

publicUserInfo(stringuserName,stringuserPassword)

{

_userName=userName;

_userPassword=userPassword;

}

publicstringUserName

{

get

{

return_userName;

}

}

publicstringPassword

{

get

{

return_userPassword;

}

}

publicstaticUserInfo_UserInfo;

}

将登陆窗体中的用户名和密码加入到类中,并实例化UserInfo得到其对象_UserInfo,这个对象为公有静态,可以在项目中的任何一个位置使用,进而得到其中的用户名和密码。

5.2信息添加、查询、修改、删除

本系统中采用了很多窗口用于人机交互,便于使用,用到了Form类,它的基本属性如表5-1所示。

属性

说明

Name

窗体对象的名字,类似于变量的名字

BackColor

窗体的背景色

ShowInTaskBar

设置窗体是否出现在任务栏

StartPosition

窗体第一次出现时的位置

Location

以像素为单位制定窗体左上角的位置,若此属性生效,需设置StartPosition属性为Manual

Text

窗体标题栏显示的文字

TopMost

设置窗体是否为最顶端的窗体

WindowState

窗体出现时最初的状态(正常、最大化、最小化)

ControlBox

窗体上是否有控制菜单(True:

显示,False:

不显示)

MaximizeBox

窗体上是否有最大化按钮

MinimizeBox

窗体上是否有最小化按钮

表5-1Form类中的常用方法属性

5.3窗口控件

在系统设计过程中,用到了大量的控件,控件的基本常用属性和事件如表5-2和表5-3所示。

属性

含义

BackColor

获取或设置控件的背景色

Cursor

获取或设置当鼠标指针位于控件上时显示的光标

Enable

设置控件是否可以对用户的交互做出响应

Font

获取或设置控件显示文字的字体

ForeColor

获取或设置控件的前景色

Height

获取或设置控件的高度

Left

获取或设置控件的左边界到容器左边界的距离

Name

获取或设置控件的名称

Right

获取或设置控件的右边界到容器左边界的距离

TabIndex

获取或设置在控件容器上控件的Tab键的顺序

TabStop

设置用户是否使用Tab键将焦点放到该空间上

Tag

获取或设置包括有关控件的数据的对象

Text

获取或设置与此控件关联的文本

Top

获取或设置控件的顶部距离其容器的顶部的距离

Visible

设置是否在运行时显示该控件

Width

获取或设置控件的宽度

 

表5-2控件的常用属性

事件

含义

Click

单击控件的时候发生

DoubleClick

双击控件的时候发生

DragDrop

当一个对象被拖到控件上,用户释放鼠标的时候发生

DragEnter

当被拖动的对象进入控件的边界时候发生

DragLeave

当被拖动的对象离开控件的边界时候发生

DragOver

当被拖动的对象在控件的范围时发生

KeyDown

在控件有焦点的情况下,按下任一个键时发生,在KeyPress前发生

KeyPress

在控件有焦点的情况下,按下任一个键时发生,在KeyUp前发生

KeyUp

在控件有焦点的情况下释放键的时候发生

Enter

在控件获得焦点时发生

Leave

在控件失去焦点的时候发生

MouseDown

当鼠标指针位于控件上并按下鼠标键的时候发生

MouseMove

当鼠标移动到控件上的时候发生

MouseUp

当鼠标指针位于控件上并释放鼠标键的时候发生

Validated

在控件完成验证的时候发生

Validating

在控件正在验证的时候发生

Resize

在调整控件大小的时候发生

表5-3控件常用事件

 

第六章主要功能模块设计与测试

6.1登陆窗体设计

1.窗体设计

 

2.测试

(1)登陆失败

 

(2)登陆成功

 

 

 

3.代码设计

namespace计?

算?

机¨²系¦Ì学¡ì生¦¨²信?

息¡é管¨¹理¤¨ª系¦Ì统ª3

{

publicpartialclass登Ì?

陆?

:

Form

{

public登Ì?

陆?

()

{

InitializeComponent();

}

//单Ì£¤击¡Â登Ì?

陆?

界?

面?

上¦?

的Ì?

“¡ã教¨¬师º|登Ì?

陆?

”¡À按ã¡ä钮£¤

privatevoidTeacherLoginButton_Click(objectsender,EventArgse)

{

//一°?

个?

是º?

Form1.cs的Ì?

主¡Â窗ä¡ã体¬?

,ê?

另¢¨ª一°?

个?

是º?

Login.cs的Ì?

登Ì?

录?

窗ä¡ã口¨²,ê?

现?

在¨²在¨²login.cs窗ä¡ã口¨²中D有®D一°?

个?

combobox控?

件t(ꡧJSXZ)ê?

,ê?

想?

在¨²Form1.cs中D获?

取¨?

它¨¹的Ì?

值¦Ì,ê?

应®|该?

怎?

样¨´做Á?

ê?

UserInfo._UserInfo=newUserInfo(usernameTextBox.Text,passwordTextBox.Text);

AppDomain.CurrentDomain.SetData("UserInfo",UserInfo._UserInfo);

stringconString="DataSource='.';InitialCatalog='Department';IntegratedSecurity='True'";

//stringconString="DataSource='maolizhi-PC';InitialCatalog='MySchool';IntegratedSecurity=True";

//stringconString="server=.;database=MySchool;uid=sa;pwd=19920107";

SqlConnectionconnection=newSqlConnection(conString);

connection.Open();

SqlCommandcommand=newSqlCommand();

command.Connection=connection;

command.CommandText=String.Format("selectcount(*)fromTeacherwhereLoginID='{0}'andLoginPassword='{1}'",this.usernameTextBox.Text,this.passwordTextBox.Text);

command.Parameters.Add(newSqlParameter("LoginID",this.usernameTextBox.Text));

command.Parameters.Add(newSqlParameter("LoginPassword",this.passwordTextBox.Text));

intcount=(int)command.ExecuteScalar();//获?

取¨?

数ºy据Y集¡¥中D的Ì?

数ºy据Y数ºy量¢?

if(count>0)

{

this.DialogResult=DialogResult.OK;

this.Hide();

教¨¬师º|登Ì?

陆?

teacherLogin=new教¨¬师º|登Ì?

陆?

();

teacherLogin.Show();

}

else

{

MessageBox.Show("用®?

户¡ì名?

或¨°密¨¹码?

错䨪误¨®","错䨪误¨®",MessageBoxButtons.OK,MessageBoxIcon.Error);

}

}

privatevoidAdministratorLoginButton_Click(objectsender,EventArgse)

{

stringconString="DataSource='.';InitialCatalog='Department';IntegratedSecurity='True'";

UserInfo._UserInfo=newUserInfo(usernameTextBox.Text,passwordTextBox.Text);

AppDomain.CurrentDomain.SetData("UserInfo",UserInfo._UserInfo);

SqlConnectionconnection=newSqlConnection(conString);

connection.Open();

SqlCommandcommand=newSqlCommand();

command.Connection=connection;

command.CommandText=String.Format("selectcount(*)fromAdministraterwhereAdministraterID='{0}'andAdministraterPassword='{1}'",this.usernameTextBox.Text,this.passwordTextBox.Text);

command.Parameters.Add(newSqlParameter("LoginID",this.usernameTextBox.Text));

command.Parameters.Add(newSqlParameter("LoginPassword",this.passwordTextBox.Text));

intcount=(int)command.ExecuteScalar();//获?

取¨?

数ºy据Y集¡¥中D的Ì?

数ºy据Y数ºy量¢?

if(count>0)

{

this.DialogResult=DialogResult.OK;

this.Hide();

管¨¹理¤¨ª员¡À登Ì?

陆?

administraterLogin=new管¨¹理¤¨ª员¡À登Ì?

陆?

();

administraterLogin.Show();

}

else

{

MessageBox.Show("用®?

户¡ì名?

或¨°密¨¹码?

错䨪误¨®","错䨪误¨®",MessageBoxButtons.OK,MessageBoxIcon.Error);

}

}

}

}

6.2教师登陆窗体

1.界面设计

教师登陆成功与失败的窗体显示在6.1节中。

下面用教师查询学生的例子来演示教师所具有的查询功能。

 

这是教师查询中的一项功能,即按班级查询,在查询中,只需要输入班级号,假如不存在这个班,则弹出提示:

没有这个班,否则,将查询结果显示在上面的显示区域。

3.代码设计

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.SqlClient;

namespace计算机系学生信息管理系统

{

publicpartialclass按班级查询结果:

Form

{

public按班级查询结果()

{

InitializeComponent();

}

privatevoidSearchButton_Click(objectsender,EventArgse)

{

stringconnectionString="DataSource='.';InitialCatalog='Department';IntegratedSecurity='True'";

SqlConnectionconnection=newSqlConnection(connectionString);

connection.Open();

SqlCommandcommand=newSqlCommand();

command.CommandText=String.Format("select*fromStudentwhereClassIDlike'{0}'",this.ClassIDTextBox.Text.Trim());

command.Connection=connection;

 

//SqlCommandCommand=newSqlCommand();

//Command.CommandText=String.Format("selectcount(*)fromStudentwhereClassIDlike'%{0}%'",this.ClassIDTextBox.Text.Trim());

//Command.Connection=connection;

//判断是否找到了这个班号

inti=Convert.ToInt32(command.ExecuteNonQuery());

if(i==0)

{

MessageBox.Show("没有这个班!

");

}

else

{

//实例化SqlDataAdapter()并制定SelectCommand属性为command

SqlDataAdaptersda=newSqlDataAdapter();

sda.SelectCommand=command;

//实例化DataSet并用SqlDataAdapter的Fill方法为DataSet填充

DataSetds=newDataSet();

sda.Fill(ds);

//设置showDataGridView的数据源为ds

ClassSearchResultDataGridView.DataSource=ds.Tables[0];

 

ClassSearchResultDataGridView.Columns[0].HeaderText="用户名";

ClassSearchResultDataGridView.Columns[1].HeaderText="密码";

ClassSearchResultDataGridView.Columns[2].HeaderText="班号";

ClassSearchResultDataGridView.Columns[3].HeaderText="学号";

ClassSearchResultDataGridView.Columns[4].HeaderText="姓名";

ClassSearchResultDataGridView.Columns[5].HeaderText="性别";

ClassSearchResultDataGridView.Columns[6].HeaderText="专业";

ClassSearchResultDataGridView.Columns[7].HeaderText="电话";

ClassSearchResultDataGridView.Columns[8].HeaderText="地址";

ClassSearchResultDataGridView.Columns[9].HeaderText="邮编";

ClassSearchResultDataGridView.Columns[10].HeaderText="年级";

}

}

privatevoidQuitButton_Click(objectsender,EventArgse)

{

this.Close();

}

}

}

6.3管理员登陆

1.窗体设计

管理员登陆成功与失败的窗体显示在6.1节中。

菜单栏中有添加、删除、查找和更改的功能。

每一项中都包含对学生、老师、班级、年级和专业的相应的操作。

每一部分,都有友好的界面,都可以根据提示进行很好地操作。

 

 

 

 

2.代码设计

privatevoid修改密码ToolStripMenuItem_Click(objectsender,EventArgse)

{

管理员更改密码administraterChangePassword=new管理员更改密码();

administraterChangePassword.Show();

}

privatevoid添加学生ToolStripMenuItem_Click(objectsender,EventArgse)

{

添加学生addStudent=new添加学生();

addStudent.Show();

}

privatevoid添加教

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

当前位置:首页 > 自然科学 > 化学

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

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