`

架构设计最佳实践的笔记,BEA经验丰富的架构师多年的积累(强烈推荐,不可错过)

 
阅读更多

有幸请到BEA的架构设计师刘杰给公司做了一次为期2天的架构最佳实践培训。个人印象来说,这次培训含金量比较高,讲师有非常多年的实际架构设计经验,且目前一直在做架构。讲的东西都是贴切实际,带来很多经验,和一些新的概念。下面是我在课堂上做的一些笔记,主要记录了一些新的概念和老师的一些经验。

关于软件架构的定义:
一系列重要决策的集合、多个结构的组成

软件架构视图必不可少,是因为各类涉众需要从各自的角度去理解和使用架构


软件架构四要素
1. 图示化元素与元素之间的关系
2. 有明确的图例,定义和说明元素
3. 元素明确的接口和行为规范
4. 设计原理和决策

软件架构的图要根据行业背景不同,画别人能理解的图。


4+1 Vies Model
逻辑视图(Logical View)、开发视图(Development View)、运行时机构图(Process View)、物理视图或部署图(Physical View),这些图像都需要放到实际的场景(Scenarios)中去验证,没有在实际的场景中验证的都是一些很虚的东西。

软件架构的目的:

是为了按照设计师的思想执行,是最初设计的决策体系、是风险承担者、相互交流的手段、是系统可重用、可传递的规则。

一个架构师一定要清晰的表达架构的目的,如果不能清晰的表达出来,就等于没有做架构一样。

架构的三个境界
1. 要做出架构
2. 表达架构的意思
3. 能使别人理解,并遵循架构。

常见的架构视图类型
功能视图、开发视图、进程视图(Run Times时期)、部署图、场景图、数据视图(大数据量、大并发量)、实现视图

数据模型(领域模型)很重要,由架构师负责设计全局的领域模型,一般来说数量大概在50-100个左右。

数据模型的选择会影响最终系统灵活性,数据模型设计好了,系统的扩展性、灵活度会高一些。

软件架构的试图中,对具有风险性的、用户最关心的图需要重点分析。

软件架构的驱动因素
过去我们的软件架构中都是由软件的功能和技术做为整个软件架构的驱动,但是到了后期会出现一系列问题,有些问题是之前未考虑到的,有些或是其他原因,目前软件架构要在功能、质量属性、约束三个方面做为软件架构的驱动力。也就是做架构的时候要在功能、质量属性、约束这三个方面考虑,而不是传统的只考虑功能和技术。比如一个MP3播放器,爱国者的和APPLE的都是能播出MP3,也就是功能是实现了,但是价格为什么相差那么大呢,也就说我们考虑架构不单是要考虑功能、还有质量属性,还有约束条件,东西做出来了,使用的人不会用,那也是白搭。软件的使用中受到那些约束环境,如行业标准、政策、遗留系统、环境条件、用户水平、组织结构等,这些都是在架构设计时候需要考虑的东西。


功能 - 关键业务场景
质量属性 - 开发时的质量属性、运行时的质量属性、商业质量属性
约束 - 客户需求以及业务相关约束、用户以及使用环境相关约束、开发组织以及开发环境相关约束。

架构师的考核能力,可以列举一系列坏的设计(坏症状)出来,然后一条条照套。

分享到:
评论

相关推荐

    创新的服务基础架构(bea架构)

    服务基础架构这一全新的架构类型是真正实现IT 系统与业务同步的关键;与之同等关键的 是需要这一全新基础架构提供一个与异构环境快速、准确、无缝集成的独立平台。

    BEA WebLogic Portal 8.1产品介绍

    BEA WebLogic Server 是一种多功能、基于标准的应用服务器,...由于 BEA WebLogic Server 具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于 Internet 的企业都选择它来开发、部署最佳的应用。

    BEA WebLogic Server8.1大全 源码

     学习EJB的最佳实践和设计策略。  使用JUnit、JProbe和JMeter测试、调试和优化WebLogic应用程序。  利用XML.Web服务,jCOM、JCo、CORBA和Tuxedo应用程序.将WebLogic集成到企业系统中。  管理WebLogic应用程序...

    BEA WebLogic Server 8.1 概述BEA 白皮书.doc

    BEA WebLogic Server 的遵从 J2EE 、面向服务的架构,以及丰富的工具集支持,便于实现业务逻辑、数据和表达的分离,提供开发和部署各种业务驱动应用所必需的底层核心功能。其综合性功能支持集成化基础结构,既能连接...

    BEA+TUXEDO 安装

    BEA+TUXEDO 安装手册 word文档

    BEA Tuxedo应用程序

    BEA Tuxedo应用程序

    使用BEA AquaLogic BPM Suite

    BEA AquaLogic Business Service Interaction (ALBSI)产品线是一组集成的产品和工与应用程序关联,实现业务流程整个生命周期的自动化、执行和监控。收购Fuego后,(ALBPM)成为了ALBSI产品线的一部分。BEA AquaLogic...

    BEA应用服务器介绍

    BEA应用服务器介绍,来自BEA的PPT

    BEA工程师现场培训

    BEA工程师现场培训。原厂级别培训资料。完美学习weblogic运维实战。

    BEA WebLogic Workshop 8.1 产品介绍

    BEA WebLogic Workshop 8.1 是一个统一、简化、可扩展的开发环境,使所有开发人员都能在 BEA WebLogic Enterprise Platform 8.1 之上构建基于标准的企业级应用,从而提高了开发部门的生产力水平。该产品利用可视化的...

    bea workshop 10 破解版2

    bea workshop 10 破解版2

    bea workshop 10 破解版13

    bea workshop 10 破解版13

    bea_tuxedo_quick_start

    bea tuxedo quick start

    BEA WebLogic Server 管理指南

    BEA WebLogic Server 管理指南

    蜜蜂算法BeA的mtalab实现

    Bees Algorithm(BeA)是一种元启发式优化算法,受蜜蜂群体的觅食行为启发,由Pham等人于2005年提出。在本文中,我们将与您分享MATLAB中Bees Algorithm(BeA)的结构化开源实现。

    跨平台的SOA实施工具BEA AquaLogic

    由于大型企业的IT架构一般都具有异构本性,这就使得这种流动陷入困境——多平台(IBM、BEA、Microsoft、SAP、Oracle等)和多种技术(J2EE、.NET、遗留技术等)的采用都要求IT部门通过硬编码来实现点对点的连接,这...

    BEA内部资料

    BEA内部资料 Weblogic

    BEA TUXEDO 编程、管理速成

    BEA TUXEDO 编程、管理速成

    BEA企业应用(ERP-CRM-MRO-SCM)经典架构

    BEA企业应用(ERP-CRM-MRO-SCM)经典架构

Global site tag (gtag.js) - Google Analytics