Из Википедии, бесплатной энциклопедии
  (Перенаправлено из Шлаер-Меллор )
Перейти к навигации Перейти к поиску

Метод Шлаера – Меллора , также известный как объектно-ориентированный системный анализ (OOSA) или объектно-ориентированный анализ (OOA), представляет собой объектно-ориентированную методологию разработки программного обеспечения, представленную Салли Шлаер и Стивеном Меллором в 1988 году. Точнее, что модель анализа можно реализовать напрямую путем преобразования в целевую архитектуру, а не путем разработки изменений модели с помощью ряда моделей, более специфичных для платформы. В новом тысячелетии метод Шлаера – Меллора перешел на нотацию UML, став исполняемым UML . [1]

Обзор [ править ]

История объектно-ориентированных методов и нотаций с конца 1980-х гг.

Метод Шлаера – Меллора - одна из многих методологий разработки программного обеспечения, появившихся в конце 1980-х годов. Наиболее знакомы были объектно-ориентированный анализ и проектирование (OOAD) по Грейди Буч , Object Modeling Technique (ОМТ) по Джеймс Рамбо , объектно-ориентированного программного обеспечения Engineering по Ивара Якобсона и объектно-ориентированный анализ (ООА) по Shlaer и Меллора. [2] [3] В этих методах была принята новая объектно-ориентированная парадигма для преодоления установленных недостатков в существующих методах структурного анализа и структурированного проектирования (SASD) 1960-х и 1970-х годов. [4] Из этих хорошо известных проблем Шлаер и Меллор решили обратиться к:

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

Перед публикацией своей второй книги в 1991 году Шлаер и Меллор перестали называть свой метод «объектно-ориентированным системным анализом» в пользу просто «объектно-ориентированного анализа». Метод начал ориентироваться на концепцию рекурсивного дизайна (RD), которая обеспечила возможность автоматического перевода метода.

Что делает метод Шлаера – Меллора уникальным среди объектно-ориентированных методов:

  • степень объектно-ориентированной семантической декомпозиции,
  • точность нотации Шлаера – Меллора, используемой для выражения анализа, и
  • определенное поведение этой модели анализа во время выполнения.

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

загружать пассажиров, закрывать двери, запускать поезд, останавливать поезд, открывать двери, выгружать пассажиров .

Затем дизайн фокусируется на поведении дверей, тормозов и пассажиров, а также на том, как эти объекты (двери, тормоза и т. Д.) Связаны и ведут себя в пределах области пассажирского поезда. Другие объекты, которые предоставляют услуги, используемые доменом пассажирского поезда, моделируются в других доменах, связанных с доменом пассажирского поезда.

Темы по методу Шлаера – Меллора [ править ]

Перевод v. Разработка [ править ]

Цель метода Шлаера – Меллора - сделать документированный анализ настолько точным, чтобы можно было реализовать модель анализа напрямую путем перевода, а не разработки. В терминологии Шлаера – Меллора это называется рекурсивным дизайном. В текущей терминологии (2011 г.) мы бы сказали, что метод Шлаера – Меллора использует форму управляемой моделями архитектуры (MDA), обычно ассоциируемую с Unified Modeling Language (UML).

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

Это похоже на концепцию виртуальных машин, лежащих в основе языка программирования Java и языка программирования Ada , но существует на уровне анализа, а не на уровне программирования. После разработки и реализации такую ​​виртуальную машину можно повторно использовать в различных приложениях. Виртуальные машины Шлаера – Меллора коммерчески доступны у ряда поставщиков инструментов, в частности у Abstract Solutions, Mentor Graphics и Pathfinder Solutions.

Семантическая декомпозиция [ править ]

Шлаер – Меллор предлагает семантическую декомпозицию на несколько (проблемных) областей. [6]

  • Разделение между моделями анализа и проектирования : область анализа точно выражает то, что должна делать система, область проектирования - это модель того, как виртуальная машина Шлаера – Меллора работает для конкретной аппаратной и программной платформы. Эти модели не пересекаются, единственная связь - это обозначения, используемые для выражения моделей.
  • Декомпозиция в области анализа, в которой системные требования моделируются и группируются по конкретным, непересекающимся предметам. Чтобы вернуться к предыдущему примеру пассажирского поезда, можно создать индивидуальные семантические модели на основе приводов дверей, органов управления двигателями и тормозных систем. Каждая группа рассматривается и моделируется независимо. Единственная определенная взаимосвязь между группами - это зависимости, например, приложение пассажирского поезда может зависеть как от срабатывания двери, так и от управления двигателем. Системы торможения могут зависеть от управления двигателем.

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

Конкретная система состоит из доменов и определенных мостов между доменами. Мост описывается в терминах предположений, используемых доменом, действующим как клиент, подключенным к домену, действующему как сервер. [7]

Точный язык действий [ править ]

Одним из требований к автоматизированной генерации кода является точное моделирование действий внутри конечных автоматов, используемых для выражения динамического поведения объектов Шлаера – Меллора.

Шлаер – Меллор является уникальным среди методов объектно-ориентированного анализа в графическом выражении такого последовательного поведения, как диаграммы потоков данных действий (ADFD). На практике инструменты, которые поддерживали Шлаер – Меллор, обеспечивали точный язык действий. Языки действий вытеснили подход ADFD, поэтому все действия записываются в текстовой форме.

Тест и моделирование [ править ]

Трансляционный подход метода Шлаера – Меллора подходит для автоматизированных сред тестирования и моделирования [8] (путем переключения целевой платформы во время генерации кода), и это может частично объяснить популярность метода Шлаера – Меллора и других методов на основе MDA при разработке. встроенные системы , в которых тестирование целевых систем, например мобильных телефонов или систем управления двигателем, особенно затруднено.

Что делает такое тестирование полезным и продуктивным, так это концепция виртуальной машины Шлаера – Меллора. Как и большинство методов OOA / OOD, Shlaer – Mellor представляет собой среду передачи сообщений, управляемую событиями. В рамках этого общего представления виртуальная машина Шлаера – Меллора требует наличия механизма приоритетных событий, построенного на основе моделей состояний , который позволяет одновременно выполнять действия в различных машинах состояний.

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

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

В сообществе Шлара-Меллора никогда не существовало общепринятого текстового языка для выражения действий. Поставщики инструментов определили свои собственные языки, защищенные авторским правом и контролируемые действия.

Грэм (1994) описал метод Шлаера – Меллора как ранний пример объектно-ориентированного анализа, который на самом деле нельзя рассматривать как объектно-ориентированный . По словам Грэма, в этом методе отсутствует «понятие наследования. Как описано в их книге, это было не более чем объектно-ориентированное расширение моделирования данных ». [9] В соответствии с комментарием Капретц (1996) утверждает, что метод Шлаера – Меллора «не учитывает подавляющее большинство объектно-ориентированных идей и предписывается обычная графическая нотация», которая в основном взята «из диаграмм сущность – отношения. и диаграммы потоков данных, найденные в других структурированных методах ". [10]

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

  • Встроенная система
  • Исполняемый UML
  • Конечный автомат (FSM)
  • Функциональная декомпозиция
  • I-OOA
  • Массивный параллелизм
  • Модельно-управляемая архитектура (MDA)
  • Структурированный анализ
  • Единый язык моделирования (UML)

Библиография [ править ]

  • Стивен Меллор (2002) Make Models Be Assets, Communications of the ACM Volume 45 , 11: 76-87 (ноябрь 2002), 2002
  • Родни К. Монтроуз (2001) Объектно-ориентированная разработка с использованием метода Шлаера – Меллора . Project Technology, Inc.
  • Салли Шлаер , Стивен Меллор (1988) Объектно-ориентированный системный анализ: моделирование мира в данных , Yourdon Press. ISBN  0-13-629023-X
  • Салли Шлаер , Стивен Меллор (1991) Жизненные циклы объектов: моделирование мира в государствах , Yourdon Press. ISBN 0-13-629940-7 
  • Леон Старр (1996) Как строить объектные модели Шлаера – Меллора . Прентис Холл. ISBN 0-13-207663-2 

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

  1. ^ Меллор, Стивен; Бальцер, Марк (2002). Исполняемый UML, основа архитектуры, управляемой моделями . Эддисон Уэсли. ISBN 0-201-74804-5.
  2. ^ Андреас Зендлер (1997) Расширенные концепции, модели жизненного цикла и инструменты для объектно-ориентированной разработки программного обеспечения . п. 122
  3. ^ Мартин Фаулер (2004) Краткое руководство по стандартному языку моделирования объектов . п. 7
  4. ^ Роберт Дж. Мюллер (1999) Дизайн базы данных для умных людей: использование Uml для моделирования данных . п. 106. Мюллер добавляет здесь: «
    Большая часть работы по объектно-ориентированному моделированию уходила корнями в моделирование данных, при этом соответствие с дизайном базы данных было довольно хорошим.
  5. ^ Хасан Гомаа (2011) Моделирование и проектирование программного обеспечения: UML, варианты использования, шаблоны и архитектуры программного обеспечения. п. 10. Гомаа объясняет здесь:
    Шлаер и Меллор (1988, 1992) и Коад и Йордон (1991, 1992). Основное внимание в этих методах уделялось моделированию проблемной области, сокрытию информации и наследованию ...
  6. ^ Мартин Редди (2011) Дизайн API для C ++ . стр.126. Редди утверждает:
    Метод Шлаера – Меллора сначала разделяет систему по горизонтали для создания общих «доменов», а затем разделяет их по вертикали, применяя отдельный анализ к каждому домену ... Одно из преимуществ этого подхода «разделяй и властвуй» состоит в том, что домены имеют тенденцию формировать концепции многократного использования, которые можно применить к другим задачам проектирования.
  7. ^ Салли Шлаер , Стивен Меллор (1991) Жизненные циклы объектов: моделирование мира в государствах , стр.142.
  8. Марсель Туссен (1996) Ада в Европе: Второй международный симпозиум Eurospace-Ada-Europe, Франкфурт, Германия, 2–6 октября 1995 г., том 2 . стр. 172 подтверждает:
    ... анализ и проектирование с использованием объектно-ориентированных (ОО) методов (в данном случае Шлаера – Меллора) и инструмента автоматизированной разработки программного обеспечения (CASE), дающего возможность для автоматической генерации кода и его повторного использования в последующих симуляторах. .
  9. ^ Ян Грэм (1994) Объектно-ориентированные методы . стр.229
  10. ^ Луис Фернандо Капрец (1996) Объектно-ориентированное программное обеспечение: дизайн . стр.77
    Капретц описывает OOSA как «методологию анализа со связанной графической нотацией, которая основана на вариации модели« сущность-связь »в сочетании с анализом структурированных систем». Нотация может применяться для описания объектов, атрибутов и взаимосвязей, если взаимосвязь указывает связь между объектами. ".

Внешние ссылки [ править ]

  • Шлаер – Меллор и портал исполняемого UML , блог 2008–2011 гг.
  • Ссылки Шлаера – Меллора и исполняемого UML , 2008 г.
  • Блог Shlaer-Mellor Metamodel , 2011