软件架构师是做什么的,他们使用什么程序?[英] What does a Software Architect do and what programs do they use?

本文是小编为大家收集整理的关于软件架构师是做什么的,他们使用什么程序?的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我不断听到大型软件公司的"架构师"头衔,我很想知道他们做什么以及如何完成它.

他们的工作是准备概述软件功能的可视化图表吗?他们使用什么程序来辅助他们的设计?喜欢类设计?

他们是否在更高级别进行设计并让其他人(开发人员)以机器可以执行的方式编写代码?还是他们会深入了解实施的细节?

推荐答案

如果一个人没有蓝图就可以盖棚子,那并不意味着他可以,或者应该在没有蓝图的情况下盖房子.

架构师了解您现在需要什么,当您说出您需要什么时,您的意思是什么,并设计一种软件策略,为您提供今天所需的东西,以及您将来可以成长(和成长)的家.熟悉建筑的架构师在软件方面更容易获得成功,能够编码并且在高水平上(但可能不是每天都这样做)的架构师可以帮助为其他开发人员共同成功奠定基础.

软件设计中涉及的工具很大程度上类似于铅笔、橡皮擦和尺子.用铅笔画的东西比工具更重要.

架构师的职责是能够齐心协力,将一个从非常高的层次设计到需要牢记细节的螺母和螺栓的项目保持在一起.他们将成为发现异常、漏洞和事情的专家,这些异常、漏洞和事情将不可持续或容易破坏软件设计,并在软件开始之前进行补救,以确保更高程度的成功.

话虽如此,对于我所做的 SA,我使用 OmniGraffle、Balsamiq 等工具、一些 UML 材料以及许多绘图纸和白板.我的设计目标是把复杂的东西综合成简单、有效和所有人都可以使用的东西.

我的目标是比客户更了解客户的需求,从而帮助他们实现他们正在寻找的下一个"飞跃".

成为解决人们问题的架构师意味着从很多角度处理很多问题,并在每个人的请求中找到共同的模式.

本文地址:https://www.itbaoku.cn/post/627386.html

问题描述

I keep hearing about the "Architect" title in larger software corporations, and am interested to know what they do and how they get it done.

Is it their job to prepare visual diagrams outlining the functioning of the software? and what programs do they use to aid their design? Like Class Designing?

Do they design at a higher level and get others (Developers) to write code in a way that a machine can execute? Or do they get into the details of the implementation?

推荐答案

If a person can build a shed without a blueprint, it doesn't mean they can, or should build a house without a blueprint.

Architects see what you need now, what you mean when you say what you need, and design a software strategy that will give you what you need today, and a home that you can grow into (and from) in the future. Architects who are familiar with construction succeed more often, in software, Architects who can code, and have done so at a high level (but may not on a day to day basis) can help lay the foundation for other developers to succeed together.

The tools involved in Software design so are largely like pencils, erasers and rulers. It's what you draw with the pencil that is more important than the tools.

An architect's role is to be able to pull together, and keep together a project that is designed from the very high level right down to the nuts and bolts where attention to detail needs to be remembered. They will be experts on finding the exceptions, holes and things that will be unsustainable or prone to breaking in a software's design and remedying them before its even begun ensuring a higher degree of success.

That being said, for the SA I do, I use tools like OmniGraffle, Balsamiq, some UML stuff, and a lot of graphing paper and whiteboards. My goal in designing is to synthesize the complicated into something simple, effective and usable by everyone.

My goal is to understand the needs of my clients better than they understand them, to the point that I can help them have the realizations they are looking for the next "leap".

Being an architect for solving people's problems means dealing with a lot of them, from a lot of angles, and finding the common patterns in everyone's requests.