C#学生成绩管理系统论文.doc_第1页
C#学生成绩管理系统论文.doc_第2页
C#学生成绩管理系统论文.doc_第3页
C#学生成绩管理系统论文.doc_第4页
C#学生成绩管理系统论文.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

郑州科技学院C#课程设计 设计(论文)题目: 学生成绩管理系统 所 在 院: 信息工程学院 专 业 班 级: 10计算机科学与技术2班学 生 姓 名: 李培培 学 号: 201015053 指 导 教 师: 王玉萍 2013年6月6日 目 录第一部分 引言21.1开发背景21.2 可行性分析2第二部分 需求分析72.1 设计目的72.2 设计要求82.3 功能实现9第三部分 总体设计103.1 设计思想103.2 总体结构113.3 功能分配123.4 主要模块133.5 数据库说明14第四部分 核心代码实现154.1 用户管理设计154.2 成绩管理设计19第五部分 测试分析22第六部分 总结26参考文献29第一部分 引言1.1开发背景 人类有几千年的历史,计算机从产生到现在只不过50多年,而网络的迅速发展也不过10年的时间。但是,计算机和网络对社会的影响已经迅速扩大,甚至在改变人们的生活。特别是90年代以来,多媒体和网络技术的飞速发展正在以惊人的速度改变着人们的工作方式、交往方式和生活方式。正像著名的未来学家尼葛洛庞帝(1997)所说的:“数字不再只和计算有关,它决定我们的生存。”科学技术是第一生产力,是最先进的生产力。现在,已经没有人怀疑信息技术的发展将会引起人类社会全面和深刻的变革,使人类社会由工业社会迈向信息社会。目前,在社会各个方面都呈现出了与工业社会显著不同的特点。网上书店,网上医院,网上学校,网上购物,网上银行,政府上网等新事物如雨后春笋般涌现出来,对人们的传统生活方式、工作方式产生极大的冲击。使人们感受到技术发展的脉搏和信息时代前进的步伐。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生成绩管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。1.2 可行性分析 由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。本系统的设计是在Windows 2000中文版操作系统环境下,使用Visual S 6.0中文版开发成功的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下:Visual S语言Visual S是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual S环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,Visual S具有以下特点:可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual S提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual S自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。面向对象的程序设计:4.0版以后的Visual S支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual S则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual S自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。结构化程序设计语言:Visual S是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual S语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。Visual S是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual S程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual S环境,直接在Windows环境下运行。事件驱动编程机制:Visual S通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用Visual S设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。访问数据库Visual S具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft SQL格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual S还能直接编辑和访问其他外部数据库,如dBASE,FoxPro,Paradox等,这些数据库格式都可以用Visual S编辑和处理。Visual S提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。动态数据交换(DDE)利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。Visual S提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。对象的链接与嵌入(OLE)对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。动态链接库(DLL)Visual S是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C+或汇编语言编写的程序加入到Visual S应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。第二部分 需求分析2.1 设计目的随着科学技术的不断进步,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一个重要部分,学生成绩管理系统是一个由用户和计算机组成的进行成绩管理、成绩收集、存储处理、传递使用和维护的软件系统。学生成绩管理系统是学校地方管理工作过程中不可缺少的部分,对学生成绩管理工作,具有着手工管理所无法比拟的优点,检索迅速、查找方便、可靠性高、存储量大等。这些优点能够极大地提高日常查询的效率。因此,开发学生成绩管理系统成为很有必要的事情。数据库技术是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。而在互联网日益发展、壮大的背景下,在因特网普及浪潮持续高涨的情况下,如何让原来在单机中使用的数据库可供多机使用,也成了必然的趋势。随着计算机技术的发展和互联网时代的到来和飞速发展,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校传统的管理方法和办学水平都受到了极大的挑战。Internet技术持续迅猛的发展,也给传统的办学提出了新的模式。绝大部分大学和学院都已接入互联网并建成校园网,各校的硬件设施已经比较完善。通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。与网络技术相结合的新型办学模式具有对于教育、教学过程来说极为宝贵的特性,可以为新型办学模式的建构提供理想的环境。通过设计达到熟练掌握.NET基本结构以及C#语言的基本知识和技能;基本掌握面向对象程序开发的基本思路和方法;掌握ADO.NET数据库开发基本知识;能够利用所学的基本知识和技能,进行简单数据库应用程序设计。根据题目的要求,给出解决问题的方案,通过分析问题、分解问题来解决问题,最终达到熟练掌握C#语言的运用和Visual Studio2005工具的使用。2.2 设计要求1. 要求利用C#的编程思想来完成系统的设计; 2. 突出C#语言与其它语言不同点;体现可视化编程基本东西,如系统带有菜单、工具栏、状态栏以及一些常用的高级控件。3. 实现系统所设计的几项功能,其中有用户管理:增加用户,删除用户,修改用户,查询用户以及超级管理员可以实现对用户密码的修改等功能;成绩管理:浏览成绩,查询成绩,修改成绩,添加成绩等,还有用户权限的设置,由登陆系统实现。4. 操作简单,可用性强,容易实现。2.3 功能实现本系统主要用于学校学生成绩管理,总体任务是实现学生成绩的简单化、规范化和自动化,其主要任务是用计算机对学生成绩进行日常管理,如查询、修改 、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。本系统主要包括成绩管理、用户管理、学生成绩查询、添加、修改、删除等部分。其功能主要有:(1) 添加部分,包括对学生成绩,以及用户的添加功能板块。(2) 查询板块,包括学生对自己成绩的查询以及超级管理员对用户信息查询。(3) 修改模块,此模块是管理员对学生成绩的修改,以及超级管理员对教师管理员的信息修改。(4) 删除模块,管理员可以删除学生成绩,超级管理员则可以删除用户。(5) 修改密码模块,此模块学生可以修改自己的登陆密码,管理员和超级管理员在修改自己密码的同时也可以修改学生密码,更好的实现对学生成绩管理系统的管理。(6) 超级管理员用户对用户名的管理,包括添加新用户、删除用户。第三部分 总体设计3.1 设计思想 在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是小学、初中、高中甚至是很多大学生的学生成绩管理,基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大,越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦等因素。 在今天信息时代,这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。本系统主要信息流程为:接受班级信息,学生成绩录入,维护学生成绩,并交于信息维护,再把成绩存入数据库中。采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地找到所需的数据、资料及其它信息,使信息快速高效的运行学生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用MICROSOFT公司的VisualStudio开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。3.2 总体结构 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,本次设计主要分为四种模块:添加模块、删除模块、修改模块、查找模块,详细设计参考下图: 登陆 超级管理员 管理员 学生删除用户添加用户修改用户查询用户删除成绩添加成绩修改成绩成绩查询修改密码退出成绩查询 退出系统登陆界面流程图选择用户,输入密码N密码正确? Y 进入主界面 其中,超级管理员可以管理成绩,同时也可以管理用户,超级管理员也能修改学生的登陆密码,便于开展各项工作 ,本系统为了方便用户使用,对权限的分配很明显。3.3 功能分配登陆界面:根据身份不同本系统分为学生登陆,管理员登陆,超级管理员登陆,学生登陆时进入学生界面,管理员和超级管理员登陆时进入管理界面,同时根据权限的不同对部分功能的可使用性做相对调整。添加成绩界面:本界面主要有四个元素,ID号码,姓名,课程名称,分数,当管理员输入ID 号码时姓名会自动对应,便于管理员进行核对,从而保证数据的正确性,课程名称会在复合框里面显示,用户可根据需要选择相应的科目进行成绩添加。修改成绩界面:本界面在加载时显示所有学生的课程成绩,下面设计有对应的信息框,管理员可修改信息框中的信息,点击修改按钮保存设置,完成成绩的修改。删除成绩:系统在管理员进入管理界面时自动加载所有学生的成绩,用户可以选择相对应的学生进行删除。查询成绩:查询成绩模块设计有两个查询方式,按ID查询,或者按成绩查询,输入相应信息便可进行查询。修改密码界面:当学生登陆修改密码界面时,自动显示相对的姓名,并且设置姓名为不可修改,当管理员登陆时,可以修改学生密码,超级管理员登陆可以进行本人密码修改和学生密码修改,输入ID号码进行相对应的修改任务。添加用户界面:本界面可以添加用户相对应的信息,其中包括对新用户的权限设置,只有超级管理员可以登陆并进行添加。修改用户界面:修改用户界面设计有对用户信息的修改,其中ID号码是不可修改的,密码则是不可见的,其他如同姓名,身份可以进行相应的修改。3.4 主要模块 这次设计和数据库紧密相连,首先我们根据题意设计相关的数据库(lab)以及相关的数据表(user2,course,chengji)。然后我们把这次的设计内容分成了若干个模块,逐次实现各个模块的功能,这样不仅便于功能的实现,而且外观美观,层次清晰。制作过程主要是页面的设计和相关代码的编写。3.5 数据库说明本系统的数据库是SQL server数据库,在SQL环境下创建数据库学生成绩管理系统.mdf文件。该数据库包括学生成绩表、用户登录表用于纪录学生的基本信息数据库表结构如下所示:成绩表课程表用户表 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改,或者破坏.安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题,只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全笥问题更为突出,系统安全保护措施是否有效是数据库系统的主要指标之一.第四部分 核心代码实现4.1 用户管理设计using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using System.IO;namespace 学生成绩管理 public partial class guanliyuan : Form public guanliyuan() InitializeComponent(); private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e) xiugaimima xiugai = new xiugaimima(); xiugai.Show(); private void guanliyuan_Load(object sender, EventArgs e) if (sqlhelp.usertype.Trim () = 管理员) 用户管理ToolStripMenuItem.Enabled = false; string str1 = select chengji.编号,chengji.userid,username,课程名称,分数 from user2,chengji where chengji.userid=user2.userid; DataSet ds = new DataSet(); SqlDataAdapter adp = new SqlDataAdapter(str1, sqlhelp.conn); ds.Clear(); adp.Fill(ds, chengji); dataGridView1.DataSource = ds.Tableschengji; toolStripStatusLabel1.Text = 欢迎 + sqlhelp.username.Trim() + 登陆!; toolStripStatusLabel2.Text = 制作人:李培培; toolStripStatusLabel3 .Text =当前时间:+DateTime .Now .ToString (); timer1.Interval = 1000; timer1.Start(); toolStripStatusLabel3.Alignment = ToolStripItemAlignment.Right; toolStripStatusLabel1.Alignment = ToolStripItemAlignment.Left; private void timer1_Tick(object sender, EventArgs e) /timer1.Interval = 1000; timer1.Enabled = true; toolStripStatusLabel3.Text = 当前时间: + DateTime.Now.ToString(); private void 成绩查询ToolStripMenuItem_Click(object sender, EventArgs e) chengjichaxun chaxun = new chengjichaxun(); chaxun.Show(); private void 添加成绩ToolStripMenuItem_Click(object sender, EventArgs e) tjchengji tj = new tjchengji(); tj.Show(); private void 修改成绩ToolStripMenuItem_Click(object sender, EventArgs e) xgchengji xg = new xgchengji(); xg.Show(); private void 用户修改ToolStripMenuItem_Click(object sender, EventArgs e) xgyonghu xg = new xgyonghu(); xg.Show(); private void 添加用户ToolStripMenuItem_Click(object sender, EventArgs e) tjyonghu tj = new tjyonghu(); tj.Show(); private void 用户查询ToolStripMenuItem_Click(object sender, EventArgs e) yhshanchu shanchu = new yhshanchu(); shanchu.Show(); private void 显示查询用户ToolStripMenuItem_Click(object sender, EventArgs e) yonghuchaxun chaxun = new yonghuchaxun(); chaxun.Show(); private void 登陆日志ToolStripMenuItem_Click(object sender, EventArgs e) private void 删除成绩ToolStripMenuItem1_Click_1(object sender, EventArgs e) if (MessageBox.Show(确实要删除该条记录吗?, 警告 , MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) try foreach (DataGridViewRow delow in dataGridView1.SelectedRows) string str = delete from chengji where 编号= + delow.Cells0.Value.ToString() + ; SqlCommand cmd = new SqlCommand(str, sqlhelp.conn); sqlhelp.conn.Open(); cmd.ExecuteNonQuery(); sqlhelp.conn.Close(); MessageBox.Show(删除成功!, 提示); catch (Exception ex) MessageBox.Show(ex.Message ); finally string str2=select chengji.编号,chengji.userid,username,课程名称,分数 from user2,chengji where chengji.userid=user2.userid; SqlDataAdapter adp = new SqlDataAdapter(str2, sqlhelp.conn); DataSet ds=new DataSet (); ds.Clear (); adp .Fill (ds,002); dataGridView1 .DataSource =ds.Tables 002; private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e) System.Diagnostics.Process.Start(Directory .GetCurrentDirectory ()+帮助文档.txt); 4.2 成绩管理设计namespace 学生成绩管理 public partial class chengjichaxun : Form public chengjichaxun() InitializeComponent(); private void chengjichaxun_Load(object sender, EventArgs e) string s = select chengji.编号,user2.userid,username,课程名称,分数 from user2,chengji where user2.userid=chengji.userid ; DataSet ds = new DataSet(); SqlDataAdapter adp = new SqlDataAdapter(s,sqlhelp .conn ); ds.Clear(); adp.Fill(ds, 001); dataGridView1.DataSource = ds.Tables001; DataSet ds = new DataSet(); SqlDataAdapter adp = new SqlDataAdapter(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text.Trim() = & textBox2.Text.Trim() = ) MessageBox.Show(请输入查询信息!, 提示); else if (textBox1.Text.Trim() = ) string str2 = select chengji.编号,user2.userid,username,课程名称,分数 from user2,chengji where chengji.userid=user2.userid and username= + textBox2.Text + ; ds = new DataSet(); adp = new SqlDataAdapter(str2, sqlhelp.conn); ds.Clear(); adp.Fill(ds, 002); if (ds.Tables002.Rows.Count 0) dataGridView1.DataSource = ds.Tables002; else MessageBox.Show(找不到相关记录!, 提示); textBox1.Clear(); textBox2.Clear(); textBox1.Focus(); else string str1 = select chengji.编号,user2.userid,username,课程名称,分数 from user2,chengji where user2.userid=chengji.userid and chengji.userid= + textBox1.Text + ; ds = new DataSet(); adp = new SqlDataAdapter(str1, sqlhelp.conn); ds.Clear(); adp.Fill(ds, 001); if (ds.Tables001.Rows.Count 0) dataGridView1.DataSource = ds.Tables001; else string str2 = select chengji.编号,user2.userid,username,课程名称,分数 from user2,chengji where chengji.userid=user2.userid and username= + textBox2.Text + ; ds = new DataSet(); adp = new SqlDataAdapter(str2, sqlhelp.conn); ds.Clear(); adp.Fill(ds, 002); if (ds.Tables002.Rows.Count 0) dataGridView1.DataSource = ds.Tables002; else MessageBox.Show(找不到相关记录!, 提示); textBox1.Clear(); textBox2.Clear(); textBox1.Focus(); private void button3_Click(object sender, EventArgs e) this.Close(); 由于程序较大,此部分只显示部分代码。第五部分 测试分析 软件测试依据测试任务要求的类型可分为有效性测试和验证测试两种类型。有效性测试和验证测试。有效性测试以实现用户需求为根本点,确认软件的功能、性能和其他特性是否与用户的要求一致,内容包括:需求规格说明、用户文档、程序文档等的有效性确认。验证测试是检验软件开发个阶段,以阶段间的逻辑协调性、完备性和正确性。例如:需求分析是概要设计的依据,概要设计必须以满足需求为出发点和充分体现需求,使得阶段产品内容保持逻辑上的一致性和协调性。软件测试可应用多种测试方法来实现测试任务要求,墨盒测试和白盒测试是广泛使用的两种基本的测试方法。墨盒测试是功能、数据驱动测试或基于规格说明的测试。在不考虑程序内部结构和内部特性的情况下,测试者依据该程序功能上的输入输出关系,或是程序的外部特性来设计和选择测试用例,推断程序编码的正确性。白盒测试是结构测试、逻辑驱动测试或基于程序的测试。测试者熟悉程序的内部结构,依据程序模块的内部结构来设计测试用例,检测程序代码的正确性。软件测试可运用多种不同的测试策略来实现,最常用的方式是自底向上分阶段进行,对不同开发阶段的产品采用不同的测试方法进行检测,从独立程序模块开始,然后进行程序测试、设计测试到确认测试,最终进行系统测试,共分四个阶段:单元测试、集成测试、确认测试和系统测试。单元测试是单独检测各模块,验证程序模块和详细设计是否一致,消除程序模块内部逻辑上和功能上的错误和缺陷。一般采用白盒测试法。单元测试还检查模块界面的输入输出数据,判断模块是否符合设计要求、模块所涉及的局部数据结构的状况和改变、模块内部重要执行路径(包括出错处理路径)的正确性。 集成测试是将已测试的模块组装进行检测,对照软件设计检测和排除子系统或系统结构上的错误。一般采用墨盒测试法。集成测试的重点是:检测模块接口之间的连接,发现访问公共数据结构可能引起的模块间的干扰,全局数据结构的不一致,测试软件系统或字系统输入输出处理故障处理和容错等方面的能力。 确认测试要求是按规定需求,逐项进行有效测试。检测软件的功能和性能及其他特性是否与用户的要求一致;一般采用墨盒测试法。确认测试的基本事项有:功能确认(以用户需求规格说明为依据,检测系统需求规定功能的实现情况)、配置确认(检查系统资源和设备的协调情况,确保开发软件的所有文档资料编写齐全,能够支持软件运行后的维护工作。文档资料包括:设计文档、源程序、测试文档和用户文档等)。系统测试是检测软件系统运行时与其他相关要素(硬件、数据库及操作人员等)的协调工作情况是否满足要求,包括性能测试、恢复测试和安全测试等内容。上述四个阶段相互独立且顺序相接,单元测试在编码阶段即可进行,单元测试后进入独立测试阶段,从集成测试开始依次进行,以下是几个测试分析图:登陆界面 本界面用于输入用户名和密码登录,选择相应的用户类型进入系统,若是用户类型选择错误则不能进入系统。输入用户名和密码后点击确定判断数据库中的用户是否为合法用户。学生界面添加成绩界面第六部分 总结总 结 本管理系统通过对信息的采集、存储、加工、维护和使用等,并随着管理科学和技术科学的发展而形成的。学生成绩管理系统能

温馨提示

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

评论

0/150

提交评论