系统架构设计师提纲

001.分布式系统设计

002.企业信息化战略与实施

信息化基本概念

信息是不确定性的减少

信息化是从工业社会向信息社会演变的过程

信息系统是输入数据,通过加工处理,产生信息的系统

知识<-信息<-数据

应用层次分类

战略级(企业最高管理层)
战术级(企业中层经理及其管理部门)
操作级(服务型企业的业务部门)
事务级(企业的管理业务人员)

数据环境分类

数据文件
应用数据库
主题数据库
信息检索系统

信息化战略体系

企业信息化战略

企业信息化战略规划
企业信息化战略规划方法ISSP

BSP、SST、SCF
战略数据规划方法SDP
VCA

立项阶段
可行性分析

经济可行性
法律可行性
技术可行性
用户使用可行性

开发阶段
系统开发周期

####### 系统规划
####### 系统分析 需求分析
####### 系统设计
架构设计
概要设计
详细设计
####### 系统实施
####### 系统验收

运维阶段

完善性维护
改正性维护
适应性维护
预防性维护

消亡阶段

第一阶段(CU矩阵:功能与数据的关系):以数据处理为核心,围绕职能部门需求

企业系统规划法BSP
关键成功因素法CSF
战略集合转化法SST

第二阶段(主题数据库):以企业MIS为核?,围绕企业整体需求

战略数据规划法SDP
信息工程法IE
战略栅格法SG

第三阶段:以集成为核心,围绕企业战略需求,考虑企业内外环境

价值链分析法VCA
战略一致性模型SAM

信息系统开发方法

结构化法

用户至上
严格区分工作阶段
至上而下,逐步分解
开发过程工程化,文档资料标准化

原型法

适用于需求不明确的开发
包括:抛弃型和进化型原型

面向对象方法

分析、设计、实现三阶段界限不明确
更好的复用

面向服务方法

三个主要的抽象级别:操作、服务、业务流程
三个层次:基础设计层、应用结构层、业务组织层
服务建模:服务发现、服务规约、服务实现

系统建模 现有系统–》物理系统–》物理模型–》逻辑模型-(调整优化)-》逻辑模型–》物理模型–》物理系统–》新系统

政府信息化与电子政务

政府办公自动化
政府信息查询
公共政务办公
四种模式

G2G
G2B
G2C
G2E

ERP

MRP->MRPII->ERP
财务管理
物流管理
生产控制管理
人力资源管理
经营计划

企业总目标的具体体现

生产计划大纲

根据经营计划的生产目标制定的,是对企业经营计划的细化

主生产计划

对企业生产计划大纲的细化,计划生产什么,生产多少和什么时候交货

物料需求计划、能力需求计划

对主生产计划的个项物料的网络支持计划和时间进度计划;比较需求和生产能李,及早发现能力的瓶颈

车间生产控制

将零部件的生产计划以订单的形式下达至适当的车间

CRM

目标:客户服务与支持、客户群维系、商机管理
触发中心、挖掘中心
自动化销售、自动化市场营销、自动化客户服务

SCM (Supply Chain Management) 供应链管理

计划、采购、制造、配送、退货
零售商
供应商
制造商
分销商

商业智能BI

需求分析
数据仓库建模
数据抽取
建立BI分析报表
用户培训和数据模拟测试
系统改进和完善
数据仓库、数据挖掘、OLAP

决策支持DSS

数据库?系统

数据库
数据析取模块
数据字典
数据库管理系统
数据查询模块

推理部分

知识库
知识库管理系统
推理机

模型库子系统

模型库
模型库管理系统

用户接口子系统
结构化、非结构化、半结构化数据

业务流程重组BPR

对企业业务流程的根本性思考和彻底性的再设计
以流程为中心的原则
以客户为导向的原则
团队管理原则

业务流程管理BPM

以规范化的构造卓越的业务流程为中心,持续提高组织业务绩效为目的
规范流程
优化流程
再造流程

数据仓库

面向主题
集成的
相对稳定的
反映历史变化

知识管理

显性知识、隐性知识
知识生成工具、知识编码工具、知识转移工具

企业门户

企业网站:信息单向传递,缺少互动
企业信息门户:资源集成
企业知识门户:增加知识性内容
企业应用门户:企业流程的集成
企业通用门户:集以上四者于?身

EDI电子数据交换

三要素:EDI软件和硬件、通信网络、数据标准化
EDI特点
EDI传输企业间的报文
传送一般业务资料
报文是格式化的
传输网络是专用网络、增值网络
计算机直接传送,无需人工介入
无需人工重复录入数据资料

企业应用集成

业务方面

表示集成
数据集成
控制集成
业务流集成

技术方面

消息集成:数据量小、频繁、异步
共享数据库:实时性强、频繁、同步
文件传输:数据量大、交换频率小、即时性低

电子商务

信息化三流:信息、资金、物流
电子商务的形式 B2C、B2B、C2C、O2O
国家电子商务标准体系

基础技术标准
业务标准
支撑体系标准
监督管理标准

信息化标准、法律和法规

信息资源为核心,结合信息技术应?和信息技术和产业,信息化人才和信息化政策法规和标准规范作保障

003.操作系统与硬件知识

微内核操作系统

只实现基本功能,系统的可靠性、稳定性、安全性较高,可用于分布式系统

用户态与内核态需频繁切换,导致系统效率低于单体内核

嵌入式操作系统

微型化、代码质量高、专业化、实时性强、可裁减、可配置

VxWorks

操作系统与应用程序处于同一存储空间
支持多任务操作
实时系统
任务间无隔离保护
支持标准API

RT-Linux

操作系统与应用系统处于不同存储空间
支持多进程、多线程操作
实时系统
支持进程间隔离保护
支持标准API

系统初始化过程:片级初始化-》板级初始化-》系统初始化

Flynn

D(Data),I(Instruction Pool 指令池),M(Multi),S(Single)

SISD 一个控制部分,多个处理器,一个主存模块

SIMD 一个控制部分,多个处理器,多个主存模块

MISD 多个控制部分,一个处理器,多个主存模块(理论)

MIMD 多个控制部分,多个处理器,多个主存模块

CISC与RISC

CISC指令多,频率差别大,可变长格式;支持多种寻址方式;微程序控制技术
RISC指令少,频率接近定长格式,大部分为单周期指令。操作寄存器只有load/Store操作内存;支持寻址方式少;增加通用寄存器,硬布线逻辑控制为主,采用流水线;优化编译,有效支持高级语言

操作系统的类型

单用户操作系统
批处理系统
分时系统
实时系统
网络操作系统
并发操作系统
并行操作系统
嵌入式操作系统

操作系统的结构

整体结构

层次结果

客户/服务器结构

统一的接口
可伸缩性好
可移植性好
实时性好
安全可靠性高
支持分布式系统

面向对象结构

操作系统基本原理

进程管理

进程的状态

三态模型 运行、就绪(仅缺CPU资源)、等待(除CPU,还缺其他资源)
五态模型 运行、活跃就绪、静止就绪、活跃阻塞、静止阻塞

前驱图 项目活动中的依赖关系

pv操作

进程的同步与互斥->生产消费者问题
临界资源->进程间需要互斥方式对其进行共享的资源
临界区->操作临界资源的代码
信号量->一种特殊的变量

死锁问题

死锁的预防
死锁的避免

银行家算法
资源有序分配

存储管理

地址变换

静态重定位
动态重定位

分区存储管理

固定分区
可变分区

首次适应算法
最佳适应算法
最坏适应算法

可重定位分区
多重分区

界地址保护
设置存储健保护

页式存储

管理内存存储

逻辑地址与物理地址的转换
逻辑地址由页号和页内地址组成
物理地址由块号和页内地址组成

优点:利用率高、碎片小,分配及管理简单
缺点:增加了系统开销,可能产生抖动现象

段式存储

段号和段内地址组成
段表由段长和基地组成
优点:多道程序共享内存,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大

段页式存储

先分段后分页
优点:空间浪费小、存储共享容易、存储保护容易、能动态连接
缺点:由于管理软件的管理,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降
快表:段表、页表存储在cache(相联存储器)

虚拟存储管理

时间局部性
空间局部性
工作集
页面置换算法

随机淘汰算法
轮转算法
先进先出
最近最久未使用算法
最近没有使用页面置换算法
最优质换算法
时钟页面替换算法

设备管理

数据传输控制方式

程序控制方式
程序中断方式
DMA方式
通道
输入输出处理机

虚设备与spooling技术

输入缓冲区–输入井–输出井–输出缓冲区

文件管理

索引文件结构

直接索引
一级间接索引
二级间接索引

文件和树型目录结构

绝对路径
相对路径

空闲区存储空间的管理

空闲区表法(空闲文件目录)
空闲链表法
位示图法
成组链接法

分布式文件系统

DFS的特点
DFS的组成
DFS的架构

用户接口

层次化存储结构

CPU
Cache->t3=h*t1+(1-h)*t2
内存
外存

总线

一个总线同时仅允许一个设备发送,但允许多个设备接收

数据总线

在CPU与RAM之间来回传输需要处理或需要存储的数据

地址总线

用来指定在RAM之中存储的数据的地址

控制总线

将微处理器控制单元的信号,传送到周边设备,一般常用USBBUS和1394BUS

004.嵌入式系统

嵌入式系统特点

嵌入式系统的基本架构

嵌入式系统网络

嵌入式系统数据库

存在问题

设备随时移动性
?络频繁断接
?络条件多样化
通信能?不对称

特性

微核结构
对标准SQL的支持
事务管理功能
完善的数据同步机制
支持多种连接协议
完备的管理功能
平台无关性
零管理特性

实时任务调度和多任务设计

单调执行速率调度法

执行最频繁的任务优先级最高

时间轮转调度

基于优先级的抢占式时间轮转调度

最早截止时间优先调度算法

中断处理和异常处理

嵌入式系统开发设计

交叉开发环境

宿主机系统

交叉编译器
交叉链接器
调试器

目标机系统

动态装载器
链接装载器
监视器
调试代理

开发过程

项目计划
可行性分析
需求分析
概要设计
详细设计
程序建立
下载
调试
固化
测试
运行

005.数据库系统

三级模式-两级映射

外模式(视图)、概念模式(表)、内模式
外模式-概念模式映射、概念模式-内模式映射

数据库设计过程

需求分析

数据流图
数据字典
需求规格说明书

概念结构设计

E-R模型

实体、属性、联系
集成方法

多个局部E-R图一次集成
逐步集成,用累加的方式一次集成两个E-R图

集成产生的冲突及解决办法

属性冲突:包括属性域冲突和属性取值冲突
命名冲突:包括同名异义和异名同义
结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图忠所包含的属性个数和属性排列次序不完全相同

关系模式转化

一个实体转一个关系模式
三个以上实体间的一个多元联系
1:1联系,可合并到任意端
1:n联系,合并到n端
n:n联系,单独成一个关系模式

逻辑结构设计

关系模式
转化规则、规范化理论

物理设计->DBMS特性

关系代数




笛卡儿积
投影
选择
联接

规范化理论

非规范化的关系模式,可能存在的问题有:数据冗余、更新异常、插入异常和删除异常

函数依赖

部分函数依赖
传递函数依赖

候选键:唯一标识元组,消除多余属性 有向图->首选入度为0节点,增加节点完成遍历
主键:候选键中任选一个
外键:其他关系的主键

范式

第一范式 每个分量都是不可再分的数据项

第二范式 满足第一范式,消除非主属性对主属性的部分依赖

第三范式 满足第二范式,消除非主属性传递依赖于码

BC范式 消除主属性对候选键的传递依赖

无损分解 无损分解:可以还原的函数依赖

表格法:通过依赖关系,恢复原表结构
R1交R2->(R1-R2)或R1交R2->(R2-R1)

保持函数依赖:分解后的函数依赖与分解前的函数依赖等价

并发控制

事务:原子性、一致性、隔离性、持续性

存在的问题:丢失更新、不可重复读、读“脏”数据

封锁协议

一级封锁协议:修改前加写锁,直到事务结束释放。可防止丢失修改
二级封锁协议:一级封锁协议加读数据前加读锁,读取后释放读锁。可防止丢失修改和防止读“脏”数据
三级封锁协议:一级封锁协议加读数据前加读锁,直到事务结束后释放。可防止丢失修改、防止读“脏”数据和防止数据重复读
两段锁:串行化,发生死锁

完整性约束

实体完整性:对于主键的约束
参照完整性:对于外键的约束
用户自定义完整性约束
触发器

数据库安全

用户标识与鉴定:用户账号、口令验证
存取控制:对用户的数据操作进行授权
密码存储和传输:
视图的保护:对视图进行授权
审计:使用一个个专用据库,将用户对数据库的操作进行记录

数据备份

冷备份

停机备份
数据库文件的全部备份

热备份

正常运行时备份
数据库数据文件的备份

备份量

完全备份
差量备份:备份完全备份后变化的数据
增量备份:备份上次备份后变化的数据
日志文件:对数据库改变所做的记录,可以记录对数据库的任何操作,并将记录结果保存在独立的构件中

故障与恢复

事务本身可预期的故障:Rollback恢复
事务本身不可预期的故障:通过日志回退到事务初始状态
系统故障:使用检查点法
介质故障:使用日志重做业务

分布式数据库

体系结构:全局外模式、全局概念模式、分片模式、分布模式、局

部概念模式、局部内模式

分片

水平分片

垂直分片

混合分片

导出分片

特性

完整性
重构性
不相交性

分片透明性

分片透明性

水平分
垂直分片
局部数据模型透明性

位置透明性

局部数据模型透明性

分布式数据库管理系统组成

LDBMS
GDBMS
全局数据字典
通信管理

分布式数据库管理系统结构

全局控制集中的DDBMS
全局控制分散的DDBMS
全局控制部分分散的DDBMS

数据仓库与挖掘

数据仓库的特点

面向主题
集成的
相对稳定的
反映历史变化

数据挖掘

过程

问题定义
建立数据挖掘库
分析数据
调整数据
模型化
评价和解释

方法

关联分析
序列分析
分类分析
聚类分析
预测方法
时间序列分析

OLAP

类型

关系型OLAP
多维型OLAP
混合型OLAP

技术

钻取

向上、向下

切片、切块
旋转

联邦数据库

特征:分布性、异构性、自治性、透明性
分类:紧耦合、松耦合

NoSQL

并发性能高
海量数据存储
查询效率高
向外扩展
键值索引
特定领域
非结构化数据
弱一致性
低事务性

反规范化

增加派生性冗余列
增加冗余列
重新组表
分割表

大数据

数据量、速度、多样性、值

性能优化

硬件升级
数据库设计
索引优化策略
查询优化

数据库工程

需求分析
概念结构设计
逻辑结构设计
物理设计

备份与恢复

物理备份

冷备份
热备份

逻辑备份

完全备份

增量备份

差异备份

恢复

事务故障恢复
系统故障的恢复
介质故障与病毒破坏的恢复
有检查点的恢复技术

006.计算机网络

TCP/IP协议族

DHCP:租约8天,过半申请;超过87.5%,联系其他DHCP服务器

DNS

递归查询:服务器必须回答目标IP与域名的映射关系
迭代查询:服务器收到一次迭代查询回复一次结果,结果不一定是目标IP与域名的映射关系,也可以是其他DNS服务器地址

网络规划与设计

网络规划原则:实用性、开放性、先进性

网络设计任务

确定网络总体目标
确定总体设计原则

需求规范

通信规范

逻辑网络设计

拓扑结构
网络地址分配
安全规则
网络管理
选择路由协议
设备命名规则

物理网络设计

设备物理分布
运行环境
设备选型
结构化布线
机房布线

实施阶段

分层设计

接入层

用户接入、计费管理、MAC地址认证、收集用户信息

汇聚层

网络访问策略控制、数据包处理、过滤、寻址

核心层

高速数据交换,常有冗余机制

网络接入

有线接入

PSTN、DDN、ISDN、ADSL、HFC

无线接入

IEEE802.11 wifi;IEEE802.15蓝牙;红外;WAPI

3G/4G

WCDMA、CDMA2000、TD-SCDMA;TD-LTE、FDD-LTE、WiMAX

5G

网络存储

DAS:直连存储
NAS:网络附加存储
SAN:存储区域网络
iSCSI:IPSAN

综合布线

管理间子系统
水平干线子系统
工作区子系统
垂直干线子系统
建筑群子系统
设备间子系统

物联网

感知层
网络层
应用层
RFID、二维码

云计算

Saas
Paas
IaaS
将大量用网络络连接的计算资源统一管理调度,构成一个计算资源池向用户提供按需服务。

数据通信的基本知识

开放系统互连参考模型与常用协议

应用层

应用层

表示层

会话层

协议

属于TCP的有:POP3 FTP HTTP Telnet SMTP
属于UDP的有:DHCP TFTP SNMP DNS
NFS用TCP UDP都可以实现

传输层

传输层
协议:TCP UDP

网际层

网络层
协议:IP ICMP IGMP ARP RARP

网络接口层

数据链路层
物理层
协议:CSMA/CD TokingRing

网络互联与常用网络设备

计算机网络分类与应用

网络络地址与分类

A类0+网络号(8位)
B类10+网络号(16位)
C类110+网络号(24位)
D类1110+组播地址(32位)
E类1111+保留(32位)

无线网络与通讯

802.11

b 2.4GHZ 11Mbps
a 5GHZ 54Mpbs
g 2.4GHZ 54Mpbs

3G

WCDMA
CDMA2000
TD-SCDMA

层次化网络设计与接入技术

核心层
汇聚层
接层

VLAN 虚拟局域网

功能

提高效率
控制广播数据
增强网络的安全性
实现虚拟工作组

划分

按交换机端口划分
按MAC地址划分
按第三层协议划分
IP组播VLAN
基于策略的VLAN
按用户定义、非用户授权划分

标准

IEEE802.1q

IPv6

过渡技术

双协议技术
隧道技术
NAT-PT

007.数学与经济管理

概率统计应用

古典概率应用
常用分布
常用统计分析方法

图论应用

最小生成树

选最短边组成生成树,切记不能形成环路

最短路径

初始节点只有起点,逐个增加节点,找出最短路径

网络与最大流量

组合分析

排列与组合
抽屉原理
容斥原理

运筹方法

关键路径法

线性规划 1个最优解、无数个最优解、无最优解

动态规划

预测

博弈论
状态转移矩阵

排队论

决策

乐观主义:大中选大
悲观主义:小中选大
折中主义:折中系数
等可能
后悔值:后悔值矩阵,最小后悔值中选最大的
决策树
决策表

数学建模

模型准备
模型假设
模型建立
模型求解
模型分析
模型检验
模型应用

008.标准化与知识产权

保护期限

公民作品

署名权、修改权、保护作品完整权–>没有限制
发表权、使用权和获得报酬权–>作者终生及死后的50年(第50年12月31日)

单位作品

发表权、使用权和获得报酬权–>50年(首次发表后的第50年的12月31日),期间未发表,不保护

公民软件作品

署名权、修改权–>没有限制
发表权、复制权、发行权、出租权、信息网络转播权、翻译权、使用许可权、获得报酬权、转让权–>作者终生及死后50年(第50年12月31日)。合作开发,以最后死者作者为准

单位软件作品

50年(首次发表后的第50年的12月31日),若期间未发表,不保护

注册商标

有效期10年(若注册人死亡或倒闭1年后,未转移可注销,期满后6个月内必须续注)

发明专利权

保护期20年(从申请日开始)

实用新型的外观设计专利权

保护期10年(从申请日开始)

商业秘密

不确定,公开后公众可用

知识产权人确定

作品

职务作品

软件

职务作品

单位享有著作权

委托创作

合同中未约定著作权归属,属于创作方

合作开发

共同创作的 共同享有
只进行组织、提供咨询、物质条件或进行其他辅助工作,不享有著作权

专利权

职务作品,单位享有专利
谁先申请谁拥有
同时申请协商归属,但不能同时驳回双方的专利申请

商标

先申请先拥有
同时申请,谁先使用谁拥有
无法提供证据,协商归属,协商无效抽签决定

侵权判断

中国公民、法人或其他组织的作品,无论是否发表,都享有著作权

开发软件所用的思想,处理过程,操作方法或数学概念不受保护

著作权法不适用于下列情况

法律、法规,政府文件,及其官方正式译文
时事新闻
历法、通用数表、通用表格和公式

著作权法

计算机软件保护条例

商标法

专利法

反不正当法

标准化法

国际标准
国家标准
行业标准
地方标准
企业标准
项目规范

009.系统安全分析与设计

系统备份与恢复

灾难恢复等级

数据零丢失和远程集群支持
电子数据传输及完备设备支持
电子传输与部分设备支持
备用场地支持
基础支持

容灾技术的分类

应用容灾
数据容灾

灾难恢复的技术指标

恢复实践目标
恢复点目标

设计原则

易操作性原则
动态发展原则
等级性原则
统筹规划,分步实施原则
技术与管理相结合原则
标准化与一致性原则
安全性评价与平衡原则
整体性原则
木桶原则

安全审计

帮助发现系统性能上的不足
帮助发现系统入侵和漏洞
提供有效的追纠证据
发现计算机的滥用情况
震慑、警告
分析日志

安全保护等级

访问验证保护级
结构化保护级
安全标记保护级
系统审计保护级
用户自主保护级

信息系统安全属性

不可抵赖性->数字签名
可用性->综合保障(IP过滤、业务流控制、路由选择控制、审计跟踪)
完整性->安全协议、校验码、密码校验、数字签名、公证
保密性->最小授权原则、防暴露、信息加密、物理保密

系统安全体系

网络攻击

抵赖
陷阱门
授权侵犯
旁路控制
假冒
非授权访问
破坏信息的完整性
信息泄露
窃听
业务流分析
重放攻击
DoS与DDoS
ARP欺骗攻击

虚拟专用网

单点登录

外壳脚本机制
利用Kerberos机制

入侵检测

发展方向

全面安全防御
智能化入侵检测
分布式入侵检测

产品分类

基于主机
基于网络

方法分类

专家系统
统计检测
特征检测

技术分类

异常检测
特征检测

事件产生器、事件分析器、事件数据库、响应单元

防火墙

应用级

屏蔽子网
屏蔽主机
双穴主机

网络级

状态检测
包过滤

病毒木马防护技术->计算机病毒与木马

系统病毒
脚本病毒
宏病毒:梅丽莎病毒
木马病毒
蠕虫病毒

网络层次的安全保障

应用层安全机制:PGP、Https、SSL
表示层、会话层安全机制:SSL
传输层安全机制:TLS、SET、SSL
网络层安全机制:防火墙、IPSec
数据链路层安全机制:链路加密、PPTP、L2TP
物理层安全机制:隔离、屏蔽

系统保障层次

系统

PKI/CA
Kerberos

访问控制

模型

Biba模型
Lattice模型
Bell-LaPadula模型

策略

服务器安全控制
属性安全控制
目录安全控制
操作权限控制
登录访问控制

分类

基于任务的访问控制
基于角色的访问控制
强制访问控制
访问控制列表:对被访问对象明确访问者
自主访问控制:自主赋权

身份认证

数字签名

生物特征识别

数字证书

X.509 PGP
内容包括:版本信息、序列好、签名算法、发行机构、有效期、公开密钥、证书发行者对证书的签名

用户名、密码

安全基础技术

PKI公钥体系

CA中心颁发数字证书
RA负责审核申请
受理点受理申请
下载证书->解密公钥->公钥加密的随机对称密钥->用随机对称密钥传输加密数据

PGP

承认PGP证书和x.509证书
适用于电子邮件

数字信封

原文用对称密钥加密传输,对称密钥用接收方公钥加密发送给对方

信息摘要

单向散列函数、固定长度的散列值
摘要算法:MD5(128位)、SHA(160位)

数字签名

对正文的摘要进行签名

对称与非对称加密

非对称加密(加密速度慢,加密对称密钥):RSA(512位、1024位)、ECC、Diffie-Hellman、背包算法、Rabin
对称加密(加密强度低,密钥分发难,加密正文):DES(56位)、3DES(112位)、RC-5、IDEA(128位)

010.系统配置与性能评价

系统性能调整

阿姆达尔算法:加速比计算=优化前的执行时间/优化后的执行时间

系统性能指标

兼容性
响应时间与完成时间
吞吐量与吞吐率
运算速度
主存容量和存取速度
字长和数据通路宽度

性能监测方法

硬件监控

使用专用硬件对系统性能进行采集分析。适用高负载的计算机系统

软件监控

使用软件对系统性能数据进行采集分析,消耗系统资源

冗余系统

系统恢复

后向恢复:系统恢复到前一个正确状态,继续执行;如数据库
前向恢复:出错后继续向前,如表决器

冗余技术

容错技术

冗余附加

为实现上述冗余技术所需的资源和技术

时间冗余

重复多次相同的计算

信息冗余

校验码

结构冗余

混合冗余
动态冗余

集群冗余
备份冗余
主动冗余

静态冗余

模冗余
被动冗余
屏蔽冗余

软件冗余
防卫式程序设计

错误检测、破坏估计、错误恢复
try…catch

恢复块方法

单机、验证测试程序、向后恢复、实时性差

N版本程序设计

多机、表决、前向恢复、实时性好

硬件冗余
集群技术

####### 特性
高透明性
高性价比
可管理性
高可用性
可伸缩性
####### 高可用性集群
####### 负载均衡集群
混合型负载均衡
反向代理负载均衡
NAT负载均衡
DNS负载均衡
动态算法
静态算法
####### 高性能计算集群

双机容错

双机双工模式:同时提供相同的服务,集群的一种
双机互备模式:同时提供不同的服务,心不跳接管
双机热备模式:主、备系统

避错技术

测试
审核

可靠性分析

混合系统
多输入表决 模冗余系统
R=1-(1-R1)(1-R2)(1-Rn) 并联系统
R=R1
R2R3…*Rn 串联系统

可靠性指标

系统可用性:MTTF/(MTTR+MTTF)
平均故障间隔时间MTBF=MTTR+MTTF
平均故障修复时间MTTR=1/u,u为修复率
平均无故障时间MTTF=1/r,r为失效率

系统性能评估

模型方法

分析方法
模拟方法

测量方法

基准程序法

TPC基准程序

TPC-W:通过internet进行市场服务和销售的商业行为
TPC-E:大型企业信息服务系统
TPC—D、H、R:决策支持系统
TPC-C:联机订货系统
TPC-B:模拟企业计算环境
TPC-A:OLTP

SPEC基准程序

SPECfg
SPECint
SPECmark

Whetstone基准程序
Linpack基准程序
Dhrystone基准程序

综合理论性能法

处理部件、计算单元和字长,部件的性能

数据处理速度法

等效指令速度法

执行不同指令的比率及时间

指令执行速度法

单位时间处理指令的数量

时钟频率法

CPU频率指标

011.软件工程

配置管理

产品库

备份库、静态库、软件仓库、静态系统

受控库

主库、系统库、主系统、受控库

开发库

动态库、程序员库、工作库、动态系统、开发者系统、开发系统、工作空间

典型配置项包括项目计划书、需求文档、设计文档、源代码、可执行代码、测试用例

软件过程改进

初始级

已管理级

需求管理、项目计划、配置管理、项目监督与控制、供应商合同管理、度量和分析、过程和产品质量保证

已定义级

需求开发、技术解决方案。产品集成、验证、确认、组织级过程定义、组织级培训、集成项目管理、风险管理、集成化的团队、决策分析和解决方案、组织级集成环境

定量管理级

组织级过程性能、定量项目管理

优化级

组织级改革与实施、因果分析和解决方案

软件质量

质量控制

实时监控项目的具体结果,以判断是否复核相关质量标准,制订有效方案,以消除产生质量问题的原因

质量保证

每隔一段时间进行的,主要通过系统的质量审计和过程分析来保证项目的质量

系统运行与评价

系统评价

工作内容

复核评价报告,公布评价结果并建立评价项目档案
实施评价,撰写评价报告
收集基础资料
成立评价工作组

建设评价

效益评价

性能评价

系统审计

系统监理

软件维护

预防性维护5%

完善性维护50%

适应性维护20%

改正性维护25%

可维护性

维护性的依从性
易测试性
稳定性
易改变性
易分析性

系统转换计划

数据转换与迁移

系统切换后通过新系统生成
系统切换前采用手工录入
系统切换前通过工具迁移

分段转化

分功能,分区域
成本、风险适中

并行转化

成本高,风险低

直接转化

成本低,风险高

软件开发环境与工具

项目管理工具
测试工具
编程工具
分析设计工具
系统规划工具

测试与评审

测试管理

缺陷排除率

两组同时测试

错误植入模型

估算错误量
评估测试人员工作

软件调试

回归测试

确定问题的原因并设法改正

确定错误的准确位置

原因排除法

二分法
归纳法
演绎法

回溯法

从出错处人工沿控制流程往回追踪

蛮力法

通过计算机找错、低消耗时

测试自动化

优点

降低测试工作量
可以免费获得
减少人力成本
测试活动可以自动完成
模拟现实环境下受约束的情况
连续运行测试脚本
保证测试结果的准确性
提高运行效率
提高测试执行的速度

验证与确认

测试是指通过执行程序来有意识地发现程序中的设计错误和编码错误的过程。测试是验证和确认的手段之一.
确认是指在软件开发过程结束时对软件进行评价以确定它是否和软件需求相一致的过程
验证是指在软件开发周期中的一个给定阶段的产品是否达到在上一阶段确立的需求过程

测试评审方法

面向对象测试

系统层:系统测试
模板测试:集成测试–>多态服务测试、展平测试
类层:模块测试–>不变式边界测试、模态类测试
算法层:单元测试–>等价类划分测试、组合功能测试、递归函数测试、多态消息测试

测试阶段

系统测试
安装性测试
可维护性测试
可用性测试
可靠性测试
压力测试
恢复测试
性能测试

容量
强度
负载

确认测试
项目测试

验收测试

产品测试

Beta测试
Alpha测试

内部确认测试
集成测试
增量式测试

混合式
自底向上
自顶向下

一次性组装
冒烟测试
单元测试

静态测试

代码走查
代码审查–>结对编程
桌面检查

动态测试

灰盒测试
白盒测试
逻辑覆盖测试

路劲覆盖
边覆盖
点覆盖
条件组合覆盖
修正的条件判断覆盖
条件判定覆盖
条件覆盖
判定覆盖
语句覆盖

循环覆盖测试
基本路径测试
黑盒测试

因果图
错误推测
边界值分析
等价类划分
主要用于功能测试

测试原则

尚未发现的错误数量与该程序已发现错误数成正比
修改后应进行回归测试
既要选择有效、合理的数据,也要选择无效、不合理的数据
程序员避免测试自己设计的程序
尽早、不断测试

系统设计

面向对象设计

设计模式的概念

惯用法:通过某种特定的程序设计语言来描述构件与构件之间的关系
设计模式:关注软件系统的设计,与具体与语言无关
架构模式:反映了开发软件的系统过程所作的基本设计决策

设计模式(标红的为针对类和对象的模式,其它只为对象)

行为型
访问者模式

在不改变各元素类的前提下定义作用于这些元素的新操作

模板方法模式(针对类和对象)

定义算法骨架,可重新定于算法的某些特定步骤

策略模式

多方案切换,定义一系列算法,算法替换不影响用户使用

状态模式

状态变成类,内部状态改变时改变它的行为

观察者模式

一对多的依赖关系,一个对象变化,依赖它的对象得到通知并更新

备忘录模式

保存状态,可恢复

中介者模式

不直接引用,用一个中介对象来封装一系列的对象交互,对象之间不显示调用,降低耦合

迭代器模式

顺序访问一个集合中的对象

解释器模式(针对类和对象)

根据文法表示来解释语言中的句子

命令模式

日志记录,可撤销

职责链模式

传递职责,在链中传递请求,直到一个对象处理请求

结构型
代理模式

为其他对象提供一种代理以控制这个对象的访问

享元模式

提供大量细粒度对象共享的有效方法

外观模式

对外统一接口,定义一个高层接口,为子系统提供一致的外观,简化子系统使用

装饰模式

附加职责,动态给对象添加职责

组合模式

树形目录结构,使对象组合成树形结构以表示“整体-部分”的层次结构

桥接模式

继承树拆分,将类抽象部分与实现部分分离,使他们可以独立变化

适配器模式(针对类和对象)

使原本不兼容的接口协同工作

创建型
单例模式

保证一个类只有一个实例,并提供仅提供一个全局访问点

原型模式

拷贝原型来创建新的对象

构建器模式

将一个复杂类的表示与其构造相分离

工厂方法模式(针对类和对象)

一类对象的创建,子类实例化过程推迟

抽象方法模式

一系列对象创建

设计原则

迪米特最少知识原则
组合重用原则
接口隔离原则
依赖倒置原则
李氏替换原则
开放-封闭原则
单一职责原则

结构化设计

模块设计原则

功能应该是可预测的
模块的作用域应该在模块之内
单入口、单出口
多扇入、少扇出
尽可能减少调用的深度
保持模块大小适中

模块独立、高内聚、低耦合

内聚

功能内聚
顺序内聚
通信内聚
过程内聚
瞬时内聚
逻辑内聚
偶然内聚

耦合
内容耦合

一个模块有多个入口
两个模块有一部分程序代码重叠
一个模块不通过正常入口转到另一个模块的内部
一个模块直接访问另一个模块的内部数据

公共耦合

多个模块都访问同一个公共数据环境

外部耦合

一组模块都访问同一全局简单变量,而且不是通过参数表传递该全
局变量的信息

控制耦合

模块之间传递的信息中包含含于控制模块内部逻辑的信息

标记耦合

一组模块借助参数表传递记录信息(数据结构)

数据耦合

一组模块借助参数表传递简单数据

非直接耦合

信息隐藏

自顶向下、逐步求精

抽象化

详细设计

设计每个模块的具体流程

概要设计

设计模块之间的关系和接口

人机界面设计

保持界面的一致性
减少用户的记忆负担
置于用户控制之下

处理流程设计

业务流程建模

基于服务的BPM
业务流程建模语言

XPDL:XML流程定义语言
BPMN:业务流程建模标注
BPML:业务流程建模语言
BPEL:业务流程执行语言
UML

Petri网

过程模型

DEMO
IDEF

IDEF4:面向对象
IDEF1:信息建模
IDEF0:功能建模
标杆瞄准

业务流程重组

基于ERP的分析法

供应链分析法

客户关系分析法

价值链分析法

软件系统建模

新系统物理系统
新系统物理模型
新系统逻辑模型
现有系统逻辑模型
现有系统物理模型
现有系统物理系统

需求工程

软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望

需求管理

需求状态跟踪

范围管理—>WBS

需求跟踪—>需求跟踪矩阵

版本控制

变更控制

沟通存档
变更验证
变更实施
变更决策—>变更评审委员会
变更评估—>项目组、产品经理进行可行性评审
变更申请—>填报变更申请表

需求风险管理—>有风险的做法

不准确的估算
过于精简的SRS
不必要的特性
模棱两可的需求
用户需求的不断增加
忽略用户分类
无足够用户参与

定义需求基线

需求开发

需求验证

需求测试

概念测试用例编写

需求评审

非正式评审
正式评审

需求定义

原型法

反复是安全需要和值得提倡的,需求一旦确定,就应遵从严格的方法
有合适的系统开发环境
需要实际的,可供用户参与的系统模型
项目参与者之间通常都存在交流上的困难
并非所有的需求都能在开发前被准确地说明

严格定义法

采用图形/文字可以充分体现最终系统
开发人员与用户之间能够准确而清晰地交流
所有需求都能够被预先定义

需求分析

面向服务开发方法

服务实现
服务规约
服务发现

面向对象分析
需求分析模型

####### 分析模型
######## 建立交互圈
######## 为类添加职责
######## 识别类之间的关系
######## 实现关系
######## 泛化关系
######## 关联关系
组合关系
聚合关系
######## 依赖关系
######## 定义概念类

####### 用例模型
######## 调整用例模型
泛化关系
扩展关系
包含关系
######## 细化用例描述
优先级
扩展点
后置条件
前置条件
非功能需求
事件流
简要说明
用例名称
######## 合并需求获得用例
######## 识别参与者

UML

####### 4+1视图
######## 用例视图
最终用户
需求分析模型(用例图)
######## 部署视图
系统和网络工程师
部署图
软件到硬件的映射
######## 进程视图
系统集成人员
线程、进程、并发
######## 实现视图
程序员
物理代码文件和组件
类图、组件图
######## 逻辑视图
系统分析员、设计人员
类与对象

####### 公共机制
######## 扩展机制
标记值
构造型
约束
######## 公共分类
实现与接口
类与对象
######## 修饰
######## 规格说明
####### 规则
命名
####### 构造块
######## 图
交互橄榄图
活动图
状态图
定时图
通信图
顺序图
用例图
制品图
部署图
构件图
组合机构图
包图
对象图
类图
######## 关系
实现
泛化
关联
依赖
######## 事务
######### 注释事务
######### 分组事务

######### 行为事务
状态机
交互
######### 结构事务
节点
构件
活动类
用例
协作
接口

特征

多态
继承
封装

边界类

用于封装在用例内、外流动的信息或数据流

控制类

用于控制用例工作的类,一般由动宾结构的短语

实体类

保存需要保存在永久存储体中的信息

结构化分析
数据字典

####### 表述方式
判定表
判定树
结构化语言
####### 外部实体
####### 加工逻辑
####### 数据存储
####### 数据流
####### 数据结构
####### 数据元素

数据模型->E-R图

关系
实体

功能模型–>数据流图

顶层图、0层图
外部实体
数据存储
加工
数据流

行为模型–>状态转换图

状态(初态、终态)、事件

需求获取

分类
系统需求

设计约束
性能需求
功能需求

用户需求

兴奋需求
期望需求
基本需求

业务需求
获取方法

抽样调查—>抽样系数0.25
阅读历史文档
参加业务实践
现场观摩
书面调查
用户访谈
联合讨论会
收集资料

面向对象基础

基于构件的开发

企业应用集成

业务流程集成
控制集成
数据集成
表示集成

典型应用架构

DotNet

外部支持
可移植性
应用程序的部署
安全性
对多层分布式应用的支持
JVM与CLR
跨平台与跨语言

J2EE

Java企业应用框架
重量级

单元测试比较麻烦
大部分时间花在配置、运行的过程上,修改复杂
占用资源过多,在开发的过程效率低
EJB

轻量级

大量现成可供参考的开源代码
做单元测试简单
立即可见结果
提高开发速度
Hibernate
Spring框架
Struts框架

EJB

消息驱动Bean:会话Bean+JMS
实体Bean:持久化数据
会话Bean:短暂会话

中间件技术

事务处理监控器
面向消息的中间件
远程方法调用
对象请求代理
远程过程调用
处在操作系统与应用程序之间的一类软件

构件的概念与分类

构件与软件复用

软件开发方法

净室工程

统计的测试获取出错率信息
强调正确性验证
形式化方法

逆向工程

领域级:包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息,例如实体关系模型
功能级:包括反映程序段功能及程序段之间的关系的信息,例如数据和控制流模型
结构级:包括反映程序分量之间相关依赖关系的信息,例如调用图、结构图、程序和数据结构
实现级:包括程序的抽象语法树、符号表、过程的设计表示

软件开发模型

敏捷开发方法

基本原则

重构
持续集成
测试驱动开发
结对编程
适应性计划调整
自动化测试
客户直接参与
合作为重
较少的文档
型版本发布
短平快的会议

极限编程:费用控制
12个最佳实践

编码标准
现场客户
每周工作40小时
持续集成
集体代码所有制
结对编程
重构
测试先行
简单设计
隐喻
小型发布
计划游戏

5大原则

优质工作
提倡更改
逐步修改
简单性假设
快速反馈

4大价值观

沟通、简单、反馈、勇气

特征驱动开发:程序员分级
水晶方法
动态系统开发:以业务为中心
自适应开发

统一过程

以用例为驱动、以架构为中心、迭代与增量
交付阶段

培训、调整产品
确认新系统
用户文档定稿
制作发布版本
进行Beta测试

构建阶段

构件组装与测试
开发剩余的构件

细化阶段

淘汰最高风险元素
建立软件架构基础
分析系统内问题领域

初始阶段

评估项目风险
估计项目费用与实践
展示系统的候选架构
识别系统的关键用例
确定项目范围与边界

构建组装模型–>开发流程

测试与发布
应用软件构建
构件库的建立

构件库
构件管理
构件获取
购买商业构件
自行研发
遗留系统获取
构建标准
EJB
COM/DCOM
CORBA

软件架构设计
需求分析与定义

快速应用开发

瀑布模型思想与构件开发方法
开发模型

测试与交付
应用生产
过程建模
数据建模
业务建模

喷泉模型

面向对象开发方法分析、设计和开发阶段没有明确的界限
无间隙
迭代

V模型–>测试驱动

编码
详细设计:单元测试
概要设计:集成测试
需求分析:系统测试、验收测试

增量模型—>每一个增量均发布一个可操作的产品

螺旋模型:风险管控

客户评价
实施过程
风险分析
制定计划
瀑布模型与快速原型的变种

快速原型模型—>软件需求不明确

演化模型

瀑布模型

维护阶段

运行维护
软件测试

开发阶段

程序编码
软件设计

定义阶段

需求分析
软件计划

软件开发生命周期

组织过程

培训过程
改进过程
基础设施过程
管理过程

支持过程

问题解决过程
审计过程
联合评审过程
确认过程
验证过程
质量保证过程
配置管理过程
文档编制过程

主要过程

维护过程
开发过程
供应过程
获取过程

系统规划

可行性分析

分析步骤

编制和提交可行性分析报告

附录
注解
其他与项目有关的问题
用户使用可行性
法律可行性
技术可行性
经济可行性
所建议的系统
可选的方案
可行性研究的前提
引用文件
引言

草拟开发计划
确定最终推荐的解决方案

候选系统方案矩阵
可行性分析矩阵

提出并评价解决方案
用户复核
导出新系统的高层逻辑模型
分析现有系统
复查系统目标和规模

用户使用可行性

运行可行性
管理可行性

经济可行性

法律可行性

技术可行性

初步调查

项目选择和确定

立项价值判断

立项目标和动机

012.软件架构设计

典型应用架构

.Net

外部支持
可移植性
应用程序的部署
安全性
对多层分布式应用的支持
JVM CLR

Java企业应用框架

重量级EJB

轻量级SSH

DAO

数据库
Hibernate框架

Spring框架

ApplicationContext-Hibernate.xml
ApplicationContext-Service.xml

Struts框架

JSP
ActionServelet
Struts-config.xml

J2EE分布式多层应用程序

数据层
业务层—>企业Beans
Web层—>Java服务器页面
客户层

C/S

B/S

MVC

Model:EntityBean、SessionBean
Controller:Servlet
View:JSP

MVP

V要处理界面事件,业务逻辑在P中,MVC中界面事件由C处理
一个P用于多个V,而不需要改变P的逻辑
更好的支持单元测试
实现V与M之间的解耦

中间件技术

事务处理监控器

面向消息的中间件

远程方法调用

对象请求代理—>Corba

框架
桩/存根

远程调用中间件

一种独立的系统软件或服务程序,可以帮助分布式应用软件在不同的技术之间共享资源

软件产品线

建立方式

全新软件产品线的开发
全新软件产品线的演化
用软件产品线替代现有产品集
将现有产品演化为产品线

好的管理支持

好的产品线架构

一个用于构件产品的好的核心资源库

对该领域具备长期和深厚的经验

双生命周期模型

应用工程
领域工程

以架构为中心

技术支持

特定领域

过程驱动

产品集合

核心资源

软件架构评估

架构评估怎么评

评估方法

基于场景的方式
成本效益分析法CBAM

基于场景

软件架构分析法SAAM

迭代

架构权衡分析法ATAM

####### 报告阶段
描述评估结果 --> 评估小组负责人:评估方法
####### 测试阶段
分析架构方法–>架构设计师
讨论场景和对场景分级—>项目干系人:投票
####### 调查和分析阶段
分析架构方法—>评估小组
生成质量属性效用树—>评估小组、设计小组、管理人员和客户代表
确定架构方法—>架构设计师
####### 描述和介绍阶段
描述架构—>首席设计师:架构
描述业务动机—>项目决策者:业务角度
描述ATAM方法—>评估小组负责人:评估方法

度量的方式
调查问卷

敏感点

影响多个质量属性的特性,是多个质量属性的敏感点

权衡点

为实现某种特定的质量属性,一个或多个构件所具有的特性

风险点

架构设计中潜在的、存在问题的架构决策带来的隐患

架构评估到底评什么

互操作性

可变性

变更为新体系结构的能力

功能性

可修改性

以较高的性价比对系统进行变更的能力

安全性

机密性、完整性、不可否认性、可控性
追踪审计、信息隐藏

可用性

冗余、心跳线
故障间隔时间

可靠性

冗余、心跳线
MTTF、MTBF

性能

优先级队列、资源调度
响应时间、吞吐量

为什么要进行架构评估

软件质量属性–>见软件工程

特定领域软件架构

领域分析

建立领域模型

领域设计

获得DSSA

领域实现

开发和组织复用信息

迭代求精

涉及领域专家、领域分析人员、领域设计人员、领域实现人员

领域专家主要任务包括提供关于领域中系统的需求规范和实现的知识
领域分析人员应由具有知识工程背景的有经验的系统分析员来担任
领域设计人员应由有经验的软件设计人员来担任
领域实现人员应由有经验的程序设计人员来担任

垂直领域

单领域功能深入

水平领域

多领域共用

基于架构的软件开发方法

架构演化
架构实现–>分析与设计、构件实现、构件组装、系统测试
架构复审
架构文档化
架构设计–>提出架构模型、映射构件、分析构件相互作用、产生构件、设计评审;递归迭代
架构需求–>需求获取、生成类图、对类进行分组、需求评审;递归迭代
ABSD方法的三个基础:功能分解、选择架构风格、软件模块的实现
架构驱动,强调由业务、质量和功能需求的组合驱动架构设计

基于服务的架构SOA

微服务

与SOA对比

实现层面

微服务运维成本高
微服务独立部署
微服务集成方式简单
微服务松散的服务架构
微服务细粒度
微服务自底向上

微服务轻量级通讯方式
微服务业务逻辑在一个服务中
微服务组件小
微服务易于描述
微服务细粒度
微服务由单一组织复杂
微服务纵向划分
微服务拆分粒度更细

劣势

服务间依赖的管理
服务间的依赖测试
开发运维组织架构
自动化部署
运维成本高
分布式系统复杂性

优势

可替代性优化
可组合性
组织机构相匹配
简化部署
易于扩展
有弹性
技术异构性
小而且专注于一件事
轻量级的通讯机制
独立部署

REST

强调信息本身,称为资源
只支持几个操作POST、GET、PUT、DELETE
简单性,缺少严格配置文件
HTTP+XML进行基于Web通信的技术
所有的操作都是无状态的
对资源的各种操作不会改变资源标识
通过通用的连接器接口对资源进行操作
每个资源对应一个唯一的资源标识
网络上的所有事务都被抽象为资源

实现方式

服务注册表

服务绑定
服务位置
服务注册

ESB

提供日志和监控功能
支持多种数据格式及其相互转换
支持多种可以广泛使用的传输协议
支持多种的消息传递范型
提供服务注册和命名的管理功能
提供位置透明性的消息路由和寻址服务

Web服务

层次

服务注册层
业务流程层
服务层
服务描述层
服务通信协议层
底层传输层

服务请求者
服务提供者
服务注册中心

关键技术

传输协议层:HTTP、TCP/IP
编码格式层:XML(DOM、SAX)
消息格式层:SOAP、REST
描述服务:WSDL、XML Schema
发现服务:UDDI、DISCO

特性

标准化接口
粗粒度
松散耦合

架构描述语言ADL

架构描述语言

Wright
Unicon
SADL
Rapide
C2
MetaH
Aesop

架构配置:描述体系结构的构件与连接件的连接图

连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则

构件:计算或数据存储单元

体系结构描述语言:支持构件、连接件及其配置的描述语言

软件架构风格

架构设计的核心问题是能否达到架构级的软件复用

架构风格定了用于描述系统的术语表和一组指导构建系统的规则

数据流风格:批处理序列、管道-过滤器

批处理序列

数据必须是完整的,以整体的方式传递
构件为一系列固定顺序的计算单元

管道-过滤器

构件称为过滤器
连接件是数据传输的管道
数据流传递

调用/返回风格:主程序/子程序、面向对象、层次结构

主程序/子程序

构件即为主程序和子程序
过程调用作为交互机制,即充当连接件的角色

面向对象

构件是对象
连接件是对象间交互的方式

层次结构

独立构件风格:进程通信、事件驱动系统(隐式调用)

进程通信

构件是独立的过程
连接件是消息传递

事件驱动系统

构件是匿名的过程
连接件是过程之间的隐式调用

虚拟机风格:解释器、基于规则的系统

解释器

执行效率低

基于规则的系统

包括规则集、规则解释器、规则/数据选择器和工作内存,一般用在人工智能领域和DSS

仓库风格:数据库系统、超文本系统、黑板系统

数据库系统

黑板系统

包括知识源、黑板和控制三部分;通常应用在于解决问题没有确定性算法的软件中。 —> 信号处理、模式识别、编译器用的是黑板风格

超文本系统

闭环风格:嵌入式领域,涉及连续的动作与状态

面向服务架构

松散耦合、粗粒度、标准化接口

单个服务结构

数据
数据访问层
逻辑层
服务接口

软件架构的概念

软件架构建模

4+1视图

物理视图

UML部署视图
系统工程人员:系统拓扑、安装、通信

进程视图

UML进程视图
系统集成人员:性能、吞吐量等

开发视图

UML实现视图
编程人员:软件管理

逻辑视图

UML逻辑视图
最终用户:功能需求

场景:UML 用例视图

功能模型

由一组功能构件按层次组成,下层向上层提供服务

过程模型

构件系统的步骤和过程

动态模型

系统的“大颗粒”的行为性质

框架模型

不太侧重描述结构的细节而更侧重于整体的结构

结构模型

以架构的构件、连接件和其他概念来刻画结构

软件架构的发展史

无架构阶段

汇编语言

萌芽阶段

程序结构设计

初级阶段

统一建模语言

高级阶段

4+1视图

软件架构的概念

系统组织方式的惯用模式
可传递和复用的模型
项目干系人进行交流的手段
软件系统提供了一个结构、行为和属性的高级抽象
架构设计就是需求分配,即将满足需求的职责分配到组件上

013.多媒体知识

多媒体数据的压缩编码
知识冗余
结构冗余
信息熵冗余
视觉冗余
时间冗余
空间冗余
多媒体类型、特点和数据格式
视频
声音
图像
图形

014.项目管理

软件过程改进

ISO/IEC 15504

优化的过程

新技术、新思想

可预测的过程

定量、度量

已建立的过程

已定义、标准化、文档化

已计划与及、已追踪的过程

计划、跟踪、已管理

已实施的过程

已达到过程的目标

不完善的过程

未达到过程的目标

CMMI

CMMI

优化级—>不断改进的过程

工程方面

缺陷预防

组织方面

过程改进管理
技术改进管理

已管理级—>可测试的过程

工程方面

软件质量管理

管理方面

定量管理过程

已定义级—>标准一致的过程

工程方面

同级评审
软件产品工程

组织管理

培训程序
组织过程定义
组织过程焦点

管理方面

组间协调
集成软件管理

可重复级—>纪律化的过程

管理方面

软件配置管理
如啊你就按质量保证
软件子合同管理
软件项目跟踪与监控
软件项目计划
需求管理
初始级

风险管理

风险管理过程

风险监控

风险应对计划编制

减轻策略
转移策略
避免策略

风险定量分析

蒙特卡洛模拟
决策树分析
期望货币价值分析
灵敏度分析

风险定性分析

确定风险类型
确定风险优先级
风险可能性与影响性

风险识别

风险管理计划编制

分类

商业风险

开发过程没有得到预算或人员的保证 预算风险

由于重点转移或人员变动失去上级支持 管理风险

开发了销售部门不清楚如何推销的系统 销售风险

系统不再符合企业的信息系统战略 策略风险

系统优秀但不是市场需要的 市场风险

技术风险

规格说明的多义性、技术上的不确定性、技术陈旧、最新技术
潜在的技术、实现、接口、测试和维护方面的问题

项目风险

项目复杂性、规模和结构的不确定性
潜在的预算、进度、人员和组织、资源、用户和需求问题

关心未来、关心变化、关心选择

软件质量管理

质量保证与质量控制

质量控制

实时监控项目的具体结果,以判断他们是否符合相关质量标准,制定有效方案,以消除产生质量问题的原因

质量保证

每隔一定时间进行的,主要通过系统的质量审计和过程分析来保证项目的质量

McCall质量模型

软件转移

互操作性
可复用性
可移植性

软件运行

可用性
完整性
效率
可靠性
正确性

软件修改

可测试性
灵活性
可维护性

质量模型

可移植性

易替换性
共存性
易安装性
适应性

维护性

易测试性
稳定性
易改变性
易分析性

效率

资源利用性
时间特性

易用性

吸引性
易操作性
易学性
易理解性

可靠性

易恢复性
容错性
成熟性

功能性

功能性的依从性
安全保密性
互操作性
准确性
适合性

质量管理8个基本原则

与供方互利的关系
以事实为基础进行决策
持续改进
管理的系统方法
过程方法
全员参与
领导作用
以顾客为关注焦点

质量管理是指确立质量方针及实施质量方针的全部职能及工作内容,并对其工作效果进行评价和改进的一系列工作

质量是软件产品特性的总和,表示软件产品满足明确或隐含要求的能力

软件配置管理

变更控制

沟通存档
变更验证
变更实施
变更决策
变更评估
变更申请

CMMI

版本控制
执行配置审核
建立配置管理记录
控制变更
跟踪变更
创建或发行基线
建立配置管理系统
识别配置项
制定配置管理计划

软件生存周期过程

发行管理和交付
配置评价
配置状态报告
配置控制
配置标识
过程实施

文档管理

计算机软件文档编制规范

应编制文档

包图文档
部署图文档
构件图文档
活动图文档
状态图文档
协作图文档
顺序图文档
类图文档
用例图文档
总体说明文档

运行与维护阶段

没有具体规定

测试阶段

测试分析报告、项目开发总结报告

实现阶段

进度日报、进度周报、进度月报、用户手册、操作手册、测试计划

设计阶段

概要设计说明、详细设计说明、测试计划初稿

需求分析阶段

软件需求规格说明、数据要求说明、初步的用户手册

可行性分析与计划阶段

可行性分析报告、项目开发计划

软件文档管理指南

管理文档

相关文档的详细规定和编写格式见GB/T8567-2006

产品文档

信息广告
产品手册
软件支持手册
用户指南
参考手册
培训手册

开发文档

安全和测试信息
质量保证计划、标准、进度
软件集成和测试计划
开发计划
设计规格说明(包括程序和数据规格说明)
功能规格说明
需求规格说明
可行性研究和项目任务书

成本管理

成本控制

挣值分析

最终估算成本EAC
成本绩效指数CPI=EV/AC
进度绩效指数SPI=EV/PV
费用偏差CV=EV-AC
进度偏差SV=EV-PV
剩余工作的成本ETC

ETC=剩余工作的PV*AC/EV
ETC=PV-EV

已完成工作量的预算成本EV

EV=已完成工作量*预算定额

已完成工作量的实际费用AC
计划工作量的预算费用PV

PV=计划工作量*预算定额

成本预算

零基准预算
管理储备
直接成本和间接成本

成本估算

差别估算法
自底向上的估算
自顶向下的估算

时间管理

关键路径

双代号网络图
单代码网络图

甘特图

进度控制

制定进度计划

活动历时估算

COCOMO模型
功能点估算法
类比估算法
三点估算法—>1:4:1
人员和时间的关系
软件生产率
软件项目的工作量

活动资源估算

自下而上的估算
估算软件
公开的估算数据
替换方案的确定
专家判断法

活动排序

活动定义

范围管理

范围控制

范围确认

创建WBS

WBS字典
WBS

范围定义

工作范围
产品范围–_>SRS需求规格说明书

范围计划编制

你可能感兴趣的:(架构设计,系统架构)