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