今天小编跟大家谈一下架构师是什么,如何成为一个软件架构。关于这个问题有好几种说法说法。
例一、有人认为做架构首先要懂软件过程,其次架构来源于需求 还要懂得需求过程。 在软件过程中的需求过程占很重要的地位。如需求上下文的获取.系统的边界的划分 、角色定义、 角色的业务、 系统用例的推导 、系统用例的各种约束、然后通过需求之后在分析架构方面的设计, 之后就可以大致的分析出系统都要提供哪些模块了。具体的模块之间的协作图、时序图、状态图、然后逐渐划分出架构子系统。
例二、还有人认为懂开发,懂运维,懂系统可以超越架构的概念。认为不能以成为架构师为目的,接触一切感兴趣的系统、运维、开发。在实践经验中看多了,有经验了,也就能够自然而然的成为一个架构师。
例三、还有人认为架构师其实和产品经理一样,都是为了解决问题而存在的。所以平常需要努力,要迎难而上,不要遇到问题躲着走。从解决小问题到能够解决大问题,你自然就是合格的架构师。
小编是这样认为的。首先,想成为一个合格的架构师,你要知道软件架构是个什么概念,明白架构的定义:
- 一个程序和计算系统软件体系结构是指系统的一个或多个结构。结构中包括软件的构建,构建的外部可见属性以及它们之间的相互关系。
- 体系结构并非可运行软件。确切的说,它是一种表达,使软件工程师能够做的:
① 分析设计在满足规定需求方面的有效性。
② 在设计变更相对容易的阶段,考虑体系结构可能的选择方案。
③ 降低与软件构造相关联的风险。
其实架构师也是有细分的,基本上可以分为三类: - 系统架构师:服务器负载,可靠性,伸缩,扩展,数据库切分,缓存应用等
- 应用架构师:理解业务,梳理模型,设计模式,接口,数据交互等
- 业务架构师:也可以叫业务领域专家、行业专家、产品咨询师、资深顾问通常我们说的架构师是1和2的合体,有一个前提,就是首先你要是个有着丰富实践经验的牛逼的程序猿,否则都是空谈,然后再让自己具备1和2的条件,这些是硬条件,只有具备了这些硬条件,你才能从技术上全方位的把控软件的架构,这是技术层面的;但是只这些还不够,你具体架构一个领域的软件的时候,就要对这个领域的业务十分的了解,就是做不到业务专家的级别,最起码也要十分了解业务,如果是做产品,这个要求就更高了,这样你才能架构出合理的软件。这应该就是中国所谓的架构师了...
欢迎关注小编,有更多想法的可以私信小编或者进行评论。小编给大家介绍一个学习大纲,还请大家一定要认证的看清楚这个课程,也许会帮助你真正进阶架构师。点击这里http://www.jianshu.com/p/fc9846625a6c
欢迎关注JAVA架构公开课,精彩架构文章,幽默有趣段子。
既然看见了,那就不烦点播关注吧!