ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД

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

Эта сложность вызывается, по мнению Ф. Брукса, одного из известных теоретиков создания больших программных проектов, четырьмя основными причинами [4]:

  • 1) сложностью реальной предметной области, для которой осуществляется разработка проекта;
  • 2) трудностью управления процессом разработки;
  • 3) необходимостью обеспечить достаточную гибкость ПО;
  • 4) последовательными способами описания поведения больших дискретных систем.

Реальная предметная область — это интернет-маркетинг и отдельные компоненты, задействованные в процессе его исполнения. В первую очередь имеются в виду рассылки рекламного (маркетингового) контента, его подготовка, создание сайтов и принятие решений при проведении интернет-маркетинга. К этим сложным элементам предъявляется множество различных, порой взаимоисключающих требований, например:

  • • удобство работы с ?еЬ-аппликацией;
  • • приемлемая стоимость разработки данного ПО;
  • • гибкость при организации связи с другими программными системами,

в частности ЕЯР-системами заказчика.

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

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

Трудности управления процессом разработки связаны прежде всего с организацией коллективной работы. Известно, что чем больше людей участвует в процессе разработки, тем сложнее создать и сохранить устройчивые и корректные связи между ними. Обеспечение координации между членами проекта становится крайне сложной задачей при большом количестве участников для поддержки единства и целостности разработки [52].

Гибкость ПО требует сохранения работоспособности при изменении форматов данных и средств координации со сторонними программными системами.

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

Основными принципами объектной модели являются:

  • 1) абстрагирование (выделение существенных особенностей поведения, игнорируя несущественные). Выбор правильного множества абстракций для заданной предметной области является главной задачей объектно- ориентированного проектирования;
  • 2) инкапсуляция (скрытие деталей реализации объектов для внешних объектов);
  • 3) модульность (слабая связь между модулями по сравнению с сильными связями объектов внутри одного модуля);
  • 4) иерархичность (упорядочение объектов по их уровням);
  • 5) типизация (невозможность использования объектов одного типа вместо другого);
  • 6) параллелизм (одновременное выполнение различных процессов, связанных с объектами);
  • 7) сохраняемость (все объекты должны сохранять свое текущее состояние).

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >