IT评测·应用市场-qidao123.com

标题: 软考-架构设计师-综合知识总结(试卷:2009~2022)(上篇) [打印本页]

作者: 反转基因福娃    时间: 2024-6-23 12:06
标题: 软考-架构设计师-综合知识总结(试卷:2009~2022)(上篇)
说明

    本文档对2009到2022年试卷的综合知识进行了归纳总结,同时对叶宏主编的《系统架构设计师教程》划分重点。
第一章:关于架构、架构师概述

1.1 重要知识点:

模块化开发规则:
    1> 最高模块内聚,即在一个模块内部的元素最大限度地关联,只实现一种功能的模块是高内聚,具有三种以上功能的模块是低内聚;
    2> 最低耦合,即不同模块之间的关系极可能弱,以利于软件的升级和扩展;
    3> 模块巨细适度,即模块不要太大或者巨细,太大维护困难,太小又会导致模块间耦合增加;
    4> 模块调用链的深度(嵌套条理)不可过多
    5> 接口简朴、精炼(扇入扇出数不宜过大),具有信息隐蔽本领
    6> 尽可能复用已有模块
软件架构的常用分类:
    1)分层架构,这种架构将软件分成若干个水平层,每一层都有清晰的脚色和分工,不必要知道其他层的细节。层与层之间通过接口进行通信。

    2)变乱驱动架构

    3)微核架构,微核架构又称为插件架构,是指软件的内核相对较小,重要功能和业务通过插件实现。内核通过只包罗系统运行的最小功能。插件是互相独立的,插件之间的通信应该减少到最低,避免出现互相依靠的题目。

    4)微服务架构,微服务架构是服务导向架构的升级,每一个服务就是一个独立的摆设单元,这些单元都是分布式,互相解耦,通过长途通信协议接洽。
        1> RESTful API模式:服务器通过API提供,云服务就属于这一类
        2> RESTful 应用模式:服务通过传统的网络协议或者应用协议提供,背后通常是一个多功能的应用步伐,常见于企业内部。
        3> 会合消息模式:采用消息代理可以实现消息队列、负载均衡、统一日记和异常处理,缺点是会出现单点失败。

    5)云架构,云架构重要解决扩展性和并发题目,是最容易扩展的架构。

软件架构常用建模方法:
    1)结构模型:最直观的方法,此方法以架构的构件、毗连件和其他概念来刻画结构。并力图通过结构来反映系统的重要语义内容,包括系统设置、约束、隐含的假设调教、风格和性子。研究结构模型的核心是架构描述语言。
    2)框架模型:框架模型与结构模型范例,但它更偏重于整体结构,重要以特殊题目为目的创建结构。
    3)动态模型:是对结构和框架模型的补充,动态是指系统总体结构的设置、创建或拆除通信或计算的过程。
    4)过程模型:研究构造系统的步骤和过程,其结构是遵照某些过程脚本的结果。
这四种模型并不是完全独立的,通过有机结合形成一个完整的模型来刻画软件架构
架构师必要具备的专业知识:
    1)把握业务领域知识
    2)把握技术知识 关注技术的重要因素,而不是细节
    3)把握设计技能 设计过程是架构设计的核心内容,架构是关键设计决策的具体化,关键设计决策指的是关键结构设计决策、特定模型的选择和引导规格说明书等。
    4)具备编程技能
    5)具备沟通本领
    6)具备决策本领
    7)知道构造策略 对政治敏感并知道其在构造中的权利
    8)应是谈判专家
成为一个技术全面的架构师必要具备6个脚色:
    1)作为领导者
        像导师,领导团队前进,细致听取意见。
    2)作为开发者
        衡量抱负架构状态和软件系统的当前状态,不要做象牙塔式架构设计师(象牙塔架构师,由于他们没有真正去参与一线的开发。他们不会明白压力来自那里,现实是怎样的,只会告诉别人使用某种技术)
    3)作为系统综合者、聚焦系统
        不但要专注于了解代码,还要思量摆设过程、主动化测试、性能、安全和可支持性等多个方面,寻找可以或许满意不同利益相干者需求的解决方案。
    4)具备企业家头脑
        技术选型思量相干的成本和利益
    5)具备战略技术专家的衡量头脑与战术头脑
        寻求灵敏度(答应团队快速采取举措)和一致性(保持充足的一致性)之间良好平衡。创建自己的技术雷达进行练习是用战略头脑探索技术的一个有效工具。
    6)具备良好的沟通本领
        可以使用图表和小组讨论方式来创建和美满技术愿景,并进行书面记载(架构决策日记或wifi等),从而为未来留下可追朔的汗青。
第二章:计算机系统基础知识

2.1 重要知识点:


处理器:
        处理器的指令集按照复杂度可以分为复杂指令集(CISC: Intel、AMD等)和精简指令集(RISC:ARM、Power等),RISC已经成为计算机指令集发展趋势,后期基本都是RISC架构。
        常见的处理器芯片有:图形处理器(GPU:数百或数千个内核,用于深度学习)、信号处理器(DSP:专用于及时数字信号处理)、以及现场可编程逻辑门阵列(FPGA)、单片机微控制器(MCU)、ARM高性能RISC等。(除GPU外,后面的都是CPU在不同应用场景的使用)。
存储器:
    按硬件结构可分为:
        1> SRAM(静态随机存储器:只要保持通电,内里的数据就可以不停保存)(片上和片外)
        2> DRAM(动态随机存取内存,与SRAM最大的不同是, DRAM必要通过刷新操作来保持其存储的内容。容量比SRAM大,保存速度比SRAM慢,常用于PC的主存储器)
        3> NVRAM(非易失性随机访问存储器:指断电后仍能保持数据的一种RAM。)
        4> Flash(Flash存储器:内存器件的一种,黑白易失性内存)
        5> EPROM(电可擦可编程只读存储器:是一种可以或许电子擦除和重新编程数据的非易失性存储器)
        6> Disk(磁盘)
    按采用分层体系,按照与处理器的物理隔断可以分为4个条理:
        1>片上缓存:在处理器核心中直接集成的缓存,一样平常为SRAM结构、实现数据的快速读取。(16KB~512KB)
        2>片外缓存:在处理器核心外的缓存,必要通过交换互联开关访问,一样平常也是SRAM结构。(256KB-4MB)
        3>主存(内存):通常采用DRAM结构,以独立部件/芯片存在,通过总线与处理器毗连,DRAM依靠不断充电维持此中的数据。(数百MB至数十GB)
总线:
    总线是指计算机部件之间遵照某一特定协议实现数据交换的情势,即以一种特定格式按照规定的控制逻辑实现部件间的数据传输。
    按位置划分:
        1>内总线:用于芯片内部互联,可称为片上总线或片内总线
        2>系统总线:指计算机中CPU、主存、I/O接口总线,广义上经由系统总线再次级联的总线,又成为局部总线。
        3>外部总线: 计算机板和外部设备之间或计算机系统之间互联的总线,又称为通信总线。总线之间通过桥实现毗连,它是一种特殊外设,重要实现总线协议间的转换。
    总线存在很多种类,有:
        1>并行总线:PCI、PCIe、ATA(IDE)等
        2>串行总线:USB、SATA、CAN、RS232、RS485、RapidIO、以太网等。
操作系统:
    1>批处理操作系统(单道批处理,一次只有一个作业装入内存实行。多道批处理操作系统允很多个作业装入内存实行。)
    2>分时操作系统(将CPU工作时间划分为很多很短的时间片,轮流为各个终端用户服务。)
    3>及时操作系统(分为及时控制系统(用于生产主动控制)和及时信息处理系统(用于订票系统、情报系统))
    4>网络操作系统(使联网计算机能方便有效地共享网络资源。)
    5>分布式操作系统(由多个分散的计算机毗连而成的计算机系统)
    6>微型计算机操作系统(微型计算机操作系统)
    7>嵌入式操作系统(运行在嵌入式智能设备环境中)
文件:
    文件结构分类:
        1>逻辑结构,分为有结构的记载式文件和无结构的流式文件。
        2>物理结构,
            连续结构(将逻辑上连续的文件信息一次存放在连续编号的物理块上,只要知道物理块号和文件长度就能存取);
            链接结构(存放在不连续的物理块,每个物理块设有一个指针指向下一个物理块);
            索引结构(存放在不连续的物理块,系统为每个文件创建一张索引表。索引表记载了文件信息所在的逻辑块号对应的物理块号,并将索引表的起始位置放在与文件对应的文件目录项中)。
    文件共享:
        1>硬链接,文件的硬链接是指两个文件目录表指向同一个索引节点的链接,硬链接不利于文件主删除它拥有的文件,必须先删除全部硬链接。
        2>符号链接,创建新的文件或目录,并与原来文件或目录的路径进行映射,当访问一个符号链接时,系统通过映射找到原文件路径,并对其访问。
    文件保护:
        存取控制矩阵,规定不同用户对文件访问有不同的权限。

中间件:
    作为应用软件与各种操作系统之间的标准化编程接口和协议,可以起承上启下作用,使应用软件的开发相对独立于计算机硬件和操作系统,并能在不同的系统上运行,实现相同的应用功能。中间件处在操作系统、网络和数据库之上,应用软件的下层。

    按中间件在分布式系统中承担的职责不同,可以划分为:
        1>通信处理(消息)中间件
        2>事务处理(交易)中间件
        3>数据存取管理中间件
        4>web服务器中间件
        5>安全中间件
        6>跨平台和架构的中间件
        7>专用平台中间件
软件构件:
    构件又称组件,是一个自包容、可复用的步伐集(一组步伐的集合)。这个集合整体向外提供统一的访问接口,构件外部只能通过接口来访问构件,不用直接操作构件的内部。构件的两个最重要的特性是自包容和可重用。
    构件组装模型,优点是构件的自包容性让系统扩展变得更加容易;设计良好的构件更容易被重用;构件的粒度叫整个系统更小,因此安排开发任务更加机动,可以将开发团队分成若干组,并行独立开发构件。缺点是对构件的设计必要经验丰富的架构设计师,在思量软件按重用度时,往往会对其他方面做出让步,如性能等。

    商用构件标准规范:
        1>CORBA, 公共对象请求代理架构
        2>J2EE 基于Java语言开发面向企业分布的应用规范
        3>DNA 2000 提供ASP、COM、Cluster等应用支持。
嵌入式系统:

    按不同用途分为:
        1>嵌入式及时系统,可以或许在指定或者确定时间内完成系统功能和外部或内部、同步或异步时间做出相 应的系统。及时系统又分为强及时系统、弱及时系统
        2>嵌入式非及时系统
    按安全性要求分为:
        1>安全攸关系统,指不正确功能会导致人员伤亡,财产丧失等后果的计算机系统。
        2>非安全攸关系统

    嵌入式系统的组成:
        1>硬件层, 核心是微处理器、存储器、IO接口、通用设备、总线、电源、时钟等。
        2>抽象层, 重要实现对硬件层硬件进行抽象(HAL),为操作系统提供假造硬件资源;板极支持包(BSP)是一种硬件驱动软件,面向硬件芯片或电路进行驱动,为操作系统管理硬件提供支持。
        3>操作系统层,由嵌入式操作系统、文件系统、图形用户接口、网络系统和通用组件等可设置模块组成。
        4>中间件层,中间件是指一种独立的系统软件或服务步伐,分布式应用系统借助这种软件可在不同的技术之间共享资源。中间件层是毗连两个独立应用的桥梁。中间件分为服务中间件、集成中间件、数据中间件、消息中间件和安全中间件。
        5>应用层, 是指嵌入式系统的具体应用。

    嵌入式软件的重要特点:
        1>可裁剪性
        2>可设置性,可设置通常采用的设计方法包括数据驱动、静态编译和设置表等。
        3>强及时性,要求任务必须在规定时间内处理完成, 采用的设计方法包括表驱动、设置、动静态结合、汇编语言等
        4>安全性,在规定条件下规定时间内,不发生事故的本领,设计方法包括编码标准、安全保障机制、FMECA(故障模式、影响及危害性分析)
        5>可靠性,在规定条件下规定时间内,步伐实行所要求的功能的本领。设计方法包括容错技术、余度技术和鲁棒性设计等。
        6>高确定性,系统运行期间,不能发生资源枯竭和未预计的状态出现都能环境,设计方法包括静态分配资源、越界查抄、状态机、静态任务调理等。
    安全攸关软件的安全性设计:
        安全攸关软件设计的方法可以借鉴Do-178标准(美国民用飞机适航中的软件标准)。目的、过程、数据是Do-178的精髓。Do-178规定了软件整个生命周期必要达到66个目的,并将软件的安全等级分为A-E五级,不同安全等级软件,必要达到目的要求不同。Do-178把如软件生命周期中产生的文档、代码、报表、记载等称为软件生命周期数据。

        CMMI是从过程改进的视角,对软件开发技术与管理提出需求,覆盖个人、项目及构造三个条理的要求,更关注构造整体软件本领提升。DO-178是从适航审定视角,对软件开发技术和管理过程提出要求,更关注软件质量对于安全性的影响。
计算机网络:
    网络性能指标:
        1)速率(也称为比特率、单位是b/s 比特每秒 , 传送数据的速率)
        2)带宽,对于信号,带宽表现频率范围;对于计算机网络,表现单位时间内从网络一个结点到另一个结点所能通过的最高速率,单位是比特每秒。
        3)吞吐量,单位时间内通过某个网络的数据量。例如对于带宽100Mb/s的以太网,速率是100M每秒,对于100M/s的以太网,典型吞吐量可能只有70Mb/s。单位时间内成功地传送数据的数量(以比特、字节、分组等测量)
        4)时延,指数据从网络一端通报到另一端所需的时间。
        5) 来回时间(RTT),表现从发送方发送数据开始到发送方收到来自接收方的确认总共经历的时间。
        6)利用率,有信道利用率(信道被利用的概率,以百分数表现)和网络利用率(全网络的信道利用率的加权平均值)两种。
    非性能指标:费用、质量、标准化、可靠性、易管理和维护性
    信道传输是指:信源发出信息,发信机负责将信息进行编码和调制转换成适合在信道上传输的信号,收信机从信道接收信号,进行解调和译码,将信号转化成信息发送给信宿。
    香农公式:可以计算信道容量(信道的最大传输速率)

        按公式来说,带宽越大、信噪比越大,对应信道容量越大。
    网络通常按照网络覆盖区域和通信介质分为:
        1>局域网(LAN),拓扑结构有星状结构、树状结构、总线结构、环形结构。以太网技术:
        以太网是当今应用最为普遍的局域网技术,IEEE 802.3标准给出了以太网的技术标准。以太网帧结构:

        2>无线局域网(WLAN),WLAN拓扑结构有点对点、HUB型、完全分布型。
        3>广域网(WAN),广域网是一种将分布于更广区域,比如一个城市、一个国家的计算机设备毗连起来的网络。广域网分类:公共传输网络、公共传输网络、无线传输网络。
        4>城域网(MAN),是在单个城市范围内创建的计算机通信网。
        5>移动通信网,发展:1G(采用模拟信号传输,只能传输语音)-》2G(采用数字调制技术,手机可上网,网速慢) -》3G(数字传输,同时开发新电磁波频谱,网速得到提升)-》4G(采用更先进的通信协议和技术,网速为3G的几十倍,可以流畅观看视频 ) -》5G(多业务、多技术融合的网络,以用户为中心的信息生态系统,高速率相称于4G的20倍、低时延、海量设备毗连、低功耗)
    网络设备:
        1>集线器(Hub),物理层,用来将该集线器毗连到其他集线器或路由器设备以便形成更大的网络。
        2>中继器(RP repeater),物理层,用于完全相同的两个网络的互连,重要功能是通过对数据信号的重新发送或者转发,来扩大局域网环境下网络传输的隔断。
        3>网桥(Bridge),数据链路层, 网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞。扩展局域网最常见的方法是使用网桥,厥后被交换机所取代。

        4>交换机,数据链路层,交换机内部的CPU会在每个端口成功毗连时,通过将MAC地点和端口对应,形成一张MAC表。在以后的通讯中,发往该MAC地点的数据包将仅送往其对应的端口,而不是全部的端口。因此,交换机可用于划分数据链路层广播,即辩论域;但它不能划分网络层广播,即广播域。
        5>路由器,网络层,路由器可以分析各种不同范例网络传来的数据包的目的地点,把非TCP/IP网络的地点转换成TCP/IP地点,或者反之;再根据选定的路由算法(路由表)把各数据包按最佳路线传送到指定位置。
        6>防火墙,作为网络的流派,为网络安全运行提供保障,通过对防火墙设置安全规则实现对进出网络数据进行监视和过滤。
    网络协议:

计算机语言:
    1>呆板语言
    2>汇编语言
    3>高级语言
    4>建模语言,UML作为重要的建模语言,成为可视化建模语言的工业标准。UML的作用不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
UML的5种视图:
    1>用例视图(中心职位)
    2>逻辑视图(描述如何实现系统内部功能)
    3>进程视图(描述系统的并发性,并处理这些线程间的通信和同步)
    4>实现视图(描述系统代码构件构造和实现模块及它们之间的依靠关系)
    5>摆设视图(定位系统中软硬件的物理体系结构及毗连)

情势化语言
    Z语言,具有“状态-操作”风格的像是画规范说明语言,具备将数学进行结构化设计方式。
    情势化方法开发过程:按照软件工程“自顶向下,逐步求精”的原则,软件生命周期可分为可行性分析、需求分析、体系结构分析(将用户需求转换为计算机可以实现的目的系统)、详细分析、编码和测试发布6个阶段,情势化方法贯穿软件工程整个生命周期。
多媒体:
    音视频压缩方法有:
        1>有损压缩,解压缩后的数据与压缩前的数据不一致,在压缩过程中丢失一些人眼耳不敏感的图像或音频信息,这些丢失的信息是不可规复,有损压缩常见格式有:MP3、WMA、OGG等。
        2>无损压缩,压缩前和压缩后的数据完全一致,多数采用RLE行程编码算法。无损压缩常见格式:WAV、PCM、TTA、FLAC等。
    数据压缩技术,按类别分为:
        1>即时压缩和非即时压缩,即时压缩是将语音信号转化为数字信号,同时进行压缩,然后即时通过Internet传送出去。
        2>数据压缩和文件压缩,数据压缩包罗了文件压缩。
        3>无损压缩与有损压缩,无损压缩利用数据的统计冗余进行压缩,以是无损压缩的压缩比一样平常比较低。
    图像编码:静态图像压缩编码的国际标准(JPEG),是一种静态图像压缩和编码算法。动态图像视频编码标准(MPEG),面向运动图像压缩的标准。
    假造现实(VR)/ 增强现实(AR)技术:
        VR是一种可以创建和体验假造天下的计算机仿真系统,利用计算机天生一种模拟环境,使用户沉浸到该环境中。
        AR是把原本现实天下中很难体验到的实体信息(视觉、味觉、声音等),通过模拟仿真后,叠加到现实天下中被人类感官所感知。

系统工程(SE):
    系统工程是运用系统方法,对系统进行规划、研究、设计、制造、试验和使用的构造管理技术。
    生命周期方法:
        1)计划驱动方法,整个过程遵守规定流程的系统化方法。需求、设计、构建、测试、摆设。
        2)渐进迭代式开发(IID),该方法答应为项目提供一个初始本领,随之提供连续交付以达到期望的系统。该方法适合较小、不太复杂的系统。
        3)精益开发,目的是通过彻底消除生产线上的浪费,不一致性及不合理需求,高效地生产出优质产品。它是一个动态的、知识驱动的、以客户为中心的过程。
        4)灵敏开发,目的在于机动性、当风险可担当时答应从序列种排除特定变乱。
    基于模型的系统工程(MBSE):MBSE的三大支柱分别是建模语言(sysML)、建模工具、建模思路
    系统性能与性能评估:
        1>计算机性能指标有:时钟频率(主频)、运算速度、运算精度、内存存储容量、存储器的存取周期、数据处理速率、吞吐率、各种响应时间、各种利用率、完整性和安全性、平均故障时间、兼容性、可扩展性和性价比。
        2>路由器性能指标有:设备吞吐量、端口吞吐量,全双工线速转发本领等。
        3>交换机性能指标有:最大Mac地点表巨细、缓冲区巨细、最大ATM端口数等。
        4>网络性能指标有:设备级性能指标、网络级性能指标、应用级性能指标和吞吐量。
        5>操作系统性能指标有:系统响应时间、系统吞吐率、系统资源利用率、可靠性和可移植性。
        6>数据库管理系统性能指标:数据库巨细、数据库中表数量最大并发事务处理本领、负载均衡本领,最大毗连数等。
    加速比反映了使用增强部件后完成一个任务比不适用加快了多少,加速比取决于:
        1>在原有的计算机,能被改进并增强的部分在总实行时间中所占的比例,这个值称为增强比例,它永远小于1.
        2>通过增强的实行方式所取得的改进,这个值是在原来条件下步伐的实行时间与使用增强功能后步伐的实行时间之比。

基准测试步伐:
    4种评价步伐,正确度依次递减:真实的步伐、核心步伐、小型基准步伐和合成基准步伐。把应用步伐中用得最多,最频繁的那部分核心步伐作为评价计算机性能的标准步伐,称为基准测试步伐。
web服务器性能评估:
    最大并发毗连数、响应延迟和吞吐量等,常见的web服务器性能评测方法由基准性能测试、压力测试和可靠性测试。
2.2 考题总结:

2.2.1 嵌入式系统











2.2.2 计算机网络

条理化网络设计:(核心层、汇聚层、接入层):
三层模型将网络划分为核心层(在区域间高速转发数据分组,提供最优传送路径)、汇聚层(将网络业务毗连到接入层,并实验与安全、流量负载和路由相干的策略)、接入层(为局域网或终端用户访问网络提供接入)。核心层是互联网络的高速骨干,在设计中应采用冗余组件设计。


















2.2.3 软件构件、中间件









2.2.4 计算机操作系统









2.2.5 计算机内存


















2.2.6 计算机总线



2.2.7 系统性能








2.2.8 计算机指令:CISC(复杂指令集计算机)、RISC(精简指令集计算机)






2.2.9 计算机语言




2.2.10 系统工程


第三章:信息系统

3.1 重要知识点:

信息系统概念:
    信息系统是由计算机硬件、网络和通信设备、计算机软件、信息资源、信息用户和规章制度组成的以处理信息流为目的的人机一体化系统。
信息系统的5个基本功能:输入、存储、处理、输出、控制。
信息系统分类:
    1)业务处理系统(TPS),将计算机应用于企业局部业务的管理。
TPS,是最基础的信息系统,数据处理周期由5个阶段构成:
        1> 数据输入
        2>数据处理
        3>数据库维护
        4>文件报表产生
        5>查询处理

    2)管理信息系统(MIS),是由TPS发展而来, 是在TPS基础上引进了大量管理方法对企业整体信息进行处理, 并利用信息进行预测, 控制, 计划, 辅助企业全面管理的信息系统。
        管理信息系统由四大部件组成:
        1>信息源
        2>信息处理器
        3>信息用户
        4>信息管理者

        1>开环结构, 指在实行一个决策过程中不网络外部信息, 不根据信息环境改变决策, 直至产生本次决策的结果, 事后的评价只供以后的决策作参考.

        2>闭环结构, 指决策过程中不断网络信息, 不断发送给决策者, 不断调解决策.

    计算机及时处理系统均属于闭环系统, 而批处理系统均属于开环系统, 但对于一些较长的决策过程来说批处理系统也能构成闭环系统。
    一个管理信息系统可用一个功能/条理矩阵表现, 每一列表现一种管理功能, 每一行表现一个管理条理, 行列交叉表现一种功能子系统。

    3)决策支持系统(DSS),DSS是能帮助决策者利用数据和模型去解决半结构化决策题目和非结构化决策题目的交互系统。
        DSS由若干部件按一定结构组成, 部件不同或结构不同会构成功能略有差异的DSS, 但各种DSS结构都创建在某种基本模式之上. 如下图, 管理者处于核心职位, 运用自己的知识和经验, 结合决策支持系统提供的支持, 对其管理的"真实系统"进行决策。

    决策支持系统的组成:
        1>数据的重组和确认,从事务处理系统网络的数据必须经过重组和确认才华对决策支持有效。可以通过数据仓库实现。
        2>数据字典的创建,数据仓库是一个与作业层系统分离存在的数据库,通过对数据仓库的存取,管理者可以作出以究竟为根据的决策来解决很多业务题目。
        3>数据挖掘和智能体,数据仓库建成后,可以使用智能体工具对数据进行存取和查询(数据挖掘)。
        4>模型创建, 模型管理是的目的是帮助决策者理解和分析。
    4)专家系统(ES),是一个智能计算机步伐系统,应用人工智能技术,根据某领域一个或多个专家提供的知识和经验,模拟人类专家决策过程,以解决复杂题目。
        专家系统不同于传统应用步伐(数据结构+算法=步伐),也不同于其他范例的人工智能,重要表如今:
        1>属于人工智能范畴,解决的是半结构化或非结构化题目(传统步伐解决的是结构化题目), 必要应用启发法或弱方法来解决,不同于传统步伐算法。
        2>模拟的是人类专家在题目领域的推流(传统是通过创建数学模型模拟题目)
        3>专家系统由3个要素组成,描述题目状态的综合数据库、存放启发式经验知识的知识库,和对知识库的知识进行推理的推理机,三要素对应数据级、知识级、控制级(传统的至少有数据和步伐两级结构)
        4>处理的题目属于现实中必须具备人类专家才华解决的题目
        5>从求解的本领来看,专家系统拥有高性能,但通用性较差。
        专家系统适合完成那些没有公认理论和方法,信息不完整,人类专家短缺或专门知识相对昂贵的工作,诸如规划设计,医疗诊断、质量监控等。
        人工智能的重要分支:

        专家系统的组成:

        推理机和知识一起构成专家系统的核心,推理机是一组用来控制系统运行、实行各种任务、根据知识库进行各种搜索和推理的步伐模块。
        专家系统的常用推理方式有3种:
        1>正向推理或前向推理,数据驱动策略,从条件出发推出结论
        2>反向推流或逆向推理,目的驱动策略,先假设结论正确,再去验证条件是否满意。
        3>双向推理或肴杂推理,正向推理和反向推理同时进行,常用正向推理来确定各种假设的先后次序,用反向推理来验证假设是否成立。
    5)办公主动化系统(OAS),该系统将当代先进技术和设备应用于办公室的办公活动中,实现科学化、主动化以达到改善工作环境,提供工作服从。
        OAS重要功能有:
            1>事务处理
            2>信息管理
            3>辅助决策
    6)综合性信息系统,信息系统之间的关系不是取代关系,而是互相促进、共同发展的关系。在一个企业里,以上5个范例的信息系统,可能同时存在。如今企业重要使用的信息化系统重要有ERP(企业资源管理)、WMS系统(仓库管理系统)、MES系统(制造管理系统)、产品数据管理系统(PDM)。
        ERP是创建在信息技术基础上,利用现代企业的先进管理头脑,全面继续了企业的全部资源信息(物流、资金流、信息流),并为企业提供决策、计划、控制与经业务绩评估的全方位和系统化的管理平台。

信息系统的生命周期:
    1)产生阶段
    2)开发阶段
    3) 运行阶段
    4)消亡阶段
信息系统的建设原则:
    1)高层管理人员介入原则。首席信息官(CIO)
    2)用户参与开发原则
    3)自顶向下规划原则
    4)工程化原则
    5)其他原则,例如:创新性原则,用于体现系统先进性;整体性原则,用来体现系统完整性;发展性原则,用来体现系统超前性;经济性原则,用来体现系统实用性。
信息系统的开发方法:
    1)结构化方法,如今最成熟、最广泛的信息系统开发方法之一。结构化开发过程一样平常是先把系统功能视为一个大的模块,再根据系统分析设计的要求对其进行进一步的模块分解或组合。其基本头脑是将系统的生命周期划分为系统调查、系统分析、系统设计、系统实验、系统维护等阶段。结构化生命周期重要特点:
        1>开发目的清晰化, 遵照"用户第一"原则
        2>工作阶段步伐化, 工程内容明确,注重开发过程的控制.
        3>开发文档规范化, 结构化方法的每一阶段完成后,要按照要求完成相应的文档,以包管各个工作阶段衔接与系统维护工作的便利.
        4>设计方法结构化, 采用自上而下的结构化,模块化分析与设计方法,使各个子系统间相互独立,便于系统分析,设计,实现与维护.
    2) 原型法, 指根据用户需求,利用系统开发工具,快速创建一个系统模型显现给用户,在此基础上与用户交换,终极实现用户需求的信息系统快速开发方法.
    3) 面向对象方法, 面向对象的分析方法是利用面向对象的信息建模概念,如实体,关系,属性等,同时运用封装,继续,多态等机制来构造模拟现实系统的方法.传统的结构化设计方法基本点是面向过程,系统被分解成多个过程, 而在面向对象设计中,初始元素是对象,然后将具有共同特性的对象归类,构造类之间的等级关系,构造类库.在应用时,在类库中选择相应的类.
    4) 面向服务的方法, 面向对象的应用构建在类和对象上, 随后发展起来的建模技术将相干对象按照业务功能进行分组, 就形成了构建概念. 对于跨构建的功能调用,则采用接口情势, 进一步将接口的定义和实现进行解耦,便有了面向服务的开发方法.
典型的信息系统架构模型-电子政务:
    电子政务重要包括3个组成部分:
        1)当局部分内的电子化和网络办公
        2)当局部分间的信息共享和及时通信
        3)当局部分通过网络与居民之间的双向信息交换
    电子政务内容:
    围绕三个举动主体:当局与当局、当局与企业、当局与居民之间的互动构成5个不同、又相互关联的领域:
        1)当局与当局,中央当局与地方当局部分之间的互动
        2)当局对企业,包括当局对企业发布的各种政策
        3) 当局对居民,当局面向居民提供的服务
        4)企业对当局,企业面向当局的活动包括缴纳税款等
        5)居民对当局,包括个人缴纳税款等
企业信息化
    企业信息化目的在于进步企业的竞争力,企业信息化涉及:技术创新、管理创新、制度创新。
3.2 考题总结:

3.2.1 电子政务、电子商务




3.2.2 企业相干



3.2.3 ERP、CRM相干






3.2.4 信息系统














第四章:信息安全

4.1 重要知识点:

信息安全概念:
    信息安全包括5个基本要素:
    1)秘密性
    2)完整性(不被篡改)
    3)可用性(可访问)
    4)可控性(可控制信息流向及举动方式)
    5)可审查性(对出现的题目提供调查依据和本领)
    信息安全范围包罗:
    1)设备安全,包括:设备的稳固性(不出故障的概率)、可靠性(正常实行任务概率)、可用性(正常使用的概率)
    2)数据安全,包括:数据的秘密性、数据的完整性、数据的可用性(随时能正常使用)
    3)内容安全,包括:在政治上是健康的、符正当律法规、符合道德规范。
    4)举动安全,包括:秘密性、完整性、可控性
网络安全:
    网络安全威胁重要表如今:
    1>非授权访问
    2>信息走漏或丢失
    3>粉碎数据完整性, 恶意添加、修改数据,干扰用户正常使用
    4>拒绝服务攻击,正当用户不能进入系统和得到相应服务
    5>利用网络流传病毒
    安全措施的目的,包括以下几个方面:
    1>访问控制
    2>认证
    3>完整性
    4>审计,确保任何繁盛的交易在事后可以被证实
    5>保密
信息安全系统的组成框架:
    信息系统安全系统框架的通常由下面内容共同构建:技术体系、构造机构体系、管理体系。
信息加解密技术:

    对称密钥加密算法:DES、IDEA、AES
        加密密钥和解密密钥是相同的,称为共享暗码算法或对称密钥算法。
    DES (数据加密标准):
        明文被分成64位的块,对每个块进行19次变更(替换和换位)

    三重DES是对DES的改进算法,使用两把密钥对报文进行三次DES加密。
        密钥K1,K2的操作步骤:
            1> 用密钥K1进行DES加密
            2> 用K2对1>的结果进行DES解密
            3> 对2>的结果使用密钥K1进行DES加密
    IDEA(国际数据加密算法):
        使用128位密钥,把明文分成64位的块,进行8轮迭代加密,它可以使用软件或硬件实现,比DES快。IDEA是在DES算法的基础上发展出来的,类似于三重DES,发展IDEA也是由于感到DES具有密钥太短等缺点. IDEA的目的是提供比DES更强的安全性,并且保持相似的计算复杂度。
    AES (高级加密标准):
        作为DES加密算法的替换方案,提供的安全级别足以保护未来20~30年内的数据,可以通过软件或硬件实现。
    非对称密钥加密算法:RSA
        加密密钥和解密密钥不同称为不共享密钥算法或非对称密钥算法。用公钥加密,私钥解密可以实现保密通信。用私钥加密,公钥解密,可以实现数字署名。
    RSA,最有名的非对称加密算法 (公钥加密,私钥解密)。
    密钥管理学:
        KDC密钥分发协议
        公钥加密体制的密钥管理
        公钥加密分配单钥暗码体制的密钥
    访问控制与数字署名:
        访问控制包括3个要素:主体(S或U)、客体(O)和控制策略(KS)。
        访问控制包括3个方面内容:认证(主客互为认证)、控制策略实现(主体对客体的访问规则集)、审计(对管理员的举动记载等)
        访问控制的实现技术:
            1>访问控制矩阵,通过矩阵情势表现访问控制规则和授权用户权限的方法。
            2>访问控制表,如今使用最多的访问控制技术,每个客体有一个访问控制表,是系统中每一个有权访问这个客体的主体的信息。现实上是按列保存访问矩阵。
            3>本领表,每个主体有个本领表,是该主体对系统中每个客体的访问权限信息。现实上是按行保存访问矩阵。
            4>授权关系表,按主体排序,查询时就能得到本领表,按客体排序,查询时就能得到访问控制表。既不对应行也不对应列的访问矩阵实现技术。
    数字署名:
        1>对称密钥署名:
使用相同的密钥进行署名和验证过程的数字署名,优点是容易实现互换使用,缺点是密钥暴露,系统变得不安全。(可推导)

        2>公开密钥署名:
        在公钥暗码系统中,加密密钥和解密密钥是不同的。

        实践中,对长文件署名采用公钥暗码算法服从太低,以是要和快速高效的摘要算法(hash函数)一起使用。这个过程是:首先用摘要算法对消息进行摘要,然后在把摘要值用信源的私钥加密;接收方先把接收的明文用同样的摘要算法摘要,形成“准签体”,然后再把准签体与用信源的公钥解密出的“签体”进行比较,假如相同就认为消息是完整的,否则消息不完整。
    抗攻击技术:
        密钥分为两类:数据加密密钥(DK)、密钥加密密钥(KK)
        密钥天生必要思量三方面因素:增大密钥空间、选择强钥、密钥的随机性,好的天生密钥是一个随机位串。
        1) 拒绝服务攻击:
            传统拒绝服务攻击 (DoS)
            分布式拒绝服务攻击 (DDoS)
            拒绝服务器攻击的防御方法:
            1>增强对数据包的特性识别
            2>设备防火墙监视本地主机端口的使用环境
            3>对通信数据量进行统计
            4>尽可能的修正已发现的题目和系统漏洞
        2) 欺骗攻击:
            ARP欺骗
            ARP原理:A向C发送报文,假如本地ARP表有C的IP对应的MAC地点,就会通过该MAC地点进行数据传输。假如没有,就会发送一个ARP请求的广播包(带有自己的MAC和想要访问的IP),主机C在接收到广播包后,就会向A回复带有自己MAC信息的ARP相应报文,A收到相应报文后就会更新自己的ARP缓存,同时用C的MAC进行数据传输。
            ARP欺骗过程:

        ARP欺骗防范措施:
            1> 输入命令固化ARP表,阻止ARP欺骗,命令为:arp -s gate-way-ip gate-way-mac
            2> 使用ARP服务器
            3> 使用双向绑定的方法解决并且防止ARP欺骗
            4>ARP防护软件-ARP Guard
        DNS欺骗
            DNS欺骗原理:
            假冒域名服务器,然后把查询的IP地点设为攻击者的IP地点,用户上网只能看到攻击者的主页,它不是真的黑掉网站,而是冒名顶替。

            DNS欺骗的检测,根据本领不同,分为:
                1>被动监听检测,通过旁路监听方式,捕获全部DNS请求和应答数据包,并为其创建一个请求应答映射表,假如在一定时间隔断内,一个请求对应两个或两个以上结果不同的应答包,则怀疑是DSN欺骗攻击。
                2>虚假报文探测,通过主动向一个非DNS服务器发送探测包,正常来说是不会收到应答,但是攻击者不会验证是否是正当DNS服务器,要继续欺骗,会发送它的应答包,说明收到攻击了。
                3>交叉查抄查询,客户端在收到DNS应答包之后,向DNS服务器反向查应答包中返回IP地点所对应的DNS名字,假如二者一致则说明没有收到攻击。
        IP欺骗
            IP地点欺骗是指举措产生的IP数据包为伪造的源IP地点,以便假冒其他系统或发件人的身份。这是一种黑客的攻击情势,黑客使用一台计算机上网,而借用另外一台呆板的IP地点,从而假冒另外一台呆板与服务器打交道。

            IP欺骗的防范:
                1.删除UNIX中全部的/etc/hosts.equiv, $HOME/.rhosts文件,修改/etc/inetd.conf文件,使得RPC机制无法应用
                2.设置防火墙过滤来自外部而信源地点却是内部IP的报文
        3) 端口扫描:
            端口扫描原理:
                端口是由TCP/IP协议定义,用IP和端口作为套接字,成为socket,IP:端口来定位一台主机的进程,端口相称于两台计算机进程间的大门。端口扫描就是实验与目的主机的某些端口创建毗连,假如目的主机该端口有回复,则说明该端口开放,即为活动端口。
                扫描原理分类:
                1>全TCP毗连,经过三次握手,会被目的主机记载,方法古老。
                2>半打开式扫描(SYN扫描),扫描主机发送SYN数据段,目的主机假如回应SYN=1,ACK=1,则表现端口是活动的,则扫描主机发送一个RST给目的主机拒绝TCP毗连;假如目的主机回应的是RST则端口是死的,扫描主机不会做反应。由于毗连未创建,以是大大降低被记载的可能。
                3>FIN扫描,扫描主机发送一个FIN=1的TCP报文,假如端口是关闭的,报文会被丢掉,并返回一个RST报文。假如端口是活动的,不会返回任何反应。这种没有涉及TCP毗连部分,比前两种安全,称为秘密扫描。
                4>第三方扫描,利用第三方主机(被入侵的主机,肉鸡)来代替入侵者进行扫描。
        4) TCP/IP堆栈攻击:
            1> 同步包风暴 (SYN Flooding),是当前最盛行的DoS与DDos的攻击方式之一
            原理:
                TCP三次握手,用户向服务器发送SYN报文请求后突然死机,服务器发出SYN+ACK应答报文后无法收到客户端的ACK报文(第三次握手无法完成),这种环境服务器会重试,并等待一段时间(SYS Timeout:30s-2min)后丢弃这个未完成的毗连,假如大规模模拟这种环境,服务器的TCP/IP就会溢出瓦解,服务器失去响应。
                2> ICMP攻击
                原理:
                    ICMP协议是TCP/IP协议会合的一个子协议,重要用于主机与路由器之间通报控制信息,包括陈诉错误、交换首先控制和状态信息等。ping命令通过发送ICMP回应请求信息并记载收到ICMP回应的回复消息,来判断主机或网络故障。“ping of Death”攻击利用ICMP数据最大尺寸不高出64KB,达到使TCP/IP堆栈瓦解。
                3> SNMP攻击
                原理:
                    SNMP 是TCP/IP网络中标准的管理协议,它答应网络中的各种设备和软件,包括交换机、路由器等,管理软件通信,陈诉当前的举动和状态,入侵者一旦入侵成功,就能管理你的网络。
    5) 系统漏洞扫描:
        1> 基于网络的漏洞扫描器
        2> 基于主机的漏洞扫描器
信息安全的保障体系与评估方法:
    计算机系统安全保护本领的5个等级:
        1)第1级:用户自主保护级(C1), 计算机信息系统可信计算基通过隔离用户与数据 ,对用户实验访问控制,避免其他永固对数据非法读写与粉碎
        2)第2级:系统审计保护级(C2),计算机信息系统可信计算基实验了粒度更细的自主访问控制, 通过登录规程、审计安全性相干变乱和隔离资源,使用户对自己的举动负责。
        3)第3级:安全标志保护级,计算机信息系统可信计算基具有审计保护级全部有功能, 具有2级全部功能外,还提供有关安全策略模型、数据标志以及主体对客体强制访问控制的非情势化描述;具有正确标志输出信息的本领;消除通过测试发现的任何错误。
        4)第4级:结构化保护级,计算机信息系统可信计算基创建在一个明确定义的情势化安全策略模型之上,它要求将第3级别的自主和强制访问控制扩展到全部主体与客体。此外,还思量隐蔽通道,接口明确定义,设计与实现经过更充分的恶测试与更完整的复审。
        5)第5级:访问验证保护级,计算机信息系统可信计算基满意访问监控器需求。支持安全管理员职能,扩充审计机制,提供系统规复机制,系统具有很高的抗排泄本领。
    风险评估的基本要素为:脆弱性, 资产, 威胁, 风险和安全措施, 与这些要素相干的属性分别为业务战略, 资产价值, 安全需求, 安全变乱和残余风险.
4.2 考题总结:

4.2.1 信息安全


4.2.2 网络安全










4.2.3 加密算法



4.2.4 数字证书、证书认证




第五章:软件工程

5.1 重要知识点:

软件工程定义:
    软件工程过程是指为获得软件产品,再软件工具的支持下由软件工程师完成的一系列软件工程活动,包括:
        1)软件规格说明(P/plan)
        2)软件开发 (D/Do)
        3)软件确认 (C/Check)
        4)软件演进 (A/Action)
    软件过程模型
        1)瀑布模型:
        前一个阶段工作的输出结果,是后一个阶段工作的输入。

        2)原型模型(快速模型):
            软件开发人员根据用户提出的软件系统定义,快速开发一个原型。该原型包罗目的系统关键题目和反映目的系统大致面目,显现目的系统的全部或部分功能、性能等。

        3)螺旋模型:
            是在快速原型的基础上扩展而成,这种模型把整个软件开发阶段分成多个阶段,每个阶段由4部分组成:
            1>目的设定,进行需求分析,确定目的,制定计划
            2>风险分析,进行风险识别和详细分析,制定解决办法
            3>开发和有效性验证,选择开发模型,进行原型开发
            4>评审,确定是否进入螺旋线的下一次回路,是的话就要制定下一阶段计划。
            螺旋模型是上诉4个部分的迭代过程,每迭代一次就增加一圈,天生一个新版本,经过若干次迭代后,成为目的版本。该模型支持大型软件开发,适用于面向规格说明、面向过程和面向对象的软件开发方法,也适用于会合开发方法的组合。

    灵敏模型:
        灵敏方法的特点:
            以产品为中心,注重结果而不强调过程;快速响应需求变更,拥抱变革。
灵敏型开发区别于重型开发(长时间计划后开发)与计划驱动(开发人员服从一个过程)方法的两个特点:
            1>适应性和预设性,接待变革,答应改变自身来适应变革
            2>面向人而非面向过程,开发人员和管理人员在一个软件项目中有同等的领导职位,共同对整个开发过程负责。灵敏开发强调开发中相干人员主动交换,提测直接的面对面交换。灵敏开发一样平常按照高内聚、低耦合的原则将项目划分成若干个小组,以增加沟通,进步灵敏性及应变本领。
        重要的灵敏方法:
            1>极限编程(XP)
            2>水晶系列方法
            3>Scrum
            4>特性驱动开发方法(FDD)
    统一过程模型(RUP):
        RUP描述了如何有效利用商业的、可靠的方法开发和摆设软件,是一种重量级过程。
        RUP的软件开发生命周期是一个二维的软件开发模型,RUP有9个核心工作流:
        1)业务建模,理解开发系统的机构及其商业运作,确保参与人员对开发系统的机构有共同认识
        2)需求,定义系统功能及用户界面,使客户知道系统功能,使开发人员理解系统需求
        3)分析与设计,需求分析结果转化为分析与设计模型
        4)实现,对开发代码做单元测试,将不同的开发模块集成可实行系统
        5)测试
        6)摆设
        7)设置与变更管理,跟踪并维护系统开发过程中产生的全部制品的完整性和一致性。
        8)项目管理,为软件开发项目提供计划,人员分配、实行、监控等方面引导,为风险管理提供框架。
        9)环境,为软件开发机构提供软件开发环境
        RUP把软件开发周期划分为多个循环,每个循环产生一个新版本,每个循环依次由4个阶段组成:
        1)初始阶段,定义终极产品视图和业务模型
        2)细化阶段,设计系统的体系结构,制定工作计划
        3)构造阶段,构造产品并继续演进需求、体系结构、计划直至产品提交
        4)移交阶段,把产品交给客户
    每个阶段有个里程碑评估该阶段的工作,如未能通过,则决策者要做出决定取消照旧继续项目工作。
        RUP中的核心概念:
        1)脚色,who的题目, RUP预先定义了很多脚色,例如体系结构师、设计人员、实现人员、测试和设置管理人员等。
        2)活动,how的题目, 活动是一个有明确目的的独立工作单元
        3)制品, what的题目,制品是活动天生、创建和修改的一段信息(产品、工件)。
        4)工作流,when的题目,描述了一个有意义的连续活动序列,每个工作流产生一些有价值的产品。
        RUP的特点:
        RUP是用例驱动的、以体系结构为中心、迭代和增量的软件开发过程。特点有:
        1)用例驱动,用例(Use Case)是一种通过用户的使用场景获得需求的技术。用例驱动指的是在软件开发过程中,采用用例方法捕获及分析业务需求,并确保由它们来驱动软件的设计、实现和测试,使终极系统更能满意终极用户的必要。
        2)以体系结构为中心,RUP的开发活动围绕体系结构(构件的集合)睁开,体系结构的设计必要思量多方面题目(例如系统功能、性能、可移植可修改、开发时间等),因此它是个多维结构,RUP采用4+1视图来描述软件体系结构:

        3)迭代与增量,把整个项目开发分成多个迭代过程,每次迭代,只思量一部分需求进行分析、设计、实现、测试与摆设过程,终极完成整个项目,优点是对早期风险可控、适合处理需求变更、鼓舞士气增加信心等。
软件本领成熟度模型(CMM):
    CMMI是软件本领程度模型集成是在CMM的基础上发展而来,重要用于引导软件开发过程的改进和进行软件开发本领的评估。
    CMMI提供了一个软件本领成熟度的框架,它将软件过程改进的步骤构造成5个成熟度等级,共包括18个关键过程域,52个过程目的,3168种关键时间。
    1)Level 1 初始级,过程随意且杂乱,依靠于构造内人员的本领,能产出产品,但是经常高出计划预算和成本。
    2)Level 2 已管理级,意味着构造要确保策划、文档化、实行、监视和控制项目级的过程,并且必要为过程创建明确目的、并能实现成本、进度和质量目的等。
    3)Level 3 已定义级,企业可以或许根据自身的特殊环境定义适合自己企业和项目的标准流程,将这套管理体系于流程制度化,同时企业开始进行项目积聚,企业资产的网络。
    4)Level 4 量化管理级,构造创建了产品质量、服务质量以及过程性能的定量目的,与级别3区别在对过程性能的可预测。
    5)Level 5 优化级,关注于通过增量式的与创新式的过程与技术改进,不断改进过程性能,处理级别5,构造使用从多个项目网络的数据对整体的构造级绩效进行关注。
需求工程:
    需求工程的目的:确定客户需求,定义假想中系统的全部外部特性,它的活动重要划分为几个阶段:
    1)需求获取
    2)需求分析
    3)形成需求规格书
    4)需求确认与验证
    5)需求管理,包括需求文档的追踪管理、变更控制、版本可控制等管理性活动。

    需求获取的基本步骤:
    1)开发高层的业务模型,假如对领域充分了解,可以创建业务模型,描述用户业务过程,确定用户初始需求,通过迭代,深入应用领域,该进业务模型。
    2)定义项目范围和高层需求,项目范围描述参与者(包括人、设备等)之间的关系,高层需求不涉及过多细节,重要表现系统需求的概貌。常见的有系统上下文图和系统顶层用例图等。
    3)识别用户脚色和用户代表,确定全部涉众,包括用户脚色(可以是人或部件)和用户脚色代表(熟悉部件的人)
    4)获取具体的需求,获取每个涉众的具体、完整和详细的需求。
    5)确定目的系统的业务工作流,开发前确定系统的业务工作流和重要业务规则。
    6)需求整理与总结,末了对上面步骤的需求资料进行整理和总结。
    需求获取的方法:
    1)用户面谈
    2)需求专题讨论会,开会集体讨论
    3)问卷调查,可用于确认假设和网络统计倾向数据,它一样平常作为完成最初的面谈和分析后的一项协作技术。
    4)现场观察,通过观察用户现实实行业务的过程,来直观了解业务的实行过程。
    5)原型化方法,通过开发系统原型以及和用户多次迭代反馈,积极而早期阶段不确定的题目。
    6)头脑风暴法,新业务扩展项目,通过参会者敞开头脑使各种假想碰撞中激起头脑风暴,从而确定具体需求。
    需求变更管理过程:

    变更控制委员会(CCB):
        由用户和实验方的决策人员组成,是决策机构,不是作业机构,通过评审本领决定项目是否能变 更,但不提变更方案。
    需求跟踪的两种方式:
    1)正向跟踪,根据查抄《产品需求规格说明书》中的每个需求是否都能在后续工作成果中找出对应点。
    2)逆向跟踪,查抄设计文档、代码、测试用例等工作成果是否都能在《产品需求规格说明书》中找到出处。
    系统分析与设计:
        系统分析是应用系统头脑和方法,把复杂的对象分解为简朴的组成部分,找出这些部分的基本属性和相互之间关系的过程。系统设计包括概要设计与详细设计。
结构化方法:
结构化分析 (SA):
    给出一组帮助系统分析人员产生功能规约的原理与技术,它一样平常利用图形表达用户需求。
    步骤有:
    1>分析业务环境,做出反映当前物理模型的数据流图(DFD)
    2>推导出等价的逻辑模型的DFD
    3>设计新的逻辑系统,天生数据字典和基元描述
    4>创建人机接口,提出可供选择的目的系统物理模型DFD
    5>确定各种方案的成本和风险等级,据此对各种方案进行分析
    6>选择一种方案
    7>创建完整的需求规约
    结构化分析的常用本领是:
    1>数据流图(DFD),DFD由4种基本元素组成:
        1.数据流,用箭头表现,表现数据流向
        2.处理,用矩形框表现,表现数据进行的加工和转换。
        3.数据存储,表现用数据库(或文件)情势存储数据,对其进行的存储分别以指向或者离开数据存储的箭头表现
        4.外部项,数据源或者数据终端,用圆角框或平行四边形框表现。
    2>数据字典
        数据字典的作用是给数据流图DFD上每个元素加以定义和说明
结构化设计(SD)
    结构化设计是一种面向数据来的设计方法,以SRS和SA阶段所产生的数据流图和数据字典等文档为基础,自顶向下、逐步求精和模块化的过程。SD方法的基本头脑是将软件设计成由相对独立且具有单一功能的模块组成结构,分为概要设计(对系统进行模块划分,确定模块功能、接口和模块之间的调用关系)和详细设计(为每个模块设计实现细节)两个阶段。
    模块结构:
        紧密耦合表现模块之间的接洽非常强,松散耦合表现模块之间接洽比较弱,非直接耦合表现模块之间无任何直接接洽;一样平常来说,各模块内聚高,模块间的耦合就低,但不是绝对,在模块分解中遵照"高内聚、低耦合"的设计原则。
内聚,表现模块内部各代码成分之间接洽的紧密程度,一个好的内聚模块只做目的单一的一件事。
结构化编程(SP)
    结构化步伐设计采用自顶向下、逐步求精的设计方法,各个模块通过"顺序、选择、循环"的控制结构进行毗连,并且只有一个入口和一个出口。
面向对象方法 (OO):
面向对象分析(OOA):
    OOA原则包括:
    1>抽象,(共同特性)包罗过程抽象和数据抽象两方面
    2>封装,隐藏对象内部细节
    3>继续
    4>分类,把相同属性和服务划分为一类,用类来作为这些对象的抽象描述。
    5>聚合,把复杂事务看成若干个简朴的事物的组装体,从而简化对复杂事物的描述
    6>关联,通过一个事物遐想到另外的事物。
    7>消息通信,对象之间只能通过消息通信,不答应对象之外直接存取对象内部属性
    8>粒度控制,控制视野,思量全局时,注意大的组成部分,思量某部分细节时,暂时撇开其他部分。
    9>举动分析
OOA的基本步骤:
    1)确定对象和类
    2)确定结构
    3)确定主题
    4)确定属性
    5)确定方法
面向对象设计(OOD):
    是OOA方法的延续,基本头脑包括抽象、封装和可扩展性(重要通过继续和多态实现)。设计类在OOD中最重要的组成部分,在OOD种,类可以分为3种范例:
    1)实体类,实体类映射需求中的每个实体
    2)控制类,用于控制用例工作的类,例如身份验证
    3)边界类,用于封装在用例表里流动的信息或数据流,它位于系统与边界的交接处,包括窗体、打印机等硬件接口以及其他系统的接口。
面向对象编程(OOP):
    OOP达到软件工程的3个目的:重用性、机动性和扩展性。OOP=对象+类+继续+多态+消息,此中核心概念是类和对象。
OOP的基本特点:
    1)封装,把数据和操作封装到类中,封装的最基本单位是对象,它是实现"高内聚、低耦合"所必要实现的最基本目的。
    2)继续,指一个对象针对与另一个对象的某些独有的特点、本领进行复制或延续。按继续源划分,可分为单继续、多继续;按包罗内容划分,可分为取代继续、包罗继续、受限继续、特化继续。
    3)多态,指当多个对象同时收到同一个完全相同的消息后,所表现出不同的动作。
软件测试:
测试方法:
    以测试过程中步伐实行状态为依据,可分为:
        静态测试(ST),被测步伐不实行,只通过对软件的需求规格说明书、设计说明书以及源步伐做结构分析和流程图分析,找堕落误。
        动态测试(DT),通过运行被测步伐,对得到的运行结果与预期结果进行比较分析,同时分析运行服从和健壮性能等。分为三步骤:构造测试实例,实行步伐以及分析结果。
    以具体实现算法细节和系统内部结构的相干环境分为:
        1)黑盒测试,将被测步伐看成一个黑盒,不思量任何步伐内部结构和特性下,根据需求说明书设计测试用例,查抄步伐功能是否正确运行。重要是对软件界面和软件功能进行测试。黑盒测试必须加以量化才华有效包管软件质量。
        2)白盒测试,重要借助步伐内部的逻辑和相干信息,通过检测内部动作是否按设计规格说明书设定进行,查抄每一条通路能否正常工作。白盒测试是从步伐结构方面出发对测试用例进行设计。常用的白盒测试法有控制流分析、数据流分析、路径分析、步伐变异等。根据测试用例的覆盖程度,分为语句覆盖、判断覆盖、分支覆盖和路径覆盖等。
        3)灰盒测试,介于黑白盒之间,它只是简朴靠一些象征的现象判断其内部运行环境,内部出现错误,输出正确可以采用灰盒测试方法,它比白盒高效,比黑盒适用性广。
    以步伐实行的方法分类,分为:
        1)人工测试(MT)
        2)主动化测试(AT),将人驱动的测试举动转化为及其实行。
测试阶段:
    按阶段分为:
    1)单元测试,对软件模块进行测试,可以通过黑盒测试方法提出基本的测试用例,再用白盒测试方法进行验证。若用黑盒测试提出的测试用例不完整,可采用白盒增补新的测试用例。
    2)集成测试,对组装后的模块同时进行测试,一样平常采用黑白盒结合的方法进行测试。
    3)系统测试,一样平常环境下,系统测试采用黑盒测试,重要测试内容跟包括:
        1>功能测试
        2>性能测试,通过主动化测试工具模拟多种负载条件对系统各项性能指标进行测试。负载测试和压力测试,都属于性能测试。
        3>验收测试,末了一个阶段的测试,是由用户对要交付软件开展的一种测试工作。通过验收测试,软件可进行发布。Alpha测试是在开发内部的用户模拟现实操作环境下的测试,开发人员在该环境中。Beta测试是由软件的多个用户在现实使用环境中进行的测试,开发人员不在测试现场,通过用户记载题目后反馈给开发人员。一样平常Alpha测试先于Beta测试,通过Beta测试后就可以正式发布。
净室软件工程 (CSE):
    是一种应用数据域统计学理论以经济的方式生产高质量软件的工程技术。CSE不是先制作一个产品,再去消除缺陷,而是要求在规约和设计中消除错误,以"净"的方式制作,降低开发风险。通过第一次正确书写代码增量,并测试前验证它们正确性,来避免错误。它提倡开发者不必要进行单元测试,而是进行正确性验证和统计质量控制。净室是针对高质量软件生产的。
    技术本领重要有4种:
        1)统计过程控制下的增量式开发
        2)基于函数的规范与设计,采用盒子结构(黑盒开始,被转化为状态盒,末了由明盒实现)
        3)正确性验证
        4)统计测试和软件验证
    应用与缺点:
        1)CSE太理论化,必要更多的数学知识.
        2)CSE开发小组不进行传统模块测试不现实
        3)CSE究竟脱胎于传统软件工程,不可避免带有传统软件工程的毛病
基于构件的软件工程 (CBSE):
    是一种基于分布对象技术、强调通过可复用构件设计与构造系统的软件复用途径。CBSE体现了”购买而不是重新构造“的哲学,将软件开发的重点从步伐编写转移到基于已有构件的组装,以更快地构造系统。工程师的核心从实现酿成了集成,开发可复用软件组件来满意共性的软件系统。
    构件组装指构件相互就直接集成或是用专门编写的”胶水代码“将它们整合在一起创造一个系统或另一个构件的过程。
    常见的组装构件有3种方式:
    1)顺序组装,上个构件的输出,与下个构件的输入,通过胶水代码整合
    2)条理组装,一个构件直接调用由另一个构件所提供的服务。
    3)叠加组装,两个或两个以上的构件放在一起创建一个新的构件。
对于接口不兼容环境,一样平常通过编写适配器构件使两个可复用构件接口相一致。
软件项目管理:
    软件管理是为了使软件项目可以或许按照预定的成本、进度、质量顺利完成,而对人员、产品、过程和项目进行分析和管理的活动。
工作分解结构 (WBS):
    把一个项目按一定的原则分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的一样平常活动中。(项目—>任务—>工作—>一样平常活动)
软件设置管理(SCM):
    目的是为了标识变更、控制变更、确保变更正确实现并向其他有关人员陈诉变更。
    软件设置管理核心内容包括:
    1)版本控制,记载文件更改内容,每次更改,版本号增加;并行开发,通过分支归并解决题目
    2)变更控制,不是控制变更发生,而是对变更进行管理,确保变更有序进行。
软件质量包管(SQA):
重要任务:
    1)SQA审计与评审,包括对工作产品、软件工具和设备的审计,评价是否符合标准。
    2)SQA陈诉,SQA人员记载结果,写入陈诉,发布给相干人员。
    3)处理不符合题目,SQA人员要对工作中发现的题目及时向有关人员反映。
软件质量认证:
    用于检测整个企业的质量水平,如今国内软件企业重要采用:
    1)ISO 9000认证
    2)CMM认证
5.2 考题总结:

5.2.1 软件测试


















5.2.2 需求工程









5.2.3 灵敏方法、灵敏开发、灵敏模型


5.2.4 项目管理











数据资产的特性包括:可增值或贬值、可共享、可控制、可量化、可变现。
5.2.5 面向对象






5.2.6 过程本领成熟度模型(CMM)




5.2.7 软件统一开发过程(RUP)







5.2.8 软件过程模型







5.2.9 净室软件工程(CSE)



5.2.10 系统分析与设计






5.2.11 软件设计、软件开发方法、开发工具









5.2.12 基于构件的软件工程(CBSE)


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/15

5.2.13 软件维护


第六章:数据库设计

6.1 重要知识点:

数据库存储体系分类:
    1>关系型数据库,是最传统的数据库范例,是把复杂的数据结构归结未简朴的二元关系,表之间有各种关系,通过对这些关联表格进行分类、归并、毗连或选取等运算来实现数据库的管理。
    2>键值数据库,是一种非关系型数据库,使用简朴的键值来存储数据。(map存储等)
    3>文档数据库,可以存放并获取文档,可以是XML、JSON、BSON等格式,这些文档具备可述性,出现树状结构,包罗映射表、集合和纯量值。文档数据库所存放的文档,相称于键值数据库所存放的值。
    4>搜索引擎数据库,应用在搜索引擎领域的数据存储情势,由于搜索引擎会爬取大量数据,并以特定格式进行存储,如许检索性能最优。
关系数据库设计步骤:
    1>数据需求分析,重要参与人员是分析人员与用户,分析和表达用户需求的方法重要包括自顶向下和自底向上两类方法。自顶向下的结构化分析(SA)是从最上层的系统构造机构入手,采用逐层分解方式分析系统,并把每一层用数据流图和数据字典描述,以获得用户对系统的信息要求(保存哪些信息)、处理要求(什么样的操作功能)、系统要求(安全性包括用户权限等,使用环境等)。
    2> 概念结构设计,目的是产生反映系统信息需求的数据库概念结构,描述概念模型较抱负的工具是E-R图。
    3>逻辑结构设计,进行数据模型设计,可以是条理、网状模型和关系模型。重要任务是确定命据模型,将E-R图转换为关系模式,确定完整性约束,确定用户视图。
    4>物理结构设计,对已确定的数据逻辑结构,采用DBMS所提供的方法与技术,以较优的存储结构和数据存取路径、合理的数据存放位置与存储分配,设计出一个高效、可实现的数据库物理结构。
    5>应用步伐设计,是DBMS的二次开发,一方面是对用户信息的存储,另一方面是对用户处理要求的实现。要做的工作有选择设计方法、制定开发计划、选择系统架构和设计安全性策略。设计方法有结构化设计方法和面向对象设计方法两种。安全性策略重要指硬件平台、操作系统、数据库系统、网络及应用系统的安全。
    6>运行维护,要做的工作有数据库的转储和规复,数据库的安全性和完整性控制,数据库性能的监视、分析和改造,数据库的重组和重构等。
    分布式数据库4层结构模式:

数据库系统与数据库管理系统:
    数据库系统(DBS)是一个采用了数据库技术,有构造地、动态存储大量相干联数据,方便多用户访问的计算机系统。
    数据库管理系统(DBMS)是数据库系统的核心软件,由相干联的数据集合和一组用以访问这些数据的软件组成。
    常用数据库管理系统:
    1>MySQL, 小型关系数据库管理系统。
    2>Access,小型关系数据库管理系统。
    3>Oracle, 适用于大型、中型和微型计算机的关系数据库管理系统。
    4>IBM DB2
大型关系型数据库平台,DB2采用多进程多线索体系结构,可运行在多种操作系统之上。
    5>Sybase,C/S结构的关系数据库系统,是天下上第一个真正基于C/S结构的RDBMS产品。
    6>Microsoft SQL Server,是一种典型的关系型数据库管理系统,可运行于多个操作系统上。
数据库三级模式:
    从数据库管理系统的角度,数据库也分为三级模式,分别是外模式(提供给用户)、概念模式(提供毗连这南北极模式的中间观点)、内模式(存储在磁盘)。

关系数据库概念:
    关系模型是关系数据库的基础,由关系数据结构、关系操作集合和关系完整性规则3部分组成。
关系数据库管理系统(RDBMS)
    关系的基本术语:
    1)属性(事物特性,例如学号)
    2)域(取值范围,例如学号的域是6为整型数)
    3)目或度(指属性的个数)
    4)候选码(可以唯一标识一个关系中元组的属性集合)
    5)主码(有多个候选码,选定此中一个作为主码)
    6)主属性(包罗在候选码中的属性)
    7)外码(外码的定义是在一个表中创建一个外键,该外键与另一个表中的主键关联。)
    8)全码(若关系中只有一个候选码,且这个候选码中包罗全部属性,则该候选码为全码)
    9)笛卡尔积
        例如,假如集合A={1,2,3},集合B={a,b,c},那么集合A和集合B的笛卡尔积就是{(1,a),(1,b),(1,c),(2,a),(2,b),(2,c),(3,a),(3,b),(3,c)}。
  1. 候选码:可以用树形图推导
  2. 保持函数依赖:F=F1并F2
  3. 无损连接2个U:(R1∩R2)→(R1–R2)、(R1∩R2)→(R2–R1)
  4. 多个就看有没从F关系,直接分成F1、F2...
复制代码
关系的完整性约束,分为3类:
    1)实体完整性,要求每个数据表都必须有主键,而作为主键的全部字段,其属性必须是唯一且非空值。
    2)参照完整性

    关系型数据库的关系运算:

    1)并:求并就是将两个关系的元组合起来,有重复的就保留一个
    2)交:R1∩R2就是保留R1与R2中都有的元组
    3)差:R1-R2就是从R1中删去R2中有的元组
    4)广义笛卡尔积:
假设集合A={0, 1},集合B={a, b, c},则两个集合的笛卡尔积为{(0, a), (0, b), (0, c), (1, a), (1, b), (1, c)}。
    5)投影 π








6.2 考题总结:

6.2.1 关系运算与数据库范式












6.2.2 数据库相干概念










6.2.3 数据库设计:E-R图





第七章:架构设计

7.1 重要知识点:

软件架构概念:
    软件架构的定义:软件架构设计通常思量到设计金字塔中的两个条理:数据设计(封装属性和操作)、体系结构设计(关注构件结构、属性、交互)。
软件架构设计与生命周期:
    1)需求分析阶段,需求分析和SA设计面临两个不同对象:题目空间、解空间,保持两者的可追踪性和可转换性,在需求阶段分析SA,有助于SA的概念贯穿整个软件生命周期。
    2)设计阶段,是SA研究关注最早和最多的阶段,有关SA模型描述的研究分为3个条理:SA基本概念、体系结构描述语言(ADL)、SA模型多视图表现(典型的包括4+1模型:逻辑视图、进程视图、开发视图、物理视图)。
    3)实现阶段,典型方法:在SA模型引入步伐设计语言等、通过模型转换,将高层SA模型逐步精化、封装底层细节,使之称为较大粒度构件。
    4)构件组装阶段,研究内容:如何支持可复用构件的互联、在组装中,如何检测并消除体系结构是失配题目。中间件支持的毗连有2个优势:提供构件之间跨平台交互本领,如COM、J2EE等;可以提供强大的公共服务本领。适配题目重要包括三个方面:由构件引起的失配、由毗连子引起的失配(包括交互协议等)、由系统成分对全局体系结构的假设存在辩论引起的失配。
    5)摆设阶段,SA对软件摆设作用:提供高层体系结构视图来描述摆设阶段的软硬模型、基于SA模型可以分析摆设方案的质量属性,从而选择合理的摆设方案。
    6)后开发阶段,这一阶段的SA研究重要围绕维护、演化、复用等方面进行。研究方向包括:动态软件体系结构(研究可分为体系结构设计阶段的支持、运行时刻基础设施的支持)、体系结构规复与重修(从已实现的系统中获取体系结构的过程,方法有:手工体系结构重修、工具支持的手工重修、通过查询语言来主动创建聚集、使用其他技术比如数据挖掘等)。
软件生命周期:

视角与视图:
    软件设计师思量体系结构的不同属性,选择特定视角(如逻辑视图、进程视图、实现视图和设置视图)可以全方位的思量体系结构设计。
用例和质量场景:
    用例时系统的一个结果值的功能点,用来捕获功能需求;质量场景包罗预期和非预期场景
ABSD模型的6个子过程:

1)体系结构的需求:
        1>需求获取
        体系结构需求一样平常来自三个方面,分别是系统的质量目的、系统的商业目的和系统开发人员的商业目的。软件体系结构需求获取过程重要是定义开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满意业务上的功能需求。
        2>标识构件
        包罗天生类图、对类进行分组、把类打包成构件。
        3>架构需求评审
        由不同代表(设计人员、测试人员、客户等)组成的小组,对构件进行审查。

2)体系结构设计

3)体系结构文档化
重要输出两个文档:体系结构规格说明和测试体系结构的需求的质量设计说明书。
4)体系结构复审
安排一次外部人员(用户代表和领域专家)参加的复审,目的组要是标识潜在的风险,赶早发现体系结构设计中的缺陷和错误
5)体系结构实现

6)体系结构演化
应对需求变革,系统结构演化使用系统演化步骤去修改应用,以满意新的需求:

软件架构风格:
    核心目的是体系结构级的软件重用。
数据流体系结构风格:
    1)批处理体系结构风格:
每个步骤是一个单独的步伐,每一步必须在前一步结束后才华开始,并且数据必须是完整的,以整体方式通报。它的基本构件是独立的应用步伐,毗连件是某种范例的媒介。
    2)管道-过滤器体系结构风格:
当数据源源不断产生,必要把系统分解成几个处理步骤,这些步骤之间通过数据流毗连,每个处理步骤(过滤器)都有一组输入和输出。
调用/返回体系结构风格:
    1)主步伐/子步伐风格,一样平常采用单线程控制,把题目划分为若干处理步骤。
    2)面向对象体系结构风格,数据的标识方法和它们的相应操作封装在一个抽象数据范例或对象中。





7.2 考题总结:

7.2.1 软件架构概念









7.2.2 基于体系结构的软件设计方法(ABSD)






7.2.3 设计模式














7.2.4 架构风格


















7.2.5 架构复用




7.2.6 特定领域软件体系结构-DSSA






第八章:质量属性与架构评估

8.1 重要知识点:

面向架构评估的质量属性
    1)性能,经过多长时间才华对某个变乱做出响应
    2)可靠性,指意外发生环境下,维持软件系统的功能特性的基本本领。
    3)可用性,系统能正常运行的变乱比例
    4)安全性,向正当用户提供服务的同时阻止非授权用户使用的企图。
    5)可修改性,可以或许快速地以较高的性价比对系统进行变更的本领
    6)功能性,系统能完成所期望工作的本领。
    7)可变性,架构经扩充或变更而称为新架构的本领
    8)互操作性,设计外部可视的软件接口,与其他系统的交互本领。
质量属性场景由6个部分组成:
    刺激源(生产刺激的实体,包括人、系统等)
    刺激(达到的调价)
    环境
    制品(被激励的对象,可以是系统等)
    响应(激励到达后采取的举措)
    响应度量(响应发生后,以某种方式对其进行度量)
系统架构评估:
    1)敏感点(一个或多个构件的特性)、衡量点(影响多个质量属性的特性,是多个质量属性的敏感点)
    2)风险承担者(或利益相干人)
    3)场景,为得出质量目的而采用的机制称为场景,一样平常采用刺激、环境、响应三方面来对场景进行描述。
系统架构评估方法:
1)SAAM方法
    1>特定目的,对描述应用步伐属性的文档,以验证基本的架构假设和原则
    2>评估技术,采用场景技术
    3>质量属性,把任何情势的质量属性都具体化为场景,可修改性是SAAM分析的重要质量属性
    4>风险承担者,协调不同参与者之间感兴趣的共同方面
    5>架构描述,SAAM用于架构的末了版本,但早于详细设计。
    6>方法活动,重要输入是题目描述、需求生命和架构描述。SAAM分析评估架构的过程包括5个步骤:场景开发、架构描述、单个场景评估、场景交互和总体评估。

    7>已有知识库的可重用性:SAAM不思量这个题目
    8>方法验证:是一个成熟的方法,已被应用到浩繁系统中。
2)ATAM方法(架构衡量分析方法),在SAAM基础上发展,重要针对性能、实用性、安全性和可修改性,在系统开发之前,对这些质量属性进行评价和折中。
    1>特定目的,在思量多个相互影响的质量属性环境下,从原则上提供一种理解软件架构的本领的方法。在开发前,可以使用ATAM方法确定多个质量属性之间折中的须要性。
    2>质量属性,思量的是系统的可修改性、安全性、性能和可用性。
    3>风险承担者,在场景、需求网络相干活动中,必要全部系统相干人员参与。
    4>架构描述,用一组消息顺序图表述运行时的交互和场景,对架构秒速加以注解。
    5>评估技术,使用场景技术,从不同搞得架构角度,有3种不同范例的场景,分布时用例、增长场景、探测场景。
    6>方法活动

    7>领域知识库的可重用性
    8>方法验证,ATAM方法采用效用树这一工具来对质量属性进行分类和优先级排序。效用树的结构包括:树根–质量属性–属性分类–质量属性场景(叶子节点)。ATAM重要关注的4类质量属性:性能、安全性、可修改性和可用性,这4个质量属性是利益相干者最为关心的。
    用ATAM方法评估软件体系结构,工作重要分为4个基本阶段:
    1>演示
        介绍ATAM、介绍业务驱动因素、介绍要评估的体系结构:胡佛变乱架构、银行变乱架构
    2>调查和分析
        确定架构方法:胡佛或银行架构的详细表明、天生质量属性效用树、分析体系结构方法(找出风险、非风险、敏感点和衡量点)
        效用树表达了系统的整体”良好“程度。3个利益相干者:终极用户、架构师和应用步伐开发人员。

    3>测试和陈诉ATAM:
        头脑风暴和优先场景、分析架构方法、陈诉ATAM

3)CBAM方法
    成本效益分析法,是在ATAM上构建,用来对架构设计决策的成本和收益进行建模。CBAM在ATAM结束后开始,它现实上使用了ATAM评估的结果。
8.2 考题总结:

8.2.1 质量属性












8.2.2 架构评估概念




8.2.3 架构评估方法








第九章:软件可靠性

9.1 重要知识点




9.2 考题总结

9.2.1 可靠性测试


第十章:架构演化与维护

10.1 重要知识点

软件架构演化概念:
    软件架构演化就是软件整体结构的演化,演化过程涵盖软件架构的全生命周期,包括需求获取,建模、文档、架构实现以及架构维护等。
    假如软件架构定义是SA,则说明软件架构包罗组件(Components)、毗连件(Connectors)、约束(Contranints)三大要素。
演化过程:
    对象演化:AO(AddObject,添加对象)和 DO(DeleteObject,删除对象)
    消息演化:AM(添加消息) 、DM (删除消息)、SMO(交换两条消息的时间顺序)、OM (反转消息的发送对象和接收对象)、CMM(改变消息的发送或接收对象)
    演化分为3类:
    第一类演化与当前约束无关,如AM,不会对架构设计的正确性或时态属性产生影响。
    第二类演化与约束直接关联但不会违背约束,如CMM,不会对架构设计的正确性或时态属性产生影响。
    第三类演化与约束直接关联并会违背约束,如DM,这类结构违背了约束,是不正确的演化。
软件架构演化方式的分类:
    3种典型的分类方法:
    1)按照软件架构的实现方式和实验粒度分类:基于过程和函数的演化,面向对象的演化、基于组件的演化和基于架构的演化。
    2)按照研究方法分为4类:对演化的支持、版本和工程的管理里工具、架构变更的情势方法、架构演化的成本收益分析
    3)针对演化过程是否在系统运行时期,可将软件架构分为静态演化和动态演化,前者发生在软件架构的设计、实现和维护过程中,软件系统还未运行或者处理运行制止状态,后者发生在软件系统运行过程中。
软件架构演化时期:
    设计时演化、运行前演化、有限制运行时演化(有具体条件)、运行时演化(最难实现)
静态演化的一样平常过程:
    软件静态演化时系统制止运行期间的修改和更新,即一样平常意义上的软件修复和升级。与此相对应的维护方法有3类:更正性维护、适应性维护和美满性维护。
    软件静态演化一样平常包括5个步骤:
    1)软件理解
    2)需求变更分析
    3)演化计划
    4)系统重构
    5)系统测试
    静态演化的实例:正交软件架构
软件架构动态演化:
    软件的动态性分为3个级别:
    1)交互动态性,要求数据在固定的结构下动态交互
    2)结构动态性,答应对结构进行修改,通常的情势是组件和毗连件实例的添加和删除
    3)架构动态性,答应架构基本构造的变动,即结构可以被重定义,如新的组件范例的定义
软件架构演化原则:
    有18种软件架构可持续化原则
软件架构演化评估方法:
    1)演化过程已知的评估,通过计算质量属性隔断;
    2)演化过程未知,我们无法像演化过程已知那样追踪架构在演化过程中的每一步变革,只能根据架构演化前后的度量结果逆向推测出架构发生了哪些改变,并分析这些改变与架构相干质量属性的关联关系。
大型网站系统架构演化:
    1)阶段一:单体架构
    2)阶段二:垂直架构
    3)阶段三:使用缓存改善网站性能
    4)阶段四:使用服务集群改善网站并发处理本领
    5)阶段五:数据库读写分离
    6)阶段六:使用反向代理和CDN加速网站响应
    7)阶段七:使用分布式文件系统和分布式数据库系统
    8)阶段八:使用NoSQL和搜索引擎
    9)阶段九:业务拆分
    10)阶段十:分布式服务
软件架构维护:
    1)软件架构知识管理
    2)软件架构修改管理
    3)软件架构版本管理
10.2 考题总结




第十一章:未来信息综合技术

11.1 重要知识点

信息物理系统技术(CPS):
    CPS通过集成先进的感知、计算、通信、控制等信息技术和主动控制技术,构建了物理空间与信息空间中人、机、物、环境、信息等要素相互映射、适时交互、高效协同的复杂系统,实现系统内资源设置和运行的按需响应、快速迭代、动态优化。有单元级、系统级、SoS级。
    CPS的应用场景:智能设计、智能生产、智能服务、智能应用。
人工智能(AI):
    人工智能分为:
        1)弱人工智能,没有自主意识,例如语音识别、图像处理和呆板翻译等。
        2)强人工智能,有自主意识,分为类人和非类人两类
    人工智能关键技术:
        1)自然语言处理
        2)计算机视觉
        3)知识图谱
        4)人机交互
        5)假造现实(VR)或 增强现实(AR)
        6)呆板学习(ML)
    按学习模式的不同,呆板学习可以分为:
        1>监视学习,提供标注的样本集,已知的样本分类标签。
        2>无监视学习,不必要提供标注的样本集,不必要以人工标注数据作为训练样本。
        3>半监视学习,利用少量标注样本和大量未标注样本进行训练和分类。
        4>强化学习,必要反馈机制。
    按学习方法的不同,呆板学习可分为:
        1>传统呆板学习,从一些训练样本出发,试图发现不能通过原理分析获得的规律,实现对未来数据举动或趋势的正确预测。
        2>深度学习,是一种基于多层神经网络并以海量数据作为输入规则的自学习方法,依靠提供给它的大量现实举动数据,进行参数和规则调解。
    呆板学习综合应用:数据挖掘、计算机视觉、自然语言处理、语音和手写识别等
呆板人技术:
    1)第一代呆板人:示教再现型呆板人,这种呆板人可以根据人当时示教的结果,再现出这种动作。(点焊呆板人)
    2)第二代呆板人:感觉型呆板人,这种呆板人拥有类似人在某种功能的感觉,如力觉、触觉等。
    3)第三代呆板人:智能型呆板人,这种呆板人带有多种传感器,可以进行复杂的逻辑推理、判断及决策,在变革的内部状态与外部环境中,自主决定自身的举动。
    呆板人4.0重要有以下几个核心技术:
    1)云-边-端的无缝协同计算
    2)持续学习与协同砚习
    3)知识图谱
    4)场景自适应
    5)数据安全
边缘计算:
    章鱼使用”边缘计算“来解决现实题目,它拥有巨量的神经元,但60%分布在章鱼的八条腿上,脑部仅有40%,也就是说章鱼是用腿来解决题目的。
    边缘计算将数据的处理、应用步伐的运行甚至一些功能服务的实现,由网络中心下发到网络边缘的节点上。在网络边缘测的智能网关上就近采集并且处理数据,不必要将大量未处理的原生数据上传到远处的大数据平台。
    云边缘:是云服务在边缘测的延申,逻辑上仍是云服务
    边缘云:是在边缘测构建中小规模的云服务本领(如多接入边缘计算MEC、CDN、华为云提供的IEC解决方案)
    边云协同:
        边缘计算与云计算各有所长,云计算善于全局性,非及时,长周期的大数据处理与分析,可以或许在长周期维护、业务决策支持等领域发挥优势;边缘计算更实用局部性、及时、短周期数据的处理与分析,能更好地支持本地业务的及时智能化决策与实行。边缘计算与云计算不是替换关系,是互补协同关系。
    边缘计算应用场所:
        1)聪明园区
        2)安卓云与云游戏
        3)视频监控
        4)工业物联网
        5)Cloud VR
数字孪生体技术:
    数字孪生体是现有或将有的物理实体对象的数字模型,通过实测、仿真和数据分析来及时感知、诊断、预测物理实体对象的状态,通过优化和指令来调控物理实体对象的举动,通过相干数字模型间的相互学习来进化自身,同时改进利益相干方在物理实体对象生命周期内的决策。
    数字孪生体的关键技术:
        1)建模
        2)仿真
        3)其他技术,VR、AR、MR等增强现实技术。
云计算:
    云计算的服务方式:
        1)软件即服务(SaaS):软件作为一种服务提供
        2)平台即服务(PaaS)
        3)基础设施即服务(IaaS)
        机动性(依次增强):SaaS-》PaaS -》IaaS
        方便性(依次增强):IaaS-》PaaS-》SaaS
    云计算的摆设模式:
        1)公有云,云基础设施是公开的,可以自由地分配给公众。
        2)社区云,云基础设施分配给一些社区构造所专有
        3)私有云,云基础服务设施分配给由多种用户组成的单个构造
        4)肴杂云,是公有云、私有云、社区云的组合
大数据技术:
    大数据定义:海量+多样化+快速处理+价值+可变性+复杂性
11.2 考题总结


第十二章:信息系统架构设计

12.1 重要知识点






12.2 考题总结



第十三章:条理式架构设计

13.1 重要知识点







第十四章:云原生架构设计

14.1 重要知识点



第十五章:面向服务架构设计

15.1 重要知识点




15.2 考题总结



第十六章:嵌入式架构设计

16.1 重要知识点

嵌入式系统发展历程
    第一阶段:单片微型计算机(SCM)阶段,即单片机期间
    第二阶段:微控制器(MUC)阶段
    第三阶段:片上系统(SoC)
    第四阶段:以Internet为基础的嵌入式系统
    第五阶段:在智能化、云技术推动下的嵌入式系统
嵌入式系统组成:
    1)嵌入式微处理器
        1>微处理器(MPU),将微处理器装配在专门设计的电路板上,只保留与嵌入式应用有关的母板功能。
        2>微控制器(MCU),又称单片机
        3>信号处理器(DSP),DSP处理器对系统结构和指令进行了特殊设计,使其适合实行DSP算法,编译服从高,指令实行速度也高。
        4>图像处理器(GPU)
        5>片上系统(SoC),是一个有专用目的的集成电路,此中包罗完整系统并有嵌入软件的全部内容。
    2)存储器,分为只读存取器(ROM)和 随机存取器(RAM)
        RAM(随机存取存储器),打开计算机,操作系统和应用步伐的全部正在运行的数据和层序都会放置此中,必要次序电力供应,断电数据会被清空掉无法规复,RAM内存又分为以下18种:
            1>DRAM (动态随机存取存储器),通常用于计算机内的主存储器
            2>静态随机存储器(SRAM),用作高速缓存
            3>VRAM (视频内存),用于显卡中的高档内存
            4>FPM DRAM (快速页切换模式动态随机存取存储器)

        ROM(可编程只读存储器),代码与数据将永久保存,并且不可以或许修改,它的读取速度比RAM慢很多,根据组成元件的不同,ROM内存分为以下5种:
            1>MASK ROM (掩模型只读存储器)
            2>ROM (可编程只读存储器),只能写入一次
            3>EPROM(可擦可编程只读存储器)
            4>EEPROM(电可擦可编程只读存储器),以20V电压进行清除。另外可以用电信号进行数据写入,多用于即插即用接口中。
            5>Flash Memory(快闪存储器)
    3)内(外)总线逻辑
        按照计算机所传输的信息种类:
        1>数据总线用于在CPU与RAM之间来回传送必要处理或者必要存储的数据;
        2>地点总线用于指定RAM之中的存储的数据的地点;
        3>控制总线将微处理器控制单元的信号传送到周边设备。
        总线存在不同拓扑结构:
            星形、树状、环形、总线型和交叉开关型。
        按毗连部件分类,还可分为:
            1>片内总线(CPU芯片内部总线)
            2>系统总线(计算机内部总线,毗连计算机系统的重要组件)
            3>局部总线(计算机内部总线,在少数组件之间交换数据的总线)
            4>通信总线(嵌入式系统主机外部总线,用于毗连外部输入输出设备)
    4)看门狗电路
        是嵌入式系统必须具备的一种系统规复本领,在系统发生软件题目时使系统重新启动。基本原理是通过定时计数器实现。
    5) I/O接口,是计算机与被控对象进行信息交换的纽带,处理器通过I/O接口与外部设备进行数据交换。常用接口有:
        1>串行接口
        2>并行接口
    6)外部设备,包括鼠标、键盘等
两种典型的嵌入式系统架构模式:
    1)条理化模式架构,分为封闭型和开放型,开放型性能较好,但粉碎了封装
    2)递归模式架构,解决必要将一个非常复杂的系统进行分解,工作流程有自顶向下和自底向上。
嵌入式操作系统(EOS):
    嵌入式操作系统与通用操作系统相比,重要特点有:
    1)可裁剪性
    2)可移植性
    3)强及时性
    4)强紧凑性
    5)高质量代码
    6)强定制性
    7)标准接口
    8)强稳固性、弱交互性
    9)强确定性
    10)操作简洁、方便
    11)较强的硬件适应性
    12)可固化性
嵌入式操作系统通常分为两类:
    1>面向控制、通信等领域的嵌入式及时操作系统;
    2>是面向消耗电子产品的非及时嵌入式操作系统(包括移动电话、机顶盒等)
    嵌入式操作系统重要存在4种结构:整体结构、条理结构、C/S结构和面向对象结构.

在及时系统的任务调理中,存在大量的及时调理方法,大致分为三种:
    1)离线和在线调理
    2)抢占和非抢占调理
    3)静态和动态调理(静态:优先级已确定 动态:优先级可变)。
存储管理的方法有:
    1)分区存储
    2)分页存储,将进程逻辑地点空间分成若干个巨细相等的片,加以编号,内存空间也是如此。
    3)分段存储,作业的地点空间被划分为若干个段,每个段定义了一组逻辑信息
    4)段页存储,先将用户步伐分成若干个段,再把每个段分成若干个页,并微每一个段赋予一个段名。
    5)假造存储,利用现实内存空间和相对大得多的外部存储器空间结合构成一个远远大于现实内存空间的假造存储空间。
任务间通信方式:
    1)共享内存,数据的简朴共享
    2)信号量,提供任务间通信、同步和互斥的最优选择,提供任务间的最快速通信。操作系统有三种范例信号量:二进制信号量、互斥信号量、计数信号量
    3)消息队列,同一CPU内多任务间消息通报。管道是消息队列中的一种,按FIFO次序读出数据。
    4)Socket和长途调用,是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简朴的接口,供应用层调用实现进程在网络中的通信。
    5)Signals(信号),重要用来关照进程发生异步变乱,用于异常处理。
嵌入式数据库:
    与传统数据库相比,嵌入式数据库系统有以下几个重要特点:
    嵌入式、及时性、移动性、伸缩性
按数据库存储位置的不同可以分为:
    1>基于内存的数据库系统(MMDB)
    2>基于文件的数据库系统(FDB), 例如SQLite
    3>基于网络的数据库系统(NDB), 嵌入式网络数据库是把功能强大的长途数据库映射到本地数据库。
嵌入式数据库的一样平常架构:
    Oracle、Sybase、MySQL、SQL Server等数据库属于数据库服务器,SQLite、Berkeley DB等属于嵌入式数据库。数据库服务器独立运行于一个保卫进程(daemon)、嵌入式数据库与应用步伐运行在同一进程。
    数据库服务器架构:数据库客户端通过数据库驱动步伐如JDBC、ODBC等访问数据库服务器,属于C/S模式。
嵌入式数据库架构:不必要数据库驱动步伐,直接将数据库库文件链接到应用步伐中。嵌入式数据库的摆设是与应用步伐一起的。
嵌入式中间件:
    嵌入式中间件是在嵌入式系统中处于嵌入式应用和操作系统之间条理的中间软件,其重要作用是对嵌入式应用屏蔽底层操作系统的异构性,常见的功能有网络通信、内存管理和数据处理等。


16.2 考题总结





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4