Передовой опыт создания программных устройств?
Вопрос
У меня есть приложение, которое клиент попросил нас упаковать в программное устройство и хотел найти список всех вещей, которые мне необходимо учитывать.Вещи, связанные с выбором операционной системы, хорошо документированы, но другие аспекты, такие как создание удобных веб-консолей, фреймворков, которые мне следует учитывать (приложение написано на Java), и вещи, которые мне, возможно, придется провести рефакторинг с точки зрения дизайна, — нет.
Любое руководство очень ценится.
Решение
При создании устройства необходимо учитывать несколько вещей.Единственное, чем вам не стоит заниматься, — это обслуживанием ОС.Поэтому выбирайте ОС, которая считается стабильной и безопасной.При установке ОС включайте только те пакеты, которые абсолютно необходимы для вашего приложения.Всегда выбирайте стабильные версии любых платформ приложений.В идеале вы будете использовать что-то относительно распространенное.Еще раз: вы должны поддерживать свое приложение, а не платформу.
Неисчерпывающий список будет включать в себя такие вещи, как:
- Выбор стабильной, поддерживаемой и безопасной ОС.
- Выбираем товар, готовое оборудование.Детали должно быть легко найти и заменить.
- Не устанавливайте неиспользуемые пакеты.
- Выясните, как вы будете исправлять/обновлять свое программное обеспечение после его развертывания.
- Предоставьте возможность настройки веб-базы, чтобы вам не приходилось входить в оболочку для изменения настроек.
- Сделайте файлы журналов доступными через веб-интерфейс по той же причине, что и выше.
- загрузите приложение во время запуска.
- Определите, как вы будете защищать свой веб-интерфейс и устройство в целом.
- Предоставьте возможность перенести ваше приложение на другое устройство в случае общего сбоя оборудования.
- Достойно ли ваше приложение кластеризации и аварийного переключения?
- Сделайте резервное копирование вашего приложения простым и безболезненным.В идеале вашим пользователям не придется закрывать приложение для резервного копирования своих данных.