软件工程导论 重点知识整理 考前准备

合集下载

软件工程导论复习重点总结很全(第六版)

软件工程导论复习重点总结很全(第六版)

软件工程导论复习重点总结很全(第六版)软件工程导论复习重点总结很全(第六版)软件工程是一门研究如何以系统化的、可管理的和可维护的方式来构建高质量的软件的学科。

在软件工程导论中,我们学习了软件开发的基本概念、原理和方法。

本文将对软件工程导论的重点内容进行总结,帮助读者巩固所学知识,为学习和工作提供帮助。

1. 软件工程概述软件工程的定义、目标和原则;软件生命周期和过程模型;软件开发的重要性和挑战;软件工程中的质量保证和风险管理。

2. 软件需求工程软件需求的定义和分类;需求获取、分析和建模;需求验证和确认;需求变更和配置管理。

3. 软件设计软件设计原则和方法;面向对象设计和结构化设计;软件架构设计;设计模式的应用。

4. 软件测试与调试软件测试的概念和目的;测试策略和技术;测试用例的设计和执行;测试评估和管理;软件错误调试和修复。

5. 软件项目管理软件项目管理的基本概念和流程;项目计划和进度管理;团队组织和沟通;风险管理和变更管理;质量管理和配置管理;软件工程伦理与法规。

6. 软件开发过程软件开发过程模型的选择和应用;瀑布模型、迭代模型和敏捷开发等常用模型的特点和比较;敏捷开发方法的原理和实践。

7. 软件工具与环境软件开发工具的选择和使用;集成开发环境、版本控制工具、测试工具和调试工具等的功能和特点;软件工程中的自动化工具和技术。

8. 软件工程的前沿技术软件工程的新兴技术和趋势;人工智能、大数据、云计算等技术在软件开发中的应用;软件工程的创新与创业。

通过对上述主要内容的学习和理解,我们可以全面掌握软件工程导论的核心知识和方法。

在今后的学习和实践中,我们应该注重理论与实际的结合,不断提高自己在软件开发和项目管理方面的能力。

只有不断学习和实践,我们才能成为优秀的软件工程师,为社会和企业创造更大的价值。

总结:软件工程导论是软件工程领域中的重要基础课程,通过对软件开发过程和管理原理的学习,我们可以掌握软件工程的基本概念、原则和方法。

大连理工大学城市学院软件工程导论期末考试复习重点

大连理工大学城市学院软件工程导论期末考试复习重点

软件工程导论重点第一章重点:软件的概念:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。

软件危机概念:软件危机暴发于上个世纪六十年代末。

主要表现为:软件的发展速度远远滞后于硬件的发展速度,不能满足社会日益增长的软件需求。

软件开发周期长、成本高、质量差、维护困难。

软件工程概念:概括地说,软件工程是指导计算机软件开发和维护的工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

软件工程的目标:软件工程的目标是运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短的周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。

基本目标:付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发工作,及时交付使用软件生存期概念和包含内容:软件也有一个孕育、诞生、成长、成熟和衰亡的生存过程,我们称这个过程为软件生命周期或软件生存期。

软件生存期分为三个时期软件定义软件开发运行维护软件工程的方法:软件工程包含技术和管理两方面的内容,是技术和管理紧密结合所形成的工程学科。

通常将软件开发全过程中使用的一整套技术方法的集合称为方法学(methedology),也称为范型(paradigm)。

目前使用最广泛的软件工程方法学:传统方法学(结构化方法学),面向对象方法学。

软件工程三要素:三要素:方法、工具和过程。

第二章重点:生存期模型有哪些:•瀑布模型•快速原型模型•增量模型•螺旋模型•喷泉模型•统一过程•基于构件的开发模型•敏捷过程前四种面向过程后四种面向对象给一个模型,判断出是哪一模型的第三章重点:结构化分析方法的概念:传统的分析建模方法称为结构化分析(structured analysis,SA)方法。

软件工程导论复习整理(最新)

软件工程导论复习整理(最新)

第一章1..软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2.软件与硬件的区别:软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

3.软件:程序、数据及相关文档的完整集合。

4.软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济地开发出高质量的软件并有校地维护它。

5.软件工程方法学三要素:方法、工具和过程。

6.传统方法学也称为生命周期方法学或结构化范型。

它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。

7.面向对象方法学把数据和行为看成同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。

8.软件生命周期划分为三个时期:1软件定义(问题定义、可行性研究、需求分析),2软件开发(总体设计、详细设计、编码和单元测试、综合测试),3运行维护(软件维护)。

9.4类软件维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件,为将来的维护活动预先做准备。

10.“瀑布模型”的缺点:它是由文档驱动的,仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品;瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的产品不能真正的满足用户的需要。

11.快速原型模型的优点:原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求;开发人员通过建立原型系统已经学到了很多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。

第二章1.可行性研究的三个方面:技术可行性:使用现有的技术能实现这个系统经济可行性:这个系统的经济效益能超过它的开发成本操作可行性:系统的操作方式在这个用户组织内行得通2.数据流图的4个基本符号及画法P413.数据字典:是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

软件工程导论复习知识点

软件工程导论复习知识点

软件工程导论复习知识点一、软件:软件定义:软件=程序+文档+数据软件特点:1、具有抽象性2、没有明显的制造过程3、软件的维护比硬件的维护要复杂得多4、对计算机系统有着不同程度的依赖性5、尚未完全摆脱手工艺的开发方式6、软件本身是复杂的7、软件成本相当昂贵8、相当多的软件工作涉及到社会因素软件的发展:程序设计、程序系统、软件工程软件危机:软件危机指的是软件开发和维护过程中遇到的一系列严重问题。

软件危机的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机表现:1.开发成本难以控制,进度不可预计;2.软件系统的质量和可靠性很差,难以满意;3.软件文档相当缺乏,软件系统不可维护;4.软件开发生产率很低,软件产品供不应求。

5.软件产品成本十分昂贵。

管理科学中的方法和原理进行软件生产的管理。

用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等。

软件工程三要素:方法、工具和过程。

软件方法:是完成软件开发的各项任务的技术方法,回答“如何做”的问题;工具是为方法的运用提供自动的或半自动的软件支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

包括:传统方法学面向对象方法学需要解决的问题:软件成本、软件可靠性、软件维护、软件生产率和软件复用。

基本内容:包括理论、结构、方法、工具、环境与规范等目标:以较少的投资获得易维护、易理解、可靠和高效率的软件产品。

原则:即分解、抽象和信息隐蔽、一致性和确定性原理:工程化和系统化。

软件过程:软件过程是把输入转化为输出的一组彼此相关的资源和活动从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等,为开发软件进行的一组开发活动,在过程结束时将输入(用户要求转化为输出(软件产品。

软件工程过程包含四种基本的过程活动:Plan 软件规格说明:规定软件的功能及其运行的限制Do 软件开发:产生满足规格说明的软件Check 软件确认:确认软件能够完成客户提出的要求Action 软件演进:为满足客户的变更要求,软件必须在使用的过程中演进软件工程的基本原理:强调使用生存周期方法学、强调使用结构分析与结构设计任务软件工程的目标:生产具有正确性、可用性以及开销合宜的产品1、付出较低的开发成本2、达到要求的软件功能3、取得较好的软件性能4、开发的软件易于移植5、需要较低的维护费用6、能按时完成开发7、及时交付使用三、软件生命周期:生命周期基本流程:问题定义→可行性研究→需求分析→总体设计(概要设计→详细设计→编码和单元测试→综合测试→软件维护。

软件工程导论 复习资料

软件工程导论 复习资料

软件工程导论复习资料软件工程导论是计算机科学与技术专业的一门重要课程,它主要介绍了软件工程的基本概念和原理,帮助学生了解软件开发过程中的关键问题和解决方法。

本文将为大家提供一份软件工程导论的复习资料,希望能够帮助同学们更好地复习和掌握这门课程。

1. 软件工程概述1.1 软件工程定义软件工程是一门关于开发和维护大规模软件的学科,它涉及到软件开发的各个阶段和过程。

软件工程的目标是通过系统化和可量化的方法来开发、维护和管理软件,以提高软件的质量、效率和可靠性。

1.2 软件生命周期软件生命周期是软件开发过程中的一个重要概念,它包括需求分析、设计、编码、测试、部署和维护等阶段。

了解软件生命周期的各个阶段和活动,对于理解软件开发过程的全貌和整体把控至关重要。

1.3 软件工程方法学软件工程方法学是用于指导软件开发过程的一种方法体系,包括传统的瀑布模型、敏捷开发方法、迭代开发方法等。

通过学习不同的软件工程方法学,可以使软件开发过程更加有序、高效。

2. 需求工程2.1 需求定义和分类需求工程是软件开发过程中的第一个阶段,它主要涉及到需求的定义、分析和规范化等活动。

了解需求的定义和分类能够帮助我们更好地理解用户的需求,从而制定出更准确的软件需求规格说明书。

2.2 需求获取和分析需求获取是收集用户需求信息的过程,需求分析是将这些需求信息进行过滤、分类和分析的过程。

在需求获取和分析阶段,我们需要使用一些常见的工具和技术,例如面谈、问卷调查、用例图等。

2.3 需求规格说明书需求规格说明书是对系统需求进行详细描述和规范的文档,它包括功能需求、非功能需求、性能需求等内容。

编写清晰、准确的需求规格说明书是软件开发过程中的关键一步,它对于后续的设计和编码工作具有重要的指导作用。

3. 软件设计3.1 软件设计基础软件设计是将需求转化为软件结构的过程,它包括模块化设计、面向对象设计、数据结构设计等。

掌握软件设计的基础知识,能够帮助我们合理划分系统的功能模块,提高软件的可维护性和可扩展性。

软件工程导论复习重点总结很全(第六版)

软件工程导论复习重点总结很全(第六版)

软件工程导论复习重点总结很全(第六版)第1章软件工程学概述1.1软件危机1.1.1软件危机的介绍软件危机(软件萧条、软件困扰:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

软件危机包含下述两方面的问题:如何开发软件,满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

软件危机的典型表现:1对软件开发成本和进度的估计常常很不准确;2用户对“已完成的”软件系统不满意的现象经常发生;3软件产品的质量往往靠不住;4软件常常是不可维护的;5软件通常没有适当的文档资料;6软件成本在计算机系统总成本中所占的比例逐年上升;7软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

1.1.2产生软件危机的缘故原由1与软件本身的特点有关2与软件开发与维护的方法不正确有关1.1.3消除软件危机的途径对计算机软件有正确的认识。

认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。

应该推广使用在实践中总结出来的开发软件的成功技术和方法,并继续研究探索。

应该开发和使用更好的软件工具。

总之,为了解决软件危机,既要有技术措施(方法和工具,又要有必要的组织管理措施。

1.21.2.1软件工程的介绍软件工程:是指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

(期中考软件工程的本质特性:软件工程关注于大型程序的构造软件工程的中心课题是控制复杂性软件经常变化开辟软件的效率非常重要和谐地合作是开辟软件的枢纽软件必须有效地支持它的用户在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品1.2.2软件工程的基本原理用分阶段的生命周期计划严格管理保持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开辟小组的人员应该少而精承认不竭改良软件工程实践的必要性1.2.3软件工程方法学软件工程包括技术和管理两方面的内容。

软件工程导论复习

软件工程导论复习

软件工程导论复习一、概念:1.软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2.软件工程:是指导软件开发与维护的工程性学科,采用工程的概念、原理、技术和方法来开发与维护软件。

3.软件工程的7条基本原理:(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术(5)结果可以清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性4.软件生命周期:从软件定义开始到软件被废弃所经历的整个时期,它包括软件定义、软件开发和运行维护3个时期,每个时期又进一步划分成若干个阶段。

5.软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

6.瀑布模型的特点:(1)阶段间具有顺序性和依赖性(2)推迟实现的观点(典型特点)(3)质量保证的观点7.可行性研究的任务目的:用最小的代价和尽可能短的时间判断问题是否值得去解8.系统流程图:用来描述物理系统的工具。

9.数据流图(DFD):是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换,即数据流图描绘数据在软件中流动和被处理的逻辑过程。

10.结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。

11.数据模型中包含3种互相关联的信息:(1)数据对象(2)数据对象的属性(3)数据对象彼此间相互连接的关系12.信息隐藏原理:应这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。

13.数据耦合:如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为数据耦合。

14.控制耦合:如果传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现),则这种耦合称为控制耦合。

15.黑盒测试法:把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程,是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,黑盒测试又称为功能测试。

软件工程导论最全复习总结

软件工程导论最全复习总结

1、软件危机是指在计算机开发过程中旳开发和维护过程中所碰到旳一系列旳严重问题。

2、软件是程序、数据及有关文档旳完整集合,程序是可以完毕预定功能和性能旳可执行旳程序序列;数据是是使程序可以合适旳处理信息旳数据构造;文档是开发、使用和维护程序所需要旳图文资料。

3、软件工程学包括3个要素:措施、工具、过程。

4、目前使用最广泛旳软件工程措施学是老式措施学和面向对象措施学。

5、软件工程措施学旳软件过程基本上可以用瀑布模型来描述。

6、瀑布模型、迅速原型模型、增量模型、螺旋模型、喷泉模型。

7、Rup把软件生命周期划为:初始、精化、构建、移交阶段。

8、可行性研究旳三方面:技术可行性、经济可行性、操作可行性。

9、数据流图(DFD是一种图形化技术,他描绘信息流和数据从输入移动到输出旳过程中所经受旳变化。

10、数据字典是有关数据信息旳集合,也就是对数据流程图中所包括旳所有元素旳定义旳集合。

11、数据流图和数据字典共同构成系统旳逻辑模型,没有数据字典,数据如就不严格,没有流程图,数据字典也难以发挥作用。

12、需求分析阶段结束之前,系统分析员应当写出软件需求规格阐明书,以书面形式准确旳描述软件需求。

13、9、构造化分析措施就是面向数据流自顶向下逐渐求精进行需求分析旳措施。

14、ER图中包括了实体、关系和属性,矩形代表实体,菱形表达关系,椭圆或圆角矩形表达属性,用直线把实体和其属性连接。

15、验证软件需求旳对旳性:一致性、完整性、现实性、有效性。

16、总体设计旳基本目旳是回答“概括地说,系统应当怎样实现?”,总体设计又称为概要设或初步设计。

17、模块旳独立程度可以有两个定性标量度量:内聚和耦合。

18、软件测试旳目旳:(1测试是为了发现程序中旳错误而执行程序旳过程;(2好旳测试方案是极也许发现迄今为止尚未发现旳错误旳测试方案;(3成功旳测试是发现可至今为止尚未发现旳错误旳测试。

19、软件测试环节:模块测试、子系统测试、系统测试、验收测试、平行运行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程关注于大型程序的构造:一个人短时间写的程序是小程序,多人半年以上时间为大型程序。

软件工程的基本原理
1. 用分阶段的生命周期计划严格管理
2. 坚持进行阶段评审
3. 实行严格的产品控制
4. 采用现代程序设计技术
5. 结果应能清楚地审查
6. 开发小组的人员应该少而精
7. 承认不断改进软件工程实践的必要性
软件工程包括技术和管理两方面,是技术和管理紧密结合所形成的工程学科。

管理:是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。

范型:在软件生命周期全过程中使用的一整套技术方法的集合为方法学,也称为范型。

软件工程三要素:方法,工程,过程
软件工程方法学:分为传统方法学和面向对象方法学
软件生命周期
1.问题定义
2. 可行性研究
3. 需求分析
4. 总体设计
5. 详细设计
6. 编码和单元测试
7.综合测试8. 软件维护
可行性研究过程
1. 复查系统规模和目标
2. 研究目前正在使用的系统
3. 导出新系统的高层逻辑模型
4. 进一步定义问题
5. 导出和评价供选择的解法
6. 推荐行动方针
7. 草拟开发计划
8. 书写文档提交审查
在澄清问题定义后,分析员应导出系统的逻辑模型,然后探索主要解法,对每种解法研究可行性,至少三种可行性:技术可行性(使用现在的技术能实现这个系统吗?),经济可行性(这个系统的经济效益能超过它的开发成本吗?),操作可行性(系统的操作方式在这个用户组织内行的通吗?),必要时还需要法律、社会效益等发面研究每种解法可行性。

数据流图(DFD):是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

数据流4种基本符号:
在数据流图中应该描绘所有可能的数据流向,而不应该描绘出某个数据流的条件。

数据字典:对数据流图中包含的所有元素的定义的集合;
数据流图与数据字典共同构成系统的逻辑模型。

数据字典的内容:1)数据流;2)数据元素(数据流分量);3)数据存储;4)处理。

数据元素的别名就是该元素的其他等价的名字,出现别名主要有下述三个原因:
①对于同样的数据,不同的用户使用了不同的名字;
②一个分析员在不同时期对同一个数据使用了不同的名字;
③两个分析员分别分析同一个数据流时,使用了不同的名字。

从哪些方面验证软件需求的正确性
(1)一致性所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。

(2)完整性需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。

(3)现实性指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。

对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。

(4)有效性必须证明需求是正确有效的,确实能解决用户面对的问题。

设计过程:1. 设想供选择的方案2. 选取合理的方案3. 推荐最佳方案4. 功能分解
5.设计软件结构
6. 设计数据库
7. 制定测试计划
8. 书写文档
9. 审查和复审
总体设计过程分为两个主要阶段:系统设计阶段,确定系统的具体实现方案;结构设计阶段,
确定软件结构。

软件设计过程应遵循的基本原理跟相关概念:
模块:是由边界元素限定的相邻程序元素的序列,而且有个总称标识符代表它。

抽象:人类在认识复杂现象的过程中使用的最强有力的思维工具
逐步求精:人类解决复杂问题采用的基本方法
Miller法则:一个人在任何时候都只能把注意力集中在(7+-2)知识块上。

信息隐蔽和局部化:
信息隐蔽原理:要求一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说是不能访问的。

局部化:把一些关系密切的软件元素物理地放的彼此靠近,更有助于实现信息隐蔽。

局部化与信息隐蔽是密切相关的
模快独立:每个模块完成一个相对独立的子功能,并且和其他模块之间的关系很简单。

模块独立性的概念是模块化、抽象、信息隐藏和局部化的直接结果。

模块的独立性可以由两个定性标准度量:
耦合:用于衡量不同模块彼此间互相依赖(连接)的紧密程度;
内聚:用于衡量一个模块内部各个元素间彼此结合的紧密程度。

耦合的六种类型:1.非直接耦合2.数据耦合3.特征耦合4.控制耦合5.公共耦合6.内容耦合七种内聚:1.偶然内聚2.逻辑内聚3.时间内聚4.过程内聚5.通信内聚6.顺序内聚(信息内聚)7.功能内聚
启发式规则: 1.改进软件结构提高模块独立性2.模块规模应该适中3.深度、宽度、扇入、扇出都应适当4.模块的作用域应该在控制域之内5.力争降低模块接口的
复杂程度6.设计单入口单出口的模块7.模块的功能应该可以预测
面向数据流的设计方法把信息流映射城软件结构,数据流的类型决定了映射的方法。

数据流有两种类型:变换流、事务流
程序流程图中使用的符号:
a) 选择(分支);(b) 注释;(c) 预先定义的处理;(d) 多分支;(e) 开始或停止;(i) 虚线; (f) 准备; (g)循环上界限;(h) 循环下界限; (k) 并行方式;(l) 处理;(m) 输入/输出;(n) 连接;(o) 换页连接;(p) 控制流
软件测试的目标:
(1)测试是为了发现程序中的错误而执行程序的过程;
(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
(3)成功的测试是发现了至今为止尚未发现的错误的测试。

软件测试准则:
(1)所有测试都应该能追溯到用户需求。

(2)应该远在测试开始之前就制定出测试计划。

(3)把Pareto原理应用到软件测试中。

(4)应该从“小规模”测试开始,并逐步进行“大规模”测试。

(5)穷举测试是不可能的。

(6)为了达到最佳的测试效果,应该由独立的第三方从事测试工作。

测试方法
黑盒测试: 把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

又称功能测试。

白盒测试:把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

又称结构测试。

测试步骤:
(1) 单元测试——程序设计及编码中的bug
(2) 子系统测试——模块间的接口
(3) 系统测试——需求及系统设计
(4) 验收测试——顾客参与
(5) 并行运行——新老系统比较.
单元测试主要测试以下五个方面:1、模块接口:2、局部数据结构:3、重要的执行通路:4、出错处理通路:5、边界条件
调试途径:①蛮干法②回溯法:③原因排除法(对分查找法,归纳法,演绎法:)
软件可靠性::
可靠性(Reliability):程序在给定的时间间隔内,按照说明书的规定,成功地运行的概率。

可用性(Usability):程序在给定的时间点,按照说明书的规定,成功地运行的概率。

正确性(Correctness):程序的功能正确。

软件维护:指软件系统交付使用以后,为了改正错误或满足新的需求而修改软件的过程。

软件维护的四类:
完善性维护当一个软件系统投入使用和成功地运行时,用户会根据业务发展的实际需要,提出增加新功能、修改已有功能以及性能的改进要求等。

纠错性维护在软件投入使用后才逐渐暴露出来的错误的测试、诊断、定位、纠错以及验证、修改的回归测试过程,称为纠错性维护。

适应性维护使运行的软件能适应运行环境或者数据的变动而修改软件的过程称为适宜性维护。

预防性维护为了进一步改善软件的可靠性和易维护性,或者为预见的将来软件运行和维护打下更好的基础而对软件进行修改。

决定软件可维护性的因素:可理解性可测试性可修改性可靠性可移植性可重用性
盒图:
(a)顺序; (b)IF_THEN_ELSE 型分支; (c)CASE 型多分支; (d)循环; (e)调用子程序
图6.7用判定树表示计算行李费的算法。

相关文档
最新文档