C学生成绩管理系统课程设计报告Word格式文档下载.docx

上传人:b****6 文档编号:21515649 上传时间:2023-01-30 格式:DOCX 页数:19 大小:201.69KB
下载 相关 举报
C学生成绩管理系统课程设计报告Word格式文档下载.docx_第1页
第1页 / 共19页
C学生成绩管理系统课程设计报告Word格式文档下载.docx_第2页
第2页 / 共19页
C学生成绩管理系统课程设计报告Word格式文档下载.docx_第3页
第3页 / 共19页
C学生成绩管理系统课程设计报告Word格式文档下载.docx_第4页
第4页 / 共19页
C学生成绩管理系统课程设计报告Word格式文档下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C学生成绩管理系统课程设计报告Word格式文档下载.docx

《C学生成绩管理系统课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C学生成绩管理系统课程设计报告Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。

C学生成绩管理系统课程设计报告Word格式文档下载.docx

4・3・4音乐播放器

第五章主要功能模块代码

5.1醪类计…

5・2登录界面代码设计

5・3查询模块代码设计

5・4添加模块代码设计

5.5更新模块代码设计

5.6删除模块代码设计

..6

..7

..8

..9

10

11

13

16

17

19

20

21

5・8播放器打开代码设计

 

第六章课程设计心得

23

C#学生成绩管理系统

摘要

本文描述的是基于Windows环境的学生信息管理系统,主要功能模块包括:

学生信査询,学生信息管理,学生成绩录入,主要工具MicrosoftVisualStudio2010设计窗体,SQLserver2008建立数据库,实现学校信息管理的各个功能。

本篇报告介绍一个学生信息管理系统的从分析到设计最后到开发的全过程为,给出了学生信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。

涉及到学生信息管理的基本功能在本报告中都有相应的描述。

第一章绪论

1.1设计目的

本课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序的设计和ADO.net的应用,希望通过本次课程设计锻炼学生使用C#语言解决实际问题的能力。

1.2开发工具选择

本系统后台数据库采用MicrosoftSQLServer数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;

前台釆用Microsoft公司的Visual

Studio2010作为主要开发工具,可与SQLServer2008数据库无缝链接。

1.3开发环境

系统开发平台:

MicrosoftVisualStudio2010系统开发语言:

C#

数据库管理软件:

SQLServer2008

1.4本报告的主要内容

本报告详细的介绍了学生信息管理系统的开发过程,主要涉及到的工作如下:

系统的需求分析、系统的总体设计、系统的概念设计、系统各模块的详细设计、系统运行与测试。

第二章需求分析

2.1系统需求简介

2.1.1系统目标

(1)根据査询条件实现学生信息的査询

(2)学生选课信息査询、成绩信息的査询

(3)学生信息、课程信息、成绩信息的增加、删除、修改

(4)对基本信息完成增加、删除、修改时,需注意表与表之间的关联

2.1.2功能需求分析

本系统的功能需求分析如下:

(1)学生信息査询:

学生可以根据学号、姓名、专业进行査询.

(2)学生信息管理:

主要是用于学生信息更新、插入、删除;

(3)学生成绩录入:

用于学生成绩管理,录入学生成绩,也可以更新;

2.1.3性能需求分析

(1)登录、用户界面需求:

简洁、易懂、易用、友好的用户界面。

(2)安全保密性需求:

只有凭借用户名和密码登陆系统,才能进行信息的管理等。

第三章总体设计

3.1设计概述

根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。

把这些模块结合起来组成一个整体。

逐一实现各个功能;

3.2系统总体结构及功能模块划分

经过对系统的需求分析,学生信息管理系统主要划分为三个部分:

学生信息查询,学生信息管理,学生成绩录入三个功能模块。

如图3.2.1系统的总体结构。

学生信息查一

学生信息管

学生成绩录

学生信息管理系

图3.2.1系统的总体结构

3.2.1学生信息块

学生信息査询:

学生可以根据姓名、性别进行査询。

如图3.2.2学生信息査

询模块结构。

图322学生信息管理模块结构

3.2.2学生信息管理模块

学生信息管理:

主要是用于学生信息更新、插入、删除,如图3.2.3学生管理模块结构。

学生信息管理

图3.2.3学生信息管理模块结构

3.3系统数据库概念结构设计

根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。

3.3.1系统E-R图

系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。

如图3.3.1系统E-R图结构。

图33.1系统E-R图结构

3.3.2系统数据库的设计

综合以上分析,要实现上面的所有功能模块,主要设计表如下:

表3・3」用户表(usedata)

列名

数据类型

饰Nullffi

瘤id

int

o

usernam亡

varchar(50)

userpsw

表3.3・4学生表(S)

允诈Null值

nid

Name

nvarchar(50)

Sex

nvarcharC5O)

English

Chinese

Math

Img

varbinary(MAX)

3.4安全保密设计

3.4.1用户登录安全性

系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入正确的用户名及密码组合后才能够对学生信息进行操作。

第四章详细设计

4・1概述

详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序O

4.2系统程序流程图

程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。

它可将整个程序的总体流程清楚明白的显示出来。

如图4.2.1系统总流程图结构。

登录界面

系统主界•面

1

录入

信息更新

册!

1除

退出

图421系统总体流程图

43.1系统登录

用户凭借用户名及密码登录,成功登录后可对学生信息进行操作。

用户界面

如图4.3.1用户登录界面所示。

图4.3」用户登录界面

43.2学生信息査询瞰

、字生醉谿

(°

F文件T编辑哎工具血帮助•退出

学生信息查询:

在程序主界面(如图4.3.2程序主界面)学生可以根据学号、姓名进行査询。

学生也可以只用一种条件进行信息査询,也可以多个条件査询。

单击记录任一单元格可显示学生的更详细信息(如图4.33详细信息窗口)。

图4.3.2程序主界面

图43・3详细信息窗口

4.3.3学生信息戦

学生信息管理:

通过右击程序主界面的相应记录弹出的上下文菜单(如图4.3.4上下文菜单)可对当前选定学生信息进行详细信息查询(如图4.3.3详细信息窗口)、修改信息(如图4.3.5修改信息窗口)、删除信息(如图4.3.6删除信息提示)。

更新时如果输入的学号不存在,可选择是否添加学生信息。

通过程序主界面的新建信息记录可添加学生信息(如图4.3.7添加信息窗口)、条件筛选(如图4.3.8),可按性别査询和学生姓名査询。

車文件A编辑匸工具4帮助険退岀増加—l编号删除修改

修改

图43.4上下文菜单

图4・3・5修改信息窗口

图43.6删除信息提示

图43.7添加信息窗口

图43.8査询

4.3.4音乐歸器

音乐播放:

当用户登录成功,进入主窗口之后,会很明显的看到一个播放

器,如图4.3.9所示,在播放器的下面有三个按钮,可以实现打开(图4.3.10),

{打开

播放/暂停,和默认音乐.

图4.3.10

171

歌词流动显示:

进入主界面后可以看到右边有一块区域(图4.3.11),这里便是显示歌词的.当打开的音乐搜索不到歌词的话,会显示(图4.3.12)让用户自己去下载歌词.

Sunday'

scomingiv/ann

周末,我

toyourapartmentwionpredertuHReasf带着礼物如流星般来到甲家门耳罗forecastersaidtheweatherh$berainy

预报员说今天会有琢日butiknowthesun但是我知遒阳光争为纟ohlazyseagullfly欧、海鸥从黄昏中聲idressmyjeans翻我穿着我的牛仔祥一绪

+mv/—crrc

一—1•-*>

j>

JL1t■^£

9—

图4.3.11

图4.3.12

5.1公共类代码设计

namespaceMyHelper

{

classSqlHelper

publicstaticreadonlystringconnstr=

ConfigurationManager・ConnectionStringsConnectionString;

publicstaticintExecuteNonQuery(stringcmdTex

paramsSqlParameter[]parameters)

using(SqlConnectionconn=newSqlConnection(connstr))

conn・Open0;

using(SqlCommandcmd=corm・CreateCommandO)

cmd.CommandText=cmdText;

cmd.Parameters.AddRange(parameters);

returncmd.ExecuteNonQuery0;

}

publicstaticobjectExecutcScalar(stringcmdText,

conn・Open();

using(SqlCommandcmd=conn・CreateCommandO)

cmd・Parameters.AddRange(parameters);

returncmd.ExccuteScalar();

publicstaticDataTableExecuteDataTable(stringcmdText,paramsSqlParameter[]parameters)

using(SqlConnectionconn=newSqlConnection(connstr))

cmd.CommandText=cmdTcxt;

cmd.Parameters.AddRange(parameters);

using(SqlDataAdapteradapter=newSqlDataAdapter(cmd)){

DataTabledt=newDataTable0;

adapter.Fill(dt);

returndt;

publicstaticSqlDataReaderExecuteDataReader(stringcmdText,paramsSqlParameter[]parameters)

SqlConnectionconn=newSqlConnection(connstr);

using(SqlCommandcmd=conn.CreateCommand0)

cmd.Parameters・AddRange(parameters);

returncmd.ExecuteReader(CommandBehavior.CloseConnection);

}

5.2登录界面代码设计

privatevoidlogin_Click(object

sender,EventArgse)

{〃用户名及密码组合判断

if

(username.Text.ToString().Trim()!

=nn&

&

password.Text.ToString().Trim()!

=nH)

if(txtUserName.Text=

txtUserName.Text=

if(txtPsw.Text=

MessageBox.ShowMessageBoxButtons.OK,MessageBoxIcon.Information);

DialogResuIt=DialogResuIt.OK;

else

MessageBox.Show+i+

i—;

MessageBox.Show;

5.3查询模块代码设计

QueryFrmquery=newQueryFrm0;

if(query・ShowDialogO=DialogResuIt.OK)

DataTabledt=SqlHelper.ExecuteDataTablenewSqlParamequery・Name));

if(dt.Rows.Count>

=l)

dataGridView1・DataSource=dt;

MessageBox.ShowMessageBoxButtons.OK,MessageBoxIcon・Information);

5.4添加模块代码设计

if(txtName.Text.TrimO=丨丨

txtChi.Text.TrimO=IItxtEng.Text.TrimO=txtMath.Text.TrimO=

MessageBox.Show(*

MessageBoxButtons.OK,MessageBoxIcon.Information);

return;

if(rbMale.Checked)

SqlHelper.ExecuteNonQuery

newSqlParametertxtName.Text),

newSqlParamet

Convert.Tolnt32(txtEng.Text)),

newSqlParameternewSqlParame

Convert.Tolnt32(txtChi.Text)),

newSqlParameter("

@Math"

Convert.Tolnt32(txtMath.Text))

);

SqlHelper.ExecuteNonQuery

newSqlParametxtEng.Text),

newSqlParameternewSqlParamettxtChi.Text)>

newSqlParametertxtMath.Text)

MessageBox.Sho讥"

);

DialogResult二DialogResult.OK;

this・Close0;

voidLoadDataGradViewO

DataTabledt=SqlHelper.ExecuteDataTable

;

dataGridViewl.DataSource=dt;

dataGridViewLSelectionMode=

DataGridViewSelectionMode・FullRowSclect;

DialogResultdrCurr=MessageBox.ShowMessageBoxButtons.OKCancel,MessageBoxIcon.Question);

if(DialogResult^OK=drCurr)

SqlHelper.ExecuteNonQucrynewSqlParameterselectld));

LoadDataGradView();

5.7图片显示代码设计

voidGet_Img(intid)

byte[]imagebytes=null;

SqlDataReaderdr=SqlHelper^Execu

while(dr.Read0){

try

imagebytes=(byte[])dr.GetValue(6);

MemoryStreamms=newMemoryStream(imagebytes);

Bitmapbmpt=newBitmap(ms);

catch(Exception)

stringstrlmgFile=Application・StartupPath;

strlmgFile=strlmgFile.Substring(0,strlmgFile.LastlndexOf;

strlmgFile=strlmgFile.SubstringQstrlmgFile.LastlndexOf;

strlmgFile=strlmgFile+//MessageBox・Show(strlmgFile);

5.8播放器打开代码设计

privatevoidbtnOpen_Click(objectsender,EventArgse)

OpenFileDialogofd=newOpenFileDialog0:

ofd.Filter=;

if(ofd.ShowDialogO=DialogResult.OK){

if(ofd.F订eName.TrimO.EndsWithC^.ofd.FileName<

TrimO•EndsWithC^.

timer2.Stop();

MessageBox.Show);

第六章勰耐心得

为期一周的课程设计结束了,在老师和同学的帮助下,我基本完成系统的设计。

我按照系统工程软件设计的要求,从需求分析,概念设计,总体设计,详细设计,系统测试等各个步骤,分步完成系统的各项任务,实现了系统中的学生信息査询,学生信息更新,学生信息添加等模块的功能。

在这短短的五天里我收获如下:

1、巩固和加深了对C#的理解,提高综合运用本课程所学知识的能力。

2、培养了我选用参考书,査阅手册及文献资料的能力。

培养独立思考,深入研究,分析问题、解决问题的能力。

3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。

根据我在课程设计中遇到的问题,我将在以后的学习当中注意以下几点:

1、认真上好专业实验课,多在实践中锻炼自己。

2、写程序的过程中要考虑周到,严密。

3、在做设计的时候要有信心,有耐心,切勿浮躁。

4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。

5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。

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

当前位置:首页 > 工作范文 > 其它

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

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