Процесс разработки

Платформа Flexberry позволяет проектной команде перейти от стиля «кустарного производства» информационных систем к «индустриальному производству». Проектная команда организуется за счёт проверенных и эффективных общих правил, подходов к взаимодействию и работе.

Описание процесса

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

Ключевые особенности разработки:

  • жёсткий подход Model First
  • проект по разработке состоит из «типовых» этапов
  • подразумевается итеративная доработка приложений с «безопасной» перегенерацией кода

Схема процесса проектирования и программирования

Обязательный этап проектирования!

  1. Анализ и проектирование
    1. Сбор требований, Аналитики обследуют предметную область, создают диаграммы и прототипы интерфейса форм, которые согласуют с носителями предметной области. Используется Flexberry Designer.
    2. Формулирование постановок на реализацию. Аналитики переводят требования в постановки для разработчиков.
  2. Генерация БД и кода
    1. Объектный дизайн. Генерация приложения.
    2. Демонстрация первого прототипа приложения.
    3. Детализация требований, постановок.
  3. Подключение готовых функциональных подсистем
    1. Подключение функциональных подсистем
    2. Конфигурирование подсистемы в прототипе приложения
    3. Демонстрация прототипа приложения с функциональной подсистемой
    4. Детализация требований, постановок
  4. Ручная доработка кода
    1. Программирование бизнес-логики, разработка специфичных для бизнес-процесса компонентов и форм.
    2. Демонстрация очередного прототипа приложения.
    3. Детализация требований, постановок.
    4. Модификация UML-моделей, перегенерация.
    5. Доработка бизнес-логики, доработка форм.
  5. Повторение процесса до тех пор, пока приложение не будет реализовывать все необходимые функции.
  6. Выпуск версии продукта, переход к поддержке и сопровождению.

Участники процесса проектирования и программирования

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

Закажите бесплатную демонстрацию

Чтобы своими глазами увидеть возможности платформы Flexberry в действии, в том числе на готовых приложениях вы можете записаться на дистанционную демонстрацию.

Заявка на проведение демонстрации

Также вы можете прочитать подробнее про процесс разработки в документации или записаться на учебный курс.

Модель приложения

Результатом проектирования во Flexberry Designer является формализованная машиночитаемая модель информационной системы (приложения).

  • Модель позволяет синхронизировать различные элементы системы:
    • Структуру БД
    • Объектную модель
    • Состав полей на формах
    • И другое…
  • Модель избавляет от трудностей передачи информации между аналитиками и разработчиками
  • Модель упрощает общение с экспертами предметной области

Для работы с моделью используется Flexberry Designer – инструмент проектирования

  • Редактор UML-диаграмм
  • WYSIWYG-редактор форм
  • Централизованный репозиторий моделей с поддержкой многопользовательского редактирования
  • Модули расширения для генерации (код, структуры БД, документация по моделям и т.п.)
  • Flexberry Designer реализует расширенную метамодель
  • UML-диаграммы
  • Детальное описание атрибутов и методов классов
  • Проекции (представления)
  • Формы
  • Навигация в приложении
  • Настройки полномочий и аудита
  • Абстракции для поддержки генерации в ЯП

Модель приложения может быть выгружена из Flexberry Designer в виде файла (соответственно и потом загружена обратно), тем самым можно сохранить её архивную копию, передать кому-либо или сделать несколько версий модели.

Попробуйте сами

На период ознакомления или для открытых проектов продукты платформы доступны бесплатно. Попробуйте, и решите, подходят ли они
для ваших задач.

Попробовать

Генерация и доработка кода

Генерация кода реализует следующие принципы платформы:

  • Модель приложения редактируется во Flexberry Designer – подход Model first
  • Сгенерированное приложение является работоспособным приложением, не требующим доработки для своего запуска
  • Разработчики имеют все возможности дорабатывать приложение для своих нужд, простые правила обеспечивают возможность перегенерации без потери доработок

Настольная версия Flexberry Designer содержит в себе модули генерации, таким образом генерация выполняется на компьютере пользователя. Web-версия Flexberry Designer генерирует код, размещаемый в доступном через интернет git-репозитории.

Генератор кода предназначен для генерации различных элементов архитектуры конечных приложений, начиная от структуры базы данных (SQL), серверной части (C#), заканчивая клиентской частью (JavaScript) и инструкций для сборки Docker-образа (Dockerfile).

Перегенерация кода

  • Все проектные файлы разделены на типы:
    • Генерируется один раз, потом только дорабатывается
    • Класс разделён на генерируемый и дорабатываемый (partial, mixin)
    • Класс содержит «скобки программиста»: есть изменяемые и неизменяемые блоки в рамках одного файла
  • Перегенерация – обычная операция, не ломающая проект

Процесс перегенерации включает в себя получение исходного кода, который будет перегенерирован, собственно процесс генерации, включающий слияние существующего кода и вновь сгенерированного, сохранение результата

Расширение возможностей генераторов

Flexberry Designer технически поддерживает добавление произвольного количества модулей генерации. Модуль генерации реализуется на языке C# и поддерживает API работы с моделью приложения Flexberry Designer. Команда платформы готова помочь энтузиастам, которые захотят реализовать дополнительные модули генерации, обращайтесь.

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

У вас остались вопросы?

Просто задайте их нам любым удобным способом и мы обязательно на них ответим.

Контакты