CSAI首席顾问教你:如何成为更合格的架构师
单一方法已捉襟见肘。一线架构师真正需要的,是覆盖“需求进,架构出”全过程的实践指导只有综合了不同方法优点的“方法体系”才能堪此重任。方法体系必然是软件业界未来发展的重大趋势之一。
架构师是什么
- 一个架构师得需要足够的想象力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。说得详细一些, 架构师就是确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的"技术实现”
- 架构师的主要任务:不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。
- 在成为Java架构师之前,应当先成为高级Java工程师,越基础的东西越重要, 很多人认为自己会用它们写代码了,其实仅仅是知道如何调用api已,离会用还差得远。如果你立志做架构,首先打好基础从最底层开始。然后发展到各种技术和语言,什么都要懂两点,要全面且不肤浅。
- 架构师都是从码农过来的:先精一门,为全面且不肤浅打基础。另外就是向有经验的架构师学习, 和小伙伴们讨论辩论争论。其实最重要的能力就是不断学习。在思考新的技术是否能更好地解决你们遇到的问题。
- 千万不要成为不写代码的架构师,有些公司专门产不写技术的架构师。
- 不肯下苦功,如何高人一头?
下面内容是来自:CSAI顾问团首席顾问著的《一线架构师的实践指南》一书;关注后私信小编“架构师”可免费获取一份PDF版完整版;
一线架构师:6个经典困惑
4个实际问题的困惑:
将系统划分模块,如何更合理?大系统架构设计,如何起步?总觉需求很糟糕,影响了架构设计!非功能需求重要,但如何设计?2个职业发展的困惑:
架构新手:缺乏指导,架构设计不知所措!架构老手:缺乏总结,仍“怕”下个项目!
4个核心主张
一、方法体系是大趋势
单一方法已捉襟见肘。一线架构师真正需要的,是覆盖“需求进,架构出”全过程的实践指导——只有综合了不同方法优点的“方法体系”才能堪此重任。本书认为,方法体系必然是软件业界未来发展的重大趋势之一。
本书将要系统介绍的方法体系的名字一ADMEMS, 正是“Architectural DesignMethod has been Extended to Method System”的缩写。是的,ADMEMS方法不是“单一方法”,而是由多个各具特点的方法组成的“方法体系”。ADMEMS方法通过它的名字亮明了其核心主张。
二、质疑驱动的架构设计
毫无疑问,架构设计是需求驱动的,而不是模型驱动的。
但需求驱动的说法,不太传神一当你很清楚需求却依然设计不出架构时就足以说明“需求驱动的架构设计”的总结还“缺点儿什么”。
架构设计是一门艺术,你不可能把“一桶需求”倒进某台神奇的机器然后等着架构设计自动被“加工生产”完毕,因此“需求驱动的架构设计”给架构师的启发不够。
缺点儿什么呢?答案是,缺“人的因素”、“架构师的因素”!
架构设计实际上是个“质疑驱动的过程”需求,被架构师的大脑(而不是自动),有节奏地引入到架构设计的一波接一波的思维活动中。例如,作为架构师,当你的架构设计进行到一半时,你可以明显感觉到:这个架构设计中间成果,还需要“我”进一步通过“质疑”引入更多“质量属性”以及“特殊功能场景”来驱动后续的架构设计工作的开展。
在保留“需求驱动的架构设计”所有正确内涵的同时,“质疑驱动的架构设计”告诉架构师:你的头脑,才是架构设计全过程的真正驱动力。质疑意识,是架构师最宝贵的意识之一。
至于有的专家提倡的“用例驱动的架构设计”这种观点,则有严重缺陷,3句话足以揭示这一点:
- 需求=功能+质量+约束
- 用例是功能需求实际上的标准
- 用例涉及、但不涵盖非功能需求
三、多阶段方法
架构设计的多视图方法很重要,但是,架构设计方法首先应当是多阶段的,其次才是多视图的。
一句话,先做后做——这叫阶段 (Phase), 齐头并进——这叫视图 (View)。
任何好的方法(不局限于软件领域),都必须以时间为轴来组织,因为这样才最利于指导践。
架构设计只需多视图方法,看上去很美,其实并不足够。实际上,大量一线架构师早已感觉到多视图方法的“不足够”。例如,想想投标:
- 一方面,投标时,要提供和讲解《方案建议书》,其中涉及到架构的内容。
- 另一方面,团队开发时,需要《架构设计文档》,供多方涉众使用。
- 但是,投标时讲的“架构”和并行开发时作为基础的“架构”在同-一个抽象层次上吗?绝不可能。前者叫概念架构,后者叫细化架构。如果投标失败,细化架构设计根本就不需要做了。
- 结论, 概念架构设计和细化架构设计,是2个架构阶段,不是2个架构视图。
四、内置最佳实践的方法
方法不应该是个空框框,应融入最佳实践经验。相信业界很多专家都正朝着这个方向迈进。
ADMEMS方法中融入了笔者的哪些实践经验呢?仅举几例:
1、逻辑架构设计的10条经验
2、质疑驱动的逻辑架构设计整体思路
3、基于鲁棒图进行初步设计的10条经验
4、ADMEMS矩阵方法
5、约束的4大类型
6、....
由于内容细节实在是太多了,感兴趣的朋友点赞+关注+转发后私信小编“架构师”免费获取完整PDF版
第1章 绪论
第2章Pre- architecture的故事
第3章Pre- architecture总论
第4章需求结构化与分析约束影响
第5章确定关键质 与关键功能 第2部分Conceptual Architecture阶段
第2部分Conceptual Architecture阶段
第6章概念架构的故事
第7章Conceptual Architecture总论
第8章初步设计
第9章高层分割
第10章考虑非功能需求 第3部分Refined Architecture阶段
第3部分Refined Architecture阶段
第11章细化架构的故事
第12章Refined Architecture总论
第13章逻辑架构
第14章物理架构、运行架构、开发架构
第15章数据架构的难点:数据分布
第16章考虑非功能需求
第17章应对非功能 目标的理性设计难题
架构师都是从码农过来的,媳妇熬成婆。
加油吧,各位!记得点赞+关注哦