系统架构设计培训资料

john_gan

贡献于2011-10-27

字数:0 关键词: 软件架构 培训

系统架构设计 Tyrone(http://blog.csdn.net/sdhustyh) 提纲 1 系统架构设计导论 2 架构设计的一些常识 软件系统架构生命周期 3 初步构建 阶段 逐渐优化 阶段 成熟阶段 老化阶段 消亡阶段 架构和设计恢复 架构与设计重构 系统代码重构 反向工程 正向工程 软件架构设计师的定位 4 面向客户的流程 产品规划流程(方针决策和计划) 产品线开发流程 产品开发流程 人员与技术管理流程 客户 充当配角,提供产品技术支 撑,参与流程活动,积累流 程经验,了解产品需求 帮助界定中长期产品发展方 向,帮助制定roadmap (portfolio架构师) 总结产品共性、分析产品个 性,抽取共性,剥离个性 (product line架构师) 工程师技术培训、详细设计 指导、新技术研究和探索 架构师的能力模型 5 单一的技术经验 广泛的技术经验 商业经验 流程经验 社会经验 技 术 专 家 多项技术 专家 某方面架构师 软件系统架构师 技术广度 技术深度 架构师的能力模型 6 架构师 沟通协作(15%) 沟通、协作、多任务等能力 技术经验(20%) 单项/多项技术专家 推理分析(15%) 概念抽象能力,面向实际的能力,创造能力 执行技能(20%) 动手能力,平衡能力,驱动能力 流程技能(10%) 洞悉各种流程,驱动流程改进能力 项目管理(10%) 计划、规划,项目评估与决策能力 商业技能(5%) 领域经验,产品价值评估与卖点分析 人员管理(5%) 人员指导、选拔与评估能力 架构设计定义 7 (WHY) 业务层面 (WHAT) 系统层面(黑盒) (HOW) 系统层面(灰盒) 系统功能 系统 层 子系统 模块 组织 业务实体 业务域 业务流程 业务功能由..实现 软件支持 映射 分解 架构设计核心工作 8 •蓝图 •业务功能、流程 •功能 业务分析 •业务战略支撑 •业务能力、系统簇 •支撑关系 解决方案设计 •功能列表 •功能层次 •支撑关系 系统功能设计 •IT支撑表达 •层次化关系 •非功能性设计 系统架构设计 •技术路线、部署 •接口、数据存储 •实现抽象 技术体系设计 提纲 1 系统架构设计导论 2 架构设计的一些常识 架构设计目标 1.不要试图设计完美的系统 2.不要让文档充斥高可靠、高性能、高度抽象、高安全、高 可扩展、高度封装。 结论:在软件设计之初,架构目标是极其重要的(排序)。 10 业务目标 架构目标 银行交易系统? 网站? PAAS? 系统总体架构-ASSF ASSF(access-service(biz)-standard-fundation)模式 访问-服务(业务功能)-标准-基础 11 访问层 功能层 标准层 基础层 浏览器 移动端 Pc… 功能1 功能1 功能…. J2EE .…. 操作系统 中间件 .…. 系统总体架构-Location • Location模式 12 应用系统A 应用系统A 应用 应用 总部 分、子公司 地、市 、县 外部应用系统 地区应用系统 推送 同步 应用 应用 示例 功能…. 功能…. 功能…. 功能…. 系统总体架构-3 management-level • 3 management-level模式 13 决策层 管理层 操作层 系统总体架构 14 (WHY) 业务层面 (WHAT) 系统层面(黑盒) (HOW) 系统层面(灰盒) 3ML ASSF Location 推荐主架构 ASSF ︐结合三者共同使用 ︐ 支撑不同应用表达 接口设计 15 酒店接口 银行接口 实现或者子系统决定接口是错误的!!!!! 协作决定接口!! 子系统接口? 类接口? 接口设计一般步骤 16 •实现xxxx交互 •实现xxx同步等 1.明确目标接口 •实时性、可管理性 •数据一致性、性能 等 2.特点分析 •步骤图 •明确接口交互关系 3.接口序列图 •放入正确情况验证 •放入错误情况验证 4.场景验证 TCP协议设计! HTTP协议设计! 数据分布设计-独立Schema • 当一个大系统由相关的多个小系统组成,且不同小系统具有互不相同 的数据库Schema定义 17 abc xy App1 App2 APP不同,Schema不同,例如:配网GIS系统,配网生产系统 数据分布设计-集中(Centralized) • 一个大系统必须支持来自不同地方的访问,或者该系统由多个不同的 小系统组成,而数据进行集中化,统一格式存储 18 abc 数据 集中存储,分布访问,例如:主网生产系统 Application1 Application3 Application2 Application…. 数据分布设计-分区(Partitioned) • 分为水平分析与垂直分区,当系统为“地域分布广泛的用 户”提供“相同服务”时,常常使用水平分区策略。垂直 分区为字段分隔,一般较使用。 19 abc 111 222 abc 333 444 应用实例2应用实例1 相同应用程序,不同应用程序实例部署,相同数据模型,不同数据值 例如:企业信息门户 新闻内容存储 数据分布设计-复制(Replicated) • 在整个分布式系统中,保存多个副本、并且以某种机制保 持多个数据副本之间的数据一致性。 20 abc 111 222 abc 111 222 数据节点2数据节点1 实时更新与快照 示例:数据容灾中心 数据分布设计-子集(Subset) • “子集”是“复制”的特殊方式,就是某节点因功能或非 功能考虑而保持全体数据的一个相对固定的子集 21 abc 111 222 abc 111 数据节点2数据节点1 实时更新与快照 与“复制”相比,减少数据重复,减少传输开销 数据分布设计-重组(Reorganized) • 不同数据节点因要支持的功能不同,而以不同的schema 保持数据---但本质上数据时同源的。重组以“重新组织” 的格式进行传递和保持。 22 abc 111 222 业务系统 amsum BI或高级分析系统 xyz 111 222 重组 示例:BI整合 数据分布设计 23 集中 (可管理性、数据一致性) 分区 (可伸缩性) 独立模式 (可管理性、通信开销) 子集 复制 (可靠性) 重组 非复制方式 复制方式 Schema相同 Schema不同 数据分布应用原则 24 优化原则 合适原则 综合原则 把握系统特点 确定分布策略 不同分布策略 可综合运用 “对吗?”“好吗?” 两方面评估 数据集成设计-数据物理集中&逻辑集中 25 •将全部数据放在一起,由一个统一的数据库服务器管理,实现数据统一访问,访问 效率高、适合大数据量查询的决策分析应用 •缺点:实时性较差、风险大、时间长 数据物理集中 •适用于业务系统分布在多个地方,由统一的整合平台实现各物理分布数据之间的数 据共享,可实时访问分布在各处的数据,实施速度快 •缺点:受网络传输影响,不适合长事物。 逻辑集中 •结合逻辑集中与物理集中的优势,在实施初期采用逻辑集中,快速实现统一访问与 数据共享,对访问量大、实时性要求不高的数据逐步实现物理集中,从而提高访问 效率。 逻辑集中于数据物理集中相结合 数据集成设计-数据联邦模式(Data Federation) 26 数据A 数据B 虚拟数据库 将分布的数据逻辑集中应用A 应用B 应用通过访问整合平台的虚拟数据库进行数据访问,数据在不同数据库实例 中,此时,数据整合平台做为数据访问通道 数据集成设计-数据复制模式(Data Replication) 27 数据A 数据B 应用A 应用B 数据一致性服务 采用数据复制模式 ︐通过数据一致性服务 实现多个数据源的数据一致性 部分或者全部数据复制存储,各数据库均保留共享数据备份! 数据集成设计-基于接口的数据集成模式(Interface Level) 28 数据A 数据B 应用A 应用B 适配器 网 络 接口模式适合分区及独立模式的数据集成 系统间通过接口适配器方式共享数据,比较适合实时性较 高且数据量较小应用。 应用集成设计 29 2.协调器模式:使用传统EAI做为协 调器实现交互。 4.总线模式:SOA交互策略 1.直接交互模式:在交互系统中使 用硬编码方式实现互相调用 3.桥模式:MOM交互策略。 集成代码分离 集成混在代码中 紧耦合 松耦合 面向对象设计的反面模式 • 反面模式(anti-pattern)是指在实践中经常出现,会 导致效率低下的有待优化的设计模式。 30 1.基类(BaseBean):继承一个工具类,而不是代理它 2.不羁的对象(Objectorgy):没有成功封装对象,外部可以不受限制地访问 它的内部 3.调用父类(Callsuper):需要子类调用父类中被子类重载的方法 4.顺序耦合(Sequentialcoupling):指这样一些对象,它们的方法必须要按 某种特定顺序调用 更多反面模式,参见 http://zh.wikipedia.org/wiki/%E5%8F%8D%E9%9D%A2%E6%A8%A1%E5 %BC%8F#.E7.BC.96.E7.A8.8B.E4.B8.8A.E7.9A.84.E5.8F.8D.E6.A8.A1.E5.BC.8F 回顾 31 • 蓝图 • 业务功能、流程 • 功能 业务分析 • 业务战略支撑 • 系统簇 • 支撑关系 解决方案设计 • 功能列表 • 功能层次 • 支撑关系 系统功能设计 •IT支撑表达 • 层次化关系 • 核心元素 系统架构设计 • 技术路线、部署 • 接口、数据存储 • 实现抽象 技术体系设计 试着做一下 • 为某集团化公司(多分、子公司)开发知识管理系统,管 理该单位各类结构化与非结构化知识,使用户可以通过自 定义知识别名浏览相关联的知识内容。假设该单位目前有 1000万注册用户,结构化化知识内容超过1000万,非结 构化知识内容超过5T。用户可以添加、修改、删除分类, 修改分类的名称,系统支持相同分类名称下的知识自动合 并,普通用户可以上传分享结构化与非结构化知识。用户 可以主动查看知识,系统亦可以通过用户相关信息主动推 送知识给用户,用户浏览知识需要支持PC端及移动端。 32

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享文档获得金币 ] 11 人已下载

下载文档

相关文档