计算机软件技术基础

合集下载

[计算机软件技术基础(第三版)麦中凡 苗明川 何玉洁]第十一章_软件开发与软件维护

[计算机软件技术基础(第三版)麦中凡 苗明川  何玉洁]第十一章_软件开发与软件维护

返回
20
一个圈就是一个过程/函数,可退化为一 个语句,也可再分解为一个子DFD图,出入的数
据流不变。 返回
21
控制流图
扩充DFD图为CFD(Control Flow Diagram)图,把控制动作以虚 线表示,非控制动作仍如DFD图。大圆圈依然是处理功能,虚箭头上 标明控制项(或事件)名。同样,平行虚线表示控制项存储(图11.14中 未示出),竖线条表示控制(规格)说明,即系统的行为。下面是复印 机的控制流图。
返回
15
状态图(State)
状态图描述某个对象实体因事件改变其状态,也就是行 为的综合快照,即在什么事件驱使下状态有什么改变。在需求 分析和设计中可以帮助找出遗漏和不太明确的功能(事例)。例 如旅店系统中的客房,用RoomState类来描述客房状态,则用 状态图对它建模,如图11.10所示。
返回
返回软件需求的目标是把用户的“需要”变成系统开发 的“需求”,或称需求规范。这个工作大体上分三 步:收集用户、市场、公司对本项目的需要;经过 分析建立解题模型;细化模型,抽取需求。请注意, 这个需求每一条都是系统测试的验收准则,所以模 型要细化到能写出可验收需求的程度,决不能太笼 统,如“开发一个办公室系统要灵活、方便好用。” 就不是一个好的需求,因为它既不能指导开发,也 无法验收。好的需求具有众多特点,归纳下来主要 有:一致的,完整的,可理解的,无二异的,和可 测试的。
返回
17
活动图(activity)
在分析和设计时,UML的活动图十分有用。它把传统的流 程图(Flowchart,只描述程序的动作步骤)和数据流图(DFD,只 描述动作后输入/输出数据的改变,不看步骤先后)结合在一起。 活动图既有控制流(顺序、分支、循环)又有数据流(每个动作点 前后数据变化),增加了数据、动作的同步分支,并且给每个对 象一个泳道,清晰地描述了对象间数据传递。较粗的活动图用于 分析,在设计时细化。在下节给出例子。

计算机二级软件技术基础试题及答案

计算机二级软件技术基础试题及答案

二级等级考试软件技术基础试题及答案一、选择填空题:1.栈和队列是两种特殊的线性表,栈的特点是(D ),队列的特点是(C),二者的共同特点是只能在它们的(A)处添加和删除结点。

A.端点B.中间点 C.先进先出D.后进先出2.线性表结构的查找方法有顺序查找法,二分查找法等。

顺序查找法适用于查找(A或B)或(B或A)的线性表,二分查找法只适用于查找顺序存储的( C )的线性表。

A.顺序存储B.链接存储 C.索引存储D.已排序E.未排序3.下图所示的二叉树中的分支结点有(A);按前序法遍历该二叉树得到的结点序列是(C);按中序遍历该二叉树得到的结点序列是(B);按后序法遍历得到的结点序列是(D)。

AB DC EI H FJ GA.A、B、C、D、E、F B.BICAHEJFGDC.ABCIDEHFJG D.ICBHJGFEDA4.在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶结点都在同一层上,这样的二叉树称为( C );如果一棵二叉树至多只有最下面的两层上的结点度数可以小于2,并且最下一层上的结点都集中在该层最左边的若干位置上,此二叉树称为(A);二叉排序树左子树上所有结点的关键字均( D )根结点的关键字;右子树上所有结点的关键字均(G )根结点的关键字。

A.完全二叉树B.非完全二叉树 C.满二叉树D.小于E.大于F.小于等于G.大于等于5.(B )查找要求查找表中的数据是有序的,而(A)查找不要求查找表中的数据是有序的。

( C )排序是顺序地把待排序列中的各个元素按其排序码的大小,插入到已排序的适当位置上;( E )排序是不断从待排序的序列中选取排序码最小的数据元素放到已排序的元素列的后面,直到序列中所有记录都已排序为止;( F )排序是每次对相邻两个元素的排序码进行比较,当不符合次序即交换位置,直到所有相邻两元素的次序合理为止。

A.顺序B.二分C.简单插入D.快速E.简单选择F.冒泡 G.归并6.SA法的SD法是软件开发过程常用的方法,人们使用SA法可以得到( D ),这种方法采用的基本手段同(A);使用SD法时可以得到(C ),并可实现( B )。

软件技术基础模拟试题(精)

软件技术基础模拟试题(精)

软件技术基础模拟试题(第二十四次省统考一、是非判断题(正确选填A,错误选填B(每小题1分,共10分1. 顺序表和线性链表的物理存贮形式都是顺序存贮。

( 12. 数据类型是某种程序设计语言中已实现的数据结构。

( 23. 如果通过软件测试没有发现错误,则说明软件是完全正确的。

( 34. 快速原型模型可以有效地适应用户需求的动态变化。

( 45. 不同进程之间的动作在时间上不能重叠。

( 56. 分区式存储管理能够进行存储空间共享。

( 67. 链接文件和索引文件都可以非连续存放。

( 78. 中断处理一般分为中断响应和中断处理两个步骤。

前者由软件实施,后者主要由硬件实施。

( 89. 在C++语言中,“重载”表达了最简单的多态性。

( 910.进程调度根据一定的调度算法,从等待队列中挑选出合适的进程。

( 10(参考答案:1~10:ABBAB BABAB二、单项选择题:(每小题1分,共5分1. 在数据结构中,一个存储结点存放一个(11 。

11 (A 数据项(B 数据元素(C 数据结构(D 数据类型2. 把逻辑地址转变为存储的物理地址的过程称作(12 。

12 (A 编译(B 连接(C 运行(D 重定位3. SPOOLing技术可以实现设备的(13 分配。

13 (A 虚拟(B 共享(C 独占(D 物理4. 允许用户把若干作业提交计算机系统集中处理的操作系统称为(14 。

14 (A 分时操作系统(B 实时操作系统(C 网络操作系统(D 批处理操作系统5. 进程从运行状态进入就绪状态的原因可能是(15 。

15 (A 被选中占有处理机(B 时间片用完(C 等待的事件已发生(D 等待某一事件(参考答案:BBADB软件技术基础模拟试题(第二十三次省统考一、是非判断题(正确选填A,错误选填B(每小题1分,共10分1. 数据在计算机内在中的表示是指数据的存储结构。

( 12. 能影响中断响应次序的技术是中断优先级和中断屏蔽。

( 23. 链表可以随机访问任意一个结点,而顺序表则不能。

计算机软件技术编程基础 排序

计算机软件技术编程基础 排序

21
47
48
56
85
89
对于长度为n的序列,选择序列需要扫描n-1遍,每次扫 描均从剩余的子表中找出最小的元素,然后将最小的元 素与子表中的第一个元素进行交换。
比较次数:(n-1)+(n-2)+…+2+1=n(n-1)/2
交换次数:n-1 时间复杂度O(n2)
四 归并排序
基本思想:将两个或两个以上的有序表合并成一个新的有序表。 步骤: 将整个表看成n个有序子表,每个子表长度为1; 两两归并,得到长度为2的n/2个子表; 再两两归并,一直得到长度为n的有序表为止;
关键字最小的安置到最前面
对剩余的线性表重复操作 1 1 1 1 1 1 1 1 5 5 3 3 3 2 3 5 2 3 2 3 2 2 52 5 4 5 6 6 6 56 4 7 4 7 4 6 4 4 6 8 8 8 8 9 9 9 9
74 7 6 6 6 6 7 7
1
1
2
3
4
5
6
6
7
8
9
对线性表的每次来回操作都将最大的沉到表底,最小的像气 泡冒到表头。
2 希尔排序——缩小增量排序
基本步骤: 1 取一个正整数h1=n/2, 每隔步长h1取一个元素,放在一个组中,在 各组中进行插入排序。
0
7
1
19
2
24
3
13
4
31
5
8
6
82
7
18
8
44
9
63
10
5
11
29
h1=12/2
7 19 24 13 31 8 82 18 44 63 5 29

软件技术基础总结

软件技术基础总结

*程序=算法+数据结构*软件=程序+文档*程序:用计算机语言描述的某一问题的解决步骤*程序的特性:1、程序是静态的2、程序是由程序语言抽象的符号表达3、程序是对数据实行算法的过程4、程序是分层嵌套的*软件的分类:系统文件、程序文件*软件的特性:1、软件是功能、性能相对完善的程序系统;2、软件是具有使用性能的软设备;3、软件是信息商品。

*高级程序设计语言的实现:编译(编译器)和解释(解释器)*程序控制结构:顺序、条件分支、循环*类的特性:抽象性、封装性、继承性、多态性*算法:一个算法就是一个有穷规则的集合,规定了解决某类问题的运算序列。

*算法的表示语言:自然语言、伪代码、流程图*算法特性:有穷性、确定性、可行性、0或多个输入、1或多个输出*算法的评价:正确性、时间复杂性、占用空间、简单性能、最优性*时间复杂性:常见算法的复杂性,随n的增长而增长,最快的为n!;起泡排序算法复杂性是O(n2)最快;快速排序算法的复杂性是O(n log2n)最快*递归:从递归给定的参数出发递归到达边界,然后逐渐回归,直到求出f n;f(n)→f1→f(n) *递推与递归的联系及区别:递推法其数学公式也是递归的,只是在实现计算时迭代方向相反。

[递推:f1→f n]*数据结构从:逻辑结构、存储结构、数据运算三方面研究*线性表(1:1):四个唯一:唯一的“第一个”数据元素;唯一的“最后一个”数据元素;除第一个元素外每个元素有且只有一个前去元素;除最后一个元素外每个元素有且只有一个后续元素。

*链表的插入算法:voidInsertLink(pointer list,q;int item){GetNode(p)p->Info=itemif(list=Nil){list=p;list->next=nil}else{p->next=q->next;q->next=p}} (详见P88)*树(1:n)*二叉树:每个节点最多有两个子树的特殊树。

大学计算机软件技术基础考试技术复习题

大学计算机软件技术基础考试技术复习题

线性表采用链式存储时,结点的存储地址()A.必须是不连续的B.连续与否均可C.必须是连续的D.和头结点的存储地址相连续由两个栈共享一个向量空间的好处是:()A.减少存取时间,降低下溢发生的机率B.节省存储空间,降低上溢发生的机率C.减少存取时间,降低上溢发生的机率D.节省存储空间,降低下溢发生的机率假设以带行表的三元组表表示稀疏矩阵,则和下列行表对应的稀疏矩阵是()A.08067000000050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥B.08067000504000000300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥C.08060000020050400000--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥D.08060000700050400300--⎡⎣⎢⎢⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⎥⎥在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( )A.4 B.5 C.6 D.7一棵含18个结点的二叉树的高度至少为( C )A.3B.4C.5D.6已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为( D ) A.DEBAFC B.DEFBCA C.DEBCFA D.DEBFCA无向图中一个顶点的度是指图中( B )A.通过该顶点的简单路径数B.与该顶点相邻接的顶点数C.通过该顶点的回路数D.与该顶点连通的顶点数设顺序存储的线性表共有123个元素,按分块查找的要求等分成3块。

若对索引表采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为( B )A.21B.23C.41D.62在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( )A.e B.2e C.n2-e D.n2-2e用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采用的排序方法是()A.选择排序B.希尔排序C.归并排序D.快速排序数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储(或存储结构)无关,是独立于计算机的。

计算机技术与软件专业知识点梳理

计算机技术与软件专业知识点梳理计算机技术与软件专业是现代社会中重要的学科方向之一,掌握相关知识点对于求职、项目开发和创新研究都具有重要意义。

本文将对计算机技术与软件专业中的一些关键知识点进行梳理,帮助读者更好地理解和应用这些知识。

一、计算机基础知识1.1 计算机硬件组成计算机硬件包括中央处理器(CPU)、内存(RAM)、硬盘、显示器等重要组成部分。

CPU负责执行计算机指令,内存用于存储数据和指令,硬盘用于长期存储数据,显示器用于显示图像和文字。

1.2 计算机网络计算机网络是将多台计算机互联起来,实现数据传输和共享资源的系统。

常见的计算机网络包括局域网(LAN)、广域网(WAN)和互联网。

读者应该了解网络结构、协议以及网络安全等相关知识。

二、数据结构与算法2.1 数据结构数据结构是计算机中组织和存储数据的方式,常见的数据结构包括数组、链表、栈、队列、树和图等。

不同的数据结构适用于不同的应用场景,读者应熟悉它们的原理和应用。

2.2 算法算法是解决问题的步骤或方法,它可以运用在各个领域,从简单的排序算法到复杂的图算法。

有时候同一个问题可以有多种不同的算法解决方案,读者应该熟悉常见的算法和其时间复杂度。

三、编程语言与开发技术3.1 编程语言计算机软件开发中常用的编程语言包括C、C++、Java、Python、JavaScript等。

每种编程语言都有其特点和适用场景,读者应熟悉并掌握一种或多种编程语言。

3.2 开发技术随着技术的不断发展,出现了许多开发技术和框架,例如Web开发中的HTML、CSS、前端框架,移动开发中的Android、iOS开发等。

读者应该了解并学习这些开发技术,以适应行业发展。

四、软件工程与项目管理4.1 软件开发周期软件开发周期包括需求分析、设计、编码、测试和维护等阶段。

了解软件开发周期的不同阶段和相应的工作内容,有助于合理规划和组织软件开发项目。

4.2 软件测试与质量保证软件测试是确保软件质量的重要环节,包括功能测试、性能测试、安全测试等。

2.4 计算机软件与技术基础

3
7、数组A[1‥40,1‥30]采用三元组表示,设数组元素与下标均为整型, 则在非零元素个数小于( )时,才能节省存储空间。 A.1200 B.401 C.399 D.400 8、一维数组通常采用顺序存储结构,这是因为( )。 A.一维数组是一种线性数据结构 B.一维数组是一种动态数据结构 C.一旦建立了数组,则数组中的数据元素之间的关系不再变动 D.一维数组只能采用顺序存储结构 9、对稀疏矩阵进行压缩存储的目的是( )。 A.方便存储 B.节省存储空间 C.方便运算 D.节省运算时间
2
4、二维数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的 串,行下标i的范围从0到4,列下列j的范围从0到5。M按行存储时元素 M[3,5]的起始地址与M按列存储时元素( )的起始地址下同。 A.M[2,4] B.M[3,4] C.M[3,5] D.M[4,4] 5、设二维数组为M[0‥8,0‥10],每个元素占2L个存储单元,以行序为 主序存储,第一个元素的存储位置为P。存储位置为P+50L的元素为 ( )。 A.M[2,3] B.M[2,2] C.M[3,3] D.M[3,4] 6、设二维数组A的维数界偶定义为[1‥8,0‥10],起始地址为LOC,每 个元素占2L个存储单元,以行序为主序存储方式下,某数据元素的地址 为LOC+50L,则在列序为主序存储方式下,该元素的存储地址为( )。 A.LOC+28L B.LOC+36L C.LOC+50L组
选择题 填空题
1
例一、选择题
1、设6行8列的二维数组A6×8=(aij)按行优先顺序存储,若 第一个元素的存储位置为200,且每个元素占3个存储单元,则元素 a54的存储位置为( )。 A.308 B.305 C.266 D.269 2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为 主存储,a11为第一个元素,其存储地址为1,每元素占1个地址空间, 则a85的地址为( )。 A.13 B.33 C.18 D.40 3、设二个数组为A[0‥7]、B[-5‥2,3‥8],则这两个数组分 别能存放的字符的最大个数是( )。 A.7和35 B.1和5 C.8和48 D.1和6

计算机软件技术的基础知识


2、 数据结构基础
●基本概念和术语
(2)数据元素 (data
(1)数据(data): element): 是数据的
是客观事物的符号表示, 基本单位。有些情况下,
它能够被计算机识别、 储存和加工处理。它是
数据元素又称为元素、 结点(node)、记录 (record)。有时,一
计算机程序加工处理的 个元素可由若干数据项
e.排序操作:按给定要求对表中元素重新排 列。
并非任何时候都需要同时执行以上运算,对 于不同问题中的线性表,所需要执行的运算可能 不同。一般给出一组基本的运算,对于实际问题 中所涉及的更为复杂的运算,可以用基本运算的 组合来实现。
(3)线性表的存储结构
线性表的存储结构有两种:顺序存储结构和
链式存储结构。

L24
图3-2 链式存储结构示意图
结点1 结点2
结点3
结点4 结点5
由图3-2可见,数据元素之间的逻辑关系 是用指针来链接的。对于每个数据元素,除 了元素值以外,还有一个指针(或链)用来 指示另一个数据元素的地址。我们将这个由 数据元素的值和指针组成的总体称为结点, 表示一个数据元素。链表中各结点的位置在 内存中是任意的,通过指针将它们联系起来。 逻辑上最后的结点指针不指向任何地方,常 用“∧”表示。
如图3-2所示。
3-1所示。
由图3-1可知顺序结 构存储有以下特点:
A.存储结构的存储 密度大,存储空间利用 率高。
B.能够快速、随时 访问其中任意元素。
C.对该表进行插入 或删除操作时,为保证 线性表的连续性,则会 引起大量数据元素的移 动。
D.存储容量不宜扩 充。
……
…… ……
元素地址 内存状态 L1 元素1

计算机软件技术基础作业1

在面向对象的程序设计中,可被对象识别的动作称为( )。

B A.方法 B.事件 C.过程 D.函数如果窗体上的标签控件是激活的,现在要对窗体进行属性设置,则(),然后在属窗口中进行设置。

A A.单击标签控件 B.双击标签控件 C.在窗体上的空白处单击 D.在窗体上的空白处双击要存放一个人的年龄数据,使用下面的()数据类型占用的字节数最少。

A A.Short B.Byte C.Integer D.Long日期型数据常量的格式是()。

A A.#mm/dd/yyyy# B. mm-dd-yyyy C. mm&dd&yyyy D. mm/dd/yyyy在设计阶段,双击窗体Form1的空白处,打开代码窗口,显示下面哪个事件过程()。

C A.Form1_Click B.Form1_Enter C.Form1_Load D.Form1_MouseEnter在IDE环境中,进行窗体和控件的属性设置,可以在()中进行操作。

B A.解决方案资源管理器 B.属性窗口 C.工具箱 D.IDE菜单一个简单的VB窗体应用程序被设计后,肯定有()文件。

A A.窗体文件和项目文件 B.模块文件和文本文件 C.窗体文件和模块文件 D.窗体文件和文本文件一个简单的VB控制台应用程序被设计后,肯定有()文件。

D A.窗体文件和项目文件 B.模块文件和文本文件 C.窗体文件和模块文件 D.模块文件和项目文件假定已在窗体上画了多个控件,其中有一个被选中,为了在属性窗口中设置窗体的属性,预先应执行的操作是( )。

A A.单击窗体上没有控件的地方 B.单击任意一个控件 C.双击任意一个控件 D.单击属性窗口的标题栏下列哪个数据是常量()A A.517.3 B.Step C.X D.Xname下面的()是合法的变量名。

A A.X_yz B.123abc C.Integer D.X-Y下面的()是合法的单精度型变量。

A A.num! B.sum% C.xinte$ D.mm#下列选项中,()不是基本数据类型。

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

一、软件1、软件概念:软件是各种程序和有关资料的总称2、分类:系统软件、应用软件3、发展阶段:程序设计阶段、软件设计阶段、软件工程阶段4、软件开发平台(程序开发环境)概念:一台计算机上提供的系统软件的总和。

在此平台上应用开发者编制应用程序。

应用程序通用化、商品化后就是应用软件。

例如:开发web应用程序操作系统Web服务器(可以对相应的语言进行解释执行)程序开发软件,如fontpage,dreamweave等程序设计语言,如php、asp、java 等数据库二、程序设计语言1、程序设计语言的发展:机器语言汇编语言高级语言 4GL高级语言:php、asp、java等2、程序设计语言:编程语句vb3、过程的参数传递:按值传递(byval)、按地址(引用)传递(byref)默认三、数据结构和算法1、数据结构概念:数据结构是一门讨论“描述现实世界实体的数学模型(非数值计算)及其上的操作在计算机中如何表示和实现”的学科2、讨论范畴:非数值计算问题的程序设计问题3、算法的定义:一个算法,就是一个有穷规则的集合,规则规定了解决某类问题的运算序列。

它是有穷的、确定的、能行的、并有0到多个输入和1到多个输出。

(E.Knuth)4、特性:有穷性、确定性、可行性、有0个或多个输入,有1个或多个输出5、算法分类:6、算法度量:时间复杂度、空间复杂度7、算法工具:四、线性表1、存储结构(1)顺序表概念:用顺序存储结构存储的线性表称为顺序表特点:实现逻辑上相邻的元素物理地址相邻、实现随机存取元素地址计算方法:LOC(ai)=LOC(a1)+(i-1)*L 1≤i ≤n理解元素的插入和删除过程(2)链表概念:用链式存储结构存储的线性表称为链表2、栈的特点:先进后出队列的特点:先进先出五、树1、树的概念:树是一类重要的非线性数据结构,树形结构是以分支关系来定义的层次结构。

树(tree)是n(n>0)个结点的有限集T,其中:有且仅有一个特定的结点,称为树的根(root)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)2、二叉树的性质:(1)二叉树的第i层上至多有2i-1 个结点( i ≥ 1)(2)深度为 k 的二叉树上至多含 2k-1个结点(k≥1)(3)对任何一棵二叉树,若它含有n0 个叶子结点、n2 个度为 2的结点,则必存在关系式:n0 = n2+1。

(4) 具有 n 个结点的完全二叉树的深度为⎣log2n⎦ +13、二叉树的特点:(1)具有 n 个结点的完全二叉树的深度为⎣log2n⎦ +1(2)二叉树的子树有左、右之分,且其次序不能任意颠倒4、二叉树的五种基本形态:(1)空结点(2)单个结点(3)左子树为空的二叉树(4)右子树为空的二叉树(5)左、右子树非空的二叉树5、二叉树的链是存储结构结构构造:数据域、左指针域、右指针域6、二叉树的遍历:先序遍历、中序遍历、后序遍历(知1推2)7、哈夫曼树:(1)概念:带权路径长度最短的树。

在所有含 n 个叶子结点、并带相同权值的 m 叉树中,必存在一棵其带权路径长度取最小值的树,称为“最优树”,也称哈夫曼树(2)编码(构造):六、查找与排序1、查找算法:顺序查找、折半查找、分块查找、二叉查找树2、排序算法:(1)清楚插入、交换、选择的执行过程(代码)(2)冒泡排序:判断执行几次和执行过程(代码)(3)快速排序概念:首先对无序的记录序列进行“一次划分”,之后分别对分割所得两个子序列“递归”进行快速排序,快速排序法是基于交换排序的一种算法,又被称为“分区交换排序”七、操作系统1、概念:操作系统是对计算机系统中的所有资源进行高效管理的一种系统软件,是所有其他软件运行的基础,是用户使用计算机的接口2、地位:(1)操作系统是加到计算机硬件上的第一层软件,它是对计算机硬件的首次扩充(2)操作系统管理的是计算机的硬件,随着计算机硬件的发展和深化,必然导致操作系统更新换代(3)操作系统是用户与计算机硬件设备之间的接口,用户通过操作系统操纵计算机硬件设备,完成自己的工作3、功能:(1)处理器(CPU)管理(2)存储器管理(3)设备管理(4)文件管理(5)作业管理4、目标:操作系统的主要目标就是对计算机系统的资源进行高效的管理,并向用户提供一个方便、易用的计算机操作环境和接口5、特征:(1)程序的并发执行(2)资源的共享(3)虚拟(Vitual)(4)异步性(不确定性)6、分时操作系统:(1)特点:多用户同时性、独立性及交互性等特点(2)概念:分时系统是多道系统的变种。

操作系统将CPU的时间划分成若干个片段,称为时间片八、进程1、概念:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位2、特征:动态性、并发性、独立性、交互性、异步性3、状态:(1)就绪状态(Ready)(2)运行状态(Running)(3)等待状态(Blocked)4、转换原因:就绪进程调度运行资源得不到等待获得资源就绪CPU时间用完满足等待资源5、组成:(1)程序(2)数据集合(3)进程控制块(PCB,Process ControlBlock)6、什么是进程控制块:记录进程控制信息,是进程动态特性的反映九、存储器管理1、覆盖技术:(理解道理)(1)是指同一内存区可以被不同的程序段重复使用将大的程序划分为主存中可以容纳的独立的逻辑处理段每次只调入其中的一段进行处理2、交换技术:(理解道理)3、虚拟存储技术:(1)思想:作业的地址空间和物理地址空间视为两个不同的概念,采用内、外存结合的办法,把部分外存作为主存使用,以此为用户提供了足够大的地址空间——虚存空间;用户可以在这个地址空间内编程,而完全不考虑主存的大小(2)目标:扩大逻辑思维空间十、数据库1、数据库系统阶段的特点:(1)数据的管理者是数据库管理系统(2)面向对象是现实世界(3)数据共享程度:共享性高、冗余度小(4)独立性:具有高度的物理独立性和一定的逻辑独立性(5)结构化:整体结构化,用数据模型描述(6)数据控制能力:由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力2、模式结构:三级模式结构是指数据库系统由外模式、模式和内模式三级构成。

3、E-R图4、常用数据模型:(1)层次模型特点:结构简单,容易实现(2)网状模型特点:与层次模型相比,提供了更大的灵活性,能更直接地描述现实世界,性能和效率也比较好。

网状模型的缺点是结构复杂,用户不易掌握,记录类型联系变动后涉及链接指针的调整,扩充和维护都比较复杂。

(3)关系模型:采用二维表格结构来表示实体和实体之间的联系十一、关系数据库关系运算:1、选择:(1)在关系R中选择满足条件的元组,记作:σF(R)(2)F可以是逻辑运算符(如AND,OR等)和关系运算符(>,<,>=等)等的组合(3)选择运算就是从关系R中选取使逻辑表达式F为TRUE的元组。

2、投影:(1)从关系R中选择若干属性列,组成新的元组,记作:∏ A(R),其中A为R中的属性列。

(2)投影操作是从列的角度参加的运算;如果取消某些属性列后,出现重复的行,则去掉这些完全相同的行。

3、连接:(1)从关系R和关系S的笛卡儿积中选择属性间满足一定条件的元组,记作:(2)当Ө为=时,称为等值连接。

十二、SQL 1、 特点:(1)一体化特点(2)语法简单,易学易用(3)高度非过程化的语言(4)面向集合语言(5)可以独立使用,也可以嵌入到宿主语言 2、命令语句:(1)查询:SELECT [ALL|DISTINCT] <目标列表达式1> [,<目标列表达式2>]... ... FROM <表名或视图名称1> [,<表名或视图名称2>]... ... [WHERE <条件表达式>] [GROUP BY <列名1> [HAVING <条件表达式>]] [ORDER BY <列名2> [ASC|DESC]] (2)插入:INSERT INTO <表名> [(<字段名称1> [,<字段名称2> ... ...])] VALUES (<常量1> [,<常量2> ... ...]) (3)删除:DELETE FROM <表名> [WHERE <条件>](4)更新:UPDATE <表名>SET <字段名1> = <表达式1> [, <字段名2> = <表达式2>]... ... [WHERE <条件>] 十三、软件工程1、 概念:软件工程视软件的开发是一项工程,它借鉴传统工程的原则、方法,使经过时间考验而证明是正确的管理方法和当前能够得到的最好的开发技术结合了起来,以提高质量、降低成本为目的。

是一种以质量为核心的层次化技术2、 软件工作周期:(1)概念:指从软件的需求分析、设计、编程、测试、交付用户使用到版本升级、自然淘汰的过程(2)阶段:问题定义可行性分析 需求分析 概要设计 详细设计 编码 测试使用/维护软件开发软件使用和维护3、 软件开发模型:瀑布、原型、螺旋4、 计划阶段主要工作:问题定义和可行性分析(1)确定待开发系统的总体目标和范围,给出它的功能、性能、可靠性以及接口等方面的要求(2)研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算,制定完成开发任务的实施计划(3)主要解决系统“做还是不做”的问题(4)阶段结果:可行性报告、软件计划5、 需求分析阶段主要工作:(1)分析、整理和提炼所收集到的用户需求,建立完整的分析模型(2)确定的系统必须符合的条件以及具备的功能,将其编写成软件需求规格说明和初步的用户手册(3)需求规格说明必须经过所有相关人员的认可(4)主要目的是解决系统 “做什么”的问题(5)阶段结果:需求说明书6、 系统设计阶段主要工作:(1)是在系统的约束条件下,根据已确定了的各项需求,设计软件的体系结构,进而确定每个模块的实现算法、数据结构和接口等,其交付的设计说明书能指导开发人员实现系统(2)其主要目的是解决系统“如何做”的问题(3)分两步骤:概要设计:解决系统的模块划分、模块的层次结构及数据库设计 详细设计:解决每个摸块内部算法和数据结构(4)阶段结果:系统设计说明书和模块功能说明书 (5)划分模块原则:低耦合、高内聚 7、 测试:(1)目的:主要目的在于发现程序错误以及测试整个产品的功能和性能是否满足已有的规格说明(2)方法:白盒测试、黑盒测试、回归测试(3)白盒测试:依据模块的编码导出测试用例,即模块的内部逻辑对测试者是可见的。

相关文档
最新文档