软件开发过程 - 架构


0

现在我正在一个小团队中工作,刚开始做一些架构。所以可能会对术语或知识产生一些误解。

对于软件开发,我已经知道并清楚了一些过程。就我所知,架构就像一个项目的最高级别,它显示了这个项目是如何工作的。他们中的一些,包括用例图,类图或许交互图等

我的问题是:

  1. 架构是否应被实际编码之前设计的?目前我们正在实现一项功能时会发生很多变化,其中一些可能会改变架构。这意味着每个更改都需要更新一些交互图和类图,这会浪费时间。

  2. 对于我所理解的,架构对于大型项目或系统更有用。虽然对于一个小项目,可能会有一个架构并没有太多帮助。那么,对于一个启动项目来说,架构是非常必要的,或者我们可以实现一个基础项目,并在稍后增加架构?

  3. 可能是我错了关于架构,你们可以帮我找出答案。现在我所做的是基于我们的讨论需要做什么。我首先想出了一些流程图或图表。然后想一下类图和一些交互图。完成后,我开始编码。

再次,我只是一个大学生,甚至没有毕业。所以我没有太多的经验,所有的软件开发知识都是我自己想的。对任何不正确的道歉。

感谢

  0

这个问题似乎是离题。它属于http://programmers.stackexchange.com 30 11月. 132013-11-30 07:47:29

0

在一个理想的世界,这将是最好的建设前要充分设计系统,但在实践中,这并不总是发生。但是,关于你的第一点,如果系统设计得很好,那么建造时所需的更改将少得多,并且与设计时相比,在设计时进行更改通常更快。

当然,这一切都取决于项目的规模以及参与开发和决策的人数。

一个简单的项目,由开发人员编写供他自己使用,不需要太多设计。一个由非专业客户组成的团队需要进行大量的设计。

当然,这是我个人的观点,从为自己和小团队开发基于Web的项目。

又见Software Design vs. Software Architecture

  0

好点。谢谢 29 11月. 132013-11-29 16:56:09


1

首先,你必须知道,有做设计/图系统架构的第2目的。

第一个是人与人之间的沟通,无论是其他开发人员,管理人员还是将来您自己。缺少文档将导致代码跟踪逻辑,这可能需要更多时间。

第二,它是将业务需求转化为更具体的流程和用例。大多数情况下,在设计/构建设计之前,您不会知道您想要构建/开发什么以及如何完成。

您对小公司或创业公司的目标是第二点。正如克里斯所说,在设计阶段找到陷阱并进行业务变更比代码阶段更容易。我建议只做高级设计而不是低级的设计,如类图。你可以在我的其他answer here找到推理。