版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
洛阳理工学院课程设计报告课程名称 高级语言C#课程设设计题目 学生信息管理系统专 业 计算机科学与技班 级 B130506学 号 B姓 名 张葵完成日期 2015.12.31课程设计任务书设计题目: 学生信息管理系统教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。一个教师可以教授多个班的多门课程。教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。课程分两类,必修课和选修课。学生可以选修课程,每学期几门。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。系统管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。指导教师: 张文学2015年12月27日课程设计评语成绩:指导教师: 2015年12月31日PAGEPAGE4洛阳理工学院课程设计报告目录第1章需求和可行性分析 3需求分析 3功能需求 3性能需求 3可行性分析 4技术可行性 4经济可行性 4第2章系统设计概述 5整体设计概述 5设计流程 5设计思路 6功能模块介绍 6学生信息模块 6教师模块 7教务员模块 8管理员登录 9第3章数据库的搭建和实现 10数据库设计概述 10E-R图的设计 10数据库表的创建 12学生表的创建 12教师表的创建 13课程表的创建 13成绩表的创建 14存储过程的创建 14分配班级存储过程 14班级信息的存储过程 15学生课程的存储过程 15学生成绩存储过程 16洛阳理工学院课程设计报告第4章C#高级语言的实现 174.1概述 17数据库的连接 17开始界面的设计 18系统管理员 18登录功能和界面 18管理员显示界面 21学生功能介绍和实现 26登录界面和功能实现 26学生用户界面 27第5章结论 29第6章谢辞 30参考文献 31洛阳理工学院课程设计报告第1章需求和可行性分析需求分析学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。学校的管理人员可以通过电脑对学生信息进行有效的管理,避免了以往人工管理的复杂和耗时费力的劳动,也大大的能够减少管理人员的工作量,可以有效的节约学校的开支。功能需求作为一个学生的信息管理系统,必须要有管理人员能够进行对学生的信息进行有效的管理,因此,系统必须预留一个管理员的登录窗口和登录之后所能进行的操作,在学生信息管理系统中,管理员具有最高的权限,可以对学生、老师、班级、专业等等进行添加、删除、修改个查询。除了拥有管理员之外,还应该拥还应该有老师的一个权限,老师在带完一门课之后可以对学生进行一个成绩录入和平时布置作业的功能。最后是学生自己拥有的功能,学生在考试结束后可以利用系统登录自己的账户对成绩进行查询。性能需求在学生信息管理系统中,要明确各类用户所能拥有的最高权限,如果一旦权绩的录入和平时布置作业,而不能删除学生的个人信息等权限。要设立不同的异常机制,这样不会因为用户的错误的操作而使得系统瞬时奔误的或者违反规则的操作之后,系统不会出现突然的停止运转。洛阳理工学院课程设计报告可行性分析随着计算机语言和数据服务的不断发展,使得许多的现实问题都可以利用计算机来帮助人类实现轻巧,方便的管理。在教育上,学生是一个庞大的群体,因此技术人员早早就开始想办法解决这个问题,因此,目前对于学生信息的管理各种语言都能够编写出一套完整的、可用的学生信息管理系统。技术可行性在这套系统的开发中,采用的是开发语言是C#,软件是Visio是微软对问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序Microsoft.NET.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选--无论是高级的商业对象还是系统级的应用程序。使用简单的C#以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上Internet进行调用。最重要的是,C#C++C/C++有的强大的功能。因为这种继承关系,C#C/C++C#。SQLServer2008R2,这个SQLVisioStudio2010相对简单实用。经济可行性现在随着互联网络、计算机技术的发展,数字城市成为当前热点话题。同时在国家政策给予大力支持的条件下,这些技术热点给社会产生了极大的影响,不仅给生活、学习和管理带来了新的体验,同时也带动了经济的增长。学生管理系统使用比较简单的C#语言开发,而且目前中国的学校和教育机构洛阳理工学院课程设计报告众多,许多的地方都需要用到这套学生信息管理系统,因此学生信息管理系统具有广阔的市场前景和发展动力。2整体设计概述这套学生信息管理系统旨在为用户提供更加有效的、方便的和快捷的学生的管理系统。本套系统在结构上由数据库和高级语言两部分组成,数据库部分负责此套系统所要用到的所有的数据库的表的创建和所用到的存储过程的创建。C#UI上的控件进行操作。设计流程图1整体设计思路图5洛阳理工学院课程设计报告设计思路UIUI修改,在用户需要用到数据库中的数据时,数据会从数据库中提出经过业务逻辑UIUI功能模块介绍以下会对本套系统中的主要模块做一个简单的介绍与分析。学生信息模块学生模块的主要功能是对自己的成绩能够有效的进行查询和能够对教师做出有效的评价在学期末。每个学生只能够对自己的成绩进行有效的查询,在登录自己的账户之后,其他的同学的成绩是不可见的,这样也是起到了一种隐私的保护作用,而且学生在登录自己的账户之后没有成绩修改和添加以及删除的功能。6洛阳理工学院课程设计报告图2学生用户登录教师模块教师在使用该系统时,主要的任务是向学生下达作业任务和在期末考试结束之后给给学生录入成绩,使得学生能够通过自己的账户登录该系统之后能够看到自己的成绩。在录入成绩之后不能对学生的成绩进行修改。7洛阳理工学院课程设计报告图3教师用户登录教务员模块教务员使用该套系统的主要目的是对教室进行管理,以及能够根据各个班级的具体课程情况对班级进行排课。图4教务员登录8洛阳理工学院课程设计报告管理员登录管理员是此套系统的拥有最高的权限,他可以添加学生、老师和教务员的信息,以及进行修改和删除等等。图5管理员登录9洛阳理工学院课程设计报告3数据库设计概述数据库在现代的系统的开发中,起到了非常重要的作用。数据库可以对数据进而访问数据库,找到自己想要的数据和信息。E-RERER到各个对象之间的关系和它具有的属性,因此,在创建数据库的时候会更加的方便和得心应手。图6ER7ER10洛阳理工学院课程设计报告图8ER图9ER图10ER图11ER12ER11洛阳理工学院课程设计报告数据库表的创建数据库中的数据都是通过表来进行存储的,因此,要将数据存储到数据库中,必须将表的结构进行合理化的设计,ER图为表的创建提供了良好的理论支撑,现在在建表的时候要考虑的是数据的存储大小,我们现在采用可以变换大小的varchar()类型进行存储,这样不会导致内存的无故浪费。图13整体表的创建学生表的创建学生表中主要是学生的一些属性,例如学生的学号,姓名,年龄和性别等等,在学生管理系统中,学号作为该表的主键,设计如下:12洛阳理工学院课程设计报告图14学生表的创建教师表的创建教师表中也是教师的一些属性,例如教工号、姓名和教室名等等,教工号为主键,设计如下:图15教师表的创建课程表的创建在课程表中,属性是关于课程的一些信息,例如课程号、课程名和该课程的学时和学分。课程号是主键,设计如下:图16课程表的创建13洛阳理工学院课程设计报告成绩表的创建在创建完学生表和课程表之后,需要一个成绩表来显示学生的成绩信息,成绩要与学生个人和课程能够匹配上,在这里,需要设置学号和课程号为主键,而学生表中的学号和课程表中的课程号都是外键,设计如下:图17成绩表的创建存储过程的创建在使用数据库的时候有时候不是一个表所能完成的一项任务,我们往往会采用存储过程进行多表的结合使用,例如:要查询某个专业下的某个年级的某个班的一位同学的信息并且把这些信息显示出来,这样就会涉及到专业表、年级表、班级表和学生表。因此,在这个时候我们需要将多表进行结合使用,这里就会使图18整体的存储过程分配班级存储过程在分配班级的时候要用到班级和专业两个表,因此要通过这两个表进行分配,从而确定某一个班是属于哪一个专业,代码如下:USE[student_admin]14PAGEPAGE16洛阳理工学院课程设计报告GOSETANSI_NULLSGOSETQUOTED_IDENTIFIERGOALTERPROCEDURE[dbo].[CLASS_CHOOSE]@provarchar(20),@clavarchar(20)asselectprofessional.专业名,class.班级号,course.课程名,course.课时数,course.学分fromprofessional,course,classwhereprofessional.专业号=class.专业号andprofessional.专业名=@proandclass.班级号=@cla班级信息的存储过程查询某一个班级信息的功能,这个功能函数既可以在数据库中用存储过程实C#库中建立了一般班级信息的存储过程来实现的,在C#中通过调用该存储过程,然后向其中传递一个参数就可以实现。代码如下:USEGOSETANSI_NULLSGOSETQUOTED_IDENTIFIERGOALTERprocedure[dbo].[class_message]@classnovarchar(20)asselect班级号,专业名,班主任,班长,人数fromclasswhere班级号=@classno学生课程的存储过程学生的课程信息不仅仅包含了学生类,而且还包含了课程类,我们需要将这两个表进行有效的结合进行使用,在这套系统中我采用的是利用在数据库中建立一个学生课程的存储过程来显示学生的课程信息,预留一个输入参数—学生的学号,可以利用学号就可以查询到该学生的课程信息。代码如下:洛阳理工学院课程设计报告USEGOSETANSI_NULLSGOSETQUOTED_IDENTIFIERGOALTERprocedure[dbo].[student_course]@coursenovarchar(20)asselectstudent.学号,student.姓名,student.班级号,course.课程名,grade.分数fromstudent,course,gradewherestudent.学号=grade.学号andcourse.课程号=grade.课程号and课程名=@courseno学生成绩存储过程在学生管理系统中,非常重要的一环就是学生可以查看自己的成绩,在这套系统中,采用的也是在数据库中建立一个关于学生的存储过程,是按照学号进行查询的,在C#中,调用该存储过程,输入一个学号的参数,便可以查询该学生的成绩信息,防止查询了其他人成绩,起到隐私保护的作用。代码如下:USEGOSETANSI_NULLSGOSETQUOTED_IDENTIFIERGOALTERprocedure[dbo].[student_grade]@student_idvarchar(20)asselectstudent.学号,student.姓名,course.课程名,grade.分数,choose.选课名,grade.选修分数fromstudent,course,grade,choosewherestudent.学号=grade.学号andchoose.选课号=grade.选课号andstudent.学号=@student_id洛阳理工学院课程设计报告4C#高级语言的实现概述C#UIUI递到业务逻辑层然后进行数据的转化和业务逻辑的实现。数据库的连接在本套系统中,连接数据库我采用的是利用数据源来连接数据库,这样就可commod源和数据适配器,这样可以减少代码量,而且也会使得程序变得简洁明了,在使用一个数据库中的某一个表的时候只需要创建一个该表的数据适配器和一个共有dataset即可。关系图如下:图19数据源图示17洛阳理工学院课程设计报告开始界面的设计开始界面主要是让用户选择自己的身份类型进行系统的登录。如果用户选择的是系统管理员的登录方式,系统会自动的进行页面的跳转,跳转到系统管理员的登录界面。图20登录类型选择系统管理员登录功能和界面登录界面主要是让用户输入账号和密码进行登录,界面的风格是一致的,只是通过调用不同的数据库的信息进行不同的登录。18PAGEPAGE20洛阳理工学院课程设计报告图21登录界面用户在输入账号和密码的时候,系统会调用数据中的相应的表进行查看是否与表中的数据匹配,如果匹配则能够登录成功,否则不成功。如果登录成功,该账号和密码会被记录到本地的文件中进行存储,以此达到下次登录时的快捷和方便,代码如下:privatevoidbutton1_Click(objectsender,EventArgse){//Ì??Ì?¨¹理¤¨ª员Ì???stringname=null;stringpass=null;StringBuildersname=newStringBuilder("管¨¹理¤¨ª账?号?='");sname.Append(comboBox1.Text);sname.Append("'");if(comboBox1.Text!=""){try{}
DataRow[]row=table1.Select(sname.ToString());row1=row[0];name=row1[0].ToString();pass=row1[2].ToString();catch(Exceptionex){MessageBox.Show(ex.Message);}if(name==comboBox1.Text){洛阳理工学院课程设计报告//MessageBox.Show(name);if(textBox1.Text==pass){//?¨?¨¹¤¨ª员Ì?¨®¬¡§admin_showa=newadmin_show();a.Show();if(checkBox1.CanFocus){if(File.Exists(txt)){}else{
}else{}
String[]ss={name,pass};File.WriteAllLines(txt,ss);File.Create(txt);String[]ss={"",""};File.WriteAllLines(txt,}}else{MessageBox.Show("没?有®D此ä?管¨¹理¤¨ª员¡À");}}else //学¡ì生¦¨²?¨?{º?入¨?";
}}else{
MessageBox.Show("账?号?和¨ª密¨¹码?不?匹£¤配?");// label4.Text="??¨ª¨¹??£¤?,ê????输MessageBox.Show("?输º?¨???");}}洛阳理工学院课程设计报告管理员显示界面在管理员登录自己的账号之后,可以对学生、老师、课程和班级进行查询,添加、删除、修改和保存。这套系统中,可以根据学号和姓名进行查找,输入学号或者姓名,会进一步的调用数据库进行查询,如果数据库中有该成员的信息,datagaridview信息。在管理员查到成员信息之后,可以根据现在的情况进行对成员的信息进行相应的操作,例如:有一个学生退学,管理员可以查询到该生之后将该生信息进行删除。如果有一个老师的登录密码忘记了,管理员可以登录系统进行对该教师密码的一个重置。图22管理员查询学生信息按照学号查询学生信息的代码如下:privatevoidbutton3_Click(objectsender,EventArgse){//按ã¡ä学¡ì号?查¨¦找¨°//StringBuilderstringBuilder=newStringBuilder();if(comboBox1.Text.Length!=0){DataRow[] row = dataset.Tables["student"].Select("学¡ì 号?='" comboBox1.Text.Trim()+"'");try21PAGEPAGE26洛阳理工学院课程设计报告{datarow1=row[0];textBox5.Text=datarow1[0].ToString();textBox6.Text=datarow1[1].ToString();textBox7.Text=datarow1[2].ToString();textBox8.Text=datarow1[3].ToString();textBox9.Text=datarow1[4].ToString();textBox10.Text=datarow1[5].ToString();textBox11.Text=datarow1[6].ToString();textBox12.Text=datarow1[7].ToString();textBox13.Text=datarow1[8].ToString();}catch(Exceptionex){MessageBox.Show(ex.Message);}}}按照姓名查询学生信息的代码如下:privatevoidbutton4_Click(objectsender,EventArgse){//按ã¡ä姓?名?查¨¦找¨°if(textBox1.TextLength!=0){StringBuildername=newStringBuilder("姓?名?='");name.Append(textBox1.Text);name.Append("'");DataRow[]row=st_table.Select(name.ToString());try{Stringstr=row[0].ToString();//DataRow[]row=dataset.Tables["admin"].Select(("姓?名?="+textBox8.Text).ToString());datarow1=row[0];textBox5.Text=datarow1[0].ToString();textBox6.Text=datarow1[1].ToString();textBox7.Text=datarow1[2].ToString();textBox8.Text=datarow1[3].ToString();textBox9.Text=datarow1[4].ToString();洛阳理工学院课程设计报告textBox10.Text=datarow1[5].ToString();textBox11.Text=datarow1[6].ToString();textBox12.Text=datarow1[7].ToString();textBox13.Text=datarow1[8].ToString();}catch(Exceptionex){MessageBox.Show(ex.Message);}}}添加学生信息代码:privatevoidbutton5_Click(objectsender,EventArgse){//添¬¨ª加¨®DataRowrow=st_table.NewRow();if(textBox5.Text=="")row[0]=DBNull.Value;elserow[0]=textBox5.Text.Trim();if(textBox6.Text=="")row[1]=DBNull.Value;elserow[1]=textBox6.Text.Trim();if(textBox7.Text=="")row[2]=DBNull.Value;elserow[2]=textBox7.Text.Trim();if(textBox8.Text=="")row[3]=DBNull.Value;elserow[3]=textBox8.Text.Trim();if(textBox9.Text=="")row[4]=DBNull.Value;elserow[4]=textBox9.Text.Trim();if(textBox10.Text=="")row[5]=DBNull.Value;elserow[5]=textBox10.Text.Trim();洛阳理工学院课程设计报告if(textBox11.Text=="")row[6]=DBNull.Value;elserow[6]=textBox11.Text.Trim();if(textBox12.Text=="")row[7]=DBNull.Value;elserow[7]=textBox12.Text.Trim();if(textBox13.Text=="")row[8]=DBNull.Value;elsetry{}
row[8]=textBox13.Text.Trim();st_table.Rows.Add(row);catch(Exceptionex){MessageBox.Show(ex.Message);}修改学生信息代码如下:privatevoidbutton6_Click(objectsender,EventArgse){//修Ttry{if(textBox5.Text=="")datarow1[0]=DBNull.Value;elsedatarow1[0]=textBox5.Text.Trim();if(textBox6.Text=="")datarow1[1]=DBNull.Value;elsedatarow1[1]=textBox6.Text.Trim();if(textBox7.Text=="")datarow1[2]=DBNull.Value;elsedatarow1[2]=textBox7.Text.Trim();if(textBox8.Text=="")datarow1[3]=DBNull.Value;elsedatarow1[3]=textBox8.Text.Trim();if(textBox9.Text=="")datarow1[4]=DBNull.Value;洛阳理工学院课程设计报告elsedatarow1[4]=textBox9.Text.Trim();if(textBox10.Text=="")datarow1[5]=DBNull.Value;elsedatarow1[5]=textBox10.Text.Trim();if(textBox11.Text=="")datarow1[6]=DBNull.Value;elsedatarow1[6]=textBox11.Text.Trim();if(textBox12.Text=="")datarow1[7]=DBNull.Value;elsedatarow1[7]=textBox12.Text.Trim();if(textBox13.Text=="")datarow1[8]=DBNull.Value;else}
datarow1[8]=textBox13.Text.Trim();catch(Exceptionex){MessageBox.Show(ex.Message);}}删除学生信息代码如下:privatevoidbutton7_Click(objectsender,EventArgse){//删¦?除yDataViewview=newDataView(dataset.Tables["student"]);StringBuilderbulid=newStringBuilder("学¡ì号?='");try{bulid.Append(datarow1[0]);bulid.Append("'");view.RowFilter=bulid.ToString();view.Delete(0);view.EndInit();//ds1.Tables[0].Rows.Remove(row4);}catch(Exceptionex)洛阳理工学院课程设计报告{MessageBox.Show("没?有®D此ä?学¡ì生¦¨²"+ex.Message,"提¬¨¢示º?",MessageBoxButtons.OK,MessageBoxIcon.Information);}textBox5.Text="";textBox6.Text="";textBox7.Text="";textBox8.Text="";textBox9.Text="";textBox10.Text=textBox11.Text=textBox12.Text=textBox13.Text
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健身房转让协议书
- 二零二四年度技术转移咨询合同2篇
- 2024版信息技术开发居间合同3篇
- 安徽省六安市(2024年-2025年小学五年级语文)人教版课后作业(下学期)试卷及答案
- 民事调解离婚协议书范本
- 2024年度企业环保项目设计与施工合同3篇
- 2024年度软件开发与维护合同(金融系统)3篇
- 《高中作文素材慈善》课件
- 二零二四年版权购买与授权协议2篇
- 《跳棋教学教程》课件
- 企业创新体系建设课件
- 部编人教版六年级语文上册第六单元《语文园地六》课件
- 废旧物资回收登记表
- 大脑半球胶质瘤放射治疗临床路径(2021年版)
- 继续教育合格证明
- 校园文化建设方案(共60张PPT)
- 腹腔镜肾部分切除术护理查房
- 任务3-批评语训练课件
- 幼儿园中班课件:《预防感冒》
- 沥青混合料现场温度试验检测记录表
- “双碳”目标下工程行业助力制浆造纸行业绿色建造与可持续发展
评论
0/150
提交评论