多核 CPU 环境下进程的调度算法一般有全局队列调度和局部队列调度两种。(18)属于全局队列调
度的特征。
(18)A.操作系统为每个 CPU 维护一个任务等待队列
B.操作系统维护一个任务等待队列
C.任务基本上无需在多个 CPU 核心间切换,有利于提高 Cache 命中率
D.当系统中有一个 CPU 核心空闲时,操作系统便从该核心的任务等待队列中选取适当的任务执
行
参考答案:(18)B
试题解析:
对于多核 CPU,优化操作系统任务调度算法是保证效率的关键。一般任务调度算法有全局队列调度
和局部队列调度。
前者是指操作系统维护一个全局的任务等待队列,当系统中有一个 CPU 核心空闲时,操作系统就从
全局任务等待队列中选取就绪任务开始在此核心上执行。这种方法的优点是 CPU 核心利用率较高。
后者是指操作系统为每个 CPU 内核维护一个局部的任务等待队列,当系统中有一个 CPU 内核空闲时,
便从该核心的任务等待队列中选取恰当的任务执行,这种方法的优点是任务基本上无需在多个 CPU 核心
间切换,有利于提高 CPU 核心局部 Cache 命中率。目前多数多核 CPU 操作系统采用的是基于全局队列的
任务调度算法
以下关于多核处理器的说法中,不正确的是(16)。
(16) A.采用多核处理器可以降低计算机系统的功耗和体积
B.SMP、BMP 和 MP 是多核处理器系统通常采用的三种结构,采用哪种结构与应用场景相关,
而无须考虑硬件的组成差异
C.在多核处理器中,计算机可以同时执行多个进程,而操作系统中的多个线程也可以并行执
行
D.多核处理器是将两个或更多的独立处理器封装在一起,集成在一个电路中
参考答案:(16)B
试题解析:
多核是多微处理器核的简称,是将两个或更多的独立处理器封装在一起,集成在一个电路
中。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会
利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间
划分任务,多核处理器可在特定的时钟周期内执行更多任务。
多核与多 CPU 相比,可以很好降低系统的功耗和体积。
在多核技术中,计算机可以同时执行多个进程;在操作系统中,多个线程也可以并发执行。
SMP、BMP、MP 这几种处理器系统硬件结构都有差异,采用哪种,是要考虑这个因素的。
某 16 位 AD 芯片中标注电压范围是-5V~+5V,请问该款 AD 芯片的分辨率是(15)。
(15) A.10V
B.0.0763mV
C.0.1526mV
D.0.3052mV
参考答案:(15)C
试题解析:
2^16=65536。
10/65536*1000=0.152588mV
信息资源规划(InformationResourcePlanning,IRP)是信息化建设的基础工程,IRP 强调将需求分
析与(21)结合起来。IRP 的过程大致可以分为 7 个步骤,其中(22)步骤的主要工作是用户视图收集、
分组、分析和数据元素分析;(23)步骤的主要工作是主题数据库定义、基本表定义和扩展表定义;(24)
步骤的主要工作是子系统定义、功能模块定义和程序单元定义。
(21)A.系统建模 B.系统架构 C.业务分析 D.流程建模
(22)A.业务流程分析 B.数据需求分析 C.业务需求分析 D.关联模型分析
(23)A.信息接口建模 B.数据结构建模 C.系统数据建模 D.信息处理建模
(24)A.系统功能建模 B.业务流程分解 C.系统架构建模 D.系统业务重组
参考答案:(21)A (22)B (23)C (24)A
试题解析:
信息资源规划(InformationResourcePlanning,IRP)是信息化建设的基础工程,是指对企
业生产经营活动所需要的信息,对产生、获取、处理、存储、传输和利用等方面进行全面的规划。
IRP 强调将需求分析与系统建模紧密结合起来,需求分析是系统建模的准备,系统建模是用
户需求的定型和规划化表达。IRP 的主要过程如图所示。
业务流程重组(BusinessProcessReengineering,BPR)是针对企业业务流程的基本问题进行回顾,
其核心思路是对业务流程的(25)改造,BPR 过程通常以(26)为中心。
(25)A.增量式 B.根本性 C.迭代式 D.保守式
(26)A.流程 B.需求 C.组织 D.资源
参考答案:(25)B (26)A
试题解析:
业务流程重组(BusinessProcessReengineering,BPR)是针对企业业务流程的基本问题进
行反思,并对它进行彻底的重新设计,使业绩取得显著性的提高。与目标管理、全面质量管理、
战略管理等理论相比,BPR 要求企业管理人员从根本上重新思考业已形成的基本信念,即对长期
以来企业在经营中所遵循的基本信念(例如,分工思想、等级制度、规模经营和标准化生产等体
制性问题)进行重新思考。这就需要打破原有的思维定势,进行创造性思维。
由于 BPR 理论突破了传统的企业分工思想,强调以流程为核心,改变了原有以职能为基础
的管理模式,为企业经营管理提出了一个全新的思路。
耦合表示模块之间联系的程度。模块的耦合类型通常可分为 7 种。其中,一组模块通过参数表传递
记录信息属于(29)。一个模块可直接访问另一个模块的内部数据属于(30)。(31)表示模块之间的关
联程度最高。
(29) A.内部耦合 B.标记耦合 C.数据耦合 D.控制耦合
(30) A.内部耦合 B.标记耦合 C.数据耦合 D.控制耦合
(31) A.内部耦合 B.标记耦合 C.数据耦合 D.控制耦合
参考答案(29)B (30)A (31)A
试题解析:
软件模块之间的耦合度从低到高排序为:
1、非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用
来实现的。
2、数据耦合:一组模块借助参数表传递简单数据。
3、标记耦合:一组模块通过参数表传递记录信息(数据结构)。
4、控制耦合:模块之间传递的信息中包含用于控制模块内部逻辑的信息。
5、外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数
表传递该全局变量的信息。
6、公共耦合:多个模块都访问同一个公共数据环境,公共的数据环境可以是全局数据结构、共
享的通信区、内存的公共覆盖区等。
7、内容耦合:一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一个
模块的内部;两个模块有一部分程序代码重叠;一个模块有多个入口。
内聚表示模块内部各部件之间的联系程度,(32)是系统内聚度从高到低的排序。
(32)A.通信内聚、瞬时内聚、过程内聚、逻辑内聚
B.功能内聚、瞬时内聚、顺序内聚、逻辑内聚
C.功能内聚、顺序内聚、瞬时内聚、逻辑内聚
D.功能内聚、瞬时内聚、过程内聚、逻辑内聚
参考答案:(32)C
试题解析:
软件模块内部的内聚程度从高到低排序为:
1、功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。
2、顺序内聚:处理元素相关,而且必须顺序执行。
3、通信内聚:所有处理元素集中在一个数据结构的区域上。
4、过程内聚:处理元素相关,而且必须按特定的次序执行。
5、瞬时内聚(时间内聚):所包含的任务必须在同一时间间隔内执行。
6、逻辑内聚:完成逻辑上相关的一组任务。
7、偶然内聚(巧合内聚):完成一组没有关系或松散关系的任务。
试题解析:
CMM 的目的是帮助组织对软件过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预
算地开发出高质量的软件。CMM 的五个成熟度等级分别为初始级、可重复级、已定义级、已管理级和优
化级。
(1)初始级。初始级是未加定义的随意过程,软件过程的特点是无秩序的,有时甚至是混乱的。软件过程定义几乎处于无章法和步骤可循的状态,软件产品所取得的成功往往依赖于极个别人的努力和机遇。
(3)已定义级。已定义级是标准的和一致的过程,用于管理的和工程的软件过程均已文档化、标准化,并形成了整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。
某企业信息系统采用分布式数据库系统,该系统中“每节点对本地数据都能独立管理”和“当某一
场地故障时,系统可以使用其它场地上的副本而不至于使整个系统瘫痪”分别称为分布式数据库的(41)。
(41)A.共享性和分布性
B.自治性和分布性
C.自治性和可用性
D.分布性和可用性
参考答案:(41)C
试题解析:
分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的
每个节点具有独立处理的能力(称为场地自治),它可以执行局部应用,同时,每个节点也能通
过网络通信子系统执行全局应用。分布式数据库系统是在集中式数据库系统技术的基础上发展
起来的,具有如下特点:
(1)数据独立性。在分布式数据库系统中,数据独立性这一特性更加重要,并具有更多的
内容。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。
(2)集中与自治共享结合的控制结构。各局部的 DBMS 可以独立地管理局部数据库,具有自
治的功能。同时,系统又设有集中控制机制,协调各局部 DBMS 的工作,执行全局应用。
(3)适当增加数据冗余度。在不同的场地存储同一数据的多个副本,这样,可以提高系统
的可靠性和可用性,同时也能提高系统性能。
(4)全局的一致性、可串行性和可恢复性。
嵌入式系统初始化过程可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。
①片级初始化:完成嵌入式微处理器的初始化,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式和嵌入式微处理器的局部总线模式等。片级初始化把嵌入式微处理器从上电时的默认状态逐步设置成系统所要求的工作状态。这是一个纯硬件的初始化过程。
②板级初始化:完成嵌入式微处理器以外的其他硬件设备的初始化。另外,还需设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境。这是一个同时包含软硬件两部分在内的初始化过程。
③系统初始化:该初始化过程以软件初始化为主,主要进行操作系统的初始化。BSP将对嵌入式微处理器的控制权转交给嵌入式操作系统,由操作系统完成余下的初始化操作,包含加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等。最后,操作系统创建应用程序环境,并将控制权交给应用程序的入口。
试题解析:
归纳起来,典型的嵌入式系统具有以下特点:
(1)系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬
件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。
由于嵌入式系统总是用来完成某一特定任务的,整个系统与具体应用有机地结合在一起,升级
换代也以更换整个产品的方式进行,因此,嵌入式产品一旦进入市场,一般具有较长的生命周期。
(2)系统实时性强。很多嵌入式系统对外来事件要求在限定的时间内及时做出响应,具有实时性。根据实时性的强弱,通常将嵌入式系统分为实时嵌入式系统和非实时嵌入式系统,其中大部分为实时嵌入式系统。
(3)软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。
(4)处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的。通常具有功耗低、体积小和集成度高等优点,能够将许多在通用计算机上需要由板卡完成的任务和
功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。
(5)多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术、机
械技术与各行业的具体应用相结合的产物。通用计算机技术也离不开这些技术,但它们相互结
合的紧密程度不及嵌入式系统。
(6)系统透明性。嵌入式系统在形态上与通用计算机系统差异甚大。它的输入设备往往不是常见的鼠标和键盘之类的设备,甚至没有输出装置,用户可能根本感觉不到它所使用的设备
中有嵌入式系统的存在,即使知道,也不必关心嵌入式系统的相关情况。
POP3:110 端口,邮件收取。
SMTP:25 端口,邮件发送。
FTP:20 数据端口/21 控制端口,文件传输协议。HTTP:80 端口,超文本传输协议,网页传输。
DHCP:67 端口,IP 地址自动分配。
SNMP:161 端口,简单网络管理协议。
DNS:53 端口,域名解析协议,记录域名与 IP 的映射关系。
TCP:可靠的传输层协议。
UDP:不可靠的传输层协议。
ICMP:因特网控制协议,PING 命令来自该协议。
IGMP:组播协议。
ARP:地址解析协议,IP 地址转换为 MAC 地址。
RARP:反向地址解析协议,MAC 地址转 IP 地址。
(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)。交互概览图是活动图和顺序图的混合物。
UML对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。具体来说,就是指以下5个系统视图:
(1)逻辑视图。逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集。
(2)进程视图。进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构。
(3)实现视图。实现视图对组成基于系统的物理代码的文件和构件进行建模。
(4)部署视图。部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
(5)用例视图。用例视图是最基本的需求分析模型。
本题考查UML的相关知识。
从总体上来看,UML的结构包括构造块、规则和公共机制三个部分。
(1)构造块。UML有三种基本的构造块,分别是事物(thing)、关系(relationship)和图(diagram)。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个相互关联的事物的集合。
(2)公共机制。公共机制是指达到特定目标的公共UML方法,主要包括规格说明(详细说明)、修饰、公共分类(通用划分)和扩展机制四种。规格说明是事物语义的细节描述,它是模型真正的核心;UML为每个事物设置了一个简单的记号,还可以通过修饰来表达更多的信息;UML包括两组公共分类,分别是类与对象(类表示概念,而对象表示具体的实体)、接口与实现(接口用来定义契约,而实现就是具体的内容);扩展机制包括约束(扩展了UML构造块的语义,允许增加新的规则或修改现有的规则)、构造型(扩展UML的词汇,用于定义新的构造块)和标记值(扩展了UML构造块的特性,允许创建新的特殊信息来扩展事物的规格说明)。
(3)规则。规则是构造块如何放在一起的规定,包括为构造块命名;给一个名字以特定含义的语境,即范围;怎样使用或看见名字,即可见性;事物如何正确、一致地相互联系,即完整性;运行或模拟动态模型的含义是什么,即执行。
依赖(dependency)。依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
从UML事物关系的本质上来看,包含关系和扩展关系都属于依赖关系。对包含关系而言,抽象用例中的事件流是一定插入到基本用例中去的,并且插入点只有一个。扩展用例的事件流往往可以抽象为基本用例的备选事件流,在扩展关系中,可以根据一定的条件来决定是否将扩展用例的事件流插入到基本用例的事件流中,并且插入点可以有多个。在实际应用中,很少使用泛化关系,子用例的特殊行为都可以作为父用例中的备选事件流而存在。
计算机系统是一个硬件和软件的综合体,可以把它看作是按功能划分的多级层次结构,如图所示。这种结构的划分,有利于正确理解计算机系统的工作过程,明确软件、硬件在系统中的地位和作用。
(1)硬联逻辑级。这是计算机的内核,由门、触发器等逻辑电路组成。
(2)微程序级。这一级的机器语言是微指令集,程序员用微指令编写的微程序一般直接由硬件执行。
(3)传统机器级。这一级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。
(4)操作系统级。从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。
(5)汇编语言级。这一级的机器语言是汇编语言,完成汇编语言翻译的程序称为汇编程序。
(6)高级语言级。这一级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作。
(7)应用语言级。这一级是为了使计算机满足某种用途而专门设计的,因此,这一级的机器语言就是各种面向问题的应用语言。
系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计,它是系统开发过程中很关键的一步,其主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。根据任务的不同,详细设计又可分为多种,例如,网络设计、代码设计、输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。
创建型模式主要用于创建对象,结构型模式主要用于处理类或对象的组合,行为型模式主要用于描述类或对象的交互以及职责的分配。
观察者(observer)模式。观察者模式又称为发布-订阅模式、模型-视图模式、源-监听器模式或从属者(dependents)模式,是一种对象的行为型模式。它定义了对象之间的一种一对多的依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并被自动更新。观察者模式的优点在于实现了表示层和数据层的分离,并定义了稳定的更新消息传递机制,类别清晰,抽象了更新接口,使得相同的数据层可以有各种不同的表示层。
类模式包括:工厂方法、解释器、模板方法、适配器模式
常用的消息摘要算法有MD5,SHA等,市场上广泛使用的MD5,SHA算法的散列值分别为128和160位,由于SHA通常采用的密钥长度较长,因此安全性高于MD5。
编码流程为:
1、在原始信息位后加k个000,即1100000。
2、将1100000与生成多项式1011做模2除法,得到余数为010。
3、将原始信息位与余数连接起来得到:1100010。
流水线的吞吐率是指流水线在单位时间里所完成的任务数或输出的结果数。设某流水线有 5 段,有 1 段的时间为 2ns ,另外 4 段的每段时间为 lns,利用此流水线完成 100 个任务的吞吐率约为(16)个/s 。
(16)A.500×l06 B.490×l06 C.250×l06 D.167×l06
【答案】B
【解析】本题考查组成原理中的流水线技术。
流水线执行100个任务所需要的时间为:(2+1+1+1+1)+(100 - 1)*2=204ns所以每秒吞吐率为:(100/204)*109=490*106注意:1秒=109纳秒。
需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取出来的结果影响很大。在多种需求获取方式中,(19)方法具有良好的灵活性,有较宽广的应用范围,但存在获取需求时信息量大、记录较为困难、需要足够的领域知
识等问题。(20)方法基于数理统计原理,不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户,并可以减少数据收集偏差。(21)方法通过高度组织的群体会议来分析企业内的问题,并从中获取系统需求。
(19)A.用户访谈 B.问卷调查 C.联合需求计划 D.采样
(20)A.用户访谈 B.问卷调查 C.联合需求计划 D.采样
(21)A.用户访谈 B.问卷调查 C.联合需求计划 D.采样
【答案】A D C
需求工程主要包括两大部分:需求开发和需求管理。其中需求开发活动主要包括:需求获取、需求分析、需求定义、需求验证;需求管理活动包括:定义需求基线、处理需求变更、需求跟踪。
在系统开发中,原型是系统的一个早期可运行的版本,它反映最终系统的部分重要特性。
从原型是否实现功能来分,可分为水平原型和垂直原型两种。水平原型也称为行为原型,用来探索预期系统的一些特定行为,并达到细化需求的目的。水平原型通常只是功能的导航,但未真实实现功能。水平原型主要用在界面上。垂直原型也称为结构化原型,实现了一部分功能。垂直原型主要用在复杂的算法实现上。
从原型的最终结果来分,可分为抛弃式原型和演化式原型。抛弃式原型也称为探索式原型,是指达到预期目的后,原型本身被抛弃。抛弃式原型主要用在解决需求不确定性、二义性、不完整性、含糊性等。演化式原型为开发增量式产品提供基础,逐步将原型演化成最终系统,主要用在必须易于升级和优化的场合,适合于Web项目。
IDEF是一系列建模、分析和仿真方法的统称,从IDEF0到IDEF14(包括IDEF1X在内)共有16套方法,每套方法都是通过建模程序来获取某个特定类型的信息。它们分别是IDEF0(功能建模)、IDEF1(信息建模)、IDEF1X(数据建模)、IDEF2(仿真建模设计)、IDEF3(过程描述获取)、IDEF4(面向对象设计)、IDEF5(本体论描述获取)、IDEF6(设计原理获取)、IDEF7(信息系统审计)、IDEF8(用户界面建模)、IDEF9(场景驱动信息系统设计)、IDEF10(实施架构建模)、IDEF11(信息制品建模)、IDEF12(组织建模)、IDEF13(三模式映射设计)和IDEF14(网络规划)。
信息系统战略规划(Information System Strategic Planning,ISSP)方法经历了三个主要阶段,各个阶段所使用的方法也不一样。第一个阶段主要以数据处理为核心,围绕职能部门需求的信息系统规划,主要的方法包括企业系统规划法、关键成功因素法和战略集合转化法;第二个阶段主要以企业内部管理信息系统为核心,围绕企业整体需求进行的信息系统规划,主要的方法包括战略数据规划法、信息工程法和战略栅格法;第三个阶段的方法在综合考虑企业内外环境的情况下,以集成为核心,围绕企业战略需求进行的信息系统规划,主要的方法包括价值链分析法和战略一致性模型。
企业应用集成(Enterprise Application Integration,EAI)可以包括表示集成、数据集成、控制集成和业务流程集成等多个层次和方面。
表示集成也称为界面集成,这是比较原始和最浅层次的集成,但又是常用的集成。这种方法把用户界面作为公共的集成点,把原有零散的系统界面集中在一个新的界面中。表示集成是黑盒集成,无须了解程序与数据库的内部构造。常用的集成技术主要有屏幕截取和输入模拟技术。表示集成通常应用于以下几种情况:
①在现有的基于终端的应用系统上配置基于PC的用户界面;
②为用户提供一个看上去统一,但是由多个系统组成的应用系统;
③当只有可能在显示界面上实现集成时。
为了完成控制集成和业务流程集成,必须首先解决数据和数据库的集成问题。有很多不同的中间件工具可以用于数据集成。例如,批量文件传输,即以特定的或是预定的方式在原有系统和新开发的应用系统之间进行文件传输;用于访问不同类型数据库系统的ODBC标准接口;向分布式数据库提供连接的数据库访问中间件技术等。数据集成通常应用于以下几种情况:
①需要对多种信息源产生的数据进行综合分析和决策;
②要处理一些多个应用需要访问的公用信息库;
③当需要从某数据源获得数据来更新另一个数据源时,特别是它们之间的数据格式不相同时。
控制集成也称为功能集成或应用集成,是在业务逻辑层上对应用系统进行集成的。控制集成的集成点存于程序代码中,集成处可能只需简单使用公开的API就可以访问,当然也可能需要添加附加的代码来实现。实现控制集成时,可以借助于远程过程调用或远程方法调用、面向消息的中间件、分布式对象技术和事务处理监控器来实现。
业务流程集成也称为过程集成,这种集成超越了数据和系统,它由一系列基于标准的、统一数据格式的工作流组成。当进行业务流程集成时,企业必须对各种业务信息的交换进行定义、授权和管理,以便改进操作、减少成本、提高响应速度。
如上图,把对遗留系统的评价结果分列在坐标的四个象限内。对处在不同象限的遗留系统采取不同的演化策略。
1. 淘汰策略
第三象限为低水平、低价值区,即遗留系统的技术含量较低,且具有较低的业务价值。对这种遗留系统的演化策略为淘汰,即全面重新开发新的系统以代替遗留系统。完全淘汰是一种极端性策略,一般是企业的业务产生了根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料都丢失了。经过评价,发现将遗留系统完全淘汰,开发全新的系统比改造旧系统从成本上更合算。
对遗留系统的完全淘汰是企业资源的根本浪费,系统分析师应该通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。
2. 继承策略
第二象限为低水平、高价值区,即遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。对这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。
3. 改造策略
第一象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有极大的生命力。系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,对这种遗留系统的演化策略为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变;数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。
4. 集成策略
第四象限为高水平、低价值区,即遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。
在系统设计过程中,类可以分为三种类型,分别是实体类、边界类和控制类。
常见的边界类有窗口、通信协议、打印机接口、传感器和终端等
SCM是企业的有效性管理,表现了企业在战略和战术上对业务流程的优化。整合并优化了供应商、制造商、零售商的业务效率,使商品以正确的数量、正确的品质、在正确的地点、以正确的时间、最佳的成本进行生产和销售。SCM包括计划、采购、制造、配送、退货五大基本内容。
(1)计划:这是SCM的策略性部分。企业需要有一个策略来管理所有的资源,以满足客户对产品的需求。好的计划是建立一系列的方法监控供应链,使它能够有效、低成本地为顾客递送高质量和高价值的产品或服务。
(2)采购:选择能为企业提供产品和服务的供应商,与供应商建立一套定价、配送和付款流程,并监控和改善管理。
(3)制造:安排生产、测试、打包和准备送货所需的活动,是供应链中测量内容最多的部分,包括质量水平、产品产量和工人的生产效率等的测量。
(4)配送:也称为物流,是调整用户的订单收据、建立仓库网络、派递送人员提货并送货到顾客手中、建立产品计价系统、接收付款。
(5)退货:这是供应链中的问题处理部分。建立网络接收客户退回的次品和多余产品,并在客户应用产品出问题时提供支持。
决策支持系统(Decision Support System,DSS)是辅助决策者通过数据、模型和知识,以人机交互方式进行半结构化或非结构化决策的计算机应用系统。它是MIS向更高一级发展而产生的先进信息系统。它为决策者提供分析问题、建立模型、模拟决策过程和方案的环境,调用各种信息资源和分析工具,帮助决策者提高决策水平和质量。但是,DSS不可以代替决策者。
DSS基本结构主要由四个部分组成,分别是数据库子系统、模型库子系统、推理部分和用户接口子系统,如图2所示。
按照成本性态分类,可以分为固定成本、变动成本和混合成本。
(1)固定成本。固定成本是指其总额在一定期间和一定业务量范围内,不受业务量变动的影响而保持固定不变的成本。例如,管理人员的工资、办公费、固定资产折旧费、员工培训费等。固定成本又可分为酌量性固定成本和约束性固定成本。酌量性固定成本是指管理层的决策可以影响其数额的固定成本,例如,广告费、员工培训费、技术开发经费等;约束性固定成本是指管理层无法决定其数额的固定成本,即必须开支的成本,例如,办公场地及机器设备的折旧费、房屋及设备租金、管理人员的工资等。
(2)变动成本。变动成本也称为可变成本,是指在一定时期和一定业务量范围内其总额随着业务量的变动而成正比例变动的成本。例如,直接材料费、产品包装费、外包费用、开发奖金等。变动成本也可以分为酌量性变动成本和约束性变动成本。开发奖金、外包费用等可看作是酌量性变动成本;约束性变动成本通常表现为系统建设的直接物耗成本,以直接材料成本最为典型。
(3)混合成本。混合成本就是混合了固定成本和变动成本的性质的成本。例如,水电费、电话费等。这些成本通常有一个基数,超过这个基数就会随业务量的增大而增大。例如,质量保证人员的工资、设备动力费等成本在一定业务量内是不变的,超过了这个量便会随业务量的增加而增加。有时,员工的工资也可以归结为混合成本,因为员工平常的工资一般是固定的,但如果需要加班,则加班工资与时间的长短便存在着正比例关系。
给定关系模式R,U={A,B,C,D,E},F = {B→A,D→A,A→E,AC→B},则 R 的候选关键字为(42),分解ρ= {Rl(ABCE),R2(CD)}(43)。
(42)A.CD B.ABD C.ACD D.ADE
(43)A.具有无损连接性,且保持函数依赖
B.不具有无损连接性,但保持函数依赖
C.具有无损连接性,但不保持函数依赖
D.不具有无损连接性,也不保持函数依赖
数据分析中发现并提出问题往往是由人来完成,并非机器。而对输出的结论进行解读,也是由人来完成的,所以这两个阶段自动化程度较低。
数据挖掘,从功能上可以将数据挖掘的分析方法划分为四种,即关联(Associations)分析、序列模式(Sequential Patterns)分析、分类(Classifiers)分析和聚类(Clustering)分析。
①关联分析:目的是为了挖掘出隐藏在数据间的相互关系。若设R={A1,A2,…,AP}为{0,1}域上的属性集,r为R上的一个关系,关于r的关联规则表示为X→B,其中X∈R,B∈R,且X∩B=⌑。关联规则的矩阵形式为:矩阵r中,如果在行X的每一列为1,则行B中各列趋向于为1。在进行关联分析的同时还需要计算两个参数,最小置信度(Confidence)和最小支持度(Support)。前者用以过滤掉可能性过小的规则,后者则用来表示这种规则发生的概率,即可信度。
②序列模式分析:目的也是为了挖掘出数据之间的联系,但其侧重点在于分析数据间的前后关系(因果关系(。例如,将序列模式分析运用于商业,经过分析,商家可以根据分析结果发现客户潜在的购物模式,发现顾客在购买一种商品的同时经常购买另一种商品的可能性。在进行序列模式分析时也应计算置信度和支持度。
③分类分析:首先为每一个记录赋予一个标记(一组具有不同特征的类别X即按标记分类记录,然后检查这些标定的记录,描述出这些记录的特征。这些描述可能是显式的,如一组规则定义;也可能是隐式的,如一个数学模型或公式。
④聚类分析:聚类分析法是分类分析法的逆过程,它的输入集是一组未标定的记录,即输入的记录没有作任何处理。目的是根据一定的规则,合理地划分记录集合,并用显式或隐式的方法描述不同的类别。
软件容错的基本思想是从硬件容错中引伸而来,利用软件设计的冗余和多样化来达到屏蔽错误的影响,提高系统可靠性的目的。软件容错的主要方法是提供足够的冗余信息和算法程序,使系统在实际运行时能够及时发现程序设计错误,采取补救措施,以提高系统可靠性,保证整个系统的正常运行。
软件容错技术主要有N版本程序设计、恢复块方法和防卫式程序设计等。其中N版本程序设计也就是N模冗余的机制。纠错码是在信息层面有冗余机制。
确认测试包括:内部确认测试以及Alpha测试与Beta测试。
计算机系统的性能一般包括两个大的方面。一个方面是它的可靠性或可用性,也就是计算机系统能正常工作的时间,其指标可以是能够持续工作的时间长度(例如,平均无故障时间),也可以是在一段时间内,能正常工作的时间所占的百分比;另一个方面是它的处理能力或效率,这又可分为三类指标,第一类指标是吞吐率(例如,系统在单位时间内能处理正常作业的个数),第二类指标是响应时间(从系统得到输入到给出输出之间的时间),第三类指标是资源利用率,即在给定的时间区间中,各种部件(包括硬设备和软件系统)被使用的时间与整个时间之比。当然,不同的系统对性能指标的描述有所不同,例如,计算机网络系统常用的性能评估指标为信道传输速率、信道吞吐量和容量、信道利用率、传输延迟、响应时间和负载能力等。
微服务架构是一种新的软件体系设计模式,它并没有形成统一、严格的定义,但是基于其分布式环境应用的场景,却拥有一些共同的特征:比如开发敏捷性、持续交付、可伸缩性、最终一致性等。
微服务架构建议将大型复杂的单体架构应用划分为一组微小的服务,每个微服务根据其负责的具体业务职责提炼为单一的业务功能;每个服务可以很容易地部署并发布到生产环境里隔离和独立的进程内部,它可以很容易地扩展和变更;对于一个具体的服务来说可以采用任何适用的语言和工具来快速实现;服务之间基于基础设施互相协同工作。
微服务的系统相比传统的单体式系统有一定的优势:
(1)解决了复杂性问题。它把庞大的单一模块应用分解为一系列的服务,同时保持总体功能不变。这个应用被分解为多个可管理的分支或服务,每一个服务都有良好定义的边界,以远程过程调用(RPC)驱动或信息驱动的API 的形式;微服务架构模式单一模块代码库,实际很难实现。因此,独立的服务开发速度明显更快,而且更易理解和维护。
(2)让每个服务能够独立开发,开发者能够自由选择可行的技术,让服务来决定API 约定。当然,大多数组织会通过限制技术选择来避免完全的失控。然而,这种自由意味着开发者们不用被迫使用从项目开始就存在的陈旧技术,他们可以选择使用当下的技术编写一个新的服务。另外,由于这些服务本身相对比较小,用新的技术来重写旧的服务也更可行一些。
(3)每个微服务都能独立配置,开发者不必协调对于本地服务配置上的变化,这种变化一旦测试完成就被配置了。举个例子,UI 团队可以执行A|B测试后立刻对UI 的变化执行迭代。微服务架构模式使不断地配置成为可能。
(4)让每个服务都可以独立调整,你可以给每个服务配置正好满足容量和可用性限制的实例数。另外,你也可以使用最适合服务的资源需求的硬件。举例说明,你可以在EC2 计算优化的实例上配置CPU 加强的图片处理服务,另外给EC2 存储优化的实例配置内存中的数据库服务。
微服务架构带来的挑战:
(1)并非所有的系统都能转成微服务。例如一些数据库层的底层操作是不推荐服务化的。
(2)部署较以往架构更加复杂:系统由众多微服务搭建,每个微服务需要单独部署,从而增加部署的复杂度,容器技术能够解决这一问题。
(3)性能问题:由于微服务注重独立性,互相通信时只能通过标准接口,可能产生延迟或调用出错。例如一个服务需要访问另一个服务的数据,只能通过服务间接口来进行数据传输,如果是频繁访问,则可能带来较大的延迟。
(4)数据一致性问题:作为分布式部署的微服务,在保持数据一致性方面需要比传统架构更加困难。
SO方法有三个主要的抽象级别,分别是操作、服务和业务流程。位于最低层的操作代表单个逻辑单元的事物,执行操作通常会导致读、写或修改一个或多个持久性数据。服务的操作类似于对象的方法,它们都有特定的结构化接口,并且返回结构化的响应;位于第二层的服务代表操作的逻辑分组;最高层的业务流程则是为了实现特定业务目标而执行的一组长期运行的动作或活动,包括依据一组业务规则按照有序序列执行的一系列操作。其中操作的排序、选择和执行成为服务或流程的编排,典型的情况是调用已编排的服务来响应业务事件。
概念设计也称为概念结构设计,其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何 DBMS 的数据模型,即概念模型。概念模型的表现形式即 ER 模型。
逻辑设计也称为逻辑结构设计,其主要任务是将概念模型转换为某个特定的 DBMS 上的逻辑模型。设计逻辑结构时,首先为概念模型选定一个合适的逻辑模型(如:关系模式或层次模型),然后将其转化为由特定 DBMS 支持的逻辑模型,最后对逻辑模型进行优化。
物理设计也称为物理结构设计,其任务是对给定的逻辑模型选取一个最适合应用环境的物理结构,所谓数据库的物理结构,主要是指数据库在物理设备上的存储结构和存取方法。
常见的反规范化设计包括增加冗余列、增加派生列、重新组表和表分割。为解决题干所述需求,王工采用的是哪种方法?请用 300 字以内的文字解释说明该方法,并指出其优缺点。
【答案】
王工采用的是水平表分割的方式进行反规范化设计。
表分割包括水平分割与垂直分割两种形式:
水平分割:
1)根据一列或多列数据的值把数据行放到两个独立的表中。
2) 按记录进行分割,不同的记录可以分开保存,每个子表的列数相同。分割的条件可能是某列或多列数据的值,如时间参数。
垂直分割:
1)把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。
2)按进行分割,即把一条记录分开多个地方保存,每个子表的行数相同。把主键和一些行放到一个表,然后把主键和另外的列放到另一个表中,通过主键进行关联。
优点:水平分割后可以降低在查询时需要读取的数据和索引的页数,同时也降低了索引的层数,提高查询速度。
缺点:水平分割会给应用增加复杂度,在查询时需要多个表明,查询所有数据需要union操作。
分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力(称为场地自治),它可以执行局部应用,同时,每个节点也能通过网络通信子系统执行全局应用。
分布式数据库系统性能提升策略:
1. 全局查询树的变换
2. 副本的选择与多副本的更新策略
3. 查询树的分解
4. 半连接与直接连接
5.采用数据分片技术,提高访问的局部性,提升系统性能。
6.采用查询优化技术(包括:全局查询树的变换、副本的选择与多副本的更新策略、查询树的分解、半连接与直接连接)提高查询速度。
7.读写分离技术
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
Jboss是一个基于J2EE的开放源代码的应用服务器。JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MPEG-1标准中,视频图像的帧序列包括帧内图像(I帧)、预测图像(P帧(和插补图像(B帧,或称双向预测图像(3种。帧内图像不参照任何过去的或者将来的其他图像帧,压缩编码直接采用类JPEG的压缩算法,故其可以直接作为索引和访问点;预测图像使用基于运动补偿的单向帧间预测编码;而插补图像则使用双向帧间预测编码。
软件配置项目可以分为以下几类:
(1)环境类,指软件开发环境或软件维护环境,例如编译器、操作系统、编辑器、数据库管理系统、开发工具、项目管理工具、文档编制工具等;
(2)定义类,是需求分析与定义阶段结束后得到的工作产品,例如需求规格说明、项目开发计划、设计标准或设计准则、验收测试计划等:
(3)设计类,设计阶段结束后得到的工作产品,例如系统设计规格说明、程序规格说明、数据库设计、编码标准、用户界面标准、测试标准、系统测试计划、用户手册等;
(4)测试类,系统测试完成后的工作产品,例如系统测试数据、系统测试结果、操作手册、安装手册等:
(5)维护类,进入维护阶段以后产生的工作产品。