#软件设计师 #软考 #高频知识点总结 #上午题常考知识点 #下午题分析总结

一、软件工程

  • 【敏捷方法】

    • 极限编程XP(轻量高效低风险柔性可预测)
      • 四大价值观:沟通,简单,反馈,勇气。
      • 五大原则:快速反馈,简单性假设,逐步修改,提倡更改,优质工作。
      • 十二个最佳实践:计划游戏,小型发布,隐喻,简单设计测试先行,重构,结对编程,集体代码所有制,持续集成每周工作40小时,现场客户,编码标准。
    • 水晶法(每一个项目需要一个不同的策略约定和方法)。
    • 并列争球法(Scrum,30天一个小冲刺)
      • 开发流程:Product Backlog(产品待办事项) → Sprint Backlog(Sprint待办事项) → Sprint(冲刺迭代) → Release(发布)
    • 自适应软件开发(ASD,6个基本原则)
    • 敏捷统一过程(AUP,大型上连续,小型上迭代)。
  • 【概要设计和详细设计】

    • 概要设计:确定软件系统的结构,进行模块划分,确定每个模块的功能、接口以及模块间的调用关系。
    • 详细设计:算法设计,对模块内的数据结构设计,数据库物理设计,说明书,评审。
  • 【各种开发模式适用的场合】

    • 瀑布模型:非常明确的需求,严格的文档,评审。
    • 喷泉模型:面向对象。
    • 快速原型:需求不够明确,项目不是很大,“抛弃”式开发。
    • 演化模型:渐进式开发。
    • 螺旋模型:引入风险评估,大中型开发,融合了瀑布模型和演化模型。
    • 统一过程:用例驱动,架构为中心和受控的迭代式增量开发。
      • 四个阶段:初始阶段,精化阶段,构建阶段,提交阶段
  • 【软件质量模型的6大特性】

    特性 说明 评价指标
    功能性 适合性、准确性、互用性、依从性、安全性
    可靠性 产品在规定的条件下,在规定的时间内完成规定功能的能力 成熟性、容错性、易恢复性
    易用性 在指定使用条件下,产品被理解、 学习、使用和吸引用户的能力 易理解性、易学性、易操作性
    效率性 在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力 时间特性、资源特性
    软件维护性 “四规”, 在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力 可理解性、可测试性、稳定性、可修改性
    软件可移植性 从一种环境迁移到另一种环境的能力 适应性、易安装性、一致性、易替换性

    由于功能性比较抽象,所以最好是用排除法解题,如果题目所描述的情况不在中那么属于功能性。

  • Gantt图不能清晰的描述各任务之间的依赖关系。

    Pert图不能清晰的描述各个任务之间的并行情况。

  • 【CMMI成熟度模型】

    阶段式模型

    【记忆口诀】初级程序员,可重复写程序,现已定义了管理策略的来优化程序设计。

    等级 名称 核心
    1 初级 混乱不可预测
    2 可重复级 建立基本的项目管理和实践来跟踪项目费用、进度和功能特性
    3 已定义级 使用标准开发过程(或方法论)构建(或集成)系统
    4 已管理级 管理层寻求更主动地应对系统的开发问题。重点关注产品和过程质量
    5 优化级 连续地监督和改进标准化的系统开发过程

    连续式模型

    等级 名称 说明
    CLO 未完成的 过程域未执行或未得到CL1中定义的所有目标。
    CL1 已执行的 其共性目标是过程将可标识的输入工作产品转换成可标识的输出工作产品,以实现支持过程域的特定目标。
    CL2 已管理的 其共性目标是集中于已管理的过程的制度化。根据组织级政策规定过程的运作将使用哪个过程,项目遵循已文档化的计划和过程描述,所有正在工作的人都有权使用足够的资源,所有工作任务和工作产品都被监控、控制、和评审。
    CL3 已定义级的 其共性目标集中于已定义的过程的制度化。过程是按照组织的裁剪指南从组织的标准过程中裁剪得到的,还必须收集过程资产和过程的度量,并用于将来对过程的改进。
    CL4 定量管理的 其共性目标集中于可定量管理的过程的制度化。使用测量和质量保证来控制和改进过程域,建立和使用关于质量和过程执行的质量目标作为管理准则。
    CL5 优化的 使用量化(统计学)手段改变和优化过程域,以满足客户的改变和持续改进计划中的过程域的功效。
  • 【维护类别】

    维护类别 说明
    正确性维护 为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,进行的诊断和改正错误的过程。
    适应性维护 在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程。
    完善性维护 在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。
    预防性维护 指预先提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。
  • 【结构化开发】

    类别 说明
    体系结构设计 定义软件系统各主要部件之间的关系。
    数据设计 基于E-R图确定软件涉及的文件系统的结构及数据库的表结构。
    接口设计(人机界面设计) 软件内部,软件和操作系统间以及软件和人之间如何通信。
    过程设计 系统结构部件转换成软件的过程描述。确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法。
  • 【成本估算模型】

    说明
    Putnam 模型 一种动态多变量模型,它是假设在软件开发的整个生存期中工作量的分布。
    COCOMO 模型 结构性成本模型,是最精确、最易于使用的成本估算模型之一。又分为以下三类:↓
    基本 COCOMO 模型 一个静态单变量模型,它是对整个软件系统进行估算。
    中级 COCOMO 模型 一个静态多变量模型。它将软件系统模型分为系统和部件两个层次,系统由部件构成,它 把软件开发所需人力(成本)看作是程序大小和一系列“成本驱动属性”的函数。
    详细 COCOMO 模型 它将软件系统模型分为系统、子系统和模块 3 个层次,它除包括中级模型所考虑的因素外, 还考虑了在需求分析、软件设计等每一步的成本驱动属性的影响。
  • 【软件测试】软件测试的目的是为了发现尽可能多的缺陷,而不是为了证明软件的正确性。

  • 【文档】

    类别 具体文档
    系统开发人员与系统分析人员在系统规划和系统分析阶段的沟通 总体规划和开发合同
    系统开发人员与项目管理人员在项目期内进行沟通的文档 系统开发计划,包括工作任务分解表、PERT图、甘特图和预算分配表等。
    系统开发人员与系统测试人员沟通的文档 测试计划
  • C/S(Client/Server):客户端服务器架构。

    B/S(Browser/Server):浏览器服务器架构。

  • 【内聚/耦合】

    划分模块其中的一个准则就是高内聚低耦合。

    内聚(从弱到强) 说明 (内聚是模块功能强度的度量)
    偶然内聚/巧合内聚 指一个模块内的各处理元素之间没有任何联系。
    逻辑内聚 指模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
    时间内聚 把需要同时执行的动作组合在一起形成的模块。
    过程内聚 指一个模块完成多个任务,这些任务必须按指定的次序执行。
    通信内聚 指模块内的所有处理元素都在同一数据结构上操作,或者各处理使用相同的输入数据或产生相同的输出数据。
    顺序内聚 指一个模块中的各个处理元素都密切相关于同一各功能且必须顺序执行,前一个功能元素的输出就是下一个功能的输入
    功能内聚 指模块内的所有元素共同作用完成一个功能,缺一不可。
    耦合(从弱到强) 说明 (耦合是对模块间关联程度的度量)
    内容耦合 内容重叠
    公共耦合 访问同一公共区域.
    外部耦合 访问同一外部变量,与公共耦合不同的是,一个是区域,一个是变量。
    控制耦合 A模块控制B模块
    印记耦合 传递的信息是子结构(结构体、对象等)。
    数据耦合 通过数据参数(注意是参数,不是区域也不是子结构!)联系。
    非直接耦合 不直接联系。
  • 【白盒测试】

    注意题目中需要满足什么类别的覆盖,否则盲目做,就会错错错… …

    覆盖分类 说明
    语句覆盖 设计出来的测试用例要保证程序中的每一个语句至少被执行一次
    判定覆盖(分支覆盖) 设计的测试用例要保证让被测试程序中的每一个分支都至少执行一次
    条件覆盖 设计的测试用例能使每个判定中的每一个条件都获得可能的取值,即每个条件至少有一次真值、有一次假值
    判定条件覆盖 设计的测试用例可以使得判断中每个条件所有的可能取值至少执行一次(条件覆盖),同时每个判断本身所有的结果也要至少执行一次(判定覆盖)。
    组合覆盖(条件组合覆盖) 设计的测试用例应该使得每个判定中的各个条件的各种可能组合都至少出现一次
    路径覆盖 设计的测试用例可以覆盖程序中所有可能的执行路径
  • 【逆向工程】逆向工程产品设计可以认为是一个从产品到设计的过程。简单地说,逆向工程产品设计就是根据已经存在的产品,反向推出产品设计数据(包括各类设计图或数据模型)的过程。这个过程一般是在软件交付使用之后进行,所以是在原软件生命周期的软件维护阶段进行。

  • 【McCabe度量法】VG=m-n+2

    • m:有向弧数。

      注意,什么叫有向弧!!

      程序图是退化的程序流程图。也就是说,把程序流程图的每一个处理符 都退化成一个结点,原来连接不同处理符 的流线变成连接不同结点的有向弧,这样得到的有向图就叫做程序图。

    • n:节点数

  • 【模块的分类】:

    • 传入模块:从下属模块取得数据,经处理再将其传送给上级模块。
    • 传出模块:从上级模块取得数据,经处理再将其传送给下属模块。
    • 变换模块:从上级模块取得数据,进行特定的处理,转换成其他形式,再传送给上级模块。
  • 【数据流图】是结构化分析的工具,结构化方法就是采用自顶向下逐层分解的思想进行分析建模的。随着分解层次的增加,抽象的级别也越来越低,即越来越接近问题的解。数据流图建模应遵循:自顶向下、从抽象到具体的原则

  • 模块结构图由模块、调用、数据、控制信息和转接符 5种基本符 组成。

  • 人机交互“黄金三原则”包括:用户操纵控制、减少用户的记忆负担、保持界面的一致性。


二、计

  • 【OSI七成模型口诀】:鹰标会的传人,王树武(应表会传 数物)

  • 各种服务占用的端口 /p>

    • FTP:21
    • Telnet:23
    • SSH:22
    • POP3:110,SMTP:25
    • MySQL:3306
    • HTTP:80,HTTPS:443
    • DNS:53
    • SNMP:161
  • IP地址划分/p>

    全0代表 络地址,全1代表组播地址。

  • 127.0.0.1是回送地址,指本地机,一般用来测试使用

  • TCP/IP 协议族的层次模型和协议

  • 【域名查询记录】:先HOSTS表,再本地DNS缓存,然后再查找本地DNS服务器,再根域名服务器、顶级域名服务器、权限域名服务器。

  • 【有效数据速率】在异步通信中,每个字符包含 1 位起始位、7位数据位和2位终止位,若每秒钟传送500个字符,则有效数据速率为

    每个字符的位数为1+7+2=10,每秒传输500个字符,故每秒传输的位数为10×500=5000,即码元速率为5000波特

    每个字符中的有效数据占7位

    5000 * (7/10)=3500

    因此每秒的有效数据为3500bit,则有效数据速率为3500b/s。

  • 【动态路由选择算法(自适应路由选择算法)】:依靠当前 络的状态信息进行决策,从而使路由选择结果在一定程度上适应 络拓扑结构和通信量的变化,需要依据 络信息经常更新路由。

  • HTTPS是基于SSL(Secure Sockets Layer 安全套接层)的。

  • 【TCP与UDP区别】

    TCP UDP
    TCP面向连接(如打电话要先拨 建立连接) UDP是无连接的,即发送数据之前不需要建立连接
    TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达 UDP尽最大努力交付,即不保证可靠交付
    TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流 UDP是面向 文的;UDP没有拥塞控制,因此 络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
    每一条TCP连接只能是点到点的 UDP支持一对一,一对多,多对一和多对多的交互通信;
    TCP首部开销20字节 UDP的首部开销小,只有8个字节
    TCP的逻辑通信信道是全双工的可靠信道 UDP则是不可靠信道,整体来看UDP开销较小
  • TCP和UDP协议均提供了端口寻址的能力。

  • 【IPv4和IPv6的过渡期间,主要采用三种基本技术】

    1. 双协议栈:主机同时运行IPv4和IPv6两套协议栈,同时支持两套协议。
    2. 隧道技术:这种机制用来在IPv4 络之上连接IPv6的站点,站点可以是一台主机,也可以是多个主机。隧道技术将IPv6的分组封装到IPv4的分组中,封装后的IPv4分组将通过IPv4的路由体系传输,分组 头的“协议”域设置为41,指示这个分组的负载是一个IPv6的分组,以便在适当的地方恢复出被封装的IPv6分组并传送给目的站点。即可以使得两个IPv6结点可以通过现有的IPv4 络进行通信。
    3. NAT-PT(翻译技术) :利用转换 关来在IPv4和IPv6 络之间转换IP 头的地址,同时根据协议不同对分组做相应的语义翻译,从而使纯IPv4和纯IPv6站点之间能够透明通信。
  • 【POP3协议】:POP3协议采用的是C/S结构,同时该协议基于传输层TCP协议,所以客户端软件与POP3服务器会建立可靠的连接——TCP连接。

  • 【变长子 的可用主机数计算】:2n-2(n为表示主机的位数)

  • 【中国自主研发的3G通信标准】:TD-SCDMA

  • DNS:域名服务器。

    DHCP:动态主机配置协议(Dynamic host configuration protocol)


三、计组

  • 总线复用方式可以减少总线中信 线的数量,提高总线的利用率。

  • 相联存储器按内容访问。

  • 在程序的执行过程中,Cache与主存的地址映像需要专门的硬件自动完成,使用硬件来处理具有更高的转换速率。

  • 数据流图是结构化分析模型需求分析阶段得到的结果,描述了系统的功能,在进行接口设计时,应以它为依据。

  • 在程序运行过程中,CPU需要将指令从内存中取出来并加以分析和执行,CPU依据指令周期的不同阶段来区分在内存中以二进制编码形式存放的指令和数据。

  • 【海明校验码】(校验位k,数据位m):2k-1 >= m+k

  • 【可靠度公式】

    串联:P1 * P2

    并联:1-(1-P1) * (1-P2)

  • H结尾、0x开头 16进制
    D结尾 10进制
    O结尾 8进制
    B结尾 2进制
  • 【流水线】

    完成指令的时间 = 1条指令执行时间 + (指令条数 – 1)*周期。

    吞吐率(TP) = 指令数 / 完成指令的时间。

  • 【无条件转移汇编指令】:让程序运行路径发生改变的的汇编指令。

  • 【硬盘格式化容量】:

  • 【原码、反码、补码和移码】:# 原码、反码、补码和移码详解 # 原码、反码、补码和移码的“由来”

    在计算机系统中常采用补码来表示和运算数据,原因是采用补码可以简化计算机运算部件的设计。

  • MTBF为平均失效间隔时间,则可用性用MTBF/(1+MTBF)表示。(可用性是指在给定的时间点上,一个系统能够正确运作的概率)

    MTTF为平均无故障时间,则可靠性可用MTTF/(1+MTTF)表示。(可靠性是指系统在给定的时间间隔内、给定条件下无失效运作的概率)

  • 【输入输出的编制方式】

    编址方式 说明
    独立编址 外设接口地址和主存地址是分开的 输入输出的操作是通过专门的I/O指令来操作的
    统一编址 外设接口地址和主存地址在一个公共的空间内 输入输出的操作是通过访存指令来操作的
  • 【输入输出设备的控制方式】

    控制方式 说明 特点
    程序查询方式 CPU 定时查询外设的状态,发现外设就绪, 就开始和外设进行输入输出操作和处理 速度最慢,当输入/输出控制器和外设交换数据时,CPU 必须等待
    中断方式 1、当 CPU 执行到 I/O 请求时,向输入输出控制器发出相应的指令后,CPU 并不等待,而是继续执行其他操作,由输入输出控制器和外设进行通信
    2、当数据从寄存器写到外设或从外设写入寄存器完毕后,输入输出控 制器向 CPU 发出中断请求,CPU 响应中断,并进行相应的处理。
    中断方式是以字(节)为单位进行I/O的,每当完成一个字(节)的I/O 时,控制 器便要向CPU 请求一次中断。
    DMA 内存和 I/O 设备间传送一个数据块的过程中,不需要 CPU 的任何干涉,是 一种快速传递大量数据常用的技术。 为了实现在主机与控制器之间成块数据的直接交换,必须在 DMA 控制器中设置如下四类寄存器:命令/状态寄存器(CR)、内存地址寄存器(MAR)、数据寄存器(DR)、数据计数器(DC)。
    通道方式 通道方式是 DMA 方式的发展,它可进一步减少 CPU 的干预,即把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。
  • 计算机系统的主存主要是由DRAM(动态随机存取存储器)构成的。

    补充: SRAM: 静态随机存取存储器; Cache: 高速缓存; EEPROM: 电可擦可编程只读存储器。

  • RISC(精简指令) CISC(复杂指令)
    指令 数量少,使用频率接近,定长格式 数量多,使用频率差别大,可变长格式
    寻址方式 支持方式少 支持方式多
    实现方式 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 微程序控制技术
  • 【主存编址计算】

    存储器地址是存储器中存储单元的编 。存储器是由大量存储单元组成,需要用编 区别每个单元:编 =地址。

    • 按字节编址:每个存储单元存储一个字节(即1B=8bit)

    • 计算机字长为32位,按字编址:每个存储单元存储一个字(即32bit=4B)

    eg:计算机字长为32位,按字编址(即1个字32个位,4个字节),则总容量为2GB的内存可规划的单元地址数量为/strong>

    ? 2GB/32bit=2GB/4B=0.5G=512M。

    注意:区别M和MB!!!

    ? M为数量单位。1024=1K,1024K=1M

    ? MB指容量大小。1024B=1KB,1024KB=1MB.

  • 【冗余技术】冗余是指在正常系统运行所需的基础上加上一定数量的资源,包括信息、时间、硬件、和软件。冗余是容错技术的基础,通过冗余资源的加入,可以使系统的可靠性得到较大的提高。主要的冗余技术有结构冗余(硬件冗余和软件冗余)、信息冗余、时间冗余和冗余附加四种。

    冗余附加技术包括:冗余备份程序的存储及调用,实现错误检测和错误恢复的程序,实现容错软件所需的固化程序。

  • 【CPU的组成】

    CPU的运算器只能完成运算,而控制器用于控制整个CPU的工作。

    控制器 说明
    程序计数器(PC,Program Counter) 初始化存放从内存中提取程序的第一条指令地址的指令地址寄存器。由于多数情 况程序是顺序执行的,所以程序计数器设计有自动加 1 的装置,用来存放下一条指令的地址。当出现转移指令时,需要重新程序计数器。
    地址寄存器(AR,Address Register) 用来保存当前 CPU 所访问的内存单元的地址。
    指令寄存器(IR,Instruction Register) 用来保存当前正在执行的一条指令,它的位数取决于指令字长的位数。此寄存器对于程序人员来说是“透明”的,不能直接控制它。这里的“透明”(Transparency)是计算机学科中常用的个专业术语,表示实际存在,但在某个角度看好像没有。
    状态条件寄存器(PSW,Program Status Word) 存放各种条件内容,如运算结果进位标志,中断和系统工作状态信息等
    时序产生器 每条机器指令的操作过程是由指令操作流程图严格规定的,各条机器指令的指令周期中包含的机器周 期数各不相同,每个机器周期包含的时钟周期也不一定相同,所以指令周期、机器周期和时钟周期等时序信 就由时序产生 器根据操作流程规定产生,从而进行时序控制。
    操作控制器 在时序信 的控制下,各条机器指令在各个机器周期的各个时钟周期中应产生哪些微操作控制信 , 由指令操作流程图作出严格规定,操作控制器就根据指令流程图的安排,在各个时钟周期中中产生相应的微操作控制信 , 有效完成指令的操作过程。
    运算器 说明
    算术逻辑单元(ALU,Arithmetic Logical Unit) 进行算术逻辑运算。
    数据缓冲寄存器(DR,Data Register) 用来暂时存放由读出或写入的一条指令或数据字。
    累加寄存器(AC) 一个通用寄存器,为逻辑和算术运算提供一个工作区,用来为 ALU 执行算术逻辑运算提供数据并 暂存运算结果。
  • 【程序的局限性】

    1. 时间局部性是指如果程序中的某条指令一旦被执行,则不久的将来该指令可能再次被执行;
    2. 空间局部性是指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问。
  • 【浮点数】两个浮点数相加运算,首先进行对阶,阶码小的向阶码大的对齐。


四、程序设计语言

  • 中间代码生成和代码优化不是每个编译器必须要做的工作。代码优化和机器无关。

  • 【中间代码】是源程序的一种内部表示,或称中间语言。中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,特别是可使目标代码的优化比较容易实现。中间语言有多种形式,常见的有逆波兰记 、四元式、三元式、树、后缀和三地址码

  • 源程序→词法分析→语法分析→语义分析→中间代码生成→代码优化→目标代码生成→目标程序。

  • 栈:由编译器自动分配和释放,存放运行时函数分配的局部变量、函数参数、返回数据/地址等;

    堆:由程序员自动分配,如果没有释放,可能会由OS回收。

  • 反编译只能得到和源程序功能上等价的汇编程序,不能得到源程序。

  • 【上下文无关文法】:形式语言理论中一种重要的变换文法,用来描述上下文无关语言,在乔姆斯基分层中称为2型文法。

    由于程序设计语言的语法基本上都是上下文无关文法,因此应用十分广泛。

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

  • 【符 表】:符 表是一种用于语言翻译器(例如编译器和解释器)中的数据结构。在符 表中,程序源代码中的每个标识符都和它的声明或使用信息绑定在一起,比如其数据类型、作用域以及内存地址

    编译程序对高级语言源程序进行编译的过程中,要不断收集、记录和使用源程序中一些相关符 的类型和特征等信息,并将其存入符 表中。

    【补充】哈希表:也叫散列表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度

    动态查找表:动态查找表的表结构本身是在查找过程中动态生成的,即对于给定值key,若表中存在其关键字等于key的记录,则查找成功返回,否则插入关键字等于key的记录。


五、数据结构

即:采用二级索引时文件的最大长度为:[(210/3)×(210/3)×210]÷210≈116508

  • 某文件管理系统采用位示图(bitmap)记录磁盘的使用情况。如果系统的字长为32位,磁盘物理块的大小为4MB,物理块依次编 为:0、1、2、…,位示图字依次编 为:0、1、2、…,那么16385 物理块的使用情况在位示图中的第( )个字中描述;如果磁盘的容量为1000GB,那么位示图需要( )个字来表示。

    解:位示图:每一位对应文件存储器上的一个物理块,取 0 和 1 表示空闲和被占用;

    系统的字长为32位,所以一个字可以表示32个物理块;

    16385 物理块,即第16385+1个物理块,即在(16385+1)/32=512.0625≈513个字中描述;

    磁盘容量为1000GB,即可以存储1000GB/4MB=1000×28个物理块,即需要1000×28÷32=8000个字描述。

  • 分析按什么样的序列执行,系统状态是安全的

    1. 目标就是不产生死锁;
    2. 弄清目前 每个进程对每个资源还需要多少个;
    3. 根据目前 系统中每个资源剩余的个数 进行判断每个进程的先后执行顺序。
  • 【相对路径/绝对路径/全文件名】:

    • 相对路径:相对于当前目录的路径,用和来区分当前目录和上一级目录,不会带上当前目录名
    • 绝对路径:从根目录开始到目标文件或目录的一条路径,不会带上目标文件或目录的名字
    • 全文件名:从根目录到目标文件的或目录的一条路径,带上目标文件或目录的名字
  • 【嵌入式操作系统的特点】:

    1. 微型化,从性能和成本角度考虑,希望占用的资源和系统代码量少;
    2. 可定制,从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用的需求;
    3. 实时性,嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,所以对实时性要求较高;
    4. 可靠性,系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提供容错和防故障措施;
    5. 易移植性,为了提高系统的易移植性,通常采用硬件抽象层和板级支撑包的底层设计技术。

  • 九、面向对象

    • 【设计模式的图】:弄清每一个设计模式的用处,见。

    • 动态绑定是实现多态的基础。

    • 多态由继承机制来支持。

    • 高层模块不应该依赖于底层模块就.

    • 对象由对象名、属性名、方法组成。

    • 采用面向对象方法进行软件开发,分析阶段,架构师主要关注系统的行为,即系统应该做什么。

    • 【UML图】

      UML图通常对系统的词汇、简单的协作、逻辑数据库模式进行建模。

      1. 类图(class diagram)。类图描述一组类、接口、协作和它们之间的关系。在OO系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。
      2. 对象图(object diagram)。对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。即对象图通常对对象快照建模。
      3. 构件图(component diagram)。构件图描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。
      4. 组合结构图(composite structure diagram)。组合结构图描述结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。
      5. 用例图(use case diagram)。用例图描述一组用例、参与者及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。
      6. 顺序图(sequence diagram,序列图)。顺序图是一种交互图(interaction diagram),交互图展现了一种交互,它由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。
      7. 通信图(communication diagram)。通信图也是一种交互图,它强调收发消息的对象或参与者的结构组织。顺序图和通信图表达了类似的基本概念,但它们所强调的概念不同,顺序图强调的是时序,通信图强调的是对象之间的组织结构(关系)。在UML 1.X版本中,通信图称为协作图(collaboration diagram)。
      8. 定时图(timing diagram,计时图)。定时图也是一种交互图,它强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。
      9. 状态图(state diagram)。状态图描述一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。
      10. 活动图(activity diagram)。活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。
      11. 部署图(deployment diagram)。部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。
      12. 制品图(artifact diagram)。制品图描述计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图一起使用。制品也给出了它们实现的类和构件。
      13. 包图(package diagram)。包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。
      14. 交互概览图(interaction overview diagram)。交互概览图是活动图和顺序图的混合物。
    • 【类间的关系】:依赖

    • Jackson是一种面向数据结构的开发方法。

    • 继承是父类和子类之间共享数据的一种关系。

    • 【多态】

      1. 参数多态(属于静态多态。应用比较广泛的一种多态,被称为最纯的多态)
      2. 包含多态(属于动态多态。在许多语言中都存在,最常见的例子就是子类型化,即一个类型是另外一个类型的子类型。)
      3. 过载多态(属于静态多态。同一个名字在不同的上下文中所代表的含义不同。典型的例子是运算符重载和函数重载。)
      4. 强制多态(属于动态多态。在发生不同类型的数据进行混合运算时,编译程序一般都会进行强制多态。程序员也可以显示地进行强制多态的操作。)
    • 【类与类之间的关系】

      1. 泛化 / 继承(─?)
      2. 实现(┄?)
      3. 依赖(?)
      4. 关联(→)
      5. 聚合(?→)
      6. 组合(?→)
    • 面向对象分析过程中,从给定需求描述中选择名词短语来识别对象。

    • 对象的状态标识了该对象的所有属性(通常是静态的)以及每个属性的当前值(通常是动态的)。


    十、 络安全

    • 【常见对称加密算法】:DES、AES、IDEA、RC-5。

      对大量明文进行加密,考虑效率问题,一般采用对称加密。

    • 【病毒】

      • 【木马程序】

        木马程序传播方式:

        1. 通过邮件附件、程序下载等形式传播;
        2. 通过伪装 页登录过程,骗取用户信息进而传播;
        3. 通过攻击系统安全漏洞传播木马,大量黑客使用专门的黑客工具来传播木马。

        木马程序的危害:

        • 木马程序危害在于多数有恶意企图,例如占用系统资源,降低电脑效能,危害本机信息安全(盗取QQ账 、游戏账 甚至银行账 ),将本机作为工具来攻击其他设备等;

        常见的木马程序:

        • 特洛伊木马:典型现象为有未知程序尝试建立连接。

        木马程序的客户端运行在攻击者的机器上。

      • 【蠕虫病毒】

        常见蠕虫病毒:

        • 震 (Stuxnet):它的复杂程度远超一般电脑黑客的能力。这种震 (Stuxnet)病毒于2010年6月首次被检测出来,是第一个专门定向攻击真实世界中基础(能源)设施的“蠕虫”病毒,比如核电站,水坝,国家电 。
      • 【引导区病毒】

        危害:破坏的是引导盘、文件目录等

      • 【宏病毒破】

        危害:坏的是OFFICE文件相关

    • 【Sniffer】:是用于拦截通过 络传输的TCP/IP/UDP/ICMP等数据包的一款工具,可用于分析 络应用协议,用于 络编程的调试、监控通过 络传输的数据、检测木马程序等。

    • 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2021年6月11日
    下一篇 2021年6月11日

    相关推荐