Промышленная автоматизация и порталы

Ave Customer, integrituri te salutant!

  • Increase font size
  • Default font size
  • Decrease font size
Главная Статьи Программная инженерия Компонентное проектирование

Компонентное проектирование

E-mail Печать PDF

Современные требования к программному обеспечению (ПО) включают в себя такие важные и необходимые свойства как качество, безопасность, удобство сопровождения, удобство использования и другие. Достичь необходимых показателей без четкого представления всех частей системы и способа их взаимодействия между собой достаточно трудно.

Большие системы, как правило, не проектируются монолитно их всегда можно разбить на подсистемы, предоставляющие набор сервисов. Архитектурным проектированием называют первый этап процесса проектирования, на котором определяются подсистемы, а также структура управления и взаимодействия подсистем. Целью архитектурного проектирования является описание архитектуры программного обеспечения [1]. Наличие архитектуры предполагает возможность замены, улучшения, исправления отдельных частей без необходимости изменения других подсистем.

Возможность, без особых усилий, воспроизводить созданные программные единицы является отличительной особенностью программного обеспечения. Разработчики активно используют принципы компонентного проектирования в своих проектах. Компонентная разработка программного обеспечения – это способ разработки, при котором возможно повторное использование ранее созданные компонент, при условии, что они разрабатывались с этой возможностью повторного использования.

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

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

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

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

  • Повышение надежности
  • Уменьшение проектных рисков
  • Эффективное использование специалистов
  • Соблюдение стандартов
  • Ускорение разработки

Проблемы повторного использования:

  • Повышение стоимости сопровождения системы
  • Недостаточная инструментальная поддержка
  • Синдром «изобретения велосипеда»
  • Содержание библиотеки компонентов
  • Поиск и адаптация компонентов
[1]    Соммервил, Иан. Инжннерия программного обеспечения, 6-е издание.: Пер. с англ. – М. :Издательский дом «Вильямс», 2002. – 624 с.: ил. – Парал. тит. англ.