Методы и средства инженерии программного обеспечения

       

В последние годы быстро развиваются


  В последние годы быстро развиваются такие  направления программной инженерии, как построение ПС из ПИК; инженерные методы проектирования, которые характеризуются проверкой достижения показателей качества компонентов на этапах ЖЦ и оценкой затраченных ресурсов и стоимости. Главное место среди этих методов занимает   компонентный подход  к построению  ПС, так как принцип использования готовых компонентов является  основой  этого подхода и  стратегическим направлением повышения производительности разработчиков и обеспечения  качества ПС.
Компонентный подход расширяет существующие методы программирования ПС этим принципом,  а также проверкой  правильности ПИК для надежного приспособления  к новым   условиям ПС,  формализацией и приведением в порядок  процесса  разработки из них ПС соответственно требованиям заказчика. В результате получается значительное  упрощение процесс разработки самих компонентов и  ПС из них и соответственно  уменьшение сроков и затрат на разработку ПС.
Исследования и разработки в области инженерии программирования, основанного на использовании готовых ранее разработанных ПИК привели к тому,  что сформировалось и используются два  инженерных направления  применения разных видов готовых ПИК при создании новых ПС [4]:
1) инженерия построения новых одиночных ПС уникального типа из ПИК. Это направление получило название прикладная инженерия  (application engineering), которой соответствует процесс производства конкретных  ПС как  совокупности компонентов,  подсистем и ПИК одного класса,  созданных раньше как  самостоятельные программные продукты или как элементы  процесса  инженерии некоторой предметной области;
2) инженерия построения готовых частей систем в конкретной ПрО. Это направление  получило название инженерия проблемной области  (domain engineering), которой соответствует процесс классификации и фиксации ПИК многоразового пользования в рамках  конкретной ПрО в виде готовых частей системы,  самой системы или семейства систем.
Данный процесс  поддерживается системными  инструментами обеспечения сбора,  поиска, адаптации ПИК к новым условиям создаваемой  системы семейства. Этим обеспечивается  повторное использование  не только элементов ПИК, а и инструментов поиска.
Обе разновидности инженерии базируются на объектно-ориентированных (ОО) методах  анализа ПрО, методах  проектирования классов объектов и образцов  многоразового использования, которые создаются в разных системах и фиксируются как готовые решения для применения в других областях. Инженерность приложения и предметной области заключается в использовании в процессе проектирования методов поиска и оценки применимости ПИК, стоимости их  приобретения и планирования работ по изготовлению из ПИК новых систем в заданные сроки. Инженерия ПИК предполагает проведение классификации и каталогизации готовых  компонентов в специальных хранилищах для организации поиска, выбора с требуемыми функциями и характеристиками для последующего использования в новых проектах.
 Анализ современных систем поддержки инженерии приложения (ОМТ, RUP, OOA/D и др.) показывает, что они ориентированы  на разработку одиночных ПС и имеют  такие  недостатки:
1) отсутствует различие между разработкой и областью разработки для повторного использования и разработкой с повторным использованием. Областью разработки для повторного использования являются некоторые совокупности компонентов и подсистем. Процесс разработки с повторным использованием  основывается на инструментальных  средствах поиска и выбора готовых компонентов, которые  создавались в процессе разработки одиночной  системы  для повторного использования;
2) повторное использование не базируется на модели ПрО, а ПИК  создаются с ориентацией на создание отдельных одиночных программ;
3) отсутствует моделирование изменяемости компонентов в рамках одного приложения  или нескольких приложений, которая может быть обеспечена  использованием диаграмм классов UML с  представлением изменяемых  параметров и операций  наследования, агрегации или  параметризации.


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

Содержание раздела