全国计算机等级考试二级C语言的知识点超全整打印.docx

上传人:b****5 文档编号:24724265 上传时间:2023-05-31 格式:DOCX 页数:111 大小:188.89KB
下载 相关 举报
全国计算机等级考试二级C语言的知识点超全整打印.docx_第1页
第1页 / 共111页
全国计算机等级考试二级C语言的知识点超全整打印.docx_第2页
第2页 / 共111页
全国计算机等级考试二级C语言的知识点超全整打印.docx_第3页
第3页 / 共111页
全国计算机等级考试二级C语言的知识点超全整打印.docx_第4页
第4页 / 共111页
全国计算机等级考试二级C语言的知识点超全整打印.docx_第5页
第5页 / 共111页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试二级C语言的知识点超全整打印.docx

《全国计算机等级考试二级C语言的知识点超全整打印.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言的知识点超全整打印.docx(111页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试二级C语言的知识点超全整打印.docx

全国计算机等级考试二级C语言的知识点超全整打印

 

全国计算机

等级考试

 

 

 

第一部分公共基础知识

第一部分公共基础知识第1章算法与数据结构

考点1算法

1.什么是算法

算法是指对解题方案的准确而完整的描述。

计算机程序本质上就是一个算法,它告诉计算机确切的步骤来执行一个指定的任务。

(1)算法的基本特征

一般来说,算法应具有:

可行性、确定性、有穷性、拥有足够的情报这几个特征。

(2)算法的组成要素

通常,一个算法由两部分组成:

一是对数据对象的运算和操作,二是算法的控制结构。

2.算法的复杂度

算法的复杂度是算法规模的度量,一个算法的复杂度高低体现在运行该算法所需要的计算机资源的多少,所需的资源越多,就说明该算法的复杂度越高;反之,所需的资源越少,则该算法的复杂度越低。

算法复杂度包括算法的时间复杂度和算法的空间复杂度。

考点2数据结构

1.数据结构的概念

所谓数据结构是指由某一数据对象及该对象中所有数据成员之间的关系组成的集合。

成员之间的关系有很多种,最常见的是前后件关系。

2.数据的逻辑结构

(1)逻辑结构的定义

数据的逻辑结构,是指反映数据之间逻辑关系的数据结构。

对于电脑上的数据而言,逻辑结构就是能够用眼睛看到的数据形式,包括在屏幕上看到的文本、图片、视频等。

(2)逻辑结构的分类

根据数据结构中各元素之间前后关系的复杂程度,将数据的逻辑结构分成线性结构和非线性结构。

一个非空的线性结构如果满足以下两个条件:

①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件。

3.数据的存储结构

数据的存储结构也称为数据的物理结构,是指数据在计算机中存放的方式,包括数据元素的存储和关系的存储。

通常,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链式存储结构。

考点3线性表及其顺序存储结构

1.线性表的基本概念

线性表是由n个数据元素组成的有限序列,是最简单、最常用的数据结构。

其中的数据元素有着广泛的含义,可以是一个单独的数字或字母,可以是矩阵中的一行或一列向量,也可以是二维表中的一条记录。

线性表是一种线性结构。

数据元素在线性表中的位置,只取决于它们自己的序号,即数据元素之间的相对位置是线性的。

2.线性表的顺序存储结构

一种数据的逻辑结构根据需要可以表示成多种存储结构。

线性表的存储结构常用的是顺序存储,也称为顺序分配。

线性表的顺序存储结构具有以下两个基本特点:

①线性表中所有元素所占的存储空间是连续的;②线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。

3.顺序表的插入

所谓“顺序表”指的是使用顺序存储结构的线性表。

在顺序表中插入一个新的数据元素,就像是在排队买票的时候进来了一个插队的人。

4.顺序表的删除

在顺序表中删除一个数据元素,就像是在排队买票的时候其中的一个人离开了。

在平均情况下,要在线性表中删除一个元素,需要移动线性表中一半的数据元素。

考点4栈和队列

1.栈及其基本运算

(1)什么是栈

栈是一种特殊的线性表。

在这种特殊的线性表中,其插入和删除运算都只能在线性表的一端进行。

一端是封闭的,不允许插入和删除数据元素;另一端是敞开的,允许插入和删除数据元素。

在栈中,允许插入和删除数据元素的一端称为栈顶,而不允许插入和删除数据元素的一端称为栈底。

栈顶元素总会是被最后插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。

即栈是按照“先进后出”或“后进先出”的原则组织数据的。

栈具有记忆的功能,支持子程序的调用。

通常用指针top来指示栈顶位置,用指针bottom来指示栈底的位置。

往栈中插入一个元素称为入栈运算,从栈中删除一

个元素称为退栈运算。

通过栈顶指针top来反反映栈中元素的动态变化情况。

(2)栈的基本运算

栈的基本运算有3种:

入栈、退栈与读栈顶元素。

①入栈运算。

入栈运算是指在栈顶位置插入一个新元素。

这个运算有两个基本操作:

首先将栈顶指针进一(即top加1),然后将新元素插入到栈顶指针指向的位置。

②退栈运算。

退栈运算是指取出栈顶元素并赋给指定的变量。

这个运算有两个基本操作:

首先将栈顶元素赋值给一个指定的变量,然后将栈顶指针退一(即top减1)。

③读栈顶元素。

读栈顶元素是指将栈顶元素赋给一个指定的变量,但是不删除栈顶元素。

因此,在这个运算中,栈顶指针不会改变。

当栈顶指针为0时,说明栈空,读不到栈顶元素。

2.队列及其基本运算

(1)什么是队列

队列是指允许在表的一端进行插入、而在另一端进行删除的线性表。

允许插入的一端称为队尾,通常用一个队尾指针(rear)指向队尾元素,队尾指针总是指向最后被插入的元素;允许删除的一端称为排头(也称为队头),通常也用一个排头指针(front)指向排头元素的前一个位置。

(2)循环队列及其运算

队列的顺序存储结构一般采用循环队列的形式。

所谓的循环队列,就是将队列的存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。

①入队运算。

入队运算是指在循环队列的队尾加入一个新元素。

这个运算有两个基本操作:

首先将队尾指针进一(即rear=rera+1),并当rear=m+1时置rear=1;然后将新元素插入到队尾指针指向的位置。

②退队运算。

退队运算是指在循环队列的排头位置退出一个元素并赋值给指定的变量。

这个运算有两个基本操作:

首先将排头指针进一(即front=front+1),并当

front=m+1时置front=1;然后将排头指针指向的元素赋给指定的变量。

考点5线性链表

1.线性链表

(1)线性链表

线性表的链式存储结构称为线性链表。

线性链表中,存储空间上的每一个存储结点都要分成两部分:

一部分用于存储数据元素的值,称为数据域;另一部分用于存储该数据元素的存储序号(存储结点的地址,即指向后件结点),称为指针域。

(2)线性链表的查找

在非空的线性链表中查找指定元素的操作:

从头指针指向的结点开始往后沿着指针进行扫描,如果找到要查找的内容,则查找成功;如果没有对应的要查找的元素,则查找失败。

为了弥补线性单链表的这个缺点,对线性链表中的每个结点设置两个指针,一个称为左指针

(Llink),用以指向其前件结点;另一个称为右指针(Rlink),用来指向其后件结点。

这样的线性表称为双向链表。

(3)线性链表的插入

在向线性链表中插入一个新元素之前,我们先要给该元素分配一个新结点,其中包括值域和指针域以便用于存储该元素的值。

然后找到插入位置,将插入位置前件的指针指向新结点,将新接点的指针指向插入位置后件的结点。

(4)线性链表的删除

要从线性表中删除一个元素,首先将要删除元素的前后件两个指针断开,然后把要删除结点的前件的指针,指向删除结点后的数据元素。

2.循环链表

循环链表与单链表唯一的不同,就是最后一个结点的指针域中的值不同。

单链表的最后一个结点的指针域存放的是一个空指针,而循环链表的最后一个结点的指针域存放的是指向第一个结点的指针。

考点6树与二叉树

1.树的基本概念

树是一种比较简单的非线型结构。

在树中所有的数据元素之间具有明显的层次关系。

之所以将这种数据结构命名为“树”,是因为其结构看上去像一棵倒长着的树。

在树的图形表示中,上端的结点是前件,下端的结点是后件。

2.二叉树及基本性质

(1)二叉树

二叉树是一种特殊的树,是一种很有用的非线型结构。

所有树结构上的术语都可以用在二叉树上。

二叉树具有以下两个特征:

①非空二叉树只有一个根结点;②每个结点最多有两棵子树,

且分别称为该结点的左子树和右子树。

在二叉树中,每个结点的度最大为2,所有的左子树和右子树也均是二叉树。

同时,在二叉树中所有的结点可以没有左子树,也可以没有右子树。

即没有左子树又没有右子树的结点是叶子结点。

(2)满二叉树

所谓满二叉树是指:

除最后一层外,每一层上的所有结点都有两个子结点。

这就是说,在满二叉树中,每一层上的结点数都达到最大值,即满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。

(3)完全二叉树

所谓的完全二叉树是指:

除最后一层外,每一层上的结点数均达到最大值,最后一层上只缺少右边的若干个结点。

完全二叉树就是去掉最后一层若干个右边结点的满二叉树。

(4)二叉树的基本性质

①二叉树的基本性质。

二叉树具有以下几个基本性质:

性质1:

在二叉树的第K层上最多有2k-1(k≥1)个结点。

性质2:

深度为m的二叉树最多有2m-1个结点。

性质3:

在任意一棵二叉树中,叶子结点(即度为0的结点),总比度为2的结点多一个。

性质4:

具有n个结点的二叉树,其深度至少为[log2n]+1。

②完全二叉树的两项特性。

完全二叉树还具有以下两项特性:

性质5:

具有n个结点的

完全二叉树,其深度为[log2n]+1。

性质6:

设完全二叉树共有n个结点。

如果从根结点开始,按层序(每一层从左到右)用自然数“1,2,„,

n”给结点进行编号。

3.二叉树的遍历

二叉树的遍历是指按照一定的顺序访问二叉树中的结点,每个结点只被访问一次。

为了保证所有结点被不重不漏地访问,必须按照一定的顺序进行。

(1)前序遍历(DLR)

首先访问根结点,然后遍历左子树,最后遍历右子树;在遍历左、右子树时,也按上述的顺序执行。

可见前序遍历二叉树是一个递归的过程。

对于二叉树的前序遍历,具有如下的规则:

对于空的二叉树,不进行操作返回空值。

对于非空的二叉树的遍历按下列顺序执行:

①访问根结点;

②前序遍历左子树;③前序遍历右子树。

(2)中序遍历(LDR)

首先遍历左子树,然后访问根结点,最后遍历右子树;在遍历左、右子树时,也按上述的顺序执行。

可见中序遍历二叉树也是一个递归的过程。

对于二叉树的中序遍历,具有的规则:

①对于空的二叉树,不进行操作返回空值。

②对于非空的二叉树的遍历按下列顺序执行:

中序遍历左子树;访问根结点;中序遍历右子树。

(3)后序遍历(LRD)

首先遍历左子树,然后遍历右子树,最后访问根结点;在遍历左、右子树时,也按上述的顺序执行。

可见后序遍历二叉树同样也是一个递归的过程。

对于二叉树的后序遍历,具有的规则:

①对于空的二叉树,不进行操作返回空值。

②对于非空的二叉树的遍历按下列顺序执行:

后序遍历左子树;后序遍历右子树;访问根结点。

考点7查找技术

查找就是从给定的一个数据结构中,找出指定的数据元素。

本节中我们只学习对线性表的查找,常用的查找方法有顺序查找和二分法查找。

1.顺序查找

顺序查找的过程是:

从线性表的第一个元素开始,依次将线性表中的数据与要查找的数据进行比较,如果找到了相等的数据,则查找成功,停止向下查找;如果比较完了线性表中的所有数据元素,没有找到相等的数据,则查找失败。

2.二分法查找

二分法查找又称为折半查找,只能应用于顺序存储的有序表。

有序表是指线性表中的元素已经按值非递减(从整体上看是升序,但相邻的元素的值可以相同)排列。

考点8排序技术

排序就是将一组无序的数据按照一定的顺序排列起来。

本节中所指的顺序是非递减顺序

(整体上呈升序,但相邻的数据可以相等),基本排序算法主要有交换类排序、插入类排序和选择类排序3大类。

1.交换类排序

交换排序就是借助数据元素之间的互相交换进行排序的方法。

常用的交换排序方法有冒泡排序和快速排序。

(1)冒泡排序

冒泡排序的过程简单,它的基本思想是通

过对相邻元素进行比较,并根据比较的结果交换位置,从而逐步由任意序列变为有序序列。

过程是:

先从头往后扫描、然后从后往头

扫描、再重复上述过程

(2)快速排序

快速排序就是一种可以通过一次交换而消除多个逆序的排序方法,因此相对冒泡排序法而言,速度要快。

2.插入类排序

插入排序,就是将无序序列中的各个元素依次插入到已经排好序的线性表中。

常用的插入排序的方法有简单插入排序和希尔排序。

(1)简单插入排序

简单插入排序的方法是:

在初始序列中,将只包含第1个元素的子序列看成是一个有序序列,然后从第2个元素起,依次将每个元素插入到前1个有序子序列中。

(2)希尔排序

希尔排序的基本思想是:

将整个无序序列分割成若干个子序列,对每个子序列分别进行简单插入排序,最后再对全体元素进行一次简单插入排序。

与简单插入排序的子序列构成方式不同,希尔排序是将原序列中相隔某个增量

h的元素构成一个子序列。

在排序过程中逐步减少这个增量,最后当h减到1时,进行一次插入排序,排序就完成了。

增量序列一般取hi=n/2k(k=1,2,„,[log2n]),其中n为待排序序列的长度。

希尔排序的效率与所选取的增量序列有关。

通过希尔排序法对长度为n的线性表进行排序,如果选取了上述增量序列,最坏情况下,需要比较的次数为O(n1.5)。

3.选择类排序

常用的选择排序有两种,简单选择排序和堆排序。

(1)简单选择排序

简单选择排序的基本步骤是:

①在一组n个数据中选择出最小值;②若它不是这组数据中的第1个数据,则将它与这组数据中的第1个数据互换位置;③对剩下的子表采用同样的方法,直到子表空为止。

(2)堆排序法

在学习堆排序之前,我们先来看一下堆的定义,堆的定义如下:

具有n个元素的序列(h1,h2,…,hn),

当且仅当满足

(i=1,2,…,n/2)时称之为堆。

第2章程序设计基础

考点1程序设计方法与风格

程序是一组计算机指令的集合,是程序设计的最终成果。

程序设计方法所要做的工作是,如何对实际问题进行抽象和归纳以及对程序进行编排,才能使程序的可读性、稳定性、可维护性、效率等更好。

目前,主要有两种程序设计方法:

结构化程序设计和面向对象程序设计。

1.源程序文档化

①符号名的命名:

符号名的命名应尽量表达一些实际意义,以增强程序的可读性。

②程序注释:

良好的注释能够帮助读者理解程序。

注释一般分为序言性注释和功能性注释,以给出程序的整体说明和程序的主要功能。

序言性注释一般位于每一个程序的开头部分,它给出程序的整体说明;功能性注释一般嵌在原程序之中。

③视觉组织:

为使程序的结构清晰明了,可以在程序中利用空行、空格、缩进等技巧使程序层次清晰。

2.数据说明的方法

在编写程序时,一定要注意数据说明的方法。

为使程序中的数据说明易于理解和维护。

3.语句的结构

程序的语句应该简单易懂,在编写程序时,应注重:

每一行只写一条语句。

程序编写优先考虑清晰性。

一般情况下,在编写程序时,要做到清晰第一,效率第二。

首先要保证程序的正确性,然后再提高速度。

避免使用临时变量而使程序的可读性下降。

尽可能使用库函数。

避免不必要的转移。

利用信息隐蔽,保证每一个模块的独立性。

避免使用复杂的条件嵌套语句。

避免使用无条件转移语句。

尽量做到模块功能单一化。

不要修补不好的程序,要重新编写。

4.输入和输出

输入和输出的方式应尽可能方便用户的使用。

系统能否让用户接受,往往取决于输入和输出的风格。

考点2结构化程序设计

1.结构化程序设计的原则

结构化程序设计必须遵守模块化、自顶向下、逐步求精、限制使用goto语句的原则。

2.结构化程序设计的基本结构与特点

结构化程序设计方法是一种程序设计的先进方法。

实事证明,在程序设计时,只要使用3种程序结构就可以实现所有的结构形式,它们是顺序结构、选择结构和循环结构。

3.结构化程序设计原则和方法的应用

结构化程序设计的效率较高,但是在实际设计程序时,应要注意:

使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑。

选用的控制结构只允许有一个入口和一个出口。

程序语句组成容易识别的语句序列块,每块只允许有一个入口和一个出口。

复杂结构的程序设计时,仅用嵌套的基本控制结构进行组合嵌套来实现。

语言中所没有的控制结构,应采用前后一致的方法来模拟。

严格控制goto语句的使用,但不是完全不能用。

考点3面向对象的程序设计

面向对象方法,现在已经发展为一种主流的软件开发方法。

它历经了多年的研究和发展,已经日益成熟和完善,应用也越来越深入和广泛。

1.面向对象方法的特点

面向对象的程序设计,是在结构化程序设计的基础上,以更接近人们通常思维的方式来解决问题的一种全新的软件开发技术。

面向对象的程序设计以对象为核心,强调对象的“封装性”“继承性”“抽象性”和“多态性”。

其本质就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物。

2.面向对象方法的基本概念

(1)对象(object)

面向对象方法认为:

现实世界是由一系列的对象组成的。

对象是现实世界中彼此相关并互通信息的实体。

每个对象都包含了两部分的内容:

描述对象状态的数据和描述对象行为。

对象是面向对象方法中最基本的概念。

因此,面向对象方法中的对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的整体。

对象可以做的操作表示它

的动态行为,在面向对象分析和面向对象设计中,通常把对象的操作也称为方法或服务。

(2)类和实例

类是具有共同属性、共同方法的对象的集合,是关于对象的抽象描述,反应属于该对象类型的所有对象的性质。

(3)消息(Message)

消息传递是对象间通信的手段,一个对象通过向另一对象发送信息来请求其服务。

消息机制统一了数据流和控制流,一个消息由下述

3部分组成:

接收消息的对象名称、消息名、零个或多个参数。

(4)继承(Inheritance)

①类的继承:

继承广义地说,是指能够直接获得已有的属性和特征,而不必重复地定义。

②继承的传递性:

继承具有传递性,如果类A继承类B,类B继承类C,则类A继承类

C。

因此,一个类实际上继承了它上层的全部基类特性,也就是说,属于某类的对象除了具

有该类定义的特性外,还具有该类上层全部基类定义的特性。

单继承:

一个子类只有唯一的一个父类,这种继承称为单继承。

多重继承:

一个子类也可以有多个父类,它可以从多个父类中继承特性。

③继承的优点:

相似的对象可以共享程序代码和数据,从而大大减少了程序

中的冗余信息,提高软件的可重用性,便于软件修改维护。

(5)多态性(Polymorphism)

多态性:

对象根据所接收的消息而做出动作,同样的消息被不同的对象接收时可导致完全不同的行为,该现象称为多态性。

第3章软件工程基础

考点1软件工程基本概念

1.软件的定义与特点

(1)软件的定义

一般认为计算机软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据及相关文档的完整集合。

可见软件可分为两个部分:

一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用相关的文档。

(2)软件的特点

计算机软件具有如下的几个特点:

软件是一种逻辑实体,而不是物理实体,具有抽象性;

与硬件的生产不同,软件没有明显的制作过程;软件在使用期间不存在磨损、老化问题;对硬件和环境具有依赖性;软件复杂度高,成本昂贵;软件开发涉及诸多的社会因素。

(3)软件的分类

计算机软件按功能可分为3类:

应用软件、系统软件、支撑软件(或称为工具软件)。

2.软件危机和软件工程

软件工程概念的出现源自软件危机。

(1)软件危机

“软件危机”是20世纪60年代末以后出现的,其泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

实际上,几乎所有的软件都不同程度地存在这些问题。

随着计算机技术的发展和应用领域的扩大,软件已经成为计算机科学发展的“瓶颈”。

(2)软件工程

为了消除软件危机,通过认真研究软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程概念,开辟了工程学的新兴领域——软件工程学。

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

3.软件工程过程与软件生命周期

(1)软件工程过程

ISO9000定义:

软件工程过程是指把输入转化为输出的一组彼此相关的资源和活动。

(2)软件生命周期

软件生命周期是指软件产品从提出、实现、使用维护到停止使用退役的整个过程。

也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。

这些阶段可以有重复,执行时也可以有迭代。

4.软件工程的目标与原则

(1)软件工程的目标

软件工程的目标是:

在给定成本、进度的前提下,开发出具有有效性、可靠性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。

为实现软件工程的目标,软件工程的理论和技术性研究的内容主要包括软件开发技术和软件工程管理两个方面。

(2)软件工程的原则

为了达到上述的软件工程目标,在软件开发过程中,必须遵循以下软件工程的基本原则:

抽象、确定性、模块化、信息隐蔽、局部化、完备性、一致性、可验证性。

5.软件开发工具与软件开发环境

软件工程技术鼓励研制和采用各种先进的软件开发方法、工具和环境。

工具和环境的使用进一步提高了软件的开发效率、维护效率和软件质量。

(1)软件开发工具

软件开发工具的发展是从单项工具的开发逐步向集成工具发展的,软件开发工具为软件工程方法提供了自动的或半自动的软件支撑环境。

(2)软件开发环境

软件开发环境或称软件工程环境是指全面支持软件开发全过程的软件工具的集合。

计算机辅助软件工程(CASE)是当前软件开发环境中富有特色的研究工作和发展方向。

考点2软件分析方法

软件开发方法是指软件开发过程所遵循的方法和步骤,其目的在于有效地得到一些工作产品,即满足质量要求的程序和文档。

软件开发方法包括分析方法、设计方法和程序设计方法。

1.需求分析与需求分析方法

软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

需求分析的任务是发现需求、求精、建模和定义需求的过程。

需求分析的目标是创建所需的数据模型、功能模型和控制模型。

(1)需求分析的定义

1997年IEEE软件工程标准词汇表对需求分析定义如下:

①用户解决问题或达到目标所需的条件或

功能;②系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或功能;③一种反映①或②所描述的条件或功能的文档说明。

(2)需求分析阶段的工作

需求分析阶段的工作主要分为4个方面:

需求获取、需求分析、编写需求规格说明书、

需求评审。

(3)需求分析方法

常用的需求分析方法有两种:

①结构化分析方法。

主要包括:

面向数据结构的Jackson方法(JSD),面向数据流的结构化分析方法

(SA),面向数据结构的结构化数据系统开发方法(DSSD)。

②面向对象的分析方法(OOA)。

从需求分析建立的模型的特性来分,需求分析方法又分为静态分析方法和动态分析方法。

2.结构化分析方法

(1)结构化分析方法的基本概念

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

该方法使用简单易读符号,根据软件内部数据传递、变换的关系,自顶向下、逐层分解,描绘出满足要求的软件模型。

(2)结构化分析的常用工具

结构化分析方法利用图形等结构化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。

这种方法所用的常用工具有:

数据流图、数据字典、判定树和判定表。

3.软件需求规格说明书

软件需求规格说明书(SRS)是需求分析阶段得出的最主要的文档。

它通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。

①软件需求规格说明书的作用

软件需求

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1