计算机科学导论复习整理

计算机科学导论复习整理
计算机科学导论复习整理

计算机科学导论复习整

文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

《计算机科学导论》课程考试重点知识

考试说明:选择题(共10小题,每小题2分,共20分)、名词解释题(共5小题,每小题4分,共20分)、简答题(共5小题,每小题6分,共30分)、综合题(共5小题,选做3小题。其中强化班同学必作1、2、3小题,普通班同学任选3小题作答,每小题10分,共30分)。

一、考试范围:1~10、15章,每章都有一定量的题目。

二、课后习题中的选择题全部要求。

三、重点掌握的知识点:

1.计算机操作系统: 操作系统就是合理管理并控制计算机系统内软、硬件资源,并能够合理组织工作流程、方便用户使用的程序的集合。

通常我们将操作系统的功能概括为两大功能:扩展的虚拟机功能、资源管理功能。

其中,资源管理功能包括了处理机管理、内存管理、设备管理、文件管理四大功能。而扩展的虚拟机提供友好的人机交互以及程序级接口,使得计算机看上去像是功能扩展了的机器。

2.存储器: 存储器是计算机的记忆装置,用于存放原始数据、中间数据、最终结果和处理程序。为了对存储的信息进行管理,把存储器划分成存储单元,每个单元的编号称为该单元的地址。各种存储器基本上都是以1个字节作为一个存储单元。存储器内的信息是按地址存取的,如要访问存储器中的某个信息,就必须知道它的地址。向存储器里存入信息也称为“写入”,写入新的内容将覆盖原来的内容。从存储器里取出信息也称为“读出”,信息读出后并不破坏原来存储的内容,因此信息可以重复读出,多次利用。

通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备、外存储器等。

3.运算速度 :计算机的运算速度是衡量计算机水平的一项主要指标,它取决于指令执行时间。运算速度的计算方法多种多样,目前常用单位时间内执行多少条指令来表示,而计算机执行各种指令所需时间不同。因此,常根据在一些典型题目计算中,各种指令执行的频度以及每种指令的执行时间来折算出计算机的等效速度。

4.计算机系统: 计算机系统是一种能够按照事先存储的程序,自动、高速地对数据进行输入、处理、输出和存储的系统,由计算机硬件系统和计算机软件系统两大部分组成。

5.CPU和主机的概念: 通常把运算器、控制器做在一个大规模集成电路块上称为中央处理器,又称CPU(Central Processing Unit)。

通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备,外存储器等。

6.软件生存周期:软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。通常,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动,可以将这些活动以适当方式分配到不同阶段去完成。

7.软件危机:随着计算机应用的普及和深化,计算机软件的数量、规模、复杂程度和开发所需的人力、物力等都在急剧增加,计算机发展初期个人编写小程序的传统方法,已不再适合现代大型软件的开发,用传统方法开发出来的许多大型软件甚至无法投入运行。同时,由于计算机应用领域和硬件技术得到丁飞速发展,软件的生产速度、质量和规模远远适应不了对软件的需求,造成大量人力、物力、财力的浪费,在软件开发和维护过程中出现了巨大的困难。计算机领域把大型软件开发和维护过程中遇到的一系列严重问题称为“软件危机”(Software Crisis)。

8.信息:信息(Information)是客观事物的属性和相互联系特性的表现,它反映了客观事物的存在形式和运动状态。计算机中的信息—般是字母、数字、符号的组合,而将这些信息进行传输的载体可以是文字、声音、图形、图像等。

9.输入和输出设备:输入和出设备简称I/O(Input/Output)设备。用户通过输入设备将程序和数据输入计算机,输出设备将计算机处理的结果(如数字、字母、符号和图形)显示或打印出来。常用的输入设备有:键盘、鼠标器、扫描仪、数字化仪等;常用的输出设备有:显示器、打印机、绘图仪等。

10.中间代码的概念: :所谓“中间代码”是一种结构简单、含义明确的记号系统,这种记号系统可以设计为多种多样的形式,重要的设计原则为两点:一是容易生成;二是容易将它翻译成目标代码。

11.软件质量:软件质量是贯穿软件生存期的一个极为重要的问题,关于软件质量的定义有多种说法,从实际应用来说,软件质量定义如下:

(1) 与所确定的功能和性能需求的一致性。

(2) 与所成文的开发标准的一致性。

(3) 与所有专业开发的软件所期望的隐含特性的一致性。

12.定点数及其分类:所谓定点数,就是指计算机在运算过程中,数据中小数点的位置固定不变。其中小数点的位置是由计算机设计者在机器的结构中指定一个不变的位置,而不一定都必须具有小数点的指示装置。定点数一般有小数和整数两种表示形式。定点小数是把小数点固定在数据数值部分的左边,符号位的右边;定点整数则把小数点固定在数据数值部分的右边。

13.字长: 在计算机中,用若干二进制位表示一个数或一条指令,前者称为数据字,后者称为指令字。字长的直接影响计算机的功能强弱、精度高低和速度快慢。计算机处理数据时,一次可以运算的数据长度称为一个“字”(Word),字的长度称为字长。一个字可以

是一个字节(Byte,简称B),也可以是多个字节。常用的字长有8位(bit)、16位、32位、64位等。如某一类计算机的字由4个字节组成,则字的长度为32位,相应的计算机称为32位机。

14.内存容量: 存储器的容量反映计算机记忆信息的能力,它常以字节为单位表示。存储器的容量越大,则存储的信息越多,计算机的功能越强。

计算机中的操作大多是与内存交换信息,但内存的存取速度相对CPU的算术和逻辑运算的速度要低1~2个数量级。因此,内存的读写速度也是影响计算机运行速度的主要因素之一。

为了度量信息存储容量,将8位二进制位(8bits)称为1个字节,字节是计算机中数据处理和存储容量的基本单位。1024个字节称为1K字节(1KB),1024K个字节称1兆字节

(1MB),1024M个字节称为1G字节(1GB),1024G个字节称为1T字节(1TB),现在微型计算机主存容量大多数在兆字节以上。

15.计算机软件。软件是指用来指挥计算机运行的各种程序的总和以及开发、使用和维护这些程序所需的技术文档。

计算机软件系统分为系统软件和应用软件。计算机系统软件由操作系统、语言处理系统、以及各种软件工具等各种软件程序组成,指挥、控制计算机硬件系统按照预定的程序运行、工作,从而达到预定的目标。应用软件是用户利用计算机软、硬件资源为解决各类应用问题而编写的软件,包括用户程序及其说明性文件资料。

16.并发:并发通常指多个任务可以在同一个时间段内同时执行,即允许多个任务在宏观上并行,微观上仍然是串行的(对于单CPU系统而言)。

并行指的是多个任务真正意义上的同时执行,换言之,多个任务可以在同一个时刻同时执行。

并发系统只能够是宏观上并行、微观上串行执行;而并行则在微观执行上也是并行

的。只有在多处理机系统中,任务的并行执行才是可能的。并行系统往往也可以支持任务的并发执行。

17.主频: 计算机的中央处理器对每条指令的执行是通过若干个微指令操作来完成的,这些微指令操作是按时钟周期的节拍来“动作”的,时钟周期的微秒数反映出计算机的运算速度。有时也用时钟周期的倒数——时钟频率(兆频),即人们常说的主频来表示。一般说来,主频越高(时钟周期越短),计算机的运算速度越快。但是,主频并不能全面准确地反映计算机的运算速度,而每秒钟执行百万条指令数(MIPS)指标则能较全面准确地反映计算机的运算速度。近十年来,微计算机的主频提高很快,例如,IBM PC/XT微机的CPU 主频为,而Pentium 4 CPU的主频己超过1GMHz,并且在不断提高.

18.网络操作系统:网络操作系统要求组成网络的各台计算机物理分散且高度自治,各计算机都有各自的软、硬件资源,系统的主要目的是共享网络资源、信息交换和协作。

19.同步通信和异步通信:同步是每次发送多个字节或信息块,要求通信的收、发双方在时间基准上保持一致,系统需要一个同步时钟,用于传输大量的信息。

异步每次发送和接收一个字符的数据,同步在字符的基础上进行,起始时刻是任意的,字符与字符之间的间隔也是任意的,即各个字符之间是异步的。

20.软件工程:软件工程是研究大规模程序设计的方法、工具和管理的一门工程科学,也就是运用系统的、规范的和可定量的方法来开发、运行和维护软件的系统工程。软件工程是—门交叉学科,涉及到计算机科学、管理科学、工程学和数学。软件工程的理论、方法、技术都是建立在计算机科学的基础上,它是用管理学的原理、方法来进行软件生产管理;用工程学的观点来进行费用估算、制定进度和实施方案;用数学方法来建立软件可靠性模型以及分析各种算法和性质。软件工程是指导计算机软件开发和维护的工程学科。

21.软件可靠性:软件可靠性定义表明了一个程序按照用户的要求和设计的目标,执行其功能的正确程度。一个可靠的程序应要求是正确的、完整的、一致的和健壮的。

22.信号:信号(Signal)是携带信息的传输介质,在通信系统中常用电信号、光信号、载波信号、脉冲信号、调制信号等描述。

23.运算器: 运算器又称算术逻辑单元(Arithmetic Logic Unit,ALU),是计算机对数据进行加工处理的部件,它的主要功能是对二进制数进行加、减、乘、除等算术运算和与、或、非等基本逻辑运算,实现逻辑判断。运算器是在控制器的控制之下实现其功能的,运算结果由控制器发出的指令送到内存储器中。

24.编译程序:编译程序是把高级语言程序(源程序)作为一个整体来处理,在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),编译后与系统提供的代码库链接,形成—个完整的可执行的机器语言程序(目标程序代码)。

25.控制器: 控制器主要由指令寄存器、译码器、程序计数器和操作控制器等组成,控制器是用来控制计算机各部件协调工作,并使整个处理过程有条不紊地进行。它的基本功能就是从内存中取出指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。另外,控制器在工作过程中,还要接受各部件反馈回来的信息。

通常把运算器、控制器集成在一个大规模集成电路板上称为中央处理器,又称

CPU(Central Processing Unit)。

26.程序运行的局部性原理:是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。局部性原理又表现为:时间局部性和空间局部性。时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则

不久之后该数据可能再次被访问。空间局部性是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。

另外,根据程序的局部性理论,Denning提出了工作集理论。所谓工作集是指进程运行时被频繁访问的页面集合。显然我们知道只要使程序的工作集全部集中在内存中,就可以大大减少进程的缺页次数;否则会使进程在运行过程中频繁出现缺页中断,从而出现频繁的页面调入/调出现象,造成系统性能的下降,甚至出现“抖动”。

划分工作集可以按定长时间或定长页面两种方法进行划分。当颠簸现象发生时,说明系统的负荷过大,通常采用处理器均衡调度。另一种是控制缺页率,当缺页率达到上限时,则增加内存分配量;当缺页率达到下限时,就减少内存的分配量。

27.语义处理的功能:编译过程中的语义处理实现两个功能:

(1) 审查每个语法结构的静态语义,即验证语法结构合法的程序是否真正有意义,有时把这个工作称为静态语义分析或静态审查。

(2) 如果静态语义正确,则语义处理要执行真正的翻译,要么生成程序的一种中间表示形式(中间代码),要么生成实际的目标代码。

28.操作系统的基本组成:现代操作系统至少由存储管理、进程管理、设备管理、文件管理以及用户接口五个部分组成。

用户接口一般包含命令接口(如shell命令)和程序接口。

进程管理包含了进程描述、进程的状态及转换、进程控制和调度、进程间通信等多个部分。

存储管理解决内存分配与回收、内存保护、地址映射、虚拟存储等问题。

设备管理涉及到中断技术、I/O硬件与I/O软件、数据传输控制技术等。

文件管理要解决文件的命名、文件属性、文件操作、文件的逻辑与物理结构、文件的存取方式、磁盘物理空间管理、目录、文件可靠性等问题。

29.算法的时间复杂度和空间复杂度,如何表示:时间复杂度是与求解问题规模、算法输入相关的函数,该函数表示算法运行所花费的时间。记为,T(n),其中,n代表求解问题的规模。

算法的空间复杂度(Space complexity)度量算法的空间复杂性、即执行算法的程序在计算机中运行所占用空间的大小。简单讲,空间复杂度也是与求解问题规模、算法输入相关的函数。记为,S(n),其中,n代表求解问题的规模。

时间复杂度和空间复杂度同样,引入符号“O”来表示T(n)、S(n)与求解问题规模n 之间的数量级关系。

30.分组交换:分组交换采用存储转发的技术,把来自用户的信息暂存于存储装置中,并划分为多个一定长度的分组,每个分组前边都加上固定格式的分组标记(Lable),用于指明该分组的发端地址、收端地址及分组序号等,然后再根据地址转发分组。分组在各交换节点之间传送比较灵活,交换节点不必等待整个报文的其他分组到齐,而是一个分组、一个分组地转发。这样可以大大压缩节点所需的存储容量,也缩短了网路时延。另外,较短的报文分组比长的报文可大大减少差错的产生,提高了传输的可靠性。但分组交换也有缺点,分组存储转发时,会产生时延;携带控制信息会增加开销(Overhead);分组交换网还需要专门的管理和控制机制。

31.智能模型:智能模型又称智能生存周期模型,是基于知识的软件开发模型,它把瀑布模型与专家系统结合在—起。该模型在实施过程中要建立知识库,将模型本身、软件工程知识与特定领域的知识分别存入数据库。以软件工程知识为基础的生成规则构成的专家系统与含应用领域知识规则的其他专家系统相结合,构成这一应用领域软件的开发系统。

32.网络体系结构:网络的体系结构是用层次结构设计方法提出的计算机网络层次结构及其协议的集合。换种说法,它是计算机网络及其部件所应能完成的各种功能的精确定义。

在网络分层体系结构中,每一个层次在逻辑上都是相对独立的;每一层都有具体的功能;层与层之间的功能有明确的界限;相邻层之间有接口标准,接口定义了低层向高层提供的操作服务;计算机间的通信是建立在同层次之间的基础上。

33.高性能计算机:高性能计算机的概念并无明确的定义,一般认为运算速度非常快的计算机就可以认为是高性能计算机。严格地讲,高性能计算机是一个拥有最先进的硬件、软件、网络和算法的综合概念,“高性能”的标准是随着技术的发展而发展的。

34.目标代码生成阶段的任务:目标代码生成阶段的任务是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。这是编译的最后阶段,它的工作与硬件系统结构和指令含义有关,这个阶段的工作很复杂,涉及到硬件系统功能部件的运用、机器指令的选择、各种数据类型变量的存储空间分配以及寄存器和后援寄存器的调度等。

35.域名系统:由于IP地址很难记忆,为了使用和记忆方便,因特网还采用了域名管理系统,简称DNS(Domain Name System)。域名系统与IP地址的结构一样,也是采用层次结构。任何一个连接在因特网上的主机或路由器,都有一个惟一的层次结构的名字,即域名。域名的结构由若干个分量组成,顶级域名放在最右面,各分量之间用“.”隔开:···.三级域名.二级域名.顶级域名。

36.一个DBMS的组成部分:DBMS通常由四部分组成,也是DBMS要完成的功能:

(1)数据定义语言DDL及其翻译处理程序:定义数据库中的数据对象。

(2)数据操纵语言DML及其编译(或解释)程序:实现对数据库的查询、插入、删除、修改等操作。

(3)数据库运行控制程序:实现对数据库的统一管理和控制,从而保证数据的安全性、完整性,并对数据并发访问进行控制,完成数据库的故障恢复等功能。

(4)实用程序:完成数据库的建立与维护、数据格式的转换与通信、数据库的转储等功能。

37.模块划分的原则(和54相同)

38.计算机的基本运行方式:计算机的基本运作方式可概括为所谓的“IPOS循环”。IPOS循环即输入(Input)、处理(Processing)、输出(Output)和存储(Storage),它反映了计算机进行数据处理的基本步骤。

(1)输入

接受由输入设备(如键盘、鼠标器、扫描仪等)提供的数据。

(2)处理

对数值、逻辑、字符等各种类型的数据进行操作,按指定的方式进行转换。

(3)输出

将处理所产生的结果等数据由输出设备(如显示器、打印机、绘图仪等)进行输出。

(4)存储

计算机可以存储程序和数据供以后使用。

39.程序的概念:一个程序就是能够实现特定功能的一组指令序列的集合。或者程序=算法+数据结构

40.结构化程序设计的思想:结构化程序设计的基本思想就是采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构。

41.资源子网和通信子网的组成(与51相同)

42.词法分析的任务:作为编译过程的第一个阶段,其任务是从左到右一个字符,一个字符地对源程序进行扫描,读入源程序,对构成源程序的字符流进行扫描和分解,通过词法分析从而识别出一个个单词(也称单词符号或符号)。

43.网络计算机:网络计算机(NETWORK COMPUTER)简称NC,是专用于高速网络环境下的计算机终端设备。是基于处理器芯片和网络基础的新一代计算机产品,是一种新的桌面计算机。NC除了有人机交互必需的显示器,键盘鼠标外,它没有硬盘,软盘,光驱等外部存储设备,是一种瘦客户机。网络计算机具有以下优点:

(1)易管理,维护简单,使用方便。

(2)网络计算机没有硬盘,软盘和光盘,也没有风扇,在硬件方面没有什么可维护的地方,大大减少了计算机网络的维护工作,成本低廉。

(3)安全性强,无论是防止病毒的侵犯,还是资料维护的安全,NC都比PC要好的多。

(4)静音节能,高可靠网络计算机没有任何噪音,非常安静。网络计算机的功耗非常小。

44.数据库完整性控制,其含义是什么:数据库完整性控制是指保证数据库中数据的正确性、有效性、相容性,防止错误的数据进入数据库。正确性是指数据的合法性;有效性是指数据是否属于所定义的有效范围;相容性是指表示同一个事实的多个数据应该相同。

45.同步通信和异步通信:同步是每次发送多个字节或信息块,要求通信的收、发双方在时间基准上保持一致,系统需要一个同步时钟,用于传输大量的信息。

异步每次发送和接收一个字符的数据,同步在字符的基础上进行,起始时刻是任意的,字符与字符之间的间隔也是任意的,即各个字符之间是异步的。

46.计算机科学与技术学科:计算机科学技术是研究计算机的设计与制造和利用计算机进行信息获取、表示、存储、处理、控制等的理论、原则、方法和技术的学科,包括科学

与技术两方面。科学侧重于研究现象、揭示规律;技术则侧重于研制计算机和研究使用计算机进行信息处理的方法与技术手段。科学是技术的依据,技术是科学的体现;技术得益于科学,它又向科学提出新的课题。

47.语法分析的任务:语法分析是编译过程的第二个阶段,任务是在词法分析的基础上将单词序列分解成各类语法短语,如“程序”、“语句”、“表达式”等等。

48.算法的特性:“算法(Algorithm)是一组明确的、可以执行的步骤的有序集合,它在有限的时间内终止并产生结果”。算法的特性有:

(1) 有穷性(可终止性):一个算法必须在有限个操作步骤内以及合理的有限时间内执行完成。

(2) 确定性:算法中的每一个操作步骤都必须有明确的含义,不允许存在二义性。

(3) 有效性(可执行性):算法中描述的操作步骤都是可执行的,并能最终得到确定的结果。

(4) 输入及输出:一个算法应该有零个或多个输入数据、有1个或多个输出数据。

49.结构化方法遵循的原则:

(1) 用户参与的原则。由于整个软件开发工作的复杂性,用户的需求分析至关重要,但是,用户的需求不是一次就能够明确的,而是随着系统开发工作的深入,用户的需求表达和开发人员对用户需求的理解才能逐步明确、深化和细化。这就要求软件的开发要有用户的积极参与。否则,往往导致开发缓慢、不断反复、甚至失败。

(2) 先分析、再设计、后实现的原则。结构化方法强调在进行系统设计和系统实施之前,要先进行充分的需求调查与分析,进行可行性的论证,即首先解决系统“做什么”的问题,然后再进入系统设计、系统实施阶段,来解决“如何做”的问题。

(3) 自顶向下的原则。在系统分析、设计、实施等各阶段,结构化方法都强调“自项向下”的原则,即从总体目标和功能出发,逐级分解、逐步细化,将整个开发系统分解,

先实现某些子系统,然后再实现总的目标和功能。遵循这个原则,可以将一个复杂的问题分解成若干个比较简单的问题分别加以解决,从而降低了解决问题的难度。

(4) 阶段成果文档化。结构化方法强调要将每一工作阶段的成果,用明确的文字和标准化的图形、表格等文档化工具进行完整而又准确的描述。这些文档即可标志阶段开发工作的结束,又是下阶段工作开展的主要依据。

50.喷泉模型:喷泉模型是一种以用户需求为动力,以对象作为驱动的模型。它适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。无间隙是指在分析、设计和实现等开发活动之间不存在明显的边界。

51.资源子网和通信子网的组成:资源子网由主机系统、终端、终端控制器、连网外设、各种软件资源与信息资源织成。资源子网负责全网的数据处理业务,向网络用户提供各种网络资源与网络服务。

通信子网由通信控制处理机、通信线路与其他通信设备组成,负责完成网络数据传输、转发等通信处理任务。

52.数据库的三级模式结构:数据库系统通常采用三级模式结构,它也是数据库管理系统内部的系统结构。

(1) 模式

也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式层中定义了数据模型和模式图表,DBMS的主要功能都在这层。一个数据库系统中只有一个模式。

(2) 外模式

也称子模式或用户模式,是数据库用户可见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,通常与某一应用需求相对应。这层将来自模式层的数据转化为用户所熟悉的格式和视图。外模式通常可以有任意多个。

(3) 内模式

是数据物理结构和存储结构的描述,是数据在数据库内部的表示方法。内模式层决定数据存储在存储设备中的实际位置,并处理数据的存取方法及数据在设备间的数据传输。数据库系统的内模式也只有一个。

53.事务,事务的特征:事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全都不做,是一个不可分割的工作单位。所有的事务都具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability),或简称ACID特性。

原子性:事务的所有操作必须作为一个整体的处理单位,要么全做,要么全都不做,不可以分割。

一致性:数据必须保持一致性状态。即事务的执行只能从一个一致性状态转变到另一个一致性状态。

隔离性:系统内多个事务的执行是相互独立的,互不相扰。

持续性:一个事务一旦执行成功,对于数据库中数据的改变是永久的。

54.模块划分的原则:模块的划分不能够随意进行,而是应该遵循一定的原则:

(1) 划分的模块要有尽量高的功能独立性,而模块之间应该是低耦合(关联少)的。

(2) 模块的大小要适宜,过大,增加模块本身的复杂性;过小,模块数增多,会增加模块间关联度。

(3) 模块间接口是必须是明确的。

(4) 模块间可以有调用关系,这个调用的层次不能太多。

(5) 尽量注意提高模块的复用率,提高开发效率。

55.软件危机的表现形式:

(1) 软件的质量难以保证

开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。这种不可靠的软件,轻者会影响系统正常工作,重者会发生事故,造成生命财产的重大损失。

(2) 软件开发成本和开发进度难以控制

经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计算很难制定。主观盲目制定的计算,执行起来和实际情况有很大差距,使得开发经费一再突破。由于对工作量和开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。

(3) 软件的维护非常困难

开发的软件可维护性差。开发过程没有统一的、公认的规范,软件开发人员按各自的风格工作,各行其事。开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行进发现错误也很难修改,导致维护性差。

(4) 用户对“已完成”的软件系统不满意

开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确表达。开发工作开始后,软件人员和用户又未能及进交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,使开发失败。

56.对某一机器,用N=12位二进制代码表示一个浮点数,阶码为m=4位,尾数为n=8位。求真值x=(38)10的浮点数的表示形式,要求列出计算步骤。

57.(1)将十进制数转换为8421BCD码。

(2)将逻辑表达式化简C

AB+

+,要求列出化简步骤。

A

C

B

(3)将二进制数转化为十进制数,要求列出计算步骤。

58.数据结构、数据的物理结构:数据结构是指数据元素之间的相互关系的集合,包括了数据的逻辑结构、物理结构以及数据的运算。

数据的物理结构主要有四种,分别是顺序结构、链表结构、索引结构及散列结构。

(1) 顺序结构:是把所有元素存放在一片连续的存储单元中,逻辑上相邻的元素存储在物理位置相邻的存储单元中,由此得到的存储表示称为顺序存储结构。

(2) 链表结构:对逻辑上相邻的元素不要求其物理位置相邻,元素间的逻辑关系通过附设的指针域来表示,由此得到的存储表示称为链式存储结构。

(3) 索引结构:每个数据结构建立索引表,每个数据元素占用表中的一项,每个表项通常包含关键字和地址指针。其中的关键字是能够惟一标志一个数据元素的数据项。

(4) 散列结构:通过构造相应的散列函数,由散列函数的值来确定元素存放的地址。

59.TCP/IP协议的体系结构:TCP/IP(传输控制协议/网际协议)是Internet赖以存在的基础,Internet中计算机之间通信必须共同遵循的TCP/IP通信规定。TCP/IP的体系结构如图所示。

TCP/IP的体系结构图

(1)网络接口层是TCP/IP协议的最底层,用于负责网络层与硬件设备间的联系。这一层的协议非常多,包括逻辑链路和媒体访问控制。

(2)网际层主要解决的是计算机到计算机之间的通信问题,包括的功能有处理来自传输层的分组发送请求,收到请求后将分组装入IP数据报,填充报头,选择路径,然后将数据发往适当的接口;处理数据报;处理网络控制报文协议,即处理路径、流量控制、阻塞等。

(3)传输层用于解决计算机程序到计算机程序之间的通信问题。

(4)应用层提供一组常用的应用程序给用户。在应用层,用户调节访问网络的应用程序,应用程序与传输层协议配合,发送或接收数据。

60.软件工程过程:软件工程过程包含如下7个过程。

(1) 获取过程:获取过程为需方按合同获取一个系统、软件产品或服务的活动。

(2) 供应过程:供应过程为供方向需方提供合同中的系统、软件产品或服务所需的活

动。

(3) 开发过程:开发过程为开发者和机构为了定义和开发软件或服务所需的活动。引过程包括需求分析、设计、编码、集成、测试、软件安装和验收等活动。

(4) 操作过程:操作过程为操作者和机构为了在规定的运行环境中为其用户运行一个计算机系统所需要的活动。

(5) 维护过程:维护过程为维护者和机构为了管理软件的修改,使它处于良好运行状态所需要的活动。

(6) 管理过程:管理过程为软件工程过程中各项管理活动,包括项目开始和范围定义;项目管理计划;实施和控制,评审和评价;项目完成。

(7) 支持过程:支持过程对项目的生存周期过程给予支持。它有助于项目的成功并能提高项目的质量。

61.程序设计过程的一般步骤: 程序设计的过程一般有四个步骤。

1.分析问题

在着手解决问题之前,应该通过分析,充分理解问题,明确原始数据、解题要求、需要输出的数据及形式等。

2.设计算法

算法是解题的过程。首先集中精力于算法的总体规划,然后逐层降低问题的抽象性,逐步充实细节,直到最终把抽象的问题具体化成可用程序语句表达的算法。这是一个自上而下、逐步细化的过程。

3.编码

利用程序设计语言表示算法的过程称为编码。

4.调试程序

调试程序包括编译和连接等操作。编译程序将源程序转换为目标程序,它对程序员编写的源程序进行语法检查,程序员根据编译过程中的错误提示信息,查找并改正源程序的

错误后再重新编译,直到没有语法错误为止。大多数程序设计语言还要使用连接程序把目标程序与系统提供的库文件进行连接以得到最终的可执行文件。在连接过程中若程序使用了错误的内部函数名,将会引起连接错误。对于经过编译和连接,并最终运行结束的程序,程序员还要对程序执行的结果进行分析,只有得到正确结果的程序才是所需的程序。

相关主题
相关文档
最新文档