• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

软件架构设计方法、案例与实践

软件架构设计方法、案例与实践

 

从一个系统引入软件架构

  • 一个系统的开发过程回顾,存在的问题
  • 为什么需要架构
  • 什么是架构,架构都有什么
  • 什么时候设计软件架构
  • 架构设计和概要设计和详细设计的区别与联系

从架构文档实例了解架构

实际架构文档展示

  1. 架构文档的组织结构
  2. 构架目标和约束
  3. 架构范围的选择
  4. 架构的风险分析
  5. 架构的多视图描述:
    • 用例视图,逻辑视图,开发视图
    • 部署视图,运行视图,数据视图
  6. 根据需要确定架构文档内容
  7. 分项描述与整体描述方法
  8. 有关非功能需求的架构章节
  9. 基于架构的开发顺序与进度估算

架构文档的关键内容与质量要求

架构文档和需求文档和代码的关系

从多种角色角度阅读架构文档:

  • 架构师
  • 项目经理
  • 客户代表
  • 开发工程师

文档的后期管理(使文档保持更新)

架构文档在迭代开发中的维护

软件架构师分类与能要求

企业级架构师、应用架构师、技术架构师、信息架构师、平台架构师的定义:

  • 基本素质
  • 职责范围
  • 特殊的视角
  • 决策机制

软件架构在架构体系中的位置

    企业架构,关键特点与机制 

    业务架构,关键特点与机制 

    应用架构,关键特点与机制

    数据架构,关键特点与机制 

    技术架构,关键特点与机制 

    平台架构,关键特点与机制

国际典型架构参考模型

    Zachman企业架构框架 

    TOGAF框架 

    IAF框架 

    NASICO企业业务框架 

    基于SOA的架构 

    SaaS架构模式 

    统一资源架构和云计算技术

常见的应用架构模式

  • C/S架构模式
  • B/S/S架构模式
  • 多任务后台批处理系统
  • 多任务、分布式、实时处理
  • 通信、互联接口集成
  • 工作流集成
  • 企业应用集成系统(多应用系统集成)

从架构角度评估需求与现状

结合某大型系统讲解

功能需求的架构相关评估方法

非功能性需求的评估方法

  • 性能需求
  • 可靠性需求
  • 可扩展需求
  • 可维护需求
  • 安全性需求
  • 可用性需求
  • 外部接口需求
  • 物理需求

现有系统资产的架构相关因素调查

架构相关问题定位与描述

案例实践:某实际系统需求的评估与系统资产调查

架构评价标准和设计策略

案例讲解:某大型系统案例

  • 从失败的案例看架构评价指标的重要性
  • 从成功案例看如何建立评价指标,建立设计策略

关键技能

  • 业务有效性评价指标、评价方法、设计策略
  • 系统可用性评价指标、评价方法、设计策略
  • 可靠性评价指标、评价方法、设计策略
  • 性能评价指标、评价方法、设计策略
  • 扩展性评价指标、评价方法、设计策略
  • 安全性评价指标、评价方法、设计策略

案例实践:某实际系统架构评估与设计策略的建立

层次框架设计

案例讲解: 结合某大型系统

  • 常见的层次组织类别:传统的C/S, B/S,SOA,C/S, B/S,SOA,云计算
  • 层次评估的指标和评估方法
  • 层次设计的常见问题和解决方案
  • 表示层—常见问题、设计原则和设计策略
  • 服务层—常见问题、设计原则和设计策略
  • 业务层—常见问题、设计原则和设计策略
  • 资源层—常见问题、设计原则和设计策略
  • 基础层—常见问题、设计原则和设计策略
  • 数据采集层—常见问题、设计原则和设计策略
  • 层次之间的依赖关系设计
  • 层次之间的接口和通信机制设计
  • 层次框架的建模方法和编档
  • 如何对已有的系统进行重构

案例剖析:某大型系统架构分析与设计

业务架构设计

案例讲解: 结合系统实例

  • 常见的业务架构关注视角:信息管理,电子交易,自动化监控,专业处理
  • 业务架构的常见问题、设计原则和设计模式
  • 业务逻辑:逻辑的划分、组织与依赖关系
  • 业务流程:流程的引擎、接口和配置
  • 业务规则:规则的引擎、结构和接口
  • 领域模型与业务架构
  • 如何建立能够适应业务变化的业务架构
  • 如何对已有的系统进行重构

案例剖析:某系统的业务架构分析与设计

逻辑架构设计

案例讲解: 结合行业典型系统实例

  • 子系统评估的指标和评估方法
  • 子系统设计的常见问题和解决方案
  • 子系统划分的原则与方法
  • 子系统接口互访设计:协议、安全机制、性能
  • 子系统接口设计模式:远程调用,Web服务,消息队列,数据共享,事件监听
  • 子系统内部逻辑的划分
  • 子系统内部逻辑模块的依赖关系设计
  • 子系统内部的常见模块问题
  • 子系统内部模块划分原则
  • 子系统内部的装配设计。

案例剖析:某系统的逻辑架构分析与设计

物理架构设计

案例讲解: 结合典型系统实例

  • 常见的不同行业物理架构组织:银行,电信,互联网,分布式监控系统
  • 常见数据分布模型:集中数据模型,分散数据模型,联邦制数据模型
  • 系统分布与部署
  • 面向地理分布设计系统分布
  • 系统节点配置与设计:组件配置、软件、硬件配置
  • 物理存储划分与容量设计
  • 节点的I/O处理设计与配置
  • 系统网络通信设计
  • 各个节点的协调与同步机制
  • 建立面向运行时负载变化的动态分布机制
  • 服务集群与负载均衡

案例剖析:某系统的逻辑架构分析与设计

数据架构设计

案例讲解:结合典型系统实例

  • 常见的不同行业数据组织模式:银行,电信,互联网,独立软件
  • 常见数据分布模型:集中数据模型,分散数据模型,联邦制数据模型
  • 数据架构的设计目标
  • 数据架构的评价指标和评估方法
  • 大数据量、并发、高性能数据库设计
  • 数据标准化
  • 数据分布、共享与同步
  • 数据质量监控
  • 数据备份与恢复
  • 数据安全策略
  • 数据仓库积累与数据挖掘
  • 与遗留系统的数据库兼容性考虑
  • 构建高性能的数据访问层
    • 对象关系映射
    • 数据逻辑划分与物理分布
    • 对象缓存
    • 事务管理
    • 并发数据访问锁保护与性能提升

案例剖析:某系统数据架构的分析与设计

性能架构设计

案例讲解:结合系统实例

  • 常见的不同关注视角:银行,电信,互联网,自动化系统
  • 性能评估的指标和评估方法
  • 性能设计的常见问题、设计原则和策略
  • 通信接口性能设计
  • 计算单元性能设计
  • 信息互访性能设计
  • 分布式应用的性能平衡设计
  • 常见技术框架:人机界面,数据通信,数据处理,复杂计算
  • 性能设计建模与编档

案例剖析:某系统的性能问题分析与重构设计

可靠性架构设计

案例讲解:结合某系统实例

  • 常见的不同关注视角:银行,电信,互联网,自动化系统
  • 可靠性架构的目的和范围
  • 常见软件故障:错误、崩溃、异常
  • 可靠性评估的指标和评估方法
  • 可靠性设计的常见问题、设计原则和解决方案
  • 独立的故障监视任务
  • 故障诊断与分类
  • 故障风险和概率估计
  • 故障的恢复手段:热备、冷备、重构
  • 常见性能框架:交易,数据处理,通信,自动化监控
  • 可靠性设计建模与编档

案例剖析:某系统的性能问题分析与重构设计

可扩展架构设计

案例讲解:结合系统实例

  • 产间的扩展应用类型:用户驱动的处理,后台处理,专业计算,通信协同
  • 可扩展架构的目的和范围
  • 可扩展的指标和评估方法
  • 可扩展的常见问题和解决方案
  • 可扩展架构相关技术:
  • 可扩展设计原则
  • 常见的软件扩展模型:接入层,界面,工作流,数据容量,通信接口,规则
  • 可扩展设计建模与编档

案例剖析:结合系统案例进行性能问题分析与重构设计

集成各种架构为统一平台:公共支撑平台、公共组件、ESB、公共资源

平台架构设计

案例讲解:结合某平台实例

  • 各种常见的平台架构:工作流,电子交易,信息管理,自动化监控平台
  • 基础平台与公共组件的设计目标
  • 应用集成与复用的指标和评估方法
  • 应用集成与复用的常见问题和解决方案
  • 如何从具体应用中提炼基础平台
  • 如何从具体应用中提取公共组件
  • 设计基础平台的范围与深度
  • 如何使基础平台能够适应需求的变化
  • 如何扩展基础平台和公共组件
  • 通过实例项目了解基础平台和公共组件设计
  • 基础平台与公共组件建模与编档

案例剖析:某系统的平台架构分析与设计

集成架构设计

案例讲解:结合集成架构实例

  • 常见集成模式:工作流集成,数据集成,通信集成,用户门户集成,规则集成
  • 集成接口设计:同步方式,协议交互,环境适应,速率匹配,异常处理。
  • 集成设计要考虑的因素:异构、异质、时序
  • 工作流集成原则、策略与方法
  • 数据集成原则、策略与方法
  • 规则集成原则、策略与方法
  • 用户界面集成原则、策略与方法
  • 通信集成原则、策略与方法
  • 集成设计的关键点和设计法则
  • 集成建模与编档

案例剖析:系统的集成架构问题分析与重构设计

架构驱动的迭代开发:初选,验证,驱动开发,不断积累

案例讲解:结合某实际架构项目过程

  • 结合需求建立架构备选方案
  • 架构设计、实现与验证
  • 基于架构估计开发工作量与进度
  • 开发过程中的架构支持
  • 架构重构与维护
  • 架构提炼与积累
  • 面向多产品线的架构体系构建

案例实践:某项目的架构驱动的迭代开发。

某大型系统的架构全生命周期管理

   系统第一次架构

    随着系统发展的问题积累

    架构重构需求:应对变化、复用、性能与可靠性

    架构的第二次搭建与优化,

   建立可持续的架构体系

软件架构设计方法、案例与实践

Pingbacks已打开。

引用地址

暂无评论

发表评论