Александр Кривошлык
← Все кейсы

Приложение для лабораторного прибора

Архитектура лабораторного приложения и техническое лидерство

Спроектировал приложение для лабораторного прибора с нуля и руководил командой из трёх разработчиков: требования, архитектура, интеграция с оборудованием и аналитическая визуализация.

Задача

Нужно создать desktop-приложение для лабораторного прибора: от управления измерениями до локального хранения и аналитики.

Моя ответственность

Тимлид: встречи с заказчиком, постановка задач, code review и планирование релизов. Лично реализовал взаимодействие с прибором, математическую обработку, графики и тепловые карты.

Результат

Спроектирована архитектура и реализованы управление прибором и аналитика. Подходы embedded database и DI/ORM переняты другими командами.

От измерения к аналитике

Приложение поставлялось вместе с лабораторным прибором. Исследователь задавал параметры образца, запускал получение данных и анализировал рассчитанную статистику физических характеристик.

Интерфейс лабораторного приложения с настройками последовательности и графиками распределения T1 и T2
Параметры последовательности и рассчитанные распределения T1 и T2 в лабораторном приложении.
Контурная тепловая карта со связанными графиками распределения T1 и T2
Контурная тепловая карта и связанные с ней графики — часть реализованной аналитической визуализации.

Архитектура с нуля

Выбрал SQLite вместо применявшейся ранее серверной NoSQL-базы: embedded-хранение упрощало поставку вместе с приложением, а реляционная модель соответствовала структуре данных.

Spring Boot, Spring Data JPA и Hibernate использовал для связывания компонентов и работы с локальной БД. DI помог структурировать JavaFX-приложение, ORM — работу с данными.

JavaFXИнтерфейс, графики, тепловые карты
Прикладная логикаSpring Boot · DI · математическая обработка
Лабораторный приборПолучение данных и управление измерениями
Локальное хранениеSpring Data JPA / Hibernate → SQLite
Упрощённая схема ответственности компонентов, не точная диаграмма классов. Приложение объединяет работу с прибором, аналитику и embedded-хранение.

Команда и личная ответственность

В команде было три Java desktop-разработчика; каждый участвовал в интерфейсе и прикладной логике.

  • Вёл встречи с заказчиком, выявлял требования и переводил их в задачи.
  • Проектировал архитектуру, координировал работу, проводил code review и планировал релизы.
  • Лично реализовал полный контур взаимодействия с прибором, математическую обработку и аналитическую визуализацию.

Передача опыта

Через консультации и внутренние встречи передал другим командам опыт embedded database и DI/ORM. Они стали применять эти подходы в своих desktop-проектах; последующие реализации и доработки принадлежат соответствующим командам.

Результат кейса — подтверждённая техническая ответственность и повторное применение архитектурных подходов. Численная метрика ускорения разработки не заявляется.