现在我在一个小团队工作,刚刚开始做一些架构。因此可能存在对术语或知识的一些误解。
对于软件开发,我已经知道并清楚了解一些过程。对于我所知道的,架构就像是项目的最高层,它展示了这个项目的工作方式。其中一些包括用例图,类图或交互图等。
我的问题是:
应该在实际编码之前设计架构吗?当我们实现一个功能时,目前有很多变化,其中一些可能会改变架构。这意味着到目前为止,每个更改都需要更新一些交互图和类图,这会浪费时间。
根据我的理解,架构对大型项目或系统更有用。虽然对于一个小项目,可能对架构没有太大帮助。那么,对于一个初创项目来说,架构真的是必要的,或者我们可以实现一个基本项目,并在架构发展之后再建一个架构吗?
可能我对建筑有误,你们可以帮我找出答案。现在我正在做的是基于我们的讨论需要做什么。我首先想出了一些流程图或图表。然后考虑类图和一些交互图。完成后,我开始编码。
同样,我只是一名大学生,甚至没有毕业。所以我没有那么多经验,所有的软件开发知识都是我自己想到的。任何不正确的道歉。
由于
答案 0 :(得分:1)
首先,您必须知道为系统架构做设计/图表有两个目的。
首先是人与人之间的沟通,将来是其他开发人员,管理人员甚至是自己。缺少文档将导致代码跟踪逻辑,这可能需要更多时间。
第二,将业务需求转换为更具体的流程和用例。大多数时候,在设计/构建它之前,你不会知道你想要构建/开发什么,以及如何完成它。
您对小公司或初创公司的目标是第二点。正如Chris所说,在设计阶段而不是代码阶段更容易发现陷阱并进行业务变更。我建议只做高级设计而不是低级别设计,比如类图。您可以在我的其他answer here找到推理。
答案 1 :(得分:0)
在理想的世界中,最好在构建之前完全设计系统,但在实践中并不总是这样。
但是,关于您的第一点,如果系统设计得很好,那么构建时所需的更改将会少得多,而且与构建期间相比,在设计时通常更快地进行更改。
当然,这完全取决于项目的规模,以及参与开发和决策的人数。
一个简单的项目,由开发人员编写供自己使用,不需要进行大量的设计。由一群人为非技术客户构建的复杂项目需要大量设计。
当然,这是我自己的观点,从为自己和小团队开发基于网络的项目。