“一个系统的架构,做到如何才能算好呢?”明眼人都能看出,这个问题就是问系统架构的目标。其实这个话题已经和很多人讨论过。一个非常简单的开头,结果却可能是千篇一律的答案。
“将系统做到可维护、可扩展、可延伸等等...那么这个系统就不错了。”
这个答案是一个典型的程序员式的目标管理。可以看出,这是一个非常完美的目标。但我要说,这不是真正的目标。如果你正在作为一个架构师,在架构一个新的系统。我想问问你,你会如何描述你的目标呢?
我问过很多人,很多人,都是类似与上面的回答。
要回答这个问题,首先要回答架构这个工作要做什么?我想很多人都愿意同意下面的说法:
-
架构=高层次设计
-
设计=权衡
-
权衡=问题>>方案1>方案2>方案n=问题+选中的方案
说白了,设计就是确定方案、选择方案的过程。
那么,我们架构要做得好,
-
明确我们需要解决的问题列表。
-
针对问题,列出可能的解决方案列表。一定要多于一个方案。否则不是设计,而只是解决问题。
是的,到了这里,我们就可以回答一开始的问题,一个系统的架构做得好,就是我们问题的解决效果做得好。当然了,这里面的问题包括功能性需求,也包括非功能性需求,特别是非功能性需求这部分对于架构影响更大。
所谓架构得好,就是方案设计到位,方案选择合理!如果我们要开一个架构评审会,我们评审会的重点也一定是在这里。
以前我参加过很多架构评审会,但是到最好,都是在听架构师讲解UML的类图结构。当然了,这与国内设计方面的阶段有关,很多人对于UML的理解还不完全。但这显然有很多弊病。特别是评审的人,并不能保障对系统业务的理解,所以对于类图不是很感冒,最多对UML的绘图技巧提出一些建议而已,反而忽略了架构本身重点的评审。这种评审会是没有意义的。
再回过头来讲,架构师也只有搞清楚自己的设计重点,工作也才能有的放矢。这永远比那些盲目最求完美系统更能解决问题。一个好的目标管理,会让架构师至少在工作安排上做到合格。
有人问我,所谓的问题+方案的目标描述,是不是只是“可维护性、可扩展性等等”的目标细化?从语言上讲,确实有这个关系。但我强烈反对这种认知,这是一个完全不同的出发点,一个关注的自己的取向,一个关注的是问题取向。不同的出发点,也代表了架构师的架构意愿。
因为架构师,就是自身判断能力的运用者。而架构意愿在其中起了非常大的作用。因此,要做一个合格的架构师,就要从严格要求自己的架构意愿开始!
分享到:
相关推荐
成为一名合格的架构师,需要掌握广泛的技术知识。这包括但不限于:编程语言(如Java、Python、C++等)、操作系统原理、数据库管理、网络协议、分布式系统、云计算、微服务、容器化技术等。同时,对新兴技术和趋势的...
一个合格的架构师,既是技术领导者,也是胸怀理想的现实主义者。他们立足于现实,但总是充满理想,并在实践中不断探索和前进。架构师的工作是充满挑战的,他们需要不断地学习新技术,解决新问题,同时还要有预见性地...
系统架构师还需要具备良好的软件工程标准规范、技术素质和管理素质,能够创建高效的团队并提供清晰的目标、技术和方法模型。 在实际工作中,系统架构师需要与系统分析师、需求分析师和技术实现团队紧密协作,位于...
合格的架构师不仅要有能力设计出满足需求的系统架构,还需要有能力组织和管理跨职能的项目团队,确保项目按照既定的路线图顺利进行。 最后,除了上述技术方面的知识点外,系统架构师还应当了解行业趋势、技术发展...
标题和描述均提到了“做人做事做架构师”,这一表述实际上...通过不断学习和实践,每一位有志于此的程序员都能够逐步成长为一名合格乃至杰出的架构师。在这个过程中,始终保持开放的心态,勇于接受挑战,是成长的关键。
在与其他团队角色的协调方面,系统架构师在项目管理师和系统分析师之间发挥作用,为项目规划目标,并与他们紧密合作,以确保项目的顺利进行。大型项目中,如果角色重叠,则易导致效率低下。因此,架构师在明确自己的...
系统架构师的角色介于项目管理师和系统分析师之间,负责为团队设定清晰的目标,避免因角色冲突导致的问题。 从开发人员成长为架构师,需要时间和经验积累,通过不断总结自己的实践,深入行业应用,才能形成自己的...
对于大型项目,架构师的角色定位在项目管理和系统分析之间,以规划清晰的架构目标。 系统架构师的知识结构应包括对多种系统方法和工具的鉴别能力,以及从实践中总结架构模式。成为合格的架构师并非短期内通过培训就...
《J2EE架构师认证指南》是一份专为有志于成为J2EE架构师的专业人士准备的参考资料。这份指南涵盖了J2EE平台的核心概念、技术框架以及成为一名优秀架构师所...通过深入学习和实践,可以逐步成长为一名合格的J2EE架构师。
《一线架构师实践指南》是温昱先生的著作,该书深入浅出地探讨了架构设计的核心理念和实践经验,...通过阅读这本书,读者可以系统地学习到如何从一个宏观视角去规划和构建大型软件系统,从而成为一名合格的一线架构师。
- 管理方面,架构师应具备优秀的团队建设和管理能力,包括设定明确的目标、提供有效的解决方案以及快速应对技术挑战。 - **系统架构师与其他角色的协调**: - 在项目团队中,系统架构师需要与系统分析师、项目...
成为合格的架构师并非一蹴而就,而是需要长期的经验积累和不断学习。 在计算机基础部分,了解到计算机系统由硬件和软件组成,其中系统软件如操作系统、语言处理程序等为应用软件提供运行平台。操作系统作为核心,...
这份“微软架构师培训”教材很可能会详细解析以上各个方面,通过实例分析和实际操作指导,帮助学员提升专业技能,为成为合格的微软架构师打下坚实基础。无论你是初入IT行业的新人,还是希望进一步提升职业发展的经验...
为了成为一名合格的互联网架构师,需要具备以上技能。以下是学习指南: 1. 学习技术的深度和广度:需要学习不同的技术和组件,了解每个技术的优缺点和应用场景。 2. 业务理解分析能力:需要学习业务理解和分析,...
本文将围绕这一主题展开讨论,并着重探讨如何成为一位合格的云计算架构师。 #### 一、问题的提出 **传统IT方法论的特点**: - 以技术驱动为主导思想,侧重于研究现有的以及新出现的技术。 - 依据可能的技术为基础...
希塞2019年系统架构设计师培训讲义是一份专注于系统架构师考试的培训资料,内容覆盖了系统架构设计的多个方面,包括企业信息化战略与实施、软件工程、软件架构设计、系统安全分析与设计、系统可靠性分析与设计、项目...
2020年最新考纲 1.考试目标 考试合格人员应能够根据系统需求规格说明书,结合应用领域和技术发展的实际情况,考虑有关...能够与系统分析师、项目管理师相互协作、配合工作;具有高级工程师的实际工作能力和业务水平。