软考知识点汇总

本篇文章为22年上半年软件设计师备考笔记
个人总结笔记,如有错误望包涵指正

计算机组成和结构

海明校验码

  • n个数据位,设k个校验位

2 k > = n + k + 1 2^{k}>=n+k+1 2k>=n+k+1

  • 整个编码系统中任意两个码字的最小距离就是该编码系统的码距。为了使一个系统能检查和纠错一个差错,码间最小距离必须至少是==3==(2n+1)
  • 海明码是一种可以纠正一位差错的编码,是利用奇偶性来检错和纠错的校验方法
  • 循环冗余校验码(CRC)编码方法是在k位信息码后再拼接r位的校验码,形成长度为n位的编码,其特点是检错能力极强且开销小,易于用编码器及检测电路实现。

奇偶校验

对于奇偶校验,是由若干位有效信息,再加上一个二进制位(校验位)组成校验码,其中

奇校验”1″的个数为奇数,而偶校验”1″的个数为偶数,

只有奇数个数据位发生错误,才能发现错误。同时,奇偶校验只能查错不能纠错

采用模二出发运算的只有循环冗余检验CRC

CPU

指令周期:取指令,分析指令,执行指令

CPU控制单元部件

  • 指令寄存器 IR:用来保存当前正在执行的指令 输出是指令译码器的输入 对用户完全透明

  • 程序计数器 PC:存储的总是将要执行的下一条指令的地址 程序员可以访问

  • 指令译码器 ID:对操作码进行测试,以便识别所要求的的操作(对现行指令进行分析,确定指令类型和指令所要完成的操作以及寻址方式,并将相应的控制命令发往相关部件)

  • 状态字寄存器 PSW用于保存指令执行完成后产生的条件码,例如运算是否有溢出,结果为正还是为负,是否有进位等,此外,PSSW还保存中端和系统工作状态等信息。

  • 地址寄存器 AR:用来保存当前CPU所访问的内存单元的地址

  • 数据寄存器 MDR:主要用来保存操作数和运算结果,目的为了节省读取操作数所需占用的总总线和访问储存器的时间

  • 地址寄存器 MAR:用来保存当前CPU所访问的内存单元地址,以便对内存的读写操作

  • 累加器 AC:专门存放算术或逻辑运算的一个操作数和运算结果的寄存器

  • 加法器:cpu中算术逻辑运算部件

  • ALU:CPU的执行单元,主要负责运算工作

  • 控制器:控制整个计算机的各个部件有条不紊的工作,基本功能就是从内存去指令和执行指令

  • CPU依据指令周期的不同阶段来区分在内存中以二进制编码形式存放的指令和数据

输入输出控制

  • 程序控制:由CPU执行程序控制数据的输入输出过程
  • 中断控制:外设准备好输入数据或接受数据时向CPU发出中断信号,CPU响应则中断
  • DMA控制:CPU只需向DMA控制器下达指令,让DMA控制器来处理数据的传送,传送完毕再把信息反馈给CPU,减轻CPU负担节省系统资源
    • DMA(直接主存存取)是指数据在主存与I/O设备间(即主存与外设之间)直接成块传输;CPU只需在开始和结束时作少量处理,而无需干预数据传送过程

总线结构

  • 三总线结构:数据总线、地址总线和控制总线
  • CPU是在一个总线周期结束时响应DMA请求的
  • 优点:简化系统结构,便于系统设计制造;大大减少连线数目,便于布线,减小体积,提高系统的可靠性;便于接口设计,所有与总线连接的设备均采用类似的接口;便于系统扩充、更新与灵活配置。易于实现系统的模块化;便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;便于故障诊断和维修,同时也减低了成本

内存

  • 主存地址与Cache地址之间的转换工作由硬件完成
  • Cache的设计思想工作是在合理的成本下提高命中率
  • 虚拟存储体系由两级存储器构成:主存——辅存
  • 多级高速缓存cache,目的是提高CPU访问主存数据或指令的效率
  • 随机访问存储器(RAM)有两类:静态的(SRAM)和动态的(DRAM)
    • SRAM比DRAM速度更快,
    • SRAM用来作为高速缓冲存储器(Cache),SRAM将每个位存储在一个双稳态的存储器单元中
    • DRAM用来作为主存及图像系统的帧缓冲区,DRAM将每个位存储为对一个电容的充电由于电容非常小,在10~100ms时间内会失去电荷,所以需要周期性地刷新充电以保持信息
  • EEPROM是电可擦除可编程只读存储器

CISC和RISC

  • CISC:复杂指令集计算机,进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬件化
  • RISC:精简指令集计算机,通过减少指令总数和简化指令功能,降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序
  • RISC和CISC在架构上的不同主要有:
    • 在指令集的设计上,RISC指令格式和长度通常是固定的、且寻址方式少而简单、大多数指令在一个周期内就可以执行完;CISC构架下的指令长度通常是可变的、指令类型也很多、一条指令通常要若干周期才可以执行完。由于指令集多少与复杂度上的差异,使RISC的处理器可以利用简单的硬件电路设计出指令解码功能,这样易于流水线的实现。相对的CISC则需要通过只读存储器里的微码来进行解码,CISC因为指令功能与指令参数变化较大,,执行流水线作业时有较多的限制
    • RISC架构中只有载入和存储指令可以访问存储器,数据处理指令只对寄存器的内容进行操作。为了加速程序的运算,RISC会设定多组的寄存器,并且指定特殊用途的寄存器。CISC构架则允许数据处理指令对存储器进行操作,对寄存器的要求相对不高

指令系统的不同寻址方式

寻址方式是指寻找操作数或操作数地址的方式。

指令系统中采用不同寻址方式的目的是为了在效率和方便性上找一个平衡。

立即寻址和寄存器寻址在效率上是最快的。

但是寄存器数目少,不可能将操作数都存入其中等待使用,立即寻址的使用场合也非常有限,这样就需要将数据保存在内存中,然后使用直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对基址基变址寻址等寻址方式将内存中的数据移入寄存器中

常用的寻址方式

  • 立即寻址:操作数就包含在指令中
  • 直接寻址:操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址
  • 寄存器寻址:操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名
  • 寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中
  • 间接寻址:指令中给出操作数地址的地址
  • 相对寻址:指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令地址加上该偏移量
  • 变址寻址:操作数地址等于变址寄存器的内容加偏移量

主存与Cache的映射方式

  • 全相联地址映射:主存的任意一块可以映象到cache中的任意一块 发生块冲突次数最小
  • 直接相联映射:主存中一块只能映象到cache的一个特定的块中 发生块冲突次数最多
  • 组相联的映射:各区中某一块只能存入缓存的同组号的空间内,但组内个各块地址之间则可以任意存放。即从主存的组到cache的组之间采用直接映象方式,在两个对应的组内部采用全相联映象方式
  • Cache与主存之间的映射由硬件实现,主存与辅存之间的交互是硬件与软件结合起来实现的

浮点数

  • [运算]对阶:将小阶向大阶对齐,同时将尾数右移n位 N=2E*F(E阶码,F尾数)
  • 规格化,即规定尾数的最高数位必须是一个有效值,即0.5<|f|>

BISO

在微机系统中,BISO(基本输入输出系统)保存在主板上的ROM

计算机系统的存储器

  • 按所处位置可分为内存和外存
  • 按构成存储器的材料可分为磁存储器、半导体存储器和光存储器
  • 按存储器的工作方式可分为读写存储器和只读存储器
  • 按访问方式可分为按地址访问的存储器和按内容访问的存储器
  • 寻址方式可分为随机存储器、顺序存储器和直接存储器。
  • 相联存储器是一种按内容访问的存储器

中断嵌套

当系统中有多个中断请求时,中断系统按优先级进行排队。若在处理低级中断过程又有高级中断申请中断,则高级中断可以打断低级中断处理,专区处理高级中断,等处理完高级中断后再返回去处理原来的低级中断,称为中断嵌套。实现中断嵌套用后进先出的栈来保护断点和现场最有效。

流水线

  • 流水线周期:时间最长的一段
  • 流水线时间计算公式
    • 一条指令所需运行时间+(指令条数-1)*流水线周期
    • 或(流水线段数+指令条数-1)*流水线周期
  • 流水线吞吐率:指令条数/流水线时间【最大吞吐率为1取决于流水线周期
  • 流水线加速比:不使用流水线所需时间/使用流水线所需时间层次化结构
  • 流水线性能度量指标:吞吐率,加速比和效率(加速比和吞吐率成正比

程序的局限性

表现在时间局部性和空间局部性

  • 时间局部性是指如果程序中的某一条指令一旦被执行,则不久的将来该指令可能再次被执行
  • 空间局部性是指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也可能被访问

原码补码反码移码

  • 负数的补码是反码加1

  • 补码运算:可以将符号位和其他位统一处理,减法也可以按加法来处理,从而简化运算部件的设计

  • 移码指令中算术左移相当于对操作数进行乘2操作

  • 移码表示法是在数X上怎宫颈癌一个偏移量来定义的,常用于表示浮点数中的阶码。机器字长为n时,在偏移量为2n-1的情况下,只要将补码的符号位取反便可获得相应的移码表示

总线带宽

总线宽度是指总线的线数,即数据信号的并行传输能力;总线的带宽是指总线的最大数据传输率,即每秒传输的数据总量。总线宽度与时钟频率共同决定了总线的带宽 Hz/时钟周期*B=B/s

漏洞扫描

  • 漏洞扫描技术是检测远程或本地系统安全脆弱性地一种安全技术。通过与目标主机TCP/IP端口建立连接并请求某些服务(TELNET、FTP等),记录目标主机的应答,手机目标主机相关信息,从而发现目标主机某些内在的安全弱点。
  • 一种自动检测目标主机安全弱点的程序
  • 原理:根据系统漏洞库对系统可能存在的漏洞进行验证
  • 黑客利用漏洞扫描系统可以发现目标主机的安全漏洞从而有针对性的对系统发起攻击
  • 系统管理员利用漏洞扫描系统可以查找系统中存在的漏洞并进行修补从而提高系统的可靠性
  • 漏洞扫描系统不能用于发现网络入侵者,用于检测网络入侵者的系统成为入侵检测测系统

数字签名、秘钥加密

  • RSA基于大数定律,通常用于对消息摘要进行签名
  • IDEA和RC4适宜与进行数据传输加密
  • MD5为摘要算法;对任意长度的输入计算的到的结果长度为128
  • 非对称加密又称为公开秘钥加密,而共享秘钥加密指对称加密
    • (私钥)常见的对称加密算法有:DES、三重DES、RC-5、IDEA、AES
  • SHA-1是一种安全散列算法,确保明文在传输过程中不会被篡改
  • RC5是一种用于对明文进行加密的算法,适用于大量明文进行加密并传输
  • 公钥加密算法:RSA、DSA、EIGamal、背包算法、Rabin、ECC(椭圆曲线)
  • 私钥加密:DES
  • 公钥(非对称)用于加密和认证;私钥(对称)用于解密和签名

信息安全和病毒防护

  • 应用级网管防火墙是内部网和外部网的隔离点,他可以对应用层的通信数据流进行监控和过滤(应用层)
  • 包过滤防火墙对数据包的过滤依据包括:源IP地址、源端口号、目标IP地址和目标端口号
  • 计算机病毒分类根据其感染的途径以及采用技术区分
    • 文件型计算机病毒感染可执行文件(包括EXE和COM文件)
    • 引导型计算器病毒影响软盘或硬盘的引导扇区
    • 目录型计算机病毒能够修改硬盘上存储的所有文件的地址
    • 宏病毒感染的对象是使用某些程序创建文本文档、数据库、电子表格等文件
  • PKI体制中,为保障数字证书不被篡改而且要发送到证书主人手中,需要用CA的私钥对数字证书签名,防伪造,不可抵赖
  • 防火墙的性能和特点
    • 防火墙作用:防止来自被保护区域外部的攻击;防止信息外泄和屏蔽有害信息;集中安全管理;安全审计和告警
    • 工作层次:工作层次越低,工作效率效率越高,安全性越低;反之,工作层次越高,工作效率越低,安全性越高
    • 防火墙采用的机制:如果采用代理机制,则防火墙具有内部信息隐藏的特点,相对而言,安全性高,效率低,如果采用过滤机制,则效率高,安全性却降低了
  • 数据加密防范网络监听
  • Window IIS服务支持的身份认证方式有:
    • 集成Windows身份验证(安全级别高)
    • 摘要式身份验证
    • NET Passport身份验证
    • 基本身份验证(安全级别低)

系统性能评测和可靠性基础

  • 软件的可靠性指的是一个系统对于给定的时间间隔内、在给定条件下无效运作的概率

  • 软件产品的可靠性与软件产品的开发方式无关

  • 可靠性用**MTTF/(1+MTTF)**来度量,MTTF为平均无效故障时间

  • 可用性用**MTBF/(1+MTBT)**来度量,其中MTBF为平均失效间隔时间

程序语言

编译原理

  • 词法分析:输入->源程序、输出->记号流
  • 语法(义)分析:输入->记号流、输出->分析树
  • 中间代码生成
  • 代码优化
  • 目标代码生成

反编译不能把可执行文件还原成高级语言语言代码,只能转换成功能上等价的汇编语言

传值和引用

传值

  • 实现函数调用时,实参向形参传递相应类型的值
  • 形参不能向实参传递信息
  • 实参可以是变量,也可以是常量和表达式

引用

  • 将实参变量的地址传递给形参
  • 形参是指针类型,而实参必须具有左值,变量具有左值,常量没有左值
  • 形参和实参可以双向传递数据

编译过程

  • 编译过程中为变量分配存储单元所用的地址是逻辑地址,程序运行时再映射为物理地址

  • 中间代码是源程序的一种内部结构表示,或称中间语言。不依赖于具体的机器,中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,使用中间代码可提高编译程序的可移植性,常见的有逆波兰记号、四元式、三元式和树

  • 语义分析阶段主要检查源程序是否包含语义错误

程序设计语言基本概念

  • 程序运行时的用户内存空间一般划分为代码区、静态数据区、栈区和堆区,其中栈区和堆区也称为动态数据区。全局变量的存储空间在静态数据区。
  • 编译器:将代码编译为机器码,再加以运行
  • 解释器:将代码一句一句运行,参与运行控制,程序执行的速度慢
  • 运行时结合是动态绑定,编译时结合是静态绑定

文法分析

  • 有限自动机是进行词法分析的适当工具

操作系统

存储管理

  • 磁盘容量分为格式化容量和非格式化容量两种

    • 非格式化容量=面数 * (磁道数/面)* 内圆周长 * 最大位密度
    • 格式化容量=面数 * (磁道数/面)*(扇区数/道) * (字节数/扇区)
  • 磁盘调度管理中,先进行移臂调度寻找磁道,再进行旋转调度寻找扇区

  • 段页式存储

    m1 n1 m2 n2 m3 n3

    ? 段号 页号 页内地址

    • 段号数量2m1-n1 ;段内最大页数2m2-n2 ;页的大小2m3-n3
  • 页面变换:系统应该首先淘汰未被访问的页面,因为根据程序的局部性原理,最近未被访问的页面下次被访问的概率更小;如果页面最近都被访问过,应该淘汰未修改过得页面。因为未修改过得页面的内存和辅存一致,故淘汰时无需写回辅存,使系统页面置换代价小

  • 逻辑地址转物理地址:逻辑地址=页号+页内地址;物理地址=块号+页内地址参考资料1参考资料2

    • 给出十进制的逻辑地址转换成物理地址
      • 得出,页号=逻辑地址/页面大小
      • 页内偏移量=逻辑地址%页面大小
      • 根据逻辑地址的页号查出物理地址的页帧号
      • 求出物理地址=页帧号*页面大小+页内偏移量
    • 十六进制的逻辑地址转换成物理地址
      • 将十六进制的逻辑地址转换为二进制
      • 根据页面大小(2n)得出逻辑地址的后n位为页内地址(页内偏移量)
      • 剩下的16-n位为页号,根据页号确定页帧号,并将页帧号转换为二进制
      • 物理地址即为页帧号+页内地址,转换为十六进制即可

进程管理

进程资源图

参考资料

  • 线程可共享资源。
  • PV操作实现资源的互斥使用

设备管理

扫描算法

SCAN是选请求队列中沿磁头臂前进方向最接近于磁头所在柱面的访问请求作为下一个服务对象。

先来先服务调度算法FCFS

根据访问请求的先后次序选择先提出访问请求的为之服务。

最短查找时间优先算法SSTF:

以磁头移动距离的大小作为优先的因素,从当前磁头位置出发,选择离磁头最近的磁道为其服务。

嵌入式操作系统的特点

  • 微型化
  • 可定制
  • 实时性
  • 可靠性
  • 易移植性

软件工程基础知识

软件工程概述

  • 软件工程的基本要素:质量、过程、方法和工具

  • 基于构件的软件开发,主要强调在构件软件系统时复用已有的软件“构件”,在检索到可以使用的构件后,需要针对新系统的需求对构件进行合格性检验,适应性修改,然后集成到新系统中

  • 需求分析确定软件要完成的功能及非功能性要求

    • 概要设计将需求转化为软件的模块划分,确定模块之间的调用关系
    • 详细设计将模块进行细化,得到详细地数据结构和算法
    • 编码根据详细设计进行代码的编写,得到可以运行的软件,并进行单元测试
    • 需求分析输出:结构化分析模型包括数据流图、实体联系图、状态迁移图和数据字典
  • 需求不清晰且规模不大时采用原型化方法最合适,二数据处理领域的不太负载的软件,适用于结构化方法进行开发

  • I/O软件隐藏了I/O操作实现的细节,向用户提供的是逻辑接口,I/O软件将硬件与较高层次的软件隔离开来,而最高层软件向应用提供一个友好的、清晰且统一的接口,方便用户使用

  • 瀑布模型将开发阶段描述为从一个阶段瀑布般地转换到另一个阶段的过程。 原型模型中,开发人员快速地构造整个系统或者系统的一部分以理解或澄清问题。螺旋模型将开发活动和风险管理结合起来,以减小风险。 喷泉模型开发过程模型以用户需求为动力,以对象为驱动,适合于面向对象的开发方法。 在这几种开发过程模型中,

    • 喷泉模型属于面向对象开发模型
    • 原型模型不适宜大规模软件的开发。
    • 瀑布模型不能适应变化的需求,不够灵活
    • 螺旋模型更适合大型的昂贵的系统级的软件应用
  • 喷泉模型是典型的面向对象生命周期模型,是一种以用户需求为动力,以对象作为驱动的模型。该模型克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。“喷泉” 一词本身体现了迭代和无间隙特性。迭代意味着模型中的开发活动常常需要重复多次,在迭代过程中不断地完善软件系统;无间隙是指在开发活动之间不存在明显的边界

  • 增量模型是一种非整体开发的模型,该模型具有较大的灵活性,适合于软件需求不明确的一种模型。使用该模型开发产品,一般是尽快构造出可运行的产品,然后在该产品的基础上再增加需要的新的构建,使产品更趋于完善,缺点不利于模块划分

软件过程管理

  • 敏捷方法中,重构是一种重新组织技术,重新审视需求和设计,重新明确地描述他们以符合新的和现有的需求,可以简化构建的设计二无需改变其功能或行为
  • 软件复杂度量参数:规模,难度,结构,智能度
    • 极限编程XP是激发开发人员创造性、使得管理负担最小的一组技术;
      • 极限编程是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式。
      • ? 4大价值观: 沟通、简单性、反馈和勇气。
      • ? 5个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作。
      • ? 12个最佳实践:
        • 计划游戏(快速制定计划、随着细节的不断变化而完善)、
        • 小型发布(系统的设计要能够尽可能早地交付)
        • 隐喻(找到合适的比喻传达信息)、
        • 简单设计(只处理当前的需求,使设计保持简单)、
        • 测试先行(先写测试代码,然后再编写程序)、
        • 重构(重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求)、
        • 结队编程、
        • 集体代码所有制、
        • 持续集成(可以按日甚至按小时为客户提供可运行的版本)、每周工作40个小时、现场客户和编码标准。
    • 水晶法Crystal认为每一个不同的项目都需要一套不同的策略、约定和方法论;
    • 并列争球法(Scrum)使用迭代的方法,其中把每30天一次的迭代成为一个冲刺,并按需求的优先级来实现产品。多个自组织和自治小组并行地递增实现产品,并通过简短的日常情况会议进行协调
  • 软件过程改进框架
    • 过程改进基础设施
    • 过程改进路线图
    • 软件过程评估方法
    • 软件过程改进计划
  • UP(统一过程)模型五个阶段
    • 起始阶段专注于项目的初创活动。
    • 精化阶段理解了最初的领域范围之后,进行需求分析和架构演进。
    • 构建阶段关注系统的构建,产生实现模型
    • 移交阶段关注于软件提交方面的工作,产生软件增量。
    • 产生阶段运行软件并监控软件的持续使用,提供运行环境的支持,提交并评估缺陷报告和变更请求

统一过程(UP)定义了初启阶段、精化阶段、构建阶段、移交阶段和产生阶段,每阶段达到某个里程碑时结束。其中初启阶段的里程碑是生命周期目标,精化阶段的里程碑是生命周期架构,构建阶段的里程碑是初始运作功能,移交阶段的里程碑是产品发布。

  • CMM 的分级结构及其过程描述:
    • (1)初始级:软件过程的特点是无秩序或说无定规的,有时甚至是混乱的。软件过程定义几乎处于无章法、无步骤可循的状态,软件产品所取得的成功往往依赖于极个别人的努力和机遇。
    • (2)可重复级:已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。对类似的应用项目,有章可循并能重复以往所取得的成功。
    • (3)已定义级:用于管理的和工程的软件过程均已文档化、标准化,并形成了整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。
    • (4)已管理级:软件过程和产品质量有详细的度量标准。软件过程和产品质量得到了定量的认识和控制。
    • (5)优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地对促进过程进行改进。 除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,自然可以向上一更为成熟的高一级别迈进。CMM 体系不主张跨级别的进化,因为从第二级开始,每一个低级别的实现均是更高级别实现的基础。
  • CMMI(0~5)【未完成级、已执行级、已管理级、已定义级、量化管理级、优化级】
    • CL0(未完成的):过程域未执行或未得到CL1中定义的所有目标。
    • CL1(已执行的):其共性目标是过程将可标识的输入工作产品转换成可标识的输出工作产品,以实现支持过程域的特定目标。
    • CL2(已管理的):其共性目标是集中于已管理的过程的制度化。根据组织级政策规定过程的运作将使用哪个过程,项目遵循已文档化的计划和过程描述,所有正在工作的人都有权使用足够的资源,所有工作任务和工作产品都被监控、控制、和评审。
    • CL3(已定义级的):其共性目标集中于已定义的过程的制度化。过程是按照组织的裁剪指南从组织的标准过程中裁剪得到的,还必须收集过程资产和过程的度量,并用于将来对过程的改进。
    • CL4(定量管理的):其共性目标集中于可定量管理的过程的制度化。使用测量和质量保证来控制和改进过程域,建立和使用关于质量和过程执行的质量目标作为管理准则。
    • CL5(优化的):使用量化(统计学)手段改变和优化过程域,以满足客户的改变和持续改进计划中的过程域的功效

软件质量管理

功能性 可靠性 易使用性 效率 可维护性 可移植性
适合性 成熟性 易理解性 时间特性 易分析性 适应性
准确性 容错性 易学性 资源特性 易改变性 易安装性
互用性 易恢复性 易操作性 稳定性 一致性
依从性 易测试性 易替换性
安全性
  • 功能性是指与功能及其指定的性质有关的一组软件质量;
  • 可靠性是指衡量在规定的一段时间内和规定条件下维护性能水平的一组软件质量;
  • 可维护性是指与软件维护的难易程度相关的一组软件属性;
    • 可维护性质量特性是指与软件维护的难易程度相关的一组软件属性,它包含了易分析性、稳定性、易测试性和易改变性4个子特性。
    • 其中:易分析性是描述诊断缺陷或失效原因、判定待修改程度的难易程度的特性。
    • 稳定性是描述修改造成难以预料的后果的风险程度,风险程度越低,稳定性越好。
    • 易测试性是描述测试已修改软件的难易程度的特性。
    • 易改变性是描述修改、排错或适应环境变化的难易程度。
  • 易使用性是指与使用难易程度及规定或隐含用户对使用方式所做的评价相关的属性。
  • 模块结构评审时,主要包括以下方面的评审:
    • 1.控制流结构:规定了处理模块与处理模块之间的流程关系。检查处理模块之间的控制转移关系与控制转移形式(调用方式)。
    • 2.数据流结构:规定了数据模块是如何被处理模块进行加工的流程关系。检查处理模块与数据模块之间的对应关系;处理模块与数据模块之间的存取关系,如建立、删除、查询、修改等。
    • 3.模块结构与功能结构之间的对应关系:包括功能结构与控制流结构的对应关系;功能结构与数据流结构的对应关系;每个模块的定义(包括功能、输入与输出数据)
  • McCall软件质量模型从软件产品的运行、修正和转移三个方面确定了11个质量特性,
    • 其中运行方面包含了正确性、可靠性、效率、完整性、使用性这些质量特性。
    • 修正方面包含了维护性、测试性、灵活性这3个质量特性。
    • 转移方面包含了维护性移植性、复用性、共运行性这3个质量特性。

软件开发项目管理

  • Gantt图以日历为基准描述项目任务,可以清楚地表示任务的持续时间和任务之间的并行,但不能清晰的描述各个任务之间的依赖关系
  • PERT图是一种网络模型可以明确表达任务之间的依赖关系,但不能清晰地描述各个任务之间的并行关系
  • COCOMO
    • 基本模型:静态单变量模型,它用一个以已估算出来的源代码行数为自变量的函数来计算软件开发工作量
    • 中级模型:则在用LOC为自变量的函数计算软件开发工作量的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作的估算
    • 高级模型:包括中级所有特性,还不要哟啊考虑对软件工程过程中分析、设计等各步骤的影响
  • COCOMO II 估算选择:对象点、功能点和代码行
  • 软件风险一般包括不确定性和损失两个特性
  • 风险预测从风险发生的可能性大小以及风险发生所产生的后果是否严重两个方面评估风险
  • 软件变更控制,配置数据库一般包括开发库、受控库和产品库
  • 软件配置管理SCM用于整个软件工程过程,其主要目标是标识变更、控制变更、确保变更正确的实现,报告变更。
    • 其主要内容包括版本管理、配置支持、变更支持、过程支持、团队支持、变化报告和审计支持等
  • 系统开发人员与项目管理人员在项目期内进行沟通的文档主要有系统开发计划、系统开发月报以及系统开发总结报告等项目管理文件。
  • 用于系统开发人员与项目管理人员在项目期内进行沟通的文档主要有系统开发计划,包括工作任务分解表、PERT图、甘特图和预算分配表等。总体规划和开发合同用于与系统分析人员在系统规划和系统分析阶段的沟通。测试计划用于系统测试人员与系统开发人员之间的沟通

风险分析

  • 风险识别:试图系统化地确定对项目计划的威胁
  • 风险预测:风险发生的可能性或概率以及风险发生时所产生的的结果
  • 风险评估:根据风险及其发生的概率和产生的影响预测是否影响参考水平
  • 风险控制:辅助项目组建立处理风险的策略,有效的策略应考虑风险避免、风险监控、风险管理及意外事件计划
  • 风险暴露来确定风险优先级,风险暴露是一种量化风险影响的指标,等于风险影响乘以风险概率
  • 风险影响是当风险发生时造成的损失
  • 风险概率是风险发生的可能性
  • 风险控制是风险管理的一个重要活动

系统开发与运行

结构化分析和设计

  • 外部实体一般为组织机构、人员、第三方系统
  • 数据流图摆脱系统的物理内容,在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分
  • 数据流图主要由实体、数据存储、处理过程和数据流四部分组成
    • 在顶层数据流图中,将系统描述成一个处理过程,而其他的是与该处理过程线相关的输入输出流,因此顶层数据流图描述了系统的输入与输出
    • 数据流图建模原则:自顶向下、从抽象到具体
  • 结构化分析输出:数据流图、数据词典、加工逻辑说明、补充材料
  • 结构化设计主要包括:
    • ①体系结构设计:定义软件的主要结构元素及其关系。
    • ②数据设计:基于实体联系图确定软件涉及的文件系统的结构及数据库的表结构。
    • ③接口设计:描述用户界面,软件和其他硬件设备、其他软件系统及使用人员的外部接口,以及各种构件之间的内部接口。
    • ④过程设计:确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法

系统设计知识

  • 结构化分析的结果为结构化设计提供了最基本的输入信息,其关系为:
    • 根据加工规格说明和控制规格说明进行过程设计;
    • 根据数据字典和实体关系图进行数据设计;
    • 根据数据流图进行接口设计;
    • 根据数据流图进行体系结构设计。
  • 系统耦合类型
    • 数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。
    • 公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
    • 外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
    • 标记耦合 :一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。本题描述的是标记耦合。
    • ①数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。
    • ②标记耦合:指两个模块之间传递的是数据结构。
    • ③控制耦合:指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择的执行模块内的某一功能。因此,被调用模块内应具有多个功能,哪个功能起作用受调用模块控制。
    • ④内容耦合:当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时,这种模块之间的耦合称为内容耦合
  • 耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块之间越独立则越差,
    • 模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。

系统的测试与维护

  • 系统测试阶段的测试目标来自于需求分析阶段
  • 逆向工程是在需求分析阶段进行的
  • ?

网络与多媒体基础知识

多媒体计算机

  • 国际电话电报咨询委员会(CCITT)将媒体分为感觉媒体、 表示媒体、 表现媒体、存储媒体和传输媒体5类。
    • 感觉媒体指直接作用于人的感觉器官.,使人严生内接感觉的媒体, 如引起听觉反应的声音、引起视觉反应的图像等;
    • 传输媒体指传输表示媒体的物理介质,如电缆、光缆。电磁波等;
    • 表示媒体指传输感觉媒体的中介媒体,即用于数据交换的编码,如图像编码、文本编码和声音编码等;
    • 表现媒体是指进行信息输入和输出的媒体,如键盘、鼠标、话筒,以及显示器、打印机、喇叭等;
    • 存储媒体指用于存储表示媒体的物理介质,如硬盘、光盘等

网络体系结构

名称 功能 数据类型 常见
应用层 访问网络服务的接口 报文 Telnet、FTP、HTTP、SNMP、DNS
传输层 提供应用进程之间的逻辑通信 数据段 TCP、UDP、SPX、进程、端口
网络层 为数据在结点之间传输创建逻辑链路,并分组转发数据 IP数据包 路由器,多层交换机、防火墙、IP、IPX、RIP、OSPF、ARP、ICMP
数据链路层 在通信的实体间建立数据链路连接 网卡、网桥、二层交换机
物理层 为数据端设备提供原始比特流的传输的通路 比特流 中继器、集线器、网线、HUB、RJ-45标准

网络协议

PPP 认证是可选的。PPP 扩展认证协议(Extensible Authentication Protocol,EAP) 可支持多种认证机制,并且允许使用后端服务器来实现复杂的认证过程。

例如通过Radius 服务器进行Web认证时,远程访问服务器(RAS)只是作为认证服务器的代理传递请求和应答报文,并且当识别出认证成功/失败标志后结束认证过程。通常PPP支持的两个认证协议是:

  • ①口令验证协议(Password Authentication Protocol,PAP):提供了一种简单的两次握手认证方法,由终端发送用户标识和口令字,等待服务器的应答,如果认证不成功,则终止连接。这种方法不安全,因为采用文本方式发送密码,可能会被第三方窃取。
  • ②质询握手认证协议(Challenge Handshake Authentication Protocol,CHAP);采用三次握手方式周期地验证对方的身份。首先是逻辑链路建立后认证服务器就要发送一个挑战报文(随机数),终端计算该报文的Hash值并把结果返回服务器,然后认证服务器把收到的Hash值与自己计算的Hash值进行比较,如果匹配,则认证通过,连接得以建立,否则连接被终止。计算Hash值的过程有一个双方共享的密钥参与,而密钥是不通过网络传送的,所以CHAP是更安全的认证机制。在后续的通信过程中,每经过一个随机的间隔,这个认证过程都可能被重复,以缩短入侵者进行持续攻击的时间。值得注意的是,这种方法可以进行双向身份认证,终端也可以向服务器进行挑战,使得双方都能确认对方身份的合法性

Internet应用

DNS域名查询的次序是:本地的hosts文件一>本地DNS缓存一>本地DNS服务器一>根域名服务器

数据结构

二叉树的遍历

参考资料

软考知识点汇总

数组、矩阵和广义表

i ( i + 1 ) 2 + j + 1 frac{i(i+1)}{2}+j+1 2i(i+1)?+j+1

  • 根据邻接矩阵的定义,行列数都为结点个数,结点数为5,因此邻居矩阵行列数均为5,即5*%的矩阵。
  • 根据邻接表的定义,一个顶点的表结点个数为其邻接顶点的个数,顶点2有2个邻接顶点,顶点3有2个邻接顶点

线性结构

布鲁特-福斯模式匹配算法

比 较 次 数 = ( n ? m + 1 ) ? m n : 主 串 m : 模 式 串 比较次数=(n-m+1)*m n:主串 m:模式串 =(n?来源:yy不会学爪哇

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月18日
下一篇 2022年4月18日

相关推荐