0

我只是想知道你们在开始一个新项目时遵循的步骤是什么?您是否曾经创建过 UML 图、SRS 或任何设计文档?我正在开始一个新项目,并希望就所有这些做法获得一些专家建议。我知道编码,但我从未尝试过 UML 和其他东西。

任何帮助都会很棒

4

4 回答 4

1

通常,我的进程运行如下:

  • 我通常从一个逻辑模型开始——如果你愿意的话,一个混蛋的 UML——这样我就可以可视化我系统中的关键实体和关系。
  • 然后我考虑一个底层数据模型(考虑围绕数据消费模式、性能等的潜在问题)
  • 然后我选择合适的数据访问架构
  • 然后我开始编码数据层和业务对象(根据需要重新设计逻辑模型)

我不认为在逻辑阶段“过度设计”有太多意义,因为从业务和技术/设计的角度来看,需求会随着项目的进展而变化,而这种变化是你无法总是提前预料到的。

于 2008-11-26T12:51:55.347 回答
0

您可能希望在项目生命周期的早期考虑的一件事是创建领域模型。作为一名程序员,你会说计算机术语很舒服,但你可能不会说客户的专业术语。领域模型是您学习如何与客户交谈的一种方式,以便他们了解您并且您也了解他们。它可以采用 UML 类图的形式,也可以是 Word 文档中的词汇表,只要您觉得合适就行。

于 2008-11-26T22:05:37.677 回答
0

在概念阶段之后,我喜欢创建的第一件事是定义列表。这将通知我的变量、类和函数名称,并让我能够谈论它们。如果可以选择,我通常会选择 psudocode 类而不是 UML,因为在您编写时更容易调整。另一个我喜欢尽快做的想法是创建一个界面模型。这可能是一个 GUI、CLI 或 API,具体取决于项目,但让我对我的代码需要达到的水平有一个明确的认识。

于 2008-11-26T22:17:01.710 回答
0

我从来没有真正关心过 UML(反正不是“真正的”UML)。当我开始一个项目时,我对一些事情感兴趣:

  1. 我的软件将如何使用(以及由谁使用)
  2. 软件需要做什么
  3. 不同的功能/组件如何组合在一起

对于 1,您可以使用 UML 用例图。我通常使用自己的伪用例图。从中您可以确定谁将使用您的软件以及以何种方式使用您的软件。不同的用户会以不同的方式使用该软件。这很有用,因为它 a) 帮助您确定目标用户是谁,b) 帮助您确定 2 所需的功能。此外,如果您知道谁将使用您的软件以及如何使用,您可以专门为这些用户调整它。

对于 2,我通常只是列出一个大清单。有时将列表拆分为类别和/或优先级很有用。这通常会成为我的“TODO”列表。

对于 3,我画了一些类似于 UML 类图的东西,除了没有 UML 注释。基本上每个类/模块/组件都有自己的盒子,它们用线条链接在一起。这向我展示了系统中将存在哪些组件以及它们如何相关/通信等。我可能会为每个项目绘制不同的内容,并且有些会比其他项目获得更多细节,这取决于我当时觉得我需要什么。

在此之后,我喜欢通过编写简单的一次性模型/原型来原型化核心概念。这会给我一些关于它如何工作,如何实现它以及如何不实现它的想法(我经常以“错误的方式”做原型,如果我没有写一个我不会知道) . 这里重要的是代码没有在真实版本中使用。

于 2008-11-26T13:05:42.243 回答