系统架构方法论程文宇2009.5基础篇培训目标解开架构的神秘面纱列举众多的示例,供大家参考希望人人了解架构,人人都可以从架构师的高度开展工作我们,采集的只是石头,却必须时刻展望未来的大教堂。---采石工人的信条培训目录掀起了你的盖头来架构其实不复杂架构是需要维护的什么是架构?组成派–软件系统的架构将系统描述为计算组件及组件之间的交互(Thearchitecutureofasoftwaresystemdefinesthesystemintermsofcomputationalcomponentsandinteractionsamongthosecomponents)–MaryShaw《软件体系结构:一门初露端倪学科的展望》决策派–软件架构包含了关于一下问题的重要决策–软件系统的组织–选择组成系统的结构元素和他们之间的接口,以及当这些元素相互协作时所体现的行为–如何组合这些元素,使他们逐渐合成更大的子系统–用户知道这个系统组织的架构风格:这些元素以及他们的接口、协作和组合–软件架构并不仅仅注重软件本身的结构和行为,还注重其他特性:使用、功能性、性能、弹性、重用、可理解性、经济和技术的限制和权衡,以及美学–Rational统一过程框架与架构框架是软件,架构不是软件需求架构抽象解决方案框架(软件半成品)最终完整解决方案先规划抽象的解决方案先构建通用的半成品将系统或者子系统架构框架化框架也需要设计客户化特定功能再实现细节为什么要做架构上承业务目标下接技术决策控制整体复杂性有利于软件目标的沟通并达成一致有利于软件的组织和开发有利于迭代开发和增量交付架构设计关注性能、可扩展性、可测试性等非功能性要求,有利于提高软件的整体质量架构5视图逻辑架构开发架构运行架构物理架构数据架构关注功能,不仅包括用户可见的功能,还包括为实现用户功能而提供的辅助功能模块关注程序实现,不仅包括要编写的源程序,还要包括可以直接使用的第三方SDK和现成的框架、类库,以及开发的系统将运行于上的系统软件和中间件关注进程、线程、对象等运行时概念,以及相关的开发、同步、通信等问题关注应用的安装和部署问题,以及如何部署机器和网络来配合实现软件系统的可靠性、可伸缩性等要求。关注持久化数据的存储方案,不仅包括实体及实体关系的数据存储方式,还包括数据传递、数据复制和数据同步策略等。实际工作中常见的架构逻辑架构开发架构运行架构物理架构数据架构功能架构系统架构(逻辑架构)技术架构部署架构集成架构架构设计必会之关键词:解耦耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。我们的目标是“高内聚,低耦合”–模块与模块之间,尽可能的使其独立存在,让每个模块,尽可能的独立完成某个特定的子功能。–模块与模块之间的接口,尽量的少而简单松耦合的设计包含多个层面:–数据–服务提供及时用–应用分工及接口–平台依赖性–通信方式–流程架构设计必会之关键词:分层分层设计是架构设计的最重要的法宝之一分层设计的要点–业务分层–技术分层好的分层设计往往能够让您名垂千古分层设计示例省级BASS省级BOSS省级ESOP集团业务能力管理集团业务综合运营门户集团客户业务销售管理集团客户市场营销管理客户经理营业厅人员销售型SI集团客户热线业务管理人员集团部领导客户经理工作台运营支撑人员工作台营销策划人员工作台集团客户服务管理集团客户管理基础管理集团产品管理集团合作伙伴管理省级CRM运营分析功能资源管理功能渠道协同功能产品管理功能客户管理功能帐务管理功能客户服务功能销售管理功能营销活动功能基础运营支撑管理合作伙伴管理功能集团客户经理管理服务集成管理业务流程管理业务数据管理集团业务资源管理集团帐务管理渠道控制与协同管理者工作台业务层数据层数据源接入层业务子流程1适配子层DB1数据访问子层组件1组件n服务1服务n文件系统DB2展示子层展示逻辑1展示逻辑2展示逻辑n接入适配1接入适配2接入适配3业务子流程n…接入适配n……业务流程架构设计必会之关键词:封装与复用封装的典型设计模式:Adapter模式客户端访问界面SDK(new)数据服务第三方计算类SDK变化被隔离,因此架构拥有弹性架构设计必会之...