应用模型

时间:2011-03-21 10:57:39

标签: design-patterns architecture uml hci

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

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

我目前没有对应用程序模型的精确定义,但我认为至少有三个方面对于定义这个概念非常重要:

  • 人机交互设计选择:与用户交互的应用程序应仔细定义其交互模式,以改善和简化可用性;此区域应考虑用户首选项和特征(用户模型)和(可能)设备特征(设备模型);

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

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

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

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

  • ConcurTaskTrees:对交互式应用程序的设计和人机交互模型有用;

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

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

还有其他建议吗?

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

2 个答案:

答案 0 :(得分:1)

考虑到我们现在在2011年,它可能看起来很奇怪(和过时),但我认为你可能对Structured Analysis感兴趣 - 也许使用最“近期”的味道(IEM

虽然这些概念是“陈旧的”,但我认为它们仍然很有价值 - 并且不一定比提供全封闭方法的现代尝试更糟糕。

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

答案 1 :(得分:1)

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

DDD基本上是从域专家(知道问题区域的人)和开发人员之间的“说同一种语言”的想法中飞出的最佳实践,并实际模拟问题域本身(通常使用UML),而不是想要为应用程序建模。经验告诉我们最终通常会为您提供应用程序的最佳模型,因为它代表了问题域的现实,尽管它很复杂,但这通常是应用程序需要处理的内容。 / p>

DDD的主要来源是Eric Evans book,名称相同。另外,你不应该错过埃文斯先生在InfoQ上的两个会谈“Putting the model to work”和“strategic design”。 Wikipedia article也有一些链接(虽然似乎不是对该主题的最佳介绍)。