专业方向课程设计报告.doc_第1页
专业方向课程设计报告.doc_第2页
专业方向课程设计报告.doc_第3页
专业方向课程设计报告.doc_第4页
专业方向课程设计报告.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国矿业大学徐海学院计算机系专业方向课程设计论文姓名: 管 景 峰 学号: 22080373 专业方向: 计算机网络 设计题目: 成绩管理系统 指导教师: 赵 芳 2011年 11 月 中国矿业大学徐海学院计算机系专业方向课程设计(论文)摘 要成绩管理平台是建立在互联网基础上的一种信息交流平台,面向所有网民提供服务。无论是查询成绩的学生还是管理成绩的教师,都可以通过该平台进行信息方面的交流。该平台是区别于传统的成绩管理的服务平台。学生可以免费查看网络上自己的成绩信息;教师可以免费管理网络上自己所带科目的成绩信息,挑选自己所带科目的学生的成绩。根据网络信息管理系统的开发为背景,论述了整个系统的开发过程,系统的结构及系统开发的基本原理和方法。全系统共分前言、编程环境基础知识、需求分析 、系统设计、系统实施、系统运行及维护、开发总结等几章。详细论述了需求分析、系统设计的技术及应用、系统的功能等内容本系统在开发过程中,注意使其符合易于操作的要求,并力求系统的全面性、通用性。随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。在开发工具的选择上,主要利用 C# 编程语言进行开发,使用 MS SQL Server 2005 数据库,从而保证了数据的完整性与一致性。【关键词】成绩管理系统: Visual Stdio2008 ;SQL Server 2005目 录第1章 引言21.1开发与运行环境21.2开发成绩信息管理系统的目的21.3本课题的研究意义,国内外研究现状、水平和发展趋势3第2章 可行性分析42.1技术可行性42.2经济可行性42.3操作可行性4第3章 系统的分析和设计53.1 系统功能按角色分配53.2 系统功能程序流程图7第4章 数据描述84.1 数据库技术概述84.2 系统逻辑模型84.3 系统逻辑结构设计9第5章 系统的实现和调试系统115.1 登录界面及功能115.2 用户注册界面及功能135.3 学生基本信息界面及功能175.4 教师录入成绩界面及功能225.5 学生选课界面及功能23第6章 运行与测试24第6.1节 系统运行24第6.2节 系统测试24总 结28参考文献2830第1章 引言当今时代的两个显著特点就是世界经济一体化和以计算机为代表的信息技术的快速发展。一个组织要在激烈的竞争中保持优势和不断发展,必须对迅速变化的环境灵敏地做出有效的反应。成绩管理系统的应用能够提供这种有效的决策支持。成绩信息管理系统运用了先进的、管理的、信息的处理技术来针对环境的挑战,它实际是随着计算机软件和网络技术不断地前进而前进,随着环境不断地变化而变化的。这样就有了新的解答成绩信息管理系统是逐步发展的过程,使之更好地适应社会的发展需求。学生可以免费查看网络上的成绩信息;教师可以免费管理网络上的成绩信息,挑选自己所带科目的学生的成绩。1.1开发与运行环境 成绩信息管理系统的开发与运行环境如下:开发环境:Windows XP数据库工具:SQL SEVER 2005开发语言:C# 、 SQL运行环境:Windows 2000/XP/20031.2开发成绩信息管理系统的目的一直以来学生的成绩管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。随着办学规模的扩大和招生人数的增加,建立一个成绩维护系统是非常必要的。普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计的课题。 本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可以完成有关成绩的录入,更新,管理,查询和删除。本系统将会改变以前靠手工管理学生成绩的状况,提高工作效率。希望能为老师和学校的工作带来便利。1.3本课题的研究意义,国内外研究现状、水平和发展趋势 随着高校办学规模的扩大和招生人数的增加,学生成绩管理维护是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,介于它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。 运用学生成绩管理维护系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够节省时间,学生也能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。在现代高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,管理好学生的成绩,是非常重要的。因此开发出一套学生成绩管理系统是非常必要的。第2章 可行性分析2.1技术可行性本课题是采用C#,SQL Server 2008技术来进行研究与实现。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了 Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。2.2经济可行性本系统开发需求的成本较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。而且目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。在为使用者带来便利的同时,也为系统的进一步推广创造了条件。最重要的一点是该软件的开发可以给我们对系统的开发有个全面的认识。因此经济可行性较高。2.3操作可行性系统基于C#的工作界面,使工作人员无论身处何地,无论通过局域网还是互联网,都能在客户端中直接工作。在操作使用上十分方便,所有的操作都是基于C#的操作方式,如:链接、按钮等等。所有的操作通过客户端完成,客户端不需要配置其他应用软件。人性化的界面设计,使一般用户无需培训即可使用。第3章 系统的分析和设计成绩信息管理系统的用户包括系统管理员、教师和学生。系统管理员负责对学生基本信息的添加、修改、删除和查询;教师负责对学生成绩信息的添加、删除、修改和查询;学生负责对自己成绩的查询和选课。3.1 系统功能按角色分配1、管理员用户:添加、修改、查询和删除教师信息、添加、修改、查询和删除学生信息,如图3.1所示: 图3.1管理员功能2、学生用户:学生选课、成绩查询,如图3.2所示: 图3.2学生功能3、教师用户:添加、修改、查询和删除学生成绩 ,如图3.3所示: 图3.3教师功能4、未注册用户:注册学生用户、注册教师用户,如图3.4所示: 图3.4未注册用户功能3.2 系统功能程序流程图如图3.5所示: 图3.5系统程序流程图第4章 数据描述4.1 数据库技术概述数据库技术是管理信息的一项重要技术,其发展大致经历了三个阶段:人工管理阶段:在 20 世纪 50 年代中期以前,数据的组织和管理完全靠程序员手工完成,数据是面向应用的,数据与程序不具有独立性,数据冗余大,管理效率很低。文件管理阶段:20 世纪 50 年代后期,出现了包含文件管理系统的操作系统,数据处理包括查询、修改、插入和删除等完全由文件系统统一管理,数据可以反复使用,但仍然是面向应用的。数据库管理阶段: 70年代初为解决多用户多应用共享数据的需要出现了数据库管理技术,它克服了文件系统的缺点,由数据库管理系统DBMS(Database management System)对所有数据实行统一、集中、独立管理。数据库系统的特点表现为:(1)数据结构化。(2)数据的共享性高,冗余性低,易扩充。(3)数据独立性高。(4)数据由DBMS统一管理和控制。24.2 系统逻辑模型数据库系统是基于某种数据模型的,是对现实世界进行抽象得到的。本系统对现实世界的超市进行抽象后采用P.P.S.Chen于1976年提出的实体-联系方法,即E-R图来描述现实世界的概念模型。E-R图是直观表示概念模型的工具,它有四个基本成分: :矩形框,表示实体类型(考虑问题的对象)。 :菱形框,表示联系类型(实体间的联系)。 :椭圆形框,表示实体类型和联系类型的属性。对于关键码的属性,在属性名下划一横线。:直线,联系类型与其涉及的实体类型之间以直线连接。成绩管理系统E-R图如下:m1学生成绩表查询查看1学生信息表mm选课1管理nn课程信息表1学生选课表1教师信息表查询图4.1成绩管理系统E-R图4.3 系统逻辑结构设计本系统的关系数据库主要包括教师表、学生表、学生信息表、注册用户表,学生选课表、学生成绩表表的详细结构如下:教师信息表数据:学生选课表数据: 注册用户表数据:学生信息表数据:学生成绩表数据:课程信息表数据:第5章 系统的实现和调试系统5.1 登录界面及功能系统登录主要用于对进入成绩管理系统的用户进行安全性检查,以防非法用户进入该系统。登录界面如5.1所示: 图5.1登录界面登录界面主要代码:private void button1_Click(object sender, EventArgs e) int i = 0; string constr = server=.;database=student;integrated security=true; SqlConnection thisconnection = new SqlConnection(constr); thisconnection.Open(); if (radioButton1.Checked) Program.type = 管理员登陆成功!; string sql = select * from Table_1 where 用户名= + textBox1.Text.ToString() + and 密码= + textBox2.Text.ToString() + and 用户类型= + radioButton1.Text.ToString() + ; SqlCommand mycom = new SqlCommand(sql, thisconnection); SqlDataReader da; da = mycom.ExecuteReader(); while (da.Read() i = 1; MessageBox.Show(管理员登陆成功!); Form5 f4 = new Form5(); f4.Show(); this.Hide(); if (radioButton2.Checked) Program.type = 学生登陆成功!; string sql = select * from Table_1 where 用户名= + textBox1.Text.ToString() + and 密码= + textBox2.Text.ToString() + and 用户类型= + radioButton2.Text.ToString() + ; SqlCommand mycom = new SqlCommand(sql, thisconnection); SqlDataReader da; da = mycom.ExecuteReader(); while (da.Read() i = 1; MessageBox.Show(学生登陆成功!); Form4 f4 = new Form4(); f4.Show(); this.Hide(); if (radioButton3.Checked) Program.type1 = textBox1 .Text .ToString (); Program.type = 教师登陆成功!; string sql = select * from Table_1 where 用户名= + textBox1.Text.ToString() + and 密码= + textBox2.Text.ToString() + and 用户类型= + radioButton3.Text.ToString() + ; SqlCommand mycom = new SqlCommand(sql, thisconnection); SqlDataReader da; da = mycom.ExecuteReader(); while (da.Read() i = 1; MessageBox.Show(教师登陆成功!); Form4 f4 = new Form4(); f4.Show(); this.Hide(); if (i = 0) MessageBox.Show(用户名、密码或用户类型错误!); textBox1.Clear(); textBox2.Clear(); 5.2 用户注册界面及功能用户注册界面主要用于对从未进入成绩管理系统的新用户进行注册使用的。用户注册界面如5.2所示: 图5.2用户注册界面用户注册界面主要代码:private void button1_Click(object sender, EventArgs e) int i = 0; SqlConnection mycon = new SqlConnection(server=.;database=student;integrated security=true); mycon.Open(); if (radioButton1.Checked) if (textBox2.Text = textBox3.Text) & (textBox1.Text != ) string comstr = select * from Table_1 where 用户名= + textBox1.Text + ; SqlCommand mycom = new SqlCommand(comstr, mycon); SqlDataReader da; da = mycom.ExecuteReader(); while (da.Read() i = 1; MessageBox.Show(此账号已被注册!); textBox1.Clear(); da.Close(); if (i = 0) string comstr1 = insert into Table_1 values( + textBox1.Text + , + textBox2.Text + , + radioButton1.Text + ); mycom = new SqlCommand(comstr1, mycon); mycom.ExecuteNonQuery(); MessageBox.Show(注册成功!); textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); else else MessageBox.Show(密码不一致或账号为空!请从新输入!); if (radioButton2.Checked) if (textBox2.Text = textBox3.Text) & (textBox1.Text != ) string comstr = select * from Table_1 where 用户名= + textBox1.Text + ; SqlCommand mycom = new SqlCommand(comstr, mycon); SqlDataReader da; da = mycom.ExecuteReader(); while (da.Read() i = 1; MessageBox.Show(此账号已被注册!); textBox1.Clear(); da.Close(); if (i = 0) string comstr1 = insert into Table_1 values( + textBox1.Text + , + textBox2.Text + , + radioButton2.Text + ); mycom = new SqlCommand(comstr1, mycon); mycom.ExecuteNonQuery(); MessageBox.Show(注册成功!); textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); else else MessageBox.Show(密码不一致或账号为空!请从新输入!); 5.3 学生基本信息界面及功能学生基本信息界面主要用于管理员用户进行学生信息的添加、修改、删除和查询。学生基本信息界面如5.3所示: 图5.3学生基本信息界面学生基本信息界面主要代码:private void button1_Click(object sender, EventArgs e) if (textBox1.Text = | textBox2.Text = | comboBox1.Text = | textBox3.Text = ) MessageBox.Show(所有的信息不能为空!); else string constr1 = insert into Table_2 values( + textBox1.Text + , + textBox2.Text + , + comboBox1.Text + , + textBox3.Text + ); SqlConnection conn = new SqlConnection(server=.;database=student;integrated security=true); conn.Open(); SqlCommand cmd = new SqlCommand(constr1, conn); try cmd.ExecuteNonQuery(); MessageBox.Show(添加成功!); catch (Exception ee) MessageBox.Show(学好不能重复,表中已有记录!); b.Clear(); string t = select * from Table_2 ; / DataSet b = new DataSet(); SqlDataAdapter a = new SqlDataAdapter(t, conn); a.Fill(b, Table_2); dataGridView1.DataSource = b.TablesTable_2; conn.Close(); textBox1.Text = textBox2.Text= comboBox1.Text = textBox3.Text = ; private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) int j; try j = dataGridView1.SelectedRows0.Index; textBox1.Text = b.Tables0.Rowsj0.ToString(); textBox2.Text = b.Tables0.Rowsj1.ToString(); comboBox1.Text = b.Tables0.Rowsj2.ToString(); textBox3.Text = b.Tables0.Rowsj3.ToString(); catch (Exception ee) private void button2_Click(object sender, EventArgs e) /dataGridView1_CellClick (); SqlConnection thisconnection = new SqlConnection(server=.;database=student;integrated security=true); thisconnection.Open(); string constr5 = update Table_2 set 学号= + textBox1.Text.ToString() + ,姓名= + textBox2.Text.ToString() + ,班级= + textBox3.Text.ToString() + ,性别= + comboBox1.Text.ToString() + where 学号 = + textBox1.Text.ToString() + ; SqlConnection conn = new SqlConnection(server=.;database=student;integrated security=true); conn.Open(); SqlCommand cmd = new SqlCommand(constr5, conn); cmd.ExecuteNonQuery(); MessageBox.Show(修改成功!); conn.Close(); string t = select * from Table_2 ; SqlConnection conn2 = new SqlConnection(server=.;database=student;integrated security=true); conn.Open(); try DataSet b = new DataSet(); SqlDataAdapter a = new SqlDataAdapter(t, conn2); a.Fill(b, Table_2); dataGridView1.DataSource = b.TablesTable_2; catch (Exception c) conn.Close(); textBox1.Text = textBox2.Text = comboBox1.Text = textBox3.Text = ; private void button3_Click(object sender, EventArgs e) SqlConnection thisconnection = new SqlConnection(server=.;database=student;integrated security=true); thisconnection.Open(); string constr1 = delete from Table_2 where 学号= + textBox1.Text + ; SqlConnection conn = new SqlConnection(server=.;database=student;integrated security=true); conn.Open(); SqlCommand cmd = new SqlCommand(constr1, conn); cmd.ExecuteNonQuery(); MessageBox.Show(删除成功!); conn.Close(); string t = select * from Table_2; SqlConnection conn2 = new SqlConnection(server=.;database=student;integrated security=true); conn.Open(); try DataSet b = new DataSet(); SqlDataAdapter a = new SqlDataAdapter(t, conn2); a.Fill(b, Table_2); dataGridView1.DataSource = b.TablesTable_2; catch (Exception c) conn.Close(); textBox1.Text = textBox2.Text = textBox3.Text = comboBox1.Text = ; private void button4_Click(object sender, EventArgs e) string t = select * from Table_2 where 学号= + textBox4.Text + ; SqlConnection conn2 = new SqlConnection(server=.;database=student;integrated security=true); conn2.Open(); try DataSet b = new DataSet(); SqlDataAdapter a = new SqlDataAdapter(t, conn2); a.Fill(b, Table_5); dataGridView2.DataSource = b.TablesTable_5; catch (Exception c) conn2.Close(); textBox4.Text = ; private void button5_Click(object sender, EventArgs e) string t = select * from Table_2 where 姓名= + textBox5.Text + ; SqlConnection conn2 = new SqlConnection(server=.;database=student;integrated security=true); conn2.Open(); try DataSet b = new DataSet(); SqlDataAdapter a = new SqlDataAdapter(t, conn2); a.Fill(b, Table_5); dataGridView2.DataSource = b.TablesTable_5; catch (Exception c) conn2.Close(); textBox5.Text = ; 5.4 教师录入成绩界面及功能教师录入成绩界面主要用于对进入成绩管理系统的用户进行学生成绩信息的添加、修改、删除和查询。教师录入成绩界面如5.4所示: 图5.4教师录入成绩界面教师录入成绩界面主要代码:类似于上一个界面。5.5 学生选课界面及功能学生选课界面主要用于对进入成绩管理系统的学生用户进行选课处理。学生选课界面如5.5所示: 图5.5学生选课界面学生选课界面主要代码:类似于上一个界面。第6章 运行与测试经过近一个月的设计,本系统基本实现了成绩管理系统的需要。第6.1节 系统运行首先将“成绩管理系统”文件夹复制到你的硬盘上。程序启动方式:双击Visual Studio 2008运行程序。系统调试:要查看或修改程序设计可在Visual Studio 2008环境下打开所要修改的文件就可以了。第6.2节 系统测试一:测试方法设计测试方案时,不仅要包括确定的输入数据,而且因包括从系统功能出发预期的测试结果:测试用例不仅要包括合理、有效的输入数据,还要包括无效的或不合理的输入数据;不仅要检验程序是否做了应该完成的事,还要检查是否同时做了不应该完成的事;软件中仍存在错误的概率和已经发现错误的个数是成正比的;而且需要保留测试用例,作为软件文档的组成部分对软件进行测试主要方法包括:l)人工测试:个人复查、走审和会审:2)机器测试:黑盒测试:也称功能测试,将软件看作黑盒子,在完全不考虑程序内部结构和特性的情况下,测试软件的外部特性。根据软件的需求规格说明书设计测试用例,从程序的输入、输出特性上测试是否满足所设计的功能7。白盒测试:也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符7。测试方法主要使用黑盒测试,用以检验是否每个功能都能正常使用。当黑盒测试出现问题的时候,则进一步采用白盒测试来检验软件内部动作出现问题的根源。在黑盒测试的过程中,采用了黑盒测试法的边界值分析法和错误推测法。在白盒测试的过程中,采用了判断与路径覆盖的方法。设计完成后进行系统的测试,测试时进行代码审查,从数据类型,变量声明,数据结构进行审查,然后进行动能测试,从输入一些简单的数据开始执行一遍,观测运行期间变量的变化,运行中值的变化范围。改变测试方案来变换另一个角度进行测试,发现错误并记录,修改代码,测试条件使程序通过多层分支,判断运行结果从而完成测试。在整体测试时,发现由登录界面打开个功能模块后,应该释放或隐藏登录界面,要不然同一功能模块可以同时打开多个。由功能模块返回主界面时,同样也要释放该功能模块。二: 测试组成(1) 功能测试测试目标:系统提供的功能是否正确实现。方法: 主要针对各个功能实现进行测试。 针对每个功能设计通过用例和失败用例,有针对性的测试。 系统测试阶段根据功能逐项测试。完成标准: 功能实现,且可以正确执行。 所发现的缺陷尽量解决,留下的问题已经进行相应的处理或提供其它的解决方法。需考虑的特殊事项: 注意其中一些重要功能是与实际效果相关,并不是简单的功能实现。对可能影响进度的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论