二级公共基础知识教学课件
合集下载
全国计算机等级考试之二级公共基础知识PPT课件( 124页)

元素2 153 6
元素3 134 6
存储地址 存储内容
指针
1345
元素1
1400
1346
元素4
∧
…….
…….. …….
1400
元素2
1536
…….
…….. …….
1536
元素3
1346
元素4 ∧
h
链式存储
1345
元素1 140
元素2 153 元素3 134
0
6
6
链接存储结构特点:
元素4 ∧
1.比顺序存储结构的存储密度小 (每个节点都由数据域和指针愈组成)。
图形结构
的
三 个
2、数据的存储结构 A 顺序存储
方 面
(亦称物理结构) B 链式存储
3、数据的运算:检索、排序、插入、删除、修改等。
图形结构——节点间的连结是任意的
1 2
4 3
D={ 1 , 2 , 3 , 4} R={(1,2) , (1,3) , (1,4) , (2,3)
(3,4) , (2,4) }
△ 人与计算机交流的语言非平常人与人之间 交流的语言,是专门的语言——程序设计 语言。
△ 程序设计语言是计算机系统软件的重要组成 部分。
△ 执行程序设计的语言有很多,可分高级语言 和低级语言,区别在于接近自然语言的程度
△ 高级语言一般与具体的计算机硬件无关,比 较接近人类自然语言的语法习惯及数学表达 形式。
1
2
3
D={ 1 , 2 , 3 } R={ (1,2) , (2,3) , (3,2) , (1,3) }
线性表
A.线性结构 栈
队 1.数据的逻辑结构
二级公共基础知识教学PPT课件

• IEEE:将系统的、规范的、可度量的方法应用于软件开发、 运行和维护的过程,即将工程应用于软件中。
– 主要思想:在软件开发过程中需要应用工程化原则的 重要性
2021/3/7
8
3.1.2 软件危机与软件工程
• 2.软件工程的产生与定义
– 软件工程3个要素:
• 方法 • 工具 • 过程
2021/3/7
– 软件实现:“实现”,编码。 – 软件测试:”做的怎么样?“
• 运行维护阶段
– 使用,不断维护
2021/3/7
12
3.1.4 软件工程的目标与原则
• 1.软件工程的目标
– 成功的项目:
• 成本 • 功能 • 移植 • 维护费用 • 按时 • 及时交付
– 目标:
• 在给定成本、进度的前提下,开发出具有有效性、可靠性、可 理解性、可维护性、可重用性、可适应性、可移植性、可追踪 性和可互操作性且满足用户需求的产品
9
3.1.3 软件工程过程与软件生命 周期
• 1.软件工程过程
– P(Plan)——软件规格说明 – D(Do)——软件开发 – C(Check)——软件确认 – A(Action)——软件演进
2021/3/7
10
3.1.3 软件工程过程与软件生命 周期
• 软件产品从提出、实 现、使用维护、停止 使用到退役的过程
2021/3/7
13
3.1.4 软件工程的目标与原则
• 2.软件工程学的范畴
软件工程
软件开发技术 软件工程管理
软件开发方法学 软件开发过程 软件开发工具 软件工程环境 软件管理学 软件工程经济学 软件心理学
2021/3/7
14
3.1.4 软件工程的目标与原则
– 主要思想:在软件开发过程中需要应用工程化原则的 重要性
2021/3/7
8
3.1.2 软件危机与软件工程
• 2.软件工程的产生与定义
– 软件工程3个要素:
• 方法 • 工具 • 过程
2021/3/7
– 软件实现:“实现”,编码。 – 软件测试:”做的怎么样?“
• 运行维护阶段
– 使用,不断维护
2021/3/7
12
3.1.4 软件工程的目标与原则
• 1.软件工程的目标
– 成功的项目:
• 成本 • 功能 • 移植 • 维护费用 • 按时 • 及时交付
– 目标:
• 在给定成本、进度的前提下,开发出具有有效性、可靠性、可 理解性、可维护性、可重用性、可适应性、可移植性、可追踪 性和可互操作性且满足用户需求的产品
9
3.1.3 软件工程过程与软件生命 周期
• 1.软件工程过程
– P(Plan)——软件规格说明 – D(Do)——软件开发 – C(Check)——软件确认 – A(Action)——软件演进
2021/3/7
10
3.1.3 软件工程过程与软件生命 周期
• 软件产品从提出、实 现、使用维护、停止 使用到退役的过程
2021/3/7
13
3.1.4 软件工程的目标与原则
• 2.软件工程学的范畴
软件工程
软件开发技术 软件工程管理
软件开发方法学 软件开发过程 软件开发工具 软件工程环境 软件管理学 软件工程经济学 软件心理学
2021/3/7
14
3.1.4 软件工程的目标与原则
全国计算机等级考试二级公共基础知识(应试版) ppt课件

点; 性质3:在任意一棵二叉树中,度为0的结
点(即叶子结点)总是比度为2的结点多一个。 性质4:具有n个结点的二叉树,其深度至
少为[log2n]+1。
考点 二叉树及其基本性质 19
3、满二Байду номын сангаас树与完全二叉树 满二叉树: 除最后一层外,每一层上的
所有结点都有两个子结点。 一棵深度为k 且有2k -1个结点的二叉树。
(特点:每层都“充满”了结点)
A
B
C
D
E
F
G
H IJK
L MN O
深度为4的满二叉树
20
完全二叉树: 除最后一层外,每一层上的结点 数均达到最大值;在最后一层上只缺少右边的 若干结点。
深度为k 的,有n个结点的二叉树,当且仅当其
每一个结点都与深度为k 的满二叉树中编号从1
至n的结点一一对应。
完全二叉树的特点就是,只有最后一层叶子不
是否会认为老师的教学方法需要改进? • 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭 • “不怕太阳晒,也不怕那风雨狂,只怕先生骂我
笨,没有学问无颜见爹娘 ……” • “太阳当空照,花儿对我笑,小鸟说早早早……”
2.算法复杂度 算法复杂度包括时间复杂度和空间复杂度。
考点 算法的复杂度
5
1.2 数据结构
考点 线性结构和非线性结构
8
在一个线性结构中插入或删除任何一个 结点后还应是线性结构。
栈、队列、字符串等都是线性结构。
数组、广义表、树和图等数据结构都是 非线性结构。
P153
9
1.3 栈
栈限定只在一端进行插入与删除的线性 结构(表)。在栈中,一端是封闭的,既不 允许进行插入元素,也不允许删除元素;另 一端是开口的,允许插入和删除元素。通常 称插入、删除的这一端为栈顶,另一端为栈 底。当表中没有元素时称为空栈。
点(即叶子结点)总是比度为2的结点多一个。 性质4:具有n个结点的二叉树,其深度至
少为[log2n]+1。
考点 二叉树及其基本性质 19
3、满二Байду номын сангаас树与完全二叉树 满二叉树: 除最后一层外,每一层上的
所有结点都有两个子结点。 一棵深度为k 且有2k -1个结点的二叉树。
(特点:每层都“充满”了结点)
A
B
C
D
E
F
G
H IJK
L MN O
深度为4的满二叉树
20
完全二叉树: 除最后一层外,每一层上的结点 数均达到最大值;在最后一层上只缺少右边的 若干结点。
深度为k 的,有n个结点的二叉树,当且仅当其
每一个结点都与深度为k 的满二叉树中编号从1
至n的结点一一对应。
完全二叉树的特点就是,只有最后一层叶子不
是否会认为老师的教学方法需要改进? • 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭 • “不怕太阳晒,也不怕那风雨狂,只怕先生骂我
笨,没有学问无颜见爹娘 ……” • “太阳当空照,花儿对我笑,小鸟说早早早……”
2.算法复杂度 算法复杂度包括时间复杂度和空间复杂度。
考点 算法的复杂度
5
1.2 数据结构
考点 线性结构和非线性结构
8
在一个线性结构中插入或删除任何一个 结点后还应是线性结构。
栈、队列、字符串等都是线性结构。
数组、广义表、树和图等数据结构都是 非线性结构。
P153
9
1.3 栈
栈限定只在一端进行插入与删除的线性 结构(表)。在栈中,一端是封闭的,既不 允许进行插入元素,也不允许删除元素;另 一端是开口的,允许插入和删除元素。通常 称插入、删除的这一端为栈顶,另一端为栈 底。当表中没有元素时称为空栈。
全国计算机等级考试二级_公共基础知识精品PPT课件

4.数据的运算:检索、排序、插入、删除、修改等。
14
三、线性表 线性表是最简单的、最常用的一种线性结构。 1.线性表的定义:线性表是n个元素的有限序列,它们
之间的关系可以排成一个线性序列:a1,a2,…… ,ai,…… ,an ,其中n称作表的长度,当n=0 时,称作空表。 线性表(非空线性表)必须同时满足以下3个条件: (1)有且只有一个根结点a1,它无前件。 (2)有且只有一个终端结点an,它无后件。 (3)除根结点与终端结点外,其他所有结点有且只 有一个前件,也有且只有一个后件。
线性表的定义、线性表的顺序存储结构及其插入与删除运算。
栈和队列的定义、栈和队列的顺序存储结构及其基本运算。
线性单链表、双向链表与循环链表的结构及其基本运算。
树的基本概念,二叉树的定义及其存储结构,二叉树的前序、 中序和后序遍历。
顺序查找与二分法查找算法、基本排序算法(交换类排序、选 择类排序与插入类)。
8
A.二元关系表示方法:一个数据结构可以表示为B=( D、R),其中R用二元组来表示(a、b)。 a表示前 件, b表示后件。 例如,一年四季的数据结构可以表示成: B=(D、R) D={春,夏,秋,冬} R={(春,夏),(夏,秋),(秋,冬)}
B.在图形表示方法中,用中间标有元素值的方框来表示 数据元素,称为数据结点,简称为结点;用一条有 向线段从前件结点指向后件结点(注意:有时可以 省略箭头)来表示元素之间的前后关系。
16
例:正确表示线性表(A1,A2,A3,A4)的顺序结 构是( )
二级公共基础知识
二级公共基础知识
第一章 算法与数据结构 第二章 程序设计基础 第三章 软件工程基础 第四章 数据库设计基础
2
本章要求
14
三、线性表 线性表是最简单的、最常用的一种线性结构。 1.线性表的定义:线性表是n个元素的有限序列,它们
之间的关系可以排成一个线性序列:a1,a2,…… ,ai,…… ,an ,其中n称作表的长度,当n=0 时,称作空表。 线性表(非空线性表)必须同时满足以下3个条件: (1)有且只有一个根结点a1,它无前件。 (2)有且只有一个终端结点an,它无后件。 (3)除根结点与终端结点外,其他所有结点有且只 有一个前件,也有且只有一个后件。
线性表的定义、线性表的顺序存储结构及其插入与删除运算。
栈和队列的定义、栈和队列的顺序存储结构及其基本运算。
线性单链表、双向链表与循环链表的结构及其基本运算。
树的基本概念,二叉树的定义及其存储结构,二叉树的前序、 中序和后序遍历。
顺序查找与二分法查找算法、基本排序算法(交换类排序、选 择类排序与插入类)。
8
A.二元关系表示方法:一个数据结构可以表示为B=( D、R),其中R用二元组来表示(a、b)。 a表示前 件, b表示后件。 例如,一年四季的数据结构可以表示成: B=(D、R) D={春,夏,秋,冬} R={(春,夏),(夏,秋),(秋,冬)}
B.在图形表示方法中,用中间标有元素值的方框来表示 数据元素,称为数据结点,简称为结点;用一条有 向线段从前件结点指向后件结点(注意:有时可以 省略箭头)来表示元素之间的前后关系。
16
例:正确表示线性表(A1,A2,A3,A4)的顺序结 构是( )
二级公共基础知识
二级公共基础知识
第一章 算法与数据结构 第二章 程序设计基础 第三章 软件工程基础 第四章 数据库设计基础
2
本章要求
最新二级公共基础知识ppt课件

➢ 对它的操作通常是插入某个学生的信息,删除某个学生的信息,更新某 个学生的信息,按条件检索某个学生的信息等。
25
❖ 应用举例2——家庭血缘关系图 表示家庭成员的辈分关系,使用下图1-1所示的形式描述。
1
12
21
312
132
123
321
231
213
图 1-1 特点:
家庭血缘关系图
➢ 在求解过程中,所处理的数据之间具有层次关系,这是我们
18
算法 与数 据结构
3、算法设计的基本方法
❖ 列举法 ❖ 归纳法 ❖ 递推 ❖ 递归(以简洁的形式设计和描述算法) ❖ 减半递推技术 ❖ 回溯法
19
算法 与数 据结构
二、算法的复杂度
1、时间复杂度
❖ 依据算法编制的程序在计算机上运行时所消耗的时间 来度量。通常有事后统计法和事前分析估算法。
❖ 一个算法是由控制结构(顺序、分支和循环)和原操 作构成的,算法时间取决于两者的综合效果。
对数据的讨论不单是数据本身,还要包括数据与数 据之间的关系。
24
❖ 应用举例1——学籍档案管理 假设一个学籍档案管理系统应包含如下表所示的学生信息。
学号 99070101 99070102 99070103 99070104
......
学 生 基 本 情 况
姓名 性别 出 生 年 月
李军 男 80. 12
进行了解,并掌握关系模型的数据结构、关系的操作和数据约束等知识; 3、了解关系模型的基本操作,掌握关系模型的基本运算及扩充运算; 4、了解数据库的设计与管理,掌握数据库设计的几个阶段的方法和特点。 9
二级公共基础知识
第一章 算法与数据结构
返回
全国计算机等级考试二级公共基础知识精品PPT课件

二级公共基础知识
11
一、算法
全国计算机等级考试
National Computer Rank Examination
5、在计算机中,算法是指( B )
A) 加工方法
B) 解题方案的准确而完整的描述
C) 排序方法
D) 查询方法
6、下列叙述中正确的是( B )
A) 算法的效率只与问题的规模有关,而与数据的存储结构无关。
全国计算机等级考试
二级公共基础知识
8
一、算法
全国计算机等级考试
National Computer Rank Examination
算法的基本要素: (1)对数据对象的运算和操作: A .算术运算 B .逻辑运算 C .关系运算 D .数据传输 (2)算法的控制结构: A .顺序结构 B .选择结构 C .循环结构
全国计算机等级考试
National Computer Rank Examination
算法
算法的定义 算法的特征 算法的基本要素 算法复杂度
数据结构的定义
数据结构
逻辑结构 和 物理结构
线性结构 和 非线性结构
顺序表、链表、堆栈 队列、循环队列、树
全国计算机等级考试
二级公共基础知识
7
一、算法
全国计算机等级考试
数据 结构
数据本身
数据之间的 前后件关系
数据结构表示为:DS={D,S} 例:D={春,夏,秋,冬}
S={(春,夏),(夏,秋),(秋,冬),(冬,春)}
全国计算机等级考试
二级公共基础知识
13
二、数据结构
全国计算机等级考试
National Computer Rank Examination
全国计算机等级考试二级公共基础知识课件版

需求分析
通过与用户交流,了解其需求 和业务规则,为设计提供依据 。
逻辑设计
将概念设计转化为逻辑模型, 确定表、字段及约束。
数据库设计概述
根据用户需求,规划、创建和 管理数据库的过程。
概念设计
使用概念模型进行设计,确定 实体、属性及关系。
物理设计
确定数据的物理存储结构,如 文件类型、存储路径等。
2023-2026
查找
查找定义
查找是从数据结构中找出特定元素的过程。
查找算法
常见的查找算法包括顺序查找、二分查找等。
查找效率
查找效率取决于数据结构的类型和数据的分布情况。
排序
排序算法
常见的排序算法包括冒泡排序、插入排序、 快速排序等。
排序定义
排序是将一组数据按照某种规则排列的过程 。
排序效率
排序效率取决于排序算法的时间复杂度和数 据量的大小。
PART 04
数据库设计基础
数据库基本概念
数据库
是长期存储在计算机内的、有组织的、可共享的数 据集合。
数据模型
是抽象表示现实世界数据和数据间关系的数据结构 。
数据库管理系统
是管理数据库的系统软件,用于建立、使用和维护 数据库。
数据模型
概念模型
用图形方式(如实体-联系图)表示数据概念及数 据间关系。
二叉树定义
二叉树是一种特殊的树,每个节点最多有两个子 节点。
二叉树性质
二叉树的性质包括二叉树的遍历、二叉树的平衡 等。
图
01
图定义
图是由节点和边组成的集合,表 示对象之间的关系。
图遍历
02
03
Байду номын сангаас
图的应用
通过与用户交流,了解其需求 和业务规则,为设计提供依据 。
逻辑设计
将概念设计转化为逻辑模型, 确定表、字段及约束。
数据库设计概述
根据用户需求,规划、创建和 管理数据库的过程。
概念设计
使用概念模型进行设计,确定 实体、属性及关系。
物理设计
确定数据的物理存储结构,如 文件类型、存储路径等。
2023-2026
查找
查找定义
查找是从数据结构中找出特定元素的过程。
查找算法
常见的查找算法包括顺序查找、二分查找等。
查找效率
查找效率取决于数据结构的类型和数据的分布情况。
排序
排序算法
常见的排序算法包括冒泡排序、插入排序、 快速排序等。
排序定义
排序是将一组数据按照某种规则排列的过程 。
排序效率
排序效率取决于排序算法的时间复杂度和数 据量的大小。
PART 04
数据库设计基础
数据库基本概念
数据库
是长期存储在计算机内的、有组织的、可共享的数 据集合。
数据模型
是抽象表示现实世界数据和数据间关系的数据结构 。
数据库管理系统
是管理数据库的系统软件,用于建立、使用和维护 数据库。
数据模型
概念模型
用图形方式(如实体-联系图)表示数据概念及数 据间关系。
二叉树定义
二叉树是一种特殊的树,每个节点最多有两个子 节点。
二叉树性质
二叉树的性质包括二叉树的遍历、二叉树的平衡 等。
图
01
图定义
图是由节点和边组成的集合,表 示对象之间的关系。
图遍历
02
03
Байду номын сангаас
图的应用
计算机二级公共基础知识PPT课件

与数据在计算机中的存 储位置无关,是独立于 计算机的。
2021
9
数据的存储结构
数据的存储结构是数据元素及其关系在计算机存储器中 的表示。存储结构的主要内容是指在存储空间中使用一 个存储结点来存储一个数据元素,在存储空间中建立各 存储结点之间的关联,来表示数据元素之间的逻辑关系。
常见的存储结构:
一个直接后继
非线性结构
非线性结构的逻辑特征是:一个结点可能有多个直接 前驱和直接后继,树和图都属于非线性结构。
2021
11
线性表
通常以下列 n 个数据元素的序列”表示 线性表 :
(a1,a2 ,...,ai ,...,an) 序列中数据元素的个数 n 定义为线性表
的表长;n=0 时的线性表被称为空表。 称 i 为ai在线性表中的位序。
Q:图中非终端结点有几个? 5
2021
25
树型结构的常用术语
结点的层次 树中根结点的层
①
次为1,根结点子树的根为第2层,
以此类推;
②B
A CD
树的深度 树中所有结点层次的 ③ E
最大值; Q:图中树的深度?
④
F GH I J KM
2021
26
二叉树
二叉树是n(n≥0)个数据元素的 有限集,它或为空集,或者含有 唯一的称为根的元素,且其余元 素分成两个互不相交的子集,每 个子集自身也是一棵二叉树,分 别称为根的左子树和右子树。
2021
20
单链表的插入和删除
pa
b
px
x
pa
b
px
x
pa
b
c
2021
21
双向链表和循环链表
在双向链表中的结点包含两个指针域,其中一个指向直接后继,另 一个指向直接前驱。
2021
9
数据的存储结构
数据的存储结构是数据元素及其关系在计算机存储器中 的表示。存储结构的主要内容是指在存储空间中使用一 个存储结点来存储一个数据元素,在存储空间中建立各 存储结点之间的关联,来表示数据元素之间的逻辑关系。
常见的存储结构:
一个直接后继
非线性结构
非线性结构的逻辑特征是:一个结点可能有多个直接 前驱和直接后继,树和图都属于非线性结构。
2021
11
线性表
通常以下列 n 个数据元素的序列”表示 线性表 :
(a1,a2 ,...,ai ,...,an) 序列中数据元素的个数 n 定义为线性表
的表长;n=0 时的线性表被称为空表。 称 i 为ai在线性表中的位序。
Q:图中非终端结点有几个? 5
2021
25
树型结构的常用术语
结点的层次 树中根结点的层
①
次为1,根结点子树的根为第2层,
以此类推;
②B
A CD
树的深度 树中所有结点层次的 ③ E
最大值; Q:图中树的深度?
④
F GH I J KM
2021
26
二叉树
二叉树是n(n≥0)个数据元素的 有限集,它或为空集,或者含有 唯一的称为根的元素,且其余元 素分成两个互不相交的子集,每 个子集自身也是一棵二叉树,分 别称为根的左子树和右子树。
2021
20
单链表的插入和删除
pa
b
px
x
pa
b
px
x
pa
b
c
2021
21
双向链表和循环链表
在双向链表中的结点包含两个指针域,其中一个指向直接后继,另 一个指向直接前驱。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
h
22
3.2.2 结构化分析方法
• 数据流图:基本图形元素
加工
数据流
存储文件
源、潭
h
23
3.2.2 结构化分析方法
• 数据流图:分层数据流图
h
24
3.2.2 结构化分析方法
• 2.结构化分析的常用工具
– 数据字典
• 结构化分析方法的核心 • 对数据流图中出现的被命名的图形元素的确切解释
判定树
– 判定树 – 判定表
h
2
3.1 软件工程基本概念软件特点
• 1.软件的定义和组成
– 定义:
• 计算机软件(Software)是计算机系统中与硬件相 互依赖的另一部分。
– 组成:
• 程序 • 数据 • 文档
– 国标(GB)定义
• 与计算机系统的操作有关的计算机程序、规程、规 则,以及可能有的文件、文档及数据。
• 运行维护阶段
– 使用,不断维护
h
12
3.1.4 软件工程的目标与原则
• 1.软件工程的目标
– 成功的项目:
• 成本 • 功能 • 移植 • 维护费用 • 按时 • 及时交付
– 目标:
• 在给定成本、进度的前提下,开发出具有有效性、可靠性、可 理解性、可维护性、可重用性、可适应性、可移植性、可追踪 性和可互操作性且满足用户需求的产品
h
5
3.1.1 软件定义与软件特点(续)
• 3.软件的分类
– 应用软件 – 系统软件
• 操作系统 • 数据库管理系统 • 设备驱动程序 • ……
– 支撑软件
h
6
3.1.2 软件危机与软件工程
• 1.软件危机
– 软件工程源自于软件危机 – 主要表现:
• 软件需求的增长得不到满足 • 软件开发成本和进度无法控制 • 软件质量难以保证 • 软件不可维护或维护程度非常低 • 软件成本不断提高 • 软件开发生产效率的提高赶不上硬件的发展和应用需求的增长
h
16
3.2 结构化分析方法
h
17
3.2.1 需求分析与需求分析方法
• 1.需求分析
– 定义:
• 任务:导出目标系统的逻辑模型,解决“做什么”的问题 • 全面理解用户的各项要求 • 准确地表达各项要求
– 主要工作:
• 需求获取 • 需求分析 • 编写需求规格说明书 • 需求审评
h
18
3.2.1 需求分析与需求分析方法
• 2.需求分析方法
– 结构化分析方法
• 面向数据流的结构化分析方法(SA) • 面向数据结构的Jackson方法(JSD) • 面向数据结构的结构化数据系统开发方法(DSSD)
– 面向对象分析方法(OOA)
• 静态分析方法 • 动态分析方法
h
19
3.2.2 结构化分析方法
• 1.关于结构化分析方法
– 确定性 – 一致性 – 完备性 – 可验证性
h
15
3.1.5 软件开发工具与软件开发 环境
• 1.软件开发工具
– 协助开发人员进行软件开发活动所使用的软件 或环境
– 需求分析工具、设计工具、编码工具、排错工 具、测试工具等。
• 2.软件开发环境
– 全面支持软件开发全过程的软件工具的集合 – 计算机辅助软件工程:CASE
– 归结为成本、质量和生产率等问题
h
7
3.1.2 软件危机与软件工程
• 2.软件工程的产生与定义
– 软件工程学——工程学的新兴领域 – 定义:
• 国标(GB):应用于计算机软件的定义、开发和维护的一整 套方法、工具、文档、实践标准和工序。
• 德国人Fritz Bauer:软件工程是建立并使用完善的工程化原则, 以较经济的手段获取能在实际机器上有效运行的可靠软件的一 系统方法。
• 1.软件工程过程
– P(Plan)——软件规格说明 – D(Do)——软件开发 – C(Check)——软件确认 – A(Action)——软件演进
h
10
3.1.3 软件工程过程与软件生命 周期
• 软件产品从提出、实 现、使用维护、停止 使用到退役的过程
– 3个阶段
– 6个阶段工作
可行性研究 初步项目计划
h
4
3.1.1 软件定义与软件特点(续)
• 2.软件的特点
– 软件是一种逻辑实体,而不是具体的物理实体, 具有抽象性
– 软件没有明显的制造过程。对软件的质量控制, 必须在软件开发方面下功夫
– 软件不存在老化问题,但存在退化问题,必须 要修改和维护
– 对计算机系统有着依赖性——软件移植的问题 – 软件复杂性高,开发和维护成本高 – 软件开发涉及诸多社会因素
二级公共基础知识
第3章 软件工程基础
h
1
内容提要
• 软件工程基本概念,软件生命周期概念, 软件工具与软件开发环境。
• 结构化分析方法,数据流图,数据字典, 软件需求规格说明书。
• 结构化设计方法,总体设计与详细设计。 • 软件测试的方法,白盒测试与黑盒测试,
测试用例设计,软件测试的实施,单元测 试、集成测试和系统测试。 • 程序的调试
– 结构化程序设计理论在需求分析阶段的运用 – 面向数据流进行需求分析的方法 – 自顶向下、逐层分解 – 主要工具:数据流图、数据字典
h
20
3.2.2 结构化分析方法
• 2.结构化分析的常用工具
– 数据流图(DFD) – 数据字典 – 判定树 – 判定表
h
21
3.2.2 结构化分析方法
• 数据流图
• IEEE:将系统的、规范的、可度量的方法应用于软件开发、 运行和维护的过程,即将工程应用于软件中。
– 主要思想:在软件开发过程中需要应用工程化原则的 重要性
h
8
3.1.2 软件危机与软件工程
• 2.软件工程的产生与定义
– 软件工程3个要素:
• 方法 • 工具 • 过程
h
9
3.1.3 软件工程过程与软件生命 周期
h
13
3.1.4 软件工程的目标与原则
• 2.软件工程学的范畴
软件工程
软件开发技术 软件工程管理
软件开发方法学 软件开发过程 软件开发工具 软件工程环境 软件管理学 软件工程经济学 软件心理学
h
14
3.1.4 软件工程的目标与原则
• 3.软件工程的原则
– 抽象 – 信息隐蔽 – 模块化 – 局部化
定义 阶段
需求分析
概要设计
详细设计
开发
实现
阶段
测试
使用
维护
维护 阶段
退役
h
11
3.1.3 软件工程过程与软件生命 周期
• 定义阶段
– 制定计划:”能做吗?“ – 需求分析:“做什么?”
• 开发阶段:
– 软件设计:“如何做?”,分为概要设计和详细设计 两个阶段。
– 软件实现:“实现”,编码。 – 软件测试:”做的怎么样?“