计算机二级考试复习----软件工程基础
- 格式:doc
- 大小:555.50 KB
- 文档页数:21
计算机二级考试软件工程题库及答案一、选择题1. 下列哪个不是软件工程的基本特征?A. 可靠性B. 可维护性C. 可重复性D. 可移植性答案:C2. 软件需求分析的目的是什么?A. 建立软件体系结构B. 确定软件需求C. 设计软件模块D. 编写软件代码答案:B3. 下列哪个不是软件开发生命周期的阶段?A. 需求分析B. 设计C. 测试D. 销售答案:D二、填空题1. 软件工程的目标是提高软件的_________。
答案:质量2. 软件需求分析阶段的主要任务是对用户的需求进行_________。
答案:分析3. 软件测试的目的是为了发现软件中的_________。
答案:缺陷三、简答题1. 什么是软件开发生命周期?请简要描述各个阶段的主要任务。
答案:软件开发生命周期指的是软件从开始开发到结束的整个过程。
主要阶段包括需求分析、设计、编码、测试和维护。
需求分析阶段的主要任务是确定用户的需求;设计阶段的主要任务是根据需求设计软件的结构和模块;编码阶段的主要任务是根据设计编写软件代码;测试阶段的主要任务是发现并修复软件中的缺陷;维护阶段的主要任务是对软件进行更新和修复。
2. 请简要说明软件工程的重要性。
答案:软件工程的重要性体现在以下几个方面。
首先,软件工程可以提高软件的质量,确保软件能够满足用户的需求。
其次,软件工程可以提高软件的可维护性,使得软件可以持续更新和修复。
最后,软件工程可以提高软件的开发效率,节省时间和资源。
以上是计算机二级考试软件工程题库及答案的内容。
希望对您有所帮助!。
计算机二级考试软件工程题库及答案为了帮助考生更好地备考计算机二级考试,我们精心整理了一份软件工程题库及答案,涵盖了大量实际问题与案例分析,旨在帮助考生深入理解软件工程的基本概念、原理和技术。
以下是题库的部分内容。
一、选择题1. 软件工程的主要目标是()A. 提高软件开发效率B. 确保软件质量C. 降低软件开发成本D. 提高软件的可维护性答案:B2. 下列关于软件需求分析的说法中,错误的是()A. 需求分析是软件开发过程中的重要环节B. 需求分析的主要任务是确定用户需求C. 需求分析的结果是软件需求规格说明书D. 需求分析应在软件设计之前完成答案:C3. 在软件开发过程中,项目管理的主要任务不包括()A. 人员组织与协调B. 进度控制C. 质量控制D. 软件测试答案:D4. 下列关于结构化分析方法的描述中,错误的是()A. 结构化分析方法是一种面向数据的分析方法B. 结构化分析方法主要包括数据流图、实体关系图等工具C. 结构化分析方法适用于大型复杂系统的分析D. 结构化分析方法不适用于小型系统的分析答案:D5. 在软件测试过程中,下列说法正确的是()A. 测试应贯穿整个软件开发过程B. 测试的目的是发现并修复软件缺陷C. 测试过程应遵循逐步细化、逐步展开的原则D. 测试用例的设计应考虑输入条件、操作步骤和预期结果答案:D二、填空题1. 软件工程的三级生命周期模型包括________、________和________。
答案:需求分析、设计、实现与维护2. 软件需求规格说明书是________阶段的成果,其主要作用是________。
答案:需求分析;描述软件的功能、性能和约束条件3. 结构化分析方法的核心思想是________,其基本工具包括________和________。
答案:模块化;数据流图、实体关系图4. 软件测试的过程分为________、________、________和________四个阶段。
第一章数据结构与算法考点一:算法1.算法是指解题方案的准确而完整的描述。
它有4个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。
2.算法的复杂度主要包括时间复杂度和空间复杂度算法的时间复杂度是指执行算法所需要的计算所需要的计算工作量(或算法执行过程中所需要的基本运算次数)算法的空间复杂度是指执行这个算法所需要的内存空间.考点二:数据结构的基本概念1.数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科.数据结构概念一般包括3个方面的内容:数据之间的逻辑关系(逻辑结构)、数据在计算机中的存储方式(存储结构)以及在这些数据上定义的运算的集合(数据的运算).数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式。
在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。
2.在链式存储结构中,存储数据结构的存储空间可以是连续的,也可以是不连续的,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致。
3.一般来说,一种数据结构根据需要可以表示成多种存储结构。
常用的存储结构有顺序、链接、索引等,而采用不同的存储结构,其数据处理的效率是不同的;一个数据结构中的各数据元素在计算机存储空间中的位置关系与逻辑关系是有可能不同的。
4.线性结构是指各数据元素之间的逻辑关系可以用一个线性序列简单地表示出来。
否则称之为非线性结构。
考点三:线性表及其顺序存储结构1.当线性表采用顺序存储结构实现存储时,其主要特点是数据元素按线性表的逻辑次序,依次存放在一组地址连续的存储单元中。
在存储单元中各元素的物理位置和逻辑结构中各结点间的相邻关系是一致的。
考点四:栈和队列1.栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。
二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种"后进先出"的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种"先进先出"的线性表。
软件工程基础软件工程基本概念1.确定软件项目是否进行开发的文档是______。
A 需求分析规格说明书B 软件开发计划C 测试报告D 可行性报告2.下面不属于软件工程的3个要素的是______。
A 工具B 过程C 方法D 环境3.下面属于系统软件的是______。
A 财务管理系统B 编译软件C 编辑软件WordD 杀毒软件4.下面不属于系统软件的是______。
A 编译程序B 操作系统C 杀毒软件D 数据库管理系统5.下面叙述中正确的是______。
A 软件是程序、数据及相关文档的集合B 软件中的程序和文档是可执行的C 软件中的程序和数据是不可执行的D 软件是程序和数据的集合6.下面对软件描述错误的是______。
A 程序和数据是可执行的B 软件文档是与程序开发、维护和应用无关的资料C 文档是不可执行的D 软件是程序、数据及相关文档的集合7.下面属于应用软件的是______。
A C++编译系统B 数据库管理系统C 人事管理系统D 安卓操作系统8.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面属于定义阶段任务的是______。
A 数据库设计B 软件测试C 软件设计D 可行性研究9.下列叙述中正确的是______。
A 软件过程是软件开发过程和软件维护过程B 软件过程是软件开发过程C 软件过程是软件维护过程D 软件过程是把输入转化为输出的一组彼此相关的资源和活动10.软件的三要素是______。
A 程序、数据和运行环境B 程序、数据和配置C 程序、数据和工具D 程序、数据及相关文档11.下面属于系统软件的是______。
A 浏览器B 数据库管理系统C 人事管理系统D 天气预报的app12.下面属于系统软件的是______。
A Oracle数据库管理系统B 人事管理系统C WPS编辑软件D 杀毒软件13.下面对软件特点描述正确的是______。
A 软件的运行存在磨损和老化问题B 软件不具有抽象性C 软件具有明显的制作过程D 软件是一种逻辑实体而不是物理实体14.下列叙述中正确的是______。
计算机二级公共基础知识重点讲解汇总章节名称内容简介第一章数据结构与算法本章主要介绍算法的基本概念、数据结构的定义、线性表、树等重点知识的讲解。
第二章程序设计基础本章主要介绍程序设计风格、结构化程序设计、面向对象程序设计等重点知识的讲解。
第三章软件工程基础本章主要介绍软件工程的基本概念、结构化分析方法、软件设计等重点知识的讲解。
第四章数据库设计基础本章主要介绍数据库、数据库管理系统(DBMS)、数据库系统、数据模型、关系运算、专门关系运算、数据库设计步骤等重点知识的讲解。
第一章数据机构与算法数据结构与算法◆算法的基本概念1. 算法:是对问题处理方案的正确而完整的描述,是求解问题的方法,是指令的有效序列。
2. 具有5个特性:(1)有穷性(在有穷步后完成)算法程序的运行时间是有限的(2)确定性(每一步都有确定的含义)(3)可行性(4)输入(一个算法有零个或多个输入)(5)输出(一个算法有一个或多个输出)3. 算法的复杂度包括:时间复杂度和空间复杂度。
二者没有必然的联系。
时间复杂度:执行算法所需要的计算工作量或基本运算次数。
空间复杂度:算法所需要的空间的度量。
◆数据结构的定义1. 数据结构包括数据的逻辑结构、数据的存储结构、数据的操作数据的逻辑结构:数据的外部结构,指各数据元素之间的逻辑关系,反映人们对数据含义的解释。
包括:线性结构(线性表、栈、队列)和非线性结构(树和图)数据的存储结构:数据的物理结构,指数据的逻辑结构在计算机中的表示。
一个逻辑结构可以有多种存储结构。
◆线性表:线性表中元素的个数n(n>=0)定义为线性表的长度。
顺序存储是线性表的一种最常用的存储方式。
线性表的顺序存储结构和线性表的链式存储结构分别是随机存取的存储结构和顺序存取的存储结构。
1.栈:是限定在表尾进行插入和删除操作的线性表。
具有记忆功能只能顺序存储(错)允许插入和删除的一端叫栈顶。
另一端叫栈底。
后进先出的线性表2队列:是限定在一端插入而在另一端删除,插入端叫队尾,删除端叫对头。
计算机二级考试msoffice知识积累:软件工程基础优选份计算机二级考试msoffice知识积累:软件工程基础 11.软件的定义与特点(1)定义:软件是指与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档和数据。
(2)特点。
-是逻辑实体,有抽象性。
-生产没有明显的制作过程。
-运行使用期间不存在磨损、老化问题。
-开发、运行对计算机系统有依赖性,受计算机系统的限制,导致了软件移植问题。
-复杂性较高,成本昂贵。
-开发涉及诸多社会因素。
2.软件的分类软件可分应用软件、系统软件和支撑软件3类。
(1)应用软件是特定应用领域内专用的软件。
(2)系统软件居于计算机系统中最靠近硬件的一层,是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。
(3)支撑软件介于系统软件和应用软件之间,是支援其它软件的开发与维护的软件。
3.软件危机与软件工程软件危机指在计算机软件的开发和维护中遇到的一系列严重问题。
软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序,包括软件开发技术和软件工程管理。
4.软件生命周期软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。
在国家标准中,软件生命周期划分为8个阶段①软件定义期:包括问题定义、可行性研究和需求分析3个阶段。
②软件开发期:包括概要设计、详细设计、实现和测试4个阶段。
③运行维护期:即运行维护阶段。
5.软件工程的原则软件工程的原则包括:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。
3.2结构化分析方法需求分析的任务是发现需求、求精、建模和定义需求的过程,可概括为:需求获取、需求分析、编写需求规格说明书和需求评审。
1.常用的分析方法-结构化分析方法:其实质着眼于数据流,自顶向下,逐层分解,建立系统的处理流程。
-面向对象分析方法。
2.结构化分析常用工具结构化分析常用工具包括数据流图、数字字典(核心方法)、判断树和判断表。
软件设计基础第一节软件工程基础一.1.软件是指在计算机上运行的程序,数据,相关文档的集合2.软件经历三个阶段程序设计阶段,软件设计阶段,软件工程阶段3.软件危机:落后的软件生产方式和迅速增长的计算机软件需求之间的矛盾4.软件工程三要素;方法,工具,过程5.软件工程目标;在给定成本,进度的前提下,开发出具有有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性,可追踪性和可互操作性且满足用户需求的产品6.软件工程研究的内容:软件开发技术和软件工程管理7.软件开发技术遵循原则:抽象,信息隐蔽,模块化,局部化,确定性,一致性,完备性和可验证性8.软件生命周期:3个时期:软件计划时期,软件开发时期,软件维护时期时期阶段任务文档软件计划问题定义理解用户需求,进行项目定义计划任务书可行性分析可行性方案及代价需求分析确定新系统的功能及目标需求规格说明书概要设计划分仔细统计功能模块概要设计说明书详细设计模块设计详细设计说明书软件开发软件编码编写程序代码程序设计相关资料系统测试完成各种测试测试方案及结果软件维护系统维护运行与维护运行及维护记录模型:瀑布模型,增量模型,快速原型模型,螺旋模型,喷泉模型,交换模型,面向对象生存期模型9.软件开发工具是为支持软件人员开发和维护活动而使用的软件软件开发(工程)环境是为全面支持软件开发全过程的软件工程集合二结构化方法(软件生命周期法)1.开发三阶段:软件计划,软件开发,软件运行和维护2.结构化分析法是一种面向数据流,自顶向下,逐步求精进行需求分析的方法结构化分析法常用工具:数据流图(DFD),数据字典(DD),判定树和判定表符号表达含义○加工(转换)→数据流= 存储文件(数据源)源,潭是系统和环境的接口,属系统之外的实体□3.模块独立性耦合性:是模块间互相连接的紧密程度的度量(低耦合)好内聚性;是一个模块内部各元素间彼此结合的紧密程度的度量(高内聚)4.软件结构两种方法:以变换为中心——变换型软件结构以事物为中心——事务性软件结构5.软件详细设计的常用工具:程序流程图(→控制流),N-S图,PAD 图,过程设计语言(PDL)6.软件测试:尽可能的发现软件中存在的错误软件测试方法:静态测试和动态测试(1)静态测试包括代码检查,静态结构分析,代码质量度量(2)静态测试不实际运行软件,主要通过人工进行(3)动态测试是为了发现错误而执行程序的过程白盒测试:跟综测试。
计算机二级考试复习—-软件工程基础随着时代的不断发展,计算机已经成为现代社会的重要工具。
在这个过程中,软件工程已经成为一个非常重要的领域。
软件工程基础是计算机专业学习的一项必修课程,涵盖了软件工程的基本概念、模型和基本工程方法等知识点。
计算机二级考试中也常常会有软件工程基础相关的考题。
本文将会详细讲解软件工程基础这一重要课程,以及备考计算机二级考试中有关软件工程基础考题的注意事项和学习方法。
软件工程基础软件工程概述软件工程是将工程的原则和方法应用于软件开发的过程。
它包括软件开发的管理、过程、工具、方法和质量控制,目的是以更加系统化和效率化的方式进行软件开发,并最终产出高质量、可靠、易维护、易扩展的软件系统。
软件开发生命周期软件开发生命周期指的是软件产品从开始开发到交付、运行和维护的全部过程。
常见的软件开发生命周期有“瀑布模型”、“原型模型”、“螺旋模型”、“敏捷开发模型”等。
其中,“瀑布模型”是最常见的软件开发模型,它将软件开发过程分成需求分析、设计、编程、测试和维护等阶段。
在软件开发生命周期中,测试是非常重要的一个环节。
软件质量与测试软件质量是衡量软件是否为用户提供满意服务的标准。
对于软件工程师来说,要想开发出高质量的软件,就需要关注软件的可靠性、可维护性、可扩展性、可重用性和易用性等方面。
其中,软件测试是保证软件质量的最有效手段。
测试的目的是为了发现软件中存在的问题,并且帮助解决问题。
软件工程项目管理软件工程项目管理是软件工程师在软件开发过程中非常重要的一项工作。
它主要包括项目计划、风险管理、进度控制、资源分配、成本管理和质量管理等方面。
通过合理的项目管理,可以提高软件开发的效率和质量。
计算机二级考试备考指南针对软件工程基础考点的复习建议软件工程基础作为计算机二级考试的一部分,其考点较为明确。
在备考时,需要着重掌握软件开发生命周期、软件质量与测试、软件工程项目管理等基本原理以及实际操作技能。
计算机等级考试中的软件工程知识点解析计算机等级考试是一项评估个人计算机技能水平的证书考试。
在这项考试中,软件工程是一个重要的知识点,涵盖了软件开发的各个方面。
本文将解析计算机等级考试中的软件工程知识点,帮助考生更好地准备和理解该知识领域。
第一部分:软件工程概述软件工程是指将系统化、规范化的方法应用于软件的开发、运行、维护和管理的过程。
它旨在提高软件开发的效率和质量,确保软件项目能够按时交付,并满足用户需求。
在计算机等级考试中,考生需要掌握软件工程的基本概念、原则和方法。
第二部分:软件生命周期软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、部署和维护等阶段。
考生需要了解各个阶段的主要任务和重要工作成果,以及不同阶段之间的关系和转换。
第三部分:需求工程需求工程是软件开发过程中的关键环节,它主要涉及与用户沟通、需求获取、需求分析和需求规格等活动。
考生需要了解需求工程的基本概念、需求获取的方法和技巧,以及如何编写准确、完整的需求规格说明书。
第四部分:软件设计软件设计是将需求转化为软件系统结构的过程,包括模块划分、接口设计、数据设计和算法设计等活动。
考生需要了解常用的软件设计方法和技术,如结构化设计、面向对象设计等,以及如何应用这些方法进行软件设计。
第五部分:软件编码与测试软件编码是根据软件设计的要求进行具体代码实现的过程,而软件测试是验证软件是否符合需求和设计要求的过程。
考生需要了解常用的编码规范和测试方法,以及如何编写可靠、健壮的代码和进行有效的测试。
第六部分:软件配置管理软件配置管理是对软件进行版本控制、变更管理和发布管理的过程。
考生需要了解软件配置管理的目标和原则,以及常用的配置管理工具和技术。
第七部分:软件质量管理软件质量管理是保证软件质量和满足用户需求的过程,包括质量计划、质量保证和质量控制等活动。
考生需要了解软件质量管理的基本要素和方法,以及如何进行软件质量评估和改进。
第3章软件工程基础经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是软件生命周期、软件设计的基本原理,软件测试的目的、软件调试的基本概念,读者应对此部分进行重点学习。
详细重点学习知识点:1.软件的概念、软件生命周期的概念及各阶段所包含的活动2.概要设计与详细设计的概念、模块独立性及其度量的标准、详细设计常用的工具3.软件测试的目的、软件测试的4个步骤、4.软件调试的任务3.1软件工程基本概念考点1 软件定义与软件特点考试链接:考点1在笔试考试中,是一个经常考查的内容,考核的几率为70%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件的定义,特点及其分类。
软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。
程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列。
数据是使程序能正常操纵信息的数据结构。
文档是与程序的开发、维护和使用有关的图文资料。
可见,软件由两部分组成:(1)机器可执行的程序和数据;(2)机器不可执行的,与软件开发、运行、维护、使用等有关的文档。
软件的特点:(1)软件是逻辑实体,而不是物理实体,具有抽象性;(2)没有明显的制作过程,可进行大量的复制;(3)使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性;(5)软件复杂性高,成本昂贵;(6)软件开发涉及诸多社会因素。
根据应用目标的不同,软件可分应用软件、系统软件和支撑软件(或工具软件)。
小提示:应用软件是为解决特定领域的应用而开发的软件;系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件;支撑软件是介于两者之间,协助用户开发软件的工具性软件。
考点2 软件工程过程与软件生命周期考试链接:考点2在笔试考试中,在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件生命周期的定义,主要活动阶段及其任务。
软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。
一般包括可行性分析研究与需求分析、设计、实现、测试、交付使用以及维护等活动,如图3-1所示。
图3-1软件生命周期还可以将软件生命周期分为如上图所示的软件定义、软件开发和软件运行维护3个阶段。
生命周期的主要活动阶段是:可行性研究与计划制定、需求分析、软件设计、软件实施、软件测试及运行与维护。
3.2结构化设计方法考点3 软件设计的基本概念考试链接:考点3在笔试考试中,是一个经常考查的内容,考核中几率为70%,主要是以选择题的形式出现,分值为2分,此考点为重点掌握内容,读者应该识记模块独立性中的耦合性和内聚性。
误区警示:在程序结构中,各模块的内聚性越强,则耦合性越弱。
软件设计应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
1.软件设计的基础从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。
(1)结构设计定义软件系统各主要部件之间的关系;(2)数据设计将分析时创建的模型转化为数据结构的定义;(3)接口设计是描述软件内部、软件和协作系统之间以及软件与人之间如何通信;(4)过程设计则是把系统结构部件转换为软件的过程性描述。
从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。
(1)概要设计将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;(2)详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。
2.软件设计的基本原理(1)抽象:软件设计中考虑模块化解决方案时,可以定出多个抽象级别。
抽象的层次从概要设计到详细设计逐步降低。
(2)模块化:模块是指把一个待开发的软件分解成若干小的简单的部分。
模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。
(3)信息隐蔽:信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
(4)模块独立性:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
模块的独立程度是评价设计好坏的重要度量标准。
衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。
内聚性是信息隐蔽和局部化概念的自然扩展。
一个模块的内聚性越强则该模块的模块独立性越强。
一个模块与其他模块的耦合性越强则该模块的模块独立性越弱。
内聚性是度量一个模块功能强度的一个相对指标。
内聚是从功能角度来衡量模块的联系,它描述的是模块内的功能联系。
内聚有如下种类,它们之间的内聚度由弱到强排列:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。
耦合性是模块之间互相连接的紧密程度的度量。
耦合性取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。
耦合可以分为下列几种,它们之间的耦合度由高到低排列:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合。
在程序结构中,各模块的内聚性越强,则耦合性越弱。
一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
小提示:上面仅是对耦合机制进行的一个分类。
可见一个模块与其他模块的耦合性越强则该模块独立性越弱。
原则上讲,模块化设计总是希望模块之间的耦合表现为非直接耦合方式。
但是,由于问题所固有的复杂性和结构化设计的原则,非直接耦合是不存在的。
考点4 详细设计考试链接:考点4在笔试考试中,在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记过程设计包括哪些常用工具。
详细设计的任务是为软件结构图中的每个模块确定实现算法和局部数据结构,用某种选定的表达表示工具算法和数据结构的细节。
详细过程设计的常用工具有:(1)图形工具:程序流程图,N-S,PAD,HIPO。
(2)表格工具:判定表。
(3)语言工具:PDL(伪码)。
程序流程图的5种控制结构:顺序型、选择型、先判断重复型、后判断重复型和多分支选择型。
方框图中仅含5种基本的控制结构,即顺序型、选择型、多分支选择型、WHILE重复型和UNTIL重复型。
PAD图表示5种基本控制结构,即顺序型、选择型、多分支选择型、WHILE重复型和UNTIL重复型。
过程设计语言(PDL)也称为结构化的语言和伪码,它是一种混合语言,采用英语的词汇和结构化程序设计语言,类似编程语言。
PDL可以由编程语言转换得到,也可以是专门为过程描述而设计的。
疑难解答:程序流程图,N-S图,PAD图的控制结构的异同相同点是三种图都有顺序结构,选择结构和多分支选择,并且N-S图和PAD图还有相同的WHILE重复型、UNTIL重复型;不同点是程序流程图没有WHILE重复型、UNTIL重复型而有后判断重复型和先判断重复型。
3.3软件测试考点5 软件测试的目的考试链接:考点5在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择题的形式出现,分值为2分,此考点为理解内容,读者应该理解测试是为了发现错误。
软件测试是在软件投入运行前对软件需求、设计、编码的最后审核。
其工作量、成本占总工作量、总成本的40%以上,而且具有较高的组织管理和技术难度。
(1)软件测试是为了发现错误而执行程序的过程;(2)一个好的测试用例是能够发现至今尚未发现的错误的用例;(3)一个成功的测试是发现了至今尚未发现的错误的测试。
考点6 软件测试的实施考试链接:考点6在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件测试过程的4个步骤,单元测试的两种测试方式。
软件测试过程分4个步骤,即单元测试、集成测试、验收测试和系统测试。
单元测试是对软件设计的最小单位--模块(程序单元)进行正确性检验测试。
单元测试的技术可以采用静态分析和动态测试。
集成测试是测试和组装软件的过程,主要目的是发现与接口有关的错误,主要依据是概要设计说明书。
集成测试所设计的内容包括:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等。
集成测试时将模块组装成程序,通常采用两种方式:非增量方式组装和增量方式组装。
确认测试的任务是验证软件的功能和性能,以及其他特性是否满足了需求规格说明中确定的各种需求,包括软件配置是否完全、正确。
确认测试的实施首先运用黑盒测试方法,对软件进行有效性测试,即验证被测软件是否满足需求规格说明确认的标准。
系统测试是通过测试确认软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、支撑软件、数据和人员等其他系统元素组合在一起,在实际运行(使用)环境下对计算机系统进行一系列的集成测试和确认测试。
系统测试的具体实施一般包括:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试等。
3.4软件的调试考点7 软件调试的基本概念考试链接:考点7在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择题的形式出现,分值为2分,此考点为重点识记内容,读者应该识记软件调试的概念。
误区警示:程序经调试改错后还应进行再测试,因为经调试后有可能产生新的错误,而且测试是贯穿生命周期的整个过程。
在对程序进行了成功的测试之后将进入程序调试(通常称Debug,即排错)。
程序的调试任务是诊断和改正程序中的错误。
调试主要在开发阶段进行。
程序调试活动由两部分组成,一是根据错误的迹象确定程序中错误的确切性质、原因和位置;二是对程序进行修改,排除这个错误。
程序调试的基本步骤:(1)错误定位。
从错误的外部表现形式入手,研究有关部分的程序,确定程序中出错位置,找出错误的内在原因;(2)修改设计和代码,以排除错误;(3)进行回归测试,防止引进新的错误。
调试原则可以从以下两个方面考虑:(1)确定错误的性质和位置时的注意事项分析思考与错误征兆有关的信息;避开死胡同;只把调试工具当作辅助手段来使用;避免用试探法,最多只能把它当作最后手段。
(2)修改错误原则在出现错误的地方,很可能有别的错误;修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误本身;注意修正一个错误的同时有可能会引入新的错误;修改错误的过程将迫使人们暂时回到程序设计阶段;修改源代码程序,不要改变目标代码。
疑难解答:软件测试与软件调试有何不同?3.5 例题详解一、选择题【例1】对软件的特点,下面描述正确的是_______。
(考点1)A)软件是一种物理实体B)软件在运行使用期间不存在老化问题C)软件开发、运行对计算机没有依赖性,不受计算机系统的限制D)软件的生产有一个明显的制作过程解析:软件在运行期间不会因为介质的磨损而老化,只可能因为适应硬件环境以及需求变化进行修改而引入错误,导致失效率升高从而软件退化,所以本题正确答案为B)。