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

 

Широкое распространение персональных компьютеров привело к появлению программных пакетов, предназначенных на решение задач определенной предметной области и рассчитанных на массового пользователя. Примерами таких пакетов являются MS Office для автоматизации офисного делопроизводства, 1С бухгалтерия для компьютеризации бухгалтерского учета, КОМПАС 9 для автоматизации подготовки чертежной документации. Количество пользователей подобных пакетов очень велико, и это вызывает проблему перегрузки программ функциями, которые могут быть и не нужны многим пользователям. С другой стороны, у отдельных групп пользователей возникают специфические требования, которые разработчикам основного программного пакета не удается своевременно учесть или они не представляют большого интереса для большинства других пользователей.

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

В качестве простейшего примера средств расширения программного пакета можно назвать макросы (например, в MS Office) - средства, позволяющие запомнить часто повторяющуюся последовательность команд пакета и затем воспроизводить ее всего одной новой командой. Макросы в MS Office в интерактивном режиме записываются на языке Visual Basic for Applications (VBA). Этот язык, кроме макросов, позволяет разрабатывать отдельные функции и целые приложения, выполняемые в среде Word, Excel, Access или PowerPoint. Для программиста язык VBA выглядит как интерпретируемый язык Basic со средой разработки, вызываемой изнутри прикладной программы (например, Word) и со специфической библиотекой функций и объектов, предоставляющих доступ к данным и командам конкретной программы пакета MS Office. Благодаря массовому распространению пакета MS Office применение языка VBA стало одним из наиболее известных способов расширения программных пакетов.

Другим вариантом расширения программных пакетов является использование специализированных языков программирования. Это может быть целесообразно, когда требуется работать со сложными структурами данных и объемными исходными текстами, для разработки которых язык VBA не слишком удобен. Данный подход применяется в известном бухгалтерском пакете 1С бухгалтерия, и, вообще, в семействе программ 1С:Предприятие. В этих пакетах есть поддержка собственного языка программирования, на котором программист может написать функции, настраивающие эти программы для нужд конкретного предприятия.

Распространен еще один способ наращивания функциональности пакета - разработка дополнительных модулей (plug-in) на компилируемых языках программирования общего назначения, таких, как Паскаль, Си или Си++. Известные примеры реализации этого подхода - разработка модулей обработки изображений для графических программ Adobe Photoshop, Adobe Illustrator, Adobe Premiere, расчетных модулей для 3D Studio MAX и др. Каждый дополнительный модуль можно считать библиотекой с одной или несколькими функциями, которые пользователь может вызывать из среды конкретного пакета (базового пакета). Изнутри модуля можно обращаться к базовому пакету, обмениваться с ним данными, согласованно показывать какие-либо диалоговые окна, т.е. "встраиваться" в интерфейс пользователя базового пакета.

КОМПАС-МАСТЕР 5, предназначен для разработки дополнительных модулей для пакета КОМПАС 3D - прикладных библиотек. Некоторые дополнительные модули могут обладать собственной сложной и в какой-то мере самодостаточной функциональностью, что позволяет называть их приложениями в среде КОМПАС.

Первые версии КОМПАС разрабатывались для MS-DOS и в версиях до 5.0 содержали собственный Си-подобный язык программирования. При переходе в среду Windows оказалось удобным оформлять прикладные библиотеки в виде динамических библиотек (DLL) Windows. Инструментальные средства для разработки прикладных библиотек были сделаны в виде библиотек функций, доступных для вызова из распространенных сред разработки - Borland C++, Borland Delphi, Borland C++ Builder, Visual C++ и др. Круг пользователей КОМПАС-МАСТЕР существенно увеличился, поскольку они смогли разрабатывать прикладные библиотеки КОМПАС с помощью привычных сред разработки.

В последнее время в КОМПАС были добавлены средства поддержки технологии СОМ, обеспечивающей модульность программ на уровне исполняемых файлов. Технология СОМ описывает, каким образом программные продукты в среде ОС Windows могут предоставлять доступ к своим функциям из внешних программ, написанных на различных языках программирования. Эти функции группируются в "объекты СОМ", доступные для использования из любых языков, поддерживающих технологию СОМ.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: