Смекни!
smekni.com

Дистанционные технологии в образовании (стр. 28 из 29)

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

· ПО объектного уровня должно содержать набор программ-драйверов управления стандартными и специально разработанными средствами обмена информацией между компонентами автоматизированного стенда.

· ПО компьютера-сервера предназначено для реализации дистанционного обмена информацией между аппаратными средствами автоматизированных лабораторных стендов и рабочими местами пользователей и должно выбираться таким образом, чтобы обеспечить работу технических средств телекоммуникации и, в частности, поддерживать протокол сетевого обмена ТСРЛР.

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

Основная часть ПО рабочего места пользователя может быть создана, например, с применением инструментальной системы прикладных программ LabWindows/CVI фирмы NationalInstruments (США). Данная система содержит встроенные средства связи с объектами исследования в реальном масштабе времени, а также средства разработки удобных пользовательских интерфейсов. Эти возможности обеспечиваются применением развитой библиотеки примитивов и достаточно полной, легко подключаемой библиотеки математической обработки результатов экспериментальных исследований, включающей программные модули полиномиальной и сплайн интерполяции, цифровой фильтрации, спектрального и корреляционного анализа и т.д.

Значительные потенциальные возможности имеют также современные объектно-ориентированные системы программирования, например, Borland C++ в совокупности с библиотеками объектов.

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

Подавляющее большинство современных средств разработки программного обеспечения можно условно разделить на следующие группы:

· средства низкоуровневого программирования, основанные на языках программирования "Ассемблер" и "Си";

· средства визуального программирования, основанные на стандартах языков программирования высокого уровня, например, Си или Паскаль - NationalInstrumentsLabWindows/CVI и т.п.;

· средства объектно-ориентированного программирования (ООП) - MicrosoftVisualBasic, MicrosoftVisual C++, Borland C++, Watcom C++ и др.;

· средства визуального программирования, основанные на ООП — BorlandDelphi (язык Паскаль), Borland C++ Builder;

· средства графического программирования — NationalInstrumentsLabView, LookOut и BridgeView.

Разделение средств, в основе своей использующих ООП, на две группы довольно условно - все они, в принципе, являются визуальными средствами программирования. Однако Delphi и C++ Builder обладают большим набором средств для создания развитого интерфейса пользователя, стыковки с базами данных и т.п., практически не требующих неавтоматизированного программирования.

Средства программирования низкого уровня

Средства программирования низкого уровня ("Ассемблер", Си и Паскаль) являются основным инструментом создания оптимальных по времени исполнения и надежности программ для микропроцессорных устройств, применяемых в измерительно-управляющей подсистеме исследовательского оборудования.

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

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

Программная система LabWindows/CVI

Программная среда LabWindows/CVI американской фирмы NationalInstruments представляет собой систему визуального программирования, основанную на языке программирования ANSI С, то есть на стандартном языке Си, без расширений ООП и C++.

LabWindows/CVI отличается присущими всем визуальным средствам программирования простотой и быстротой создания программ с развитым интерфейсом пользователя, а также большой библиотекой математических инструментов обработки цифровых данных. При этом поддерживается практически весь спектр оборудования, выпускаемого фирмой NationalInstruments и рядом других фирм, для цифровых измерений - встраиваемых измерительных карт, измерительных и управляющих модулей SCXI, VXI и PXI, промышленных микроконтроллеров.

Кроме того, в составе LabWindows/CVI есть инструментальные средства для работы с сетевым протоколом TCP/IP и для использования функций API (ApplicationProgrammingInterface) - основы операционных систем класса Windows.

Отличительной особенностью LabWindows/CVI и созданного им программного обеспечения является их работа на основе так называемого Runtime-engine, который является прослойкой между программой и операционной системой и осуществляет управление ее исполнением, координацию обмена данными и системными сообщениями программы с операционной системой. Это существенно увеличивает необходимые для нормального функционирования программы ресурсы компьютера и замедляет ее работу. Такой способ организации работы прикладных программ существенно ограничивает применение LabWindows/CVI при разработке программного обеспечения исследовательского оборудования нового поколения из-за возможного повышения системных требований к необходимому для нормальной работы программы компьютерному оборудованию.

Кроме того, отсутствие механизмов ООП значительно ограничивает функциональные возможности программ, созданных на LabWindows/CVI, или существенно увеличивает время, необходимое на их разработку.

Поэтому использование LabWindows/CVI для создания программного обеспечения исследовательского оборудования возможно для решения несложных задач, не требующих высокой скорости исполнения или серьезного математического аппарата.

Средства объектно-ориентированного программирования

Средства объектно-ориентированного программирования (ООП), такие как MicrosoftVisual C++, Borland C++, Watcom C++ - являются основными средствами программирования в операционных средах семейства MicrosoftWindows и применяются при создании программного обеспечения, к которому предъявляются требования высокой надежности и скорости работы при минимальных требуемых вычислительных ресурсах. Это в большей мере виртуальные драйверы устройств для самой операционной системы, служебные программы, программы для работы с сетью, мощные программные комплексы, например, MicrosoftWord. Каждая из перечисленных сред разработки программного обеспечения обладает своими достоинствами и недостатками, но, в общем, все они практически идентичны в функциональном плане. Различия сводятся к оптимальности готового кода программ, скорости его работы, но они незначительны.

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

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

Средства визуального программирования, основанные на ООП

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

К преимуществам Delphi и C++ Builder следует также отнести простоту работы с базами данных благодаря наличию специальных компонентов.

Богатые возможности Delphi и C++ Builder легко развиваются подключением других библиотек компонентов. В настоящее время существует множество различных библиотек для этих сред программирования, начиная от библиотек визуальных компонентов до мощных библиотек математического анализа. Особенный интерес при разработке программного обеспечения исследовательского оборудования представляет библиотека ComponentWorks, разработанная американской фирмой NationalInstruments. Эта библиотека функционально повторяет библиотеку инструментов других продуктов этой компании - LabWindows/CVI и LabView, существенно расширяя спектр возможностей программ, созданных на Delphi или на C++ Builder.