1

在我目前正在进行的一个研究项目中,我们正在尝试定义应用程序模型的概念,并且我们正在研究表示应用程序模型的方法/形式,重点是 Web 应用程序。

在网上做了一些研究之后,我还没有找到关于综合应用模型的具体信息。所以我认为值得向狂热的程序员提出这个问题,他们可以就这个话题给我一个具体而实用的观点。我不确定这个问题是否更适合程序员 stackexchange:如果是这样,请随意迁移它。我感兴趣的是获得关于我的应用程序模型概念以及可能相关的方法/形式主义的反馈/想法。

我目前对应用模型没有准确的定义,但我认为定义这个概念至少需要三个方面:

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

  • 架构设计选择:任何复杂的应用程序都应基于其设计人员和开发人员共享和理解的架构模型;

  • 实现设计选择:在实现应用程序时,识别已知和重复出现的问题并通过重用适当的设计解决方案来解决这些问题是一种很好的做法。

我错过了任何重要的方面吗?

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

  • ConcurTaskTrees : 用于交互应用程序的设计,并为它们的人机交互建模;

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

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

还有什么建议吗?

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

4

2 回答 2

1

考虑到我们现在是 2011 年,它可能看起来很奇怪(并且已经过时),但我认为您可能对结构化分析感兴趣- 可能使用最新的“风格”(IEM)。

虽然这些概念是“旧的”,但我认为它们仍然很有价值——而且不一定比提供包罗万象的方法论的更现代的尝试更糟糕。

或者也许我只是在显示我的年龄 -现在请离开我的草坪......

于 2011-03-21T17:27:17.950 回答
1

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

DDD 基本上是从领域专家(知道问题领域的人)和开发人员之间“说同一种语言”的想法出发的最佳实践,并实际对问题领域本身进行建模(通常使用 UML),而不是考虑建模一个应用程序。经验告诉我们,这最终通常也会为您提供应用程序的最佳模型,因为它代表了问题域的现实,尽可能复杂,而这通常是应用程序无论如何都需要处理的。

DDD 的主要来源是Eric Evans的同名书。你也不应该错过 Evans 先生在 InfoQ 上的两次演讲“将模型付诸实践”和“战略设计”。维基百科文章也有一些链接(虽然似乎不是对该主题的最佳介绍)。

于 2011-04-05T11:03:52.003 回答