十三、计算机领域英语
计算机体系结构与组织
- CPU(Central Processing Unit) :中央处理单元,计算机中执行程序指令的核心部件,负责数据处理与运算。
- ALU(Arithmetic and Logic Unit) :算术逻辑单元,在 CPU 中执行所有算术与逻辑运算。
- AC(Accumulator register) :累加寄存器,用于暂存算术运算结果或数据,便于后续处理。
- DR(Data Register) :数据缓冲寄存器,暂时存储从内存读取或等待写入内存的数据。
- PSW(Program Status Word) :状态条件寄存器,保存当前程序的运行状态,如进位标志、零标志等。
- IR(Instruction Register) :指令寄存器,保存当前正在执行的指令。
- PC(Program Counter):程序计数器,存放当前指令地址,指示下一条指令所在位置。
- AR(Address Register) :地址寄存器,暂时存储当前访问内存单元的地址。
- ID(Instruction Decoder) :指令译码器,将指令操作码翻译成控制信号,控制计算机各部件协同工作。
- Parity Codes :奇偶校验,一种简单的数据校验方法,通过添加奇偶位检测数据传输错误。
- Hamming Code :海明码,一种可纠正一位错误的编码方式,用于数据传输和存储的检错纠错。
- CRC(Cyclic Redundancy Check) :循环冗余校验码,利用除法运算对数据块进行校验,能检测出大多数常见的错误类型。
- Computer Architecture :计算机体系结构,研究计算机系统的整体结构、组成与工作原理,涉及硬件设计与软件接口。
- Computer Organization:计算机组织,侧重于计算机各部件的功能、相互连接方式以及信息流动规律。
- Computer Implementation :计算机实现,关注计算机硬件的具体实现技术,如电路设计、芯片制造等。
- Uni-processing System:单处理系统,只有一个 CPU 负责所有任务处理的计算机系统。
- Parallel Processing and Multiprocessing System:并行处理与多处理系统,包含多个 CPU 或处理器,可同时执行多个任务,提高系统性能。
- Distributed Processing System:分布式处理系统,由多台计算机通过网络连接组成,协同完成任务,具有资源共享、负载均衡等特点。
- SISD(Single Instruction stream Single Data stream):单指令流、单数据流,传统单处理机结构,只有一个指令流和数据流。
- SIMD(Single Instruction stream Multiple Data stream) :单指令流、多数据流,并行处理机结构,同一指令控制多个数据流并行运算。
- MISD(Multiple Instruction stream Single Data stream):多指令流、单数据流,较少见的处理方式,多个指令流对同一数据流进行处理。
- MIMD(Multiple Instruction stream Multiple Data stream):多指令流、多数据流,多处理器系统中,各处理器可执行不同指令处理不同数据。
- WSBS:字串行位串行,数据传输方式,字与字之间串行传输,字内各位也串行传输。
- WPBS:字并行位串行,字与字之间并行传输,字内各位串行传输。
- WSBP:字串行位并行,字与字之间串行传输,字内各位并行传输。
- WPBP:字并行位并行,字与字之间并行传输,字内各位也并行传输。
- Execution Stream:执行流,指指令执行的序列或过程,体现程序的执行逻辑。
- SISE:单指令流单执行流,与 SISD 类似,指令和执行流一一对应。
- SIME:单指令流多执行流,在同一指令流下,有多个执行流并行处理。
- MISE:多指令流单执行流,多个指令流共享一个执行流,依次执行。
- MIME:多指令流多执行流,各指令流对应多个执行流,实现高度并行处理。
- ISA(Instruction Set Architecture) :指令集体系结构,定义计算机指令集、数据类型、寻址方式等,是软件与硬件的接口。
- Stack:堆栈,一种特殊的存储结构,按 LIFO(后进先出)原则进行插入和删除操作。
- Accumulator:累加器,硬件寄存器,用于执行算术和逻辑操作,暂存操作结果。
- a set of Registers :寄存器组,多个寄存器的集合,用于快速暂存数据和指令,提高处理器运行效率。
- GPR(General-Purpose Register Machines):通用寄存器,可存放数据、地址或指令,用途灵活,由程序员或编译器分配使用。
- Memory Traffic:访存流量,指处理器与内存之间进行数据读写操作的流量大小,影响系统性能。
- CISC(Complex Instruction Set Computer):复杂指令集计算机,指令集丰富,包含复杂指令,能完成多种操作,但指令长度不固定,执行时间长。
- RISC (Reduced Instruction Set Computer):精简指令集计算机,指令集简单,指令长度固定,执行速度快,采用 load-store 架构,大部分操作都在寄存器间完成。
- Overlapping Register Windows:重叠寄存器窗口,一种寄存器组织方式,提高寄存器使用效率,便于过程调用和中断处理。
Pipe lining :流水线,将指令执行过程分解为多个阶段,各阶段并行处理不同指令,提高处理器吞吐率。
Super Pipe Line:超流水线,对流水线进一步细分,增加流水线级数,提高处理器性能,但对时钟频率要求更高。
CPI(Clock Cycles Per Instruction):每个指令需要的机器周期数,衡量指令执行效率,CPI 越小,处理器性能越好。
Super Scalar :超标量,处理器每个时钟周期可执行多个指令,通过内置多个功能单元实现并行处理。
VLIW(Very Long Instruction Word) :超长指令字,指令字长度长,可同时指定多个操作,由编译器调度指令并行性。
PU(processing unit) :处理单元,执行数据处理和计算操作的硬件单元,如 CPU 中的算术逻辑单元。
CU(Control Unit):控制部件,负责产生控制信号,指挥计算机各部件按照指令要求协同工作。
存储器与输入输出
- Static Memory :静态内存,一种存储器类型,数据存储稳定,无需定期刷新,但集成度相对较低。
- Dynamic Memory:动态内存,需定期刷新才能保持数据存储,集成度高,成本低,常用于计算机主内存。
- Optical Disk:光盘,利用光学原理进行数据存储和读取的外部存储设备,如 CD、DVD 等。
- RAM(Random Access Memory) :随机存储器,可随机读写数据,断电后数据丢失,用于临时存储运行程*
- ROM(Read Only Memory) :固定只读存储器,数据只能读出,不能写入,用于存储系统启动程序和*
- PROM(Programmable Read Only Memory)*:可编程的只读存储器,用户可一次性写入数据,断电后数据可保留。
- EPROM(Erasable Programmable Read Only Memory):可擦除可编程的只读存储器,可通过紫外线照射擦除原有数据,重新编程。
- EEPROM(Electrically Erasable Programmable Read Only Memory) :电擦除可编程的只读存储器,可通过电信号擦除和写入数据,擦写次数有限。
- Flash Memory:闪存,一种新型的 EEPROM,具有高集成度、低功耗、可移动等优点,广泛应用于 U 盘、固*
- SAM(Sequentially Addressed Memory) :顺序存储器,数据按顺序访问,如磁带存储设备,访问速度较慢。
- DAM(Direct Addressed Memory):直接存储器,可通过地址直接访问指定存储单元,如随机存储器。
- Cache:高速缓存,位于 CPU 和主内存之间,容量小、速度快,用于暂存频繁访问的数据,提高数据访问速度。
- Main Memory:主存,计算机的主要存储设备,用于存储当前运行的程序和数据,断电后数据丢失。
- Physical Address:物理地址,内存单元在实际存储器中的地址,CPU 通过物理地址访问内存。
- Virtual Memory:虚拟存储,利用磁盘空间扩展内存容量,为用户提供更大的虚拟地址空间,由操作系统管理。
- Virtual Address:虚拟地址,程序中使用的地址,经系统转换为物理地址后才能访问内存单元。
- CD-ROM:只读型光盘,用户只能读取其中的数据,不能写入,用于存储软件、音频、视频等数据。
- WORM:只写一次型光盘,用户可一次性写入数据,之后只能读取,用于数据备份和归档。
- RAID(Redundant Array of Independent Disk):廉价冗余磁盘阵列,将多个磁盘组合成一个虚拟磁盘,提高存储性能和数据可靠性。
- N(Storage Area Network):存储域网络,高速网络架构,连接存储设备和服务器,提供高效的数据存储和共享。
- Multiple Interrupt Lines:多中断信号线法,一种中断处理方式,使用多条中断信号线区分不同的中断源。
- Software Poll:中断软件查询法,程序通过循环查询中断标志位的方式检测中断请求。
- Daisy Chain:菊花链法,一种设备地址编码方式,设备按顺序连接,共享一条总线,依次响应中断请求。
- DMA(Direct Memory Access) :直接内存存取,允许设备直接与内存进行数据传输,不通过 CPU,提高数据传输效率。
- IOP(Input/Output Processor):输入输出处理器,专门负责输入输出操作的处理部件,减轻 CPU 负担。
- PPU(Peripheral Processor Unit):外围处理机,协助 CPU 进行输入输出处理,实现对外部设备的控制和数据传输。
- Bus:总线,计算机各部件之间共享的信号传输通道,包括数据总线、地址总线和控制总线。
- DB(Data Bus):数据总线,用于在计算机各部件之间传输数据,数据传输的宽度通常由总线位数决定。
- AB(Address Bus):地址总线,用于传输内存单元或 I/O 端口的地址,地址总线的位数决定了可寻址的范围。
- CB(Control Bus):控制总线,用于传输控制信号,如读写信号、中断请求、时钟信号等,协调计算机各部件的工作。
- FSB(Front Side Bus):前端总线,连接 CPU 和内存、芯片组等主要部件的总线,对系统性能影响较大。
- USB(Universal Serial Bus) :通用串行总线,一种通用的串行接口标准,用于连接计算机和各种外部设备,如鼠标、键盘、U 盘等。
安全与加密
- DES(Digital Encryption Standard) :数据加密标准,一种对称加密算法,使用 56 位密钥对数据进行加密,现已被更安全的算法取代。
- IDEA(International Data Encryption Ad1eman) :国际数据加密算法,一种对称加密算法,使用 128 位密钥,具有较高的安全性。
- AES(Advanced Encryption Standard) :高级加密标准,当前广泛应用的对称加密算法,具有多种密钥长度,安全性高,性能好。
- Publickey:公开密钥,非对称加密算法中用于加密或验证签名的密钥,可公开发布。
- Privatekey:私有密钥,与公开密钥成对出现,用于解密或签名,必须严格保密。
- PKI (Public Key Infrastructure) :公开密钥体系,基于公钥加密技术构建的安全基础设施,包括证书颁发机构、证书库等,用于管理公钥证书。
- KDC(Key Distribution Center) :密钥分发中心,在对称加密环境下,负责分配和管理会话密钥的中心机构。
- API(Application Programming Interface) :应用接口,软件应用程序之间的交互接口,规定了调用方式、参数传递和返回值等。
- PKCS(Public Key Cryptography Standards) :公钥加密标准,定义了公钥加密算法的语法和使用规则,确保不同厂商产品之间的互操作性。
- IETF(Internet Engineering Task Force) :Internet 工程任务组,国际互联网技术标准组织,负责互联网标准的开发和推进。
- PKIX(Public Key Infrastructure Working Group) :PKI 工作组,专注于公钥基础设施标准的制定和完善,确保 PKI 的安全性和互操作性。
- Message Digest:信息摘要,通过特定算法对消息进行计算得到固定长度的摘要值,用于数据完整性验证。
- SSL(Secure Sockets Layer) :安全套接层,用于在网络通信中提供数据加密和身份验证,确保数据传输的安全性。
- DTS(Digital Time Stamp Service) :数字时间戳服务,为电子文件或数据提供准确的时间标记,证明文件在特定时间存在且未被篡改。
- PDR(Processing Data Rate):数据处理速率,衡量计算机系统或设备处理数据的速度,通常以每秒处理的数据量表示。
编程与算法
- Benchmark :基准程序法,通过运行特定的基准程序测试计算机系统性能,用于评估和比较不同系统的性能优劣。
- SPEC Benchmark:SPEC 基准程序,由标准性能评估公司(SPEC)制定的一系列基准测试程序,用于评估计算机系统的性能。
- Call by Value:值调用,函数调用时将实参的值复制给形参,形参的变化不影响实参的值。
- Call by Reference:引用调用,函数调用时将实参的地址传递给形参,形参可通过指针对实参进行操作。
- LC(Location Counter):单元地址计数器,在程序编译或汇编过程中,用于记录当前指令或数据的存储位置。
- Binary-code:二进制操作码,计算机指令的二进制表示,CPU 直接识别和执行的代码。
- DFA(Deterministic Finite Automata) :确定的有限自动机,一种理论模型,用于描述确定性的状态转换系统,在词法分析等场景中有重要应用。
- NFA(Nondeterministic Finite Automata) :不确定的有限自动机,一种理论模型,允许在多个状态之间进行非确定性转换,可通过一定的算法转换为 DFA。
- LIFO(Last In First Out) :栈又称为后进先出,栈的基本操作原则,最后进入栈的元素最先被移除。
- TOP:栈顶,栈中最后一个进入的元素所在的位臵,是栈操作的主要位置。
- Bottom:栈底,栈的起始位置,通常固定不变。
- FIFO(First In First Out):先进先出,队列的基本操作原则,先进入队列的元素最先被移除。
- Rear:队尾,队列中最后一个元素进入的位置,新元素从队尾加入。
- Front:队头,队列中第一个元素所在的位置,元素从队头移出。
- DFS(Depth First Search):深度优先搜索,一种图遍历算法,从起始顶点出发,沿着一条路径尽可能深入地搜索,直到无法继续时回溯。
- BFS(Breadth First Search):广度优先搜索,一种图遍历算法,从起始顶点出发,逐层访问其相邻顶点,按层次进行搜索。
- BF(Balance Factor):平衡因子,在平衡二叉树中,某一结点的左子树高度与右子树高度之差,用于衡量树的平衡程度。
- CAD:辅助设计软件,利用计算机技术辅助设计过程的软件,广泛应用于工程、建筑、机械等领域。
- throughput:吞吐量,单位时间内系统处理的任务量或数据量,衡量系统的整体性能。
- PCB(Process Control Block):进程控制块,操作系统用于管理进程的数据结构,记录进程的运行状态、寄存器内容、内存资源等信息。
- Primitive:原语,操作系统中不可中断的指令序列,用于实现进程的创建、撤销、阻塞、唤醒等操作。
- CR(Critical Resource) :临界资源,在多进程环境中,一次只能被一个进程访问的资源,如打印机、共享内存等。
- CS(Critical Section) :临界区,进程代码中访问临界资源的片段,需要进行同步控制,确保同时只有一个进程进入。
- Monitor:管程,一种高级同步原语,提供了一组操作用于管理进程对临界资源的访问,包含互斥锁、条件变量等。
- FCFS:先来先服务,一种进程调度算法,按照进程到达的先后顺序分配处理器资源。
- Light-Weight Process :轻型进程,一种调度单元,具有较小的系统开销,比普通进程更轻量,常与线程相关联。
- Heavy-Weight Process :重型进程,系统资源分配和调度的独立单位,拥有完整的地址空间等资源,创建和切换开销大。
- User-Level Threads*:用户级线程,线程调度和管理在用户态完成,不依赖内核支持,线程切换速度快。
- Kernel-Supported Threads :内核支持线程,线程的调度和管理由操作系统内核负责,可进行线程级的并发操作。
- LRU(Least Recently Used):最近最少未使用,一种页面置换算法,优先淘汰最长时间未被访问的页面。
- NUR(Not Used Recently):最近未使用,与 LRU 类似,用于页面置换决策,但具体实现和判断依*
- Block Device:块设备,以块为单位进行数据传输的设备,如磁盘存储设备,数据读写以固定大小的块为基本单位。
- Character Device:字符设备,以字符为单位进行数据传输的设备,如键盘、鼠标等,数据流逐字符进行处理。
- DAM(Direct Memory Access):直接主存存取,允许设备直接与内存进行数据传输,不经过 CPU,提高数据传输效率。
- Simultaneous Peripheral Operations On Line Spooling:脱机技术,允许多个外围设备同时进行输入输出操作,通过在内存中开辟缓冲区暂存数据,提高设备利用率。
- FCFS(First-Come First-Served):先来先服务,磁盘调度算法的一种,按照磁盘 I/O 请求到达的先后顺序进行处理。
- SSTF(Shortest Seek Time First):最短寻道时间优先,磁盘调度算法,优先处理寻道时间最短的 I/O 请求,以减少平均寻道时间。
- SCAN:扫描算法,磁盘调度算法,磁头从一端开始沿一个方向移动,依次处理经过的 I/O 请求,到另一端后反转方向继续处理。
- CSCAN:单向扫描调度算法,磁盘调度算法,磁头固定一个方向移动,扫描到磁盘末端后从另一端返回继续扫描,类似于电梯调度。
- File:文件,存储在外部介质上的、具有完整意义的一组相关信息的集合,是操作系统中数据存储和管理的基本单位。
- FCB:文件控制块,操作系统用于管理文件的数据结构,包含文件的属性、存储位置、访问权限等信息。
- MFD(Master File Directory):主文件目录,文件系统的根目录,用于存储系统级文件和用户文件的组织结构。
- UFD(User File Directory):用户目录,用户创建的目录,用于组织和管理用户的文件。
- Absolute Path Name:绝对路径名,从根目录开始,完整描述文件在文件系统中的位置,唯一确定一个文件。
- Disk Allocation Table:磁盘分配表,用于记录磁盘空间的使用情况和文件存储位置的表格,文件系统管理磁盘空间的重要数据结构。
- Bitmap:位示图,一种磁盘空间管理方法,用一个二进制位表示磁盘块的使用状态,1 表示已分配,0 表示空闲。
软件工程与开发模型
- CASE (Computer Aided Software Engineering):计算机辅助的软件工程,利用计算机技术辅助软件开发过程,包括软件分析、设计、测试等阶段的工具和方法。
- CMM:能力成熟度模型,用于评估和改进软件组织过程能力的模型,分为初始级、可重复级、已定义级、已管理级、优化级五个等级。
- Initial:初始级,CMM 中的最低成熟度等级,软件过程是未受控的,项目开发依赖个人能力和英雄式努力。
- Repeatable:可重复级,CMM 中的第二级,在项目管理方面建立了基本的规程,类似项目的成功经验可重复。
- Defined:已定义级,CMM 中的第三级,软件过程已被文档化和标准化,成为组织级的标准软件过程。
- Managed:已管理级,CMM 中的第四级,对软件过程和产品质量有详细的度量和控制,能够收集和分析过程数据。
- Optimized:优化级,CMM 中的最高级别,注重过程的持续改进,通过对过程数据的分析不断优化软件过程。
- CMMI:能力成熟度模型集成,综合了多个 CMM 模型,覆盖软件工程、系统工程、集成产品开发等多个领域,用于改进组织的过程能力。
- CL(Capability Level):能力等级,在 CMMI 中用于表示过程能力达到的程度,分为 0 - 5 级,等级越高,过程能力越强。
- Waterfall Model:瀑布模型,一种线性的软件开发过程模型,按需求分析、设计、编码、测试、维护等阶段顺序进行开发。
- Incremental Model:增量模型,将软件产品分解为多个增量进行开发,每个增量按瀑布模型进行迭代,逐步交付完整软件。
- Evolutionary Model:演化模型,基于原型的渐增式开发模型,软件在开发过程中不断演化,根据用户反馈进行调整和改进。
- Prototype Model:原型模型,先快速构建一个原型系统,用户通过原型反馈需求,开发者根据反馈修改原型,逐步完善软件。
- Rapid Prototype:快速模型,强调快速构建原型,以最快的速度交付可运行的软件原型,获取用户早期反馈。
- Spiral Model:螺旋模型,综合了瀑布模型和原型模型的特点,并增加了风险分析环节,以螺旋式上升的方式进行开发。
- Water Fountain Model:喷泉模型,一种非线性的软件开发模型,允许开发过程在不同阶段之间来回流动,适用于面向对象的开发方法。
- Component-based Development Model:基于构件的开发模型,利用预先构建好的软件构件进行系统组装,提高开发效率和复用性。
- COTS(Commercial Off-The-Shelf):商品化成品,市场上可直接购买的软件产品或构件,用于组装软件系统,减少开发成本和周期。
- Formal Methods Model:形式化方法模型,利用数学方法对软件进行精确的描述、分析和验证,提高软件的可靠性和安全性。
- Inception Phase:起始阶段,软件开发过程的初期阶段,主要进行需求获取、可行性分析和项目计划等工作。
- Elaboration Phase:精化阶段,进一步细化需求,进行系统分析和设计,构建系统的架构模型。
- Construction Phase:构建阶段,依据设计模型进行编码实现,完成软件产品的开发工作。
- Transition Phase:移交阶段,将开发完成的软件交付给用户,进行安装、部署和培训等后续工作。
- Agile Development:敏捷方法,一组以快速响应变化、迭代开发、用户协作等为特点的软件开发方法,强调人的因素和沟通。
- XP:极限编程,敏捷开发方法之一,采用短周期迭代、持续集成、结对编程等实践,强调应对需求变化和高质量交付。
- Crystal:水晶法,一种轻量级的软件开发方法,根据项目团队规模和项目特点选择合适的实践方法,强调沟通和简单性。
- Scrum:并列争求法,敏捷开发框架,通过固定的迭代周期(Sprint)进行开发,注重团队协作、每日站会和定期回顾等实践。
- ASD:自适应软件开发,强调适应性和以人为中心的开发方法,采用迭代和增量的方式进行开发,注重团队自我组织和调整。
- AUP(Agile Unified Process):敏捷统一过程,在统一软件开发过程的基础上融入敏捷开发理念,采用迭代式开发、增量交付等方法。
软件质量与设计模式
- Slack Time:松弛时间,在项目计划中安排的弹性时间,用于应对可能的延迟或意外情况,确保项目按时完成。
- SCM(Software Configure Management):软件配置管理,用于管理软件开发过程中的各种配置项,包括源代码、文档、工具等,控制变更,确保软件产品的一致*
- SCI(Software Configure Item):软件配置项,软件配置管理中的基本单位,是软件开发过程中的重要产物,如程序代码、文档、测试用例等。
- RE(Risk Exposure):风险显露度,衡量项目风险可能造成的影响程度,通常由风险发生的概率与损失程度的乘积表示。
- Functionality:功能性,软件产品满足用户功能需求的能力,是软件质量特性的重要方面之一。
- TMR(Triple Module Redundancy):三模冗余,一种容错技术,使用三个相同的模块并行工作,通过多数表决机制提高系统的可靠性。
- Program Rollback:程序滚回,当系统出现故障或错误时,将程序状态恢复到之前某个稳定状态的操作,确保系统正常运行。
- LOC(Line of Code):代码行,衡量软件规模的一种方式,统计软件源代码的行数,但不能完全反映软件的复杂度和质量。
- KLOC:代码量,以千行代码为单位表示软件规模,常用于软件项目估算和成本计算。
- FP(Function Point):功能点,基于软件功能需求进行度量的单位,从用户角度衡量软件功能大小,可用于项目估算和软件质量评估。
- CASE(Computer Aided Software Engineering):计算机辅助软件工程,利用计算机技术和工具辅助软件开发过程,提高开发效率和质量。
- SA(Structured Analysis):结构化分析,一种软件需求分析方法,采用图形化工具(如数据流图、数据字典等)对软件功能需求进行分析和建模。
- SD(Structured Design):结构化设计,根据结构化分析得到的需求模型,采用模块化设计方法,设计软件系统的结构和模块接口。
- SPD(Structured Programming Design):结构化程序设计,强调程序结构清晰、逻辑严谨,采用顺序、选择、循环三种基本结构构建程序,提高代码可读性和可维护性。
- DFD(Data Flow Diagram):数据流程图,结构化分析中常用的图形工具,用于描述系统的功能需求,反映系统中数据的流动和处理过程。
- MVC(Model-View-Controller):模型 - 视图 - 控制器,一种软件设计模式,将软件系统分为模型、视图和控制器三个部分,提高软件的可维护性和可扩展性。
- OO(Object-Oriented):面向对象,一种以对象为核心,通过对象之间的交互实现程序功能的编程思想和方法,强调封装、继承和多态等特性。
- UML(Unified Modeling Language):统一建模语言,一种标准化的图形化建模语言,用于描述软件系统的结构和行为,支持面向对象的开发方法。
- Dynamic Binding:动态绑定,在程序运行时确定函数调用的操作对象,实现多态性,是面向对象编程的重要特性之一。
- OOA(Object-Oriented Analysis):面向对象分析,运用面向对象的思想和方法对软件需求进行分析,识别系统中的对象、类和它们之间的关系。
- OOD(Object-Oriented Design):面向对象设计,根据面向对象分析结果,设计软件系统的类结构、对象交互方式和系统架构。
- SRP(Single Responsibility Principle):单一责任原则,一个类应该只有一个引起它变化的原因,即一个类只负责一个功能领域,提高代码的可维护性和可扩展性。
- OCP(Open & Close Principle):开发 - 封闭原则,软件实体应该对扩展开放,对修改封闭,通过抽象化和多态性实现软件的灵活扩展。
- LSP(Liskov Substitution Principle):里氏替换原则,子类应当可以替换掉它们的基类,而不会影响软件的正确性,强调继承关系中的兼容性和一致性。
- DIP(Dependence Inversion Principle):依赖倒置原则,依赖于抽象,而不是具体实现,高层次模块不依赖低层次模块,都应依赖于抽象,提高系统的耦合性和灵活性。
- ISP(Interface Segregation Principle):接口分离原则,避免接口的污染,客户端不应被强制依赖于它不需要的接口,将大的接口拆分为多个小的、具体的接口。
- REP(Release Reuse Equivalency Principle):重用发布等价原则,一个模块的重用应该等同于它的发布,鼓励将可重用的模块单独发布,便于共享和管理。
- CCP(Common Closure Principle):共同封闭原则,具有高内聚性的类应该共同封装在一个模块中,并且该模块对修改封闭,对扩展开放,提高模块的稳定性和可维护性。
- CRP(Common Reuse Principle):共同重用原则,在模块设计时,将紧密相关的类和接口组织在一起,使得这些模块能够被一起重用,提高系统的通用性和可维护性。
- ADP(Acyclic Dependencies Principle):无环依赖原则,在模块之间的依赖关系中,不允许存在循环依赖,确保系统的可构建性和可维护性。
设计模式与数据库
- SDP(Stable Dependencies Principle):稳定依赖原则,模块之间的依赖关系应该依赖于稳定的方向,减少依赖不稳定的模块,提高系统的稳定性和可靠性。
- SAP(Stable Abstractions Principle):稳定抽象原则,抽象的稳定性应该高于具体的实现,抽象类或接口应该比实现类更稳定,便于系统的扩展和维护。
- OOP(Object-Oriented Programming):面向对象程序设计,基于面向对象思想的编程方法,采用类和对象进行程序构建,强调封装、继承和多态等特性。
- OOPL(Object-Oriented Programming Language):面向对象程序设计语言,支持面向对象编程范式的编程语言,如 C++、Java、Python 等。
- VTBL(Virtual Functions Jump Tables):虚拟函数跳转表,C++ 中实现多态的一种机制,用于存储类中虚函数的地址,支持根据对象的实际类型调用相应的函数。
- OMT(Object Modeling Technique):面向对象建模技术,用于构建面向对象的系统模型的方法和工具,包括对象模型、动态模型和功能模型。
- Sequence Diagram:序列图,UML 中用于描述系统中对象之间交互顺序的图形化工具,强调消息传递的时间顺序。
- Scenario:场景,在软件开发中描述系统或软件在特定情况下的行为和交互方式,通常用于需求分析和测试用例设计。
- Communication Diagram:通信图,UML 中用于展示系统中对象之间交互关系的图形化工具,重点在于对象之间的链接和消息传递。
- Interaction Overview Diagram:交互概览图,UML 中用于对交互过程进行高层次描述的图形化工具,结合活动图和交互图的特点,提供交互的概览。
- Timing Diagram:计时图,UML 中用于描述系统中对象状态随时间变化的图形化工具,强调时间约束和状态转换。
- State Diagram:状态图,UML 中用于建模对象或系统状态及其状态转换的图形化工具,反映系统的行为和响应事件的方式。
- Activity Diagram:活动图,UML 中用于描述系统中活动的流程和顺序的图形化工具,类似于流程图,但更强调对象之间的协作。
- Component Diagram:构件图,UML 中用于展示系统中构件及其相互关系的图形化工具,构件可以是代码库、可执行文件等。
- Composite Structure Diagram:组合结构图,UML 中用于描述系统中类或组件内部结构及其交互关系的图形化工具,体现系统的组成和协作方式。
- Deployment Diagram:部署图,UML 中用于展示系统硬件节点和软件组件在节点上部署情况的图形化工具,用于描述系统的物理架构。
- Package Diagram:包图,UML 中用于组织和管理模型元素的图形化工具,将相关的类、接口等组织在包中,体现系统的分层和模块化结构。
- Abstract Factory:抽象工厂,创建型设计模式,提供一个接口用于创建一系列相关或依赖对象,强调对象的创建封装和扩展性。
- Builder:生成器,创建型设计模式,将复杂对象的构建过程抽象化,使相同的构建过程可以创建不同的表示,提高对象创建的灵活性。
- Factory Method:工厂方法,创建型设计模式,定义一个用于创建对象的接口,但让子类决定实例化哪个类,体现多态性和扩展性。
- Prototype:原型,创建型设计模式,通过复制原型对象来创建新对象,提高对象创建的效率,适用于对象结构复杂或创建成本高的场景。
- Singleton:单例,创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点,适用于需要统一管理资源或配置的场景。
- Adapter:适配器,结构型设计模式,将一个类的接口转换成客户期望的接口,实现不同接口之间的兼容和协作。
- Bridge:桥接,结构型设计模式,将抽象部分与实现部分分离,使它们可以独立变化,提高系统的可扩展性和灵活性。
- Composite:组合,结构型设计模式,将对象组合成树形结构以表示 “部分 - 整体” 的层次结构,使用户可以一致地操作单个对象和组合对象。
- Decorator:装饰,结构型设计模式,动态地给对象添加新的职责,不改变原有对象结构和代码,通过创建装饰类来扩展功能。
数据库与网络协议
- Facade :外观,结构型设计模式,为子系统中的一组接口提供一个一致的界面,简化客户端对子系统的使用,降低系统的耦合度。
- Flyweight :享元,结构型设计模式,通过共享大量细粒度对象中的公共数据,来减少内存占用,提高对象的复用性。
- Proxy:代理,结构型设计模式,为其他对象提供一种代理以控制对这个对象的访问,实现访问控制、延迟加载等功能。
- Chain of Responsibility:责任链,行为型设计模式,使多个对象都有机会处理请求,将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它。
- Command:命令,行为型设计模式,将一个请求封装为一个对象,使用户可以参数化地使用不同的请求、队列或者记录请求日志,支持可撤销操作。
- Interpreter:解释器,行为型设计模式,给定一种语言,定义它的文法的一种表示,并定义一个解释器,用于解释该语言中的句子。
- Iterator:迭代器,行为型设计模式,提供一种顺序访问聚合对象元素而不暴露其内部表示的方法,封装了聚合对象的遍历逻辑。
- Mediator:中介者,行为型设计模式,定义一个中介对象来封装一系列对象之间的交互,使各个对象不需要显式地相互引用,从而降低它们的耦合。
- Memento:备忘录,行为型设计模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,实现对象的状态恢复。
- Observer:观察者,行为型设计模式,定义对象之间一对多的依赖关系,当一个对象改变状态时,所有依赖于它的对象都会得到通知并自动更新。
- State:状态,行为型设计模式,允许一个对象在其内部状态改变时改变它的行为,对象看起来好像改变了它的类。
- Strategy:策略,行为型设计模式,定义一系列算法,把它们一个个封装起来,并且使它们可相互替换,让算法独立于使用它的客户而变化。
- Template Method:模板方法,行为型设计模式,定义一个操作中的算法骨架,将一些步骤延迟到子类中,使得子类可以在不改变算法结构的情况下重定义算法的某些特定步骤。
- Visitor:访问者,行为型设计模式,表示一个作用于某对象结构中的各元素的操作,它使用户可以在不改变各元素类的前提下定义作用于这些元素的新操作。
- Algorithm:算法,计算机科学中用于解决特定问题的步骤和规则的集合,是程序设计的核心。
- DBS(Data Base System):数据库系统,由数据库、数据库管理系统、数据库管理员、硬件和软件等组成的系统,用于存储、管理和处理数据。
- DB(Data Base):数据库,按照一定数据模型组织、存储和管理的相互关联的数据集合,为应用程序提供数据支持。
- DBA(Data Base Administrator):数据库管理员,负责数据库系统的安装、配置、维护、备份恢复等管理工作,确保数据库的正常运行。
- DBMS(DataBase Management System):数据库管理系统,用于管理数据库的软件系统,提供数据定义、数据操作、数据存储和数据控制等功能。
- DDL(Data Definition Language):数据定义语言,用于定义和修改数据库结构的语句集合,如 CREATE、DROP、ALTER 等。
- DML(Data Manipulation Language):数据操纵语言,用于查询和更新数据库中数据的语句集合,如 SELECT、INSERT、UPDATE、DELETE 等。
- RDBS(Relation DataBase Systems):关系数据库系统,基于关系模型的数据库系统,使用表格形式组织数据,通过 SQL 语言进行数据操作。
- OODBS(Object-Oriented DataBase System):面向对象的数据库系统,基于面向对象模型的数据库系统,支持对象、类、继承等概念,直接存储和操作复杂对象。
- ORDBS(Object-Oriented Relation DataBase System):对象关系数据库系统,融合了关系模型和面向对象模型特点的数据库系统,支持复杂数据类型和对象引用等。
- Entity-Relationship Model,E-R 模型:实体 - 联系模型,一种概念数据模型,用于描述现实世界中的实体、属性和实体之间的联系,是数据库设计的重要工具。
- Union:并,集合运算的一种,用于合并两个关系,并去除重复的元组,结果关系包含两个关系中所有元组。
- Difference:差,集合运算的一种,用于获取属于一个关系但不属于另一个关系的元组,结果关系反映两个关系的差异。
- Extended Cartesian Product:广义笛卡儿积,在关系代数中,允许属性名相同但取值来自不同关系的运算,结果关系包含两个关系所有可能的元组组合。
- Projection:投影,关系运算之一,用于从关系中选取指定的属性列,形成新的关系,通常用于减少数据维度或提取特定信息。
- Selection:选择,关系运算之一,从关系中选取满足特定条件的元组,形成新的关系,用于数据筛选和查询。
- Intersection:交,集合运算的一种,用于获取同时属于两个关系的元组,结果关系是两个关系的共同部分。
- Join:连接,在关系数据库中,将两个或多个关系通过指定的条件组合成一个新的关系,用于关联不同的数据表进行查询。
- Division:除,关系运算之一,用于在两个关系之间进行除法运算,获取满足特定条件的元组,常用于查询集合包含关系。
- Generalized Projection:广义投影,允许在投影过程中对属性进行表达式运算,生成新的属性值,扩展了基本投影的功能。
- Outer Jion:外连接,连接运算的一种,保留一个或两个关系中不满足连接条件的元组,通过填充空值将其包含在结果关系中,确保数据的完整性。
- LLC(Logical Link Control):逻辑链路控制,OSI 模型中的数据链路层子层,负责介质访问控制和差错控制,确保数据在链路中的可靠传输。
- MAC(Medium Access Control):介质访问控制,在数据链路层中,控制设备如何访问传输介质的机制,如以太网中的 CSMA/CD 协议。
- IEEE 802.5 令牌环网:一种局域网技术标准,采用令牌传递方式控制网络访问,数据以环形拓扑结构在节点间传输。
- FDDI (Fiber Distributed Data Interface):光纤分布式数据接口,一种高速、高可靠性的光纤传输网络标准,常用于骨干网和关键应用。
- PPP 点对点协议:一种用于在点对点链路上传输数据包的网络协议,提供数据封装、差错检测等功能,常用于拨号上网等场景。
- xDSL 数字用户线:数字用户线路的统称,通过普通电话线提供高速数字通信服务的技术,如 ADSL、VDSL 等,是常见的宽带接入方式。
- ATM(Asynchronous Transfer Mode):异步传输模式,一种面向连接的、基于信元的高速网络传输技术,支持多种业务类型,具有高带宽和低延迟的特点。
- ICMP(Internet Control Message Protocol):控制信息协议,用于在 IP 网络中传递控制消息和错误信息,帮助诊断网络问题和设备通信状态。
- TCP(Transmission Control Protocol) :传输控制协议,一种面向连接的、可靠的传输层协议,通过三次握手建立连接,采用确认、重传等机制保证数据的可靠传输。
- UDP(User Datagram Protocol) :用户数据报协议,一种无连接的、不可靠的传输层协议,数据传输简单快速,但不保证数据的可靠性和顺序,适用于实时性*
- Domain Name:域名,用于标识和定位互联网上计算机的名称系统,便于用户记忆和访问网站,通过 DNS 服务器解析为 IP 地址。
- NAT(Network Address Translators):网络地址翻译,将私有网络地址转换为公有网络地址的技术,用于解决 IP 地址不足问题,同时提供一定程度的网络安全性。
- NAPT(Network Address Port Translation):网络地址和端口翻译,在 NAT 的基础上同时转换 IP 地址和端口号,允许多个私有网络用户共享一个公有 IP 地*
- Firewall :防火墙,位于内部网络与外部网络之间的一道安全屏障,通过监测和控制进出网络的数据流,防止外部非法访问和攻击,保护内部网络的安全。