Нечитайло Н.В., магистр естественных наук

 

Костанайский государственный университет имени А.Байтурсынова, Казахстан

 

Проектирование и разработка проблемно-ориентированных приложений на 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.