导图社区 系统架构师
这是一篇关于系统架构设计师思维导图,包括计算机组成与体系结构、操作系统、数据库系统、计算机网络、系统性能评价等内容。
编辑于2021-10-14 15:49:53(新)完全掌握(日语能力考试)N2语法 的所有语法知识点,通过深入浅出的讲解和丰富的例句,帮助考生系统掌握日语语法的精髓,无论是初次接触N2语法的初学者,还是希望进一步巩固和提升的进阶者,都能从这本书中获得宝贵的指导和启发。
这是一篇关于敏捷开发流程的思维导图,主要内容包括:持续改进与敏捷回顾,产品演示与反馈循环,持续集成与测试驱动开发,迭代规划与日常站会,用户故事与需求梳理,敏捷团队的组成与角色,Scrum框架基础,敏捷开发的核心价值观。
来自日语学校 赤门会,在日语中,自动词和他动词是两种不同的词性,它们分别表示不同的动作和状态。
社区模板帮助中心,点此进入>>
(新)完全掌握(日语能力考试)N2语法 的所有语法知识点,通过深入浅出的讲解和丰富的例句,帮助考生系统掌握日语语法的精髓,无论是初次接触N2语法的初学者,还是希望进一步巩固和提升的进阶者,都能从这本书中获得宝贵的指导和启发。
这是一篇关于敏捷开发流程的思维导图,主要内容包括:持续改进与敏捷回顾,产品演示与反馈循环,持续集成与测试驱动开发,迭代规划与日常站会,用户故事与需求梳理,敏捷团队的组成与角色,Scrum框架基础,敏捷开发的核心价值观。
来自日语学校 赤门会,在日语中,自动词和他动词是两种不同的词性,它们分别表示不同的动作和状态。
《系统架构设计师》 希赛软考学院 第四版
10、设计模式
设计模式概述
~概念
理解为某一类问题的通用解决方案
了解模式中的思想
滥用设计模式会糟糕
~组成
模式名称
问题
解决方案
效果
分类
创建型模式
行为模式
结构型模式
GoF设计模式
23种设计模式
工厂模式 Factory Method
延迟创建类方法
抽象工厂模式 Abstract Factory
复杂系统中对象创建
建造者模式 Builder
与抽象工厂类似,但逐步构造一个复杂对象。并返回实例
原型模式 Prototype
根据原型实例创建新对象
单例模式 Singleton
保证一个类只有一个实例
创建型
适配器模式 Adapter
解决系统间接口间系统不相容问题
桥接模式 Bridge
把类的抽象部分同实现部分相分离
组合模式 Composite
以树形结构组合对象
装饰器模式 Decorator
动态为对象的某一个方法增加功能
外观模式 Facade
为一组类提供一致访问接口
享元模式 Flyweight
共享大量细粒度对象
代理模式 Proxy
提供代理访问
结构型模式
解释器模式 Interpreter
可自定义内容;定义解释器,解释遵循给定语言和文法的句子
模板方法 Template Method
定义操作的模板
责任链模式 Chain of Responsibility
把请求对象组成成一条链,传递请求
命令模式 Command
将请求封装为对象,增强请求的能力
迭代器模式 Iterator
提供了顺序访问一个对象集合中的各种元素的方法
中介者模式 Mediator
减少系统对象间耦合性
备忘录模式 Memento
捕获对象状态的方法
观察者模式 Observer
将对象状态广播到一组观察者
状态模式 State
允许一个对象在其内部状态改变的时候改变它的行为
策略模式 Strategy
对象中的算法独立于客户
访问者模式 Visitor
表示对某对象结构各元素的操作,该模式可以定义新操作
行为型模式
其他设计模式
Intervepting Filter模式
Session Facade模式
设计模式与软件架构
设计模式侧重于类与类,对象与对象
设计模式分类
创建型、结构型、行为型
另一种分类
应用于类(模式)
工厂方法、适配器、模版方法、解释器
应用于对象(模式)
其余19种
设计模式实现
Abstract Factory模式
object=new ClassName
为了适用于不同的运行环境,经常使用抽象类定义接口
Singleton模式
服务类只有一个对象
打印机、短消息服务
Decorator模式
解决增强、扩展类的功能
在原有类的基础上包装一层
装饰模式
Facade/Session Facade 模式
外观模式
原有接口进行封装,一致的访问接口
Mediator模式
封装一组对象间的通信
Observer模式
实现对象间消息广播
但增加了系统负荷
将一对多的对象依赖转化为抽象耦合 提高系统的复用价值
Intercepting Filter模式
筛选器模式
过滤请求
使得预处理和真正的处理逻辑分离
设计模式总结
最重要是理解
11、测试评测方法
测试方法
‘错误‘针对开发过程
软件错误:软件生存期内不希望或不可接受的人为错误,其结果是导致软件缺陷的产生
软件缺陷:存在于软件(文档、数据、程序)之间那些不希望、不可接受的偏差
‘缺陷‘针对软件产品
软件故障:软件运行过程中出现不希望、不可接受的内部状态
软件失效:软件运行时产生的一种不希望或不可接受的外部行为结果
测试用例=测试数据+预期结果
成功的测试,发现未发现的
高效测试,用少量用例
软件测试阶段
单元测试
模块借口
局部数据结构
重要执行通路
出错处理通路
边界条件
高内聚可简化单元测试
集成测试
模块间接口 通信问题
发现设计阶段产生的错误
测试计划在概要设计阶段制定
非渐增式
渐增式
自顶向下
不需要编写驱动模块
自底向上
不需要编写桩模块
真题中
一次性组装测试
增量式组装测试
系统测试
最后、最完整
确认测试
功能 性能 其他特性
验收测试
测试大类
动态测试
白盒测试和黑盒测试
白盒测试
结构测试
单元测试
语句覆盖
判定覆盖
条件覆盖
判定/条件覆盖
条件组合覆盖
路径覆盖
黑盒测试
等价类划分
边界值分析
错误推测
因果图
静态测试
桌面检查
接口分析
代码走查
控制流分析
数据流分析
代码审查
表达式分析
缺陷的分类和级别
输入/输出错误
逻辑错误
计算错误
接口错误
数据错误
10级错误程度
调试
排错策略
原始类
排除类
回溯类
评审方法
软件需求评审
概要设计评审
详细设计评审
软件验证 确认评审
功能检查
物理检查
综合检查
管理评审
不以测试代替评审
应关注产品 不应评论开发人员
评审人关注实质问题
不应变为问题解决方案讨论会
评审应被安排进入项目计划
品审参与者应了解整个评审过程
评审人员事先应对材料了解
应重视评审组织工作
验证 确认
合同验证
过程验证
文档验证
需求验证
集成验证
设计验证
编码验证
编写测试需求 测试用例 测试规程
确保这些测试需求 测试用例 测试规程 可以反映软件产品的预期用途
执行测试
确认软件满足预期用途
测试自动化
测试用例的生成
测试的执行控制
测试结构 标准输出对比
不吻合的测试结果的分析 记录 分类 通报
总测试状况的统计
面向对象测试
OOA测试
对认定对象 结构 主题的测试
对定义的属性 实例关联测试
对定义的服务 消息 关联测试
OOD测试
对认定的类 测试
对构造类层次结构 测试
对类库的支持测试
OOP测试
数据成员是否满足封装的要求
类是否实现要求的功能
OO单元测试
将操作作为类的一部分
OO集成测试
自顶向下
从主模块开始
深度或广度优先策略
自底向上
从原子模块开始
OO系统测试
尽量搭建与用户实际使用环境相同的测试平台
12、嵌入式系统设计
嵌入式系统概论
嵌入性
系统资源受限
专用性
系统专用性强
系统实时性强
软硬件以来强
计算机系统
处理器专用
多重技术紧密结合
系统透明性
嵌入式系统组成
硬件架构
嵌入式处理器
MCU微处理器
8位、16位
MPU微控制器
32位起步
总线
AMBA 先进微控制器总线
先进性能AHB
先进系统 ASB
先进外设 APB
PCI
Avalon 总线
存储器
高速缓存
主存
外存
IO设备 接口
RS232
USB接口
1394接口
软件架构
操作系统
应用支撑软件
应用软件
~开发平台 调试环境
交叉平台开发环境
开发工具 实用程序
高性能 可裁剪的实时操作系统
连接宿主机 目标机的多钟通信方式
嵌入式开发调试
直接调试法
早期方法
调试监控发
通过串行口 、并行口
在线仿真法
片上调试法
仿调试监控器
后台调试模式
JTAG
模拟器法
~网络系统
现场总线网
家庭信息网
无线数据通信
嵌入式因特网
~DBMS
应用间数据共享性差
使用环境特点
设备随时移动性
网络频繁断接
网络条件多样化
通信能力不对称
系统组成 关键技术
嵌入式DBMS
同步服务器
数据服务器
连接网络
数据的一致性
高效的事物处理
数据安全性
微内核
SQL支持
事务管理
数据同步
平台无关性
0管理特性
实时系统 ~操作系统
实时概念
逻辑正确
时间正确
实时系统
死线正确
按容错
硬实时系统
软实时系统
按响应时间长短
强实时系统
弱实时系统
一般实时系统
特性
时间约束性
可预测性
高可靠性
与外部环境交互作用性
多任务类型
约束的复杂性
短暂超载
嵌入式系统概述
特点
微型化
代码质量高
专业化
实时性强
可裁剪、配置
分类
商业型
免费型
实时嵌入式OS
非实时嵌入式OS
~系统开发 设计
概述
软硬协同
都很健壮
微处理器类型多样化
实时嵌入 OS多样性
资源少
应用少
特殊开发工具
调试很困难
开发设计流程
模型
瀑布模型
螺旋模型
逐步求精模型
层次模型
方法
核心技术
处理器技术
通用处理器
单用途处理器
专用处理器
IC技术
全定制/VLSI
半定制/ASIC
可编程/ASIC
开发环境
配套开发环境
与处理器芯片配套环境
与具体应用平台配套的开发环境
其他类型
GNU
嵌入软件设计模型
状态机模型
数据流模型
并发任务模型
OO模型
需求分析
(最重要)输出系统规格说明
通过用例捕捉需求
系统设计
协同合成工具
协同模拟工具
系统架构设计
原始框图
软件系统架构
硬件系统架构
硬件子系统设计
选择处理器技术
通用嵌入处理器的选择
硬件设计注意事项
软件子系统设计
OS选择
编程语言选择
软件开发过程
软件开发文档
集成与测试
长时间运行
版本不会频繁变化
通常在关键应用中
用专用实时跟踪工具对代码覆盖率测试
软件和硬件一起对产品可靠性负责
更多性能和可用性测试
可靠性测试级别比对通用软件更高
现实是异步和不可预测,模拟测试困难
集中实时测试
13、开发管理
项目范围 时间 成本
项目管理范围
输入
项目章程
项目范围管理计划
组织过程资产
需求文件
目的
成本时间资源估算
绩效测量 控制定义基准计划
明确职责分配
变更范围
变更一致认可
确定变更是否发生
对实际变更进行管理
生产项目计划的基础
项目管理成本
成本执行情况,掌握偏差
确保变更记录在基准计划中
防止把不准确 不适宜或未批准的变更纳入基准
批准变更通知项目干系人
把预计的成本控制在可接受的范围内
项目时间管理
活动定义
工作分解结构来定义
活动排序
活动资源估算
活动历时估算
制定计划
进度控制
配置管理 文档管理
软件配置管理的概念
配置标识
版本控制
状态统计
审计审查
生产
过程管理
小组协作
ISO9000.3标准
软件配置管理的解决方案
Rational ClearCase
版本控制
工作空间管理
建立管理
过程控制
Merant PVCS
Microsoft VSS,CVS
软件文档管理
软件文档的作用
管理依据
任务之间联系凭证
质量保证
培训与参考
软件维护支持
历史档案
销售可能
文档的归类
开发文档
产品文档
用户 维护人 流通性
管理文档
真题中的分类
系统文档
从问题定义、需求说明到验收测试计划、系统实现有关的文档
用户文档
功能描述
安装文档
使用手册
参考手册
操作员指南
文档编制计划
目录&标准
管理员&需要条件
保证质量方法&绘制进度表
对文档质量的要求
针对性
精确性
清晰性
完整性
灵活性
软件需求管理
需求变更
项目启动阶段的变更预防
项目实施阶段的需求变更
需求跟踪
确定需求变更控制过程
需求变更影响分析
建立需求基准版本 需求控制版本文档
维护需求变更的历史记录
跟踪每项需求的状态
软件开发的质量 风险
质量管理
质量计划
说明如何保证质量
质量保证
贯穿始终,事件驱动,分析结果与既定质量标准比较
质量控制
软件评审
测试
风险管理
项目风险管理的概念
内部技术风险
内部非技术风险
外部法律风险
外部非法律风险
风险管理的过程
风险识别
风险分析
风险应对方法
风险应对计划
风险控制
人力资源管理
组织计划
垂直、水平团队组织
混合团队组织
人员招募
领导能力
沟通技巧
人际交往能力
应付压力的能力
培养员工的能力
时间管理技能
团队建设
形成阶段
震荡阶段
正规阶段
表现阶段
软件的运行 评价
稳定性 可靠性评价
是否满足需求
软件实施给用户的好处
软件过程改进
CMM
初始级
可重复级
需求管理
软件项目计划
软件项目跟踪 监督
软件分包合同管理
软件质量保证
软件配置管理
定义级
管理级
优化级
CMMI
过程管理
项目管理
工程及支持
ISO9000
9001与CMM相似
9001 与CMM有更多直接对应关系
ITIL
提供客观 严谨 可量化的标准和规范
14、信息系统基础知识
信息系统概述
组成
数据文件
应用数据库
主题数据库
信息检索系统
战略级
最高管理
战术级
中层领导
操作级
业务部门
事务级
业务人员
生命周期
产生阶段
开发阶段
运行阶段
消亡阶段
建设原则
高层管理介入原则
用户参与开发原则
自顶向下规划原则
工程化原则
其他原则
开发方法
结构化方法
原型法
OO方法
SO方法
信息系统工程
概念
特性
相关性
集合性
目的性
层次性
环境适应性
系统的分类
工业控制
信息管理
军事系统
经济系统
系统工程
多种定义
信息系统
以计算机为信息处理工具
信息系统工程
将系统工程的理论、方法论应用到信息系统
内容
体系构成
技术构成
软件工程
信息工程
组织流程
流程管理机构
配备强有力的领导来负责内部的流程管理
制定各流程之间的动态关系规划
信息系统工程的管理
任务划分
计划安排
经费管理
审计控制
风险管理
质量保证
总体规划
总体规划概念
总体规划的需求
主要任务
主要步骤
总体规划目标
总体规划目标的意义
~功能
从组织的战略出发
从业务的变革出发
~分析过程
确定组织总体目标
系统工程规划的总体目标
~使用
有效使用
总体规划的方法论
业务系统规划法
BSP
战略应表达企业的各个管理层次的需求
应向整个企业提供一致的信息
应向组织机构和管理体制的改变
信息系统的战略规划
BSP目标
提供信息系统规划
支持企业短期和长期的信息需要
BSP步骤
确立项目
工作准备
主要活动
关键成功因素法
CSF确定
CSF实施步骤
CSF优缺点
战略目标集合转化法
识别和阐明组织的战略集合
将组织的战略集合转化为信息系统战略集合
政务信息化 电子政务
我国~历程和策略
做好战略数据规划
面向主导业务流程
重视资源条件
以人为本
设立CIO
加强规范化和标准化
充分利用社会资源
内容
政府与政府
G2G
政府对企业
G2B
政府对公民
企业对政府
公民对政府
政府对公务员
G2E
建设的过程模式 技术模式
过程模式
以用户为中心
引进“客户关系管理”技术
政府门户
技术模式
网络管理模式
信息资源管理模式
元数据管理模式
XML数据管理模式
应用开发模式
G2E
G2B
G2G
G2C
电子政务的安全体系
物理 网络 信息安全 安全管理
电子政务标准化
企业信息化 电子商务
企业信息化概述
目的
数字神经系统
企业信息资源集成的核心
内、外部信息流的集成
规划
企业战略层面
业务运作层面
管理运作层面
方法
业务流程重构方法
核心业务应用方法
信息系统建设方法
主题数据库方法
资源管理方法
人力资本投资方法
企业资源规划
ERP
管理思想
软件产品
管理系统
ERP功能
支持决策
提供针对性IT解决方案
内部供应链发展为跨行业供应链
ERP主要模块
物流
生产控制
物流管理
信息流
资金流
财务管理
客户关系管理
CRM
改善客户与企业关系的机制
CRM背景
以产品为中心的模式向以客户为中心的模式转变
视角从”内视型“转为”外视型“
CRM内容
客户服务
市场营销
共享的客户资料库
分析能力
解决方案和实施过程
畅通有效的客户交流渠道
对所获信息进行有效分析
CRM与ERP集成
行程一定闭环结构
CRM价值
带有客户服务的产品总价值高于本身
产品数据管理
PDM简介
Defi 管理所有产品信息 所有产品过程的技术
Defi 为企业设计生产构筑的一个并行产品开发环境
是一种软件框架
PDM需求
统一数据模型,产品信息一致
缩短上市
适多种小批量生产方式
PDM发展过程
配合CAD
产品数据管理
产品协同商务
PDM主要模块和内容
数据基库
产品配置管理
工作流管理
分类及检索功能
项目管理
企业门户
功能
互联网址和服务完全合并
支持开放标准和API
能够接入一个网站架构伙伴和专业服务公司所组成的网络
分类
企业信息用户
企业知识门户
企业应用门户
商业流程、企业应用为核心
将商业流程中功能不同的应用模块通过门户集成在一起,提高集中贸易能力、协同能力、信息管理能力
要素
战略性思维
建立门户网站框架
寻找技术供货商
确定门户类型
小规划试办项目
企业应用集成
EAI
内容
集成技术发展展望
面向过程的集成
强调不同系统交互,与核心业务分离,通过不同系统协作完成某项功能
面向信息的集成
面向服务的集成
供应链管理
定义
需求信息
客户订单、生产计划、采购合同
供应信息
入库单、完工报告单、库存记录、可供销售量、提货发运单
供应链与物流
供应链管理
供应链管理运作
供应链管理的技术支持
电子商务概述
EC
电子商情广告
电子选购和交易及电子交易凭证的交换
电子支付与结算及网上售后服务
实体
客户 商户 银行 认证中心
类型
B2C
C2C
O2O
知识管理 商业智能
知识管理
商业智能
是企业对商业数据的搜集、管理、分析的系统过程
业务流程重组BPR
内容
根本性
彻底性
戏剧性
流程
作用
企业贴近市场
生产成本压缩
产品质量提升
服务质量趋于完美
遵循原则
流程中心原则
团队管理原则
客户导向原则
15、基于中间件的开发
中间件技术
中间件概念
很难定义
分类
通信处理中间件
事物处理中间件
数据存取管理中间件
Web服务中间件
安全中间件
跨平台和架构的中间件
专用平台中间件
网络中间件
产品介绍
IBM MQSeries
BEA Tuxedo
应用服务器技术
概念
更合理地分工企业级应用开发
应用设计 开发 部署 运行 管理 维护
使得应用与底层平台无关
为企业应用提供现成的、稳定而强健、灵活的、成熟的基础架构
主要应用服务器
BEA WebLogic
IBM WebSphere
SUN iPlanet
Oracle Internet Application Server
Sybase Enterprise Application Server
J2EE
表示层
可以基于多重技术
应用服务层
Servelet
JSP
EJB
实体Bean
会话Bean
消息驱动Bean
JMS
JNDI
事物处理
事物处理接口
XA资源接口
.NET
平台
是一个环境
软件变服务
基于XML共同语言
融合多种设备和平台
新一代人机界面
框架
通用语言运行时
基础类库
ADO.NET
ASP.NET
WinForms
开发语言
其他特征
企业应用集成EAI
应用集成
业务过程集成
交互式流程
多步流程
数据集成
轻量级架构 重量级架构
Struct
JSP Servlet
Spring
轻量级 J2EE
Hibernate
对象关系映射框架 Java应用和关系数据库之间的桥梁
基于Struts、Spring、Hibernate的轻量级架构
重量级性能好 开发效率低
16、安全性和保密性设计
加密和解密
对称密钥 加密算法
DES 、IDEA 、Skipjack 、3DES、 GDES 、New DES、FEAL N、 LOKI91 、RC4、RC5
DES
IDEA
64 128
大量密钥分配与管理是一个难以解决的问题
不对称密钥加密算法
RSA、背包密码、McEliece、Diffe Hellman、Rabin、Ong Fiat Shamir、零知识证明的算法、椭圆曲线、EIGamal
RSA加密过程
c∶c=m^e mod N
m ∶m=c^e mod N
RSA数字签名
用于发送者的身份验证、数字签名
数字签名 数字水印
不同内容的报文具有不同的散列码
散列函数是单向的
对于任何一个报文、无法预知它的散列码
散列码具有固定的长度
RSA结合MD5数字签名
数字签名标准
数字签名 密钥管理
密钥分配中心
数字证书
唯一标识证书所有者的名字
唯一标识证书签发者民称
证书所有者的公开密钥
证书签发者的数字签名
证书有效期及证书的序列号
公开密钥基础设施
PKI结构模型
PKI层次模型
X。509数字证书
安全协议
IPsec
安全关联 安全策略
AH
先将数据校验加密 封装为IP包
ESP
对数据包进行加密提供传输信息的保密性
IP密钥交换
混合协议
IPsec工作模式
传输模式
效率高
隧道模式
安全性高
SSL
不能保证不可否认性
SSL记录协议
SSL协议记录头格式
SSL记录数据的格式
MAC数据=HASH(密钥、实际数据、粘贴数据、序号)
SSL握手协议
对称密钥加密算法 公钥加密算法
PGP协议
PGP加密原理
发送方A 有3,A的公钥,B的公钥,A的一次性对称密钥
接收方B有2,B的私钥,A的公钥
发送
A使用SHA安全散列算法,将明文生成摘要,然后用A的私钥,对信息摘要数字签名,将摘要和明文用一次性对称密钥加密,然后将对称密钥用B的公钥加密,最终传送
接受
B收到后,用B的私钥解密,得一次性对称密钥,然后用密钥解密,获取信息摘要和明文,使用A的公钥核实数字签名,得到信息摘要,使用SHA算法,将明文生成信息摘要,和收到的信息摘要比对,如果无误,则安全
PGP密钥管理机制
密钥关键作用
计算机病毒 与防治
特征
传染性 非授权性 潜伏性 破坏性
分类
源码型 嵌入型 Shell 宏病毒 脚本病毒 操作系统病毒
组成
传染模块 触发模块 破坏模块 主控模块
清除
特征码扫描
校验 检测
行为检测
启发式扫描
虚拟机
病毒的清除
身份认证 访问控制
身份认证
口令方式
基于公钥签名
持卡认证
生物特征
动态口令
PPP的认证协议
PAP
CHAP
EAP
RADIUS
访问控制技术
访问控制策略
DAC
MAC
访问许可授权
登记型
拥有型
自由型
网络安全体系
OSI安全架构
OSI安全服务
5个
OSI安全机制
8个
OSI安全服务与安全机制之间的关系
VPN应用
通信安全
方便扩充
方便管理
节约成本
原理
安全隧道技术
用户认证技术
访问控制技术
系统的安全性设计
物理安全
防火墙应用
原理
网络级
包过滤
状态检测
应用级
双穴主机
屏蔽主机
屏蔽子网
优点
隔离网络
集中化管理
有效记录INternet活动
正确使用
不能防病毒 不能防基于数据的攻击
安全检测
入侵检测IDS
第二道防火墙,补充内网攻击防御
包含知识库系统
~系统的种类
主机型
网路型
方法
异常检测
误用检测
安全性规章
安全管理制度
计算机犯罪
17、系统的可靠性 分析与设计
可靠性概述
可靠度
可用度
可维度
平均无故障时间
平均故障间隔
系统故障模型
来源
失效
故障
错误
特性
永久性
间歇性
瞬时性
类型
逻辑的故障类型
数据结构的故障
软件故障 差错
系统级故障
系统配置方法
单机容错技术
自检技术
冗余技术
双机热备份
服务器集群技术
系统可靠性模型
时间模型
故障植入模型
程序中的固有错误数是一个未知常数
程序中的人为错误按均匀分布随机植入
程序中的固有错误书和人为错误被检测到的概率相同
检测到的错误立即改正
数据模型
系统可靠性分析 可靠度计算
组合模型
枚举所有系统状态
计算每个系统状态的概率
可靠性计算
马尔可夫模型
提高系统可靠性措施
硬件冗余
信息冗余
海明校验码
循环冗余校验码
备份恢复
18、软件的 知识产权保护
著作权法及实施条例
客体
作品类型
职务作品
主体
著作权人 受让人
著作权人的确定
著作权
发表
署名
修改
保护作品完整权
使用权、使用许可权 获取报酬 转让权
50年
使用许可
计算机软件保护条例
著作权人确定
软件著作权
商标法及实施条例
商标使用期限
注册商标的申请
注册商标专用权保护
注册商标使用管理
专利法及实施细则
授予条件
确定专利权人
专利权
反不正当竞争法
19、标准化知识
标准化概论
标准分级与标准类型
国际
国家级
行业
区域/地方
企业
各级标准关系
强制性标准
20、应用数学
运筹方法
网络计划技术
关键路径
网络优化
综合实例
线性规划
图解法
关于解的讨论
单纯形法
线性规划的适用性
决策轮
决策过程和模型
不确定型决策
风险决策
对策论
数学建模
数学模型
数学建模过程
模型准备
模型假设
模型建立
模型求解
模型分析
模型检验
模型应用
数学建模方法
直接分析法
类比法
数据分析法
构象法
21、虚拟化、云计算 与物联网
虚拟化
分类
平台虚拟化
全虚拟化
超虚拟化
硬件辅助虚拟化
部分虚拟化
操作系统级虚拟化
资源虚拟化
应用程序虚拟化
模式
单一资源多个逻辑表示
多个资源单一逻辑表示
在多个资源之间单一逻辑表示
单个资源单一逻辑表示
复合 分层虚拟
云计算
特点
计算资源集成提高设备计算能力
分布式数据中心保证系统容灾能力
软硬件相互隔离减少设备依赖性
平台模块化设计高可扩展性
虚拟资源池为用户提供弹性服务
按需付费降低使用成本
类型
软件即服务
平台即服务
基础设置即服务
应用
云安全
云存储应用
云呼叫应用
云会议应用
物联网
层次
感知层
网络层
应用层
相关领域 技术
射频识别技术
RFID
标签
阅读器
天线
二维码技术
传感网
M2M
机器对机器
应用
1、计算机组成 与体系结构
计算机系统组成
硬件组成
结构分类
复杂、精简指令集
总线
存储器系统
主存
主存储器
辅存
辅存储器
Cache存
Cache存储器
流水线
周期
执行时间
吞吐率
指令条数/流水线时间
加速比
2、操作系统
OS的类型和结构
OS 表示操作系统
defi & structure
核心系统软件
管控 硬件软件
组织流程、利用资源
用户于计算机之间的 接口作用
为应用提供API
classify
批处理os
分时/实时os
网络os
分布式os
嵌入式os
微内核os
接口
操作一级接口
控制命令
菜单命令
程序一级接口
系统调用
OS基本原理
process manage
concept
资源共享
并发||并行 执行
state transition
就绪、执行、阻塞(等待)
调度、时间片到、等待事件(+发生)
suspend
原因
对换需要
终端用户请求
父进程请求
负荷调节需要
操作系统需要
属性
不可能被调度执行
挂起阻塞➡️挂起就绪
只由显式激活
互斥与同步
资源竞争——临界资源(区)
空闲让进
忙则等待
有限等待
让权等待
协作——共享资源
前趋图
有向无循环
直接(向右)、间接(向下)制约
调度与死锁
调度原因
进程执行完毕
进程自己阻塞进入睡眠
P:资源不足进入阻塞;V:激活等待资源
调度算法
先来先服务
优先数调度
轮转法
死锁
条件:互斥条件、保持和等待条件、不剥夺条件和环路等待条件
影响:不能继续执行,阻碍其他作业执行
解决:理论上预防避免,实际上检测和恢复
storage manage
虚存
只考虑有关数据相对位置
由pc地址位数决定容量
页式存储管理
逻辑空间和物理空间为同大小若干页
最优算法
随机算法
先进先出
最少使用
段式存储管理
逻辑意义上完整的段
段页存储管理
根据模块分段,段内分页
facility manage
数据传送方式
原则
高速不丢失
开销小
I/O尽量处于使用,CPU少等待
方式
程序控制
处理器启动,等待完成
中断
进程放弃处理器,等待数据传输完成
DMA
外部设备和内存直接通路
通道方式
字节多路通道
选择通道
成组多路通道
虚设备、SPOOLING技术
将低速独占设备变为共享设备
需要外存支持
file manage
逻辑结构(组织形式)
顺序文件
索引顺序文件
索引文件
直接文件
物理结构(提高效率)
顺序分配
链接分配
索引分配
存储设备
索引法
链接法
位示图法
树型目录
相对目录
绝对目录
operation manage
作业状态及转换
提交状态
进入外存储器
后备状态
建立作业控制快JCB
执行状态
被分配资源,调度并建立进程
完成状态
结束,且资源未被回收
用户接口
操作系统的接口
命令接口
键盘命令
作业控制命令
子主题
程序接口
编程接口
程序调用接口
操作环境
友好、易用
3、数据库系统
DBMS的类型
关系型DBMS
文档型DBMS
键值型DBMS
对象型DBMS
NOSQL
DB模式、范式
DB结构、模式
三级抽象
用户级
最接近用户一级
概念级
介于用户级、物理级
物理级
对应内模式,最底层
三级模式
外模式
描述用户看到的部分数据
概念模式
描述逻辑结构
描述现实实体的性质与联系
内模式
整个数据库的最底层
两级独立性
物理独立性
应用程序与磁盘上数据库、中的数据
逻辑独立性
应用程序与数据上数据库、中的逻辑结构
数据模型
概念数据模型(实体-联系模型)
E-R模型
基本数据结构(结构数据模型)
层次Model
树形:实体类型、实体间联系
网状Model
有向图:实体类型实体间联系
关系Model
表格结构:实体。外键表示实体间联系
面向对象Model
关系代数
交、并、差、除法
笛卡尔积、选择(Pi)、投影
连接
数据规划范
1NF
元素不可再分,有部分依赖
2NF
分解部分依赖属性,有传递依赖
3NF
2NF,非主属性不传递依赖
BCNF
主属性对不包含它的完全函数依赖,没有属性完全依赖一组非主
4NF
无损连接
依赖保持
依赖推理
关系模式R<U,F>,U为属性集,F是U上的一组依赖
自反律
若Y⊆X⊆U,则X→Y为F所蕴含
增广律
若X→Y为F所蕴含,且Z⊆U,则XZ→YZ为F所蕴含
传递律
若X→Y,且Y→Z为F所蕴含,则X→Z为F所蕴含
基本
合并规律
若X→Y,X→Z,则X→YZ为F所蕴含
伪传递律
若X→Y,WY→Z,则XW→Z为F所蕴含
分解规则
若X→Y,Z⊆Y,则X→Z为F所蕴含
推出
反规范化
目标:提升查询效率
增加冗余列
增加派生列
重新组表
分割表
水平分割
表大
数据独立性
分开存多个介质
垂直分割
DB设计
设计方法
直观设计
规范设计
计算机辅助设计
自动化设计
基本步骤
需求分析
确认需求、定设计目标
分析、收集数据
整理文档
需求说明、数据字典、数据流图
概念结构设计
视图设计
视图集成
逻辑结构设计
基本E-R向关系模型转换
数据模型的优化
物理结构设计
性能、要求、外存特性
事务管理(原子、一致、隔离、永久性)
并发控制
排他锁
共享锁
一级锁
二级锁
三级锁
两段锁
预防、解死锁
子主题
三个问题
丢失更新
一级锁,修改前加锁
二级锁,事务读前加锁
三级锁,一级加事务读前加锁
读脏数据
二级锁,事务读前枷锁
三级锁,一级加事务读前加锁
不可重复度
三级锁,一级加事务读前加锁
故障与恢复
事务故障
系统故障
介质故障
计算机病毒
备份与恢复
全部恢复
增量恢复
静态转储(冷备份)
只能恢复时间点
快速
容易归档
动态转储(热备份)
不能出错,不成功即,结果无效
可以同时对数据库进行存取,修改操作,因此转储和用户事务可并发执行
子主题
子主题
备份
完全备份
差量备份
上次完全备份后的数据
增量备份
上次备份之后变化的数据
日志文件
事务处理过程中每一次操作写入日志,以待故障恢复初始状态
分布式DBS
概念
分布性
水平分片
垂直分片
统一性
分布透明性
分片透明性
用户不关心物理位置
位置透明性
用户不关心物理位置改变
逻辑透明性
复制透明性
优点
坚固性好
可扩充性好
可改善性能
自治性好
分类
同构型、异构型
无自治、局部自治
高度分布透明
目标(12条)
局部节点自治性
不依赖中心
能连续
位置独立
分片独立
数据复制独立
分布式查询
分布式事务管理
硬件独立性
OS独立性
网络独立
DBMS独立性
架构
模式
全局外~、全局概念~、分片~、分布~、局部概念~、局部内~
与并行DBS区别
应用目标不同
实现方式不同
各结点地位不同
数据分片和透明性
分片透明最高
位置透明其次
局部透明性与用户
分布式管理系统
LDBMS
GDBMS
全局字典
CM
全局控制集中的~、全局控制分散的~、全局控制部分分散的~
数据仓库
概念
面向主题、集成、稳定、随时间变化,支持决策
特定时间大量插入(反应历史变化)
结构
参考框架
架构
实现方法
自顶向下方法
自底向上方法
联合方法
数据挖掘
概念
发现数据的关系和规则
功能
自动预测驱使和行为
关联分析
聚类分析
序列分析
概念描述
偏差检测
常用技术
关联分析
序列分析
时间序列分析
分类分析
聚类分析
预测
回归分析
流程
问题定义
建立挖掘库
分析数据
调整数据
模型化
评价和解释
BI系统
数据预处理
建立仓库
数据分析
系统智能的关键
联机分析处理
数据挖掘
技术
数据展现
NoSql
易扩展
大数据,高性能
灵活数据模型
高可用
大数据
Volume
Variety
Value
Velocity
就是在数据仓库里
SQL
创建表 create table;
指定主键primary key()
指定外键 foreign key()
修改表 alter table
删除表 drop table
索引index,视图view
DISTINCT 过滤重复
UNION 出现在两个SQL之间,并
INTERSECT 对两个SQL语句的查询结果做与运算,即指同时存在于两个语句才被选出
MIN,AVG,MAX 分组查询聚合函数
数据库性能优化
集中式数据库
硬件系统
CPU、内存、I/O(磁盘、阵列),网络
系统软件
参数,进程优先级,CPU使用权,内存使用
数据库设计
表 视图
表的规划
建立物化视图
索引
常查询-建索引,常修改-避免索引
SQL优化
以不相干子查询替代相干子查询
只检索需要的列
用IN语句等价替代OR子句
经常提交COMMIT,释放锁
尽可能减少多表查询
应用软件
数据库连接池
分布式数据库
通信代价
全局查询树的变换
多副本策略
查询树分解
半连接与直接连接
4、计算机网络
网络架构与协议
模型
OSI/RM
物理层
节点间比特流
数据链路曾
相邻节点无差错传帧
网络层
整个通信子网内的连接
IP、ICMP、IGMP、ARP、RARP
传输曾
两台pc间可靠的传输
会话层
请求者和服务者间的活动(最薄一层)
表示层
用户信息的表示
应用层
计算机与用户间的界面
FTP、TFTP、HTTP、SMTP、DHCP、Telnet、DNS、SNMP
TCP/IP
网络接口层
网络互联层
传输层
应用层
大型局域网分层
核心层
逻辑上仅一个,连接多个分布层交换机,通常是园区中连接多个建筑物的总交换机的核心网络设备
汇聚层
定义网络的访问策略
接入层
接入层提供据网络接入,可以使用集线器代替交换机
IPV6
IPV4:32位/4,每段8位
IPV6:128位/8,每段16位
2001:0da8:d001:0001:0000:0000:0001
2001:da8:d001:1:0:0:0:1
2001:da8:d001:1::1
格式及简写
种类
单播V6
多播V6
泛播V6
优势
大空间
小路由表
增强组播+对流
自动配置
安全
局域网、广域网
基础知识
星型结构
总线结构
网状结构
环形结构
无限局域网
拓扑结构
IEEE802.1STD
3/4G通信
广域技术
考察率低
网络接入
PTSN、ISDN、ADSL、FTTx+LAN、HFC
互联、常用设备
中继器、集线器;网桥、二层交换机;路由器、三层交换机;网关、多层交换机
交换技术
路由技术
网络工程
~规划
~需求分析
可行性研究
现有网络分析、描述
~设计
~逻辑设计
~物理结构设计
分层设计
~实施
工程实施计划
到货验收
设备安装
系统测试
系统试运行
用户培训
系统转换
存储技术
直接附加存储
DAS
网络附加存储
NAS
存储区域网络
FC SAN
IP SAN
综合布线
工作区子系统
工作区终端到水平子系统信息插座的互联
水平布线子系统
信息插座和管理子系统的连接
设备间子系统
中央主配线架和不同设备的连接
垂直干线子系统
各楼层设备建子系统 之间的互连
管理子系统
连接水平和垂直,干缆线,提供连接控制服务
建筑群子系统
各建筑物间的通信系统 互联
IETF服务定义IntServ
保证质量的服务
提供宽带、延时、抖动、丢包率定量保证
尽力而为的服务
一般的,无质保服务
负载受控的服务
定性提供质量保证
5、系统性能评价
性能指标
计算机
时钟频率
高速缓存
运算速度
运算精度
CPU
内存的存储容量
存储器的存取周期
内存,外存
数据处理速率
响应时间
RASIS特性
可靠性、可用性、可维护性、完整性、安全性
平均故障响应时间
兼容性
网络
设备性能
吞吐量、延迟、丢包率、转发速度
网络性能
可达性、吞吐量、传输速度、信道利用率···
应用性能
QOS····
用户指标
可靠性、可用性
吞吐量
最大速率
操作系统
可靠性、吞吐量、响应时间、资源利用率、可移植性
数据库管理系统
WEB服务器
性能计算
MIPS计算方法
峰值计算
等效指令速度
性能设计
阿姆达尔方案
加速比=不实用增强部件的整个时间/使用增强时间
负载均衡
基于服务器~
分为本地/全域均衡技术
反向代理~
基于NAT~
扩展的~
基于DNS~
性能评估
基准测试程序
最多、最频繁的核心程序
合成基准程序准确度最低
还有 小型基准程序、核心基准程序、真实程序
Web服务器性能评估
系统监视
常规性能数据
比较基准的性能数据
服务水平报告
6、开发方法
软件生命周期
1、可行性研究
2、需求分析
3、概要设计
4、详细设计
8、使用和维护
正确性(改正性)维护
适应性维护
完善性维护
预防性维护
5、实现
6、集成测试
7、确认测试
内部确认测试
由开发组织内部按照软件需求规格说明书
α测试 β测试
α指yoghurt在开发环境下,β指用户在实际情况下测试
验收测试
交付前以用户为主的测试
~开发模型
瀑布
演化
螺旋
增量
构件组装
统一过程(RUP)
初始阶段
界定系统范围,目标
细化阶段
出逻辑模型
工作计划,资源要求
构件阶段
实施、测试
交付阶段
重构、修改、测试、部署
强调
迭代、增量
在开发早期对较大风险进行处理
敏捷方法
以原型思想为基础,采用 迭代增量开发,适合需求变化大或前期不明确的
极限编程XP
价值观:沟通,简单,反馈,勇气
最佳实践:计划游戏,小型发布,隐喻,简单设计,测试先行,重构
,结对编程,集体代码所有制,持续集成,每周40小时,现场客户,编码标准
特征驱动开发
FDD角色定义
首席程序员
“类”程序员
核心过程
最佳实践
Srum
产品代办事项列表梳理
Sprint计划会议
每日Scrum会议
Sprint评审会议
Sprint回顾会议
价值观
承诺
专注
开放
尊重
勇气
水晶方法
经常交付
反思改进
渗透式交流
个人安全
焦点
与专家用户建立方便的联系
配有自动测试、配置管理、IDE
其他敏捷方法
开放式源代码
自使用软件开发
3个非线性重叠,猜测、合作、学习
软件重用
源代码重用
架构重用
应用框架重用
业务建模重用
文档及过程重用
软件服务重用
构建技术
构建就是组件
CORBA、JavaBean/EJB、COM/DCOM
软件元素:需求分析文档,设计文档,程序代码,测试用例,知识领域
逆向工程
实现级:包括程序的抽象语法树、符号表
结构级:包括反映程序分量之间的相互依赖关系,调用图、结构图
功能级:包括反映程序段功能及程序段之间关系的信息
领域级 :包括反映程序分量或程序实体与应用领域概念之间对应关系的信息
基于架构的软件设计
基础
功能分解
选择SA风格。实现质量和业务需求
ABSD方法与生命周期
抽象功能需求
用例
抽象的质量和业务需求
质量因素
架构选项
约束
基于架构的构件开发模型
架构需求
需求获取
系统质量目标
系统的业务目标
开发人员的业务目标
标识构件
生成类图
对类分组
需求评审
需求评审
组织由(分析人员、客户、设计人员、测试人员)组成的小组
架构设计
提出模型
已标识的构件映射到软件架构中
分析构件之间的相互作用
产生软件架构
设计评审
架构文档化
架构需求规格说明
测试架构需求的质量设计说明
架构复审
用户代表、领域专家
目的:潜在奉献、错误缺陷、SA满足需求、质量需求是否在设计中得到体现···
架构实现
分析与设计
构件实现
构件组装
构件库
系统测试
架构演化
需求变动归类
制定架构演化计划
修改、增加或删除构件
更新构件的相互作用
构件组装与测试
技术评审
产生演化后的架构
基于构件的软件开发
逻辑构件模型
描述系统蓝图 保证系统提供适当功能
子主题
物理构件模型
了解系统的性能、吞吐率等非功能属性
形式化方法
基于数学方式描述、开发、验证系统
可以没有单元测试
开发环境
软件工具
支持开发过程、活动、任务
环境集成
数据集成
存储或访问环境信息库统一的数据接口规范
控制集成
支持各种开发活动之间的通信、切换、调度、协同
界面集成
采用了统一的界面形式
7、系统计划
项目的提出、选择
立项目标、动机
基础研究、获取技术
应用研发获得产品
提供技术服务
产品使用者
项的选择、确定
有价值的项目、开发方向
评估项目风险、收益、代价
评估多种实施方式
平衡选出方案
项的提出和选择结果
乙方竞标方案的一部分
立项人向上级的,项目建议书
可行性研究、效益分析
内容
技术~
法律~
经济~
执行~
方案选择
成本、效益
可能涉及成本
基础建设支出
一次性支出
运行维护费用
可能涉及利益
一次性~
非一次性~
不可定量~
指标、进一步分析
收益/投资比
投资回报周期
敏感性分析
可行性报告
项目背景
管理概要和建议
候选方案
系统描述
经济可行性
技术可行性
法律可行性
用户使用可行性
方案制定、改进
确定软件架构
实现各种关键要素和手段
归结目标到最合适计算体系
新旧系统分析、比较
遗留系统评价
启动
商业价值评价
外部环境评价
应用软件评价
分析评价结果
遗留系统演化策略
淘汰策略
继承策略
改造策略
集成策略
8、系统分析 与设计方法
定义问题、归结模型
问题分析
问题定义共识
问题本质
因果鱼骨图
帕累托图
确定干系人
定义系统边界
系统实现约束
问题定义
目标
构建系统的原因
功能需求
来源于业务
非功能需求
观感、易用性、性能、可操作性
可维护性、可移植性、安全性
文化政策、法律
需求分析、软件设计
任务与过程
需求分类
约束设计:补充说明
需求工程
需求开发
需求管理
需求分析方法
结构化分析方法
DFD表示功能模型
状态装换图表示行为模型
软系统方法
OOA方法
面向问题域的分析
系统设计
软件设计任务与活动
概要设计
详细设计
结构化分析、设计
结构化分析
步骤
研究“物质环境”
建立系统逻辑模型
划清人机界限
数据流图
层次
Context图
逐级分解
画DFD,自顶向下,由外到里
画系统输入输出
画数据流图的内部
每一个数据流命名
命名加工
不考虑初始化、终点
基本元素
External agent(实体/外部代理)
定位于项目之外,与正被研发的系统有关系的人、部门、外部系统、组织
Process(加工/处理)
在输入数据流或条件上执行,做出响应的工作
Data Store(数据存储)
静止的数据,表示系统中需要保存的数据
Data Flow(数据流)
运动的数据,来自一个过程的数据输入,或数据输出
错误
缺少移动数据流加工
没有输入或输出数据流,输入/输出不平衡
数据存储没有输出数据流
细化记录DFD部件
结构化设计
概要设计、详细设计的主要任务
结构图
程序流程图和盒图
PAD(问题分析图)和PDL(语言描述工具)
模块设计
信息隐蔽原则
模块独立原则
面向对象的分析、设计
对象和类
继承、泛化
多态、重载
模板类
消息、消息通信
概念
OOA/OOD方法
Booch方法
OMT方法
OOSE方法
分析
UML、UML结构
可视化、文档化、详细描述的语言
构造块
建模元素
关系
图
公共机制
规格说明
修饰
公共分类
扩展机制
架构
逻辑视图
设计视图,类、子系统、包和用例实现的子集
进程视图
逻辑视图的一次执行
实现视图
文件、构件进行建模
部署视图
软件到硬件的映射和分布
用例视图
最基本的需求分析模型
用例图基础
参与者
用例
包含扩展
类图、对象图基础
类和对象
类的操作
依赖
泛化
关联
实现
多重性
类图
对象图
交互图基础
顺序图
时间顺序
通信图
静态链接
定时图
时间约束
状态图基础
状态,初始状态,结束状态,状态转移
活动图基础
基本活动图
泳道活动图
构件图基础
指源代码,可执行文件,二进制文件
源代码建模
可执行体发布建模
物理数据库建模
可调整的系统建模
部署图基础
统一建模语言
最少知识原则
划分,尽量创建松耦合类
结构设计,每个都应降低属性和方法的访问权限
设计,只要可能就设计一成不变的类
引用,只要可能将对象和对象的引用降到最低
开闭原则
依赖倒置原则
组合/聚合复用原则
接口隔离原则
用户界面设计
工作流设计
简单分布式计算机应用系统的设计
分布式系统开发
表示层
实现用户界面
表示逻辑层
为了生成数据表示而必须的处理任务,如输入数据编辑
应用逻辑层
支持实际业务应用和规则所需的应用逻辑和处理过程,如信用检查、数据计算、分析
数据处理层
存储和访问数据库中的数据所需的应用逻辑和命令,查询语句、存储过程
数据层
数据库中的实际存储业务数据
系统运行环境的集成与设计
系统过渡计划
9、软件架构设计
软件架构概述
定义
软件或计算机系统的软件架构是该系统的一个结构,而结构由构件元素、元素的外部可见属性及他们之间的关系组成
多个结构组成
软件架构提供了高级抽象(结构、行为、属性)
系统的抽象
元素及行为的集合构成架构的内容
一个系统的基础组织(系统的构件,构件之间、构件与环境,以及指导其设计和演化的原则上)
任何系统都存在
架构具有基础性
隐含决策性
重要性
项目关系人交流平台
早起决策设计
较高层面上实现软件复用
对于开发的指导、规范
模型
结构模型
框架模型
动态模型
过程模型
功能模型
4+1视图
逻辑视图
用户关注
对象模型和对象的关系
实现视图
程序员关注
软件模块的管理和组织
进程视图
系统集成人员
描述设计的并发和同步特征
部署视图
系统工程师关注
用例视图
分析、测试人员关注
ADL
架构描述语言
包括
组件
组件接口
连接件
架构配置
~需求与质量属性
软件质量属性
功能性:适合性,准确性,互操性,依从性,安全性
可靠性:成熟性,容错性,易恢复性
易用性:易理解性,易学性,易操作性
效率:时间特性,资源特性
可维护性:易分析性,易改变性,稳定性,易测试性
可移植性:适应性,易安装性,遵循性,易替换性
运行期质量属性:性能,安全性,易用性,可伸缩性,互操作性,可靠性,持续可用性,鲁棒性
开发期质量属性:易理解性,可扩展性,可重用性,可测试性,可维护性,可移植性
6个质量属性、实现
可用性实现
错误检测
命令/响应(ping/echo),心跳
错误恢复
表决,主动/被动冗余,备件,状态再同步,检查点/回滚
错误预防
可修改性实现
局部化修改
防连锁反应
性能实现
资源需求
资源管理
资源仲裁
安全性实现
抵抗攻击
检测攻击
攻击中恢复
可测试性实现
输入/输出
内部检测
记录回放
易用性实现
运行时战术
设计时战术
支持用户主动操作
~架构风格
分类
设计词汇表是什么
构件和连接件的类型是什么
可容许的结构模式是什么
基本的计算模型是什么
风格的基本不变性
其使用的常见例子是什么
使用此风格的优缺点
常见特例
反应 结构+语义特性
强调对 设计 的重用
数据流风格
批处理序列
顺序执行
经典数据处理。程序开发。BAT脚本
每一步独立
管道、过滤器
隐蔽性,高内聚低耦合,
支持重用,并行
系统维护、增强性能简单
调用返回风格
主程序/子程序
构件为主程序子程序,过程调用为连接件,语义逻辑为子程序正确性
面向对象风格
构件是对象,
对象负责维护其表示完整
对象表示对于其他对象是隐蔽的
层次结构风格
每一层为上层服务
支持功能增强
支持重用
独立构件风格
进程通信架构风格
构件:独立过程,连接件:消息传递
事件系统风格
构件触发或广播一个多个事件
构件:一些模块,可以是一些过程,又可以是一些事件的集合
重用强大支持,改进方便
虚拟机风格
解释器
解释引擎,存储区,数据结构,记录执行进度
专家系统
规则为中心
规则集、规则解释器、规则/数据选择器及工作内存
仓库风格
数据库系统
以代码为中心,编译处理 辅助操作
超文本系统
黑板风格(知识源,黑板,控制)
2个构件
中央数据结构说明当前状态
独立构件在中央数据存储上执行
C2风格
构件、构件连接件都有一个底部和顶部
层次系统架构风格
二层、
难扩展至大型企业广域网
三层C/S架构风格
未从根本上解决,客户机负荷大
B/S架构风格
缺乏对动态页面支持
响应慢
数据交互性不强
MVC架构风格
model,view,controller
模型表示待展示的对象
视图表示模型的展示
控制器把用户的动作转换为对模型的操作
模型通过更新视图数据 反映自身数据变化
MVP架构风格
视图模型完全分离
更高效使用模型
Presenter用于多个视图
面向服务的架构
SOA概述
一种方法(在计算环境中设计、开发、部署、管理离散逻辑单元的方法)
一种应程序架构、元素所有功能由可调用接口
服务是精确定义、封装完善、独立于其他服务所处环境和状态的函数
一种C/S架构设计方法、由服务和服务使用者组成,SOA强调构件松散耦合、独立标准接口
服务的基本结构
服务模型的表示层从逻辑层分离
中间增加了服务对外的接口层
SOA设计原则
明确定义接口
自包含和模块化
粗粒度
松耦合
互操作性、兼容和策略申明
服务构件、传统构件
服务构件架构(SCA)是基于SOA的思想描述服务之间的组合和协作的规范
SOA关键技术
UDDI(统一描述、发现、集成)
数据模型
API
注册服务
WSDL(Web服务描述语言)
XML语法定义
服务实现定义
服务接口定义
提高系统扩展性
SOAP(简单对象访问协议)
XML格式化消息
1⃣️封装
2⃣️SOAP头
3⃣️SOAP体
HTTP承载消息
1⃣️封装
2⃣️编码规则
3⃣️RPC表示
4⃣️绑定
REST(表述性状态转移)
一种只使用HTTP和XML进行基于WEB通信的技术
POST、GET、PUT、DELETE
原则
网络上的所有事物都抽象为资源
每个资源对应一个唯一的资源标识
通过通用的连接件接口对资源进行操作
对资源的各种操作不会改变资源标识
所有的操作都是无状态的
SOA实现方法
Web Service
服务提供者
发布
服务请求者
查找
辅助注册中心
绑定
6层
底层传输层
服务通信协议层
服务描述层
服务层
业务流程层
服务注册层的
服务注册表
提供策略执行点
服务注册
服务位置
服务绑定
企业服务总线
功能
支持异构环境中的服务、消息、基于事件的交互
通过使用ESB 不改代码的情况下,无缝非侵入方式使现有系统有全新服务接口
充当缓冲器的ESB 于服务逻辑分离
更高层次ESB提供服务代理、协议转换功能
提供可配置的消息转换翻译机制、基于消息内容的消息路由服务
提供安全和拥有者机制,保证认证、授权、完整性
优势
可扩展的、基于标准的连接
灵活、服务导向的应用组合
提高复用率,降低成本
减少市场反应时间,提高生产率
微服务
小、专注做一件事、轻量级通信机制、松耦合、独立部署
优势
技术异构性
弹性
扩展
简单化部署
与组织结构相匹配
可组合性
对可替代性的优化
挑战
分布式系统的复杂性
运维成本
部署自动化
DevOps于组织结构
服务间依赖测试
服务间依赖管理
微服务与SOA
微服务是SOA的一种
差异
微服务
SOA
能拆分就拆分
整体的,能放一起放一起
纵向业务划分
水平分多层
由单一组织负责
按层级划分不同部门的组织负责
细粒度
粗粒度
两句话可以解释明白
几百字只相当于SOA目录
独立子公司
类似大公司里划分了一些业务单元
组件小
存在比较复杂的组件
业务逻辑存在于每一个服务中
业务逻辑横跨多个业务领域
使用轻量级通信方式,如HTTP
企业服务总线ESB充当了服务之间的通信角色
对比
微服务架构实现
SOA实现
团队及,自底向上实施
企业级,自顶向下
一个系统被拆分成多个服务,粒度细
服务由多个系统组成,粒度大
无集中式总线,松散服务架构
企业服务总线,集中式服务架构
集成方式简单
集成方式复杂
服务能独立部署
单块架构系统,相互依赖,部署复杂
架构设计
演变交付生命周期
属性驱动设计法(ADD)
选择要分解的模块
根据如下步骤对模块进行求精
对需要进一步分解的每个模块重复上述步骤
按架构组织开发团队
开发骨架系统
利用商用构件进行开发
软件架构文档化
架构文档使用者
合理的编码规则
从读者角度
避免重复
避免歧义
使用标准结构
记录基本原理
使文档保持更新,但更新频率不要过高
针对目标的适宜性对文档进行评审
视图编档
视图概述
元素目录
上下文图
可变性指南
架构背景
术语表
其他信息
跨视图文档
文档有哪些内容
架构概述
基本原理
使用UML
对软件架构进行文档化的标准表示法
软件架构重构
信息提取
数据库构造
视图融合
重构
软件架构评估
评估方法
基于调查/问卷
基于场景的架构分析方法SAAM
步骤
场景开发
体系结构描述
单个场景评估
场景交互
总体评估
主要输入
问题描述
需求声明
体系结构描述
基于度量的方式
权衡分析法
ATAM方法
结果
一个简洁的架构表述
表述清楚业务目标
用场景集合捕获质量需求
架构决策到质量需求映射
所确定的敏感点和权衡点集合
有风险决策和无风险决策
风险主题的集合
产生一夕儿附属结果
产生无形结果
步骤
负责人向项目代表介绍ATAM
商业动机表述
架构表述
对架构方法进行分类
生成质量属性效用树
分析架构方法
集体讨论并确定场景的优先级
分析架构方法
集体讨论 确定场景优先级
分析架构方法
结果的表述
4活动领域
场景和需求收集
体系结构视图
场景实现
属性模型构造
分析、折中
成本效益分析法(CBAM)
使用用ATAM结果
步骤
整理场景
对场景进行求精
确定场景优先级
分配效用
架构策略涉及哪些质量属性、响应级别=形成相关的策略-场景-响应级别的对应关系
内插值法确定‘期望的’质量属性响应级别的效用
计算各种架构策略的总收益
根据受成本限制影响的ROI选择架构策略
构件及其复用
defi:系统中可以明确辨识的构成成分。组装单元。具有相对独立功能、可以明确辨识、接口由默契制定、和语境有明显依赖关系、可独立部署的组装软件实体
商用构件标准规范
CORBA
一个由OMG组织制定的服务器端模型规范
内容
抽象构件模型
伺服对象Servant
CORBA对象真正实现,负责客户端请求
对象适配器Object Adapter
屏蔽ORB内核实现细节,为服务器对象的实现者提供抽象接口
对象请求代理Object Request Broker
解释调用并负责查找实现该请求的对象
构件容器结构
构件的配置和打包规范
J2EE
SUN公司,完整基于Java的面相企业分布的应用规范
Java Servlet
JSP
EJB
DNA2000
微软
ASP
COM
Cluster
应用系统簇、构件系统
基于复用开发的组织结构
构件获取
从现有构件中获得,直接使用或修改,得到可复用构件
遗留工程,将具有潜在复用价值的构件提取
从市场上购买商用构件
开发新的符合要求的构件
分区(策略)
抽象
分割
组装技术
基于功能
基于数据
面向对象
产品线及系统演化
复用、产品线
可复用资产
需求
架构设计
元素
建模、分析
测试
项目规划
过程、方法、工具
人员
样本系统
缺陷消除
基于产品线的架构
特点
产品线架构必须考虑明确许可变化
产品线架构文档化
~提供“产品创建者指南“
考虑三方面
确定变化点
描述变化点
对产品架构的适宜性进行评估
产品线的开发模型
“前瞻性“产品线
“反应性“模型
DSSA
必备特征
一个严格定义的问题或解决域
具有普遍性,使其可以用于领域中某个特定应用的开发
对于整个领域合适程度的抽象
具备该领域典型的、在开发过程中的可复用元素
功能覆盖范围理解DSSA
垂直域
水平域
业务抽象 、技术抽象
DSSA活动阶段
领域分析
获得领域模型
通过分析领域中系统的需求
领域设计
获得DSSA
能适应领域多个系统的需求的高层次设计
领域实现
依据领域模型和DSSA开发与组织可复用信息
看作复用基础设施的实现阶段
领域模型作用
定义领域知识、领域词汇
软件界面和领域模型相关
领域模型的合理性影响软件系统的可扩展性
分层架构下,领域模型精化后成为业务层骨架
领域模型是数据模型的基础
领域模型是团队交流的基础
人员
领域专家
提供关于系统需求规约和实现的知识
架构、系统演化
需求变动归类
制定架构演化计划
修改、增加或删除构件
更新构件的相互作用
构建组装 测试
技术评审
产生演化后的架构
软件架构视图
分类
模块视图类型
构件 连接件视图类型
分配视图类型
模块视图类型、风格
分解风格
使用风格
分层风格
繁华风格
C&C视图类型、风格
管道 过滤器风格
共享数据风格
发布 订阅风格
客户机 服务器风格
对等连接系统
通信-进程风格
分配视图类型、风格
部置风格
实现风格
工作任务风格
各视图类型映射关系
视图映射到构件和连接件视图
系统构件和连接件视图。与模块视图关系复杂
分配视图为有效的实现软件架构的辅助性视图
浮动主题