架构设计的10条经验ppt课件ppt课件

上传人:钟*** 文档编号:1614543 上传时间:2019-10-30 格式:PPT 页数:56 大小:3.33MB
返回 下载 相关 举报
架构设计的10条经验ppt课件ppt课件_第1页
第1页 / 共56页
架构设计的10条经验ppt课件ppt课件_第2页
第2页 / 共56页
架构设计的10条经验ppt课件ppt课件_第3页
第3页 / 共56页
点击查看更多>>
资源描述
,软件架构专家 架构咨询顾问与培训师 软件架构设计作者,温 昱,Effective Arch Design,架构设计的10条经验,职业发展小语,成长易经:成长是螺旋式上升过程,吸收新技能,沉淀成经验,架构设计的5视图方法简介 如何划分子系统、确定接口 划分子系统:分层的细化 划分子系统:分区的引入 划分子系统:机制的提取 接口定义:协作决定接口 整体思路:螺旋渐进 自己动手设计WinZip架构 架构设计的10条经验,议 程,逻辑架构,物理架构,A properly designed logical n-tire architecture provides the following benefits: Logically organized code Easier maintenance Better reuse of code Better team-development experience Higher clarity in coding On the other hand, a properly chosen physical n-tier architecture can provide the following benefits: Performance Scalability Fault tolerance Security,运行架构 逻辑架构 物理架构 开发架构 数据架构,进程、线程 接口的定义 子系统的划分 服务器的选型 (当你用C)结构化方法的模块 逻辑层(Layer) 物理层(Tier) (并行开发需要)源程序目录 数据分布与数据库Schema (没选RDBMS)文件格式 (嵌入式系统)Flash存储结构,有奖问答,有奖问答,架构设计的5视图,运行架构,数据架构,物理架构,逻辑架构,开发架构,持久数据单元 文件 关系数据库 实时数据库 数据存储格式 文件格式 数据库Schema,程序单元 源文件、配置文件 程序库、框架 目标单元 程序单元组织 Project划分 Project目录结构 编译依赖关系,控制流 进程、线程 中断服务程序 控制流组织 系统启动与停机 控制流通信 加锁与同步,职责划分 逻辑层(Layer) 子系统、模块 关键类 职责间协作 接口 协作关系,物理节点 PC、服务器 单片机、单板机、专用机 软件安装、部署、烧写 系统软件选型 物理节点拓扑 连接方式、 拓扑结构 物理层(Tier ) 冗余考虑,架构设计的5视图方法简介 如何划分子系统、确定接口 划分子系统:分层的细化 划分子系统:分区的引入 划分子系统:机制的提取 接口定义:协作决定接口 整体思路:螺旋渐进 自己动手设计WinZip架构 架构设计的10条经验,议 程,小帖子,引发大思考,思考一:不同系统,层数一样?,案例: 一个7层架构分析,思考二:同一系统,层数不变?,你所在的公司: 投标用“市场架构”研发用“技术架构”?,结论:分层的细化,架构设计的5视图方法简介 如何划分子系统、确定接口 划分子系统:分层的细化 划分子系统:分区的引入 划分子系统:机制的提取 接口定义:协作决定接口 整体思路:螺旋渐进 自己动手设计WinZip架构 架构设计的10条经验,议 程,大著作,留下小问题,代码之道: 快速迭代有个基本前提:开发应该“深度优先”,而不是“广度优先”。,微软牛人说:要深度优先!,老大说:分层架构! 程序员:额的神呀谁告诉我怎么先做一个功能?,架构:分层 + 分区,结论:只分层不分区,无法迭代,架构设计的5视图方法简介 如何划分子系统、确定接口 划分子系统:分层的细化 划分子系统:分区的引入 划分子系统:机制的提取 接口定义:协作决定接口 整体思路:螺旋渐进 自己动手设计WinZip架构 架构设计的10条经验,议 程,大师说,但你如何做,机制才是设计的灵魂所在否则我们就将不得不面对一群无法相互协作的对象,它们相互推搡着做自己的事情而毫不关心其他对象。 Grady Booch 面向对象分析与设计,架构:分层 + 机制提取,只识别协作,不提取通用机制,问题何在?,如何提取通用机制,案例:消息机制,结论:三管齐下,手段:分层的细化 手段:分区的引入 手段:机制的提取,架构设计的5视图方法简介 如何划分子系统、确定接口 划分子系统:分层的细化 划分子系统:分区的引入 划分子系统:机制的提取 接口定义:协作决定接口 整体思路:螺旋渐进 自己动手设计WinZip架构 架构设计的10条经验,议 程,已定义接口,架构仍混乱?,饭店的故事,软件公司的故事,俺们公司的事儿, 你咋知道?,看似简单,实则错误,我的接口我做主,好接口是怎样炼成的?,协作决定接口,结论:不要迷信接口,Interface:只是技术上稳定的 但有业务含义的Interface未必稳定,架构设计的5视图方法简介 如何划分子系统、确定接口 划分子系统:分层的细化 划分子系统:分区的引入 划分子系统:机制的提取 接口定义:协作决定接口 整体思路:螺旋渐进 自己动手设计WinZip架构 架构设计的10条经验,议 程,今天,你迭代了吗?,复杂系统的应对之道,逻辑架构:迭代的设计思路,结构方面的切分,行为方面的约定,34,架构设计的5视图方法简介 如何划分子系统、确定接口 划分子系统:分层的细化 划分子系统:分区的引入 划分子系统:机制的提取 接口定义:协作决定接口 整体思路:螺旋渐进 自己动手设计WinZip架构 架构设计的10条经验,议 程,35,案例:WinZip的架构设计过程,36,初期:引入分层架构,37,初期:层间关系(压缩时),界面交互层,压缩控制层,原文件读写层,压缩包读写层,压缩意图,压缩进度,哪个文件,字节流,Bit 块等,38,初期:层间关系(解压缩时),界面交互层,压缩控制层,原文件读写层,压缩包读写层,解压缩意图,解压缩进度,哪个文件,文件名及字节流,Bit 块等,39,下面进行,40,对比:“市场”架构,41,分层、分区、机制提取,42,下面进行,43,压缩功能(多文件源),44,下面进行,45,包| 接口图,46,下面进行,47,48,49,朝花夕拾:案例的经验要点,划分子系统:分层的细化 划分子系统:分区的引入 划分子系统:机制的提取 协作决定接口 循序渐进的螺旋思维 序列图的优点 与 协作图的问题 包-接口图:从结构到行为的桥,50,架构设计的5视图方法简介 如何划分子系统、确定接口 划分子系统:分层的细化 划分子系统:分区的引入 划分子系统:机制的提取 接口定义:协作决定接口 整体思路:螺旋渐进 自己动手设计WinZip架构 架构设计的10条经验,议 程,划分子系统:分层的细化 划分子系统:分区的引入 划分子系统:机制的提取 协作决定接口 序列图的优点 与 协作图的问题 包-接口图:从结构到行为的桥 灰盒包图:描述关键子系统 循序渐进的螺旋思维 设计模式:包内结构 设计模式:包间协作,架构设计的10条经验,架构设计的5视图方法中,运行架构视图强调 。 职责划分 物理节点组织 数据持久化 控制流关系 程序单元组织,有奖问答,架构设计的5视图,运行架构,数据架构,物理架构,逻辑架构,开发架构,持久数据单元 文件 关系数据库 实时数据库 数据存储格式 文件格式 数据库Schema,程序单元 源文件、配置文件 程序库、框架 目标单元 程序单元组织 Project划分 Project目录结构 编译依赖关系,控制流 进程、线程 中断服务程序 控制流组织 系统启动与停机 控制流通信 加锁与同步,职责划分 逻辑层(Layer) 子系统、模块 关键类 职责间协作 接口 协作关系,物理节点 PC、服务器 单片机、单板机、专用机 软件安装、部署、烧写 系统软件选型 物理节点拓扑 连接方式、 拓扑结构 物理层(Tier ) 冗余考虑,架构(Architecture)、框架(Framework)、面向对象(OO)等技术的关系,以下正确的是 OO高手就是架构师 面向对象涵盖OOA、OOD、OOP等,所以已覆盖了架构设计的所有所需技能 Framework本质上和OO无关,用C语言也可编写框架 架构大,Framework比架构小 Framework和架构无大小之别,任何复杂的系统和子系统都可以有架构设计,也都可以先设计成Framework供重用,有奖问答,谢谢大家,欢迎提问,手 机: 138 1800 1229,架构内训垂询,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!