Нужен совет по разработке графического движка имитации - PullRequest
2 голосов
/ 25 сентября 2011

Здесь, в моем университете, они разработали Java-приложение для визуализации графиков и управления ими, что-то похожее на GUESS , но каким-то образом с другими возможностями.веб-сайт, на котором размещен проект, это graphlab.sharif.edu, но в данный момент сервер не работает.во всяком случае, теперь мы решили разделить программу на части и сделать их общедоступными, чтобы их можно было использовать в других приложениях.точнее, мы хотим использовать эти части при разработке программного обеспечения для моделирования общего назначения или, по крайней мере, использовать их в различных программах моделирования.

Приложение имеет мощное ядро, основанное на шаблоне проектирования классной доски.это первая часть, которая будет извлечена.другие части включают основанную на xml платформу пользовательского интерфейса, базовую консоль оболочки (с использованием beanshell) и другие плагины, которые расширяют его функциональные возможности различными способами, такими как интеграция с MATLAB и алгоритмы анимации.

Я ищу несколько предложений и комментариев, прежде чем мы начнем применять необходимые модификации и извлекать ядро.с тех пор, как разработка этого приложения началась 5-6 лет назад, они не использовали некоторые известные технологии, которые сегодня широко используются, например, JSON.также не было никакого модульного тестирования.Итак, если у вас есть опыт разработки такого приложения, что вы предлагаете нам сделать?какие технологии нам лучше использовать и для чего?действительно ли классная доска - хорошее решение для такой платформы приложений?Как вы думаете, мы должны использовать JSON, чтобы позволить разработчикам на разных языках расширить возможности нашей программы?

Если есть какая-либо дополнительная информация, которую вы хотите узнать о проекте, пожалуйста, дайте мне знать,

заранее спасибо

1 Ответ

1 голос
/ 25 сентября 2011

Проблема, с которой вы сталкиваетесь, кажется довольно сложной, поэтому я могу только дать рекомендации относительно некоторых аспектов вашего вопроса.

Первое, что я хотел бы сделать, это на самом деле разделитьвесь проект в подмодули (при условии, что это еще не сделано).Скорее всего, у вас будут неприятные сюрпризы во время этого процесса (т. Е. Вещи, которые не должны зависеть друг от друга, вспомогательный код, помещенный в неправильный подмодуль и т. Д.).Я бы также предложил вам использовать инструмент для сборки до документирования этих зависимостей .

В случае отсутствия модульных тестов , по моему опыту этодовольно сложно написать разумные юнит-тесты после того, как большая часть проекта находилась в разработке в течение столь длительного времени.Скорее всего, они не будут такими ценными, как те, что вы пишете во время разработки, но некоторые могут все еще быть полезны для регрессионного тестирования , т.е.чтобы убедиться, что вы не испортили рефакторинг или очистку при подготовке релиза : кажется, что лучший способ сделать это - пошагово создавать новые тесты, чтобы они проверяли частипроект, который вы сейчас готовите к выпуску.

Наконец, я предлагаю вам сделать релиз с минимальной функциональностью как можно быстрее .Это позволяет другим предоставлять вам честные и практические отзывы (отчеты об ошибках, запросы функций и т. Д.), Которые затем могут помочь в разработке при выпуске других модулей и последующих версий.

...