- 为了降低算法的空间复杂度,要求算法尽量采用原地工作(in place)。所谓原地工作是指执行算法时所使用的额外空间固定(即不随算法所处理的数据空间大小的变化而变化)。
- 计算机完成一条指令所花费的时间称为一个指令周期。(指令周期越短,指令执行就越快)
- 对象的基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。
- 顺序程序不具有并发性。(具有顺序性、封闭性和可再现性)
- 结构化程序设计强调程序的易读性。
- 系统软件:操作系统、编译程序、数据库管理系统
应用软件:杀毒软件 - 操作系统的功能和任务主要有处理机管理(进程管理)、存储管理、设备管理、文件管理和用户接口。(不包含数据库管理)
- 在数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是人工管理阶段。
- 软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题,软件危机主要表现:软件开发进度难以预测;软件开发成本难以控制;用户对产品功能难以满足;软件产品质量无法保证;软件产品难以维护;软件缺少适当的文档资料。
- I/O方式中的DMA(Direct Memory Access,成组数据传送方式)方式是指I/O设备与主存之间由硬件组成的直接数据通路,用于成组数据传送。
- 要使用外存储器中的信息,应先将其调入内存储器。(外存储器中数据被读入内存储器后,才能被CPU读取,CPU不能直接访问外存储器)
- 分布式计算机系统是指由多台分散的计算机经网络连接而成,且可协作完成同一任务的系统。
- 用来解决CPU和主存之间速度不匹配问题的方法是在主存储器和CPU(中央处理器)之间增加高速缓冲存储器。
- 通常所说的计算机主机包括CPU(中央处理器)和主存储器。
- 程序调试的目的是诊断和改正程序中的错误;软件测试的目的是发现程序中的错误。
- 可以作为软件测试对象的是源程序。
- 算法时间复杂度的度量方法是执行算法所需要的基本运算次数。
- 请求分页式存储管理、请求分段式存储管理和请求段页式存储管理技术均采用虚拟存储管理技术。
- 需求分析的主要任务是确定软件系统的功能。
- 数据库三级模式体系结构的划分有利于保持数据库的数据独立性。
- 将E-R图转换为关系模式时,E-R图中的实体和联系都可以表示为关系。
- 进程是程序的执行过程。
- 结构化程序的三种基本控制结构是:顺序、选择和重复 (循环)。
- 软件是程序、数据和相关文档的集合。
- 在数据库中存储的是数据以及数据之间的联系。
- 在关系数据库中,关系模式是用来记录用户数据的二维表。
- 在计算机中,运算器的基本功能是进行算数和逻辑运算。
- 虚拟存储器是对主存的扩展,理论上计算机虚拟内存最大容量取决于计算机地址位。(也就是计算机的最大寻址能力)
- 采用虚拟存储管理技术的主要优点是可为用户提供比物理内存大的多的逻辑地址空间。
- 优化数据库系统查询性能的索引设计属于数据库设计的物理设计。
- 软件应首先满足用户的功能需求。
- 整数在计算机中存储和运算通常采用的格式是补码。
- 在操作系统中,将文件名转换为文件存储地址的结构是文件目录。
- 不属于对象构成成份的是规则。(一个对象通常可由对象名 (标识) 、属性和操作三部分组成)
- 软件工程的三要素是方法、工具和过程。
- I/O方式中使计算机系统并行工作程度最高的是通道。
- 计算机中的缓冲技术用于提高主机和设备交换信息的速度。
- 黑盒测试技术依据是软件功能的描述;白盒测试技术依据的是程序的逻辑结构。
- 概念模型:实体联系模型、面向对象模型、谓词模型
数据模型:层次模型、网状模型、关系模型和面向对象模型。 - 总线带宽是指总线的数据传输率。
- 一进程已获得除CPU以外的所有所需运行资源,经调度分配CPU给它后,该进程将进入运行状态。
- 结构化程序设计的重要原则:自顶向下、逐步求精、模块化及限制使用goto语句。
- 关系数据模型的三个组成部分:数据结构、数据操作、数据约束。
- 数据库概念设计阶段得到的结果是E-R模型。
- 外部设备:输入/输出设备、外部存储器(辅助存储器)和终端设备。
- 进程具有多种属性,并发性之外的另一重要属性是动态性。(进程具有动态性、共享性、独立性、制约性和并发性5种属性)
- 软件生存周期中,解决软件“做什么”的阶段是需求分析。(解决软件“怎么做”的阶段是软件设计)
- 在关系数据库中,描述全局数据逻辑结构的是概念模式。
- 将实体-联系模型转换为关系模型时,实体之间多对多联系在关系模型中的实现方式是建立新的关系。
- CPU芯片内部连接各元件的总线是内部总线。
- 将数据库的结构划分成多个层次,是为了提高数据库的逻辑独立性和物理独立性。
- 关系的实体完整性要求关系中不能为空的属性是主键属性。
- 计算机工作的本质是取指令、分析指令和执行指令。
- 用树形结构表示实体之间联系的模型是层次模型。
- 规范化主要为克服数据库逻辑结构中的插入异常、删除异常以及冗余度大的问题。
- 在CPU执行一条指令的过程中至少占用一个机器周期。
- 数据库管理系统应能实现的专门关系运算包括选择、投影、连接。
- 软件测试的实施步骤是单元测试,集成测试,确认测试。
- 一个正在运行的进程由于所申请的资源得不到满足要调用阻塞进程原语。
- 如果一个进程在运行时因某种原因暂停,该进程将脱离运行状态进入阻塞状态。
- 当一个进程在运行过程中释放了系统资源后要调用唤醒进程原语。
- 当一进程在运行状态下结束时要调用撤销进程原语。
- 系统在创建一个进程时需要调用创建进程原语。
- 处于阻塞状态的进程,当阻塞原因解除后即进入就绪状态。
- 机器周期的同步标准是CPU访问存储器一次所需的时间。
- 机器数补码的符号位取反即是偏移码。
- 对象实现了数据和操作(方法)的结合,其实现的机制是封装。
- 在希尔排序中,每经过一次数据交换后能消除多个逆序; 在快速排序法中,每经过一次数据交换(或移动)后能消除多个逆序。
- 冯·诺依曼思想中指出计算机硬件由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。
- 关于冯·诺依曼计算机结构描述:存储程序控制的计算机结构。
- 数据流图(DD)的作用是支持软件系统功能建模。
- 进程调度仅负责对CPU进行分配。
- 需求分析阶段产生的主要文档是需求规格说明书。
- 软件测试用例包括输入数据和预期输出结果。
- 对数据库数据的存储方式和物理结构的逻辑进行描述的是内模式。
- 过程控制系统属于实时系统。
- 地址重定位方式包括静态地址重定位和动态地址重定位。
- 动态地址重定位是在程序执行期间进行的;静态地址重定位是在程序执行之前进行的;静态地址重定位要求程序必须占用连续固定的内存空间。
- 静态地址重定位是在程序执行之前由操作系统的重定位装入程序完成,程序必须占用连续的内存空间,且一旦装入内存后,程序不便于移动;动态地址重定位不要求程序装入固定的内存空间,在内存中允许程序再次移动位置,而且可以部分地装入程序运行,同时也便于多个作业共享同一程序的副本。
- 代码编写阶段可进行的软件测试是单元测试。
- 单元测试主要涉及的文档是编码和详细设计说明书。
- 数据模型包括数据结构、数据完整性约束和数据操作。
- 采用表结构来表示数据及数据间联系的模型是关系模型。
- 立即寻址—所需的操作数由指令的地址码部分直接给出
直接寻址—指令的地址码部分给出操作数在存储器中的地址
隐含寻址—操作数的地址隐含在指令的操作码或者某个寄存器中 - 在数据库中,产生数据不一致的根本原因是数据冗余。
- 关系数据库中的键是指能唯一标识元组的属性或属性集合。
- 允许多个联机用户同时使用一台计算机系统进行计算的操作系统属于分时操作系统。
- 分时操作系统具有以下特点:交互性、独立性、及时性与同时性。
- 在执行指令过程中,CPU不经过总线能直接访问的是寄存器。
- 基本路径测试是属于白盒测试且是动态测试。
- 概念模型是用于现实世界的建模,与具体的DBMS无关。
- 常用的连续存储管理技术有固定分区存储和可变分区存储管理。
- 数据库应用系统中的核心问题是数据库设计。
- 数据库设计过程包括:需求分析、概念设计、逻辑设计、物理设计。(不包括算法设计)
- 在数据库系统中,数据模型包括概念模型、逻辑模型和物理模型。
- 在数据库的数据模型中,面向数据在计算机中物理表示的是物理模型。
- 数据库系统可以减少数据冗余和增强数据独立性,而文件系统不能。
- I/O方式中的程序查询方式是指当CPU需要执行I/O操作时,程序将主动查询I/O设备是否准备好。
- 长期储存在计算机内、有组织的、可共享的大量数据的集合是数据库。
- 在数据库的数据模型中,面向数据库管理系统且着重于数据在数据库系统一级实现的是逻辑模型。
- 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是DBS包括DB和DBMS。
- 数据字典(DD)的作用是定义数据流图中各个成份的具体含义。
- I/O方式中的程序中断方式是指:当出现异常情况,CPU暂时停止当前程序的运行,转向执行相应的服务程序。
- 能够减少相同数据重复存储的是数据库。
- 在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、存储级和概念级。
- 在循环队列运转起来后,如果front<rear,则队列中的元素个数为rear-front个;如果front>rear,则队列中的元素个数为rear-front+m个。
- 循环队列长度为m,初始状态front=rear=m,此时循环队列为空。现经过一系列入队与退队运算后,front=rear且不为m,此时循环队列为队满或队空。
- 循环队列是队列的一种顺序存储结构。
- 带链栈:当top=bottom=NULL时,栈为空;当top=bottom且不等于NULL时,栈中存在一个元素,其他情况无法判断。
- 带链队列:当front=rear=NULL时,队为空;当front=rear且不等于NULL时,队列中只存在一个元素,其他情况无法判断。
- 在计算机内部表示指令和数据应采用二进制。
- 数据流图(DFD)中的有向头(→)表示数据流。
- 在关系表中,属性值必须是另一个表主键的有效值或空值,这样的属性是外键。
- 单CPU的计算机允许多个进程并发执行。(多道程序环境下)
- 模块实现的算法设计属于软件详细设计阶段任务。
- 按照传统的数据模型分类,数据库系统可分为层次、网状和关系。
- 数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为数据操纵功能。
- 从表中任何一个结点位置出发就可以不重复地访问到表中其他所有结点的链表是循环链表。
- 面向对象的主要特征:抽象、封装、继承、多态。
- 关系模型中的关系模式至少应是1NF。
- 数据库管理系统(DBMS)是一种系统软件。
- 在数据库的三级模式中,可以有任意多个外模式。
- 数据库设计中反映用户对数据要求的模式是外模式。
- 所有的线性结构都可以采用顺序存储结构。
- 操作系统的功能和任务主要有处理机管理(进程管理)、存储管理、设备管理、文件管理和用户接口。
- 对数据进行压缩存储会降低算法的空间复杂度。
- 在计算机中,运算器的基本功能是进行算术和逻辑运算。
- 进程控制块PCB是进程存在的唯一标志。
- 文件属性包括文件类型、文件名称、文件长度、文件的物理地址、文件的建立时间等。
- 关系模式的候选关键字可以有1个或多个。
- 计算机系统由硬件系统和软件系统组成。
- 采用顺序存储的完全二叉树属于非线性结构。
- 数据字典(DD)所定义的对象都包含于数据流图(DFD图)。
- 需求分析阶段的工作可以分为4个方面:需求获取、需求分析、需求规格说明书编写和需求评审。
- 集成测试是为了发现概要设计的错误。
- 与信息隐蔽概念直接有关的概念是模块的独立性。
- 数据流图(DFD)构造规则:①对加工处理建立唯一、层次性的编号,且每个加工处理通常要求既有输入又有输出。②数据存储之间不应有数据流。③数据流图的一致性。即输入输出、读写的对应。④父图、子图关系与平衡规则。相邻两层DFD之间具有父子关系,子图代表了父图中某个加式的详细描述,父图表示了子图间的接口。子图个数不大于父图中的处理个数。所有子图的输入输出数据流和父图中相应处理的输入输出数据流必须一致。
- 软件设计准则:①提高模块独立性;②模块规模应该适中;③深度、宽度、扇出和扇入都应适当;④模块的作用域应该在控制域之内;⑤降低模块之间接口的复杂程度;⑥设计单入口和单出口的模块,不要使模块间出现内容耦合;⑦模块功能应该可以预测。
- 堆的定义:①堆是一个完全二叉树;②堆的每一个节点的值都大于等于(或小于等于)其子节点的值。
大于等于子节点的值我们叫它:大顶堆
小于等于子节点的值我们叫它:小顶堆 - 集成测试的方式可以分为非增量方式和增量方式两种。非增量方式又称一次性组装方式,增量方式包括自顶向下、自底向上以及自顶向下和自底向上相结合的混合增量方法。
概念理解:
- 实时操作系统(Real-time Operating System,RTOS):实时操作系统的主要目标是在特定时间限制内对任务或事件做出快速响应,确保系统的实时性。
- 分时操作系统(Time-sharing Operating System):分时操作系统是一种能够在多个用户之间共享计算机资源的操作系统。它通过轮流为每个用户提供处理器时间片,实现多任务并发执行。
- 嵌入式操作系统(Embedded Operating System):嵌入式操作系统是专为嵌入式系统设计的操作系统,嵌入式系统通常是一种特定用途的计算机系统,嵌入在其他设备中。
- 分布式操作系统(Distributed Operating System):分布式操作系统是一种运行在多个计算机上的操作系统,通过网络进行通信和协作,使这些计算机协同工作以完成任务。
- 创建状态(Created):
定义: 进程被创建,但尚未分配到任何系统资源,无法执行。
特征: 在此状态下,操作系统已经为进程分配了必要的资源控制块(PCB),但尚未将其加入到可执行队列中。 - 就绪状态(Ready):
定义: 进程已经准备好执行,并等待系统分配处理器时间。
特征: 进程已经分配了所需的资源,可以立即运行,但当前没有获得处理器时间片。 - 运行状态(Running):
定义: 进程正在执行,占用了处理器。
特征: 进程目前正在执行其指令,正在使用处理器和其他系统资源。 - 阻塞状态(Blocked):
定义: 进程由于等待某个事件(例如I/O操作完成)而无法继续执行,因此暂时停止运行。
特征: 进程在此状态下不能继续执行,直到发生某种事件(如I/O完成、信号到达等),将其移回就绪状态。 - 终止状态(Terminated):
定义: 进程已经完成执行,或者由于某种原因被终止。
特征: 进程在此状态下不再执行,系统释放了其占用的资源,包括内存、文件句柄等。 - 黑盒测试(Black Box Testing):
定义: 黑盒测试是一种测试方法,测试者不需要了解内部实现细节、代码或逻辑结构,而只关注输入和输出之间的关系,以验证软件的功能是否按照规格要求正常工作。
关注点: 测试者将软件视为一个封闭的黑盒,关注输入数据和相应的输出结果,而忽略程序的内部逻辑。
方法: 基于规格说明书、需求文档和用户界面进行测试,以确保系统在各种输入条件下都能产生正确的输出。
优点: 对于用户而言,关注系统功能而非实现细节;测试者不需要了解代码。 - 白盒测试(White Box Testing):
定义: 白盒测试是一种测试方法,测试者具有对系统内部的详细了解,包括源代码、算法和数据结构,以验证软件的内部逻辑是否正确。
关注点: 测试者关注代码的执行路径、数据流和控制流,以确保所有分支和语句都被测试到。
方法: 基于代码结构进行测试,包括语句覆盖、分支覆盖、路径覆盖等,通过单元测试、集成测试等层面来检查程序的各个部分。
优点: 更深入地检查软件内部,可以发现潜在的逻辑错误和编码错误。
定义学生选修课程的关系模式如下SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分)则关系最高是1NF。
定义学生、教师和课程的关系模式S(S#,Sn,Sd,Dc,a)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);C(C#,Cn,P#)(其属性分别为课程号、课程名、先修课);SC(S#,C#,G)(其属性分别为学号、课程号和成绩)。包含对非主属性部分依赖的关系是S(S#,Sn,Sd,Dc,Sa)。