Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #65, АПРЕЛЬ 2006 г.

программирование на доске почета

БОРИС ВОЛЬФСОН

Спецвыпуск: Хакер, номер #065, стр. 065-056-1


(BORISVOLFSON@GMAIL.COM; HTTP://PROGRAMPORTAL.NET.RU)

UML — УНИВЕРСАЛЬНЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ

UML (UNIVERSAL MODELING LANGUAGE — УНИВЕРСАЛЬНЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ) ПОЗВОЛЯЕТ СОЗДАВАТЬ В ГРАФИЧЕСКОМ ВИДЕ ИЕРАРХИИ КЛАССОВ, ПОКАЗЫВАТЬ ВЗАИМОДЕЙСТВИЕ ОБЪЕКТОВ, СОЗДАВАТЬ ТРЕБОВАНИЯ К ПРОГРАММЕ И МНОГОЕ ДРУГОЕ. В ЭТОЙ СТАТЬЕ Я РАССКАЖУ О НАИБОЛЕЕ ВОСТРЕБОВАННЫХ ФУНКЦИЯХ ЭТОГО ЯЗЫКА, ЧТО ПОЗВОЛИТ ТЕБЕ МАКСИМАЛЬНО ЭФФЕКТИВНО ИСПОЛЬЗОВАТЬ ЕГО В НАПИСАНИИ ПРОГРАММ

[ты никогда не задумывался, когда появились] первые программисты? После того как были созданы первые компьютеры? Нет, намного раньше… Вспомни наших предков. Вот они, завернутые в шкуры животных, рисуют на стенах пещер сцены охоты. С небольшой натяжкой первобытных людей можно назвать программистами :). Они создавали модели процесса охоты на своем диалекте языка моделирования. Я бы сказал, древний вид диаграммы прецедентов :). Мой несерьезный пример позволяет понять, какова цель моделирования. Во-первых, с помощью наскальных рисунков можно визуализировать процесс охоты и наглядно описать то, как он происходит. Во-вторых, по этим рисункам можно определить, как будет происходить процесс охоты и как распределяются действия каждого участника. В-третьих, при помощи рисунков можно организовать общение между программистами-охотниками. В программировании рисунки, схемы и диаграммы выполняют те же функции.

До того как господа Буч, Рамбо и Джекобсон занялись стандартизацией языка моделирования, каждый программист самостоятельно выбирал, как обозначить на схемах ту или иную сущность, что, разумеется, приводило к путанице и несогласованности. Однако три названных человека решили, что классы все-таки стоит обозначать в виде прямоугольников, а не в виде «облаков» (бывшая нотация одной известной фирмы). И стало так :).

[uml — это язык, который является промышленным стандартом] для создания диаграмм в области программирования, хотя его можно применять и в других процессах моделирования. UML позволяет графически изобразить тот или иной аспект поведения программы. Зубры программирования, наверное, вспомнят вымершие блок-схемы, с помощью которых в давние времена изображали алгоритмы. Модели, которые создаются на UML, позже могут быть переведены на тот или иной язык программирования. Инструменты UML стали стандартной частью многих сред программирования, хотя можно воспользоваться инструментами, не привязанными жестко к конкретной среде или языку. Руководство по UML, написанное самими создателями языка, гласит, что 80% проектов можно реализовать используя 20% этого языка моделирования. Вот и будем рассматривать то, что используется наиболее часто.

Основными понятиями UML являются сущности, диаграммы и отношения. Сущности, основные элементы UML, могут вступать в отношения, и они группируются на диаграммах. Моделирование на языке UML является объектно-ориентированным, поэтому основной сущностью в UML является класс.

На диаграммах класс обозначается прямоугольником, в котором записывается имя класса. Если диаграмма подробная, то также указываются атрибуты (поля) класса и его методы. В нашем случае класс Man (человек) имеет три поля и два метода. Поля и методы описываются в стиле «Паскаль»: сначала идет имя поля или метода, потом его тип или тип возвращаемого значения. Для методов в скобках указываются параметры, если они есть. В начале описания может стоять модификатор доступа «+», который обозначает, что член класса является публичным, то есть доступным для использования всем. Диезом «#» обозначают члены класса, доступные только самому классу и его потомкам. «–» служит для обозначения закрытых членов, доступных только самому классу.

Содержание  Вперед на стр. 065-056-2