IP、ERP、HIS、B2B、B2C、CRM、OA等行业咨询及解决方案
3.1、EA架构方法论体系
对于企业或提供行业的产品及服务时,我们需要一整套的系统化思维去思考和设计业务流程。特别是业务越来越复杂及业务范围越来越广时,这就需要我们有一整套的方法论去指导我们去设计及规划系统,一个大家都明白的共同语言来分析和解决问题,这个共同语言就是EA所提供的。EA的真正意义是告诉你怎样去思考,怎样去沟通,怎样去做决策,以及怎样去控制项目。EA保证不同层面的人看到一个更宏观的视图,从而避免“ 只见树木、不见森林”的无效工作。 EA是一个把战略、业务与IT进行有效匹配的方法论,从而使 IT真正为业务和战略服务,从而使战略能够有效执行。 EA就是现代企业的DNA,它是一个能够整合各种方法的机制 ,从而解决各种挑战和问题。
上述图片中呈现了EA方法论的5类具体的实践,由于篇幅有限,我这里不挨个展开介绍概念及具体内容。如果想了解详情请大家自行搜索。
可以说我们在做一个复杂系统的设计及规划时,正确的方法论会知道我们正确的做事,做正确的事,所以这对我们每个架构师来说非常重要,请大家务必了解,当然对于EA理论的具体实践也有很多具体的方法实践模式,这里也可以归纳为几类,后面我们将详细阐述。
3.2、ADMEMS(Architecture Design Method has been Extended to Method System)
ADMEMS是Architecture Design Method has been Extended to Method System的简称,是由CSAI顾问团架构设计专家组于2009年11月在第六届中国软件大会上公开发布的一个软件架构设计方法。作为方法体系,ADMEMS通过3个阶段和1个贯穿环节,来覆盖“需求进,架构出”的架构设计完整工作内容。其中“3个阶段”是指预备架构阶段(PA阶段:把握需求特点,确定架构驱动力)、概念架构阶段(CA阶段:根据重大需求,确定概念架构)、细化架构阶段(RA阶段:细化架构设计,关注不同视图),“1个贯穿环节”是指对非功能目标的考虑。
PA阶段的任务是全面理解需求,从而把握需求特点,进而确定架构设计驱动力。其中,ADMEMS矩阵居于方法的核心;CA阶段必须考虑包括功能、质量、约束在内的所有方面的需求,ADMEMS方法有自己的概念架构设计步骤和做法;RA阶段的总体方法为5视图方法,涉及逻辑架构、物理架构、开发架构、运行架构和数据架构。
后面我们将主要参考该架构方法来落地实践HRMS系统的架构设计过程。
3.2、质疑驱动架构设计(始终抱着质疑的思想来思考架构设计方案)
架构师需始终保持质疑的意识来不断驱动整个架构设计的过程,这是一个架构设计成功的关键,通过质疑可引入更多的“质量属性”,同时结合“特殊功能场景”驱动后续架构设计,最终形成最优的架构设计方案。
以HRMS系统为例:
上面我们发现在架构设计的过程中,我们需要从多维度去思考架构设计考虑的内容及方式,我们需要从不同的方向去考虑架构过程中出现的各类问题,通过质疑并不断解决质疑的方式来设计出最终的解决方案。我们的终极目标是设计出一套先进有持续竞争力的HRMS系统,满足各类企业在经营过程中对人力资源管理所需的各类需求(功能、质量属性、约束),架构师需要用挑毛病的方式来去评估当前的架构设计方案,直到挑不出毛病(架构师自己先质疑问题并解决了),这个架构基本就成型了。
3.3、多阶段/多视图
业界软件架构设计的方法论很多,各有各自的应用场景和特点,下文结合ADMEMS(Architecture Design Method has been Extended to Method System)架构设计方法论说明软件架构的过程:
架构设计的过程和内容的不是固定不变的,现实中,比如售前提供解决方案中,很多时候需要架构师提供细化架构中才会深思的逻辑架构、物理架构等,这时候,架构师就需要有螺旋思维和跳跃思维的方式,就像武功中,招式是死的,人是活的,要学会灵活运用。
3.3.1、架构设计过程(3个阶段)
A、Pre-architecture阶段:架构实践中最常见的最短板
最大误区:架构师是技术人员,不必懂需求
实践要点:摒弃“需求列表”方式,建立二维需求观
思维工具:二维矩阵(需求层次-需求方面矩阵)
B、Conceptual Arch阶段:大型系统成败关键









