Здравствуйте,при покупке печатной формы сертификата,будут ли выданы обе печатные сторны? |
Инженерия приложений и предметной области
Одна из характерных черт инженерной деятельности в промышленности - использование готовых решений и деталей. В программировании промышленное использование готовых решений и программных продуктов еще не стало повседневной практикой, а сформировались признаки этой инженерной деятельности [9.1,9.3].
Исследования и разработки в области инженерии программирования в направлении повторного использования компонентов (ПИК), готовых для применения в других областях человеческой деятельности привели к тому, что сформировалось два направления применения готовых ПИК [9.1][9.2] 9.3], [9.5]:
- прикладная инженерия (application engineering) - процесс производства конкретных новых приложений из ПИК (модулей, программ, подпрограмм и др.), ранее созданных самостоятельно либо в среде программной системы или как отдельные элементы многоразового использования в инженерии другой ПрО;
- инженерия ПрО (domain engineering) включает методы разработки, поиска, классификации, адаптации, сбора ПИК и создания из них или из готовых частей систем семейства домена, которые сохраняют наработанный опыт по реализации одного домена для применения его в другом крупном домене. Необходимое условие этой инженерии - системные инструментальные средства поддержки методов накопления ПИК и внедрения их в новые подсистемы семейства или самого домена.
Первое направление фактически характеризует создание одиночных ПС из разного рода ПИК, а второе ставит задачу создания программных систем домена и их совокупностей с выделением отдельных частей ПС при проектировании, обладающими общими свойствами и характеристиками и способными к многоразовому использованию в других доменах этой совокупности.
9.1. Инженерия повторного использования компонентов
Инженерия повторного использования компонентов (ПИК) - это систематическая и целенаправленная деятельность по подбору реализованных программных артефактов и представленных в виде ПИК, анализу их функций для добавления в качестве готовых в проектируемую систему и их интеграция с другими компонентами. Согласно стандарту ISO/IEC-12207 эта деятельность классифицируется как организационная и планируемая инженерная деятельность, которая заключается в выявлении общих и специфических черт компонентов для принятия решений об их использовании в разработке новых ПС [9.1][9.2][9.3], [9.4, 9.6-9.8 ].
При этом предполагается, что имеется каталог, с помощью которого можно понять, какие ПИК, как готовые детали, имеются и как их можно соединить в программную конструкцию. Именно эта сторона характеризует повторное использование как систематическую и целенаправленную деятельность по созданию и использованию каталога ПИК.
Систематическое повторное использование - это капиталоемкий подход, который предусматривает наличие двух процессов в ЖЦ разработки ПС.
Первый процесс - это создание ПИК путем:
- изучения спектра решаемых задач ПрО, выявление среди них общих свойств и функций;
- построения компонентов, реализующих выявленные функции в виде ПИК;
- разработка каталога для хранения изготовленных компонентов и организации поиск необходимых компонентов по запросам пользователей.
Для успешной реализации данного процесса необходимо иметь определенный опыт в решении нескольких подобных между собой задач, позволяющий определить заложенные общие черты и различия, чтобы найти решение для их реализации, а также разработать приемы настройки на характерные для каждой задачи особенности.
Второй процесс - конструирование новых систем из готовых компонентов путем:
- понимания сущности новой системы (домена), определения целей ее создания и предъявляемых к ней требований;
- поиска в каталоге готовых компонентов, которые кажутся подходящими для их использования в новой системе;
- сопоставления цели новой разработки с возможностями найденных ПИК и принятия решений о целесообразности и месте их применения в системе;
- интеграция ПИК в новую разработку с обеспечением интерфейса с подсистемами и другими компонентами.
Первый процесс требует вложения капитала, второй - получение прибыли за счет экономии трудозатрат от применения готовыхПИК. Инвестиции в повторное использование требуют оценки эффективности вложения капитала, прогнозирования сроков и объемов возврата этого вложения, оценки рисков и др. Бизнес повторного использования, как любой бизнес, требует специальных условий по менеджменту всей инженерной деятельности инженерии систем из ПИК. Критерии успеха такого бизнеса определяются следующими предпосылками:
- повторное использование готовых компонентов требует меньших трудозатрат, чем разработка их как новых разовых продуктов;
- поиск пригодных для использования компонентов требует меньше усилий, чем произвести реализацию необходимых функций для целей проектируемой системы;
- настройка компонентов на новые условия среды применения должна обеспечиваться меньшими трудозатратами, чем новая разработка.
Основная парадигма ПИК - "писать - один раз, выполнять - много раз, где угодно". Архитектура, в которую встраивается готовый ПИК, поддерживает стандартные механизмы для работы с компонентами как со строительными блоками. Чтобы обеспечить высокий уровень использования ПИК, они должны обладать такими основными свойствами: функциональность, удобство использования и качество реализации.
Разновидности ПИК. В качестве ПИК могут использоваться формализованные артефакты деятельности разработчиков ПС, которые отражают некоторую функциональность для применения в новых разработках. Под артефактом понимается реальная порция информации, которая может создаваться, изменяться и использоваться при выполнении деятельности, связанной с разработкой ПС различного назначения.
Артефактами могут быть:
- промежуточные продукты процесса разработки ПС (требования, постановки задач, архитектура и др.);
- описания результатов процесса разработки ПС (спецификация, модели, каркас и т.п.)
- готовые компоненты ПС или отдельные части системы;
- продукции, фреймы, диаграммы, паттерны и т.п.
К компонентам ПИК выдвигаются такие требования, как независимость от конкретной платформы, наличие стандартного интерфейса и параметров настройки на новую среду, возможность их взаимодействия в системе без внесения в них изменений.
Разработке ПС с помощью ПИК соответствует модель ЖЦ со следующими общими этапами:
- анализ объектов и отношений реализуемой ПрО для выявления ПИК, обладающих общими свойствами, присущими группам объектов этой области;
- адаптация имеющихся в базе репозитария ПИК, разработка новых функциональных компонентов, не представленных в этой базе и доведение их до уровня ПИК;
- разработка интерфейсов компонентов и их размещение в репозитарии интерфейсов системы;
- интеграция ПИК и их интерфейсов с другими элементами создаваемой системы и формирование конфигурации этой системы.
Повторные компоненты могут быть прикладными и общесистемными. Прикладные компоненты выполняют отдельные задачи и функции прикладной области деятельности домена (бизнесдомены, коммерция, экономика и т.п.), которые могут использоваться в дальнейшем, как готовые в качестве прикладных систем в других доменах с аналогичными функциями.
К общесистемным компонентам относятся компоненты общего и универсальные назначения, а также общесистемные сервисные средства, которые обеспечивают системное обслуживание и предоставляют разные виды сервисов для многих создаваемых программных систем разного назначения. К компонентам общего назначения относятся: трансляторы, редакторы тестов, системы генерации, интеграции, загрузчики и др. Они используются всеми прикладными системами в процессе их проектирования и выполнения. Универсальные системные компоненты обеспечивают функционирование любых (в том числе и прикладных) компонентов, обмен данными и передачу сообщений между всеми видами систем и компонентов, расположенных в разных средах и платформах компьютеров. К ним относятся ОС, СУБД, сетевое обеспечение, электронная почта и др.
Связь между прикладными и общесистемными средствами осуществляется через стандартные интерфейсы, обеспечивающие взаимодействие разных типов компонентов через механизмы передачи данных и сообщений.
На современном рынке программных продуктов циркулируют следующие виды готовых компонентов:
- процедуры и функции на ЯП высокого уровня;- алгоритмы, программы;
- классы объектов и абстрактные классы;
- структуры данных и часто используемая информация (например, информационные ресурсы Интернет);
- API, IDL модули в библиотеках С++ (например, GUI, графика и др.);
- Web-ресурсы и сервисы;
- средства развертки систем и компонентов в операционной среде (например, CORBA, COM, .NET) [9.6];
- готовые решения в виде абстракций - паттерны, фреймы и др.
Все многообразие видов и типов готовых компонентов требует от разработчиков их поиска и изучения для использования в новых ПС. Процесс разработки новых ПС с помощью разных видов ПИК - капиталоемкий, в нем в качестве капитала выступают готовые ПИК, на применение которых затрачивается меньше средств, чем на повторную их разработку.