Jump to content

Функциональная модель

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

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

в методе функционально-ориентированного анализа доменов (FODA) в 1990 году. Модели признаков были впервые представлены Кангом [ 1 ] С тех пор функциональное моделирование получило широкое распространение в сообществе разработчиков программных продуктов, и был предложен ряд расширений.

«Функция» определяется как «заметный или отличительный, видимый пользователю аспект, качество или характеристика программной системы или системы». [ 1 ] Основное внимание при разработке SPL уделяется систематическому и эффективному созданию подобных программ. FODA — это анализ, посвященный выявлению особенностей предметной области, на которые распространяется конкретный SPL. [ 1 ]

Модель объектов — это модель, которая определяет функции и их зависимости, обычно в форме диаграммы функций + оставшихся (так называемых междеревьевых) ограничений. Но также это может быть таблица возможных комбинаций. [ нужна ссылка ]

Диаграмма

[ редактировать ]

Диаграмма объектов — это визуальное обозначение модели объектов, которая по сути представляет собой дерево «и-или». Существуют и другие расширения: мощности , клонирование объектов, атрибуты объектов, обсуждаемые ниже.

Конфигурация

[ редактировать ]

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

Дерево функций

[ редактировать ]

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

Обозначения моделирования функций

[ редактировать ]

Текущие обозначения моделирования функций можно разделить на три основные группы, а именно:

  • Базовые функциональные модели
  • Модели признаков на основе кардинальности
  • Модели с расширенными функциями
Функциональная диаграмма, представляющая настраиваемую систему интернет-магазина.

Базовые функциональные модели

[ редактировать ]

Отношения между родительским объектом и его дочерними объектами (или подобъектами) подразделяются на следующие категории:

  • Обязательно – необходимо выбрать дочернюю функцию.
  • Необязательно – дочерний объект можно выбрать или не выбрать.
  • Или – необходимо выбрать хотя бы один из подфункций.
  • Альтернатива (xor) – необходимо выбрать ровно один из подфункций.

В дополнение к родительским отношениям между объектами допускаются ограничения между деревьями. Наиболее распространенными являются:

  • А требует Б. Выбор А в продукте подразумевает выбор Б.
  • A исключает B – A и B не могут быть частью одного и того же продукта.

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

Модели признаков на основе кардинальности

[ редактировать ]

Некоторые авторы предлагают расширять базовые модели признаков с помощью UML -подобных кратностей формы [n,m], где n является нижней границей, а m — верхней границей. Они используются для ограничения количества дополнительных функций, которые могут быть частью продукта при выборе родительского элемента. [ 3 ]

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

Модели с расширенными функциями

[ редактировать ]

Другие предлагают добавлять к функциям дополнительную функциональную информацию с помощью «атрибутов». В основном они состоят из имени, домена и значения. [ 4 ]

Семантика

[ редактировать ]

Семантика модели объектов — это набор конфигураций функций, которые допускает модель объектов. Самый распространенный подход — использовать математическую логику для определения семантики диаграммы объектов. [ 5 ] Каждый признак соответствует логической переменной , а семантика фиксируется в виде пропозициональной формулы . Удовлетворительные оценки этой формулы соответствуют конфигурациям объектов, разрешенным диаграммой объектов. Например, если является обязательной дополнительной функцией , формула будет содержать ограничение . [ 6 ]

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

Диаграмма функций Примитив Семантика Семантика в конъюнктивной нормальной форме
это корневая функция
обязательная дополнительная функция
дополнительная дополнительная функция
или подфункции
альтернативные (xor) подфункции
требует
исключает

Настройка продуктов

[ редактировать ]

Продукт SPL определяется декларативно путем выбора или отмены выбора функций в соответствии с предпочтениями пользователя. Такие решения должны учитывать ограничения, налагаемые моделью объектов. «Конфигуратор» — это инструмент, который помогает пользователю в процессе настройки. Например, путем автоматического выбора или отмены выбора функций, которые должны или не должны быть выбраны соответственно для успешного завершения конфигурации. Текущие подходы используют единичное распространение [ 7 ] и решатели CSP . [ 4 ]

Свойства и анализ

[ редактировать ]

Анализ функциональной модели нацелен на определенные свойства модели, которые важны для маркетинговых стратегий или технических решений. В литературе встречается ряд анализов. [ 8 ] [ 9 ] Типичный анализ определяет, является ли модель функций недействительной (не представляет собой продуктов), содержит ли она мертвые функции (функции, которые не могут быть частью какого-либо продукта) или количество продуктов линейки программных продуктов, представленных моделью. Другие анализы сосредоточены на сравнении нескольких моделей функций (например, чтобы проверить, является ли модель специализацией , рефакторингом или обобщением другой ). [ 10 ]

См. также

[ редактировать ]
  1. ^ Jump up to: а б с Канг, К.К., Коэн, С.Г., Хесс, Дж.А., Новак, В.Е. и Петерсон, А.С., «Технико-экономическое обоснование функционально-ориентированного анализа предметной области (FODA), Технический отчет CMU/SEI-90-TR-021, SEI, Университет Карнеги-Меллон, ноябрь 1990 г. скачать
  2. ^ «Дерево функций | BAwiki» .
  3. ^ Чарнецкий К., Хелсен С. и Эйзенекер У., «Поэтапная конфигурация с использованием функциональных моделей», Труды Третьей международной конференции по линейкам программных продуктов (SPLC '04), том 3154 конспектов лекций по информатике. Springer Berlin/Heidelberg, август 2004 г. скачать .
  4. ^ Jump up to: а б Д. Бенавидес, П. Тринидад и А. Руис-Кортес. «Автоматическое рассуждение о функциональных моделях». 17-я конференция по разработке передовых информационных систем (CAiSE'05). Порту, Португалия. 2005 скачать
  5. ^ Шоббенс, П.-Ю.; Хейманс, П.; Триго, Ж.-К., « Диаграммы признаков: обзор и формальная семантика». [ мертвая ссылка ] , «Разработка требований», 14-я Международная конференция IEEE, том, №, стр. 139–148, 11–15 сентября 2006 г., скачать
  6. ^ Амадор Дуран, Дэвид Бенавидес, Серхио Сегура, Пабло Тринидад и Антонио Руис-Кортес «FLAME: формальная основа для автоматизированного анализа линеек программных продуктов, подтвержденная автоматизированным тестированием спецификаций». Программное обеспечение и системное моделирование. 2015. скачать
  7. ^ Баторий, Д., «Функциональные модели, грамматики и пропозициональные формулы», Материалы 9-й Международной конференции по линейке программных продуктов (SPLC '05), скачать
  8. ^ Д. Бенавидес, А. Руис-Кортес, П. Тринидад и С. Сегура. « Обзор автоматизированного анализа моделей признаков ». Конференция по разработке программного обеспечения и баз данных (JISBD'06). Ситжес, Испания. 2006 г.
  9. ^ Бенавидес, Дэвид; Сегура, Серджио; Руис Кортес, Антонио (2010). «Автоматизированный анализ моделей признаков 20 лет спустя: обзор литературы». Информационные системы . 35 (6): 615–636. дои : 10.1016/j.is.2010.01.001 . hdl : 11441/24694 .
  10. ^ Т. Туэм, Д. Баторий и К. Кестнер. " Рассуждения об редактировании моделей функций [ постоянная мертвая ссылка ] ". Международная конференция по программной инженерии (ICSE), май 2009 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b2e66a170c582b920a312fb913279e9f__1722386160
URL1:https://arc.ask3.ru/arc/aa/b2/9f/b2e66a170c582b920a312fb913279e9f.html
Заголовок, (Title) документа по адресу, URL1:
Feature model - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)