先来先服务(FCFS,First-Come,First-Served)(先来先服务的基本思想就是按照任务到达的先后次序来进行调度。它是一种不可抢占的调度方式,如果当前任务占用着CPU在运行,那么就要一直等到它执行完毕或者因为某种原因被阻塞,才会让出CPU给其他的任务)
多道程序设计技术(道程序设计技术不仅使CPU得到充分利用,同时改善I/O设备和内存的利用率)
UML用例图4种关系:关联关系(Association)(表示参与者与用例之间的通信或交互。这种关系表明参与者可以与用例进行消息传递或数据交换)、扩展关系(Ext(表示一个用例可以在某些条件下扩展另一个用例))、包含关系(Include)(一个用例包含了另一个用例的行为)和泛化关系(Generalization)(表示一个用例是另一个用例的特化)[1](聚合关系(Aggregation)(用于表示类之间的关系,不适用于用例之间的关系)是类图中的)
UML需求常用图:用例图(用例图用于描述系统的功能需求及其外部因素)、活动图(活动图用于表示系统行为或业务流程;)、顺序图(主要用于面向对象设计,面向对象分析与设计工具)和类图(类图用于展示系统的静态结构)[1](构件图(组件图)主要用于系统设计和实现阶段,表示系统中各个物理模块之间的关系,因此不属于需求分析阶段常用的图。)
结构化设计工具:PAD图(用于结构化设计的工具)、盒图、HIPO图、程序流程图(均属于结构化设计工具)
工作流表示的是业务过程模型,通常使用图形形式来描述:BPMN(BusinessProcessModelingNotation)(指业务流程建模与标注,包括这些图元如何组合成一个业务流程图(BusinessProcessDiagram)。)、Petri-Net(流程定义语言之母)、活动图(活动图可以用于描述系统的工作流程和并发行为,活动图其实可看作状态图的特殊形式,活动图中一个活动结束后将立即进入下一个活动。)
(UnifiedModelingLanguage)主体部分:基础结构(Infrastructure)(定义一个元语言的核心InfrastructureLibrary,通过对此核心的复用,除了可以定义一个自展的UML元模型,也可以定义其他元模型,包括MOF和CWM(CommonWarehouseModel,公共仓库模型)。)、上层结构(Superstructure)(设计目标是:严格地复用基础结构InfrastructureLibrary包中的构造物;提高对基于构件开发和MDA(ModelDrivenArchitecture,模型驱动体系结构)的支持;优化构架规约的能力;增强行为图的可伸缩性、精确性、集成性等)
在中,顺序图用来描述对象之间的消息交互,其中循环、选择等复杂交互使用序列片段(引进序列片段的概念,用以表示复数个体组成的选择、分支、循环等逻辑结构。序列片段由片段运算符(FragmentOperator)和片段主体(FragmentBox)构成。)表示
的消息类型有(的消息类型有:简单消息、同步消息、异步消息、对象创建消息、对象销毁消息、无触发对象和无接收对象的消息。):同步消息、异步消息、返回消息、参与者创建消息、参与者销毁消息
数字孪生生态系统中共性应用层(根据《数字孪生应用白皮书2020》中对数字孪生生态系统的定义,共性应用层涵盖描述、诊断、预测和决策四个方面。这一层需要软件定义的工具和平台支持,以实现这些功能。数据互动层主要处理数据采集、传输和处理,模型构建与仿真分析层提供数据建模、仿真和控制服务,而基础支撑层涉及物联网终端设备和数据采集。):描述、诊断、预测、决策四个方面
物联网架构(物联网属于层次型架构)通常分为三层:感知层、网络传输层和应用层(感知层负责采集物理世界中的数据,通过各种传感器、RFID等设备实现。网络传输层负责将感知层采集的数据传输到应用层,通过无线网络、互联网等方式实现。应用层则负责处理和应用这些数据,实现各种智能化服务。选项D正确地反映了这三层结构。)
企业应用集成(EAI)技术(企业应用集成(EAI)技术消除信息孤岛,通过构建统一的基础平台,实现企业信息系统的无缝集成)提供4个层次的服务:从下至上依次是通讯服务、信息传递与转化服务、应用连接服务和流程控制服务
知识产权主要属于民法的范畴(知识产权是指自然人、法人或者其他组织对其智力劳动成果依法享有的专有权利。根据法律分类,知识产权主要属于民法的范畴。民法通过合同法、侵权法等规定了知识产权的创造、使用、保护和转让等方面的内容。)
权利要求书用于明确说明专利保护的范围(在发明或者实用新型专利申请文件中,权利要求书用于明确说明专利保护的范围,说明书则是用于详细描述发明的内容和实施方式。请求书和申请书都是提交专利申请时的必要文件,但并不是用于说明专利保护范围的主要部分。)
事务四个主要特性:原子性(Atomicity)(⼀个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执⾏过程中发⽣错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执⾏过⼀样。)、一致性(Consistency)(在事务开始之前和事务结束以后,数据库的完整性没有被破坏,这表示写⼊的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以⾃发性地完成预定的⼯作。)、隔离性(Isolation(数据库允许多个并发事务同时对其数据进⾏读写和修改的能⼒,隔离性可以防⽌多个事务并发执⾏时由于交叉执⾏⽽导致数据的不⼀致))和持久性(Durability)(事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。)[1](并发性不是事务的特性,它是指数据库系统支持多个事务同时执行的能力,因此不属于事务的ACID特性之一)
表达式R∩S等价R−(R−S)(R∩S(交集):_esc_newline_交集R∩S表示的是同时属于集合R和集合S的元素组成的集合。换句话说,如果你有一个元素,它既是R的成员也是S的成员,那么这个元素就属于R∩S。_esc_newline_R−(R−S)(差集的差集):_esc_newline_首先,R−S表示的是属于集合R但不属于集合S的元素组成的集合。这是一个差集。_esc_newline_然后,R−(R−S)表示的是属于集合R但不属于R−S的元素组成的集合。换句话说,这是一个二次差集:你先找出所有属于R但不属于S的元素(即R−S),然后从R中去掉这些元素。_esc_newline__esc_newline_现在,让我们思考一下这个结果是什么:由于R−S包含的是所有属于R但不属于S的元素,那么R−(R−S)就包含的是所有属于R但不属于“属于R但不属于S的元素”的元素。这实际上就是在说,这个集合包含的是所有既属于R又属于S的元素,因为只有当元素同时属于R和S时,它才不会出现在R−S中,因此也不会被从R中去掉。_esc_newline__esc_newline_所以,R∩S和R−(R−S)实际上描述的是同一个集合:即同时属于R和S的元素组成的集合。这就是为什么它们是等价的原因。)
大多数嵌入式系统典型架构可概括为:层次化模式架构和递归模式架构(嵌入式系统的架构和目标系统是紧密结合的,通常没有统一的架构。根据嵌入式系统的应用目标和需求,以及系统的复杂程度和功能大小,采用不同的架构设计方法。目前,比较典型的嵌入式软件架构有两种:层次化模式架构和递归模式架构。)
嵌入式系统分为三层:应用软件、操作系统软件和中间件(中间件的主要作用是屏蔽底层操作系统和硬件的差异,为应用软件提供统一的接口,从而简化应用软件的开发工作,提高系统的可移植性和扩展性。)
需求分析阶段的工作包括:确定可靠性目标、分析影响因素、制定验收标准、管理框架、文档规范、初步计划和数据收集规范
概要设计阶段的工作包括:确定度量、详细验收方案、设计、数据收集、计划调整、后续阶段计划和文档编制。
详细设计阶段的工作包括:设计、预测、计划调整、数据收集、后续阶段计划和文档编制。编码阶段的工作包括测试、排错、计划调整、数据收集、后续阶段计划和文档编制
测试阶段的工作包括:测试、排错、建模、评价、计划调整、数据收集、后续阶段计划和文档编制。
实施阶段的工作包括:测试、排错、数据收集、模型调整、评价和文档编制。显然,可靠性建模属于测试阶段的内容。
软件质量特性:功能性(适合性、准确性、互操作性、依从性、安全性)、可靠性(成熟性、容错性、易恢复性)、易用性(易理解性、易学性、易操作性)、效率(时间特性、资源特性)、可维护性(易分析性、易改变性、稳定性、易测试性;)、可移植性(适应性、易安装性、遵循性、易替换性;)
质量属性场景(QualityAttributeScenario)(为了精确描述软件系统的质量属性,通常采用质量属性场景(QualityAttributeScenario)作为描述质量属性的手段。):刺激源(Source)(这是某个生成该刺激的实体(人、计算机系统或者任何其他刺激器))、刺激(Stimulus)(该刺激是当刺激到达系统时需要考虑的条件)、环境(Environment)(该刺激在某些条件内发生。当激励发生时,系统可能处于过载、运行或者其他情况。)、制品(Artifact)(某个制品被激励。这可能是整个系统,也可能是系统的一部分。)、响应(Response)(响应(Response)描述在激励(Stimulus)到达后系统所采取的行动。例如,在系统接收到请求后,如何处理该请求就是一种响应。)、响应度量(Measurement)(当响应发生时,应当能够以某种方式对其进行度量,以对需求进行测试。)、可靠度(可靠度就是软件系统在规定的条件下、规定的时间内不发生失效的概率。)[1]([刺激源]100000人同时在线,[刺激]同时进行系统访问,[制品]某某电商系统、[环境]系统正常运行,[响应]请求被处理,[响应度量]平均响应时间)
软件系统生命周期中质量属性:开发期质量属性(可修改性、可测试性等)和运行期质量属性(运行期质量属性包括性能、可靠性、可用性等)
场景(scenarios)(场景(scenarios)在进行体系结构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该体系结构优劣的标准。为得出这些目标而采用的机制做场景。场景是从风险承担者的角度对与系统的交互的简短描述。在体系结构评估中,一般采用刺激(stimulus)、环境(environment)和响应(response)三方面来对场景进行描述。_esc_newline__esc_newline_)在进行体系结构评估时,从风险承担者的角度对与系统的交互的简短措述
软件复用的基本过程:获取可复用的软件资产(主要是构造恰当的、可复用的资产[这些资产需要是可靠的、广泛适用的、易于理解和修改的])、管理可复用资产(构件库是支持软件复用的关键设施,它应提供构件的存储、管理、检索,以及库的浏览与维护等功能。这个阶段还包括构件的分类和检索,以便于快速准确地找到所需的构件。)、使用可复用资产(在最后一个阶段,开发者从构件库中获取所需的可复用资产,并根据特定需求进行定制、修改、扩展或配置,最终将这些资产组装和集成,形成满足需求的应用系统。)
软件复用的类型:机会复用(机会复用是指开发过程中,只要发现有可复用的资产,就对其进行复用)和系统复用(系统复用是指在开发之前,就要进行规划,以决定哪些需要复用)。
REST设计风格:是一种设计风格而不是一个架构,以资源为中心构建,状态转移是借助HTTP方法来实现,URI和资源是多对一关系,一个资源可以有多个URI,但一个URI指向一个特定的资源
计算机信息系统安全保护等级划分准则计算机信息安全划分为了5个等级:用户自主保护级(用户自主保护级,通过隔离用户与数据实现访问控制,保护用户信息安全。)、系统审计保护级(系统审计保护级,实施更细粒度的访问控制,通过审计和隔离资源确保用户行为的安全性。)、安全标记保护级(安全标记保护级,具备第2级所有功能,并增加安全策略模型、数据标记和强制访问控制,以及输出信息的准确标记)、结构化保护级(结构化保护级,建立在明确定义的形式化安全策略模型上,扩展访问控制,考虑隐蔽通道,结构化关键与非关键保护元素,增强鉴别机制和配置管理。)、访问验证保护级(访问验证保护级,满足访问监控器需求,监控器仲裁访问,具有抗篡改性,最小化复杂性,支持安全管理员职能,增强审计和系统恢复机制,具有高抗渗透能力。)(最高级别)
构件基本概念:构件是独立的软件单元、通常以二进制形式存在,无需在部署前编译、构件元数据是构件本身相关的数据[构件是可以配置的,以适应不同的应用系统需求]
构件基本属性:可独立配置的单元、与环境和其他构件的分离、在适当的环境中被复合使用、最多仅有特定构件的一份副本(在任何环境中,最多仅有特定构件的一份副本)
构件组装的常见方式:层次、叠加和顺序等方式[1](循环方式不常见。)
在构件的定义中,接口(构件的接口是一种服务提供者对消费者的承诺,即契约(contract),用契约确保一组构件之间的行为组合)是一个已命名的一组操作的集合。
构件之间只通过数据传递交互,数据必须是完整的,以整体的方式传递。(构件为一系列固定顺序的计算单元,构件之间只通过数据传递交互。每个处理步骤是一个独立的程序,每一步必须在其前一步结束后才能开始,数据必须是完整的,以整体的方式传递。_esc_newline__esc_newline_)
操作不完备(如果一个构件的提供接口是另一个构件请求接口的一个子集,这意味着提供的操作不够全面,属于操作不完备的情况。)
基于场景的架构分析方法(Scenarios-basedArchitectureAnalysisMethod,SAAM)(SAAM是卡耐基梅隆大学软件工程研究所的Kazman等人于1983年提出的一种非功能质量属性的架构分析方法,是最早形成文档并得到广泛应用的软件架构分析方法。SAAM的主要输入是问题描述、需求说明和架构描述(问题描述、需求声明和体系结构描述),其分析过程主要包括场景开发、架构描述、单个场景评估、场景交互和总体评估。)针对最终架构而非详细设计进行评估,SAAM的评估过程包括:场景开发、架构描述、单场景评估、场景交互评估和总体评估。
ATAM(架构权衡分析方法(ArchitectureTradeoffAnalysisMethod,ATAM)是一种系统架构评估方法,主要在系统开发之前,针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、架构视图描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以属性作为架构评估的核心概念。题干描述中,“系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致”,讨论的是针对使用系统的用户的习惯问题,这与易用性相关。“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试”这个描述与系统的可测试性相关。)属性效用树结构为:树根、质量属性、属性分类,质量属性场景(根——质量属性——属性求精(细分)——场景(叶))
黑板体系结构风格是一种以数据中心为核心的架构风格,其中所有的组件通过一个共享的黑板(数据存储)进行通信和协调
管道-过滤器体系结构风格(过滤器负责对数据进行处理,而管道负责传输数据。这种结构使得系统的每个处理步骤独立,并且通过管道连接,便于组合和复用):每个处理步骤由一个过滤器实现,处理步骤之间的数据传输由管道负责
C/S结构中与两层C/S结构(客户端:负责与用户交互,处理部分业务逻辑,并显示结果。服务器:负责管理数据,响应客户端的请求。)相比三层C/S结构(客户端:仅负责与用户交互,显示结果,并发送请求到应用服务器。应用服务器:负责处理业务逻辑,根据客户端的请求与数据库服务器进行交互。数据库服务器:负责管理数据,响应应用服务器的请求。)增加了一个应用服务器:客户端(表示层位于客户端,用于处理用户界面和用户交互)、应用服务器(应用逻辑层位于应用服务器上,处理业务逻辑)、数据库服务器(数据层位于数据库服务器上,负责数据的存储和管理)
领域分析阶段主要目标:通过分析特定应用领域,获取领域模型,从而为后续的设计和实现提供基础
软件敏捷开发(敏捷开发方法强调响应变化、快速交付、协作和持续改进)方法核心思想:以原型开发思想为基础、敏捷方法遵循迭代增量式开发过程、以人为本、敏捷方法以适应型为主,而非可预测型
净室软件工程缺点(1)CSE太理论化,需要更多的数学知识。其正确性验证的步骤比较困难且比较耗时。CSE要求采用增量式开发、盒子结构、统计测试方法,普通工程师必须经过加强训练才能掌握,开发软件的成本比较高昂。2)CSE开发小组不进行传统的模块测试,这是不现实的。工程师可能对编程语言和开发环境还不熟悉,而且编译器或操作系统的bug也可能导致未预期的错误。3)CSE毕竟脱胎于传统软件工程,不可避免地带有传统软件工程的一些弊端。):开发成本高、需要数学知识、需要模块化测试
以太网中,数据的传输使用曼彻斯特编码(曼彻斯特编码是一种自时钟编码方法,通过在每个比特时间的中间进行电平翻转来表示二进制数据,既便于同步,又能够有效地检测传输错误)
奈奎斯特采样定理:要不失真的恢复一个连续信号,采样频率必须大于信号最高频率的两倍(采样频率为3KHz,则该连续信号的最高频率可能为1.5KHz。)
数据库设计分为:用户需求分析、概念设计、逻辑设计(逻辑结构设计阶段能用某个具体的DBMS实现用户需要,将概念结构转换相应的数据模型,并根据用户处理要求、安全性考虑,在基本表的基础上建立必要的视图,并对数据模型进行优化。数据模型设计、E-R图转换为关系模式、关系模式规范化、确定完整性约束、确定用户视图、反规范化设计在此阶段。)和物理设计[1](反规范化设计是指为了提高数据库的性能或满足特定需求,而向数据库中增加冗余数据的过程。它与数据库规范化设计正好相反,规范化设计旨在减少数据冗余,提高数据一致性。)
范式:第一范式(1NF)(要求消除重复的组)、第二范式(2NF)(消除了非主属性对码的部分依赖,即每个非主属性完全依赖于码,而不是部分依赖于码)、第三范式(3NF)(在2NF的基础上进一步消除非主属性对码的传递依赖。)、BCNF(Boyce-CoddNormalForm)(是对第三范式的进一步强化)
开放式系统(OSI)7层协议:物理层(PhysicalLayer)数据链路层(DataLinkLayer),网络层(NetworkLayer),传输层(TransportLayer),会话层(SessionLayer),表示层(PresentationLayer),应用层(ApplicationLayer)[1](其中除第5层(会话层)外,每一层均能提供相应的安全服务。实际上,最适合配置安全服务的是在物理层、网络层、运输层及应用层上,其他层都不宜配置安全服务。)[2](二层交换机工作在OSI模型的数据链路层(第二层)。它根据MAC地址来进行数据包的转发和处理,通过建立MAC地址表来决定数据帧的转发路径。)
体系结构演化包含六个步骤:需求变化归类、制订体系结构演化计划、修改、增加或删除构件、更新构件的相互作用、构件组装与测试、技术评审。
好的架构设计重要作用:降低理解成本(一个清晰、良好的架构能够帮助开发人员更容易地理解系统的结构和行为,从而降低理解成本。)、提高代码的可重用性(通过模块化设计和良好的架构划分,代码的可重用性得以提高,使得相同的功能可以在不同的系统或项目中重复使用。)、提高系统的可靠性(良好的架构设计有助于增强系统的可靠性,通过清晰的模块分隔和稳定的接口设计,使系统更能应对各种故障和变化。)[1](使系统设计更符合需求并不是良好架构设计的直接作用。系统设计更符合需求主要依赖于需求分析和需求管理过程,而不是架构设计本身。架构设计的目标更多是技术层面的优化和管理,而不是确保需求的完全符合性。需求的符合性更多依赖于需求的准确获取和有效的需求管理)
软件过程构架结构由4个层次:方针(方针为第一层文件,它是组织标准软件的高层次的抽象描述,它反映在公司的过程改进总体方针、政策中,由公司主管副总裁批准执行)、过程(过程为第二层文件,主要规定在项目开发中执行该过程时应当执行的各项活动及适用标准。过程定义文件及其相关文件制定必须符合方针的要求)、规程(规程为第三层文件,是对过程某些复杂活动的具体描述)和第四层的标准、规范、指南、模板、Checklist(标准、规范、指南、模板、Checklist、范例库等是对上级过程或规程提供细致的步骤、活动及说明的支持性文档,第四层的文件从属于上级过程)等组成
ABSD(基于体系结构的软件设计(ABSD))方法是体系结构驱动,即指构成体系结构的商业、质量和功能需求的组合驱动的。
ABSD方法是一个自顶向下、递归细化的方法,通过该方法得到细化,直到能产生软件构件和类(构件和模块)
特定领域软件架构:
软件建模的三个层面:计算无关模型(计算无关模型(CIM):ComputationalIndepentModel)、平台无关模型(平台无关模型(PIM):PlatformIndepentModel)[1](使用模型驱动的软件开发方法,软件系统被表示为一组可以被自动转换为可执行代码的模型。其中,平台无关性在不涉及实现的情况下对软件系统进行建模)、平台相关模型(平台相关模型(PSM):PlatformDepentModel,又称平台特定模型)(平台特定模型)[1](从抽象到具体)
中间件(中间件是独立的系统级软件,连接操作系统层和应用程序层,将不同操作系统提供应用的接口标准化,协议统一化,屏蔽具体操作的细节)一般功能:通信支持(中间件为其所支持的应用软件提供平台化的运行环境,该环境屏蔽底层通信之间的接口差异,实现互操作,所以通信支持是中间件一个最基本的功能)(交互支持)、应用支持(中间件的目的就是服务上层应用,提供应用层不同服务之间的互操作机制)、公共服务(共服务是对应用软件中共性功能或约束的提取。将这些共性的功能或者约束分类实现,并支持复用,作为公共服务,提供给应用程序使用)
UDDI(UniversalDescription,Discovery,andIntegration)是一种用于Web服务的技术,它提供了一种机制来描述、发现和集成Web服务,是Web服务协议栈的一个重要部分。
系统可靠性分析重要指标:MTBF(MeanTimeBetweenFailures)(平均故障间隔时间,是系统在两个故障之间的平均正常运行时间)、MTTD(MeanTimetoDetect)(平均故障检测时间,是检测到故障所需的平均时间)、MTTR(MeanTimetoRepair)(平均修复时间,是修复故障所需的平均时间)、MTBR(MeanTimeBetweenRepairs)(平均修复间隔时间,是修复后到再次发生故障的平均时间。)
软件测试:黑盒测试(黑盒测试也称为功能测试,不考虑程序的内部结构和处理算法,只检查软件功能是否能按照要求正常使用。主要用于集成测试、确认测试和系统测试阶段)、白盒测试(白盒测试也称为结构测试,要根据程序内部逻辑结构设计测试用例,检测程序中的主要执行通路是否都能按预定要求正确工作(对程序的执行路径和执行过程进行测试,检查是否满足设计要求)。主要用于软件单元测试阶段.白盒测试可以分为控制流测试、数据流测试以及程序变异测试。控制流测试又包括语句覆盖、判定覆盖、条件覆盖等在白盒测试用例中,其中语句覆盖是最弱的覆盖准则,路径覆盖则最强)、灰盒测试(灰盒测试除了重视输出相对于输入的正确性,也看重其内部的程序逻辑。但是,它不可能像白盒测试那样详细和完整。它只是简单地靠一些象征性的现象或标志来判断其内部的运行情况。)[1](软件测试不可以证明被测对象的正确性。软件测试的目标是发现软件中的错误和缺陷,而不是证明软件是正确的。测试只能提供有限的覆盖范围和可靠性。即便通过了所有测试用例,软件也可能存在其他未被发现的错误。因此,测试只是尽可能地减少风险,而不能完全保证软件的正确性。)
测试工具:静态测试工具(通过对软件的需求规格说明书、设计说明书以及源程序做结构分析和流程图分析,从而找出错误。[是对代码进行语法扫描,找到不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。它直接对代码进行分析,不需要运行代码,也不需要对代码编译链接和生成可执行文件,静态测试工具可用于对软件需求、结构设计、详细设计和代码进行评审、走审和审查,也可用于对软件的复杂度分析、数据流分析、控制流分析和接口分析提供支持;])、动态测试工具(它需要运行被测试系统,并设置探针,向代码生成的可执行文件中插入检测代码,可用于软件的覆盖分析和性能分析,也可用于软件的模拟、建模、仿真测试和变异测试等。(通过运行程序发现错误。动态测试可以采用黑盒测试和白盒测试。))
虚拟化技术:KVM、Xen和Hyper-V等用于创建和管理虚拟机[1](LVS(LinuxVirtualServer)主要用于负载均衡,不属于虚拟化技术)
基于任务的访问控制(TBAC)模型:工作流(工作流定义了任务的流程)、授权结构体(授权结构体定义了访问控制规则)、受托人集(受托人集是被授权执行任务的用户或实体)和许可集(许可集则是具体的权限集合)
灾难恢复(DR)的七个层次:0级-无异地备份(数据仅在本地备份,未制定灾难恢复计划,成本最低但不具备真正的灾难恢复能力。)、1级-实现异地备份(关键数据备份到磁带等介质后送往异地存储,但异地无备份中心或数据处理系统,恢复依赖于硬件平台的重新搭建。)、2级-热备份站点备份(异地有热备份站点,可快速接管应用,恢复生产,但数据可能存在延迟。)、3级-在线数据恢复(通过网络备份关键数据至异地,提高了恢复速度,但对网络要求较高,成本增加。)、4级-定时数据备份(通过自动化软件定时备份数据至异地,数据丢失和恢复时间根据备份策略而定。)、5级-实时数据备份(使用镜像技术和数据复制技术实现实时备份,数据丢失极小,恢复时间缩短至分钟或秒级。)、6级-零数据丢失(最高级别的灾难恢复,通过专用存储网络同步镜像数据至备份中心,实现零数据丢失和快速业务接管)。
云计算服务体系结构:PaaS(PlatformasaService)(平台即服务)、SaaS(SoftwareasaService)(软件(应用)即服务)、IaaS(InfrastructureasaService)(基础设施即服务)
CMMI(CMMI(CapabilityMaturityModelIntegration,即能力成熟度模型集成))一共分为五个级别,从低到高分别为:第1级:初始级(在成熟度第1级中,过程通常是混乱的,组织没有提供稳定的开发环境。成功往往依赖于个人的能力和拼搏精神,而不是经过验证的过程。)、第2级:已管理级(在成熟度第2级中,组织建立了基础的项目管理过程来跟踪进度和功能特性,制定了必要的过程纪律来进行开发,并能重复类似项目取得的成功。)、第3级:已定义级(在成熟度第3级中,组织的工作过程都已详尽地说明,并应用标准、规程、工具及方法来表现。项目可以对组织的标准过程进行裁剪,以建立项目过程。在CMMI的已定义级中,开发过程,包括技术工作和管理工作,均已实现标准化、文档化。建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均可控制,对项目进行中的过程、岗位和职责均有共同的理解。)、第4级:量化管理级(在成熟度第4级中,组织选定对整体过程绩效有重大影响的子过程,并使用统计和其他量化技术来控制这些子过程。建立质量与过程绩效的量化目标,并以该目标为管理过程的准则。)、第5级:优化级(在成熟度第5级中,组织根据对过程变化共性原因的量化了解,持续进行过程改进。专注于持续改进过程绩效,已经建立组织的量化过程改进目标,并持续修订以反映持续变化的经营目标。)
产品配置是指一个产品在其生命周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的文档、计算机程序、部件及数据的集合。
需求管理包括变更控制、版本控制、需求跟踪(需求跟踪包括编制每个需求与系统元素之间的联系文档,这些元素包括其它需求、体系结构、设计部件、源代码模块、测试、帮助文件和文档等。)、需求状态跟踪。
软件生命周期划分为软件定义、软件开发、软件运行、软件维护。
RUP(RationalUnifiedProcess)软件开发生命周期9个核心工作流:业务建模(理解待开发系统所在的机构及其商业运作,确保所有参与人员对待开发系统所在的机构有共同的认识,评估待开发系统对所在机构的影响。)、需求(定义系统功能及用户界面,使客户知道系统的功能,使开发人员理解系统的需求,为项目预算及计划提供基础。)、分析与设计(把需求分析的结果转化为分析与设计模型)、实现(把设计模型转换为实现结果,对开发的代码做单元测试,将不同实现人员开发的模块集成为可执行系统)、测试(检查各子系统的交互与集成,,验证所有需求是否均被正确实现,对发现的软件质量上的缺陷进行归档,对软件质量提出改进建议。)、部署(打包、分发、安装软件,升级旧系统;培训用户及销售人员,并提供技术支持)、配置与变更管理(跟踪并维护系统开发过程中产生的所有制品的完整性和一致性)、项目管理(为软件开发项目提供计划、人员分配、执行、监控等方面的指导,为风险管理提供框架)、环境(为软件开发机构提供软件开发环境,即提供过程管理和工具的支持)[1](没有成本!)
内模式定义的是存储记录的类型、存储域的表示、存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。
系统中有正在运行的事务,若要转储全部数据库,则应采用动态备份(动态备份是指备份期间允许对数据库进行存取或修改,即备份和用户事务可以并发执行。)方式.
Armstrong公理系统设关系模式RU,F,其中U为属性集,F是U上的一组函数依赖,推理规则(①A1自反律:若Y⊆X⊆U,则X→Y为F所蕴含;②A2增广律:若X→Y为F所蕴含,且Z⊆U,则XZ→YZ为F所蕴含;③A3传递律:若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含。根据上面三条推理规则,又可推出下面三条推理规则:④合并规则:若X→Y,X→Z,则X→YZ为F所蕴含;⑤伪传递规则:若X→Y,WY→Z,则XW→Z为F所蕴含;⑥分解规则:若X→Y,Z⊆Y,则X→Z为F所蕴含。)
宏内核(宏内核将所有系统服务(包括设备驱动程序、内存管理、进程管理等)都集成在单一的内核空间中,这通常能提供较高的性能,但降低了模块化和可维护性。)和微内核(微内核只包含最基本的操作系统服务(如进程调度和通信),将其他服务(如设备驱动程序)放在用户空间或作为服务器进程运行,这提供了更高的模块化和安全性,但可能牺牲一些性能。)的主要区别在于它们的架构和设计哲学。
AI芯片的技术架构包括GPU,FPGA,ASIC和TPU
POP3(邮件接收协议,缺省端口110)、SMTP(邮件发送协议,缺省端口25)、HTTP(超文本传输协议,缺省端口80)、IMAP(交互式邮件存取协议,缺省端口143)
业务流程图(TFD)、(是分析和描述现有系统的传统工具,是业务流程调查结果的图形化表示)实体联系图(E-R图)(它是描述概念世界,建立概念模型的实用工具)[1](信息建模方法是从数据的角度对现实世界建立模型,模型是现实系统的一个抽象,信息建模方法的基本工具是实体联系图)数据流图(DFD)(是表达系统内数据的流动并通过数据流描述系统功能的一种方法)数据字典(DD)(是在DFD的基础上,对DFD中出现的所有命名元素都加以定义,使得每个图形元素的名字都有一个确切的解释)
数据资产的特性:可增值,可控制,可量化,可变现、虚拟性、共享性、时效性、安全性、交换性和规模性[1](数据资产没有可测试,可维护)
数据管理能力成熟度评估模型(DCMM):数据战略、数据治理、数据架构、数据应用、数据安全、数据质量、数据标准和数据生存周期[1](没有数据维护,数据测试)
微服务架构采用去中心化管理,面向服务架构采用集中式管理
基于规则的系统包括规则集(规则集是系统的核心,它定义了所有可能的规则和决策条件。)、规则解释器(规则解释器负责解析和执行这些规则,它是系统的执行引擎。)、规则/数据选择器(规则/数据选择器根据实时数据和规则集中的条件来选择适用的规则。)和工作内存(工作内存则提供了数据存储和查询的功能,支持规则解释器的执行过程。),一般用在人工智能领域和DSS中。
软件复杂性度量三种:代码行方法(是一种最简单的方法,该方法认为,代码行越多,软件越容易产生漏洞)、Helstead方法(思路是根据程序中可执行代码行的操作符和操作数的数量来计算程序的复杂性。操作符和操作数的量越大,程序结构就越复杂)、McCabe方法(环形复杂度)(环路复杂度用来定量度量程序的逻辑复杂度)
Soc称为系统级芯片,也称片上系统,它是一个有专用目标的(SOC不是一块处理器芯片。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上从广义角度讲,SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。国内外学术界一般倾向将SoC定义为将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,它通常是客户定制的,或是面向特定用途的标准产品)集成电路产品(SOC不是一块处理器芯片。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上从广义角度讲,SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。国内外学术界一般倾向将SoC定义为将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,它通常是客户定制的,或是面向特定用途的标准产品)[1](SOC不是一块处理器芯片)
AI芯片的关键特点有:新型计算范式、训练和推断、大数据处理能力、数据精度、可重构能力、软件工具。
以太网交换机转发表,交换机的初始MAC地址表为空[1](因为交换机接收到数据帧后,如果没有相应的表项,交换机慧采用ARP洪泛操作,即广播方式进行转发)[2](因为交换机通过读取输入帧中的源地址添加相应的MAC地址表项)[3](交换机的MAC地址表项是动态增长的)
Internet网络核心采用的是分组交换方式(这是互联网的基础传输机制。分组交换允许数据被分割成小的数据包,每个数据包独立地在网络中传输,并根据路由信息被转发到目的地。这种方式提高了网络的灵活性和效率,尤其是在处理不同类型的数据流量时)
SDN网络架构(SDN(SoftwareDefinedNetwok)软件定义网络,本质是将网络软件化,这样就可以像升级、安装软件一样对网络进行修改,方便更多的应用程序能快速部署到网络上。)有三层:应用层(对应用户不同的业务和应用)、控制层(主要负责处理数据平面资源的编排,维护网络拓扑、状态信息等)、数据转发层(负责用户数据的转发)
Web服务器主要性能指标:最大并发连接数、响应延迟、吞吐量[1](链接正确跳转不属于性能指标)
常见的Web服务器性能评测方法:基准性能测试、压力测试和可靠性测试
企业数字化转型的五个发展阶段:初始级发展阶段、单元级发展阶段、流程级发展阶段、网络级发展阶段、生态级发展阶段[1](企业数字化。生态肯定有,一定要有流程。没有系统级的!)
信息化需求三个层次:战略需求(组织信息化的目标是提升组织的竞争能力,为组织的可持续发展提供一个支持环境)、运作需求(组织信息化的运作需求是组织信息化需求非常重要且关键的一环,它包含三方面的内容:一是实现信息化战略目标的需要;二是运作策略的需要,三是人才培养的需要)和技术需求(由于系统开发时间过长等问题在信息技术层面上对系统的完善、升级、集成和整合提出了需求)
耦合是指模块之间的依赖程度(正确的设计原则是尽量使用数据耦合、少用控制耦合和特征耦合、限制公共环境耦合的范围、完全不用内容耦合)从低到高依次为:数据耦合(数据耦合是指两个模块之间通过数据参数(如简单数据值)来传递信息,这种耦合程度最低,是比较理想的模块间通信方式)、控制耦合(控制耦合是指一个模块通过传递控制信息(如开关、标志等)来控制另一个模块的执行逻辑。特征耦合是指当把整个数据结构作为参数传递而被调用的模块只需要使用其中一部分数据元素时的耦合。公共环境耦合是指通过一个公共的数据环境(如全局变量等)相互作用的耦合)、特征耦合、公共环境耦合、内容耦合(内容耦合是指一个模块直接访问另一个模块的内部数据,或者一个模块不通过正常入口转到另一个模块内部,这种耦合程度最高,是最差的耦合方式)。
内聚从低到高依次为:分为偶然内聚(偶然内聚是指模块内各部分之间没有联系,或者即使有联系也很松散。例如,一个模块中包含了打印报表、计算平方根和读取文件这三个毫无关联的功能)、逻辑内聚(逻辑内聚是指模块内执行几个逻辑上相似的功能,通过参数的不同来区分。例如,一个模块可以对不同类型的数据(整数、浮点数等)进行排序操作,它根据传入的参数类型决定具体的排序方式)、时间内聚(时间内聚是指模块内的各部分由于执行时间相同而组合在一起。例如,一个模块在系统初始化时,同时完成加载配置文件、初始化数据库连接和创建一些系统对象等操作)、过程内聚、通信内聚、顺序内聚和功能内聚(功能内聚是指模块内的所有部分都是为了完成一个单一的功能。例如,一个用于计算三角形面积的模块,它的所有代码都是围绕着如何根据三角形的底和高来准确计算面积这个功能展开的)
扩展
若系统正在将系统目录(一般情况下,系统不会去回写用户程序、用户数据,即便系统去写了这两部分也不会对系统本身造成较大的影响。只有系统对系统本身的目录或关键文件回写异常,才有可能导致较大的影响,严重的会导致系统崩溃。举个例子,linux系统下root账号回写/etc/异常时,可能会导致系统DNS服务异常。)文件修改的结果写回磁盘时系统发生掉电、则对系统影响相对较大。
甲完成该软件的开发后就拥有了该软件的著作权,乙将该程序稍加修改就发布,侵犯了甲的软件著作权。
根据《软件产品管理办法》第四条软件产品的开发、生产、销售、进出口等活动应遵守我国有关法律、法规和标准规范(任何单位和个人不得开发、生产、销售、进出口含有以下内容的软件产品:(一)侵犯他人知识产权的;(二)含有计算机病毒的;(三)可能危害计算机系统安全的;(四)含有国家规定禁止传播的内容的;(五)不符合我国软件标准规范的。)[1](其中没有“未经国家正式批准”这一项)
计算如果X和Y都是某线性规划问题的最优解,则当(λ,μ=0,λ+μ=1(线性规划中,如果可行域是凸集(这通常是线性规划问题的标准假设),那么任何两个最优解的凸组合也将是最优解。凸组合的定义是λX+μY,其中λ,μ≥0且λ+μ=1。_esc_newline_))时,λX+μY一定也是其最优解
在磁盘调度管理中,应先进行移臂调度,再进行旋转调度。假设磁盘移动臂位于20号柱面上,进程的请求序列如下表所示。如果采用最短移臂调度算法,那么系统的单应序列应为(4)
1.先找柱面号离移动臂近的,再找扇区号(从底往高),如果扇区号一样再找磁头号(从底往高)
计算机产生的随机数大体上能在(0,1)区间内均匀分布。假设某初等函数f(x)在(0,1)区间内取值也在(0,1)区间内,如果由计算机产生的大量的(M个)随机数对(rl,r2)中,符合r2≤f(rl)条件的有N个,则N/M可作为(69)的近似计算结果
首先,理解题目中的关键信息:
计算机产生的随机数在(0,1)区间内均匀分布。
函数f(x)在(0,1)区间内的取值也在(0,1)区间内。
有M个随机数对(r1,r2),其中N个满。
接下来,分析几何意义:
考虑函数y=f(x)与直线y=r2在(0,1)×(0,1)平面上的交点。
对于每一个r1,如果r2小于或等于f(r1),则点(r1,r2)满足条件。
这相当于在(0,1)×(0,1)平面上,由曲线y=f(x)、直线x=0、x=1、y=0和y=1围成的区域(称为曲边梯形)内,随机撒M个点,然后计算落在曲线y=f(x)下方的点的比例。
这个比例近似等于曲边梯形的面积与整个正方形面积的比值。
即,近似等于。
综上所述,可作为的近似计算结果。
某项目包括A、B、C、D四道工序,各道工序之间的衔接关系。正常进度下各工序所需的时间和直接费用、赶工进度下所需的时间和直接费用如下表所示。该项目每天需要的间接费用为4.5万元。根据此表,以最低成本完成该项目需要()天。
这里表格的意思是,A作业本来是3天完成,一共需要10万,他最少也要一天完成,一共需要18万,也就是说A作业压缩两天增加了18-10=8万,压缩一天就是增加8/2=4万。同理可以算出,压缩B作业1天需要增加1万元,压缩C作业1天需要增加4万元,压缩D作业1天需要增加2万元。所以先压缩关键路径上的D作业,压缩2天,此时关键路径改变为AB和ACD,想要减短工期则需要同时压缩这两条关键路径,可以先选择压缩A作业2天,然后只能同时压缩BD才能使增加的直接费用少于4.5,所以BD作业同时压缩1天。此时为最低成本,A作业还需1天完成,B作业还需6天完成,C作业还需4天完成,D作业还需2天完成,关键路径为AB和ACD,工期为7天。
某计算机系统页面大小为4K,进程P1的页面变换表如下图示,看P1要访问数据的逻辑地址为十六进制1B1AH,那么该逻辑地址经过变换后,其对应的物理地址应为十六进制()。
4K总共2^12个字节。二进制四位代表一个十六进制。总共3位保留B1A偏移量,1对应的物理块号是6其物理地址是6B1AH
某文件系统文件存储采用文件索引节点法。每个文件索引节点中有8个地址项,每个地址项大小为4字节,其中5个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引。磁盘索引块和磁盘数据块大小均为1KB。若要访问文件的逻辑块号分别为1、518,则系统应分别采用
1.直接地址5.一级间接地址2个。二级地址1个
2.磁盘索引块和磁盘数据块大小均为1KB,每个地址项大小为4字节。每个间接块是2^10/4=256个地址
3.2个一级间接地址索引,总共有2*256=512个逻辑块
4.1个一级有256个块。每个一级间接块又指向多个数据块。1个二级间接块可以索引,256*256=2^16
逻辑块号1:这是一个较小的块号,在直接地址索引的范围内(前5个块);
逻辑块号518:需要计算这个块需要的索引类型。
直接地址索引可以覆盖前5个块(0-4);
之后是一级间接地址索引,可以覆盖256×2=512个块(块号5-516);
逻辑块号518在一级间接地址索引范围之外,因此使用二级间接地址索引。
假设系统中互斥资源R的可用数为25。T0时刻进程P1、P2、p3、P4对资源R的最大需求数、已分配资源数和尚需资源数的情况如表a所示,若P1和P3分别申请资源R数为1和2,则系统()。
表aT0时刻进程对资源的需求情况
1.R的可用数初始为25
2.目前已经给4个进程分配出去6+4+7+6=23个资源
3.R剩余2个资源只能分配给尚需资源数最少的剩余2个资源只能分配给尚需资源数最少的P3
英文Micro-serviceisasoftwaredevelopmenttechnology,whichadvocatesdividingasingleapplicationintoagroupofsmallservices,whichcoor(architecture),,,anditiseasiertounderstandand(maintain).Second,thisarchitectureallowseachservicetobe(developed),themicro-servicearchitecturemodeenableseachservicetobe(deployed),themicro-servicearchitectureenableseachserviceto(ext)indepently.