【问题标题】:Do software engineers in general have no idea about Software Architecture Design?软件工程师一般对软件架构设计一无所知吗?
【发布时间】:2015-06-10 08:14:50
【问题描述】:

我需要社区的帮助 - 我希望 * 涵盖一般架构问题。

因此,这不是数百人组织的同事第一次讨论下一个“非常复杂的系统”的实施细节,该系统“将做所有事情,让每个人都开心”,而不是试图将事情分解成更小的部分。

当我谈到抽象和分解以及使用(最好)简单接口拆分成更小的模块的必要性时 - 似乎没有人像“我们都知道软件是如何开发的”那样理解和回答字面意思,或者只是忽略我写的内容。

我是那种自尊心过重的独特人,还是在软件组织中经常发生这种情况?

【问题讨论】:

  • 不,通常每个人都知道他们的位是如何组合在一起的。唯一的区别是“砌砖工”,他们只是按照告诉他们的内容编写代码,就像您在外包组织中经常遇到的那样。

标签: architecture module abstraction decomposition


【解决方案1】:

不同组织对架构的处理方式非常不同。如果架构师作为工作角色存在,他们负责不同数量的细节,或多或少的责任取决于开发生命周期、组织结构或开发人员经验。

虽然通常我希望架构师处理高级模块化组合(不是类级别,而是服务/包/容器级别),以及任何外部可见的 API,可能是数据库架构,以及任何重要的安全点.但这在很大程度上取决于上下文。

所以回答你的问题(我认为?),是的,我希望开发人员了解如何将大型组件分解为类,包括它们之间的逻辑关系。我希望他们了解 SOLID 设计原则和可能的一些设计模式。我不一定期望他们了解如何将需求分解为大型组件 - 因为这可能由架构师完成。

【讨论】: