架构的设计培训.pdf

架构的设计培训

软件架构设计模式与实践 1 目录 • 软件架构视图 • 软件生命周期与软件架构介绍 • 架构设计的GRASP模式 • 质量属性驱动架构设计策略 • 软件架构模式分析及其实际运用 • 架构设计原则 • 面向对象的设计原则 • 架构设计验证 • 数据访问层设计(持久层设计) • 借鉴RUP中的设计流程 • 领域模型及业务逻辑层在架构设计中的实现 • 设计模式本质 • SOA的设计思想 • 软件架构实践 • 软件系统架构实践与剖析 前言 软件系统开始坏死的症状 • 一个软件系统开始坏死时表现的症状有: – 硬化Rigidity——系统变得越来越难以变更,修复或增添新功 能的代价高昂; – 脆弱Fragility——对系统的任何哪怕是微小的变更都可能造 成四处(甚至是与变更处没有逻辑上的关联之处J崩溃; – 绑死Immobility——抽取系统的任何部分用来复用都非常困 难; – 胶着Viscosity——以与原有设计保持一致的方式来对实施变 更已经非常困难,诱使开发人员绕过它选择容易但有害的途 径,其结果却使系统死的更快。 • 什么是软件架构 – 软件架构的概念很混乱。如果你问五个不同的人,可能会得 到五种不同的答案。 – 软件架构概念主要分为两大流派: • 组成派:软件架构 = 组件 + 交互。 • 决策派:软件架构 = 重要决策集。 – 组成派和决策派的概念相辅相成。 • 软件架构要层次化并隔离关注点 复杂性是层次化的。 《人月神话》 – -- – 好的架构设计必须把变化点错落有致地封装到软件系统的 不同部分 即关注点分离 。 ( ) – 通过关注点分离,达到“系统中的一部分发生了变化,不会 影响其他部分”的目标。 • 软件单元的粒度: 粒度最小的单元通常是 类 。 – “ ” 几个类紧密协作形成 模块 。 – “ ” – 完成相对独立的功能的多个模块构成了“子系统”。 – 多个子系统相互配合才能满足一个完整应用的需求,从而 构成了软件“系统”。 – 一个大型企业往往使用多套系统,多套系统通过互操作形 成 集成系统 。 “ ” – 软件单元的粒度是相对的。同一个软件单元,在不同场景下 我们会以不同的粒度看待它。 • 架构(Architecture)与框架(Framework)。 – 框架只是一种特殊的软件,框架也有架构。 – 可以通过架构框架化达到“架构重用”的目的,如很多人都在 用 Spring 框架提供的控制反转和依赖注入来构建自己的架 构。 • 软件架构的作用 – 如果一个项目的系统架构(包括理论基础)尚未确定,就不应 该进行此系统的全面开发。-- Barry Boehm,《Engineering Context》 – 一个缺陷充斥的系统,将始终是一个缺陷充斥的系统。-- Timothy C. Lethbridge,《面向对象软件工程》 • 软件架构设计为什么这么难? – 因为它是跨越现实世界与计算机世界之间鸿沟的一座桥。 – 软件架构设计要完成从面向业务到面向技术的转换,在鸿沟

文档评论(0)

1亿VIP精品文档

相关文档