软件工程 期末考试复习总结知识点+必考题型
2021最新版《软件工程》期末考试重点背诵内容
1.什么是软件危机及其表现?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
2.什么是软件工程?答:软件工程是指导计算机软件开发和维护的一门工程学科,由需求分析、总体设计、详细设计、编码、测试、维护和演化等一系列分工明确的活动组成。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
3.什么是瀑布模型方法?(有利于大型软件开发过程中人员的组织及管理)答:按照时间顺序依次进行可行性分析、项目计划、需求分析、概要设计、详细设计、编码与单元测试、集成测试、确认验证、运行与维护等几个阶段进行软件开发。
图1 瀑布模型(软件生命周期模型)4.瀑布模型方法的优缺点:其优点体现在:(1)促进软件开发的工程化。
(2)提高了软件的成功率和质量。
(3)加强了软件开发的管理过程。
(4)强调了文档的作用,保护了软件开发商的利益。
其缺点体现在:(1)瀑布模型僵化的划分阶段、缺乏灵活性,对于软件需求不明确或不准确的问题,由于其开发模型是线性的,所以瀑布模型的风险控制能力较弱。
一方面用户只有等到整个过程的后期才能见到开发成果,中间提出的变更要求很难响应。
另一方面体现在早期的错误可能要等到开发后期的测试阶段才能发现,这样会带来严重的后果。
(2)增加了软件开发的工作量,由于开发过程各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
《软件工程》-重点考试知识点,简答
第一章1、软件概念:由计算机程序,数据,软件文档组成软件的特点:无法直接观察它的物理形态,只能通过观察他的是实际运行情况来了解他的功能特性和质量等;人们在分析设计开发测试过程以及软件开发项目的管理过程中渗透了大量的人类的脑力劳动;不存在磨损和老化但存在缺陷维护和技术更新的问题;开发运行依赖一定的计算机系统环境;具有可复用性软件的分类:按功能分:系统支撑应用软件;按服务对象:通用定制软件;按规模:大中小型软件;按工作方式:实时分时交互式批处理2、软件危机:是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件的开发与维护过程中出现一系列严重问题的现象。
主要表现:●开发人员开发的软件产品不能完全满足用户的需求;●软件产品的质量难以得到保障;●开发周期开发经费和维护费用很难被准确估计从而给项目的管理带来很多麻烦;●随着技术的更新,用户的扩大,已有的软件产品不能灵活地适应环境的改变;●软件文档不完备并且存在文档内容与软件产品不符的情况。
原因:①软件开发是一项复杂的工程,需要用科学的工程化思想来组织和指导软件开发的各个阶段②没有完善的质量保证体系③软件文档的重要性没有得到软件开发人员和用户的足够重视④从事软件开发的专业人员对这个产业认识不够充分缺乏经验⑤软件独有的特点也给软件的开发和维护带来困难3、软件工程是指应用计算机科学与技术,数学和管理学的原理,运用工程学理论方法和技术,研究和指导软件开发和演化的一门交叉学科。
软件工程的目标:●使软件开发的成本控制在预计的合理范围内;●使软件产品的各项功能和性能能够满足用户需求;●提高软件产品的可靠性;●使生产出来的软件产品易于移植维护升级和使用;●使软件产品的开发周期能够控制在预计的合理时间范围内。
软件工程学科内容:●软件工程原理过程方法模型管理度量环境应用。
软件工程的基本原则:●将软件的生命周期划分为多个阶段,对各个阶段实施严格的项目管理;●坚持阶段评审制度已确保软件产品的质量;●实施严格的产品控制以适应软件规格的变更;●采用现代程序设计技术;开发出来的产品应该能够清楚地被审查;●合理地安排软件开发小组人员并且开发小组的人员要少而精;●不断改进软件工程的实践。
软件工程复习知识点和例题
.1.软件危机的概念,内容,原因及消除的途径;概念:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
内容:软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护不断膨胀的已有软件。
具体地说,软件危机主要有以下一些典型表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势;原因:在软件开发和维护的过程中存在这么多严重问题:一方面与软件本身的特点有关;另一方面也和软件开发与维护的方法不正确有关。
(1)软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
(2)软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性将随着程序的规模的增加而呈指数上升。
(3)目前相当多的软件专业人员对软件开发和维护还有不少糊涂概念,在实践过程中或多或少地采用了错误的方法和技术,这可能是使软件问题发展成软件危机的主要原因。
(4)对用户要求没有完整准确的认识就匆忙着手编写程序是许多软件开发工程失败的主要原因之一。
2.软件工程的定义,基本原理;定义:软件工程是指导计算机软件开发和维护的一门工程学科。
基本原理:软件工程的7条基本原理:(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性3.软降工程方法学的基本概念、内容;基本概念:把在软件生命周期全过程中使用的一整套开发和管理技术方法的集合成为软件工程方法学,也称为范型。
软件工程方法学包含3个要素:方法、工具和过程。
软件工程期末考试复习总结知识点+必考题型
软件工程复习资料1. 软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5) 在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
软件工程期末考试重点
《软件工程》期末复习重点第一章软件工程1.什么是软件工程。
A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。
2. 软件工程的三要素:方法、工具和过程。
第二章软件过程1.软件生命周期分为哪几个阶段?每个阶段的基本任务是什么?a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么b.软件开发:具体设计和实现在前一个时期定义的软件。
概要设计:怎样宏观地解决问题详细设计:应如何具体地实现这个系统编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。
c.运行维护:修正错误,使软件持久地满足用户需要。
改正性维护:诊断和改正使用中的错误适应性维护:修改以适应环境变化完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备2.常用的过程模型有哪些?各自的特点及不足。
如:瀑布模型的不足是不能适应需求的动态变更。
A.瀑布模型特点:可强迫开发人员采用规范化的方法。
严格地规定了每个阶段必须提交的文档。
要求每个阶段交出的所有产品都必须是经过验证(评审)的。
缺点:太理想化,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。
如果需求规格与用户需求之间有差异,就会发生这种情况。
只适用于项目开始时需求已确定的情况。
B.快速原型模型特点:快速软件产品开发基本上是线性顺序进行。
降低了规格说明文档变化的可能性。
减少了后续阶段错误的可能性。
c.增量模型优点:人员分配灵活,刚开始不用投入大量人力资源。
当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。
增量能够有计划地管理技术风险。
缺点:要求构件具备开放式的体系结构。
易退化为边做边改模型,从而使软件过程的控制失去整体性。
《软件工程》经典考试例题复习题-重点知识点(含答案)
1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。
(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。
天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也4.procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
完成下列各题:(1)画出程序流程图。
(2)用条件组合覆盖设计测试用例,并写出其中一组测试用例。
软件工程 考试题型和重点
一、名词解析(15=3*5)二、填空题(10=2*5)三、选择题(20=2*10)四、简答题(20=5*4)五、综合应用题(35=10+8+7+10)一、名词解释和简答题1.什么是软件危机?软件危机是指在软件开发和维护中所产生的一系列严重的问题。
软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
2.SA方法优缺点?SA方法是软件需求分析中公认的,有成效的,技术成熟,使用广泛的一种结构化分析方法。
较适用于开发数据处理类型软件的需求分析。
利用图形等半形式化工具表达需求,简明,易读,也易于使用。
但也存在一些弱点,表现如下:⑴SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程。
⑵SA方法使用DFD在分析与描述"数据要求"方面是有局限的,只有与数据库技术中的实体联系图(ER图)结合起来,才能较完整地描述用户对系统的需求。
⑶DFD不适合描述人机界面系统的要求,一些人机交互较频繁的软件系统。
⑷SA方法要与形式化方法结合起来,才能更精确地描述软件需求。
⑸要借助需求分析工具,提高需求分析的质量及效率。
3.详细设计的基本任务详细设计的基本任务包括:1、为每个模块进行详细的算法设计2、为模块内的数据结构进行设计3、对数据库进行物理设计4、其他设计5、编写详细设计说明书6、评审4.测试步骤软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。
(1).单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
该阶段涉及编码和详细设计文档。
(2)集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。
(3)确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。
(4)系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。
软件工程复习的几个知识点和例题
软件工程复习的几个知识点和例题1.2.3.4.软件危机的概念、内容、原因及解决方案;软件工程的定义和基本原理;软件工程方法学的基本概念、内容;软件生命周期的具体内容和每个阶段的任务是什么?结合具体工程实例,了解软件项目的主要阶段。
5.理解几个典型软件过程的内容及其优点与缺点:瀑布模型、增量模型、快速原型模型、螺旋模型、喷泉模型等;6.了解可行性研究中的任务和过程;7.掌握系统流程图的概念和方法,能够从具体案例中抽象出系统流程图;8.掌握数据流图的概念和方法,会从具体的案例中画出0层数据流图和功能级数据流图;9.掌握数据字典的内容、方法、用户和实现;10.了解成本/效益分析方法;11.理解需求分析过程中的任务12.理解面向数据流自顶向下逐步求精的方法和意义;13.理解分析和建模的重要性。
在需求分析中应该建立哪三个模型?有哪些工具可以帮助构建这些功能模型?14.掌握实体关系(E-R)图的概念、内容和实施方法,并能结合具体实例建立实体关系图;15.掌握状态图的概念、内容、实现方法和功能;16.掌握层次方框图、warnier图、ipo图的概念,内容和作用;17.有穷状态机的概念和内容;18.总体设计是什么?整个设计过程是什么?整体结构设计的目的是什么?19.掌握若干设计原则,理解其内容和意义;20.掌握耦合和内聚的概念和内容,理解这些原理对设计有哪些指导意义;21.包括哪些类型的联轴器?每种类型的具体内容是什么?需要通过程序代码识别联轴器类型。
22.启发式规则的内容和一些概念。
23.层次结构图、HIPO图和结构图的内容;24.掌握面向数据流的设计方法,了解其中涉及到的概念(变换流,事务流),结合例子理解决方案转换分析的具体过程。
25.详细设计的目的是什么?26.什么是结构性规划?27.人机界面设计问题包含哪些?28.掌握设计过程中使用的工具:程序流程图的概念、内容和方法;方框图的概念、内容和方法法;会结合实例使用这些工具;掌握pad图的概念和内容;掌握判定表的概念和内容。
软件工程导论期末考试考点
软件工程导论期末考试考点软件工程导论期末考试考点1. 软件的定义:软件是程序、数据及相关文档的完整集合。
其中,程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构,文档是开发、使用和维护程序所需要的图文资料。
2. 软件危机的定义,表现、原因是什么?a )软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
b )软件危机的表现:对软件开发成本和进度的估计常常很不准确。
经常出现用户对“已完成的”软件系统功能不满意的现象。
软件产品的质量往往达不到要求。
软件通常不可维护。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
c )软件危机的原因:客观原因:与软件本身的特点有关软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
软件缺乏“可见性”。
软件维护通常意味着改正或修改原来的设计,这就在客观上使得软件较难维护。
软件缺乏“可插拔性”。
如何保证每个人完成的工作合在一起确实能构成一个高质量的大型软件系统,更是一个极端复杂困难的问题,必须有严格而科学的管理。
主观原因:与软件开发与维护的方法不正确也有关目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,这可能是使软件问题发展成软件危机的主要原因。
忽视需求分析只重视编码与运行。
编写程序所需的工作量只占软件开发全部工作量的 10%~ 20% 在后期引入一个变动比在早期引入相同变动所需付出的代价高 2~3个数量级。
图1.1定性地描绘了在不同时期引入一个变动需要付出的代价的变化趋势。
忽视文档只重视程序必须认识到一个软件产品必须由一个完整的配置组成,软件配置主要包括程序、文档和数据等成分。
必须清除只重视程序而忽视软件配置其余成分的糊涂观念。
轻视维护是一个最大的错误。
统计数据表明,实际上用于软件维护的费用占软件总费用的 55%~70% 3.软件工程的定义、软件工程方法学三要素是什么?软件工程定义:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,用于经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程复习要点
题型1、名词说明2、问答题3、应用题(看图题,分析题,计算题)学问点:1、什么是软件及软件特点,软件的分类软件是计算机系统中和硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合软件的特点(1)软件是一种逻辑实体。
(2)软件的开发,是人的智力的高度发挥,而不是传统意义上的硬件制造。
(3)软件维护和硬件的修理有着本质的差别。
(4)软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依靠性。
(5)软件的开发至今尚未完全摆脱手工艺的开发方式,使软件的开发效率受到很大限制。
(6)软件的开发是一个困难的过程。
(7)软件的成本特殊昂扬软件的分类1.基于软件功能的划分系统软应用软件支撑软件2.基于软件工作方式的划分实时处理软件分时软件交互式软件批处理软件2、什么是软件危机,起因一方面软件特殊困难,价格昂贵,供需差日益增大,另一方面软件开发时又常常受挫,质量差,指定的进度表和完成日期很少能按时实现,研制过程很难管理,即软件的研制往往失去限制。
我们称软件开发和维护过程中所中遇到的这一系列严峻问题为软件危机。
软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
3、什么是软件工程,它的基本目标,要素,原则(1)软件工程是指探讨软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既牢靠又能在实际机器上有效运行的软件。
(2)软件工程学探讨的基本目标是:定义良好的方法学,面对支配,开发维护整个软件生存周期的方法学;确定的软件成分,记录软件生存周期每一步的软件文件资料,按步显示轨迹;可预料的结果,在生存周期中,每隔确定时间可以进行复审(3)软件工程的原则:分解;抽象和信息隐藏;一样性;确定性4、什么是软件生命周期,每个阶段的意义理解如同任何其他事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程,一般称之为计算机软件的生命周期。
1.软件定义时期(1)问题定义:这是软件生存期的第一个阶段,主要任务是弄清用户要计算机解决的问题是什么。
《软件工程导论》第六版期末复习总结
《软件工程导论》第六版期末复习总结————————————————————————————————作者:————————————————————————————————日期:软件工程一、名词解释与问答1、SA——结构化分析方法2、画数据流图应注意什么事项?(1)数据流名称只能是名词或是名词短语;(2)每个加工至少有一个输入数据和一个输出数据流,反映出此加工数据的来源与加工的结果;(3)编号:某个加工分解成一张数据流图时,上层图为父类,下层图为子类;父图与子图的平衡:子图的输入输出数据流同父类相应的输入输出数据流必须一致;(4)注意数据流图的易理解性;3、什么是软件生存周期?它有那几个活动?一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
4、什么是数据流图?作用是什么?其中的基本符号表示什么含义?以图的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,是一种功能模型。
箭头,表示数据流数据流是数据在系统内传播的路径,由一组成分固定的数据项组成;圆或椭圆,表示加工对数据进行某些操作或变换,每个加工要有名字,通常是动词短语,描述完成的加工;双杆,表示数据存储指暂时保存的数据;方框,数据源点或终点软件系统外部环境的实体,为帮助理解系统接口界面引入,只出现在顶层图中;什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分) 简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.简述软件测试的任务、目的与类型。
软件工程期末复习要点归纳总结
第一章软件工程学概论1、软件危机产生的原因软件本身的特点:难于维护、逻辑复杂软件开发与维护的方法不正确:忽略需求分析重要性、轻视软件维护课本表述:1、软件不同于硬件,它是计算机中的逻辑部件而不是物理部件2、软件不同于一般程序,它的一个显著特点是规模庞大,而且程序的复杂性将规模的增加而呈现指数上升。
3、软件本身特有的特点确实给开发和维护带了一些客观困难4、软件开发与维护有关的许多错误认识与做法有关(忽略需求分析,轻视软件维护)5、对用户要求没有完整准确的认识就匆忙开始着手编写程序6、在软件不同阶段进行修改需要付出的代价是很不相同的2、软件危机的表现(什么是软件危机)(1)、成本高:(2)、软件质量得不到保证:软件质量问题导致失败的软件项目非常多(3)、进度难以控制:●项目延期比比皆是●由于进度问题而取消的软件项目较常见●只有一小部分的项目能够按期完成(4)、维护十分困难:▼软件维护的多样性▼软件维护的复杂性▼软件维护的副作用3、克服软件危机(1)、管理的角度:软件开发过程的研究、文档的标准化以及人员的交流方式等(2)、软件开发方法的研究结构化软件开发方法, 面向对象的开发4、软件工程的定义概括的说,软件工程师指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(1)、软件工程就是建立和使用一套合理的工程原理,从而经济地获得可靠的、可以在实际机器上高效运行的软件。
(2)、①把系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,也就是把工程应用于软件.②研究①中提到的途径总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
他借鉴传统工程的原理、方法,以提高质量,降低成本为目的。
5、软件工程的本质特性1、关注与大型程序的构造2、中心课题是控制复杂度3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程领域中通常由具有一个文化背景的人替另外一种文化背景的人创造产品6、软件工程的基本原理1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组应该少而精7、承认不断改进软件工程实践的必要性软件工程学包含3个要素:方法、工具和过程7、软件生命周期(1)、概念:软件生命周期由软件定义、软件开发和运行维护(也成软件维护)3个时期组成。
软件工程期末考试复习题及答案
31.
下列关于程序效率的描述错误的是(C) 。 a) b) c) d) 提高程序的执行速度可以提高程序的效率 降低程序占用的存储空间可以提高程序的效率 源程序的效率与详细设计阶段确定的算法的效率无关 好的程序设计可以提高效率
32. 33.
下列伪码片段的程序流图是() ,其环路复杂度是() 下列伪码片段的环路复杂度是() a) b) c) d) 2 3 4 5 度量 估算 评估 管理 B )问题。 B.使软件生产工程化 D.加强软件的质量保证.
为了高质量地开发软件项目,在软件结构设计时必遵循(C)的原则
在建立软件系统的模块结构。应根据(C)评价系统模块划分的质量。
结构化程序设计方法要求每个(A)结构应是单入口和单出口。
开发软件时,对于提高软件开发人员工作效率至关重要的是(A) 。
软件工程中描述软件生存周期的瀑布模型一般包括计划、 (D ) 、设计、编码、测试、维护等几个阶段。其中,设 计阶段在管理上又可以依次分为(概要设计)和(详细设计)两个步骤。 a) b) c) d) 问题定义 需求调查 可行性分析 需求分析 说明方法 描述方式 准则 基本原则 总结 阶段性报告 需求分析评审 以上答案都不正确
16.
软件需求分析的任务不应包括(C)。 a) b) c) d)
17.
进行需求分析可使用多种工具;但(C)是不适用的。 a) b) c) d)
18.
ห้องสมุดไป่ตู้
1960 年底 Dijkstra 提倡的(D)是一种有效的提高程序设计效率的方法。 a) b) c) d)
19.
汇编程序是指(C) 。 a) b) c)
20.
为了实现递归子程序的正确调用,人们必须用(A)来保存(返回地址)及有关信息。 a) b) c) d)
《软件工程》重点考试知识点,简答
第一章1、软件概念:由计算机程序,数据,软件文档组成软件的特点:无法直接观察它的物理形态,只能通过观察他的是实际运行情况来了解他的功能特性和质量等;人们在分析设计开发测试过程以及软件开发项目的管理过程中渗透了大量的人类的脑力劳动;不存在磨损和老化但存在缺陷维护和技术更新的问题;开发运行依赖一定的计算机系统环境;具有可复用性软件的分类:按功能分:系统支撑应用软件;按服务对象:通用定制软件;按规模:大中小型软件;按工作方式:实时分时交互式批处理2、软件危机:是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件的开发与维护过程中出现一系列严重问题的现象。
主要表现:●开发人员开发的软件产品不能完全满足用户的需求;●软件产品的质量难以得到保障;●开发周期开发经费和维护费用很难被准确估计从而给项目的管理带来很多麻烦;●随着技术的更新,用户的扩大,已有的软件产品不能灵活地适应环境的改变;●软件文档不完备并且存在文档内容与软件产品不符的情况。
原因:①软件开发是一项复杂的工程,需要用科学的工程化思想来组织和指导软件开发的各个阶段②没有完善的质量保证体系③软件文档的重要性没有得到软件开发人员和用户的足够重视④从事软件开发的专业人员对这个产业认识不够充分缺乏经验⑤软件独有的特点也给软件的开发和维护带来困难3、软件工程是指应用计算机科学与技术,数学和管理学的原理,运用工程学理论方法和技术,研究和指导软件开发和演化的一门交叉学科。
软件工程的目标:●使软件开发的成本控制在预计的合理范围内;●使软件产品的各项功能和性能能够满足用户需求;●提高软件产品的可靠性;●使生产出来的软件产品易于移植维护升级和使用;●使软件产品的开发周期能够控制在预计的合理时间范围内。
软件工程学科内容:●软件工程原理过程方法模型管理度量环境应用。
软件工程的基本原则:●将软件的生命周期划分为多个阶段,对各个阶段实施严格的项目管理;●坚持阶段评审制度已确保软件产品的质量;●实施严格的产品控制以适应软件规格的变更;●采用现代程序设计技术;开发出来的产品应该能够清楚地被审查;●合理地安排软件开发小组人员并且开发小组的人员要少而精;●不断改进软件工程的实践。
软件工程期末复习(超详细!!!)
软件工程期末复习(超详细!!!)一:软件工程概述软件工程学的存在价值:促进软件项目成功。
软件的概念:软件(software):软件是计算机系统中与硬件相互依存的另一部分。
它包括程序、数据及其相关文档的完整集合。
(1)能够完成预定功能和性能的可执行指令(program)(2)使得程序能够适当地操作信息的数据结构(data)(3)描述程序的操作和使用的文档(document)软件危机:软件危机定义:软件在开发和维护过程中遇到的一系列严重问题。
软件危机包含两层含义:如何开发软件。
如何维护数量不断膨胀的已有软件。
软件工程(Software Engineering):是研究和应用功能如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。
软件生存周期:是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程。
一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。
计划阶段确定待开发系统的总体目标和范围。
研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。
分析阶段分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。
设计阶段(总体设计和详细设计)设计阶段的目标是决定软件怎么做。
软件设计主要集中于软件体系结构、数据结构、用户界面和算法等方面。
实现阶段(编码)实现阶段是将所设计的各个模块编写成计算机可接受的程序代码。
测试阶段设计测试用例,对软件进行测试,发现错误,进行改正。
运行和维护阶段应当在软件的设计和实现阶段充分考虑软件的可维护性。
维护阶段需要测试是否正确实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。
维护常常是软件生命周期中最具挑战性的一个阶段,其费用是相当昂贵的。
软件工程三要素:工具、方法、开发过程瀑布模型:问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、运行与维护。
软件工程 期末考试复习总结知识点+必考题型
软件工程复习资料1.软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3)开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5)在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
软件工程期末考试总复习题及问题详解
复习题填空题1.在信息处理和计算机领域内,一般认为软件是_程序____、_文档____ 和_数据____ 。
2.数据流图的基本组成部分有_数据的源点与终点____、数据流_____、加工_____、数据文件_____。
3.数据流图和数据字典共同构成了系统的_逻辑____模型,是需求规格说明书的主要组成部分。
4.划分模块时尽量做到__高内聚、低耦合______,保持模块的独立性,尽量使用公共模块。
5.类的实例化是_对象_______。
6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可7.靠性的两个指标是_成功地运行的概率_______和_平均故障时间_______。
8.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,9.将得到软件的总开发量。
这种成本估算方法称为_自底向上_______。
10.如果一个模块被n 个模块调用,其中直接的上级模块的个数是m 个(m<=n )那么该模块的扇入数是____N_______ 个。
11.结构化设计以__数据流图_________ 为基础,按一定的步骤映射成软件结构。
12.软件的风险分析可包括风险识别、风险预测和风险驾驭(或风险管理)等3项活动。
13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著作权延续登记;(3)权利转移备案登记。
14.软件工程管理的主要内容有:项目经费管理,软件质量管理,项目进度管理和人员管理。
15.面向对象分析的目的是对客观世界的系统进行___建模_______________ 。
16.软件维护工作的生产性活动包括分析评价、修改设计和____编写程序代码_______ 等。
17.为了使应用软件适应计算机环境的变化而___修改软件_______________ 的过程称为适应性维护。
18.一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是__________顺序内聚________ 。
软件工程期末考试重点整理
软件工程的基本概念:研究软件生产和软件管理的工程学科。
主要内容:软件工程的基本概念。
软件开发模型。
软件开发各阶段的任务、技术、方法。
传统方法、面向对象方法。
软件工程管理。
软件质量保证。
软件工程环境。
软件工程三要素:方法、工具和过程什么是软件生命周期?定义一个软件从开始计划起,到废弃不用为止,称为软件的生存周期。
软件生存周期包括:计划(主要任务:调查和分析,调查用户需求,分析新系统的主要目标,分析开发该系统的可行性)、开发(主要任务:系统分析、设计和实现)与运行(主要任务:做好软件维护,使软件在整个生存周期内保证满足用户的需求和延长使用寿命)3个时期,每一时期又可细分为若干更小的阶段。
将软件开发过程划分生存周期的目的:把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够简化每一步的工作内容,使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理需求分析的主要任务是1通过对问题及其环境的理解、分析和综合,建立分析模型;2在完全弄清用户对软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求不大出来。
需求分析的步骤通过对现实环境的调查研究,获得当前系统的具体模型;去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型;分析当前系统与目标系统的差别,建立目标系统的逻辑模型;对目标系统进行完善和补充,并写出完整的需求说明;对需求说明进行复审简述衡量模块独立性的两个准则。
选择程序设计语言的原则有哪些?简述你对程序设计风格的理解。
程序设计阶段的特点:生产方式:个体手工劳动。
生产工具:机器语言、汇编语言。
开发方法:追求编程技巧,追求程序运行效率。
程序难读、难懂、难修改。
硬件特征:价格贵、存储容量小、运行可靠性差。
软件特征:只有程序、程序设计概念,不重视程序设计方法。
“软件测试不能证明程序的正确性”,谈谈你对这句话的理解。
“软件维护是软件运行时期的工作,与软件开发各阶段联系较少,该阶段工作是简单的,难度也要小得多。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习资料1.软件危机产生的原因(1) 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。
在写出程序代码并在计算机上试运行之前软件开发过程的进展情况较难衡量。
很难检验开发的正确性且软件开发的质量也较难评价。
因此控制软件开发过程相当困难。
此外在软件运行过程中发现错误很可能是遇到了一个在开发期间引入的但在测试阶段没有能够检测出来的错误,所以软件维护常常意味着修改原来的设计。
这样维护的费用十分惊人,客观上使得软件较难维护。
(2) 软件开发的过程是多人分工合作分阶段完成的过程,参与人员之间的沟通和配合十分重要。
但是,相当多的软件开发人员对软件的开发和维护存在不少错误的观念。
在实践的过程中没有采用工程化的方法,或多或少采用了一些错误的方法和技术。
这是造成软件危机的主要原因。
(3) 开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的要求。
对用户的要求没有完整准确的认识就急于编写程序。
这是许多软件开发失败的另一主要原因。
事实上,许多用户在开始时并不能准确具体地叙述他们的需要。
软件人员需要做大量深入细致的调查研究工作,反复多次与用户交流信息,才能真正全面、准确、具体地了解用户的要求。
(4) 软件管理技术不能满足现代软件开发的需要,没有统一的软件质量管理规范。
首先是文档缺乏一致性和完整性,从而失去管理的依据。
因为程序只是完整软件产品的一个组成部分。
一个软件产品必须由一组的配置组成,不能只重视程序而应当特别重视软件配置。
其次,由于成本估计不准确,资金分配混乱,人员组织不合理,进度安排无序,导致软件技术无法实施。
(5) 在软件的开发和维护关系问题上存在错误的观念。
软件维护工作通常是在软件完成之后进行的,因此是极端艰巨复杂的工作,需要花费很大的代价。
所以做好软件的定义工作是降低软件成本,提高软件质量的关键。
如果软件人员在定义阶段没有正确、全面地理解用户要求,直到测试阶段才发现软件产品不完全符合用户的需要,这时再修改就为时已晚了。
另外,在软件生存期的不同结点进行修改需要付出的代价是很不相同的。
在早期引入变更涉及面较小,付出的代价较低,在开发的中期软件配置的许多成分已经完成,引入一个变更可能需要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上更复杂。
因而付出的代价剧增。
在软"已经完成"后再引入变更。
则需要付出更高得多的代价。
因此,必须把软件维护的观念引入软件开发的各个阶段,建立起软件开发与维护的正确关系。
2.软件工程的概念软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
2.软件工程的三要素方法、工具和过程3.软件工程的基本原理(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性4.软件生命周期问题定义可行性研究需求分析总体设计详细设计编码和单元测试综合测试软件维护5.瀑布模型存在的问题靠文档驱动,用户不能全面地认识动态的软件产品。
且过于理想化,可能出现设计上的错误。
缺乏灵活性。
6.RUP统一过程的四个阶段RUP模型将软件开发过程分为4个大的阶段,分别是先启、精化、(构建)和产品化。
7.可行性分析研究的主要目的用最小的代价在尽可能小的时间内,确定问题是否能解决,从而确定问题是否值得去解决。
8.需求分析阶段所有分析方法需要遵守的准则(1)必须理解并描述问题的信息域,根据这条准则必须建立数据模型。
(2)必须定义软件应完成的功能,这条准则要求建立功能模型。
(3)必须描述作为外部事件结果的软件行为,这条准则要求建立行为准则。
(4)必须对描述信息,功能和行为的模型进行分解,用层次的方式展示细节。
9.需求分析的目的准确的回答“系统必须做什么”这个问题10.数据字典的作用和概念概念:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
作用:数据字典和数据流图共同构成系统的逻辑模型。
没有流图数据字典难以发挥作用。
没有数据字典,数据流图就不严格。
11.数据流图的图形元素→ 数据流□数据的源点或终点变换数据的处理〓数据存储12.E-R图(非画图题)在ER图中有如下四个成分:矩形框:表示实体,在框中记入实体名。
菱形框:表示联系,在框中记入联系名。
椭圆形框:表示实体或联系的属性,将属性名记入框中。
对于主属性名,则在其名称下划一下划线。
连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。
(对于一对一联系,要在两个实体连线方向各写1;对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。
)构成E-R图的3个基本要素是实体型、属性和联系,其表示方法为:实体一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。
关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质。
用实体名及其属性名集合来抽象和刻画同类实体。
在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三、学生李四都是实体。
如果是弱实体的话,在矩形外面再套实线矩形。
属性实体所具有的某一特性,一个实体可由若干个属性来刻画。
属性不能脱离实体,属性是相对实体而言的。
在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。
如果是多值属性的话,在椭圆形外面再套实线椭圆。
如果是派生属性则用虚线椭圆表示。
联系联系也称关系,信息世界中反映实体内部或实体之间的关联。
实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。
比如老师给学生授课存在授课关系,学生选课存在选课关系。
如果是弱实体的联系则在菱形外面再套菱形13.需求分析和软件设计两个阶段的目的需求分析:确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统开发计划软件设计:用比较抽象概括的方式确定目标系统如何完成预定任务。
14.信息隐藏的概念在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。
15.耦合的概念和分类概念:耦合性是程序结构中各个模块之间相互关联的度量.它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口.分类:内容耦合,公共耦合,外部耦合,控制耦合,标记耦合,数据耦合,非直接耦合,顺序耦合(耦合度由高到低排列)16.内聚的概念和分类概念:内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。
分类:偶然内聚,逻辑内聚,时间内聚,过程内聚,通信内聚,顺序内聚,功能内聚(内聚度由弱到强排列)17.模块化的概念概念:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
18.详细设计的任务确定怎样具体的实现用户需要的软件系统,也就是要设计出程序的蓝图(书上)(网上)(1)为每个模块进行详细的算法设计。
用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。
(2)为模块内的数据结构进行设计。
对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。
(3)为数据结构进行物理设计,即确定数据库的物理结构。
物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。
(4)其他设计:根据软件系统的类型,还可能要进行以下设计:①代码设计。
为了提高数据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。
②输入/输出格式设计。
③人机对话设计。
对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容、格式的具体设计。
(5)编写详细设计说明书。
(6)评审。
对处理过程的算法和数据库的物理结构都要评审。
19.设计复审的目的和作用避免后期付出高代价20.判定树,判定表判定树和判定表是用于描述结构化分析方法中(数据加工)环节的工具21.结构化程序设计的三种结构顺序,选择,循环22.画N-S图和pad图Pad:N-S图23.软件测试的目的发现程序中的错误而执行程序的过程24.软件测试的方法(黑盒&白盒)黑盒:把程序看做一个黑盒子,完全不考虑程序的内部结构和处理过程。
也就是说,黑盒测试是在程序接口进行的测试,他只检查程序功能是否能按规格说明书的规定正常使用,程序是否能适当的接受输入数据并产生争取的输入信息,程序测试过程中能否保持外部信息的完整性。
黑盒测试又被称为功能测试。
白盒:可以把程序看成装在一个透明白盒子里,测试者完全知道程序的结构和处理算法。
这种方法按照程序内部的逻辑测试程序,检测程序的主要执行通路是否都能按预定要求正确工作。
白盒测试又被称为结构测试。
25.软件测试的步骤(1)单元测试(也称模块测试):针对软件设计的基本单元——程序模块,进行正确性检验的测试工作。
目的在于发现各个模块内部可能存在的各种差错。
单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行、独立地进行测试;(2)集成测试(也称组装测试,联合测试):在单元测试的基础上,将所有模块按设计要求集成在一起进行测试,以检验总体设计中各模块间的接口设计问题、模块之间的相互影响、上层模块存在的各种差错及全局数据结构对系统的影响等方面。
(3)确认测试(也称验收测试,有效性测试):主要检验软件的功能和性能是否与需求说明书中的规定一致。
(4)系统测试:将软件系统作为一个元素,放入整个实际的计算机系统中,与计算机硬件、其他软件、使用人员等系统元素结合在一起,在实际使用环境下进行综合全面的测试。
26.软件测试用例的组成测试用例由输入数据和预期的输出数据组成。
27.根据题目要求设计测试用例请参考下方题目(3)28.软件维护的分类(4种)(1)完善性的维护。
完善性维护就是在应用软件系统使用期间为不断改善和加强系统的功能和性能,以满足用户日益增长的需求所进行的维护工作。
在整个维护工作量中,完善性维护居第一位。
(2)适应性维护。
适应性维护是指为了让应用软件系统适应运行环境的变化而进行的维护活动。
适应性维护工作量约占整个维护工作量的25%。