资源描述
毕 业 论 文
论文题目 学生管理信息系统设计
院 别 计算机学院
专 业 计算机科学与技术
年 级 2008级
学 号 200824131130
学生姓名 陈宏靖
指导教师 赵玉明
完成时间 2018年 4 月
肇庆学院教务处制
31 / 34
目 录
1 绪论1
1.1 引言1
1.2 开发背景2
1.3 开发工具的选择2
2 系统设计原理3
2.1 需求分析3
2.2 系统设计4
2.2.1系统功能结构图4
2.2.2系统业务流程图4
2.3 可行性分析7
2.3.1 技术上的可行性分析7
2.3.2 经济上的可行性分析7
2.3.3 用例图7
2.3.4 简要总结8
3 数据库设计原理9
3.1 数据库需求分析9
3.2 数据库表实体9
3.3各表的物理结构12
3.4 文件夹组织结构14
4 系统实施15
4.1 Microsoft Office Access数据库的选择15
4.2 C#开发语言的选择15
4.3系统的详细设计的实现15
4.3.1系统登录设计15
4.3.2系统主界面设计15
4.3.3用户管理18
4.3.4用户功能19
4.4部分代码的实现22
5 系统测试26
5.1软件测试基础理论26
5.2软件测试目的26
5.3软件测试方法26
5.4系统测试27
5.4.1 测试用例设计要求27
5.4.2 系统各个模块测试用例28
5.5测试报告28
结束语…………………………………………………….…………………..………29
参考文献…………………………………………………………………………..….29
致谢……………………………………………………………………………..….30
学生管理信息系统设计
摘要:学生管理信息系统设计是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。b5E2RGbCAP
本文介绍了学生管理信息系统的开发整个过程,阐述了系统分析、系统设计、数据库设计和系统实施的全过程。在开发方法上本系统利用了软件工程化的思想和方法,总体上采用结构化生命周期开发方法,具体模块实施采用了原型法和面向对象系统开发方法。并采用VisualS 2008作为开发工具,Microsoft Office Access 作为后台数据库。本系统具有系统维护、外观设置、学生信息管理,学生成绩管理,教师信息管理,选课管理,数据维护等模块,可分别完成日常学生信息,选课信息,教师信息,学生成绩信息的添加、修改、删除、查询等功能。在此次设计中主要对系统维护、外观设置、学生信息管理,学生成绩管理,教师信息管理,选课管理,数据维护等模块进行了具体设计。p1EanqFDPw
关键词:学生管理信息系统;C/S;ACCESS数据库;C#
1 绪论
1.1 引言
该工程开发的软件为学生管理信息系统软件,是鉴于目前学校学生人数剧增,各种信息呈爆炸性增长的前提下,学校对信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等>的信息的管理。DXDiTa9E3d
目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。但本系统完全独立开发,力求使系统功能简洁明了,且易于操作。RTCrpUDGiT
1.2 开发背景
学生管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的学生管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。5PCzVD7HxA
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。jLBHrnAILg
1.3 开发工具的选择
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的Visual S, Microsoft公司的Visual C, Borland公司的Delphi和 Powersoft公司的PowerBulider以及Java等。xHAQX74J0X
在这些程序开发工具中,有的强调程序语言的弹性与执行效率;有的则偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必定要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点成为了一纸空谈;相反地,如果只强调语言的弹性,却没有便利的工具作配合,会使得一些即使非常简单的界面处理动作,变得复杂和麻烦起来,这样也会浪费程序设计师们的宝贵时间。作为数据库系统的开发,Visual S 2008是一个非常理想选择,它有效地避免了以上所谈到的诸缺点。数据库技术是MIS设计中的重要支持技术,在MIS开发过程中,如何选择数据库管理也是一个重要的问题,目前,数据库产品可谓琳琅满目,每种产品都具有各自的特点和适用范围,因此,在选择数据库前,我慎重考虑了一下,应数据库应用的特点及适用范围,本系统选用了数据库Microsoft Office Access,开发工具当然是非Visual S 2008莫属了。Visual S 2008是一种可视化的、面向对象和调用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual S 2008环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API>函数,以及动态链接库(DLL>、动态数据交换(DDE>、对象的链接与嵌入(OLE>、开放式数据访问(ODBC>等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。LDAYtRyKfE
2 系统设计原理
2.1 需求分析
针对其他学生管理软件的不足,去掉多余的操作,要求制作和系统可以方便、快捷地对学生和教师信息、学生成绩等进行添加、删除、修改的操作,并且可以批量地录入学生和教师信息以及学生成绩,也可以让学生对自己需要的选修课进行选择,还可以对数据进行备份保存和恢复,以及学生对学校最新公告的获取和各类型用户的注册。Zzz6ZB2Ltk
<1)、信息管理功能
添加信息:以学生或教师为单位,进行学生或教师的入库。其中分为单个添加和批量添加。单个添加学生供一个学生或教师信息入库;批量添加可以大量的信息同时录入到数据库中。dvzfvkwMI1
删除信息:当学生毕业或更换教师后,信息不再需要,系统的基本数据库中需要删除信息。该功能主要进行信息的删除。rqyn14ZNXI
修改信息:当某个学生或教师信息输入不正确时,可以对单个的学生信息进行修改。
(2>、学生成绩管理功能
成绩录入:以学生为单位,录入各科目的考试成绩。
成绩查询:可以对学生的考试成绩进行“定位型”的查询。
成绩管理:可以对考试成绩的修改、删除、筛选等操作。
(3>、选课功能
选课管理:提供本学期各年级各专业限选与任选所开课程名称的提交、退选、审批。
(4>、公告功能。校内的各大公告,让学生获取校内最新的信息,其中包括公告的编辑与查询等。
(5>、用户的注册功能。针对不同的用户类型,登录后的权限不同设置,注册后的用户登录后的功能各不相同。
2.2 系统设计
2.2.1系统功能结构图
学生管理系统功能结构图如图2-1所示:
2.2.2系统业务流程图
学生管理系统业务流程图如图2-2所示:
图2-1 系统功能结构图
图2-2 系统业务流程图
2.3 可行性分析
2.3.1 技术上的可行性分析
技术方面的可行性就是根据现有的技术条件,能否实现系统的各项要求。
<1).设备:该系统对所需的硬件设备,如pc机配件的性能要求一般,现有设备的性能完全能够满足系统功能的要求。EmxvxOtOco
<2).软件上,本系统属于数据库应用程序,本系统需要一个数据库服务器及其运行的操作系统平台,根据客户的数据量并不是十分巨大,我们选择目前市场上价格比较低廉的数据库服务器产品:Microsoft Office Access及配套的平台Windows XP。而前台开发工具采用Microsoft Visual Studio 2008 ,利用其可视化的开发环境、丰富的控件资源,能快速开发出应用程序。SixE2yXPq5
2.3.2 经济上的可行性分析
<1).费用:本系统属于小型的学生管理系统,软硬件费用要求不高,一般的学生行业都能支付的了费用。
<2).效用:实施该系统也能给学校带来长期效益,它可帮助领导实现管理方法的现代化、科学化,极大地提高学生管理的工作质量与工作效率,减少管理支出的费用,从而保证学校管理的可持续的良好发展。因此经济上具有了系统开发的可行性。6ewMyirQFL
2.3.3用例图
用例图是从用户角度描述系统功能,并指出各功能的操作者。它描述出了用例、角色以及它们之间的关系。本系统中的主要用户有学生、教师以和超级管理员。其中超级管理员是可以对学生和教师的信息进行管理、学生选课管理和数据库的操作。而学生是能够管理自己的信息和查询个人成绩以及查看公告,教师也能查看公告和管理自己的信息,还可以管理学生的成绩。整体体现在用例图如图2-3所示:kavU42VRUs
图2-3用例图
2.3.4 简要总结
经过细致地初步调查和严密地可行性分析,我们认为在现有条件下,为学生管理信息系统是完全可行的。
3 数据库设计原理
学生管理系统采用了Microsoft推出的Microsoft Office Access作为后台数据库。y6v3ALoS89
3.1 数据库需求分析
在设计数据库结构时,以及可能地满足用户所提出的各项要求,同时又避免同时又要避免冗余数据产生。由于在学生管理系统中,需要采集大量的信息,包括学生信息,教师信息,选课信息,成绩信息等,如果不能够合理有效地组织数据表的结构,以及合理设置每张表所包含的字段,那么后期进行的数据的整理以及汇总时,就会增加编程人员的开发难度,并造成成绩效益的大幅度下降。根据学生基本信息以及其他相关信息的特点,归纳出以下规律:M2ub6vSTnP
<1)一种角色对应一个和多个用户;
<2)每一个学生都有不同的学号;
<3)每一个教师都执教一个或者2个科目;
<4)每门选课都记录多个学生;
<5)个人成绩对应一个学生;
<6)学生成绩对应多个学生;
3.2 数据库表实体
学生管理系统的数据库主要用于储存学生管理中的数据,需建立一个用户登录信息表,用于存储所有用户登录信息。用户登录实体E-R图如图3-1所示:0YujCfmUCw
由于学生和教师信息的内容很多,因此要建立一个学生信息表来存储学生信息的内容,便于学生或管理员查询,同样地,也要建立一个教师信息表。学生信息实体E-R图和教师信息实体E-R图如图3-2和3-3所示:eUts8ZQVRd
图3-1 用户登录实体E-R图
图3-2学生信息实体E-R图
图3-3 教师信息实体E-R图
由于学生选课时候的信息各不相同,为了方便学生选课,需有一个详细的选课表供学生参考。选课实体E-R图如图3-4所示:sQsAEJkW5T
图3-4 选课实体E-R图
学生在查看学生个人成绩时,需有一个学生自己全部成绩的成绩表,教师在查看和修改学生成绩时,也需要一个自己班内学生的成绩表便于管理。个人成绩实体E-R图和学生成绩实体E-R图如图3-5和3-6所示:GMsIasNXkA
图3-5 个人成绩实体E-R图
图3-6 学生成绩实体E-R图
3.3各表的物理结构
表3-1 yonghu表
列名
数据类型
长度
允许空
ID
文本
20
否
password
文本
20
否
type
文本
20
否
证件号
文本
50
否
表3-2 学生信息表
列名
数据类型
长度
允许空
学号
文本
20
否
姓名
文本
30
否
民族
文本
20
是
出生日期
文本
20
是
性别
文本
10
是
家庭地址
文本
50
是
班级
文本
20
是
专业
文本
30
是
表3-3 教师信息表
列名
数据类型
长度
允许空
教师号
文本
20
否
姓名
文本
30
否
民族
文本
20
是
出生日期
文本
20
是
性别
文本
10
是
家庭地址
文本
50
是
执教的科目1
文本
20
是
执教的科目2
文本
20
是
联系电话
文本
20
是
院系
文本
20
是
表3-4 选课表
列名
数据类型
长度
允许空
课程名称
文本
20
否
任课教师
文本
10
否
课程类型
文本
10
否
学分
文本
10
否
审批情况
文本
10
否
考试形式
文本
10
否
教材费用
文本
10
否
总课时
文本
10
否
表3-5 个人成绩表
列名
数据类型
长度
允许空
学期
文本
10
否
学年
文本
10
否
分数
文本
20
是
学分绩点
文本
10
是
课程名称
文本
10
是
学号
文本
20
否
应得学分
文本
10
是
课程类型
文本
20
是
表3-6 学生成绩表
列名
数据类型
长度
允许空
学号
文本
20
否
姓名
文本
20
否
总评
文本
20
是
科目
文本
30
是
期末成绩
文本
20
是
平时成绩
文本
20
是
专业
文本
20
是
班级
文本
10
是
3.4 文件夹组织结构
在进行系统开发前,需要规划系统的架构。通过建立多个文件夹,可以对各个功能模块进行划分,从而实现统一管理。建立合理的文件夹组织结构的好处在于:易于开发、易于管理、易于维护。学生管理系统的文件夹组织结构如图3.7所示TIrRGchYzg
图3-7文件夹组织结构图
4 系统实施
4.1Microsoft Office Access数据库的选择
Access能够存取 Access/Jet、Microsoft SQL Server、Oracle,或者任何 ODBC兼容数据库内的资料。它的使用方便程度和强大的设计工具为初级程序员提供许多功能。通过使用Access Basic可以增加应用程序的执行速度,减少编码量,同时也减少在为Microsoft Windows应用程序接口编程时、在开发应用程序中遇到的问题的技术。谨慎地使用变量和它所占用的存储空间能有效地减少一个应用程序所消耗的资源,同时也全面提高了它的性能。7EqZcWLZNX
4.2 C#开发语言的选择
C#<发音为C Sharp)是由微软公司所开发的一种面向对象,且运行于.NET Framework之上的高级程序设计语言。并且成为ECMA与ISO标准规范。C#看似基于C++写成,但又融入其它语言如Delphi、Java、VB等。这点是我选中它的主要原因。lzq7IGf02E
4.3系统的详细设计的实现
4.3.1系统登录设计
首先,用户登录界面比较简单,需在登陆系统中输入用户名和密码,若与数据库中的记录一致则可以进入该系统,否则无法进入。为防止用户的错误操作,应设置错误处理界面。用户登录界面及用户登录操作错误界面设计效果如图4-1和4-2所示。zvpgeqJ1hk
4.3.2系统主界面设计
用户名和用户的密码验证通过以后,进入该系统首页。
系统学生、教师和超级管理员登陆界面设计如图4-3、4-4和4-5所示:
图4-1用户登录界面
图4-2 用户登录操作错误界面
图4-3 学生登陆界面
图4-4 教师登陆界面
图4-5 超级管理员登陆界面
4.3.3用户管理
用户管理包括密码重置、用户注册的管理。
其管理界面如图4-6、4-7所示:
图4-6 密码重置管理界面
图4-7 用户注册的管理界面
4.3.4用户功能
用户功能包括学生个人信息管理、学生个人成绩管理、学生选课情况管理、选课、查看公告、教师管理学生成绩和超级管理员选课审批以及数据库的恢复和备份。其功能界面分别如图4-8、4-9、4-10和4-11、4-12、4-13、4-14、4-15、4-16所示:NrpoJac3v1
图4-8 学生个人信息管理界面
图4-9 学生个人成绩管理界面
图4-10 学生选课情况管理界面
图4-11 选课界面
图4-12查看公告界面
图4-13 教师管理学生成绩界面
图4-14 超级管理员选课审批界面
图4-15 数据库备份界面
图4-16 数据库恢复界面
4.4部分代码的实现
//登录界面的“确定”按钮
private void button1_Click(object sender, EventArgs e>1nowfTG4KI
{
//连接数据库
string sjk。
sjk = "Provider=Microsoft.Jet.OLEDB.4.0。Data Source=" + System.AppDomain.CurrentDomain.BaseDirectory + @"db1.mdb"。fjnFLDa5Zo
string sjb = "select * from yonghu"。
User = zhanghao.Text.Trim(>.ToString(>。
try
{
//定义数据连接的所需的变量
OleDbConnection myconn = new OleDbConnection(sjk>。
myconn.ConnectionString = sjk。
myconn.Open(>。
OleDbCommand MyCom1 = new OleDbCommand(>。
MyCom1.Connection = myconn。
MyCom1.CommandType = CommandType.Text。
MyCom1.CommandText = sjb。
OleDbDataAdapter mydataAdapter1 = new OleDbDataAdapter(>。tfnNhnE6e5
mydataAdapter1.SelectCommand = MyCom1。
DataSet myds = new DataSet(>。
mydataAdapter1.Fill(myds, "yonghu">。
bool flag = false。
//以yonghu表内的行数循环严重帐号密码是否正确!
for (int i = 0。 i < myds.Tables["yonghu"].Rows.Count。 i++>HbmVN777sL
{
//账号密码不能为空
if (zhanghao.Text == "" || mima.Text == "">
{
MessageBox.Show("用户名密码不能为空", "警告">。
zhanghao.Text = ""。
mima.Text = ""。
zhanghao.Focus(>。
flag = true。
break。
}
//用户类型不能为空
if (leixing.Text == "">
{
MessageBox.Show("用户类型不能为空", "警告">。
leixing.Text = ""。
leixing.Focus(>。
flag = true。
break。
}
//当账号和密码、用户类型与数据库中的数据相符合即验证成功时,打开教师管理窗口并关闭此登录窗口
else if (zhanghao.Text == myds.Tables["yonghu"].Rows[i][0].ToString(>.Trim(> && mima.Text == myds.Tables["yonghu"].Rows[i][1].ToString(>.Trim(> && leixing.Text == "教师" && leixing.Text == myds.Tables["yonghu"].Rows[i][2].ToString(>.Trim(>>V7l4jRB8Hs
{
main dakai = new main(>。
this.Hide(>。
flag = true。
dakai.ShowDialog(>。
this.Close(>。
break。
}
//当账号和密码、用户类型与数据库中的数据相符合即验证成功时,打开超级管理员管理窗口并关闭此登录窗口
else if (zhanghao.Text == myds.Tables["yonghu"].Rows[i][0].ToString(>.Trim(> && mima.Text == myds.Tables["yonghu"].Rows[i][1].ToString(>.Trim(> && leixing.Text == "超级管理员" && leixing.Text == myds.Tables["yonghu"].Rows[i][2].ToString(>.Trim(>>83lcPA59W9
{
main2 dakai2 = new main2(>。
this.Hide(>。
flag = true。
dakai2.ShowDialog(>。
this.Close(>。
break。
}
//当账号和密码、用户类型与数据库中的数据相符合即验证成功时,打开学生管理窗口并关闭此登录窗口
else if (zhanghao.Text == myds.Tables["yonghu"].Rows[i][0].ToString(>.Trim(> && mima.Text == myds.Tables["yonghu"].Rows[i][1].ToString(>.Trim(> && leixing.Text == "学生" && leixing.Text == myds.Tables["yonghu"].Rows[i][2].ToString(>.Trim(>>mZkklkzaaP
{
main3 dakai3 = new main3(>。
this.Hide(>。
flag = true。
dakai3.ShowDialog(>。
this.Close(>。
break。
}
//当账号密码严重不成功时返回 flag = false。
else if (zhanghao.Text != myds.Tables["yonghu"].Rows[i][0].ToString(>.Trim(> || mima.Text != myds.Tables["yonghu"].Rows[i][1].ToString(>.Trim(> || leixing.Text != myds.Tables["yonghu"].Rows[i][2].ToString(>.Trim(>>AVktR43bpw
{
flag = false。
}
}
//如果 flag = false。则弹出提示警告
if (flag == false>
{
MessageBox.Show("输入有误!请重新输入!", "警告">。
zhanghao.Text = ""。
mima.Text = ""。
zhanghao.Focus(>。
}
myconn.Close(>。
}
//如果数据库连接错误则返回提示框
catch (OleDbException OleDbe>
{
MessageBox.Show(OleDbe.Message, "连接失败">。
}
}
//超级管理员登录的数据库操作菜单的“数据库备份”按钮
private void 数据库备份ToolStripMenuItem_Click(object sender, EventArgs e>ORjBnOwcEd
{
OpenFileDialog openFileDialog1 = new OpenFileDialog(>。2MiJTy0dTT
openFileDialog1.InitialDirectory = "...\\"。//注意这里写路径时要用...\\表示默认文件路径gIiSpiue7A
openFileDialog1.Filter = "mdb files(*.mdb>|*.mdb|All files(*.*>|*.*"。uEh0U1Yfmh
openFileDialog1.RestoreDirectory = true。
openFileDialog1.FilterIndex = 1。
saveFileDialog1.InitialDirectory = "...\\"。 saveFileDialog1.Filter = "mdb files(*.mdb>|*.mdb|All files(*.*>|*.*"。IAg9qLsgBX
saveFileDialog1.RestoreDirectory = true。
saveFileDialog1.FilterIndex = 1。
if (openFileDialog1.ShowDialog(> == DialogResult.OK>WwghWvVhPE
{
if (saveFileDialog1.ShowDialog(> == DialogResult.OK>asfpsfpi4k
{
Backup(openFileDialog1.FileName, saveFileDialog1.FileName>。ooeyYZTjj1
}
}
}
//超级管理员登录界面的“学生信息管理”按钮
private void 学生信息管理ToolStripMenuItem_Click(object sender, EventArgs e>BkeGuInkxI
{
//如果如果学生信息管理子窗体已经打开则返回提示窗口
if (Application.OpenForms["xinxi"] != null>
{
MessageBox.Show("该窗体已经被创建,不能重复创建">。
return。
}
//如果如果学生信息管理子窗体没有打开则打开相应的窗口
else
{
this.IsMdiContainer =true。
xinxi xx = new xinxi(>。
xx.MdiParent = this。//将该窗体设置成父窗体
xx.Show(>。
}
}
5 系统测试
5.1软件测试基础理论
软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。PgdO0sRlMo
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。3cdXwckm15
5.2软件测试目的
测试是程序的执行过程,目的在于发现错误;不能证明程序的正确性,除非仅处理有限种情况。检查系统是否满足需求也是测试的期望目标。一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误的测试。h8c52WOngM
5.3软件测试方法
本系统各部分模块,采用黑白盒测试。
<1)、黑盒测试
按照软件测试用例的设计方法而论,软件测试可以分为白盒测试法和黑盒测试法。
若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试(Black-box Testing>方法。 v4bdyGious
黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。J0bm4qMpJ9
黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。XVauA9grYP
<2)、黑盒测试的特点
黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。
黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。
<3)、白盒测试
白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。
白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。通常的程序结构覆盖有:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,路径覆盖。bR9C6TJscw
展开阅读全文