Главная » UML

Нотации и метамодели

Добавлено Дата: 30 May, 2011 категория: UML

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

Читать »

Диаграммы состояний UML

Добавлено Дата: 30 May, 2011 категория: UML

 

Диаграммы состояний (state machine diagrams) – это известная технология описания поведения системы. В том или ином виде диаграммы состояний существуют с 1960 года, и на заре объектно-ориентированного программирования они применялись для представления поведения системы. В объектно-ориентированных подходах вы рисуете диаграмму состояний единственного класса, чтобы показать поведение одного объекта в течение его жизни.

Читать »

Где найти дополнительную информацию UML

Добавлено Дата: 28 May, 2011 категория: UML

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

Читать »

Отличия версий языка UML

Добавлено Дата: 28 May, 2011 категория: UML

 

 

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

Читать »

Интерфейсы и абстрактные классы UML

Добавлено Дата: 28 May, 2011 категория: UML

 

Абстрактный класс (abstract class) – это класс, который нельзя реализовать непосредственно. Вместо этого создается экземпляр подкласса. Обычно абстрактный класс имеет одну или более абстрактных операций. У абстрактной операции (abstract operation) нет реализации; это чистое объявление, которое клиенты могут привязать к абстрактному классу.

Читать »

Примечания и комментарии основы UML

Добавлено Дата: 28 May, 2011 категория: UML

 

 

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

Читать »

Разделы UML

Добавлено Дата: 28 May, 2011 категория: UML

 

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

Читать »

Реализация пакетов UML

Добавлено Дата: 28 May, 2011 категория: UML

 

Часто встречается ситуация, когда один пакет определяет интерфейс, который может быть реализован многими другими пакетами, как это показано на рис. 7.4. В данном случае отношение реализации означает, что шлюз базы данных (Database Gateway) определяет интерфейс, а другие классы шлюзов обеспечивают реализацию. На практике это может означать, что пакет шлюза базы данных (Database Gateway) содержит интерфейсы и абстрактные классы, которые полностью реализуются в других пакетах.

Читать »

Процессы итеративные и водопадные UML

Добавлено Дата: 27 May, 2011 категория: UML

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

Читать »

Аспекты пакетов UML

Добавлено Дата: 27 May, 2011 категория: UML

 

Рассматривая рис. 7.2, вы понимаете, что на диаграмме присутствуют структуры двух видов. Одна – структура уровня приложения: представление (presentation), предметная область (domain), преобразователь данных (data mapper) и база данных (database). Другая – структура предметных областей: аренда (leasing) и собственность (asset).

Читать »

Унифицированный процесс от Rational

Добавлено Дата: 27 May, 2011 категория: UML

Хотя унифицированный процесс, разработанный компанией Rational (Rational Unified Process, RUP), не зависит от UML, их часто упоминают вместе. Поэтому я думаю, что будет уместно сказать здесь об этом несколько слов.

Хотя RUP называется процессом, в действительности это оболочка процессов, предоставляющая словарь и свободную структуру для обсуждения процессов. В случае применения RUP в первую очередь необходимо выбрать шаблон разработки (development case) – процесс, который вы собираетесь использовать в проекте. Шаблоны разработки могут очень значительно варьироваться, поэтому не думайте, что ваш шаблон разработки будет сильно похож на другие шаблоны. При выборе шаблона разработки сразу требуется человек, хорошо знакомый с RUP, – тот, кто сможет приспособить RUP к определенным требованиям проекта. В качестве альтернативы существует постоянно увеличивающийся набор распределенных по пакетам шаблонов разработки, с которых можно начать.

Читать »

Операции основы UML

Добавлено Дата: 27 May, 2011 категория: UML

 

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

Читать »

Маркеры UML

Добавлено Дата: 26 May, 2011 категория: UML

 

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

Читать »

Правила ограничений основы UML

Добавлено Дата: 26 May, 2011 категория: UML

 

При построении диаграмм классов большая часть времени уходит на представление различных ограничений. На рис. 3.1 показано, что Заказ (Order) может быть сделан только одним единственным Клиентом (Customer). Из этой диаграммы классов также следует, что каждая Line Item (Позиция заказа) рассматривается отдельно: вы можете заказать 40 коричневых, 40 голубых и 40 красных штучек, но не 120 штук вообще. Далее диаграмма утверждает, что Корпоративные клиенты располагают кредитами, а Индивидуальные клиенты – нет.

Читать »

Смысл UML

Добавлено Дата: 26 May, 2011 категория: UML

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

Читать »