应用模型

问题描述 投票:0回答:2

在我目前正在进行的一个研究项目中,我们正在尝试定义“应用程序模型”的概念,并且我们正在研究表示应用程序模型的方法/形式主义,重点是 Web 应用程序。 在网上查了一些资料,没有找到综合应用模型的具体信息。因此,我认为向狂热的程序员提出这个问题是值得的,他们可以给我关于这个主题的具体和实用的观点。我不确定这个问题是否更适合

programmers stackexchange

:如果是这样,请随意迁移它。我感兴趣的是获得有关我的应用程序模型概念以及可能相关的方法/形式主义的反馈/想法。 我目前还没有应用程序模型的精确定义,但我认为定义这个概念至少需要三个方面:

    人机交互设计选择:与用户交互的应用程序应该仔细定义其交互模式,以提高和简化可用性;该区域应考虑用户偏好和特征(
  • 用户型号

    ),以及(可能)设备特征(设备型号);

  • 架构设计选择:任何复杂的应用程序都应该基于其设计者和开发人员共享和理解的架构模型;
  • 实现设计选择:在实现应用程序时,最好识别已知和重复出现的问题,并通过重用适当的设计解决方案来解决这些问题。
  • 我遗漏了什么重要的方面吗?

我认为以下是相关方法/形式主义的非详尽列表:

  • ConcurTaskTrees

    :对于交互式应用程序的设计以及人机交互建模很有用;

  • UML

    :广泛使用的软件设计建模语言;它可以解决架构和实现设计的各个方面;

  • 设计模式

    :一套已知的、可重用的软件设计解决方案;它们经常在实施阶段使用。

  • 还有其他建议吗?

总结

:我感兴趣的是定义应用程序模型的相关方面是什么(请参阅上面的第一个列表),以及该领域有哪些有用的形式主义(请参阅上面的第二个列表)。

考虑到我们现在已经是 2011 年了,它可能看起来很奇怪(而且过时),但我认为您可能对
language-agnostic
2个回答
1
投票
感兴趣 - 也许使用最“最新”的风格 (

IEM)。 虽然这些概念很“古老”,但我认为它们仍然有价值 - 并且不一定比提供全面方法论的更现代的尝试更糟糕。

或者也许我只是暴露了我的年龄 -

现在请离开我的草坪

...

如果您正在寻找有关如何实际建模应用程序的最佳实践,我强烈建议您研究“领域驱动设计”(又名“DDD”)。

1
投票
DDD 基本上是源自领域专家(了解问题领域的人)和开发人员之间“使用相同语言”的理念的最佳实践,并且对问题领域本身进行实际建模(通常使用 UML),而不是考虑为应用程序建模。经验告诉我们,这最终通常也会为您提供应用程序的最佳模型,因为它代表了问题域的现实,尽可能复杂,而且这通常是应用程序需要处理的问题。

DDD 的主要来源是

Eric Evans 的同名书

。另外,您也不应该错过 Evans 先生在 InfoQ 上的两场演讲“

让模型发挥作用”和“战略设计”。 维基百科文章也有一些链接(但这似乎不是对该主题的最佳介绍)。

© www.soinside.com 2019 - 2024. All rights reserved.