备战2020年中级软件设计师,整理了近10年上午选择题部分的真题的解析,将所包含的知识点进行了加工和整合,最终浓缩成了这份笔记,便于自己以后需要时再翻阅。这份笔记整理了有一个月时间,都是自己在刷题时顺带记录的,经过了多次排版和修改。因为软考内容比较多、杂,但是考得都不深,自己也比较懒,没有系统的跟着视频或书籍学习,所以对某些知识的理解不透彻。记录的不全面、存在漏记和少计,一些错误也在所难免,希望大家谅解并可以帮我指正
计算机系统知识
程序设计语言基础
操作系统
系统开发和运行
网络基础知识
多媒体
数据库技术
数据结构
常用算法设计方法
面向对象技术
标准化和软件知识产权基础知识
(1)CPU组成:运算器、控制器、寄存器组和内部总线
(2)控制器组成:程序计数器、指令寄存器、指令译码器、时序产生器、操作控制器
(3)处理机组成:处理器、存储器、总线
(4)总线的分类
总线标准:ISA总线、EISA总线、PCI总线
通过总线复用方式可以减少总线中信号线的数量,以较少的信号线传输更多的信息
总线结构的优点:
(5)BIOS(基本输入输出系统):一组固化到计算机内主板上一个ROM芯片上的程序,保存基本的输入输出程序、开机后自检程序和系统自启动程序
(6)指令系统采用不同寻址方式来扩大寻址空间并提高编程灵活性
(7)CISC(复杂指令集计算机):进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬件化,导致机器的指令系统越来越庞大而复杂
(8)RISC(精简指令集计算机):减少指令总数和简化指令功能,降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序
(9)寻址方式:寻找操作数或操作数地址的方式,具体有
(10)SCSI是一种用于计算机和智能设备之间系统级接口的独立处理器标准
(1)存储器的分类
(2)RAM(随机存储器):存储短时间使用的程序
(3)ROM(只读存储器):只能读出事先所存数据的固态半导体存储器
(4)高速缓冲存储器(Cache):位于CPU和主存之间,由硬件实现,是一个高速小容量的临时存储器,与外存和主存容量无关,设计思想是在合理成本下提高命中率。由两部组成:
PS:设置多级高速缓存cache可以提高cpu访问主存数据或指令的效率
(5)主存采用动态随机存储器(DRAM)、Cache采用静态随机存储器(SRAM)、带电可擦除可编程只存储器(EEPROM)
(6)虚拟存储器由主存-辅存两级存储器组成
(1)常用I/O控制方式
(2)I/O软件隐藏了I/O操作实现的细节,方便用户使用I/O设备
(3)I/O接口编址方式
(1)寄存器是CPU内部临时存储单元,可分为
(1)流水线各段执行时间最长的那段时间称为流水线瓶颈,作为流水线的周期
(2)流水线的特点
(1)补码和移码+0和-0编码相同
(2)使用补码来表示和运算数据可以简化计算机运行部件的设计
(3)n位补码表示的范围是-2^(n-1) — 2^(n - 1) - 1
(4)浮点数由三部分组成:
(5)工业标准IEEE754浮点数格式中阶码采用移码、尾数采用原码表示
(6)两个浮点数进行相加运算,首先需要统一这两个数的阶码,然后再进行尾数的相加处理
(7)码距
(8)检验码
(1)硬盘容量计算
(2)可靠性计算
(3) 流水线计算公式
(4)原码、反码、补码、移码之间的计算公式
(5)其他计算
(1)磁盘格式化:把一张空白的盘划分成一个个小区域并编号,供计算机储存和读取数据
(2)格式化:在磁盘的所有数据区上写零的操作过程
(3)磁盘分区:将磁盘划分成一块块的存储区域。分为两大分区
(4)磁盘碎片:空着的磁盘空间
(5)磁盘清理:将删除计算机上所有不需要的文件
(6)磁盘碎片整理:对磁盘产生的碎片和凌乱的文件重新整理,释放更多磁盘空间,提高电脑整体性能和运行速度
(1)计算机内存空间划分(自上而下)
(2)衡量计算机系统性能的重要指标
(3)冗余:对于实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。冗余技术分类
(4)程序的局限性
(1)编译过程
(2)反编译:编译的逆过程。不能把可执行文件还原成高级语言源代码,只能转换成功能上等价的汇编程序
(3)编译过程中为变量分配存储单元所用的地址是逻辑地址,程序运行时再映射为物理地址
(1)动态语言:程序在运行时可以改变其结构。脚本语言都是动态语言,而动态语言都是解释性语言
动态绑定:运行时把过程调用和响应调用所需要执行的代码加以结合
静态绑定:编译时代码结合
(2)汇编语言源程序中的每一条指令语句再源程序汇编时都要产生可供计算机执行的指令代码(目标代码)
(3)伪指令语句用于指示汇编程序如何汇编源程序
标记语言
(4)HTML(超文本标记语言):用于互联网的信息表示。基本标签有
(5) XML(可扩展的标记语言):丰富了HTML的描述功能。其文档语法规范为
(6)WML(用于WAP的标记语言):XML的子集
脚本语言
(7)PHP:在服务器端执行的、嵌入HTML文档的脚本语言
可视化程序:
(1)可视化程序设计:以所见即所得的编程思想为原则,力图实现编程工作的可视化,即随时看到结果,程序与结果的调整同步
(2)可视化程序特点:
(1)基本数据类型转换(隐式转换)从低精度到高精度
(2)闭包运算符 * 将其运算对象进行若干次连接,如0 * 表示若干个0构成的串,(10 * 1) * 表示偶数个1构成的串
(3)符号表:记录源程序中各个符号(变量等)的必要信息,以辅助语义的正确性检查和代码生成
(4)程序中的数据都必须具有类型,便于为数据合理分配存储单元、对参与表达式计算的数据对象进行检查、规定数据对象的取值范围及能够进行的运算
(5)中间代码:在高级语言源程序翻译为机器语言程序过程中被引入。有利于进行与机器无关的优化处理,提高编译程序的可移植性。表现形式有
(6)数据空间采用堆存储分配策略
(7)函数调用的基本参数传递方式
(1)计算机系统结构(自上而下)
(2)裸机:未配置软件的计算机
(3)操作系统:建立用户与计算机之间的接口而未裸机配置的一种系统软件
(4)嵌入式操作系统的特点
(5)xp系统中,用户可以利用磁盘管理程序对磁盘进行初始化、创建卷、可以选择使用FAT、FAT32或NTFS文件系统格式卷
(1)系统中有m个单位的存储器资源被n个进程使用,当每个进程都要求w个单位的存储器资源,当m
(2)资源R,进程n,死锁不发生的资源最少量为:n(R - 1)+1
(3)PV操作:p操作检查上一个进程是否完成,V操作通知下一个进程本进程已经执行完
(4)进入临界区执行P操作,退出临界区执行V操作
(5)信号量S<0,其绝对值表示等待该资源的进程数
(1)系统将目录文件修改的结果写回磁盘时系统发生崩溃,则对系统影响相对较大
(2)在移臂调度算法中,先来先服务和最短寻找时间优先算法可能会随时改变移动臂的运动方向
(3)在磁盘调度算法中,先进行移臂调度寻找磁道,再进行旋转调度寻找扇区
(4)地址计算
(5)索引
(1)Spooling技术:用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,也是一种速度匹配技术
(2)文件级安全管理可设置的属性
(3)共享锁和排他锁
若事务T1对数据D1加上共享锁,则其他事务只能再对D1加共享锁,而不能加排他锁
若事务T2、T3对数据D2、D3加上排他锁,其他事务不能再对D2、D3加任何锁
(4)SCAN(扫描)调度算法:柱面从小到大,达到最大后再从大到小
(5)CSCAN(单向扫描)调度算法:柱面从小到大,达到最大后再从最小到大
(6)
(1)结构化分析中,使用数据流图来建立系统的逻辑模型,从而完成分析工作,应遵循自顶向下、从抽象到具体的原则
(2)结构化分析组成
(3)需求分析阶段就要开始写测试设计文档
(1)软件设计特点:高内聚、低耦合。
(2)系统设计的主要目的是为系统定制蓝图
(3)软件设计模型关注新系统的总体结构、代码设计、处理过程、数据结构和界面模型等
(4)结构化设计模块划分原则
一个模块的作用范围应该在其控制范围之内
(1)软件测试技术:
(2)两种测试
(3)动态测试具体
(4)白盒测试的几种方法(从弱到强)
(5)黑盒测试的几种方法
(1)基于构件的软件开发
主要强调在构建软件系统时复用已有的软件“构件”,在检索到可以使用的构件后,需要针对新系统的需求对构件进行合格性检验、适应性修改,然后集成到新系统
(2)、系统开发计划用于系统开发人员与项目管理人员在项目期内进行沟通,包括任务分解表、PERT图、甘特图和预算分配表
(3)软件项目计划安排进度的方法
Gantt图:用水平条状图描述,可清楚表示任务持续时间和任务之间的并行,但不能清晰地获得各任务之间的依赖关系
PERT图:是一种网络模型,描述一个项目地各任务之间的关系,可清楚表示任务持续时间和任务之间的依赖,但不能清晰地描述各个任务之间地并行
(4)软件项目开发关键路径:时间最长和路过节点数最长的路径
(5)进度管理-单代号网络图:结点表示里程碑,边表示活动,边上可标注各活动最早开始时间、活动持续时间、最早完成时间
(6)敏捷开发法scrum的步骤
(7)在对软件开发资源进行规划时,为确定构建软件系统所需的人数,需要考虑软件系统的规模、系统的技术复杂性、项目计划和开发人员的技术背景
(8)极限编程(XP):一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式
(9)RUP的4种模型元素
(10)RUP4个阶段的目标
(11)软件开发过程
(12)水晶法(Crystal):认为每一种不同的项目都需要一套不同侧策略、约定和方法论
(1)风险预测从风险发生的可能性大小以及风险发生所产生的后果是否严重两个方面评估风险
(2)软件风险包括不确定性和损失两个特性,救火和危机管理是对不适合但经常采用的软件风险管理策略。已知风险和未知风险是对软件风险进行分类的一种方式。员工和预算是在识别项目风险时需要识别的因素
(3)风险分析
(4)风险控制策略
(1)软件能力成熟度模型(CMM)(成熟度由低到高)
(2)能力成熟度集成模型(CMMI)(CMM模型的最新版本)
(3)软件过程模型:
(1)软件维护方式
(1)软件可靠性:一个系统对于给定的时间间隔内,在给定条件下无失效运作的概率,与软件的潜在错误的数量、位置有关,与软件的使用方式有关
(2)MVC(模型-视图-控制器)体系结构有利于代码重用、提高系统的开发效率和系统的可维护性
(3)ISO/IEC9126软件质量模型
质量特性及其子特性
(4)软件复审
(5)系统可维护性指标
(6)功能性需求:软件必须完成哪些事,必须实现哪些功能
(7)软件复杂性度量
(8)软件设计质量评审
(9)信息系统评价对象,用户关心的是用户需求和运行质量,开发方关心的是系统质量和技术水平
(1)软件文档
(2)高质量文档的几个特性:
(1)模块独立性包括两个度量准则:
(2)如若模块多也可能高耦合,改一个小模块可能影响整个系统导致灾难性错误
(3)7种耦合(以耦合性从低到高排序):
(4)内聚(强度从低到高)
(1)软件需求包含
(1)人机交互黄金三原则:置于用户控制之下、减少用户的记忆负担、保持界面的一致性
(2)几个时间概念
关键路径:从开始到结束的所有路径中,所用时间最长的一条路径
最早开始时间:在关键路径上,从开始到该任务的最早执行时间
最晚开始时间:关键路径的总时间-反向得出该任务的时间
松弛时间:最多延迟执行的时间,两种求法
(3)重构可以简化构件的设计而无需改变其功能或行为
(4)分支覆盖测试法测试用例时,每个分支至少通过一次
(5)LOC表示构成软件的源代码行数,用于估算软件成本和规模
(6)软件配置管理:一组管理整个软件生存期各阶段中变更的活动,主要包括变更标识、变更控制和版本控制
(7)n个成员的开发小组的沟通路径是n(n-1)/2
(8)管道过滤器体系结构的特点
(9)COM(组件对象模型):一种新的软件开发技术,可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统
(10)结构图的组成
(1)包过滤防火墙对数据包的过滤依据包括源IP地址、源端口号、目标IP地址和目标端口号
(2)应用级网关防火墙是内部网和外部网的隔离点,它可对应用层的通信数据流进行监控和过滤
(3)漏洞扫描系统不能用于发现网络入侵者,用于检测网络入侵者的系统称为入侵检测系统
(4)漏洞扫描技术:检测远程或本地系统安全脆弱性的一种安全技术。通过与目标主机TCP/IP端口建立连接并请求某些服务(如TELNET、FTP等),记录目标主机的应答,搜集目标主机相关信息,从而发现目标主机某些内在的安全弱点
(5)漏洞扫描技术和防火墙、入侵检测系统互相配合,能够有效提高网络的安全性
(6)通过防火墙将网络划分成三个区域(安全级别从高到低)
(7)防火墙的性能和特点由两点决定
访问策略规则
(1)物理层设备
(2)网络层设备
(3)数据链路层设备
(1)病毒的特点:隐蔽性、传染性、潜伏性、触发性、破坏性
(2)病毒的类型:
以网络为手段窃取网络上其他计算机的资源或特权,对其安全性或可用性进行破坏的行为,分为两种攻击
主动攻击:如窃取、篡改、假冒和破坏
被动攻击:系统干涉、网络窃听、截取数据包并进行分析,从中窃取重要的敏感信息
具体类型有:
口令入侵:使用合法用户账号和口令登录目的主机,然后再实施攻击活动
放置特洛伊木马程序:向黑客通知用户的IP地址及被预先设定的端口
拒绝服务攻击(DOS):使计算机或网络无法提供正常的服务
端口扫描:利用Socket编程与目标主机的某些端口建立TCP连接、进行传输协议的验证等
网络监听:主机可以接收到本网段在同一条物理通道上传输的所有信息
欺骗攻击:攻击者创造一个易于误解的上下文环境,以诱使受攻击者进入并且做出缺乏安全考虑的决策
电子邮件攻击
ARP攻击:伪造IP地址和MAC地址,在网络中产生大量的ARP通信量使网络阻塞
重放攻击(重播攻击、回放攻击、新鲜性攻击):攻击者发送一个目的主机已接受过的包,来达到欺骗系统的目的,主要用于身份认证过程、破坏认证的正确性 。时间戳可以防止
(1)数字证书由CA证书授权中心发行。用户获取网站数字证书后通过验证CA的签名确认其有效性,从而验证网站真伪;用户发送数据时使用网站的公钥加密,验证网站的数字签名,网站利用自身的私钥对发送的消息签名和对收到消息解密
(2)公钥体系中,私钥用于解密和签名,公钥用于加密和认证
(3)公开密钥加密(非对称加密):一对密钥(私人密钥+公开密钥)。如RSA、ElGamal、背包算法、Rabin、ECC、DSA数字签名
(4)共享密钥加密(对称加密):DES、三重DES、RC-5、IDEA、AES
(5)数字签名技术:数据源发送方使用自己的私钥对数据检验和其他与数据内容有关的变量进行加密处理,完成对数据的合法签名,数据接收方利用对方的公钥来解读收到的数字签名,并将解读结果用于对数据完整性的检验,以确认签名的合法性
cmd:提示进行命令输入的一种工作提示符
(1)网络划分
(1)IE浏览器安全等级由高到低:
受限站点>Internet>本地Internet>可信站点
(2)关闭服务器中ICMP端口,别的计算机就不能通过ping命令测试服务器连通情况
(3)ping本地循环地址127.0.0.1,无法ping通,表明本机TCP/IP协议不能正常工作;ping通,接下来ping本机IP地址,若ping不通,则是网络适配器出现故障。ping同网段中某计算机的IP,ping不通,则表明网络线路出现故障
(4)通过默认Telnet端口连接服务器,防火墙配置时使用TCP协议,缺省下使用23端口
(5)三网合一:电信网、广播电视网、互联网
(6)MD5是一种摘要算法,输出由四个32位分组组成,级联后将生成一个128位散列值
(7)建立连接进行可靠通信在TCP/IP网络中,应该在传输层完成
(8)IPv6的地址空间是IPv4的2^96倍
(9)TCP和UDP都提供了端口寻址功能。TCP和UDP的主要区别在于UDP不一定提供可靠的数据传输
(10)CGI(公共网关接口):外部应用程序与Web服务器之间的接口标准
(11)回送地址(127.x.x.x):本机回送地址,即主机IP堆栈内部的IP地址,主要用于网络测试以及本地机进程间通信
(12)帧中继(FR):为克服X.25交换网的缺陷、提高传输性能而发展起来的高速分组交换技术
(13)Windows权限由高到低
Administrators>Power users>Users>Everyone
(14)Windows IIS服务认证方式
(15)以太网交换机根据数据链路层MAC地址进行帧交换
(16)三层交换机:一次路由、多次交换
(17)网络的可用性:网络系统、网络元素或网络应用对用户可利用的时间百分比
(18)结构化综合布线系统:基于现代计算机技术的通信物理平台,集成了语音、数据、图像和视频的传输功能,消除了原有通信线路在传输介质上的差别。分为6个子系统
(19)在ASP的内置对象中,response对象可以修改cookie中的值
(20)报文摘要:用来防止发送的报文被篡改
(21)集线器连接的主机构成一个冲突域,交换机的每个端口属于一个冲突域,路由器连接的两部分网络形成两个广播域
(22)Windows的DNS服务器通过启用循环,添加每个Web服务器的主机记录,可以确保域名解析并实现负载均衡
(23)隧道技术将两个IPv6节点通过现有的IPv4网络进行通信,翻译技术使纯IPv6节点可以与纯IPv4节点进行通信
(1)分量信号:单一频率的信号
(2) 复合信号:由许多频率不同的信号组成
(3)声音信号的频率:声波每秒钟变化的次数,用Hz表示
(4)带宽:描述组成声音的信号的频率范围
(5) 频率范围
(6)几个例子
(1)多媒体计算机图像文件格式
(2)媒体分类
(3)多媒体中媒体的两重含义
(4)表示媒体三种类型
(5)音乐合成技术
(1)图像深度:存储每个像素所用的位数,也用来度量图像分辨率
(2)像素深度:确定彩色图像(灰度图像)的每个像素可能有的颜色数(灰度级数),决定彩色图像(灰度图像)中可出现的最多颜色数(最大灰度等级)。图像深度为b位,则有2^b种
(3)图像数据量计算公式
(4)矢量图是用一系列计算机指令来描述和记录一副图的内容,图元是其基本组成单位;位图是用像素点来描述的图。两者相比,位图占用空间较大,处理侧重于获取和复制,显示速度快
(5)图像压缩编码及压缩标准
(6)dpi:描述图像分辨率的单位,表示每英寸多少像素点,即组成一幅图像的像素密度
(1)CIF视频格式的图像分辨率为352x288
(2)ISO制定的MPEG系列标准
(3)尼奎斯特取样定理:如果取样速率大于模拟信号最高频率的2倍,则可以用得到的样本中恢复原来的模拟信号
(4)计算机获取模拟视频信息的过程中首先要进行A/D变换
(5)脉冲编码调制技术(PCM):MIC(话筒)输出音频模拟信号,声卡获取该信号后,通过模数转换器(ADC),将声波振幅信号采样转换成一串数字信号并存储到计算机中。重放时,这些信号送到数模转换器(DAC),以同样的采样速度还原为模拟波形,放大后送到扬声器发声
(6)分辨率
(1)数据库恢复:在尽可能短的时间内把数据库恢复到故障发生前的状态
(2)数据库容灾属于系统安全和应用安全
(3)数据库体系结构一般采用三级模式结构
外模式(用户模式/子模式):用户与数据库系统的接口,是用户用到的那部分数据的描述。如视图
内模式(存储模式):数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。如存储文件
模式(概念模式):数据库中全部数据的整体逻辑结构的描述。如基本表
在三级模式之间提供了两级映像
模式/内模式映像:存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换
外模式/模式映像:存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换
(4)数据库系统的安全措施
(5)配置数据库包括开发库、受控库、产品库
(6)关系数据库的规范化
(7)数据库的关系范式:
(1)自然连接:两个关系种进行比较的分量必须是相同的属性组,并且在结果种将重复属性列去掉
(2)主属性:包含在任何一个候选码中的属性
(3)简单属性:原子的、不可再分的
(4)复合属性:可以细分为更小的部分(划分为别的属性)
(5)多值属性:一个属性对应一组值
(6)弱实体:某些实体对于另一些实体有很强的依赖关系,即一个实体的存在必须以另一实体的存在为前提
(7)多对多联系需要单独转换成一个关系模式,即需要建新类
(1)对数据库对象
(3)查询条件WHERE和HAVINING的区别:WHERE是针对单条记录的判断条件,HAVINING是针对分组之后的判断条件
(4)授权语句格式
GRANT INSERT ON TABLE TO XXX WITH GRANT OPTION
(5)创建视图格式
CREATE VIEW 视图名(列表名) AS SELECT 查询子句
[WITH CHECK OPTION]
(1)数据结构模型
(2)进程控制块PCB组织方式
(3)JDBC(java数据库连接):用于执行SQL语句的Java API,由一组用Java语言编写的类和接口组成。可以用来与数据库建立连接、发送操作数据库的语句并处理结果
(4)E-R图之间的冲突
(5)事物的ACID特性
分布性:数据存储在多个不同的节点上
逻辑相关性:数据库系统内的数据在逻辑上具有相互关联的特性
场地透明性:使用分布式数据库中的数据时不需指明数据所在的位置
场地自治性:每一个单独的节点能够执行局部的应用请求
(6)视图:从一个或者多个表或视图中导出的表,其结构和数据是建立在对应表的查询基础上的。视图是一个虚拟表,查询时可以从一个或者多个基本表或视图中导出
(1)二叉树的遍历运算
(2)对二叉排序树进行中序遍历,必定得到节点关键字的有序序列
(3)插入关键字构造二叉排序树,小于根节点的值插入到左子树,大于根结点的值插入到右子树
(4)构造二叉排序树时需进行平衡处理,使每个节点左、右子树高度差的绝对值不超过1
(5)哈希表和二叉排序树可以在查找过程中动态创建,属于动态查找表
(6)平衡二叉树任意一个结点的左、右子树的高度差绝对值不超过1,如完全二叉树
(7)线索二叉树与二叉树的遍历运算相关,是一种存储结构、二叉排序树的结构与给定的初始关键码序列有关、最优二叉树(哈夫曼树)是一类带权路径长度最短的二叉树。他们都不要求是平衡二叉树
(8)二叉链表中每个节点有2个指针,一共有2k个指针。
(9)二叉树中除了根节点外,其他的节点都有一条边进入该节点,即一个指针指向该节点,二叉树中边的总个数为k-1,即非空指针为k-1个,空指针个数为k+1个
(10)任意度为2的二叉树:n0=n2+1
(11)任意度为3的二叉树:n0=2n3+n2+1
(12)哈夫曼树构造过程:将给定的序列从小到大进行排列,选择列中最小的两个数画出一个树,重复操作直至画出整个哈夫曼树
(13)哈夫曼编码属于熵编码(一致性编码),用于数据的无损耗压缩
(1)图的遍历运算,实质是通过边或弧找邻接点的过程
(2)两种活动网
AOV(以顶点表示活动的网):有向图中以顶点表示活动,用有向边表示活动之间的有限关系
AOE(用边表示活动的网):带权有向图中以顶点表示时间,以有向边表示活动,边上的权值表示该活动持续的时间
(3)拓扑排序:将AOV网中所有顶点排成一个线性序列的过程,满足AOV网中从顶点vi到vj有一条路径,则在该线性序列中,顶点vi必然在顶点vj之前(入度为0,没有前驱)
(4)有n个顶点的连通图的生成树中恰好有n-1条边
(5)N顶点、E条边的简单无向图采用邻接矩阵存储结构,该矩阵中的非零元素数目为2E
(6)图的基本存储结构
(1)顺序查找既适用于顺寻存储结构,也适用于链表结构
(2)二分查找需要对中间元素进行快速定位,在链表结构上无法实现
(1)
(1)利用McCabe度量法计算有向图G环路复杂度的公式为V(G)=m-n+2。V(G):有向图G中的环路个数;m:G中的有向弧数;n:G中的节点数
(2)对n个结点、e条边的无向图采用邻接表访问,时间复杂度为O(n+e);采用邻接矩阵访问,时间复杂度为O(n^2)
符号O表示算法运行时间的上限
(1)5个基本特征
(2)具体算法
(1)面向对象分析的目的:获得对应用问题的理解,确定系统的功能、性能要求。第一步是确定问题域
(2)面向对象分析的5个活动
(1)面向对象设计中高层模块不应该依赖于底层模块
(2)面向对象的设计模式
采用设计模式以复用成功的设计
1)状态型模式:用于创建对象
2)结构型模式:处理类或对象的组合
3)行为型模式:描述类与对象怎样交互、怎样分配职责
(1)面向对象开发方法
(2)面向数据流开发方法:结构化开发方法
(3)面向数据结构开发方法:Jackson系统开发方法
(1)UML类
(2)UML视图
(3)UML图
(4)UML类图中类与类之间的关系
(5)UML类图用于对项目的静态设计视图建模。使用类图的3种方式
(6)UML中关联的多重度是指一个类的实例能够与另一个类的多少个实例相关联
(7)业务用例和参与者一起描述组织或企业所支持的业务过程,业务对象模型描述业务结构以及结构元素如何完成业务用例
(8)序列图中消息定义了交互中生命线之间的特定交互,分为
(9)接口(< < interface > >):可用于声明对象类所需要的服务
(1)封装:把属性和服务结合成一个独立的系统单元,并隐藏对象的内部细节
(2)继承:使得子类可以自动拥有父类的全部属性和服务
多重继承:一个类可以继承另外一个类,而另外一个类又可以继承别的类
(3)多态:是面向对象中由重载或过载机制实现的结果。在面向对象方法中,指的是客户类无需知道所调用方法得特定子类的实现,类型包括
(4)消息:是对象发出的服务请求、
(1)类库为应用程序提供一组可以被使用的类
(2)框架除了提供类之外,还基本实现了一个可以执行的框架
(3)函数库提供被调用的函数
(4)名词短语识别对象、动词短语识别对象的操作
(5)类用来描述一组对象共有的成员属性和方法,它可以产生一个或多个对象,创建类的实例时需要分配存储空间
(6)静态成员:所修饰的成员是属于类的,而不是属于某对象的
(7)类的静态方法只能访问该类的静态数据成员
(8)绑定:把过程调用和响应调用需要执行的代码加以结合的过程
(9)面向对象技术中,对象具有以下特性
1、我国保护计算机软件著作权的两个基本法律文件
2、软件许可使用
3、一些权利
4、专利申请
(1)我国专利申请的原则
(2)同一发明创造只能被授予一项专利,若同时申请同样的专利,解决方法有两种
5、我国标准可分为国家标准、行业标准、地方标准和企业标准,行业代号有QJ(航天)、SJ(电子)、JB(机械)、JR(金融系统)
6、使用