文章目录
5.1 软件工程
5.1.1 架构设计
软件工程的定义:将 系统的、规范的、可度量 的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。软件工程由 方法、工具和过程 三个部分组成。
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构件之间的对应关系,提供了一些设计决策的基本原理。
软件架构研究的主要内容涉及 软件架构描述、软件架构风格、软件架构评估和软件架构的形式化方法 等。解决好 软件的复用、质量和维护问题,是研究软件架构的根本目的。
1、软件架构风格
软件架构设计的一个核心问题是能否达到架构级的软件复用,也就是说,能否在不同的系统中使 用同一个软件架构。
软件架构设计的一个核心问题是能否达到架构级的软件复用。 软件架构分为 数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格。
- (1)
数据流风格
。数据流风格包括批处理序列和管道/过滤器两种风格。 - (2)
调用/返回风格
。主程序/子程序、数据抽象和面向对象,以及层次结构。 - (3)
独立构件风格
。独立构件风格包括进程通信和事件驱动的系统。 - (4)
虚拟机风格
。虚拟机风格包括解释器和基于规则的系统。 - (5)
仓库风格
。仓库风格包括数据库系统、黑板系统和超文本系统。
2、软件架构评估
软件架构评估可以只针对一个架构,也可以针对一组架构。在架构评估过程中,评估人员所关注的是系统的质量属性 。
敏感点和权衡点
:敏感点是一个或多个构件(或之间的关系)的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。如:改变加密级别可能会对安全性和性能产生影响,则加密级别可能是一个权衡点。
从目前已有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别是基于 调查问卷(或检查表)的方式、基于场景的方式和基于度量的方式 。这三种评估方式中,基于场景的评估方式最为常用。
基于场景的方式主要包括:架构权衡分析法(ATAM)、软件架构分析法(SAAM)成本效益分析法(CBAM)。 在架构评估中,一般采用刺激、环境和响应三方面来对场景进行描述。
不同的系统对同一质量属性的理解可能不同,因此,基于场景的评估方式是特定于领域的。
5.1.2 需求分析
软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。
1、需求的层次
软件需求包括 业务需求、用户需求和系统需求。
质量功能部署(QFD)
是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。QFD将软件需求分为三类,分别是 常规需求、期望需求和意外需求。
2、需求过程(重点)
需求过程主要包括 需求获取、需求分析、需求规格说明书编制、需求验证与确认等。
1)需求获取
:需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。 常见的需求获取方法包括用户访谈、问卷调查、采样、情节串联板、联合需求计划等
2)需求分析
:把杂乱无章的用户要求和期望转化为用户需求。
结构化分析(SA):其建立的模型的核心是数据字典。有三个层次的模型,分别是 数据模型,功能模型和行为模型(也称为状态模型)。面向对象的分析包括用例模型和分析模型。
模型 | 表示图形 | 作用 |
---|---|---|
数据模型 | 实体联系图(E-R图) | 描述实体、属性,以及实体之间的关系 |
功能模型 | 数据流图(DFD) | 从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传 递的情况,来说明系统所完成的功能 |
行为模型 | 状态转换图(STD) | STD通过描述素统的状态和引起系统状态转换的事 性,来表示系统的行为,指出作为 特定事件的结果将执行哪些动作 |
3)需求规格说明书编制
软件需求规格说明书(SoftwareRequirementSpecification, SRS) :是需求开发活动的产物,SRS应该 包括以下内容。(1)范围。(2)引用文件。(3)需求。(4)合格性规定。(5)需求可追踪性。(6)尚 未解决的问题。(7)注解。(8)附录。
4)需求验证与确认
需求验证也称为需求确认,一般通过需求评审和需求测试工作来对需求进行验证。需求评审就是对SRS进行技术评审。
3、UML事务、关系和视图
统一建模语言(UML) 是一种定义良好、易于表达、功能强大且普遍适用的建模语言。从总体上来看 UML的结构包括 构造块、规则和公共机制 三个部分。
UML有三种基本的构造块,分别是 事物(Thing)、关系(Relationship)和图(Diagram) 。 事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个相互关联的事物的集合。
1)UML中的事物
UML中的事物也称为建模元素,包括结构事物(Structural Things)、行为事物(Behavioral Things,也称动作事物)、分组事物(Grouping Things)和注释事物 (Annotational Things,也称注解事物)。
2)UML中的关系
(1)依赖(Dependency)。一个事物发生变化会影响另一个事物的语义。
(2)关联(Association)。关联描述组对象之间连接的结构关系。
(3)泛化(Generalization)。泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。
(4)实现(Realization)。实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
3)UML2.0 中的图
UML2.0包括14种图:类图、对象图、构件图、组合结构图、用例图、顺序图、通信图、定时图、状态图、活动图、部署图、制品图、包图、交互概览图。
4)UML视图
UML视图 | 释义【熟悉】 |
---|---|
逻辑视图 | 也称为设计视图,表示设计模型中在架构方面具有重要意义的部分,即 类、子系统、包和用例实现的子集。 |
进程视图 | 进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执 行实例,描述了并发与同步结构。 |
实现视图 | 实现视图对组成基于系统的物理代码的 文件和构件进行建模 |
部署视图 | 部署视图把构件部署到一组物理节点上,表示 软件到硬件的映射和分布结构 |
用例视图 | 用例视图是 最基本的需求分析模型。 |
4、面向对象分析
面向对象分析阶段的核心工作是: 建立系统的用例模型与分析模型
1)用例模型
在 OOA方法中,构建用例模型一般需要经历四个阶段,分别是 识别参与者、合并需求获得用例、细化用例描述和调整用例模型,其中前三个阶段是必须的。
- 识别参与者(与系统交互的所有事务,参与者是系统外的)
- 合并需求获得用例(为每个参与者确定用例)
- 细化用例描述(书写用例规约,不是画图)
- 调整用例模型(利用用例之间的关系来调整用例模型)。
2)分析模型
类之间的主要关系有 关联、依赖、泛化、聚合、组合和实现 等
5.1.3 软件设计
1、结构化设计
结构化设计(SD)是一种面向数据流的方法,它以SRS和SA阶段所产生的DFD和数据字典等文档为基础,是一个自顶向下、逐步求精和模块化的过程。
在SD中,需要遵循一个基本的原则:高内聚,低耦合。内聚表示模块内部各成分之间的联系程度,是从功能角度来度量模块内的联系,耦合表示模块之间联系的程度。
2、面向对象设计
面向对象设计OOD基本思想包括抽象、封装和可扩展性,其中可扩展性主要通过继承和多态来实现。在 OOD中,数据结构和在数据结构上定义的操作算法封装在一个对象之中。 由于现实世界中的事物都可以抽象出对象的集合,所以OOD方法 是一种更接近现实世界、 更自然的软件设计方法。
常用的OOD原则包括:
单职原则
:设计功能单一的类。本原则与结构化方法的高内聚原则是一致的。开闭原则
:对扩 展开放,对修改封闭。李氏替换原则
:子类可以替换父类。(也称里氏替换原则,子类可以扩展父类的功能,但不改变父类原有的功能,子类继承父类时,除添加新方法外,尽量不重写父类的方法)。依赖倒置原则
:要依赖于抽象,而不是具体实现;要针对接口编程,不要针对实现编程。接口隔离原则
:使用多个专门的接口比使用单一的总接口要好。组合重用原则
:要尽量使用组合,而不是继承关系达到重用目的。迪米特原则(最少知识法则)
:一个对象应当对其他对象有尽可能少的了解。本原则与结构化方法的低耦合原则是一致的。
3、设计模式
设计模式是前人经验的总结,它使人们可以方便地复用成功的软件设计。根据处理范围不同,设计模式可分为 类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,属于静态关系。对象模式处理对象之间的关系,这些关系在运行时刻变化,更具动态性。
根据目的和用途不同,设计模式可分为 创建型(Creational)模式、结构型(Structural)模式和行为型(Behavioral)模式 三种。
- ①创建型模式主要用于创建对象
- ②结构型模式主要用于处理类或对象的组合
- ③行为型模式主要用于描述类或对象的交互以及职责的分配
5.1.4 软件实现
1、软件配置管理
软件配置管理活动包括 软件配置管理计划、软件配置标识、软件配置控制、软件配置状态记录、 软件配置审计、软件发布管理与交付 等活动。 软件配置管理计划:制订需要了解组织结构环境和组织单元之间的联系,明确软件配置控制任务。
- 软件配置管理计划:明确软件配置控制任务
- 软件配置标识:识别要控制的配置项,并为这些配置项及其版本建立基线
- 软件配置控制:管理软件生命周期中的变更
- 软件配置状态记录:标识、收集、维护并报告配置管理的配置状态信息
- 软件配置审计:评价软件产品和过程是否遵从已有的规则、标准、指南、计划和 流程而进行的活动
- 软件发布管理和交付:创建特定的交付版本, 完成此任务的关键是软件库
2、软件编码
编码就是把软件设计的结果翻译成计算机可以“理解和识别”的形式— 用某种程序设计语言书写的程序。
程序的质量主要取决于软件设计的质量。
(1)程序设计语言。编码之前的一项重要工作就是选择一种恰当的程序设计语言。
(2)程序设计风格。包括4个方面:源程序文档化、数据说明、语句结构和输入/输出方法。 应尽量从编码原则的角度提高程序的可读性,改善程序的质量。
(3)程序复杂性度量。定量度量的结构可以用于比较两个不同设计或两种不同算法的优劣 程序的定量的复杂程度可以作为模块规模的精确限度。
(4)编码效率。编码效率主要包括:①程序效率;②算法效率;③存储效率;④I/O效率
3、软件测试
软件测试的目的 是验证软件是否满足软件开发合同或项目开发计划、系统/子系统设计文档、SRS、 软件设计说明和软件产品说明等规定的软件质量要求。通过测试发现软件缺陷,为软件产品的质 量测量和评价提供依据。
软件测试方法可分为 静态测试和动态测试。
静态测试
是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括对文档的静态测试和对代码的静态测试。对代码的静态测试一般采用:
- 桌前检查(Desk Checking):对程序执行情况进行人工模拟,用逐步检查源代码中有无逻辑或语法错误的办法来检测故障。
- 代码走查:在代码走查的过程中,开发人员向其他人来阐述他们的代码。
- 代码审查:对计算机源代码系统化地审查,常用软件同行评审的方式进行,找出及修正在软件 开发初期未发现的错误。
动态测试
是指在计算机上实际运行程序进行软件测试,一般采用白盒测试和黑盒测试方法。白盒测试也称为结构测试,主要用于软件单元测试中。
白盒测试
:方法主要有控制流测试、数据流测试和程序变异测试等。白盒测试方法中,最常用的技术是逻辑覆盖,即使用测试数据运行被测程序,考查对程序逻辑的覆盖程度。使用静态测试的方法也可以实现白盒测试。例如:使用人工检查代码的方法来检查代码的逻辑问题,也属于白盒测试的范畴。
黑盒测试
也称为功能测试,主要用于 集成测试、确认测试和系统测试 中。黑盒测试将程序看作是一个不透明的黑盒,完全不考虑(或不了解)程序的内部结构和处理算法,而只检查程序功能是否能按照SRS的要求正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息(例如,文件和数据库等)的完整性等。黑盒测试根据SRS所规定的功能来设计测试用例,一般包括等价类划分、边界值分析、判定表、因果图、状态图、随机测试、 猜错法和正交试验。
5.1.5 部署交付
需求和市场的不断变化导致软件的部署和交付不再是一个一劳永逸的过程,而是二谓续丕 断的过程, 伴 旗在整个软件的开发过程中。
1、软件部署与交付
软件部署与交付属于软件开发的后期活动, 即通过配置、安装和激活等活 动来保障软件制品的后续运行。
2、持续交付
持续交付是一系列开发实践方法,用来确保让代码能够快速、安全地部署到生产环境中。
持续交付是一个完全自动化的过程,当业务开发完成的时候,可以做到一键部署。国内外的主流互联网组织的部署周期都以分钟为单位,互联网巨头组织单日的部署频率都在8000 次以上,部分组织达20000次以上。高频率的部署代表着能够更快更好地响应客户需求。
3、持续部署
1)持续部署方案 容器技术目前是部署中最流行的技术,常用的持续部署方案有Kubernetes+Docker和 Matrix系统两种。
首先要明确部署的目的并不是部署一个可工作的软件,而是部署一套可正常运行的环境。
2)部署层次。完整的镜像部署包括三个环节:Build — Ship — Run。
- Build:跟传统的编译类似,将软件编译形成RPM包或者Jar包;
- Ship:则是将所需的第三方依赖和第三方插件安装到环境中;
- Run:就是在不同的地方启动整套环境。
制作完成部署包之后,每次需要变更软件或者第二方依赖以及插件升级
3)不可变服务器。指除了更新和安装补丁程序以外,不对服务器进行任何更改。主要通过容器解决原虚拟机第三方依赖库的重构问题。
4)蓝绿部署和金丝雀部署
蓝绿部署
是指在部署的时候准备新旧两个部署版本,通过域名解析切换的方式将用户使用环境切 换到新版本中,当出现问题的时候,可以快速地将用户环境切回旧版本,并对新版本进行修复和 调整。
金丝雀部署
是指当有新版本发布的时候,先让少量用户使用新版本,并且观察新版本是否存在问 题。如果出现问题,就及时处理并重新发布;如果一切正常,就稳步地将新版本适配给所有的用户
4、部署与交付的新趋势
持续集成、持续交付和持续部署的出现及流行反映了新的软件开发模式与付的新趋势发展趋势,主要表现为: 工作职责和人员分工的转变;大数据和云计算基础设施的普及进一步给部署带来新的飞跃;研发运维的融合。
5.1.6 过程管理
常见的软件过程管理方法和实践包括国际常用的能力成熟度模型集成(CMMI详见本书20.5.1节) 和中国电子工业标准化技术协会发布的T/CESA1159《软件过程能力成熟度模型》团体标准,简称 CSMMO
1、成熟度模型(CSMM)
能力域 | 能力子域 |
---|---|
治理 | 战略与治理、目标管理 |
开发与交付 | 需求、设计、开发、测试、部署、服务、开源应用 |
管理与支持 | 目策划、项目监控、项目结项、质量保证、风险管理、配置管理、供应商管理 |
组织管理 | 过程管理、人员能力管理、组织资源管理、过程能力管理 |
2、成熟度等级
等级 | |
---|---|
1级 初始级 | 结果:软件过程和结果具有不确定性。 行为:没有完整管理规范,依赖个人。 |
2级 项目规范级 | 结果:项目基本可按计划实现预期的结果 行为: 有一定的管理规范 |
3级 组织改进级 | 结果:在组织范围内能够稳定地实现预期的项目目标 行为: 能够根据自身特征,持续改进 |
4级 量化提升级 | 结果:能够量化地管理和实现预期的组织和项目目标 行为: 能够建立量化的质量与过程绩效目标,预测结果 |
5级 创新引领级 | 结果:实现组织业改目报的接续提升,引领行业发展 行为: 组织自身软件建设经验作为行业最佳案例进行推广 |
5.2 数据工程
数据工程是信息系统的基础工程。围绕数据的生命周期,规范数据从产生到应用的全过程,目标是为信息系统的运行提供可靠的数据保障和服务,为信息系统之间的数据共享提供安全、高效的支撑环境,为信息系统实现互连、互通、互操作提供有力的数据支撑。它是实现这些目标的一系列技术、方法和工程建设活动的总称。
5.2.1 数据建模
1、数据模型
根据模型应用目的不同,可以将数据模型划分为三类:概念模型、逻辑模型和物理模型。
-
1)
概念模型
。 概念模型也称信息模型,它是按用户的观点来对数据和信息建模,也就是说,把现实世界中的客 观对象抽象为某一种信息结构,这种信息结构不依赖于具体的计算机系统,也不对应某个具体的 DBMS,它是概念级别的模型。P147如实体-学生、老师、院系,属性:学号、姓名,数据及关联 -
2)
逻辑模型
。 逻辑模型是在概念模型的基础上 确定模型的数据结构,目前主要的数据结构有层次模型、网状模型、关系模型、面向对象模型和对象关系模型。其中,关系模型成为目前最重要的一种逻辑数据 模型。如:概念转成关系模型结构中关系模式(数据表) -
3)
物理模型
。 物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构 设计,真正实现数据在数据库中的存放。物理模型的基本元素包括 表、字段、视图、索引、存储过程、 触发器 等,其中表、字段和视图等元素与逻辑模型中基本元素有一定的对应关系。
2、数据建模过程
数据建模过程包括 数据需求分析、概念模型设计、逻辑模型设计和物理模型设计 等过程。
数据需求分析
:数据需求分析是数据建模的起点。数据需求分析采用数据流图作为工具,描述系统中数据的流动和变化,强调数据流和处理过程。概念模型设计
:将需求分析得到结果抽象为概念模型的过程就是概念模型设计,其任务是确定实体和数据及其关联。逻辑模型设计
:逻辑模型设计的任务就是 将概念模型中实体、属性和关联转换为关索模型结构中的关系模式。物理模型设计
:将数据模型转换为真正的数据库结构, 物理模型考虑的主要问题包括命名、确定字段类型和编写必要的存储过程与触发器等。
5.2.2 数据标准化(重点)
数据标准化是实现数据共享的基础, 为信息在异构系统之间实现语义互操作提供基础支撑。 数据标准化的主要内容包括 元数据标准化、数据元标准化、数据模式标准化、数据分类与编 码标准化和数据标准化管理。
1、元数据标准化
元数据最简单的定义是:元数据是关于数据的数据(Data About Data)。实质是用于描述信息资源或数据的内容、覆盖范围、质量、管理方式、数据的所有者、数据的提供方式等有关的信息。例如:数据库表名称、字段类型等。
2、数据元标准化
①开放系统互连环境(OSIE)四要素:硬件、软件、通信和数据。
②数据元:是数据库、文件和数据交换的基本数据单元。数据库或文件由记录或元组等组成,而记录或元组则由数据元组成。数据元是在数据库或文件之间进行数据交换时的基本组成。
③数据元一般来说由三部分组成:对象、特性和表示 。
数据元提取方法有两种:自上而下和自下而上提取法。对于新建系统的数据元提取, 一般适用“自上而下”的提取法。
3、数据模式标准化
① 数据模式是数据的既念、组成、结构和相互关系的总称。从数据的逻辑层面对数据集的内容、组成及其结构信息,进行合理的、规范的、本质上的说明和描述。
②数据模式的描述方式主要有 图描述方法和数据字典方法。图描述方法常用的有 IDEFIX方法和UML图,主要用来描述数据集中的实体和实体之间的相互关系;数据字典形式用来描述模型中的数据集、单个实体、属性的摘要信息。
4、数据分类与编码标准化
①数据分类是根据内容的属性或特征,将数据按一定的原则和方法进行区分和归类 , 并建立起一定的分类体系和排列顺序。
②数据分类有 分类对象和分类依据 两个要素。
③数据编码是将事物或概念(编码对象)赋予具有一定规律和易于计算机、人识别处理的符号,形成代码元素集合。
④ 数据分类与编码标准化是简化信息交换、实现信息处理和信息资源共享的重要前提、是建立各种信息管理系统的重要技术基础和信息保障依据
数据分类与编码标准化是简化信息交换、实现信息处理和信息资源共享的重要前提,是建立各种 信息管理系统的重要技术基础和信息保障依据。数据分类与编码的作用主要包括用于信息系统的 共享和互操作,统一数据的表示法和提高信息处理效率。
5、数据标准化管理
数据标准化阶段的具体过程包括 确定数据需求、制定数据标准、批准数据标准和实施数据标准 四个阶段。
- ①
确定数据需求
:将产生数据需求及相关的元数据、域值等文件。 - ②
制定数据标准
:要处理“确定数据需求”阶段提出的数据需求。如果现有的数据标准不能满足该数据需求,可以建议制定新的数据标准,也可建议修改或者封存已有数据标准。 - ③
批准数据标准
:数据管理机构对提交的数据标准建议、现行数据标准的修改或封存建议进行审查一经批准,该数据标准将扩充或修改数据模型。 - ④
实施数据标准
:在各信息系统中实施和改进已批准的数据标准。
5.2.3 数据运维
1、数据存储
(1)数据存储介质。数据存储首先要解决的是存储介质的问题。存储介质是数据存储的载体,是数据存储的基础。存储介质并不是越贵越好、越先进越好。存储介质的类型主要有磁带、光盘和 磁盘三种。
(2)存储管理。如何提高存储系统的访问性能,如何满足数据量不断增长的需要,如何有效的保护数据、提高数据的可用性,如何满足存储空间的共享等。存储管理的主要内容:资源调度管理、存储资源管理、负载均衡管理、安全管理。
2、数据备份
数据备份是为了防止由于用户操作失误、系统故障等意外原因导致的数据丢失 而将整个应用系统的数据或一部分关键数据复制到其他存储介质上的过程。
当前最常见的数据备份结构可以分为四种:
DAS备份结构
、基于LAN的备份结构
、LAN-FREE备份结构
【针对SAN架构,快速随机存储设备(磁盘阵列)向备份存储设备(磁带库)复制】和SERVER- FREE备份结构
【针对SAN架构,无服务器备份技术,可在两个存储设备之间直接传输】
常见的备份策略主要有三种:完全备份、差分备份【相对上一次全备份之后新增的和修改过的数据】和增量备份【上一次备份(注意不是全备份)后增加的和修改过的数据,恢复时需要全部增 量都恢复】
3、数据容灾
根据容灾系统保护对象的不同,容灾系统分为 应用容灾和数据容灾 两类。数据备份是数据容灾的基础。容灾不是简单备份。
衡量容灾系统有两个主要指标:RPO (Recovery Point Object)和RTO (Recovery TimeObject),其中RPO代表了当灾难发生时允许丢失的数据量;而RTO则代表了系统恢复的时间。
4、数据质量评价与控制
数据质量评价与控制包括:
1)数据质量描述
(分为 数据质量定量元素和非定量元素 )
2)数据质量评价过程
(确定质量元素和质量范围、确定度量方法、选择评价方法、确定质量结果、 决定一致性等步骤)
3)数据质量评价方法
(直接和间接评价法)
4)数据质量控制
(前期控制和后期控制)
5)数据清理
(使数据实现准确性、完整性、一致性、唯一性、适时性、有效性以适应后续操作的过程。主要包括:数据分析、数据检测和数据修正 三个步骤)。
5.2.4 数据开发利用
1、数据集成
数据集成就是将驻留在不同数据源中的数据进行整合,向用户提供统一的数据视图 (一般称为全局模式),使得用户能以透明的方式访问数据。
2、数据挖掘
数据挖掘是指从大量数据中提取或“挖掘”知识。(如个人信用信息的挖掘)它把人们对数据的从低层次的简单查询,提升到从数据库挖掘知识,提供决策支持层面。数据挖掘是一门交叉学科,其过程涉及数据库、人工智能、数理统计、可视化、并行计算等多种技术。
数据挖掘的目标是:发现隐藏于数据之后的规律或数据间的关系,从而服务于决策。
数据挖掘主要任务:数据总结、关联分析、分类和预测、聚类分析和孤立点分析。
数据挖掘流程:确定分析对象、数据准备、数据挖掘、结果评估与结果应用五阶段。
3、数据服务
数据服务主要包括数据 目录服务、数据查询与浏照及下载服务、数据分发服务。
- 1)
数据目录服务
:是用来快捷地发现和定位所需数据资源的一种检索服务,是实现数据共享的重要基础功能服务之一 。 - 2)
数据查询与浏览及下载服务
:是网上数据共享服务的重要方式,用户使用数据的方式有查询数据和下载数据两种 。 - 3)
数据分发服务
:数据的生产者通过各种方式将数据传送到用户的过程。分发服务的核心内容包括数据发布、数据发现、数据评价和数据获取。
4、数据可视化
数据可视化:将抽象的事物或过程变成图形图像的表示方法。
视化的表现方式分为七类:一维数据可视化、二维数据可视化、三维数据可视化、多维数据可视化、时态数据可视化、层次数据可视化和网络数据可视化。
-
1、一维数据可视化
:一维数据就是简单的线性数据,如文本或数字表格、程序源代码都基于 一维数据。一维数据可视化取决于数据大小和用户想用数据来处理什么任务 -
2、二维数据可视化
:在数据可视化中,二维数据是指由两种主要描述属性构成的数据,如一个物体的宽度和高度、一个城市的平面地图、建筑物的楼层平面图等都是二维数据可视化的实例。最常见的二维数据可视化就是地理信息系统(Geographic Information System,GIS)。 -
3、三维数据可视化
:三维数据比二维数据更进了一层,它可以描述立体信息。三维数据可以 三维数据 表示实际的三维物体,因此可视化的许多应用是三维可视化。物体通过三维可视化构成计算机模型,供操作及试验,以此预测真实物体的实际行为。 -
4、多维数据可视化
:在可视化环境中,多维数据所描述事物的属性超过三维,为了实现可视化,往往需要降维 -
5、时态数据可视化
:时态数据实际上是二维数据的一种特例,即二维中有一维是时间轴。它以图形方式显示随着时间变化的数据,是可视化信息最常见、最有用的方式之一。 -
6、层次数据可视化
:层次数据即树形数据,其数据内在结构特征为:每个节点都有一个父节点(根节点除外)。节点分兄弟节点(拥有同一个父节点的节点)和子节点(从属该节点的节点)。拥有这种结构的数据很常见,如商业组织、计算机文件系统和家谱图都是按树形结构排列的层次数据。 -
7、网络数据可视化
:网络数据指与任意数量的其他节点有关系的节点的数据。网络数据中的节点不受与它有关系的其他节点数量的约束(不同于层次节点有且只有一个父节点),网络数据没有固有的层次结构,两个节点之间可以有多条连接路径,也就是说节点间关系的属性和数量是可变的。
5、信息检索
信息检索的方法:全文检索、字段检索、基于内容的多媒体检索、数据挖掘。
信息检索的常用技术:包括 布尔逻辑检索技术、截词检索技术、临近检索技术、 限定字段检索技术、限制检索技术等。
5.2.5数据库安全
1、数据库安全威胁
非授权的信息泄露:未获授权的用户有意或无意得到信息。通过对授权访问的数据进行推导分析获取非授权的信息也属于这一类。
非授权的数据修改:包括所有通过数据处理和修改而违反信息完整性的 行为。非授权修改不一定会涉及非授权信息泄露, 因为即使不读取数据也可以进行破坏。
拒绝服务:包括会影响用户访问数据或使用资源的行为。
自然或意外灾害:如地震、水灾、火灾等。这些事故可能会破坏系统的软硬件,导致完整性破坏和拒绝服务。
系统软硬件中的错误:这会导致应用实施错误的策略,从而导致非授权的信息泄露、数据修改或拒绝服务。
人为错误:导致无意地违反安全策略,导致的后果与软硬件错误类似。
授权用户:他们滥用自己的特权造成威胁。
恶意代理:病毒、特洛伊木马和后门是这类威胁中的典型代表
2、数据库安全机制
数据库安全机制包括 用户的身份认证、存取控制,数据库加密、数据审计、推理控制 等内容
5.3 系统集成
5.3.1 集成基础
系统集成的内容包括 技术环境的集成、数据环境的集成和应用程序的集成。系统集成是开放系统驱动的。在技术上需要遵循的基本原则包括:开放性、结构化、先进性和主流化。
5.3.2 网络集成
(1)传输子系统。传输是网络的核心。目前主要的传输介质分为 无线传输介质和有线传输介质 两大类,
- 常用的无线传输介质主要包括无线电波、微波、红外线 等;
- 常用的有线传输介质主要包括双绞线、同轴电缆、光纤等。
(2)交换子系统。网络按所覆盖的区域可分为 局域网、城域网和广域网, 由此网络交换也可以分为局域网交换技术、城域网交换技术和广域网交换技术。
(3)安全子系统。网络安全主要关注的内容包括:使用防火墙技术,防止外部的侵犯;使用数据加密技术,防止任何人从通信信道窃取信息 ;访问控制,主要是通过设置口令、密码和访问权限保护网络密源。
(4) 网管子系统。对于任何网管子系统来说,关键的任务便是保证网络的良好运行。
(5)服务器子系统。选择网络服务器时要考虑以下因素:①CPU的速度和数量;②内存容量和性能;③总线结构和类型;④磁盘容量和性能;⑤容错性能;⑥网络接口性能;⑦服务器软件等。
(6)网络操作系统。网络操作系统的主要任务是调度和管理网络资源
(7)服务子系统。网络服务是网络应用最核心的问题。网络服务主要包括互联网服务、多媒体信息检索、信息点播、信息广播、远程计算和事务处理以及其他信息服务等。
5.3.3 数据集成
数据集成处理的主要对象是系统中各种异构数据库中的数据。数据仓库技术是数据集成的关键。
数据集成层次:数据集成可以分为 基本数据集成、多级视图集成、模式集成和多粒度数据集成 四个层次。
异构数据集成:数据集成的目的是为应用提供统一的访问支持, 因此集成后的数据必须保证一定的完整性包括 数据完整性和约束完整性。异构数据集成方法归纳起来主要有两种,分别是 过程式方法和声明式方法。
5.3.4 软件集成
.NET 涉及的技术:VB、C++、C#、JScript、ASP.NET、ADO.NET
J2EE 涉及的技术:EJB、Java Servlets API、JSP 和 XML
5.3.5 应用集成
应用集成在最上层,主要解决应用的互操作性的问题。可以帮助协调连接各种应用的组件有:
(1)应用编程接口
:API是定义不同软件交互方式的程序和规则,可以支持应用之间相互通信。
(2)事件驱动操作
:当触发器(即事件)启动一个程序或一组操作时,系统就会执行事件驱动型操作。
(3)数据映射
:将数据从一个系统映射到另一个系统,可以定义数据的交换方式,从而简化后续的数据导出、分组或分析工作。
5.4 安全工程
5.4.1工程概述
信息安全系统服务于业务应用信息系统并与之密不可分,但又不能混为一谈。信息安全系统不能脱离业务应用信息系统而存在。
5.4.2 安全系统
①信息安全系统是客观的、独立于业务应用信息系统而存在的信息系统。
②信息安全系统三维空间包括 安全机制、网络参考模型和安全服务。由 X、Y、Z 三个轴形成的信息安全系统三维空间就是信息系统的“安全空间“。
- (1) x 轴是“安全机制”。
- (2)Y轴是“OSI网络参考模型”。
- (3)Z轴是“安全服务”
安全空间”的五大属性:认证、权限、完整、加密和不可否认。
安全机制包含 基础设施实体安全、 平台安全、数据安全、通信安全、应用安全、运行安全、管理安全、授权和审计安全、安全 防范体系 等。组织从 人员、技术、政策 三大要素来构成信息网络安全保障体系结构的框架
安全服务包括 对等实体认证服务、数据保密服务、数据完整性服务、数据源点认证服务、 禁止否认服务和犯罪证据提供服务 等。
-
(1)
对等实体认证服务
:用于两个开放系统同等层中的实体建立链接或数据传输时,对方实体的合法性、真实性进行确认,以防假冒。 -
(2)
数据保密服务
:包括多种保密服务,为了防止网络中各系统之间的数据被截获或被非法存取而泄密,提供密码加密保护。数据保密服务可提供链接方式和无链接方式两种数据保密, 同时也可对用户可选字段的数据进行保护。 -
(3)
数据完整性服务
:用以防止非法实体对交换数据的修改、插入、删除以及在数据交换过程中的数据丢失。 -
(4)
数据源点认证服务
:用于确保数据发自真正的源点,防止假冒。 -
(5)
禁止否认服务
:用以防止发送方在发送数据后否认自己发送过此数据,接收方在收到数据后否认自己收到过此数据或伪造接收数据,由两种服务组成:不得否认发送和不得否认接 收。 -
(6)
犯罪证据提供服务
:指为违反国内外法律法规的行为或活动,提供各类数字证据、 信息线索等。
5.4.3 工程基础
5.4.4 工程体系架构
1、信息安全系统工程能力成熟度模型:(ISSE-CMM)是一种衡量信息安全系统工程实施能力的方法,是使用面向工程 过程的一种方法。
2、ISSE-CMM是建立在 统计过程控制理论基础 上。
3、ISSE-CMM主要适用于 工程组织、获取组织和评估组织。
4、ISSE将信息安全系统工程实施过程分解为:工程过程、风险过程和保证过程 三部分。
5、公共特性的成熟度等级定义的五个级别:
- Level 1非正规实施级:(基本)
- Level 2一规划和跟踪级:(规范化)
- Level 3一充分定义级:(标准化)
- Level 4一量化控制级:(可测量、量化)
- Level 5—持续改进级: (改进)