需要开发基于图形的模拟引擎的建议

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

在我的大学里,他们开发了一个基于 Java 的应用程序,用于可视化图形并操作它们,类似于 GUESS,但具有不同的功能。托管该项目的网站是 graphlab.sharif.edu 但服务器目前已关闭。不管怎样,我们现在决定将程序分成几个部分并将它们公开,以便它们可以在其他应用程序中使用。更准确地说,我们希望利用这些部件来开发通用仿真软件,或者至少在不同的仿真程序中使用它们。

该应用程序具有基于黑板设计模式的强大核心。这是要提取的第一部分。其他部分包括基于 xml 的 UI 平台、基本的 shell 控制台(使用 beanshell)以及其他以不同方式增强其功能的插件,例如与 MATLAB 集成和动画算法。

在我们开始应用必要的修改和提取核心之前,我正在寻找一些建议和意见。由于这个应用程序的开发可以追溯到大约五六年前,他们还没有使用一些当今广泛使用的众所周知的技术,例如 JSON。也没有进行单元测试。那么,如果您有开发此类应用程序的经验,您建议我们应该做什么?我们最好使用哪些技术以及有何用途?真的是黑板吗 对于这样的应用平台有什么好的解决方案吗? 您认为我们应该如何使用 JSON 来让不同语言的开发人员扩展我们程序的功能?

如果您想了解有关该项目的任何进一步信息,请告诉我。

java json graph simulation blackboard
1个回答
1
投票

您面临的问题似乎相当复杂,所以我只能就您问题的某些方面提供建议。

我要做的第一件事就是实际上将整个项目划分为子模块(假设这还没有完成)。最有可能的是,在此过程中您会遇到一些令人不快的意外(即,事物不应该相互依赖,辅助代码放置在错误的子模块中,等等)。我还建议您使用构建工具记录这些依赖项

如果缺少单元测试,根据我的经验,在项目的大部分内容已经开发了这么长时间之后,编写合理的单元测试是相当困难的。它们可能不会像您在开发过程中编写的那样有价值,但有些“可能仍然对回归测试有用”,即。确保您在准备发布时不会搞乱重构或清理:最好的方法似乎是逐步创建新的测试,以便这些测试检查您所在项目的部分目前正在准备发布。 最后,我建议您

尽快发布具有最少功能的版本

。这使得其他人能够向您提供诚实且实用的反馈(错误报告、功能请求等),从而指导您的开发。发布其他模块和后续版本。

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