SaaS(Software-as-a-Service,软件即服务) PaaS(Platform-as-a-Service,平台即服务) IaaS(Infrastructure-as-a-Service,基础设施即服务)
数据库设计: 需求分析->概念结构设计->逻辑结构设计
浅拷贝(影子拷贝,要么全做要么全不做)
需要区分ER(实体关系)图的 属性冲突、命名冲突、结构冲突
特定领域软件架构(Domain Specific Software Achitecture,DSSA)的基本活动包括:领域分析、领域设计、领域实现 参考模型、参考需求、参考架构组成开发基础架构
领域分析的主要目的是获得领域模型,领域模型描述领域需求,领域设计的主要目的是为了获得解决方案
领域实现的主要目标是依据领域模型和DSSA开发和组织可重用信息,并对基础软件架构进行实现
架构设计首要选择一个合适的架构风格
流水线加速比算法:1、最大吞吐率 2、指定指令条数对应的加速比 流水线执行时间:(t1+t2+t3+...+tn)+(n-1)*【流水线执行周期】 流水线吞吐率 = 指令执行条数/流水线执行时间 流水线执行周期:最慢的指令执行时间 加速比:[不使用流水线的时间]/【流水线执行时间】
缓冲区执行时间计算:Max(C,T)+ M ,其中C(cpu计算时间)、T(缓冲区输入时间)、M(传送时间)
存储速度从快到慢分别是 寄存器、cache、内存、flash
相联存储器是一种按存储内容来存储和访问的存储器,不属于按寻址方式划分的存储器 计算机主存主要是由DRAM构成的
采用RAID6组建磁盘阵列的容量是 (N-2)*最低容量
Cache-主存构成的层次式存储系统中,为了提高地址转换速度,主存单元到Cache单元的地址转换采用硬件完成
AI芯片的技术架构包括 GPU(显卡芯片)、FPGA(对芯片硬件层进行编程和配置)、ASIC(专用芯片)
DMA(直接存储器访问)是数据在主存与I/0设备间的直接成块传送
面向构件编程需要的基本支持:1、多态性 2、模块封装性(高层次信息的隐藏) 3、后期的绑定和装载(部署独立性) 4、安全性
可移植对象适配器POA是对象实现与ORB其他组件之间的中介 伺服对象(Servant) CORBA对象的真正实现,负责完成客户端请求 对象适配器(Object Adapter) 用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用ORB内部的某些功能 对象请求代理(Object Request Broker) 解释调用并负责查找实现改请求的对象,将参数传给找到的对象,并调用方法返回结果。客户方不需要了解 服务对象的位置、通信方式、实现、激活或存储机制。
J2EE核心组成: 组件 Applet、Application、JSP/Servlet、EJB
构件是一组通常需要同时部署的原子构件,原子构件不会被单独部署(可以,但是不会这么做)
软件层面功耗控制主要从以下方面展开:1、软硬件协同 2、编译优化 3、算法优化 4、“中断”代替“查询” 5、电源的有效管理
紧耦合(直耦合)一般是通过总线和高速开关实现计算机间的互联,通过共享内存实现多机间的通信; 松耦合(间接耦合)系统 一般是通过通道或通信线路实现计算机间的互联
注意字的逻辑编号是从0开始计算的
活动图、BPMN、Petri-Net可以用来描述工作流,用例图不行
数字资产特征:可控制、可量化、可变现、虚拟性、共享性、失效性、安全性、交换性、规模性
板级支持包(BSP)介于主板硬件和操作系统中驱动层程序之间的一层,作为对硬件的抽象,实现了【硬件有关性,操作系统有关性】。为操作系统提供具体硬件的操作和控制方法;不同操作系统具有各自的软件层次结构,因此BSP必须按照特定操作系统的定义形式来写。
软件结构化设计: 架构设计、接口设计、数据设计、过程设计 Internet网络核心采用的分组交换方式,这是互联网基础传输机制 SDN软件定义网络,本质是将网络软件化,包含三层:应用层、控制层、数据转发层(没有逻辑层) 企业数字化转型五个阶段: 初始级发展阶段、单元级发展阶段、流程级发展阶段、网络级发展阶段、生态级发展阶段
DhcpOffer 是 DHCP协议交互过程中,由DHCP服务器发送给DHCP客户端的报文,用于通知客户端分配的IP地址、网关、DNS服务器地址等配置信息 分布式系统中,中间件通常提供 交互支持和提供公共服务的支持。 可修改的构件是指可以进行版本替换并增加构件新功能。 IPSec 是网络层安全协议 WPA2使用了AES加密算法,安全性更高
遗留系统评价框架:1、淘汰策略:低水平低价值 2、继承策略:低水平、高价值 3、改造策略:高水平、高价值 4、集成策略:高水平、低价值 系统工程利用计算机作为工具,对系统的结构、要素、信息和反馈进行分析,以达到最优规划、最优设计、最优管理和最优控制
第五节:计算机语言 UML对系统架构的定义是系统的组织架构,包括系统分解的组成部分,以及他们关联性、交互机制和指导原则等提供系统设计的信息。 逻辑视图:表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包、用例实现的子集 进程视图:可执行线程和进程作为活动类的建模 实现视图:对组成基于系统的物理代码的文件和构件进行建模 部署视图:把构件部署到一组物理模型上,表示软件到硬件的映射和分布结构 用例视图:最基本的需求分析模型
web客户端脚本包括 VbScript、JavaScript UML中4种事物:1、结构事物:模型中的静态部分,描述概念或物理元素 2、行为元素:UML模型的动态部分,描述了跨越时间和空间的行为 3、分组事物:UML模型的组仅部分,是一些由模型分解成的盒子 4、注释事物是UML模型的解释部分,用来描述、说明和标注模型的任何元素 UML4种关系: 1、依赖:一个独立事物发生变化会影响另一个事物 2、关联(组合、聚合) 3、泛化 4、实现 组合:部分和整体具有统一的生命周期;组合:部分可能属于多个整体
环路复杂度 = 闭环个数 + 1
UML2.0交互模型包括 交互概览图、定时图、顺序图(序列图)、通信图(协作图),动态模型还包括状态图和活动图(交互概览图)
类图展示了一组对象、接口、协作和他们之间的关系;定时图强调消息跨越不同对象或参与者的实际时间 包图描述由模型本身分解而成的组织单元,以及他们之间的依赖关系
配置管理工具常见功能:版本控制、变更管理、配置状态管理、访问控制、安全控制
第七节:系统性能 web服务器测试中,反映其性能指标主要有最大并发连接数、响应延迟、吞吐量 常见的web服务器性能测评方法有基准性能测试、压力测试和可靠性测试。 4种评价程序:1、小型基准程序 2、真实程序 3、核心程序 4、合成基准程序 其中,合成基准程序测评的准确度最低,真实程序准确度最高,核心程序使用最频繁 应用程序中应用最频繁的那部分核心程序作为评价计算机性能的标准程序,称为 基准测试程序 。 基准测试:运行一个标准程序对多种计算机系统进行检查,以比较和评价他们的性能。 测评准确度依次递减:真实程序>核心程序>小型基准程序>合成基准程序。
计算机系统的可用性:故障率、健壮性、可恢复性 软件可靠性可以通过历史数据和开发数据直接测量和估算出来。 主存储器大小反映了计算机即时存储信息的能力。 RAID6的容量是(N-2)*最低容量
等效指令速度法:吉普森混合法 或 混合比例算法,是通过各类指令在程序中所占比例进行计算得到的。 基准程序法:考虑了诸如I/O结构、操作系统、编译程序的效率对系统的影响,可以较为准确评估计算机系统的实际性能。 对计算机评价的主要性能指标有:时钟评率、运算速度、运算精度、内存的存储容量,存储器的存取周期、数据处理速率、吞吐率、各种响应时间、 各种利用率、RASIS特性(可靠性、可用性、可维护性、完整性、安全性、平均故障时间、可扩充性、性能价格比)
信息系统开发几大方法:1、结构化方法:自顶向下 2、面向对象 3、面向服务 4、原形化方法:适用于需求不明确的系统开发
商业智能系统处理过程四阶段: 数据预处理通过数据挖掘实现企业原始数据的初步整合,建立数据仓库是后续数据处理的基础
供应链信息流涵盖了从供应商、制造商到分销商再到零售商等供应链中的所有环节,分为需求信息流和供应信息流。需求信息(如客户订单、 生产计划和采购合同等)从需方到供方流动时,便引发物流。同时,供应信息(如入库单、完工报告单、库存记录、可供销售量、提货发运单等) 又同物料一起沿着供应链从供方向需求方流动。
电子商务系统中参与电子商务活动的实体包括 客户、商户、银行和认证中心
企业信息化涉及对企业管理理念的创新,管理流程的优化,从作为管理核心的财务、物料管理,转向技术、物资、人力资源的管理,并延伸到企业 技术创新、工艺设计、产品设计、生产制造过程的管理,进而还要拓展到客户关系管理、供应链管理乃至发展到电子商务。
涉及数字签名的细节:发送方A要发送给接收方B的报文经过A的私钥签名和B的公钥加密后形成报文EB(DA(P))
非对称加密算法(公钥加密算法):RSA、ElGamal、背包算法、Rabin、D-H
对称加密算法:DES、3DES、IDEA、RC5、AES
用户A从CA处获取了用户B的数字证书,用户A通过CA的公钥可以确认该数字证书的有效性(用户B的数字证书中包含了CA的签名)
SQL注入攻击,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
web网站向CA申请了数字证书,用户登录过程中可通过CA的公钥对证书的签名进行验证,一旦验证通过,该证书就是有效的,从而验证该网站的真伪。
生成摘要的目的是防止篡改,对摘要进行加密的目的是防止抵赖
Abstraction定义抽象类的接口,维护一个指向Implementor类型对象的指针。 Implementor定义实现类的接口,该接口仅提供基本的操作,而Abstraction则定义了基于这些基本操作的较高层次的操作。 CMM 能力成熟度模型(Capacity Maturity Model)用来指导软件过程改进的
软件过程:软件描述、软件开发、软件有效性验证、软件进化 软件系统工具中,版本控制工具属于 软件维护工具 软件开发工具:需求分析、设计、编码与排错工具 软件维护工具:版本控制、文档分析、开发信息库、逆向工程、再工程 软件管理和软件支持工具:项目管理工具、配置管理、软件评价、软件开发工具的评价和选择 软件开发环境可划分为:环境信息库、过程控制和消息服务器、环境用户界面 4+1视图:逻辑视图、开发视图、物理视图(部署视图)、进程视图、统一的场景;用户关心的是【逻辑视图】,分析人员关心的是【用例视图】, 系统人员关心【进程视图】,系统工程师关心的是【部署视图】 螺旋模型每个阶段的4部分组成:目标设定、风险分析、开发和有效性验证、评审
瀑布模型:结构化方法,开发阶段性,需求明确,文档齐全,风险控制弱。将整个开发流程分为目标设定、风险分析、开发和有效性验证、评审四个过程。 螺旋开发:将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。 原型模型:需求不明确 RAD模型:需要用户参与,模块化要求高,不适用新技术 RUP模型:用例驱动、架构为中心、迭代、增量 喷泉模型:面向对象开发,复用性好、开发过程无间隙,节省时间 构建模型:通过重用来提高软件的可靠性和易维护性,程序在修改时产生较少的副作用。 敏捷开发:强调快速响应变化、团队协作、持续交付和频繁的反馈机制。敏捷开发有多种具体实现方式,如Scrum、极限编程(XP)等。
统一软件开发过程基于面向对象的软件开发过程:起始阶段、细化阶段、构建阶段、交付阶段、生产阶段
基于UML的需求分析:1、利用用例以及用例图表示需求;2、利用包图和类图表示目标软件系统的总体框架结构。 快速应用开发适合系统模块化程度较高。 软件生命周期:1、软件定义时期 2、开发时期 3、运行和维护 产品配置是指一个产品在其生命周期各个阶段所产生的各种形式和各种版本的文档、计算机程序、部件及数据 敏捷方法是一种以人为核心,迭代、循序渐进的开发方法。
RUP软件开发生命周期的9个核心工作流:1、业务建模2、需求3、分析与设计4、实现5、测试6、部署7、配置与变更管理8、项目管理9、环境 功能驱动开发方法中,程序开发人员分成首席程序员和“类”程序员
软件的逆向工程:分析已有的程序,寻求比源代码更高级的抽象表现形式。 再工程(修复和改造工程):在逆向工程所获得信息的基础上修改或重构已有的系统,产生系统的一个新版本 体系文件的层次结构(顺序):1、顶层方针2、过程文件3、规程文件按照自顶向下的塔型排序4、模板类文件
根据传统的软件生命周期方法学,可以把软件生命周期划分为 软件定义、软件开发、软件运行、软件维护 平台无关模型在不涉及实现的情况下对软件系统进行建模 需求基线 -> 需求约定
【系统分析与设计】 结构图:包含 类图、对象图、组件图和部署图 行为图:包含 用例图、顺序图、活动图、状态图、通讯图
结构化分析的常用手段是数据流图(DFD)和数据字典 1、需求分析阶段: 数据流图 2、概要设计阶段: 模块结构图、层次图、HIPO图 3、详细设计阶段: 程序流程图、伪代码、盒图
设计模式三大类:1、创建型 2、结构型 3、行为型
面向对象的分析模型主要是由顶层架构图、用例图、用例和领域概念模型构成,设计模型则包含以包图表示的软件体系结构图 以交互图表示的用例实现图、完整精确的类图、描述复杂对象的状态图和用于描述流程化处理过程的活动图等。
结构化的开发一般是把系统功能是为一个大的模块儿,再根据系统分析与设计的要求对其进行进一步的模块儿分解和组合。 OMT方法使用了建模的思想,讨论如何建立一个实际的应用模型 面向对象分析中,利用用例与用例图表示需求,从用例模型中提炼成领域模型 过程集成提供企业之间的信息共享能力
区分桥接模式、命令模式、组合模式、代理模式
结构事物是模型的静态部分,描述概念和物理元素; 行为事物是UML模型的动态部分,描述时间和空间的行为; 分组事物是UML的组织部分,它们是一些由模型分解成的盒子; 注释事物是UML模型的解释部分,这些注释事物用来描述、说明和标注模型的任何元素。
依赖关系:发生在两个事物之间,其中一个事物变化了会影响另外一个事物; 关联关系:结构关系,描述一组链,链式对象之间的连接;聚合是一种特殊类型的关联,描述整体与部分之间的结构关系; 泛化关系:特殊一般关系,特殊元素的对象会替代一般元素的对象; 实现关系:类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。
软件设计:体系结构后设计、数据设计、接口设计、过程设计
消息中间件 : 提供了可靠高效实时跨平台传输的能力
路由器隔离广播域,交换机不行,虽然三层以上交换机具有VLAN功能,也可以分隔广播域,但是各子广播域是不能通信交流的
CMMI在成熟度2级即已管理级,意味着组织要确保策划、文档化、执行、监督和控制项目级的过程,需要为过程建立明确的目标,并能实现成本、进度和质量目标等。
软件需求开发的最终文档是软件需求说明书(software requirements specification ,SRS) SRS经过评审批准后,则定义了开发工作的需求基线。这个基线在客户和开发者之间构筑了产品功能需求和非 功能需求的一个约定。
做反规范化设计,拆分一个表时,不仅仅影响逻辑结构即模式,也影响存储位置即内模式。但如果做视图可以屏蔽对用户的感知, 即不影响外模式。
锁管理器进程:包括锁授权、释放锁和死锁检测 数据库写进程:有一个或多个进程用来将修改过的缓冲块输出到基于联系方式的磁盘中。 日志写进程:该进程将日志记录从日志记录缓冲区输出到稳定存储器上。
架构描述语言(ADL)主要包括:组件、组件接口、连接件和架构配置
管道---过滤器、批处理 黑板系统的传统应用是信号处理领域,如语音识别和模式识别。
软件架构复用的类型包括机会复用和系统复用。
在 UML用例图中,用例与用例之间的关系主要包括扩展关系(Extend)、包含关系(Include)和泛化关系(Generalization)或者说是继承关系。扩展关系表示一个用例可以在某些条件下扩展另一个用例,包含关系表示一个用例包含了另一个用例的行为,而泛化关系表示一个用例是另一个用例的特化。聚合关系(Aggregation)则主要用于表示类之间的关系不适用于用例之间的关系,
建模、仿真和基于数据融合的数字线程是数字孪生体的三项核心技术。 嵌入式操作系统通常不具备丰富的图形用户界面,而是专注于实时性、可剪裁性和可移植性等特性。RMS(Rate Monotonic Scheduling)调度算法根据任务周期确定优先级,周期越短,优先级越高。
嵌入式数据库特点:嵌入性、实时性、移动性、伸缩性
嵌入式数据库中,SQLite和Berkeley DB是文件型数据库,Firebird是网络型数据库,eXtremeDB则是内存型数据库。Oracle是大型数据库,不是嵌入式数据库。
宏内核机做内核的王要区别在于它们的架构和设计学。宏内核将所有系统服务(包括设备驱动程序、内存管理、进程管理等)都集成在单一的内核空间中,这通常能提供较高的性能,但降低了模块化和可维护性。相反,微内核只包含最基本的操作系统服务(如进程调度和通信),将其他服务(如设备驱动程序)放在用户空间或作为服务器进程运行,这提供了更高的模块化和安全性,但可能牺牲一些性能。在微内核架构中,由于大部分系统服务都运行在用户空间,进程间通信(IPC)通常通过消息传递机制来实现。这种机制允许进程通过发送和接收消息来进行通信,而不需要直接访问对方的内存空间,从而提高了系统的安全性和模块化。
系统工程对系统的结构、要素、信息、反馈进行分析,以达到最优规划、最优设计、最优管理、最优控制。
霍尔三维结构:逻辑维、时间维、知识维