
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的软件开发程序员都在向软件架构师的岗位去发展,而本文我们就通过案例分析来简单了解一下,软件架构的能力与岗位类型分析。
1、什么是软件架构?
提到软件架构师这个头衔,就经常听到拿建筑的架构与之作比。建筑架构师设计建筑的蓝图。工程师们将其实体按照该蓝图建造起来。我认为从很多方面来看,这都是一个糟糕的类比。
建筑的类比使人们过于关注系统的静态面。在这方面,城市建设是一个更好的类比,因为它既包括道路、建筑和桥梁等静态元素,也包括交通流量和城市居民等动态元素。城市架构师提出城市设计,制定计划来安排如何建设城市以及如何将所有东西组合在一起。后但并非不重要的是,城市架构师有一个城市将如何发展的愿景。但是软件架构还不仅如此。有时软件架构师需要放大或缩小”城市“,以确保计划可行。架构师可能不会太关心建筑的室内设计,而把重点放在决定在哪里放置红绿灯上。架构师需要广泛且深厚的技术知识,才能构建像城市一样复杂的软件。架构师还需要在不涉及所有技术细节的情况下向业务涉众传递一致的消息。
2、软件架构的角色
软件架构用于满足业务目标。它是基于要实现的业务目标而设计的。然后,按照设计实现软件系统,使其遵从设计。这应该是一个迭代过程。正如我前面提到的,在项目的早期阶段通常不可能做出正确的决定。好的决定是你仍然不必决定的决定。架构师将创建刚好能够满足业务需求的设计。这就关闭了反馈循环,就像你在敏捷和DevOps实践中看到的一样。这里的想法是,随着世界的变化,业务需求也会变化,软件架构应该随需求演变以支持业务接受变更。
3、软件架构”能力“
软件架构是一个非常具有挑战性的话题,您必须设计一个同时满足所有业务需求和所有质量属性的系统。这几乎不可能一个人完成,通常是架构师和领域专家团队合作的结果。
软件架构不仅仅是图、框和线。只看高层次的设计图,只看一些线线连着框框,可能无法看到任何安全问题。我甚至不知道这个设计是否真的能行。保护系统安全的是代码。因此,架构师编写代码并与开发团队密切合作是很重要的。另外,架构师要能够阅读代码并经常与开发团队交流。这就是当软件架构师放大或缩小设计时所发生的事情,就像我在城市设计类比中所提到的。如果架构师不与开发团队沟通,也不编码,他们就会脱离现实,所设计的架构就不实用。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。