`

参加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工程师现场培训

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

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

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

    BEA tuxedo官方培训源代码

    BEA tuxedo官方培训源代码,可以为入门级学员学习理解。

    bea portal培训

    bea portal培训

    BEA TUXEDO培训和指导.doc

    BEA TUXEDO培训和指导

    BEA WebLogic Portal 8.1产品介绍

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

    bea培训资料讲授工作原理

    bea培训资料,适合于高级用户,对于理解bea工作原理非常适合

    BEA TUXEDO 简易培训教程

    非常实用的教程 第一章 认识BEA TUXEDO 第二章 开发与应用 第三章 BEA TUXEDO的管理

    BEA WebLogic Server8.1大全 源码

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

    BEA+TUXEDO 安装

    BEA+TUXEDO 安装手册 word文档

    BEA TUXEDO简易培训教程

    BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客 户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务...

    BEA Tuxedo应用程序

    BEA Tuxedo应用程序

    使用BEA AquaLogic BPM Suite

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

    BEA应用服务器介绍

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

    BEA 内部培训教材(EJB)

    BEA 内部培训教材,主要涉及ejb开发! 想学习的同学,可以拿去研究研究!

    BEA WebLogic Workshop 8.1 产品介绍

    该产品利用可视化的设计器以及直观的概念,如事件、属性和控件等,实现了基于事件的开发,使开发人员远离 J2EE 内在的复杂性,集中精力专注于业务逻辑,无须操心单调乏味的基础结构代码。更重要的是,该产品使所有...

    bea workshop 10 破解版2

    bea workshop 10 破解版2

    bea workshop 10 破解版13

    bea workshop 10 破解版13

    蜜蜂算法BeA的mtalab实现

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

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

    BEA WebLogic Server™ 在使应用服务器成为企业应用架构的基础方面继续处于领先地位。作为 BEA WebLogic Enterprise Platform的基石,BEA WebLogic Server 为构建集成化的企业级应用提供了稳固的基础,它们以 ...

Global site tag (gtag.js) - Google Analytics