二级公共基础知识(软件工程)课件_第1页
二级公共基础知识(软件工程)课件_第2页
二级公共基础知识(软件工程)课件_第3页
二级公共基础知识(软件工程)课件_第4页
二级公共基础知识(软件工程)课件_第5页
已阅读5页,还剩143页未读 继续免费阅读

下载本文档

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

文档简介

二级公共基础知识考试需知:考试内容及安排第一章

算法与数据结构第二章

程序设计基础第三章

软件工程基础第四章

数据库设计基础1二级公共基础知识考试需知:考试内容及安排

一、涉及面广,但难度小你应该知道

公共基础知识考题特点及复习建议计算机等级二级理论考试中有关公共知识部分的题目共有15道,涉及算法及数据结构、程序设计基础、软件工程基础和数据库设计基础等四门学科,但是从整体上分析,考试中的考核内容的难度不大,考点也相对集中些。2一、涉及面广,但难度小你应该知道公共基础知识考题特点二、考核重点为基本概念、基本方法和基本运算你应该知道

计算机等级二级理论考试中涉及的题目都是基本概念、基本方法和基本运算,考核以概念和认识性内容为主,理解性、应用性内容极少。

3二、考核重点为基本概念、基本方法你应该知道计三、考核重点是数据结构和算法你应该知道

以下是对以往二级理论考试的大概统计:

算法及数据结构:50%程序设计基础:12.5%软件工程基础:18.75%数据库设计基础:18.75%4三、考核重点是数据结构和算法你应该知道以下是考试内容基本数据结构与算法程序设计基础软件工程基础数据库设计基础内容2007/92008/42009/92010/410`10`8`2`12`8`4`6`12`8`4`6`10`2`8`10``5考试内容基本数据结构与算法程序设计基础软件工程基础数据库设计四、六点复习及应试建议复习的关键是考生必须准确判断和掌握常见考点公共基础知识部分的知识点多、杂,考生在学习过程中应理清其中的脉络关系(即框架提纲),才能有效地组织和记住各知识点考生不要太追求灵活掌握该部分的内容,最好经历一个“先死后活、熟能生巧”的过程,这是多数考生常犯的另一种错误最后给大家一个答题技巧:“会就会,不会就不会”,不要拖时间,要考虑成本/效果的关系,为后面的题目提供时间。6四、六点复习及应试建议复习的关键是考生必须准确判断和掌握常1、了解软件工程的基本概念;2、了解软件工程过程与软件的生命周期,以及软件工程的目标和原则;学习目标与要求软件工程:3、了解利用结构化分析法进行软件工程中的需求分析的方法,并了解需求分析的方法和需要完成的任务;4、了解数据流图的使用方法;5、了解如何利用结构化设计方法进行软件设计,并了解软件设计的一些常用工具;

6、了解软件测试的目的和方法,以及软件测试的准则,了解常用的软件测试方法的区别和各自的功能与特点;7、了解程序调试的方法和原则。71、了解软件工程的基本概念;2、了解软件工程过程与软件的生命程序设计基本概念一、计算机工作原理通过工作原理了解,熟悉计算机内部执行功能的基本意义。为理解程序打下基础,特别理解计算机是机器。二、程序的定义指令的集合。(解释指令)通过硬件控制系统自动完成某一功能。通过一系列代码实现。8程序设计基本概念一、计算机工作原理通过工作原理程序设计基本概念三、程序怎样执行、如何编写程序计算机本身仅能识别二进制代码“0”、“1”。编程最直接、最低级的就是机器语言。为解决机器语言难理解、记忆等问题。出现符号语言。为使编程接近自然语言,出现高级语言。如C、PASCAL、FORTRAN等。为配合高级语言编程,出现了开发工具,提高效率、减轻劳动量。如VB、VC、PB、Delphi、VFP等。因此VFP不是编程语言。9程序设计基本概念三、程序怎样执行、如何编写程序计算机本身仅程序设计基本概念不管什么形式编写代码,最终都应将代码翻译成机器语言,这就是编译程序的工作。不同的语言有不同的编译器。程序控制是一种逻辑控制。因此,严谨的逻辑思维是一个程序员必备的基本素质。用程序实现某一功能。有许多方法。具体用哪种完全取决于程序员个人的思维方式。因此,程序是脑力劳动的结晶,从某种意义上,编程又是一门艺术。程序的特殊性决定了程序的复杂性,且与实现功能的复杂性密切相关成正比。因此为使复杂的、智力的编程工作规范化、科学化,便出现了各种编程设计方法。如结构化编程方法、面向对象的程序设计方法等。10程序设计基本概念不管什么形式编写代码,最终都应将代码翻译成程序设计基本概念不管用什么方法编程,不管编程者智力程度如何,不管采用什么样的编程语言和方法,程序最终完成的功能稳定、可靠、实用、易维护和安全等是程序的最终目标,也是程序员的追求。程序设计是一个复杂艰巨的过程。编写代码仅是程序设计的一部分。必须先有思想,再有方法,然后才是编写代码,且要经过许多反复,不可急功近利。11程序设计基本概念不管用什么方法编程,不管编程者智力程度如何程序设计基本概念四、程序设计语言或工具程序设计语言指的是用来编写程序的语言。人与计算机交流要使用语言,以便让计算机工作,计算机也通过语言把结果告诉用计算机的人——“人机对话”。人与计算机交流的语言非平常人与人之间交流的语言,是专门的语言——程序设计语言。程序设计语言是计算机系统软件的重要组成部分。12程序设计基本概念四、程序设计语言或工具程序设计语言指的是程序设计基本概念执行程序设计的语言有很多,可分高级语言和低级语言,区别在于接近自然语言的程度高级语言一般与具体的计算机硬件无关,比较接近人类自然语言的语法习惯及数学表达形式。用高级语言编写的源程序不能被机器直接执行,需通过编译成解释程序的翻译才可被机器执行(机器语言)。

四、程序设计语言或工具(续)13程序设计基本概念执行程序设计的语言有很多,可分高级语言和低第三章软件工程基础二级公共基础知识返回14第三章软件工程基础二级公共基础知识返回14软件工程基础内容1、软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。2、结构化分析方法,数据流图,数据字典,软件需求规格说明书。3、结构化设计方法,总体设计与详细设计。4、软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。5、程序的调试,静态调试与动态调试。15软件工程基础内容15软件工程基础(一)基本概念

软件工程:软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高软件质量、降低软件成本。

软件危机:是指在计算机软件开发和维护过程中所遇到的一系列严重的问题。主要表现在:成本、质量、生产率等问题。16软件工程基础(一)基本概念

软件工程:软件工程是指应用计软件计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。程序程序人员开发的可执行的指令(语句)序列。数据使程序能正常操纵信息的数据结构相关文档机器可执行的程序和数据机器不能执行的,与软件开发、运行、维护、使用等有关的文档17软件计算机系统中与硬件相互依存的另一部分,是包括程序、软件的特点包括:(1)软件是一种逻辑实体;(2)软件的生产与硬件不同,它没有明显的制作过程;(3)软件在运行、使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;(5)软件复杂性高,成本昂贵;(6)软件开发涉及诸多的社会因素。软件按功能分为:应用软件、系统软件、支撑软件(或工具软件)。18软件的特点包括:18软件生命周期将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。分为软件定义、软件开发及软件运行维护3个时期。维护是持续时间最长,花费代价最大的一个时期,软件工程学的一个目的就是提高软件的可维护性,降低维护代价。6个活动阶段:可行性研究与计划制定:确定系统的总体目标。参加人员有用户、项目负责人和系统分析员,产生文档有可行性分析报告、项目计划书等。需求分析:确定系统的逻辑模型。参加人员有用户、项目负责人和系统分析员。产生文档为需求规格说明书,其作用:(1)便于用户、开发人员进行理解交流;(2)反映用户问题的结构,可以作为软件开发工作的基础和依据;(3)作为确认测试和验收的依据。19软件生命周期19软件设计:包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。软件设计分概要设计和详细设计。参加人员有系统分析员和高级程序员。产生的文档有设计规格说明书。编码:编程。高级程序员和程序员产生源程序清单。测试:由另一部门的高级程序员或系统分析员产生软件测试计划和软件测试报告。运行维护20软件设计:包括软件结构设计、数据设计、接口设计和过程设计。其可行性研究与计划制定需求分析软件设计实现测试运行和维护确定系统的总体目标需求规格说明书概要设计说明书详细设计说明书测试计划初稿完成程序代码用户手册单元测试计划检验软件测试分析报告可行性研究与计划制定需求分析概要设计实现测试退役详细设计使用维护定义阶段开发阶段维护阶段21可行性研究需求分析软件设计实现测试运行和维护确定系统的总体目

软件工程三要素方法:完成软件工程项目的技术手段。工具:支持软件的开发、管理、文档生成。过程:支持软件开发的各个环节的控制、管理。

软件工程的理论和技术研究的内容软件开发技术和软件工程管理。

软件工程的目标在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。22软件工程三要素方法:完成软件工程项目的技术手段。软件工软件工具和软件开发环境软件工具(CASE):用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件。软件开发环境:支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成。软件工程的基本原则:抽象、信息隐蔽、模块化、局部化(模块间松散,模块内内聚性强)、确定性、一致性、完备性和可验证性。软件工程基础23软件工具和软件开发环境软件工程基础23需求分析与结构化分析方法需求分析的方法结构化分析方法面向对象的分析方法面向数据流的结构化方法(SA)面向数据结构Jackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)24需求分析与结构化分析方法需求分析的方法结构化分析方法面向数据结构化分析常用工具:(1)数据流图(2)数据字典(3)判定树(4)判定表结构化分析方法的实质:

着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。25结构化分析常用工具:(1)数据流图结构化分析方法的实质:25数据流图(DFD):描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。26数据流图(DFD):描述数据处理过程的工具,是需求理解的逻辑建立数据流图的步骤:(1)由外向里;(2)自顶向下:顶层、中间层、低层数据流图;(3)逐层分解;27建立数据流图的步骤:272828数据字典(DD):存储文件”存折”的DD定义:对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。数据字典是各类数据描述的集合,它通常包括5个部分:即数据项、数据结构、数据流、数据存储、和处理过程。数据字典是结构化分析的核心。29数据字典(DD):存储文件”存折”的DD定义:对所有与系统相判定树:当数据流图中的加工依赖于多个逻辑时,可以使用判定树来描述。从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。30判定树:30判定表:

与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。31判定表:31软件需求规格说明书,其作用:(1)便于用户、开发人员进行理解交流;(2)反映用户问题的结构,可以作为软件开发工作的基础和依据;(3)作为确认测试和验收的依据。软件需求规格说明书的特点:(1)正确性;(2)无岐义性;(3)完整性;(4)可验证性;(5)一致性;(6)可理解性;(7)可追踪性。需求分析结束时产生:(1)DFD、DD、判定树、判定表(2)软件需求规格说明书32软件需求规格说明书,其作用:软件需求规格说明书的特点:需求分(二)结构化分析方法

软件工程基础基本思想将系统分析看成工程项目,有计划、有步骤地进行工作。开发策略自顶向下,逐层分解分析结果一套分层的数据流图(DFD):用来描述数据流从输入到输出的变换流程一个数据字典(DD):用来描述DFD中的每个数据流、文件以及组成数据流或文件的数据项一组小说明(加工逻辑说明):用来描述每个基本加工的加工逻辑33(二)结构化分析方法

软件工程基础基本思想33(三)结构化设计方法、总体设计和详细设计

软件工程基础结构化设计方法

结构图:

基本成分:模块、调用、输入输出数据模块用矩形表示,模块间用线段连接,表示调用关系,输入输出数据可写在调用线段的旁边

数据流的类型

变换流事务流34(三)结构化设计方法、总体设计和详细设计

软件工程基础结构结构化设计方法、概要设计和详细设计软件设计○软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,软件设计是确定系统的物理模型。○软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径。从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。

结构设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创建的模型转化为数据结构的定义。接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信。过程设计:把系统结构部件转换成软件的过程描述。从工程管理角度来看:概要设计和详细设计。35结构化设计方法、概要设计和详细设计软件设计35软件设计的基本原理:(1)抽象(2)模块化(3)信息隐蔽(4)模块独立化内聚性:耦合性:在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦合。36软件设计的基本原理:在程序结构中各模块的内聚性越强,则耦合性概要设计设计原则分解—协调原则自顶向下的原则信息屏蔽、抽象的原则一致性原则明确性原则模块间的耦合度尽可能小,模块内部组合尽可能紧凑(内聚性高)模块的扇入和扇出系数合理模块的规模适当37概要设计37结构图(SC):概要设计(软件结构设计)的工具:模块用一个矩形表示,箭头表示模块间的调用关系。在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心圆的箭头表示传递的是控制信息,空心圆箭心表示传递的是数据。38结构图(SC):概要设计(软件结构设计)的工具:模块用一个矩结构图的基本形式:基本形式、顺序形式、重复形式、选择形式。结构图有四种模块类型:传入模块、传出模块、变换模块和协调模块。39结构图的基本形式:39需求分析逻辑模型数据流图概要设计系统结构图物理模型概要设计的方法:典型的数据流类型有两种:变换型和事务型。变换型数据流系统结构图事务型数据流系统结构图40需求分析逻辑模型数据流图概要设计系统结构图物理模型概要设计的详细设计根本目标:

确定应用怎样具体的实现所要求的系统,不是具体的编写程序,而是要设计程序的“蓝图”自顶向下的原则。此阶段的结果基本上决定了最终的程序代码的质量。包括内容:代码设计输入设计输出设计处理过程设计用户界面设计安全控制设计41详细设计此阶段的结果基本上决定了最终的程序代码的质量。代过程设计工具:图形工具:程序流程图、N-S图、PAD、HIPO表格工具:判定表语言工具:PDL(伪码)

程序流程图:42过程设计工具:图形工具:程序流程图、N-S图、PAD、HI4343N-S图:44N-S图:44PAD图:PDL(伪码):45PAD图:PDL(伪码):45(四)软件测试

软件工程基础

意义目的为了发现错误;希望能以最少人力和时间发现潜在各种错误和缺陷;保证系统质量和可靠性的关键步骤。

测试方法人工测试机器测试提问:测试能否发现程序中的所有错误?答案:不能。46(四)软件测试

软件工程基础意义目的提问:测试能否发现程

白盒测试结构测试将软件看成透明的白盒,根据程序的内部结构和逻辑结构来设计测试例子,对程序的路径和过程进行测试,检查是否满足设计的要求

黑盒测试功能测试将软件看成黑盒子,在完全不考虑软件内部结构和特性的情况下,测试软件的外部特性

软件测试的实施单元测试(模块测试):白盒测试法组装测试(集成测试)确认测试:检查软件产品是否符合需求定义,黑盒测试法系统测试47白盒测试47适合于黑盒测试的测试方案:主要有:等价类划分、边界值分析法、错误推测法、因果图四种。适合于白盒测试的测试方案:主要有逻辑覆盖测试、基本路径测试法。逻辑覆盖法包括:语句覆盖、判定覆盖(也称为分支覆盖)、条件覆盖、判定/条件覆盖、条件组合覆盖。软件工程基础48适合于黑盒测试的测试方案:软件工程基础48(五)程序调试

软件工程基础

任务根据测试时发现的错误,找出原因和具体位置,进行改正由程序开发人员来进行,谁开发的程序就由谁来进行调试方法:

强行排错法

回溯法

原因排除法(演绎、归纳、二分法)程序调试是根据错误的迹象确定程序中的错误的确切性质、原因和位置,对程序进行修改,排除这个错误。49(五)程序调试

软件工程基础任务程序调试是根据错误的迹象

静态调试通过人的思维来分析源程序代码和排错,是主要的调试手段。动态调试辅助静态调试。软件工程基础50静态调试软件工程基础50例题讲解为了提高测试的效率,应该(D)

A)随机选取测试数据

B)取一切可能的输入数据作为测试数据

C)在完成编码以后制定软件的测试计划

D)选择发现错误可能性大的数据作为测试数据软件生命周期中所花费用最多的阶段是(D)

A)详细设计 B)软件编码C)软件测试D)软件维护软件工程基础51例题讲解为了提高测试的效率,应该(D)软件工程基础51下列叙述中,不属于软件需求规格说明书的作用的是(D)

A)便于用户、开发人员进行理解和交流

B)反映出用户问题的结构,可以作为软件开发工作的基础和依据

C)作为确认测试和验收的依据

D)便于开发人员进行需求分析下列不属于软件工程的3个要素的是(D)A)工具 B)过程C)方法D)环境软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(B)

A)模块间的关系

B)系统结构部件转换成软件的过程描述

C)软件层次结构 D)软件开发过程52下列叙述中,不属于软件需求规格说明书的作用的是(D)5检查软件产品是否符合需求定义的过程称为(A)

A)确认测试B)集成测试C)系统测试D)单元测试数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列不属于数据流图合法图符的是(A)

A)控制流 B)加工C)存储文件 D)源和潭开发软件所需高成本和产品的低质量之间有着尖锐矛盾的这种现象称作(B)

A)软件投机B)软件危机

C)软件工程D)软件产生53检查软件产品是否符合需求定义的过程称为(A)53下面不属于软件设计原则的是(C)A)抽象 B)模块化

C)自底向上D)信息隐蔽开发大型软件时,产生困难的根本原因是(A)

A)大系统的复杂性

B)人员知识不足

C)客观世界千变万化 D)时间紧、任务重软件工程的出现是由于(C)

A)程序设计方法学的影响 B)软件产业化的需要

C)软件危机的出现 D)计算机的发展54下面不属于软件设计原则的是(C)54在数据流图(DFD)中,带有名字的箭头表示(D)

A)模块之间的调用关系B)程序的组成成分

C)控制程序的执行顺序D)数据的流向下列不属于结构化设计的常用工具的是(D)

A)数据流图 B)数据字典

C)判定树 D)PAD图在软件生产过程中,需求信息的给出是(D)

A)程序员B)项目管理者

C)软件分析设计人员 D)软件用户55在数据流图(DFD)中,带有名字的箭头表示(D)55模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的(C)

A)抽象和信息隐蔽B)局部化和封装化

C)内聚性和耦合性

D)激活机制和控制方法软件开发的结构化生命周期方法将软件生命周期划分成(A)

A)定义阶段、开发阶段、运行维护

B)设计阶段、编程阶段、测试阶段

C)总体设计、详细设计、编程调试

D)需求分析、功能定义、系统设计56模块独立性是软件模块化所提出的要求,衡量模块独立性56※下列工具是需求分析常用工具的是(D)A)PAD B)PFDC)N-S D)DFD在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是(A)

A)路径的集合

B)循环的集合C)目标的集合D)地址的集合完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是(A)

A)黑箱测试法

B)白箱测试法

C)错误推测法D)安装测试法57※下列工具是需求分析常用工具的是(D)57下列选项中,模块间耦合度最低的是(C)

A)数据耦合B)同构耦合

C)非直接耦合

D)内容耦合软件工程过程通常包含4种基本活动,其中软件开发是(A)

A)D

B)P C)C

D)A下列不属于软件调试技术的是(B)

A)强行排错法 B)集成测试法

C)回溯法 D)原因排除法P(Plan)-软件规格说明D(Do)-软件开发C(Check)-软件确认A(Action)-软件演进58下列选项中,模块间耦合度最低的是(C)P(Plan为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(B)

A)PAD图B)N-S图

C)结构图D)数据流图软件复杂性度量的参数包括(B)

A)效率B)规模

C)完整性D)容错性下列叙述中,正确的是(D)

A)软件就是程序清单B)软件就是存放在计算机中的文件

C)软件应包括程序清单及运行结果

D)软件包括程序、数据和文档软件设计中,有利于提高模块独立性的一个准则是(

C)

A)低内聚低耦合 B)低内聚高耦合

C)高内聚低耦合

D)高内聚高耦合59为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替下列的方法中,不属于结构化分析方法的是(D)

A)面向数据流的结构化分析方法

B)面向数据结构的Jackson方法

C)面向数据结构的结构化数据系统开发方法

D)面向对象的分析方法详细设计的结果基本决定了最终程序的(C)

A)代码的规模 B)运行速度

C)质量

D)可维护性下列不属于静态测试方法的是(B)

A)代码检查 B)白盒法

C)静态结构分析D)代码质量度量在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)A)概要设计B)详细设计C)可行性分析D)需求分析60下列的方法中,不属于结构化分析方法的是(D)60程序流程图(PFD)中的箭头代表的是(B)A)数据流B)控制流

C)调用关系D)组成关系在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C)A)详细设计B)需求分析C)概要设计

D)编程调试软件调试的目的是(B)A)发现错误B)改正错误C)改善软件的性能D)挖掘软件的潜能61程序流程图(PFD)中的箭头代表的是(B)61软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及(B)A)阶段性报告B)需求评审C)总结D)都不正确通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【1】。【答案】:软件生命周期耦合和内聚是评价模块独立性的两个主要标准,其中【2】

反映了模块内各成分之间的联系。【答案】:内聚软件工程研究的内容主要包括:【3】技术和软件工程管理。【答案】:软件开发62软件需求分析阶段的工作,可以分为四个方面:需求获取,62Jackson结构化分析方法是英国的M.Jackson提出的,它是一种面向【4】的分析方法。【答案】:数据结构数据流的类型有【6】和事务型。【答案】:变换型软件危机出现于60年代末,为了解决软件危机,人们提出了【7】的原理来设计软件,这就是软件工程诞生的基础。【答案】:工程学软件开发环境是全面支持软件开发全过程的【8】集合。【答案】:软件工具软件工程基础63Jackson结构化分析方法是英国的M.Jackson提出测试的目的是暴露错误,评价程序的可靠性;而【9】的目的是发现错误的位置并改正错误。【答案】:软件调试软件维护活动包括以下几类:改正性维护、适应性维护、

【10】维护和预防性维护。【答案】:完善性软件结构是以【11】为基础而组成的一种控制层次结构。【答案】:模块为了便于对照检查,测试用例应由输入数据和预期的

【12】

两部分组成。【答案】:输出结果软件工程包括3个要素,分别为方法、工具和【13】。

【答案】:过程软件工程的出现是由于【14】的出现提出的。【答案】:软件危机64测试的目的是暴露错误,评价程序的可靠性;而【9】的64单元测试又称模块测试,一般采用

【15】

测试。【答案】:白盒动态软件的【16】设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。【答案】:概要软件是程序、数据和【17】的集合。【答案】:文档对软件是否能达到用户所期望的要求的测试称为

【18】。【答案】:确认测试(或验收测试)质量保证策略大致分为三个阶段:以检测为重、

【19】和以新产品开发为重。

【答案】:以过程管理为重65单元测试又称模块测试,一般采用【15】测试。65为了提高测试的效率,应该

A)随机选取测试数据B)取一切可能的输入数据作为测试数据

C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序软件生命周期中所花费用最多的阶段是

A)详细设计 B)软件编码C)软件测试D)软件维护下列叙述中,不属于软件需求规格说明书的作用的是

A)便于用户、开发人员进行理解和交流

B)反映出用户问题的结构,可以作为软件开发工作的基础和依据

C)作为确认测试和验收的依据

D)便于开发人员进行需求分析下列不属于软件工程的3个要素的是A)工具 B)过程C)方法 D)环境例题讲解66为了提高测试的效率,应该例题讲解66软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指

A)模块间的关系 B)系统结构部件转换成软件的过程描述

C)软件层次结构 D)软件开发过程检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是A)控制流 B)加工C)数据存储 D)源和流67软件设计包括软件的结构、数据、接口和过程设计,其中软件的过开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作

A)软件投机 B)软件危机C)软件工程D)软件产生下面不属于软件设计原则的是A)抽象 B)模块化C)自底向上D)信息隐蔽开发大型软件时,产生困难的根本原因是

A)大系统的复杂性 B)人员知识不足

C)客观世界千变万化 D)时间紧、任务重软件工程的出现是由于

A)程序设计方法学的影响 B)软件产业化的需要

C)软件危机的出现 D)计算机的发展68开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象软件开发离不开系统环境资源的支持,其中必要的测试数据属于

A)硬件资源B)通信资源C)支持软件D)辅助资源在数据流图(DFD)中,带有名字的箭头表示

A)模块之间的调用关系 B)程序的组成成分

C)控制程序的执行顺序 D)数据的流向下列不属于结构化分析的常用工具的是

A)数据流图 B)数据字典C)判定树D)PAD图在软件生产过程中,需求信息的给出者是

A)程序员B)项目管理者

C)软件分析设计人员 D)软件用户69软件开发离不开系统环境资源的支持,其中必要的测试数据属于69下列工具不是过程设计常用工具的是A)PAD B)PFDC)N-S D)DFD模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的

A)抽象和信息隐蔽 B)局部化和封装化

C)内聚性和耦合性 D)激活机制和控制方法软件开发的结构化生命周期方法将软件生命周期划分成

A)定义、开发、运行维护B)设计阶段、编程阶段、测试阶段

C)总体设计、详细设计、编程调试D)需求分析、功能定义、系统设计70下列工具不是过程设计常用工具的是70在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是

A)

路径的集合B)循环的集合C)目标的集合D)地址的集合完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是

A)黑箱测试法B)白箱测试法C)错误推测法D)安装测试法在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示

A)模块之间的调用关系 B)程序的组成成分

C)控制程序的执行顺序 D)数据的流向71在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程下列选项中,不属于模块间耦合的是

A)数据耦合B)同构耦合C)异构耦合D)公用耦合下列叙述中,不属于测试的特征的是

A)测试的挑剔性 B)完全测试的不可能性

C)测试的可靠性 D)测试的经济性需求分析中开发人员要从用户那里了解

A)软件做什么 B)用户使用界面

C)输入的信息 D)软件的规模下列不属于软件调试技术的是

A)强行排错法 B)集成测试法

C)回溯法 D)原因排除法72下列选项中,不属于模块间耦合的是72为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为

A)PAD图 B)N-S图C)结构图 D)数据流图软件复杂性度量的参数包括

A)效率 B)规模C)完整性 D)容错性下列叙述中,正确的是

A)软件就是程序清单B)软件就是存放在计算机中的文件

C)软件应包括程序清单及运行结果D)软件包括程序和文档软件设计中,有利于提高模块独立性的一个准则是

A)低内聚低耦合 B)低内聚高耦合

C)高内聚低耦合 D)高内聚高耦合73为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替软件生命周期中花费时间最多的阶段是

A)详细设计 B)软件编码C)软件测试D)软件维护下列叙述中,不属于结构化分析方法的是

A)面向数据流的结构化分析方法

B)面向数据结构的Jackson方法

C)面向数据结构的结构化数据系统开发方法

D)面向对象的分析方法详细设计的结果基本决定了最终程序的

A)代码的规模 B)运行速度

C)质量 D)可维护性下列不属于静态测试方法的是

A)代码检查 B)白盒法

C)静态结构分析 D)代码质量度量74软件生命周期中花费时间最多的阶段是74在软件生命周期中,能准确地确定软件系统必须做什么和必须局别哪些功能的阶段是A)概要设计B)详细设计C)可行性分析D)需求分析检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成,下列图符名标识的图符不属于数据流图合法图符的是A)控制流B)加工C)数据存储D)源和潭75在软件生命周期中,能准确地确定软件系统必须做什么和必须局别哪下面不属于软件设计原则的是A)抽象B)模块化C)自底向上D)信息屏蔽程序流程图(PFD)中的箭头代表的是A)数据流B)控制流C)调用关系D)组成关系下列工具中为需求分析常用工具的是A)PADB)PFDC)N-SD)DFD在结构化方法中,软件功能分解属于下列软件开发中的阶段是A)详细设计B)需求分析C)总体设计D)编程调试76下面不属于软件设计原则的是76软件调试的目的是A)发现错误B)改正错误C)改善软件的性能D)挖掘软件的潜能软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及A)阶段性报告B)需求评审C)总结D)都不正确软件是程序、数据和____的集合。Jackson方法是一种面向____的结构化方法。软件工程研究的内容主要包括:____技术和软件工程管理。文档数据结构软件开发77软件调试的目的是软件是程序、数据和____的集合。文档数据结通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为

【4】。耦合和内聚是评价模块独立性的两个主要标准,其中

【3】

反映了模块内各成分之间的联系。软件工程研究的内容主要包括:

【4】技术和软件工程管理。Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向

【2】的设计方法。软件设计模块化的目的是

【4】。软件生命周期耦合软件开发数据结构降低复杂性78通常,将软件产品从提出、实现、使用维护到停止使用退役的过程数据流图的类型有

【4】和事务型。软件危机出现于60年代末,为了解决软件危机,人们提出了

【3】的原理来设计软件,这就是软件工程诞生的基础。软件开发环境是全面支持软件开发全过程的

【4】集合。测试的目的是暴露错误,评价程序的可靠性;而

【2】的目的是发现错误的位置并改正错误。软件维护活动包括以下几类:改正性维护、适应性维护、

【3】维护和预防性维护。完善性维护变换型工程化软件工具程序调试79数据流图的类型有【4】和事务型。完善性维护变换型工程化软软件结构是以

【3】为基础而组成的一种控制层次结构。为了便于对照检查,测试用例应由输入数据和预期的

【4】两部分组成。软件工程包括3个要素,分别为方法、工具和

【4】。软件工程的出现是由于

【2】。单元测试又称模块测试,一般采用

【3】测试。软件的

【3】设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。模块输出数据过程软件危机白盒概要80软件结构是以【3】为基础而组成的一种控制层次结构。模块输二级公共基础知识考试需知:考试内容及安排第一章

算法与数据结构第二章

程序设计基础第三章

软件工程基础第四章

数据库设计基础81二级公共基础知识考试需知:考试内容及安排

一、涉及面广,但难度小你应该知道

公共基础知识考题特点及复习建议计算机等级二级理论考试中有关公共知识部分的题目共有15道,涉及算法及数据结构、程序设计基础、软件工程基础和数据库设计基础等四门学科,但是从整体上分析,考试中的考核内容的难度不大,考点也相对集中些。82一、涉及面广,但难度小你应该知道公共基础知识考题特点二、考核重点为基本概念、基本方法和基本运算你应该知道

计算机等级二级理论考试中涉及的题目都是基本概念、基本方法和基本运算,考核以概念和认识性内容为主,理解性、应用性内容极少。

83二、考核重点为基本概念、基本方法你应该知道计三、考核重点是数据结构和算法你应该知道

以下是对以往二级理论考试的大概统计:

算法及数据结构:50%程序设计基础:12.5%软件工程基础:18.75%数据库设计基础:18.75%84三、考核重点是数据结构和算法你应该知道以下是考试内容基本数据结构与算法程序设计基础软件工程基础数据库设计基础内容2007/92008/42009/92010/410`10`8`2`12`8`4`6`12`8`4`6`10`2`8`10``85考试内容基本数据结构与算法程序设计基础软件工程基础数据库设计四、六点复习及应试建议复习的关键是考生必须准确判断和掌握常见考点公共基础知识部分的知识点多、杂,考生在学习过程中应理清其中的脉络关系(即框架提纲),才能有效地组织和记住各知识点考生不要太追求灵活掌握该部分的内容,最好经历一个“先死后活、熟能生巧”的过程,这是多数考生常犯的另一种错误最后给大家一个答题技巧:“会就会,不会就不会”,不要拖时间,要考虑成本/效果的关系,为后面的题目提供时间。86四、六点复习及应试建议复习的关键是考生必须准确判断和掌握常1、了解软件工程的基本概念;2、了解软件工程过程与软件的生命周期,以及软件工程的目标和原则;学习目标与要求软件工程:3、了解利用结构化分析法进行软件工程中的需求分析的方法,并了解需求分析的方法和需要完成的任务;4、了解数据流图的使用方法;5、了解如何利用结构化设计方法进行软件设计,并了解软件设计的一些常用工具;

6、了解软件测试的目的和方法,以及软件测试的准则,了解常用的软件测试方法的区别和各自的功能与特点;7、了解程序调试的方法和原则。871、了解软件工程的基本概念;2、了解软件工程过程与软件的生命程序设计基本概念一、计算机工作原理通过工作原理了解,熟悉计算机内部执行功能的基本意义。为理解程序打下基础,特别理解计算机是机器。二、程序的定义指令的集合。(解释指令)通过硬件控制系统自动完成某一功能。通过一系列代码实现。88程序设计基本概念一、计算机工作原理通过工作原理程序设计基本概念三、程序怎样执行、如何编写程序计算机本身仅能识别二进制代码“0”、“1”。编程最直接、最低级的就是机器语言。为解决机器语言难理解、记忆等问题。出现符号语言。为使编程接近自然语言,出现高级语言。如C、PASCAL、FORTRAN等。为配合高级语言编程,出现了开发工具,提高效率、减轻劳动量。如VB、VC、PB、Delphi、VFP等。因此VFP不是编程语言。89程序设计基本概念三、程序怎样执行、如何编写程序计算机本身仅程序设计基本概念不管什么形式编写代码,最终都应将代码翻译成机器语言,这就是编译程序的工作。不同的语言有不同的编译器。程序控制是一种逻辑控制。因此,严谨的逻辑思维是一个程序员必备的基本素质。用程序实现某一功能。有许多方法。具体用哪种完全取决于程序员个人的思维方式。因此,程序是脑力劳动的结晶,从某种意义上,编程又是一门艺术。程序的特殊性决定了程序的复杂性,且与实现功能的复杂性密切相关成正比。因此为使复杂的、智力的编程工作规范化、科学化,便出现了各种编程设计方法。如结构化编程方法、面向对象的程序设计方法等。90程序设计基本概念不管什么形式编写代码,最终都应将代码翻译成程序设计基本概念不管用什么方法编程,不管编程者智力程度如何,不管采用什么样的编程语言和方法,程序最终完成的功能稳定、可靠、实用、易维护和安全等是程序的最终目标,也是程序员的追求。程序设计是一个复杂艰巨的过程。编写代码仅是程序设计的一部分。必须先有思想,再有方法,然后才是编写代码,且要经过许多反复,不可急功近利。91程序设计基本概念不管用什么方法编程,不管编程者智力程度如何程序设计基本概念四、程序设计语言或工具程序设计语言指的是用来编写程序的语言。人与计算机交流要使用语言,以便让计算机工作,计算机也通过语言把结果告诉用计算机的人——“人机对话”。人与计算机交流的语言非平常人与人之间交流的语言,是专门的语言——程序设计语言。程序设计语言是计算机系统软件的重要组成部分。92程序设计基本概念四、程序设计语言或工具程序设计语言指的是程序设计基本概念执行程序设计的语言有很多,可分高级语言和低级语言,区别在于接近自然语言的程度高级语言一般与具体的计算机硬件无关,比较接近人类自然语言的语法习惯及数学表达形式。用高级语言编写的源程序不能被机器直接执行,需通过编译成解释程序的翻译才可被机器执行(机器语言)。

四、程序设计语言或工具(续)93程序设计基本概念执行程序设计的语言有很多,可分高级语言和低第三章软件工程基础二级公共基础知识返回94第三章软件工程基础二级公共基础知识返回14软件工程基础内容1、软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。2、结构化分析方法,数据流图,数据字典,软件需求规格说明书。3、结构化设计方法,总体设计与详细设计。4、软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。5、程序的调试,静态调试与动态调试。95软件工程基础内容15软件工程基础(一)基本概念

软件工程:软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高软件质量、降低软件成本。

软件危机:是指在计算机软件开发和维护过程中所遇到的一系列严重的问题。主要表现在:成本、质量、生产率等问题。96软件工程基础(一)基本概念

软件工程:软件工程是指应用计软件计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。程序程序人员开发的可执行的指令(语句)序列。数据使程序能正常操纵信息的数据结构相关文档机器可执行的程序和数据机器不能执行的,与软件开发、运行、维护、使用等有关的文档97软件计算机系统中与硬件相互依存的另一部分,是包括程序、软件的特点包括:(1)软件是一种逻辑实体;(2)软件的生产与硬件不同,它没有明显的制作过程;(3)软件在运行、使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;(5)软件复杂性高,成本昂贵;(6)软件开发涉及诸多的社会因素。软件按功能分为:应用软件、系统软件、支撑软件(或工具软件)。98软件的特点包括:18软件生命周期将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。分为软件定义、软件开发及软件运行维护3个时期。维护是持续时间最长,花费代价最大的一个时期,软件工程学的一个目的就是提高软件的可维护性,降低维护代价。6个活动阶段:可行性研究与计划制定:确定系统的总体目标。参加人员有用户、项目负责人和系统分析员,产生文档有可行性分析报告、项目计划书等。需求分析:确定系统的逻辑模型。参加人员有用户、项目负责人和系统分析员。产生文档为需求规格说明书,其作用:(1)便于用户、开发人员进行理解交流;(2)反映用户问题的结构,可以作为软件开发工作的基础和依据;(3)作为确认测试和验收的依据。99软件生命周期19软件设计:包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。软件设计分概要设计和详细设计。参加人员有系统分析员和高级程序员。产生的文档有设计规格说明书。编码:编程。高级程序员和程序员产生源程序清单。测试:由另一部门的高级程序员或系统分析员产生软件测试计划和软件测试报告。运行维护100软件设计:包括软件结构设计、数据设计、接口设计和过程设计。其可行性研究与计划制定需求分析软件设计实现测试运行和维护确定系统的总体目标需求规格说明书概要设计说明书详细设计说明书测试计划初稿完成程序代码用户手册单元测试计划检验软件测试分析报告可行性研究与计划制定需求分析概要设计实现测试退役详细设计使用维护定义阶段开发阶段维护阶段101可行性研究需求分析软件设计实现测试运行和维护确定系统的总体目

软件工程三要素方法:完成软件工程项目的技术手段。工具:支持软件的开发、管理、文档生成。过程:支持软件开发的各个环节的控制、管理。

软件工程的理论和技术研究的内容软件开发技术和软件工程管理。

软件工程的目标在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。102软件工程三要素方法:完成软件工程项目的技术手段。软件工软件工具和软件开发环境软件工具(CASE):用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件。软件开发环境:支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成。软件工程的基本原则:抽象、信息隐蔽、模块化、局部化(模块间松散,模块内内聚性强)、确定性、一致性、完备性和可验证性。软件工程基础103软件工具和软件开发环境软件工程基础23需求分析与结构化分析方法需求分析的方法结构化分析方法面向对象的分析方法面向数据流的结构化方法(SA)面向数据结构Jackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)104需求分析与结构化分析方法需求分析的方法结构化分析方法面向数据结构化分析常用工具:(1)数据流图(2)数据字典(3)判定树(4)判定表结构化分析方法的实质:

着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。105结构化分析常用工具:(1)数据流图结构化分析方法的实质:25数据流图(DFD):描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。106数据流图(DFD):描述数据处理过程的工具,是需求理解的逻辑建立数据流图的步骤:(1)由外向里;(2)自顶向下:顶层、中间层、低层数据流图;(3)逐层分解;107建立数据流图的步骤:2710828数据字典(DD):存储文件”存折”的DD定义:对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。数据字典是各类数据描述的集合,它通常包括5个部分:即数据项、数据结构、数据流、数据存储、和处理过程。数据字典是结构化分析的核心。109数据字典(DD):存储文件”存折”的DD定义:对所有与系统相判定树:当数据流图中的加工依赖于多个逻辑时,可以使用判定树来描述。从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。110判定树:30判定表:

与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。111判定表:31软件需求规格说明书,其作用:(1)便于用户、开发人员进行理解交流;(2)反映用户问题的结构,可以作为软件开发工作的基础和依据;(3)作为确认测试和验收的依据。软件需求规格说明书的特点:(1)正确性;(2)无岐义性;(3)完整性;(4)可验证性;(5)一致性;(6)可理解性;(7)可追踪性。需求分析结束时产生:(1)DFD、DD、判定树、判定表(2)软件需求规格说明书112软件需求规格说明书,其作用:软件需求规格说明书的特点:需求分(二)结构化分析方法

软件工程基础基本思想将系统分析看成工程项目,有计划、有步骤地进行工作。开发策略自顶向下,逐层分解分析结果一套分层的数据流图(DFD):用来描述数据流从输入到输出的变换流程一个数据字典(DD):用来描述DFD中的每个数据流、文件以及组成数据流或文件的数据项一组小说明(加工逻辑说明):用来描述每个基本加工的加工逻辑113(二)结构化分析方法

软件工程基础基本思想33(三)结构化设计方法、总体设计和详细设计

软件工程基础结构化设计方法

结构图:

基本成分:模块、调用、输入输出数据模块用矩形表示,模块间用线段连接,表示调用关系,输入输出数据可写在调用线段的旁边

数据流的类型

变换流事务流114(三)结构化设计方法、总体设计和详细设计

软件工程基础结构结构化设计方法、概要设计和详细设计软件设计○软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,软件设计是确定系统的物理模型。○软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径。从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。

结构设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创建的模型转化为数据结构的定义。接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信。过程设计:把系统结构部件转换成软件的过程描述。从工程管理角度来看:概要设计和详细设计。115结构化设计方法、概要设计和详细设计软件设计35软件设计的基本原理:(1)抽象(2)模块化(3)信息隐蔽(4)模块独立化内聚性:耦合性:在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦合。116软件设计的基本原理:在程序结构中各模块的内聚性越强,则耦合性概要设计设计原则分解—协调原则自顶向下的原则信息屏蔽、抽象的原则一致性原则明确性原则模块间的耦合度尽可能小,模块内部组合尽可能紧凑(内聚性高)模块的扇入和扇出系数合理模块的规模适当117概要设计37结构图(SC):概要设计(软件结构设计)的工具:模块用一个矩形表示,箭头表示模块间的调用关系。在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心圆的箭头表示传递的是控制信息,空心圆箭心表示传递的是数据。118结构图(SC):概要设计(软件结构设计)的工具:模块用一个矩结构图的基本形式:基本形式、顺序形式、重复形式、选择形式。结构图有四种模块类型:传入模块、传出模块、变换模块和协调模块。119结构图的基本形式:39需求分析逻辑模型数据流图概要设计系统结构图物理模型概要设计的方法:典型的数据流类型有两种:变换型和事务型。变换型数据流系统结构图事务型数据流系统结构图120需求分析逻辑模型数据流图概要设计系统结构图物理模型概要设计的详细设计根本目标:

确定应用怎样具体的实现所要求的系统,不是具体的编写程序,而是要设计程序的“蓝图”自顶向下的原则。此阶段的结果基本上决定了最终的程序代码的质量。包括内容:代码设计输入设计输出设计处理过程设计用户界面设计安全控制设计121详细设计此阶段的结果基本上决定了最终的程序代码的质量。代过程设计工具:图形工具:程序流程图、N-S图、PAD、HIPO表格工具:判定表语言工具:PDL(伪码)

程序流程图:122过程设计工具:图形工具:程序流程图、N-S图、PAD、HI12343N-S图:124N-S图:44PAD图:PDL(伪码):125PAD图:PDL(伪码):45(四)软件测试

软件工程基础

意义目的为了发现错误;希望能以最少人力和时间发现潜在各种错误和缺陷;保证系统质量和可靠性的关键步骤。

测试方法人工测试机器测试提问:测试能否发现程序中的所有错误?答案:不能。126(四)软件测试

软件工程基础意义目的提问:测试能否发现程

白盒测试结构测试将软件看成透明的白盒,根据程序的内部结构和逻辑结构来设计测试例子,对程序的路径和过程进行测试,检查是否满足设计的要求

黑盒测试功能测试将软件看成黑盒子,在完全不考虑软件内部结构和特性的情况下,测试软件的外部特性

软件测试的实施单元测试(模块测试):白盒测试法组装测试(集成测试)确认测试:检查软件产品是否符合需求定义,黑盒测试法系统测试127白盒测试47适合于黑盒测试的测试方案:主要有:等价类划分、边界值分析法、错误推测法、因果图四种。适合于白盒测试的测试方案:主要有逻辑覆盖测试、基本路径测试法。逻辑覆盖法包括:语句覆盖、判定覆盖(也称为分支覆盖)、条件覆盖、判定/条件覆盖、条件组合覆盖。软件工程基础128适合于黑盒测试的测试方案:软件工程基础48(五)程序调试

软件工程基础

任务根据测试时发现的错误,找出原因和具体位置,进行改正由程序开发人员来进行,谁开发的程序就由谁来进行调试方法:

强行排错法

回溯法

原因排除法(演绎、归纳、二分法)程序调试是根据错误的迹象确定程序中的错误的确切性质、原因和位置,对程序进行修改,排除这个错误。129(五)程序调试

软件工程基础任务程序调试是根据错误的迹象

静态调试通过人的思维来分析源程序代码和排错,是主要的调试手段。动态调试辅助静态调试。软件工程基础130静态调试软件工程基础50例题讲解为了提高测试的效率,应该(D)

A)随机选取测试数据

B)取一切可能的输入数据作为测试数据

C)在完成编码以后制定软件的测试计划

D)选择发现错误可能性大的数据作为测试数据软件生命周期中所花费用最多的阶段是(D)

A)详细设计 B)软件编码C)软件测试D)软件维护软件工程基础131例题讲解为了提高测试的效率,应该(D)软件工程基础51下列叙述中,不属于软件需求规格说明书的作用的是(D)

A)便于用户、开发人员进行理解和交流

B)反映出用户问题的结构,可以作为

温馨提示

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

最新文档

评论

0/150

提交评论