Нечитайло Н.В.,
магистр естественных наук
Костанайский
государственный университет имени А.Байтурсынова, Казахстан
Проектирование и разработка
проблемно-ориентированных приложений на VBA
Степень успешности компьютерных
реализаций лингвистических моделей напрямую зависит от того, насколько активно
лингвисты участвуют не только в создании абстрактной модели, но и в
проектировании структуры компьютерной реализации. На этой стадии осуществляется
окончательная поэтапная формализация лингвистических знаний, и этот процесс
длится до тех пор, пока их форма не становится пригодной для непосредственной
обработки при помощи компьютерной программы. Совместная деятельность лингвистов
и программистов должна привести к созданию обоюдоудобного и точного способа
представления знаний, который должен обладать достаточной гибкостью для того,
чтобы впоследствии его можно было бы подвергать модификациям, не требующим
глобальной переработки компьютерной программы, а модификация лингвистического
алгоритма должна быть осуществима силами лингвистов-экспертов с использованием
избранного способа представления знаний самостоятельно, без постоянной помощи
программиста. Например, в случае автоматического транскриптора речи (функции
которого будут описаны чуть позже) это возможность изменения и добавления
правил транскрипции, а также внесение текущих изменений в вариант получаемой
транскрипции (таких, как изменение степени детализации, алфавита звуковых
сегментов, способа обозначения определенных сегментных или супрасегментных
признаков) [1].
Проблемно-ориентированное проектирование (DDD) (англ. Domain-driven
design) – это набор принципов и схем, которые помогают исполнителям
программ создавать изящные системы объектов. При правильном применении оно
приводит к созданию программных абстракций, называемых моделями предметных
областей. В составе этих моделей содержится сложнейшая бизнес-логика, позволяющая
устранить пространство между реально существующими условиями области применения
продукта и кодом [2].
Проблемно-ориентированное
проектирование не является какой-либо конкретной технологией или методологией.
DDD – это набор правил, которые позволяют принимать правильные проектные
решения. Данный принцип позволяет значительно ускорить процесс проектирования
программного обеспечения в незнакомой предметной области [2].
Подход DDD
особо полезен в ситуациях, когда разработчик не является специалистом в области
разрабатываемого продукта. Например, программист не может знать все области, в
которых требуется создать программное обеспечение, но с помощью правильного
представления структуры, посредством проблемно-ориентированного подхода, может
без труда спроектировать приложение, основываясь на ключевых моментах и знаниях
рабочей области.
Во многих системах для предприятий и
организаций применяются крупномасштабные зоны ответственности. В DDD высший
уровень организации носит название ограниченного контекста. К примеру, система
биллинга крупнейшей телекоммуникационной компании может иметь следующие
ключевые элементы:
- клиентская база;
- система безопасности и защиты;
- резервное копирование;
- взаимодействие с платежными системами;
- ведение отчетности;
- администрирование;
- система уведомлений.
Все указанные элементы должны быть
включены в единую, работающую без перебоев систему. При проектировании система
уведомлений и система безопасности выделяются как совершенно разные вещи.
Системы, в которых при реализации не удаётся разделить и изолировать
ограниченные контексты, часто приобретают архитектурный стиль [3].
Основой проблемно-ориентированного
проектирования является конкретное определение контекстов и ограничение
моделирования в их рамках.
Проблемно-ориентированные
языки программирования предназначены для решения целых
классов новых задач, возникших в связи с постоянным расширением области
применения вычислительной техники. Практически все пользователи работают с офисными
пакетами Microsoft, причем многие из них адаптируют эти продукты в
соответствии со спецификой своих конкретных задач, применяя внутренний
макроязык. При разработке собственных приложений каждый программист
придерживается основных критериев программного продукта, а именно удобство
интерфейса – чтобы конечный пользователь мог щелчком мыши открыть среду VBA и
программировать там так же, как в пакетах Microsoft Office.
Реализация внутреннего механизма
настройки программ и включение в них дополнительных расширений – одно из важнейших
направлений развития функциональности самых различных приложений. Это позволяет
делегировать конечному пользователю возможности гибкой адаптации программных
продуктов [4].
В недавнее время средства
автоматизации приложений создавались в два этапа. Сначала строился некоторый
программный механизм, который использовался разработчиком программного продукта
только для внутренних целей, а потом уже сам продукт. Унифицированная платформа
программирования резко снизила затраты на модернизацию приложений, и значит,
разработчик мог зарабатывать дополнительную прибыль, не афишируя того, что
корректировать программу стало гораздо проще, чем ранее.
На сегодняшний день процесс создания
средств автоматизации несколько устарел, поскольку они изначально присутствуют
в бизнес-приложениях. Кроме того, это относится не только к коммерческим
продуктам, но и к внутрифирменным разработкам.
Проблемно-ориентированная среда
программирования VBA необходима, практична для решения многих проблем в проектировании и
разработки приложений. Благодаря чему, если взять пакет MS Office, с помощью VBA можно решить множество проблем
более эффективно и расширить возможности и функционал пакетов MS Office [1].
Литература:
1. А.Васильев, А.Андреев. VBA в Office 2000. Учебный курс. С-Пб.:
"Питер", 2001
2. http://ru.wikipedia.org/, Проблемно-ориентированное
проектирование
3. Биллиг В.А. Средства разработки VBA-программиста. Офисное
программирование. Том 1. М.: Издательско-торговый дом "Русская
Редакция", 2001.
4. Биллиг В.А. Мир объектов Excel 2000. М.:
Издательско-торговый дом "Русская Редакция", 2001.