Процесс разработки программного обеспечения испытательного стенда
Процесс разработки любого программного обеспечения состоит из нескольких этапов, разработка программного обеспечения для испытательных стендов и машин не является исключением.
С результатами разработки программного обеспечения Вы можете ознакомится в разделе Разработка программного обеспечения
Процесс разработки программного обеспечения и идеи его формализации развивались в течение десятилетий, рассмотрим основные этапы его развития.
При разработке относительно простых прикладных программ — формальности обычно можно свести к минимуму. В этом случае Заказчик ставит перед Исполнителем задачу, программист обсуждает программу с потенциальным пользователем и садится писать код, и это вполне приемлемо.
Но разработка программного обеспечения для испытательных стендов — это обычно достаточно сложная задача. Если мы говорим о многоканальной измерительной системе — то прежде всего это огромный объем информации от различных датчиков и переключателей, это подпрограммы, обеспечивающие калибровку датчиков, иногда имеющих различные типы и построенных на различных физических принципах, это проблемы синхронизации получаемой информации по времени, преобразования данных и сохранения их в процессе испытания.
Еще одной задачей является визуализация данных в процессе испытаний, т.к. заказчик обычно хочет видеть, что происходит с его системой в реальном времени. Соответственно появляется необходимость распараллеливать информационные потоки, так, чтобы данные одновременно визуализировались и сохранялись в файл. На этом этапе возникает ряд проблем визуализации, представьте себе, что измерения проводятся с частотой 1000Гц, что на сегодняшний день не очень много, но попробуйте отобразить на экране график из 1000 точек в секунду по каждому измерительному каналу, скорее всего ничего хорошего из этого не получится, встает задача прореживания данных.
Также возникают задачи записи сохраняемых данных в файл. Представьте, что вы пишите данные в файл с частотой 1000 точек в секунду, со 100 измерительных каналов, допустим в течение двух часов в итоге у вас получится примерно 100 000 точек в секунду, или 720 млн. точек. Возникает вопрос, как хранить эти данные и как их потом обрабатывать, т.к. просмотреть такой объем файла в экселе уже довольно затруднительно, а ведь некоторые испытания продолжаются много часов подряд, иногда даже дней.
Таким образом, становится очевидно, что разработка программного обеспечения — это сложный процесс, требующий скоординированных усилий многих специалистов в области информационных технологий, измерений, метрологии и разработки программного обеспечения.
Существует несколько способов организации этой работы. Обычно процесс разработки программного обеспечения разбивается на несколько этапов, это:
- Анализ задачи;
- Проектирование;
- Кодирование;
- Внедрение.
Такой подход к организации этапности разработки программного обеспечения обычно называется каскадной или водопадной моделью и выполняется последовательно от Анализа задачи к Внедрению.
Опыт показывает, что каскадная модель имеет множество недостатков, т.к.на каждом из этапов неизбежно возникают ошибки, которые переходят на следующий этап и влекут за собой появление все новых и новых ошибок. Сложности также возникают, если в процессе работы у Заказчика возникает необходимость скорректировать свои требования.
В последние годы появилось множество новых концепций разработки программного обеспечения и они широко используются при разработке ПО испытательных стендов.
Так, широкое распространение получил итерационный метод, который также иногда называют унифицированным процессом. Он разбивается на четыре этапа:
- Начало
- Развитие
- Построение
- Передача
На начальной стадии оценивается осуществимость поставленной задачи и общие возможности будущей программы.
На следующем этапе планируется общая архитектура системы. На стадии построения пишется код, т.е. собственно и происходит разработка программного обеспечения.
На фазе внедрения — разработанное ПО тестируется, представляется конечным пользователям и внедряется. Соответственно каждый из этапов может быть разбит на несколько итераций, что позволяет обеспечить целостность программного решения и оптимальную работу всех его составляющих.
При разработке программного обеспечения испытательного стенда обычно используется именно итерационный метод, т.к. он обеспечивает оптимальное соотношение трудозатрат и качества программного продукта.
С примером программного обеспечения для мобильной измерительной системы можно ознакомиться в разделе Мобильные решения НТЦ Кросс Технология