Процесс разработки программного обеспечения испытательного стенда

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

С результатами разработки программного обеспечения Вы можете ознакомится в разделе Разработка программного обеспечения

postprocessing

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

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

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

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

Также возникают задачи записи сохраняемых данных в файл. Представьте, что вы пишите данные в файл с частотой 1000 точек в секунду, со 100 измерительных каналов, допустим в течение двух часов в итоге у вас получится примерно 100 000 точек в секунду, или 720 млн. точек. Возникает вопрос, как хранить эти данные и как их потом обрабатывать, т.к. просмотреть такой объем файла в экселе уже довольно затруднительно, а ведь некоторые испытания продолжаются много часов подряд, иногда даже дней.

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

Существует несколько способов организации этой работы. Обычно процесс разработки программного обеспечения разбивается на несколько этапов, это:

  • Анализ задачи;
  • Проектирование;
  • Кодирование;
  • Внедрение.

Такой подход к организации этапности разработки программного обеспечения обычно называется каскадной или водопадной моделью и выполняется последовательно от Анализа задачи к Внедрению.

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

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

Так, широкое распространение получил итерационный метод, который также иногда называют унифицированным процессом. Он разбивается на четыре этапа:

  • Начало
  • Развитие
  • Построение
  • Передача

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

На следующем этапе планируется общая архитектура системы. На стадии построения пишется код, т.е. собственно и происходит разработка программного обеспечения.

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

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

С примером программного обеспечения для мобильной измерительной системы можно ознакомиться в разделе Мобильные решения НТЦ Кросс Технология