
软考职称-考前冲刺-第 6 讲第 5 章 信息系统工程 【软件工程】 一、架构设计 1.五大软件架构风格 数据流风格:批处理序列、管道/过滤器 调用/返回风格:主程序/子程序、数据抽象、面向对象、层次结构 独立构件风格:进程通信、事件驱动 虚拟机风格:解释器、基于规则的系统 仓库风格:数据库系统、超文本系统、黑板系统 2.软件架构评估 从目前已有的软件架构评估技术来看,可以归纳为三类评估方式: (1) 基于场景的方式(最常用) 架构权衡分析法、软件架构分析法、成本效益分析法 (2)基于调查问卷(或检查表)的方式 (3)基于度量的方式 3.在架构评估中,一般采用 刺激、环境和响应 三方面来对场景进行描述。
刺激 :场景中解释或描述项目干系人怎样引发与系统的交互部分 环境 :描述的是刺激发生时的情况 响应 :系统是如何通过架构对刺激做出反应的 二、需求分析 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。
质量功能部署(QFD) 是一种将用户要求转化成软件需求的技术 软件需求 :常规需求、期望需求和意外需求 1.需求分析步骤
数据模型:E-R 图

功能模型:数据流图

|
功能数据,行为状态 |
2.UML UML 是可视化的建模语言,UML 适用于 各种软件开发 方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,支持从需求分析开始的软件开发全过程。

(1)UML 结构
|
部分 |
说明 |
|
构造块 |
事物:UML 的重要组成部分 关系:把事物紧密联系在一起 图:多个相互关联的事物的集合 |
|
规则 |
构造块如何放在一起的规定: 范围:给一个名字以特定的含义的语境 可见性:怎样使用或看见名字 完整性:事物如何正确、一致地相互联系 执行:运行或模拟动态模型的含义是什么 |
|
公共机制 |
达到特定目标的公共 UML 方法: 规格说明(详细说明)、修饰、公共分类、扩展机制 |
(2)UML 事物
|
事物 |
说明 |
|
结构事物 |
最静态的部分,代表概念上或物理上的元素。类、构件、接口、协作、用例、活动类、节点 |
|
行为事物 |
动态部分,代表时间和空间上的动作。 交互 :一组对象为达到特定目的而进行的一系列消息交换而组成的动作 状态机 :一系列对象的状态组成 |
|
分组事物 |
|
|
注释事物 |
(3)UML 中的关系 依赖 :两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。 <动物-水> 关联 :描述一组对象之间连接的结构关系。 <水-气候> 泛化 :描述特殊元素的对象可替换一般元素的对象。 <交通工具-汽车/飞机> 实现 :类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。 <飞-鸟> (4)UML 图 类图:一组类、接口、协作和它们之间的关系 对象图:一组对象及它们之间的关系 构件图:一个封装的类和它的 接口 组合结构图:结构化类的内部结构 用例图:一组用例、参与者及它们之间的关系

部署图:运行时的处理节点及在其中生存的构件的 配置 制品图:系统的 物理 结构 包图:模型本身分解而成的组织单元,及其 依赖 关系 状态图:状态之间的移动 活动图:对象间的控制流程 交互图: 顺序图:强调消息的时间次序 通信图:收发消息的对象或参与者的结构组织 定时图:强调实际时间 交互概览图:活动图和顺序图的混合物
|
(顺通定互是交互) |
(5)UML 系统视图 逻辑视图(设计视图) :它表示了设计模型中在架构方面具有重要意义的部分,即 类、子系统、包 和用例 实现的子集 进程视图 :可执行 线程 和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步 结构 实现视图 :组成基于系统的 物理代码 的文件和构件进行建模 部署视图 :把 构件部署 到一组物理节点上,表示软件到硬件的映射和分布结构 用例视图 :最基本的 需求分析模型 3.面向对象分析
面向对象分析阶段的核心工作是建立系统的 用例模型 与 分析模型 。 OOA:Object-Oriented Analysis(面向对象分析),做什么 OOD:Object-Oriented Design(面向对象设计),怎么做(1)用例模型
结构化分析 SA(Structured Analysis)采用功能分解的方式来描述系统功能,在这种表达方式中,系统功
能被分解到各个功能模块中,通过描述细分的系统模块的功能来达到描述整个系统功能的目的。
构建用例模型四个阶段:识别参与者、合并需求获得用例、细化用例描述、调整用例模型。
(2)分析模型
分析模型描述系统的基本 逻辑结构 ,展示对象和类如何组成系统(静态模型),以及它们如何保持通信,实
现系统行为(动态模型)。
三、软件设计 软件设计是需求分析的延伸与拓展。需求分析阶段解决“ 做什么 ”的问题,而软件设计阶段解决“ 怎么做 ”的问题。
1.结构化设计(Structured Design,SD) SD 是一种面向数据流的方法,它以 SRS 和 SA 阶段所产生的 DFD 和数据字典等文档为基础,是一个自顶向下、逐步求精和模块化的过程。
SD 原则:高内聚,低耦合 2.面向对象设计(OOD) OOD 包括抽象、封装和可扩展性,其中可扩展性主要通过继承和多态来实现。
常用的 OOD 原则: 单职原则:设计功能单一的类 开闭原则:对扩展开放,对修改封闭 李氏替换原则:子类可以替换父类 依赖倒置原则:要依赖于抽象,而不是具体实现;要针对接口编程,不要针对实现编程 接口隔离原则:使用多个专门的接口比使用单一的总接口要好 组合重用原则:要尽量使用组合,而不是继承关系达到重用目的 迪米特原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解。本原则与结构化方法的 低耦合原则是一致的 四、软件实现 1.软件配置 软件配置管理活动: 软件配置管理计划 软件配置标识 软件配置控制 软件配置状态记录 软件配置审计 软件发布管理与交付 2.软件编码 程序设计语言的特性和编码途径也会对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。
编码效率: 程序效率:程序的执行速度及程序所需占用的内存空间 算法效率:反映为程序的执行速度和存储容量的要求 存储效率:提高存储效率的关键是程序的简单化 I/O 效率:面向人的输入/输出;面向设备的输入/输出 3.软件测试 软件测试的目的是 验证软件是否满足 软件开发合同或项目开发计划、系统/子系统设计文档、SRS、软件设计说明和软件产品说明等 规定的软件质量要求 。
静态和动态测试
|
静态测试 |
|
||||
|
动态测试 |
在计算机上实际运行程序进行软件测试 |
|
|
黑盒测试、白盒测试 |
|||
|
黑盒测试 (功能测试) |
主要用于集成测试、确认测试和系统测试中 等价类划分法、边界值分析、判定表、因果图、状态图、随机测试、猜错法、正交试验法 |
|
白盒测试 (结构测试) |
主要用于软件的单元测试中 控制流测试、数据流测试、程序变异测试 逻辑覆盖 语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖 |
五、部署交付 软件部署是一个复杂过程,包括从开发商发放产品,到应用者在他们的计算机上实际安装并维护应用的所有活动。这些活动包括软件打包、安装、配置、测试、集成和更新等,是一个持续不断的过程。
持续交付 持续部署 蓝绿部署 指在部署的时候准备 新旧两个部署版本 ,通过域名解析切换的方式将用户使用环境切换到新版本中,当出现问题的时候,可以快速地将用户环境切回旧版本,并对新版本进行修复和调整。
金丝雀部署 当有新版本发布的时候,先让 少量用户使用新版本 ,并且观察新版本是否存在问题。如果出现问题,就及时处理并重新发布;如果一切正常,就稳步地将新版本适配给所有的用户。
六、过程管理 软件过程能力 是组织基于软件过程、技术、资源和人员能力达成业务目标的综合能力。包括治理能力、开发与交付能力、管理与支持能力、组织管理能力等方面。
软件过程能力成熟度模型(CSMM)团体标准 1.CSMM 模型 CSMM 模型由 4 个能力域、20 个能力子域、161 个能力要求组成
|
能力域 |
结果特征 |
|
治理 |
战略与治理、目标管理 |
|
开发与交付 |
需求、设计、开发、测试、部署、服务、开源应用 |
|
管理与支持 |
项目策划、项目监控、项目结项、质量保证、风险管理、配置管理、供应商管理 |
|
组织管理 |
过程管理、人员能力管理、组织资源管理、过程能力管理 |
2.CSMM5 个等级
|
级别 |
等级 |
结果特征 |
|
第 1 级 |
初始级 |
结果具有不确定性 实现初步活动,没有完整的管理规范 |
|
第 2 级 |
项目规范级 |
基本 可按计划实现预期的结果 按照一定的规范 |
|
第 3 级 |
组织改进级 |
稳定地 实现预期的项目目标 依据组织标准过程和过程资产持续改进 |
|
第 4 级 |
量化提升级 |
量化地 管理和实现预期的组织和项目目标 建立绩效基线,采用数据分析技术 |
|
第 5 级 |
创新引领级 |
通过技术和管理的创新 ,实现组织业务目标的持续提升,引领行业发展作为行业最佳案例进行推广 |
|
|
软件:规范、改进 |
|||
|
|
数据:管理、稳健 |
|||
|
级别 |
软件过程能力 CSMM |
数据管理能力成熟度模型 DCMM |
|
第 1 级 |
初始级 |
初始级 |
|
第 2 级 |
项目规范级 |
受管理级 |
|
第 3 级 |
组织改进级 |
稳健级 |
|
第 4 级 |
量化提升级 |
量化管理级 |
|
第 5 级 |
创新引领级 |
优化级 |
3.能力域与成熟度等级的对应关系
|
战 略 与 治 理 |
目 标 管 理 |
需 求 |
设 计 |
开 发 |
测 试 |
部 署 |
服 务 |
开 源 应 用 |
项 目 策 划 |
项 目 监 控 |
项 目 结 项 |
风 险 管 理 |
质 量 保 证 |
配 置 管 理 |
供 应 商 管 理 |
过 程 管 理 |
人 员 能 力 管 理 |
组 织 资 源 管 理 |
过 程 能 力 管 理 |
||
|
成 熟 度 等 级 |
5 |
5 |
5 |
5 |
|||||||||||||||||
|
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
|||||||||||
|
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
|
|
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
|
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
分类 |
治理 |
开发与交付 |
管理与支持 |
组织管理 |
|||||||||||||||||
第 4 级:量化提升级 目标管理、服务、开源应用、项目策划 、项目监控、供应商管理、过程管理 第 5 级:创新引领级 战略与治理、人员能力管理、过程能力管理 【数据工程】 一、数据建模 1.数据模型 根据模型应用目的不同,可以将数据模型划分为三类: (1)概念模型(信息模型) 概念模型是概念级别的模型,按用户的观点来对数据和信息建模; (2)逻辑模型(关系模型) 在概念模型的基础上确定模型的数据结构,包括:层次模型、网状模型、关系模型、面向对象模型和对象关系模型; (3)物理模型 如何用数据库模式来 实现 逻辑数据模型,以及真正地保存数据。
2.建模流程 (1)数据需求分析 (2)概念模型设计 (3)逻辑模型设计 (4)物理模型设计 二、数据标准化 1.元数据标准化
元数据是关于数据的数据(Data About Data)。其实质是用于描述信息资源或数据的内容、覆盖范围、质量、管理方式、数据的所有者、数据的提供方式等有关的信息。
2.数据元标准化 数据元是数据库、文件和数据交换的 基本数据单元 。数据元一般来说由三部分组成: 对象、特性、表示 。
合理的数据元提取方法: 自上而下 自下而上 3.数据模式标准化 数据模式的描述方式主要有图描述方法和数据字典方法。
4.数据分类与编码标准化 数据分类与编码的作用主要包括用于信息系统的共享和互操作。
5.数据标准化管理 确定数据需求 制订数据标准 批准数据标准 实施数据标准 三、数据运维 1.数据存储 数据存储首先要解决的是 存储介质 的问题,存储介质的类型主要有 磁带、光盘和磁盘 三种。
存储管理包括:资源调度管理、存储资源管理、负载均衡管理、安全管理2.数据备份 数据备份 是数据容灾的 基础 , 数据备份 是数据高可用性的 最后一道防线 。
数据备份策略: 完全备份、差分备份、增量备份 3.数据容灾 容灾不是简单备份 ,真正的数据容灾是要避免传统冷备份所具有先天不足,它在灾难发生时能全面、及时地恢复整个系统。
容灾系统: 应用容灾、数据容灾 衡量容灾系统有两个主要指标: RPO:当灾难发生时允许丢失的数据量 RTO:代表了系统恢复的时间 4.数据质量评价与控制 (1)数据质量评价方法 直接评价法 通过将数据与内部或外部的参照信息,如理论值等进行对比。确定数据质量; 间接评价法 利用数据相关信息,如数据只对数据源、采集方法等的描述推断或评估数据质量。
(2)数据清理 数据分析 从数据中发现控制数据的一般规则,比如字段域、业务规则等,通过对数据的分析,定义出数据清理的规则,并选择合适的清理算法。
数据检测
根据预定义的清理规则及相关数据清理算法,检测数据是否正确,比如是否满足字段域、业务规则等,或检测记录是否重复。
数据修正 手工或自动地修正检测到的错误数据或重复的记录。
四、数据开发利用 1.数据集成 2.数据挖掘 3.数据服务 数据目录服务、数据查询与浏览及*载下**服务、数据分发服务 4.数据可视化 一维数据可视化、二维数据可视化、三维数据可视化、多维数据可视化 时态数据可视化、层次数据可视化(树形数据)和网络数据可视化5.信息检索 全文检索、字段检索、基于内容的多媒体检索、数据挖掘 数据挖掘与传统数据分析不同:
|
内容 |
数据挖掘 |
传统数据分析 |
|
数据量 |
数据量越大,效果越好 |
数据量小 |
|
分析方法 |
数据统计、人工智能、可视化 |
统计学 |
|
分析侧重 |
预测型和发现型 |
回顾型和验证型 |
|
成熟度 |
发展阶段 |
成熟 |
五、数据库安全 1.数据库安全分类 (1)安全后果:非授权的信息泄漏、非授权的数据修改、拒绝服务(2)威胁方式: 无意:自然或意外灾害、系统软硬件中的错误、人为错误 有意:授权用户、恶意代理 2.数据库安全对策
|
安全对策 |
要点 |
|
防止非法的数据访问 |
仅允许授权的用户访问数据库 |
|
防止推导 |
用户通过授权访问的数据,经过推导得出机密信息 |
|
保证数据库的完整性 |
保护数据库 不受非授权的修改 访问控制、备份/恢复以及一些专用的安全机制实现 |
|
保证数据的 操作 完整性 |
保证数据库中数据的逻辑 一致性 ,由并发管理器子系统负责 |
|
保证数据的 语义 完整性 |
保证新值在一定范围内符合逻辑上的 完整性 |
|
审计和日志 |
审计和日志是有效的威慑和事后追查、分析工具 |
|
标识和认证 |
标识和认证是授权、审计等的前提条件是 第一道安全防线 |
|
机密数据管理 |
访问控制主要保证机密数据的 保密性 ,仅允许授权用户的访问,并禁止传播这些权限 |
|
多级保护 |
将数据划分 不同保密级别 ,用户只能访问拥有的权限所对应级别的数据 |
|
限界 |
限界的意义在于 防止程序之间 出现非授权的信息传递 |
3.数据库安全机制 数据库安全机制包括用户的身份认证、存取控制、数据库加密、数据审计、推理控制等内容。
【系统集成】

系统集成在技术上需要遵循的基本原则包括:开放性、结构化、先进性和主流化。
一、网络集成 传输 是网络的核心 网络服务 是网络应用最核心的问题

二、数据集成 数据集成的目的是运用一定的技术手段将系统中的数据按一定的规则组织成为一个整体,使得用户能有效地对数据进行操作。 数据仓库技术 是数据集成的关键。
数据集成层次: 基本数据集成 通用标识符问题 是数据集成的难题之一。
多级视图集成 模式集成 多粒度数据集成 三、软件集成 软件构件标准:公共对象请求代理结构(CORBA)、COM、DCOM 与 COM+、.NET、J2EE 应用架构等标准。
四、应用集成
互操作性指的是能在对等层次上进行有效的信息交换。
1.应用集成的技术包括 (1)具有应用间的互操作性 (2)具有分布式环境中应用的可移植性 (3)具有系统中应用分布的透明性 2.可以帮助协调连接各种应用的组件 (1)应用编程接口 (2)事件驱动型操作 (3)数据映射

【安全工程】 一、安全系统 X 轴:安全机制 Y 轴:ISO 网络参考模型 Z 轴:安全服务
安全机制 基础设施实体安全、平台安全、数据安全、通信安全、应用安全、运行安全、管理安全、授权和审计安全、安全防范体系等; 安全服务 实体认证服务、数据保密服务、数据完整*服务性**、数据源点认证服务、禁止否认服务和犯罪证据提供服务等; 安全技术 加密、数字签名技术、防控控制、数据完整性、认证、数据挖掘。
二、ISSE 过程 ISSE 将信息安全系统工程实施过程分解为: 工程过程、风险过程和保证过程 。
三、ISSE-CMM 体系 ISSE-CMM 模式采用两维设计: 域维(安全过程域):定义信息安全工程的所有实施活动
能力维(公共特性):公共特性分为 5 个级别 公共特性的成熟度等级: Level1:非正规实施级 Level2:规划和跟踪级 Level3:充分定义级 Level4:量化控制级 Level5:持续改进级
|
级别 |
公共特性 |
通用实施 |
|
Level1:非正规实施级 |
执行基本实施 |
1.1.1 执行过程 |
|
Level2:规划和跟踪级 |
规划执行 |
2.1.1 为执行过程域分配足够资源 2.1.2 为开发工作产品和(或)提供过程域服务指定责任人2.1.3 将过程域执行的方法形成标准化和(或)程序化文档2.1.4 提供支持执行过程域的有关工具 2.1.5 保证过程域执行人员获得适当的过程执行方面的培训2.1.6 对过程域的实施进行规划 |
|
规范化执行 |
2.2.1 在执行过程域中,使用文档化的规划、标准和(或)程序2.2.2 在需要的地方将过程域的工作产品置于版本控制和配置管理之下 |
|
|
验证执行 |
2.3.1 验证过程与可用标准和(或)程序的一致性 2.3.2 审计工作产品(验证工作产品遵从可适用标准和(或)需求的情况) |
|
|
跟踪执行 |
2.4.1 用测量跟踪过程域相对于规划的态势 2.4.2 当进程严重偏离规划时采取必要修正措施 |
|
|
Level3:充分定义级 |
定义标准化过程 |
3.1.1 对过程进行标准化 3.1.2 对组织的标准化过程族进行裁剪 |
|
执行已定义的过程 |
3.2.1 在过程域的实施中使用充分定义的过程3.2.2 对过程域的适当工作产品进行缺陷评审3.2.3 通过使用已定义过程的数据管理该过程 |
|
|
协调安全实施 |
3.3.1 协调工程科目内部的沟通 3.3.2 协调组织内不同组间的沟通 3.3.3 协调与外部组间的沟通 |
|
|
Level4:量化控制级 |
建立可测度的质量目标 |
4.1.1 为组织标准过程族的工作产品建立可测度的质量目标 |
|
对执行情况实施客观管理 |
4.2.1 量化地确定已定义过程的过程能力 4.2.2 当过程未按过程能力执行时,适当地采取修正行动 |
|
|
Level5:持续改进级 |
改进组织能力 |
5.1.1 为改进过程效能,根据组织的业务目标和当前过程能力建立量化目标 5.1.2 通过改变组织地标准化过程,从而提高过程效能 |
|
改进过程的效能 |
5.2.1 执行缺陷的因果分析 5.2.2 有选择地消除已定义过程中缺陷产生地原因5.2.3 通过改变已定义过程来连续地改进实施 |

