Jump to content

Разработка предметной области

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

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

В проектировании линейки продуктов, как это определено в ISO26550:2015, проектирование предметной области дополняется проектированием приложений , которое обеспечивает жизненный цикл отдельных продуктов, полученных из линейки продуктов. [1]

Цель [ править ]

Проектирование предметной области предназначено для улучшения качества разрабатываемых программных продуктов за счет повторного использования программных артефактов. [2] Анализ предметной области показывает, что большинство разработанных программных систем — это не новые системы, а скорее варианты других систем в той же области. [3] В результате, используя доменное проектирование, предприятия могут максимизировать прибыль и сократить время выхода на рынок, используя концепции и реализации предыдущих программных систем и применяя их к целевой системе. [2] [4] Снижение затрат очевидно уже на этапе внедрения. Одно исследование показало, что использование предметно-ориентированных языков позволило размер кода как по количеству методов , так и по количеству символов уменьшить более чем на 50%, а общее количество строк кода уменьшить почти на 75%. [5]

Разработка предметной области фокусируется на сборе знаний, собранных в процессе разработки программного обеспечения . Разрабатывая артефакты многократного использования, компоненты можно повторно использовать в новых программных системах с низкой стоимостью и высоким качеством. [6] Поскольку это применимо ко всем этапам цикла разработки программного обеспечения , проектирование предметной области также фокусируется на трех основных этапах: анализ, проектирование и реализация, а также параллельная разработка приложений. [7] В результате создается не только набор компонентов реализации программного обеспечения, соответствующих предметной области, но также повторно используемые и настраиваемые требования и проекты. [8]

Учитывая рост объема данных в Интернете и развитие Интернета вещей , подход к предметной инженерии становится актуальным и для других дисциплин. [9] Появление глубоких цепочек веб-сервисов подчеркивает, что концепция сервиса относительна. Веб-сервисы, разработанные и управляемые одной организацией, могут использоваться другой организацией как часть платформы. Поскольку сервисы могут использоваться в разных контекстах и, следовательно, требуют разных конфигураций, при проектировании семейств сервисов может оказаться полезным подход к проектированию предметной области.

Фазы [ править ]

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

Разработка предметной области, как и разработка приложений, состоит из трех основных этапов: анализ, проектирование и реализация. Однако если разработка программного обеспечения фокусируется на одной системе, то разработка предметной области фокусируется на семействе систем. [7] Хорошая модель предметной области служит справочником для устранения неоднозначностей на более поздних этапах процесса, хранилищем знаний о характеристиках и определениях предметной области, а также спецификацией для разработчиков продуктов, которые являются частью предметной области. [10]

Анализ домена [ править ]

Анализ предметной области используется для определения предметной области, сбора информации о предметной области и создания модели предметной области . [11] Благодаря использованию моделей признаков (первоначально задуманных как часть метода функционально-ориентированного анализа предметной области ), анализ предметной области направлен на выявление общих точек в предметной области и различных точек в предметной области. [12] Благодаря использованию анализа предметной области возможна разработка настраиваемых требований и архитектур, а не статических конфигураций, которые создаются с помощью традиционного подхода к разработке приложений. [13]

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

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

Анализ предметной области в первую очередь создает модель предметной области , представляющую общие и изменяющиеся свойства систем внутри предметной области. [11] Модель предметной области помогает создавать настраиваемые архитектуры и компоненты, выступая в качестве основы для проектирования этих компонентов. [16] Эффективная модель предметной области не только включает в себя различные и последовательные функции предметной области, но также определяет словарный запас, используемый в предметной области, а также определяет концепции, идеи и явления внутри системы. [11] [17] Модели функций разлагают концепции на обязательные и дополнительные функции для создания полностью формализованного набора настраиваемых требований. [18]

Дизайн домена [ править ]

Проектирование предметной области использует модель предметной области, созданную на этапе анализа предметной области, и направлено на создание общей архитектуры, которой могут соответствовать все системы в предметной области. [19] Точно так же, как при разработке приложений используются функциональные и нефункциональные требования для создания проекта, на этапе проектирования предметной области учитываются настраиваемые требования, разработанные на этапе анализа предметной области, и создается настраиваемое стандартизированное решение для семейства систем. Проектирование предметной области направлено на создание архитектурных шаблонов, которые решают проблему, общую для систем внутри предметной области, несмотря на различные конфигурации требований. [20] Помимо разработки шаблонов во время проектирования предметной области, инженеры также должны позаботиться об определении области применения шаблона и уровня, на котором контекст имеет отношение к шаблону. Ограничение контекста имеет решающее значение: слишком много контекста приводит к тому, что шаблон неприменим ко многим системам, а слишком мало контекста приводит к тому, что шаблон оказывается недостаточно мощным, чтобы быть полезным. [21] Полезный шаблон должен быть часто повторяющимся и качественным. [22]

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

Реализация домена [ править ]

Реализация предметной области — это создание процесса и инструментов для эффективного создания индивидуальной программы в предметной области.

Критика [ править ]

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

См. также [ править ]

Ссылки [ править ]

  1. ^ ISO 26550:2015 – Программное обеспечение и системная инженерия. Эталонная модель для проектирования и управления продуктовой линейкой .
  2. Перейти обратно: Перейти обратно: а б Фрейкс и Канг 2007 , с. 2
  3. ^ Фрейкс и Канг 2007 , с. 1
  4. ^ Чарнецкий и Эйзенекер 2000 , с. 19
  5. ^ Баторий и др. 2002 , стр. 19.
  6. ^ Чарнецкий и Эйзенекер 2000 , с. 20
  7. Перейти обратно: Перейти обратно: а б Чарнецкий и Эйзенекер 2000 , с. 21
  8. ^ Языки 2002 , с. 8
  9. ^ Рейнхартц-Бергер и др. 2013 , с. xii
  10. ^ Фальбо, Гуиззарди и Дуарте 2002 , стр. 2
  11. Перейти обратно: Перейти обратно: а б с д и ж Чарнецкий и Эйзенекер 2000 , с. 23
  12. ^ Чарнецкий и Эйзенекер 2000 , с. 38
  13. ^ Канг и др. 2004 , с.7.
  14. ^ Канг и др. 2004 , стр. 3.
  15. ^ Канг и др. 2004 , стр. 4.
  16. ^ Фрейкс и Канг 2007 , с. 3
  17. ^ Чарнецкий и Эйзенекер 2000 , с. 84
  18. ^ Чарнецкий и Эйзенекер 2000 , с. 86
  19. ^ Чарнецкий и Эйзенекер 2000 , с. 24
  20. ^ Чарнецкий и Эйзенекер 2000 , с. 25
  21. ^ Бушманн, Хенни и Шмидт 2007 , стр. 42
  22. ^ Бушманн, Хенни и Шмидт 2007 , стр. 31
  23. ^ Чарнецкий и Эйзенекер 2000 , с. 28
  24. ^ Меттлер 2017 , с. 5

Источники [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 99843032d148a895ba61fc0a8859c81d__1691464980
URL1:https://arc.ask3.ru/arc/aa/99/1d/99843032d148a895ba61fc0a8859c81d.html
Заголовок, (Title) документа по адресу, URL1:
Domain engineering - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)