1、五大软件架构风格
 数据流风格:批处理序列、管道/过滤器
 ◆调用/返回风格:主程序X 子程序、数据抽象、面向对象、层次结构
 ◆独立构件风格:进程通信、事件驱动
 虚拟机风格:解释器、基于规则的系统
 仓库风格:数据库系统、超文本系统、黑板系统
 2、软件架构评估方式:基于调查问卷(或检查表)、基 于 场 景(最常用)、基于度量。
 基于场景评估方式:架构权衡分析法 (ATAM)、软件架构分析法(SAAM)、成本效益分析法 (CBAM)
 3、在架构评估中, 一般采用刺激、环境和响应三方面来对场景进行描述。
 4、需求过程主要包括需求获取、需求分析、需求规格说明书编制、需求验证与确认。
 5、软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求包括:常规需求、期 望需求和意外需求。
 6、质量功能部置(QFD) 是一种将用户要求转化成软件需求的技术。
 7、需求分析把杂乱无章的用户要求和期望转化为用户需求
 (1) 数据模型:实体关系图 (E-R 图 )
 (2) 功能模型:数据流图
 (3) 行为模型:状态转换图
 8、UML 是可视化的建模语言, UML 适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及 各种开发工具,支持从需求分析开始的软件开发全过程。
 9、UML 结构包括:构造块(事物、关系、图)、规则和公共机制。
 10、UML 事物:结构事物、行为事物(动作事物)、分组事物和注释事物(注解事物)。
 11、UML图
 ◆ 类图: 一组类、接口、协作和它们之间的关系
 ◆ 对象图: 一组对象及它们之间的关系
 ◆ 构件图:一个封装的类和它的接口
 ◆ 组合结构图:结构化类的内部结构
 ◆ 用例图: 一组用例、参与者及它们之间的关系
 ◆ 部署图:运行时的处理节点及在其中生存的构件的配置
 ◆ 制品图: 系 统的物理结构
 ◆ 包 图:模型本身分解而成的组织单元,及其依赖关系
 12、交 互 图 (顺通定互是交互)
 ◆ 顺序图:强调消息的时间次序
 ◆ 通信图:收发消息的对象或参与者的结构组织
 ◆ 定时图:强调实际时间
 ◆ 交互概览图:活动图和顺序图的混合物
 13、UML系统视图
 ◆ 逻辑视图 (设计视图):它表示了设计模型中在架构方面具有重要意义的部分, 即类、子系统、包和 用例实现的子集
 ◆ 进程视图:可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步 结构
 ◆ 实现视图: 对组成基于系统的物理代码的文件和构件进行建模
 ◆ 部署视图:把 构件部置到一组物理节点上,表示软件到硬件的映射和分布结构
 ◆ 用例视图:最 基 本的需求分析模型
 14、面向对象分析阶段的核心工作是建立系统的用例模型与分析模型。
 00A:Object-Oriented Analysis(面向对象分析),做什么
 00D:Object-Oriented Design(面向对象设计),怎么做
 类之间的关系:(子类父类是泛化;部分整体是聚合组合;依赖组合就踏实)
 15、常用的00D 原则:
 ◆ 单职原则:设计功能单一的类
 ◆ 开闭原则:对扩展开放,对修改封闭
 ◆ 李氏替换原则:子类可以替换父类
 ◆ 依赖倒置原则:要依赖于抽象,而不是具体实现;要针对接口编程,不要针对实现编程
 ◆ 接口隔离原则:使用多个专门的接口比使用单一 的总接口要 好
 ◆ 组合重用原则:要尽量使用组合,而不是继承关系达到重用目的
 ◆ 迪米特原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解。本原则与结构化方法的低耦 合原则是一致的
 16、编码效率:
 ◆ 程序效率: 程序的执行速度及程序所需占用的内 存空间
 ◆ 算法效率: 反映为程序的执行速度和存储容量的要求
 ◆ 存储效率: 提高存储效率的关键是程序的简单化
 ◆ I/0 效 率 :面向人的输入/输出;面向设备的输入/输出
 17、软件测试的目的是验证软件是否满足软件开发合同或项目开发计划、系统/子系统设计文档、 SRS、 软 件 设计说明和软件产品说明等规定的软件质量要求。
 静态测试:
 ◆ 针对文档:检查单;
 ◆ 针对代码:桌前检查、代码审查、代码走查
 动态测试: 在计算机上实际运行程序进行软件测试
 18、黑盒测试(功能测试):用于集成测试、确认测试和系统测试中
 常用技术和方法:等价类划分法、边界值分析、判定表、因果图、状态图、随机测试、猜错法、正交试 验法
 白盒测试(结构测试): 主要用于软件的单元测试中
 常用技术和方法:控制流测试、数据流测试、程序变异测试;逻辑覆盖(语句覆盖、判定覆盖、条件覆 盖、条件/判定覆盖、条件组合覆盖)
 19、软件部署是一个复杂过程:持续交付、持续部署。
 蓝绿部置: 指在部署的时候准备新旧两个部署版本
 金丝雀部署:当有新版本发布的时候,先让少量用户使用新版本
 部署原则:
 ◆ 部署包全部来自同一部署方式
 ◆ 所有的环境使用相同的部署方式
 ◆ 所有的环境使用相同的部署脚本
 ◆ 部署流程编排阶梯式晋级,即在部署过程中需要设置多个检查点, 一旦发生问题可以有序地进行回滚操 作
 ◆ 整体部署由运维人员执行
 ◆ 仅通过流水线改变生产环境,防止配置漂移
 ◆ 不可变服务器
 部署层次:
 部署一套可正常运行的环境,完整的镜像部署包括三个环节: Build-Ship-Run。
 ◆ Build: 跟传统的编译类似,将软件编译形成 RPM 包 或 Jar 包 ;
 ◆ Ship: 将所需的第三方依赖和第三方插件安装到环境中;
 ◆ Run: 在不同的地方启动整套环境。
 20、软件过程能力成熟度模型(CSMM)
 (1) 治理:战略与治理、目标管理
 (2) 开发与交付:需求、设计、开发、测试、部署、服务、开源应用
 (3) 管理与支持:项目策划、项目监控、项目结项、质量保证、风险管理、配置管理、供 应商管理
 (4) 组织管理:过程管理、人员能力管理、组织资源管理、过程能力管理
 21、软件过程能力成熟度模型 (CSMM) 等 级
 第1级(初始级):结果具有不确定性,实现初步活动,没有完整的管理规范
 第2级(项目规范级):基本可按计划实现预期的结果,按照一 定的规范
 第3级(组织改进级): 稳定地实现预期的项目目标
 第4级(量化提升级):量化地管理和实现预期的组织和项目目标
 第5级(创新引领级):通过技术和管理的创新,实现组织业务目标的持续提升,引领行业发展
 22、软件过程能力成熟度模型 (CSMM) 等级与能力域
 第4级:量化提升级
 目标管理、服务、开源应用、项目策划、项目监控、供应商管理、过程管理
 第5级:创新引领级
 战略与治理、人员能力管理、过程能力管理
 23、数据模型划分为三类:
 (1) 概念模型(信息模型):概念级别的模型,按用户的观点来对数据和信息建模;
 (2) 逻 辑 模 型 (关系模型):确定模型的数据结构,包括:层次模型、网状模型、关系模型、面向对象模型 和对象关系模型;
 (3) 物理模型: 如何用数据库模式来实现逻辑数据模型,以及真正地保存数据。
 24、元 数 据 :关 于数据的数据 (Data About Data)。其实质是用于描述信息资源或数据的内容、覆盖范围、 质量、管理方式、数据的所有者、数据的提供方式等有关的信息。
 数 据 元 :数据库、文件和数据交换的基本数据单元。数据元一般来说由三部分组成: 对象、特性、表示。
 25、数据存储首先要解决的是存储介质的问题,存储介质的类型主要有磁带、光盘和磁盘三种。存储管理包
 括:资源调度管理、存储资源管理、负载均衡管理、安全管理
 26、数据备份是数据容灾的基 础,数据备份是数据高可用性的最后 一 道防线。
 数据备份策略:数据备份:完全备份、差分备份、增量备份
 27、容灾不是简单备份,真正的数据容灾是要避兔传统冷备份所具有先天不足,它在灾难发生时能全面、及 时地恢复整个系统。
 ◆ 容灾系统:应用容灾、数据容灾
 28、数据清理包括数据分析、数据检测、数据修正。
 29、数据服务包括数据且录服务、数据查询与浏览及下载服务、数据分发服务
 30、数据挖掘与传统数据分析不同:
 (1) 数据量:前者数据量越发,效果越好;后者数据量小。
 (2) 分析方法:前者使用数据统计、人工智能、可视化,后者使用统计学。
 (3) 分析侧重:前者侧重预测型和发现型,后者侧重回顾型和验证型,
 (4) 成熟度:前者还在发展阶段,后者已经成熟。
 31、数据库安全分类:
 (1) 安全后果:非授权的信息泄漏、非授权的数据修改、拒绝服务
 (2 )威胁方式:
 ◆ 无意:自然或意外灾害、系统软硬件中的错误、人为错误
 ◆ 有意:授权用户、恶意代理
 32、数据库安全对策(操作一致、语义完整)
 (1) 防止非法的数据访问
 (2) 防止推导
 (3) 保证数据库的完整性
 (4) 保证数据的操 作完整性:逻辑一 致性
 (5) 保证数据的语 义完整性:逻辑完 整性
 (6) 审计和日志:审计和日志是有效的威慑和事后追查、分析工具
 (7) 标识和认证是授权、审计等的前提条件是第一道安全防线
 (8) 机密数据管理:对于同时保存机密和公开数据的数据库而言,访问控制主要保证机密数据的保密性, 仅允许授权用户的访问。这些用户被赋予对机密数据进行一系列操作的权限,并且禁止传播这些权限
 (9) 多级保护:将数据划分不同保密级别,用户只能访问拥有的权限所对应级别的数据 (10) 限 界 :防 止程 序之间出现非授权的信息传递
 33、系统集成在技术上需要遵循的基本原则包括:开放性、结构化、先进性和主流化。
 34、传 输是网络的核心,网 络 服 务是网络应用最核心的问题
 35、数据仓库技术是数据集成的关键; 通用标识符问题是数据集成的难题之一。
 36、数据集成层次:基本数据集成、多级视图集成、模式集成、多粒度数据集成。
 37、应用集成:互操作性;数据集成:互通;网络集成:互联。
 互操作性指的是能在对等层次上进行有效的信息交换,最上层是应用集成(互操作性),中间是数据集成(互通),底部是网络集成(互联)。
 38、应用集成的技术:
 (1)具有应用间的互操作性
 (2)具有分布式环境中应用的可移植性
 (3)具有系统中应用分布的透明性
 39、可以帮助协调连接各种应用的组件
 (1) 应用编程接口
 (2) 事件驱动型操作
 (3) 数据映射
 40、安全系统 ( X战 机):
 X轴:安全机制;
 Y轴 :ISO 网络参考模型
 Z轴:安全服务
 41、ISSE 将信息安全系统工程实施过程分解为(保证工程没有风险): 工程过程、风 险 过 程和 保 证 过 程
 42、ISSE-CMM模式采用两维设计:
 ◆ 域维(安全过程域):定义信息安全工程的所有实施活动
 ◆ 能力维(公共特性):公共特性分为5个级别
 公共特性的成熟度等级:
 Level1: 非正规实施级:执行基本实施;
 Level2: 规划和跟踪级:规划执行、规范化执行、验证执行、跟踪执行;
 Level3: 充分定义级:定义标准化过程、执行已定义的过程、协调安全实施;
 Level4: 量化控制级:建立可测度的质量目标、对执行情况实施客观管理;
 Leve15: 持续改进级:改进组织能力、改进过程的效能。