Описание «Технологического стека»

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


1. Программное обеспечение верхнего уровня
1.1. ECM500
  • Назначение: ECM500 — программное обеспечение верхнего уровня системы ЧПУ, предназначенное для управления и контроля процессов обработки.
  • ·Язык программирования: VB.NET (Visual Basic .NET) — объектно-ориентированный язык программирования, используемый для разработки приложений на платформе .NET.
  • ·Среда разработки: Visual Studio 2008 — интегрированная среда разработки (IDE) от Microsoft, предоставляющая инструменты для написания, отладки и тестирования кода.
  • ·Фреймворк: NET Framework 3.5 — платформа для разработки и выполнения приложений, обеспечивающая библиотеки классов и среду выполнения.
  • ·Дополнительные зависимости: Отсутствуют.

1.2. INDEC CNC
  • Назначение: INDEC CNC — программное обеспечение верхнего уровня системы ЧПУ, предназначенное для управления и контроля процессов обработки. Новая версия проекта ECM500.
  • ·Язык программирования: C/C++ — языки программирования общего назначения, используемые для разработки высокопроизводительных приложений.
  • ·Среда разработки: Отсутствует. Для сборки проекта используется проектный менеджер CMake, который позволяет управлять процессом компиляции и сборки.
  • ·Фреймворк: wxWidgets — кроссплатформенная библиотека для разработки графических пользовательских интерфейсов (GUI).
  • ·Дополнительные зависимости: Отсутствуют.


2. Программное обеспечение нижнего уровня
2.1. 8-bit
  • Назначение: Программное обеспечение для управления микроконтроллерами с 8-битной архитектурой.
  • Язык программирования: C — язык программирования общего назначения, широко используемый для разработки низкоуровневого ПО.
  • Компилятор: SDCC (Small Device C Compiler) — компилятор языка C, оптимизированный для 8-битных микроконтроллеров.
  • Среда разработки: Code::Blocks — свободная кроссплатформенная среда разработки, поддерживающая различные компиляторы, включая SDCC.
  • Дополнительные зависимости: Отсутствуют.

2.2. 32-bit
  • Назначение: Программное обеспечение для управления микроконтроллерами с 32-битной архитектурой.
  • Язык программирования: C — язык программирования, используемый для разработки низкоуровневого ПО.
  • Компилятор: GCC (GNU Compiler Collection) — компилятор, поддерживающий различные языки программирования, включая C.
  • Среда разработки: Отсутствует. Для сборки проекта используется проектный менеджер CMake.
  • Дополнительные зависимости: Библиотека LL (Low-Level), предоставляемая производителем микроконтроллера (в данном случае STMicroelectronics для микроконтроллеров STM32).


3. Общие характеристики технологического стека
  • Кроссплатформенность: Использование CMake и wxWidgets обеспечивает кроссплатформенность для проектов INDEC CNC и 32-bit.
  • Производительность: Применение языков C и C++ позволяет достичь высокой производительности, особенно критичной для ПО нижнего уровня.
  • Поддержка и развитие: Использование популярных инструментов (Visual Studio, CMake, GCC) обеспечивает широкие возможности для поддержки и дальнейшего развития проектов.


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


5. Отдел IT разработки

Руководители направления:
  • Долгушин В.А.
  • Смирнов М.С.
  • Беляев А.В.

Группа программистов:
  • Шальков А.В.
  • Фурман Б.Л.
  • Ахтареев А.
  • Акрамов А.