Главная страница

ВВедение в ИМЛ. Лекция 2 Что такое The uml


Скачать 2.99 Mb.
НазваниеЛекция 2 Что такое The uml
АнкорВВедение в ИМЛ
Дата10.03.2023
Размер2.99 Mb.
Формат файлаdocx
Имя файлаvvedenie_v_UML (1).docx
ТипЛекция
#978338
страница1 из 24
  1   2   3   4   5   6   7   8   9   ...   24

Лекция 2: Что такое The UML




Назначение языка


UML- унифицированный языкмоделирования. Из этих трех слов главным является слово" язык ".

Что же такое язык? Не будем изобретать велосипед, а лучше заглянем в глоссарий, благо в Интернете их величайшее множество. Сделав это, мы скорее всего обнаружим определение, подобное приведенному ниже.

Язык - система знаков, служащая:

  • средством человеческого общения и мыслительной деятельности;

  • способом выражения самосознания личности;

  • средством хранения и передачи информации.

Язык включает в себя набор знаков (словарь) и правила их употребления и интерпретации (грамматику).

К этому достаточно исчерпывающему определению нужно добавить, что языки бывают естественные и искусственные, формальные и неформальные. UML- язык формальный и

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

языками). Формальным его можно назвать, поскольку имеются правила его употребления (правда, описание UML содержит и явно неформальные элементы, как мы, опять-таки, позже увидим). Еще один нюанс: UML - язык графический, что также немного путает ситуацию!

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

  1. синтаксис, то есть определение правил построения конструкций языка;

  2. семантика, то есть определение правил, в соответствии с которыми конструкции языка приобретают смысловое значение;

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

Естественно, UML включает все эти элементы, хотя, как мы опять-таки увидим далее, в их описании тоже наблюдаются отличия от правил, принятых в языках программирования.

Второе слово в фразе, которой расшифровывается аббревиатура UML - слово " моделирование ". Да, UML - это язык моделирования. Причем объектно-ориентированного моделирования. Более подробно о смысле понятия "моделирование" мы поговорим чуть позже, а пока отметим,

что словоэто весьма многозначно. В английском языке есть целых два слова

- modeling и simulation, которые оба переводятся как "моделирование", хотя означают разные понятия. Modelingподразумевает создание модели, лишь описывающей объект,

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

Третье словов названии UML- слово" унифицированный ". Его можно понимать тоже

неоднозначно. В литературе можно встретить описание эры "до UML" как "войны методов" моделирования, ни один из которых "не дотягивал" до уровня индустриального

стандарта. UMLкак раз и стал таким единым универсальным стандартом для объектно-

ориентированногомоделирования, которое во времена его создания как раз "вошло в моду".

"Единым" языком моделирования UML можно назвать еще и потому, что в его создании, как мы увидим далее, объединились усилия авторов трех наиболее популярных методов моделирования не только их).

Подводя итоги, кратко можно сказать, что UML- искусственный язык, который имеет некоторые

черты естественного языка, и формальный язык, который имеет черты неформального. Это звучит не очень понятно, но это действительно так!

Историческая справка


Откуда взялся The UML? Если говорить коротко, то UML вобрал в себя черты нотаций Грейди Буча (Grady Booch), Джима Румбаха (Jim Rumbaugh), Айвара Якобсона (Ivar Jacobson) и многих других.

В не такие уж и далекие 80-е годы было множество различных методологий моделирования. Каждая из них имела свои достоинства и недостатки, а также свою нотацию. То смутное время получило название "войны методов". Проблема в том, что разные люди использовали разные нотации, и для того чтобы понять, что описывает та или иная диаграмма, зачастую требовался

"переводчик". Один и тот же символ мог означать в разных нотациях абсолютно разные вещи! На рисунке ниже можно увидеть лишь малую часть многообразия методов, которые существовали в то время и в какой-то мере повлияли на UML.



Рис. 1.1.


К тому же примерно в это же время (начало 80-х) стартовала "объектно-ориентированная эра". Все началось с появлением семейства языков программирования SmallTalk, которые применяли некоторые понятия языка Simula-67, использовавшегося в 60-х годах. Появление объектно-

ориентированного подхода в первую очередьбыло обусловлено увеличением сложности

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

повысить производительность труда программистов, по-иному взглянуть на проблемы и методы их решения, сделать программы более компактными и легко расширяемыми. Как результат,

языки, первоначально ориентированные на традиционный подход к программированию, получили ряд объектноориентированных расширений. Одной из первых, в середине 80-х,

была фирмаApple со своим проектом ObjectPascal. Кроме этого, объектно-ориентированный

подход породил мощную волну и абсолютно новых программных технологий, вершинами которой стали такие общепризнанные сегодня платформы, как Microsoft .NETFramework и Sun Java.

Но самое главное, что появление ООПтребовало удобного инструмента для моделирования,

единой нотации для описания сложных программных систем. И вот "три амиго", три крупнейших специалиста, три автора наиболее популярных методов решили объединить свои разработки. В 1991-м каждый из "трех амиго" начал с написания книги, в которой изложил свой метод ООАП.

Каждая методология была по-своему хороша, но каждая имела и недостатки. Так, метод Буча был хорош в проектировании, но слабоват в анализе. OMTРумбаха был, наоборот, отличным

средством анализа, но плох в проектировании. И наконец, Objectory Якобсона был действительно хорош с точки зрения user experience, на который ни метод Буча, ни OMTне обращали особого

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

К 1994-му существовало 72 метода, или частные методики. Многие из них "перекрывались", т. е. использовали похожие идеи, нотации и т. д. Как уже говорилось выше, чувствовалась острая

потребность, "социальный заказ" - закончить "войну методов" и объединить в одном унифицированном средстве все лучшее, что было создано в области моделирования.

А что сейчас? The UML живет и развивается. Сейчас мы имеем UML 2.0 и десятки CASE-средств, поддерживающих UML, о многих из которых будет рассказано в "Обзор CASE-средств для

построения диаграмм UML" . Вопреки популярному мнению, в наши дни Rational не владеет UML,

но продолжает работать над ним. UMLже принадлежит OMG, а сама Rational ныне является

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

Вот такая история!
  1   2   3   4   5   6   7   8   9   ...   24


написать администратору сайта