5-软件工程

image
:是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。

5.1.1 架构设计

软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。

软件架构研究的主要内容涉及软件架构描述、软件架构风格、软件架构评估和软件架构的形式化方法等。

解决好软件的复用、质量和维护问题,是研究软件架构的根本目的。

1.软件架构风格

软件架构设计的一个核心问题是能否达到架构级的软件复用,也就是说,能否在不同的系统中使用同一个软件架构。软件架构风格是描述某一个特定应用领域中系统组织方式的惯用模式。

序号 架构风格 包括
1 数据流风格 包括 批处理序列 (顺序执行)和 管道/过滤器 (输入输出数据流)两种风格
2 调用/返回风格 包括 主程序/子程序(过程调用)、数据抽象和面向对象(对象及封装),以及 层次结构(分层调用)
3 独立构件风格 包括 进程通信(消息传递、远程调用)和 事件驱动(事件触发调用)的系统
4 虚拟机风格 包括 解释器(解释引擎)和 基于规则(规则集)的系统
5 仓库风格 包括 数据库系统(中央共享数据源)、黑板系统(知识源、黑板及共享数据和控制)和 超文本系统 (非线性较差引用)

2.软件架构评估

在架构评估过程中,评估人员所关注的是系统的质量属性。

敏感点是一个或多个构件的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。

从目前已有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别是基于调查问卷(或检查表)的方式,基于场景的方式基于度量的方式。这三种评估方式终,基于场景的评估方式最为常用。

基于场景的方式主要包括:架构权衡分析法(ATAM)、软件架构分析法(SAAM)和成本效益分析法(CBAM)

基于场景的方式分析软件架构对场景的支持程度,从而判断该架构对这一场景所代表的质量需求的满足程度。例如,用一系列对软件的修改来反映易修改下方面的需求,用一系列攻击性操作来代表安全性方面的需求等。

5.1.2 需求分析

1.需求的层次

软件需求就是系统必须完成的事以及必须具备的品质。需求是多层次的,包括业务需求、用户需求和系统需求,这三个不同层次从目标到具体,从整体到局部,从概念到细节。

业务需求:指反映企业或客户对系统高层次的一个目标追求,通常来自项目投资人、购买产品的客户、客户单位的管理人员、市场营销部门或产品策划部门等。

用户需求:描述的是用户的具体的目标,或者用户要求系统必须能完成的任务,用户需求描述了用户能让系统来做什么

系统需求:是指从系统的角度来说明软件的需求,包括功能需求,非功能需求和设计约束。


质量功能部署(QFD)是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。为了达到这个目标,QFD将软件需求分为三类,分别是常规需求、期望需求和意外需求

常规需求:用户认为系统应该实现的功能或性能,实现越多用户会越满意

期望需求:用户想当然以为系统应用具备的功能或性能,但并不能正确描述自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让用户感到不满意

意外需求/兴奋需求:是用户要求范围外的功能或性能

2.需求过程

:主要包括需求获取、需求分析、需求规格说明书编制、需求验证与确认等。

1)需求获取

:是一个确定和理解不同的项目干系人的需求和约束的过程。常见的需求获取方法包括用户访谈、问卷调查、采样、情节串联板、联合需求计划等。

2)需求分析

一个好的需求应该具有无二义性、完整性、一致性、可测试性、确定性、可跟踪性、正确性、必要性等特性,因此,需要分析人员把杂乱无章的用户要求和期望转化为用户需求,这就是需求分析的工作。

使用结构化分析(SA)方法进行需求分析,其建立的模型的核心是数据字典。围绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模型/状态模型。在实际工作中,一般使用。

图形 表示模型 说明
实体关系图(ER图) 数据模型 描述实体、属性以及实体之间的关系
数据流图(DFD) 功能模型 从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能
状态转换图 行为模型(STD) 通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定事件的结果将执行哪些动作(例如处理数据等)

面向对象分析(OOA)模型包括用例模型和分析模型,用例是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模;分析模型描述系统的基本逻辑结构,展示对象和类如何组成系统(静态模型),以及它们如何保持通信,实现系统行为(动态模型)。

3)需求规格说明书编制

(SRS):是需求开发活动的产物,SRS是软件开发过程中最重要的文档之一,对于任何规模和性质的软件项目都不应该缺少。

SRS应该包括范围、引用文件、需求、合格性规定、需求可跟踪性、尚未解决的问题、注解和附录。

4)需求验证与确认

在实际工作中,一般通过需求评审和需求测试工作来对需求进行验证。需求评审就是对SRS进行技术评审。

3.UML

1)UML中的事物/建模元素

包括结构事物、行为事物、分组事物和注释事物

建模元素 说明
结构事物 在模型中属于最静态的部分,代表概念上或物理上的元素。UML有7种结构事物,分别是类、接口、协作、用例、活动类、构件和节点
行为事物 行为事物是UML模型中的动态部分,代表时间和空间上的动作。
UML有两种主要的行为事物。
第一种是交互(内部活动),交互是由一组对象之间在特定上下文中,为达到特定目的而进行的一系列消息交换而形成的动作。交互中组成动作的对象的每个操作都要详细列出,包括消息、动作次序(消息产生的动作)、连接(对象之间的连接);
第二种是状态机,状态机由一系列对象的状态组成
分组事物 是UML模型中组织的部分,可以把它们看成是个盒子,模型可以在其中进行分解。UML只有一种分组事物,称为包。包是一种将有组织的元素分组的机制。与构件不同的是,包纯粹是一种概念上的事物,只存在于开发阶段,而构件可以存在于系统运行阶段
注释事物 是UML模型的解释部分

2)UML中的关系

uml用关系把事物集合在一起,主要有4个关系:

关系 说明
依赖 一个事物发生改变会影响到另外一个事物的语义
关联 描述一组对象之间连接的结构关系
泛化/继承 是一般化和特殊化的关系,描述特殊元素的对象可替换的一般元素的对象
实现 实现是类与类之间的语义定义关系,其中一个类指定了由另外一个类保证执行的契约
组合 整体与部分(同一个生命周期)
聚合 整体与部分

3)UML2.0 中的图

  1. 类图:描述一组类、接口
  2. 对象图:描述一组对象
  3. 构件图:描述一个封装的类和它的接口、端口
  4. 组合结构图:描述结构化类的内部结构
  5. 用例图:描述一组用例、参与者及它们之间的关系
  6. 顺序图/序列图:强调消息的时间次序
  7. 通信图:强调对象之间的组织机构关系
  8. 定时图/计时图:强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序
  9. 状态图:描述一个状态机
  10. 活动图:展示计算内部一步步的控制流和数据流,强调对象间的控制流程
  11. 部署图:描述运行时的处理节点及在其中生存的构建配置
  12. 制品图:描述计算机中一个系统的物理结构,制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图在一起使用。制品业给出了他们的实现的类和构件。
  13. 包图:描述由模型本身分解而成的组织单元
  14. 交互概览图:是活动图和顺序图的混合物

4)UML视图

视图 说明
逻辑视图/设计视图 表示设计模型中在架构方面具有重要意义的部分,即类、子系统、包和用例实现的子集
进程视图 进程视图是可执行线程与进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构
实现视图 实现视图对组成基于系统的物理代码的文件和构件进行建模
部署视图 把构件部署到一组物理节点上,表示软件到硬件的映射核分布结构
用例视图 是最基本上的需求分析模型

4.面向对象分析

:核心工作是建立系统的用例模型与分析模型

1)用例模型

2)分析模型

5.1.3 软件设计

1.结构化设计

(SD):是一种面向数据流的方法,它以SRS和SA阶段所产生的DFD和数据字典等文档为基础,是一个自顶向下、逐步求精和模块化的过程。

在SD中,需要遵循一个基本的原则:高内聚,低耦合。内聚表示模块内部各成分之间的联系程度,是从功能角度来度量模块内的联系,一个好的内聚模型应当恰好做目标单一的一件事情;耦合表示模块之间联系的程度。紧密耦合表示模块之间联系非常强,松散耦合表示模块之间联系比较弱,非耦合则表示模块之间无任何联系,是完全独立的。

2.面向对象设计

基本思想:抽象、封装、可扩展性。其中可扩展性主要是通过继承和多态来实现,三大特征是封装,继承,多态。

OOD的主要任务是对类和对象进行设计,包括类的属性、方法以及类与类之前的关系。

常见的OOD原则包括:单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、组合重用原则、迪米特原则(最少知识原则)

3.设计模式

根据处理范围不同,设计模式可分为类模式和对象模式。

根据目的和用途不同,设计模式可分为创建型模式、结构型模式和行为型模式

创建型:创建对象

结构型:处理类或对象的组合

行为型:描述类或对象的交互以及职责的分配

5.1.4 软件实现

1.软件配置管理(略)

2.软件编码(略)

3.软件测试

分为静态测试和动态测试

静态测试:指测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括对文档的静态测试和对代码的静态测试,对文档的静态测试主要是以检查单的形式进行,而对代码的静态测试一般采用桌前检查、代码走查和代码审查。

桌前检查:对程序执行情况进行人工模拟,用逐步检查源代码中有无逻辑或语法错误的办法来检测故障

代码走查:在代码走查的过程中,开发人员向其他人来阐述他们的代码

代码审查:对计算机源代码系统化地审查,常用软件同行评审的方式进行,找出及修正在软件开发初期未发现的错误

动态测试是指在计算机上实际运行程序进行软件测试。一般采用白盒测试和黑盒测试方法。

白盒测试/结构测试,主要用于软件单元测试。测试方法主要有控制流测试、数据流测试和程序变异测试等。最常用的技术是逻辑覆盖。覆盖标准有语句覆盖、判定覆盖、条件覆盖、条件组合覆盖、修正的条件/判定覆盖和路径覆盖等。

黑盒测试/功能测试:主要用于集成测试、确认测试和系统测试。一般包括等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交验证法等。

确认测试:主要用于检测软件的功能、性能和其他特性是否与用户需求

5.1.5 部署交付

软件开发完成后,必须部署在最终用户的正式运行环境,交付给最终用户使用。这些活动包括软件打包、安装、配置、测试、集成和更新等,是一个持续不断的过程。

1.软件部署与交付

配置,安装和激活

2.持续交付

完全自动化,一键部署

3.持续部署

1)持续部署方案

容器,持续部署方案有 k8s+Docker 和 Matrix系统两种

2)部署原则

3)部署层次

首先要明确部署的目的并不是部署一个可工作的软件,而是部署一套可正常运行得环境。

完整的镜像部署包括三个环节:Build-Ship-Run

Build:跟传统编译类似,将软件编译成RPM包或Jar包

Ship:将所需的第三方依赖和第三方插件安装到环境中

Run:在不同的地方启动整套环境

4)不可变服务器

指除了更新和安装补丁程序以外,不对服务器进行任何更改。主要通过容器解决原虚拟机第三方依赖库的重构问题

5)蓝绿部署和金丝雀部署

①在部署的时候准备新旧两个部署版本,通过域名解析切换的方式将用户使用环境切换到新版本中,当出现问题的时候,可以快速地将用户环境切回旧版本,并对新版本进行修复和调整

②指当新版本发布的时候,先让少量用户使用新版本,并且观察新版本是否存在问题。如果出现问题,就及时处理并重新发布;如果一切正常,就稳步地将新版本适配给所有的用户

4.部署与交付的新趋势(略)

5.16 过程管理

软件过程能力是组织基于软件过程、技术、资源和人员能力达成业务目标的综合能力。包括治理能力、开发与交付能量、管理与支持能力、组织管理能力等方面。《软件过程能力成熟度模型》团体标准,简称CSMM。

1.成熟度模型

CSMM定义的软件过程能力成熟度模型旨在通过提升组织的软件开发能力帮助顾客提升软件的业务价值。

按照软件过程能力的成熟度水平由低到高演进发展的形式,CSMM定义了5个等级:

等级 结果特征 行为特征
1,初始级 软件过程和结果具有不确定性 能实现初步的软件交付和项目管理活动
项目没有完整的管理规范,依赖于个人的主动性和能力
2,项目规范级 项目基本可按计划实现预期的结果 组织依据选择和定义管理规范,执行软件开发和管理的基础过程
组织按照一定的规范,为项目活动提供了支持保障工作
3,组织改进级 在组织范围内能够稳定地实现预期的项目目标 在2级充分实施的基础上进行持续改进
依据组织的业务目标、管理要求以及外部监管要求,建立并持续改进组织标准过程和过程资产
项目根据自身特征,依据组织标准过程和过程资产,实现项目目标,并贡献过程资产
4,量化提升级 在组织范围内能够量化地管理和实现预期的组织和项目目标 在3级充分实施的基础上使用统计分析技术进行管理
组织成名认识到能力改进的重要性,了解软件能力在业务目标实现、绩效提升等方面的重要作用,在制定业务战略时可获得项目数据的支持
组织和项目使用统计分析技术建立了量化的质量与过程绩效目标,支持组织业务目标的实现
建立了过程绩效基线与过程绩效模型
采用有效地数据分析技术,分析关键软件过程的能力,预测结果,识别和解决目标实现的问题以达成目标
应用先进实践,提升软件过程效率或质量
5,创新引领级 通过技术和管理的创新,实现组织业务目标的持续提升引领行业发展 在4级充分实施的基础上进行优化革新
通过软件过程的创新提升组织竞争力
能够使用创新的手段实现软件过程能力的持续提升,支持组织业务目标的达成
能将组织自身软件能力建设的经验作为行业最佳案例进行推广

2.成熟度等级(略)

5.2 数据工程

数据工程是信息系统的基础工程。数据工程的主要研究内容包括数据建模、数据标准化、数据运维、数据开发利用和数据安全等理论和技术。

5.2.1 数据建模

1.数据模型

根据模型应用目的不同,可以将数据模型划分为三类:概念模型、逻辑模型和物理模型。

数据模型 说明
概念模型 概念模型也称信息模型,它是按用户的观点来对数据和信息建模,也就是说,把现实世界中的客观对象抽象为某一种信息结构,这种信息结构不依赖于具体的计算机系统也不对应某个具体的DBMS,它是概念级别的模型。
基本元素:实体、属性、域、键、关联
逻辑模型 逻辑模型是在概念模型的基础上确定模型的数据结构,目前主要的数据结构有层次模型、网状模型、关系模型、面向对象模型和对象关系模型。其中,关系模型成为目前最重要的一种逻辑数据模型。
物理模型 物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。

2.数据建模过程

通常来说,数据建模过程包括数据需求分析、概念模型设计、逻辑模型设计和物理模型设计等过程。

5.2.2 数据标准化

数据标准化是实现数据共享的基础。

过程 说明
元数据标准化 元数据最简单的定义是:元数据是关于数据的数据
实质是用于描述信息资源或数据的内容、覆盖范围、质量、管理方式、数据的所有者数据的提供方式等有关的信心。
例如:数据库表名词、字段类型等
数据元标准化 数据元是数据库、文件和数据交换的基本数据单元。数据库或文件由记录或元组等组成,而记录或元组则由数据元组成。
数据元一般来说由三部分组成:①对象 ②特性 ③表示
【例如:描述学生年龄的大学:对象是学生,特性是年龄 age,表示是数值 18,这些数据元有自己的元数据,即描述数据,分别是长度、数据类型、值域等】
数据元是元数据的一个子项,数据元是一个最小粒度的单元
数据模型标准化 数据模式是数据的概念、组成、结构和相互关系的总称。本质上,数据模式反映的是人类对客观世界的主观认知。
数据模型的描述方式主要有图描述方法和数据字典方法。图描述方法常用的有IDEF1X方法(在E-R法基础上,增加一些规则)和UML图,主要用来描述数据集中的实体和实体之间的相互关系;数据字典形式用来描述模型中的数据表、单个实体、属性的摘要信息
数据分类和编码标准化 数据分类与编码标准化是简化信息交换、实现信息处理和信息资源共享的重要前提,是建立各种信息管理系统的重要技术基础和信息保障依据。
数据分类与编码的作用主要包括用于信息系统的共享和互操作,统一数据的表示法和提高信息处理效率
数据标准化管理 具体过程包括确定数据需求、指定数据标准、批准数据标准和实施数据标准四个阶段

5.2.3 数据运维

过程 说明
数据存储 1)数据存储介质。数据存储首先要解决的是存储介质的问题。存储介质是数据存储的载体,是数据存储的基础。存储介质并不是越贵越好、越先进越好。存储介质的类型主要有磁带、光盘和磁盘三种。
2)存储管理。如何提高存储系统的访问性能,如何满足数据量不断增长的需要,如何高效的保护数据、提高数据的可用性,如何满足存储空间的共享等
数据备份 当前最常见的数据备份结构可以分为四种:DAS备份结构、基于LAN的备份结构、LAN-FREE备份结构【针对SAN架构,不占用以太网络的带宽】和 SERVER-FREE 备份结构【针对SAN架构,不占用备份主机的CPU资源】
常见的备份策略主要有三种:完全备份、差分备份【相对上一次全备份之后新增的和修改过的数据】和增量备份【上一次备份(注意不是全备份)】后增加的和修改过的数据,恢复时需要全部增量都恢复
数据容灾 根据容灾系统保护对象的不同,容灾系统分为应用容灾和数据容灾两类。
- 应用容灾用于克服灾难对系统的影响,保障应用服务的完整、可靠和安全等一系列要求,使得用户在任何情况下都能得到正常的服务
- 数据容灾则关注于保障用户数据的高可用性,在灾难发生时能够保障应用系统中的数据尽量少丢失或不丢失,使得应用系统能不间断地运行或尽快地恢复正常运行
数据备份是数据容灾的基础。数据备份是数据高可用的最后一道防线,其目的是为了在系统数据崩溃时能够快速恢复数据。
从技术上看,衡量容灾系统有两个主要指标:RPO 和 RTO,其中 RPO 代表了当灾难发生时允许丢失的数据量;而 RTO 则代表了系统恢复的时间
数据质量与评价控制 1.数据质量描述
2.数据质量评价过程
3.数据质量评价方法:直接评价法和间接评价法
4.数据质量控制:前期控制和后期控制
5.数据清洗:使数据实现准确性、完整性、一致性、唯一性、适时性、有效性以适应后续操作的过程

差分备份和增量备份是数据备份中的两种常见方法,它们在备份数据时存在一些关键的区别。

  1. 备份数据的内容:差分备份是备份最新一次全量备份和本次备份之间发生变化的数据,而增量备份是备份从上次备份以来发生变化的数据。
  2. 备份速度和空间使用:由于差分备份需要备份的数据量较大,所以备份速度相对较慢,且需要更多的存储空间。而增量备份只备份上次备份后新增和修改的数据,所以备份速度较快,且需要的存储空间较小。
  3. 还原数据的时间:如果需要还原数据,差分备份的还原速度通常更快。因为增量备份需要将多个备份文件合并才能恢复完整的数据,这可能需要较长的时间。

总体而言,增量备份在备份时间和存储空间使用方面表现出色,而差分备份在数据恢复方面更具优势。选择哪种备份方法取决于具体的需求和环境。

5.2.4 数据开发利用

过程 说明
数据集成 将驻留在不同数据源中的数据进行整合,向用户提供统一的数据视图,使得用户能以透明的方式访问数据
数据挖掘 数据挖掘是指从大量数据中提取或 "挖掘" 知识。它把人们对数据的从低层次的简单查询,提升到从数据库挖掘知识,提供决策支持层面。数据挖掘的目标是发现隐藏于数据之后的规律或数据间的关系,从而服务于决策。
数据服务 数据服务主要包括数据目录服务、数据查询与浏览及下载服务、数据分发服务。
1.数据目录服务:建立目录方便检索服务
2.数据查询与浏览及下载服务:是网上数据共享服务的重要方式,用户使用数据的方式。有查询数据和下载数据两种
3.数据分发服务:是指数据的生产者通过各种方式将数据传送到用户的过程
数据可视化 指将抽象的事物或过程变成图形图像的表示方法
可视化的表现方式分为七类:一维数据可视化、二维数据可视化、三维数据可视化、多维数据可视化、时态数据可视化、层次数据可视化和网络数据可视化
信息检索 1.信息检索的方法:全文检索、字段检索、基于内容的多媒体检索、数据挖掘
2.信息检索的常用技术包括布尔逻辑检索技术、截词检索技术、临近检索技术、限定字段检索技术、限定检索技术等

一维数据可视化:简单的线性数据,如文本或数字表格、程序源代码

二维数据可视化:由两种主要描述属性构成的数据。如一个城市的平面地图、建筑物的楼层平面图。最常见的就是地理信息系统(GIS)

三维数据可视化:描述立体信息

多维数据可视化:超过三维,为了实现可视化,往往需要降维

时态数据可视化:是二维数据的一种特例,即二维中有一维是时间轴

层次数据可视化:即树形数据。如商业组织、计算机文件系统和家谱图

网络数据可视化:指与任意数量的其他节点有关系的节点的数据

5.2.5 数据库安全

1.数据库安全威胁

2.数据库安全对策

安全对策 说明
防止非法的数据访问 数据库管理系统必须根据用户或应用的授权来检查访问请求,以保障仅允许授权的用户访问数据库
防止推导 指的是用户通过授权访问的数据,经过推导得出机密信息,而按照安全策略,该用户是无权访问此机密信息的
保障数据库的完整性 是保护数据库不受非授权的修改,以及不会因为病毒、系统中的错误等导致的存储数据破坏。这种保护通过访问控制、备份/恢复以及一些专用的安全机制共同实现
保障数据的操作完整性 定位于在并发事务中保障数据库中数据的逻辑一致性。由并发管理器子系统负责。
保障数据的语义完整性 在修改数据时,保障新值在一定范围内符合逻辑上的完整性。对数据值的约束通过完整性约束来描述
审计和日志 审计和日志是有效的威慑和事后追查、分析工具
标识和认证 标识和认证是授权、审计等的前提条件是第一道安全防线
机密数据管理 对于同时保存机密和公开数据的数据库而言,访问控制主要保障机密数据的保密性,仅允许授权用户的访问。这些用户被赋予对机密数据进行一系列操作的权限,并且禁止传播这些权限。
多级保护 将数据划分不同保密级别,用户只能访问拥有的权限所对应级别的数据
限界 限界的意义在于防止程序之间出现非授权的信息传递

3.数据库安全机制

包括用户的身份认证、存取控制、数据库加密、数据审计、推理控制等内容

5.3 系统集成

5.3.1 集成基础

系统集成的内容包括技术环境的集成、数据环境的集成和应用程序的集成。在技术上需要遵循的基本原则包括:开放性、结构化、先进性和主流化。

1)开放性:系统硬软件平台、通信接口、软件开发工具、网络结构的选择要遵循工业开放标准,这是关系到系统生命周期长短的重要问题

2)结构化:复杂系统设计的最基本方法依然是结构化系统分析设计方法

3)先进性:有两层意义,目前先进性和未来先进性

4)主流化:系统构成的每一个产品应属于该产品发展的主流,有可靠的技术支持,有成熟的使用环境,并具有良好的升级发展势头

5.3.2 网络集成

1)传输子系统

2)交换子系统:网络交换可分为局域网交换技术、城域网交换技术和广域网交换技术

3)网管子系统

4)服务器子系统

5)网络操作系统

7)服务子系统

5.3.3 数据集成

数据集成处理的主要对象是系统中各种异构数据库中的数据。数据仓库技术是数据集成的关键。

1.数据集成层次

(1)基本数据集成

(2)多级视图集成

(3)模式集成

(4)多粒度数据集成

2.异构数据集成

数据集成的目的是为应用提供统一的访问支持,因此集成后的数据必须保证一定的完整性,包括数据完整性和约束完整性。

1)异构数据集成的方法:过程式方法(点对点)和声明式方法(通过合适的语言对数据建模)。还有一种是中间件集成异构数据库,提供统一的数据模式和数据访问通用接口。

2)开放数据库互连标准:实现异构数据源的数据集成,首先要解决的问题是原始数据的提取。从异构数据库中提取数据大多采用开放式数据互连(ODBC),ODBC是一种用来在数据库系统之间存储数据的标准应用程序接口,目前流行的数据库管理系统都提供了相应的ODBC驱动程序,它使数据库系统具有很好的开放性,数据格式转换也很方便

3)基于XML的数据交换标准:统一异构数据源的数据模式

4)基于JSON的数据交互格式:轻量级的数据交换格式

5.3.4 软件集成

1.CORBA:是OMG(对象管理组织)进行标准化分布式对象计算的基础

2.COM:COM技术要达到的基本目标是:即使对象是由不同的开发人员用不同的编程语言实现的,在开发软件系统时,仍能够有效地利用已经存在于其他已有软件系统中的对象。COM具备了软件集成所需要的许多特征,包括面向对象、客户机/服务器、语言无关性、进程透明性和可重复性

3.COM 与 COM+:DCOM作为COM的扩展,不仅继承了COM优点,而且针对分部环境还提供了一些新的特性,如位置透明性、网络安全性、跨平台调用等

4.NET:.NET开发框架在通用语言运行环境基础上,给开发人员提供了完善的基础类库、数据库访问技术及网络开发技术,开发者可以使用多种语言快速构建网络应用

5.J2EE:J2EE的体系结构可以分为客户端层、服务器端组件层、EJB层和信息系统层。在J2EE规范中,J2EE平台包括一整套的服务、应用编程接口和协议,可用于开发一般的多层应用和基于web的多层应用,是J2EE的核心和基础,它还提供了EJB、Java Servlets API、JSP和XML技术的全面支持等

5.3.5 应用集成

如果一个系统支持位于同一层次上的各种构件之间的信息交换,那么称该系统支持互操作性。
image
应用集成或组织应用集成(EAI)是指将独立的软件应用连接起来,实现协同工作。

对应用集成的技术要求大致有:

  • 具有应用间的互操作性:系统间信息的有意义交换
  • 具有分布式环境中应用的可移植性:迁移的潜力
  • 具有系统中应用分布的透明性:分布的透明性屏蔽了由系统的分布所带来的复杂性。它使应用编程者不必关心系统是分布的还是集中的,从而可以集中精力设计具体的应用系统,这就大大减少了应用集成编程的复杂性

可以帮助协调连接各种应用的组件由:

  • 应用编程接口(API):API是定义不同软件交互方式的程序和规则,可以支持应用之间相互通信。API利用特定的数据结构,帮助开发人员快速访问其他应用的功能
  • 事件驱动型操作:当触发器(即事件)启动一个程序或一组操作时,系统就会执行事件驱动型操作。例如:在订单提交后,进行计费并向客户开具发票;管理从ERP系统到CRP系统的 "业务机会到订单" 工作流
  • 数据映射:将数据从一个系统映射到另一个系统,可以定义数据的交换方式,从而简化后续的数据导出、分组或分析工作。例如,用户在一个应用中填写联系信息表,那么这些信息将被映射到相邻应用的相应字段

5.4 安全工程

5.4.1 工程概述

image

5.4.2 安全系统

信息系统三维模型:

  • X轴:安全机制
  • Y轴:OSI网络参考模型
  • Z轴:安全服务

安全空间的五大属性:认证、权限、完整、加密、不可否认
image

1.安全机制

(1)基础设施实体安全

(2)平台安全

(3)数据安全

(4)通信安全

(5)应用安全

(6)运行安全

(7)管理安全

(8)授权和审计安全

(9)安全防范体系

2.安全服务

(1)对等实体认证服务:用于开放系统同等层中的实体

(2)数据保密服务

(3)数据完整性服务

(4)数据源点认证服务

(5)禁止否认服务:用于防止发送方在发送数据后否认自己发送过此数据,接收方在收到数据后否认自己收到过此数据或伪造接收数据,由两种服务组成:不得否认发送和不得否认接收

(6)犯罪认证提供服务

3.安全技术

:主要涉及加密、数字签名技术、访问控制、数据完整性、认证、数据挖掘等

5.4.3 工程基础

信息安全系统的建设是在OSI网络参考模型的各个层面进行的,因此信息安全系统工程活动离不开其他相关工程,主要包括:硬件工程、软件工程、通信及网络工程、数据存储与灾备工程、系统工程、测试工程、密码工程和组织信息化工程等

5.4.4 工程体系架构

1.IEES-CMM 基础

信息安全系统工程能力成熟度模型(ISSE-CMM)是一种衡量信息安全系统工程实施能力的方法,是使用面向工程过程的一种方法。ISSE-CMM是建立在统计过程控制理论基础上的。

2.ISSE 过程

将信息安全工程实施过程分解为:工程过程、风险过程和保证过程三个基本部分。一个有害事件由威胁、脆弱性和影响三个部分组成。

3.ISSE-CMM 体系结构

通用实施,被称之为公共特性的逻辑域组成,公共特性分为5个级别,依次表示增强的组织能力。

级别 公共特性 通用实施
level1:非正规实施级 执行基本实施
level2:规划和跟踪级 规划执行
规范性执行
严重执行
跟踪执行
level3:充分定义级 定义标准化过程
执行已定义的过程
协调安全实施
level4:量化控制级 建立可测度的质量目标
对执行情况实施客观管理
level5:持续改进级 改进组织能力
改进过程的效能

1)域维/安全过程域

2)能力域/公共特性

3)能力规划

posted @ 2024-03-06 23:21  LHX2018  阅读(14)  评论(0编辑  收藏  举报