架构设计的10条经验ppt课件ppt课件_第1页
架构设计的10条经验ppt课件ppt课件_第2页
架构设计的10条经验ppt课件ppt课件_第3页
架构设计的10条经验ppt课件ppt课件_第4页
架构设计的10条经验ppt课件ppt课件_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,软件架构专家架构咨询顾问与培训师软件架构设计作者,温昱,EffectiveArchDesign,架构设计的10条经验,职业发展小语,成长易经:成长是螺旋式上升过程,吸收新技能,沉淀成经验,架构设计的5视图方法简介如何划分子系统、确定接口划分子系统:分层的细化划分子系统:分区的引入划分子系统:机制的提取接口定义:协作决定接口整体思路:螺旋渐进自己动手设计WinZip架构架构设计的10条经验,议程,逻辑架构,物理架构,Aproperlydesignedlogicaln-tirearchitectureprovidesthefollowingbenefits:LogicallyorganizedcodeEasiermaintenanceBetterreuseofcodeBetterteam-developmentexperienceHigherclarityincodingOntheotherhand,aproperlychosenphysicaln-tierarchitecturecanprovidethefollowingbenefits:PerformanceScalabilityFaulttoleranceSecurity,运行架构逻辑架构物理架构开发架构数据架构,进程、线程接口的定义子系统的划分服务器的选型(当你用C)结构化方法的模块逻辑层(Layer)物理层(Tier)(并行开发需要)源程序目录数据分布与数据库Schema(没选RDBMS)文件格式(嵌入式系统)Flash存储结构,有奖问答,有奖问答,架构设计的5视图,运行架构,数据架构,物理架构,逻辑架构,开发架构,持久数据单元文件关系数据库实时数据库数据存储格式文件格式数据库Schema,程序单元源文件、配置文件程序库、框架目标单元程序单元组织Project划分Project目录结构编译依赖关系,控制流进程、线程中断服务程序控制流组织系统启动与停机控制流通信加锁与同步,职责划分逻辑层(Layer)子系统、模块关键类职责间协作接口协作关系,物理节点PC、服务器单片机、单板机、专用机软件安装、部署、烧写系统软件选型物理节点拓扑连接方式、拓扑结构物理层(Tier)冗余考虑,架构设计的5视图方法简介如何划分子系统、确定接口划分子系统:分层的细化划分子系统:分区的引入划分子系统:机制的提取接口定义:协作决定接口整体思路:螺旋渐进自己动手设计WinZip架构架构设计的10条经验,议程,小帖子,引发大思考,思考一:不同系统,层数一样?,案例:一个7层架构分析,思考二:同一系统,层数不变?,你所在的公司:投标用“市场架构”研发用“技术架构”?,结论:分层的细化,架构设计的5视图方法简介如何划分子系统、确定接口划分子系统:分层的细化划分子系统:分区的引入划分子系统:机制的提取接口定义:协作决定接口整体思路:螺旋渐进自己动手设计WinZip架构架构设计的10条经验,议程,大著作,留下小问题,代码之道:快速迭代有个基本前提:开发应该“深度优先”,而不是“广度优先”。,微软牛人说:要深度优先!,老大说:分层架构!程序员:额的神呀谁告诉我怎么先做一个功能?,架构:分层+分区,结论:只分层不分区,无法迭代,架构设计的5视图方法简介如何划分子系统、确定接口划分子系统:分层的细化划分子系统:分区的引入划分子系统:机制的提取接口定义:协作决定接口整体思路:螺旋渐进自己动手设计WinZip架构架构设计的10条经验,议程,大师说,但你如何做,机制才是设计的灵魂所在否则我们就将不得不面对一群无法相互协作的对象,它们相互推搡着做自己的事情而毫不关心其他对象。GradyBooch面向对象分析与设计,架构:分层+机制提取,只识别协作,不提取通用机制,问题何在?,如何提取通用机制,案例:消息机制,结论:三管齐下,手段:分层的细化手段:分区的引入手段:机制的提取,架构设计的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、O

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论