Uml 启动新项目的思维过程和步骤

Uml 启动新项目的思维过程和步骤,uml,srs,Uml,Srs,我只是想知道你们在开始一个新项目时遵循的步骤是什么?您是否曾经创建过UML图、SRS或任何设计文档?我正在开始一个新的项目,并希望得到一些关于所有这些做法的专家建议。我知道如何编写代码,但我从未尝试过UML和其他东西 任何帮助都会很好通常,我的流程运行如下所示: 我通常从一个逻辑模型开始——如果你愿意的话,一个低级的UML——这样我就可以可视化系统中的关键实体和关系 然后,我考虑底层数据模型(考虑围绕数据使用模式、性能等的潜在问题) 然后选择合适的数据访问架构 然后我开始编码数据层和业务对象(

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


任何帮助都会很好

通常,我的流程运行如下所示:

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

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

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

  • 如何使用我的软件(以及由谁使用)
  • 软件需要做什么
  • 不同的功能/组件如何配合在一起
  • 对于1,您可以使用UML用例图。我通常使用自己的伪用例图。从这一点上,您可以确定谁将使用您的软件以及以何种方式使用您的软件。不同的用户将以不同的方式使用该软件。这很有用,因为它a)帮助您确定目标用户是谁,b)帮助您确定2需要哪些功能。此外,如果您知道谁将使用您的软件以及如何使用,您可以专门为这些用户调整它

    对于2个人,我通常只是列一个大的清单。有时,将列表划分为类别和/或优先级很有用。这经常成为我的“待办事项”清单

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


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

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

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

    有趣的一点。我会铭记在心的。我倾向于在需求->数据模型->业务逻辑->表示方面更为经典。