Опубликован: 24.09.2008 | Уровень: специалист | Доступ: платный | ВУЗ: Московский физико-технический институт
Лекция 10:

Инженерия приложений и предметной области

< Лекция 9 || Лекция 10: 1234 || Лекция 11 >
Аннотация: Излагаются современные основы инженерии приложений и предметных областей (доменов), тенденции и направления их развития в плане производства одиночных программных систем из повторных компонентов и целых семейств с многоразовым применением компонентов и одиночных программных систем
Ключевые слова: application engineering, domain engineering, деятельность, ПО, интеграция, принятия решений, опыт, конструирование, парадигма, архитектура, механизмы, удобство использования, обмен данными, СУБД, почта, связь, контейнерный класс, контейнер, templates, компонент, функция, объект, доступ, AWT, среда окружения, интерфейс, интероперабельность, IDL, APL, операции, инвариант, Java, БД, сигнатура операции, файл, архив, CORBA, Паттерн, абстракция, Интернет, специалист предметной области, запрос, информация, разделы, классификатор, адрес, система классификации, безопасность, конфиденциальность, показатели качества, Размещение, встраивания, поиск, UML, API, программа, сервер, запуск, язык спецификаций, синтаксис, тип данных, Pascal, входной, параметр, выходной параметр, базис, зависимость компонент, domain, engineering process, оценка модели, определение, provisioning, software reuse, множества, альтернативные, SEI, Line, practice, поддержка, оценка процесса, область действия, стоимость, программная инженерия

Одна из характерных черт инженерной деятельности в промышленности - использование готовых решений и деталей. В программировании промышленное использование готовых решений и программных продуктов еще не стало повседневной практикой, а сформировались признаки этой инженерной деятельности [9.1,9.3].

Исследования и разработки в области инженерии программирования в направлении повторного использования компонентов (ПИК), готовых для применения в других областях человеческой деятельности привели к тому, что сформировалось два направления применения готовых ПИК [9.1][9.2] 9.3], [9.5]:

  1. прикладная инженерия (application engineering) - процесс производства конкретных новых приложений из ПИК (модулей, программ, подпрограмм и др.), ранее созданных самостоятельно либо в среде программной системы или как отдельные элементы многоразового использования в инженерии другой ПрО;
  2. инженерия ПрО (domain engineering) включает методы разработки, поиска, классификации, адаптации, сбора ПИК и создания из них или из готовых частей систем семейства домена, которые сохраняют наработанный опыт по реализации одного домена для применения его в другом крупном домене. Необходимое условие этой инженерии - системные инструментальные средства поддержки методов накопления ПИК и внедрения их в новые подсистемы семейства или самого домена.

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

9.1. Инженерия повторного использования компонентов

Инженерия повторного использования компонентов (ПИК) - это систематическая и целенаправленная деятельность по подбору реализованных программных артефактов и представленных в виде ПИК, анализу их функций для добавления в качестве готовых в проектируемую систему и их интеграция с другими компонентами. Согласно стандарту ISO/IEC-12207 эта деятельность классифицируется как организационная и планируемая инженерная деятельность, которая заключается в выявлении общих и специфических черт компонентов для принятия решений об их использовании в разработке новых ПС [9.1][9.2][9.3], [9.4, 9.6-9.8 ].

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

Систематическое повторное использование - это капиталоемкий подход, который предусматривает наличие двух процессов в ЖЦ разработки ПС.

Первый процесс - это создание ПИК путем:

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

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

Второй процесс - конструирование новых систем из готовых компонентов путем:

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

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

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

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

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

Артефактами могут быть:

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

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

Разработке ПС с помощью ПИК соответствует модель ЖЦ со следующими общими этапами:

  • анализ объектов и отношений реализуемой ПрО для выявления ПИК, обладающих общими свойствами, присущими группам объектов этой области;
  • адаптация имеющихся в базе репозитария ПИК, разработка новых функциональных компонентов, не представленных в этой базе и доведение их до уровня ПИК;
  • разработка интерфейсов компонентов и их размещение в репозитарии интерфейсов системы;
  • интеграция ПИК и их интерфейсов с другими элементами создаваемой системы и формирование конфигурации этой системы.

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

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

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

На современном рынке программных продуктов циркулируют следующие виды готовых компонентов:

  • процедуры и функции на ЯП высокого уровня;- алгоритмы, программы;
  • классы объектов и абстрактные классы;
  • структуры данных и часто используемая информация (например, информационные ресурсы Интернет);
  • API, IDL модули в библиотеках С++ (например, GUI, графика и др.);
  • Web-ресурсы и сервисы;
  • средства развертки систем и компонентов в операционной среде (например, CORBA, COM, .NET) [9.6];
  • готовые решения в виде абстракций - паттерны, фреймы и др.

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

< Лекция 9 || Лекция 10: 1234 || Лекция 11 >
Александр Медов
Александр Медов

Здравствуйте,при покупке печатной формы сертификата,будут ли выданы обе печатные сторны?

Александр Медов
Александр Медов

Здравствуйте, прошел курс МБА Управление ИТ-проектами и направил документы на получение диплома почтой. Подскажите, сроки получения оного в бумажной форме?

:

Константин Андреев
Константин Андреев
Россия, Петрозаводск, Петрозаводский государственный университет, 2001
Станислав Кравченко
Станислав Кравченко
Россия, Москва, МЭГУ, 2006