Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Применение объектно-ориентированного подхода при проектировании информационной систем

Содержание:

Введение

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

Современные информационные системы отличаются высокой функциональностью, в большинстве случае работой с системой управления базами данных, высокой защитой данных, наличием инструментов, которые предоставляют данные для проведения оперативного анализа. Для того, чтобы выполнить построение такой системы необходимо следовать определенным правилам разработки, соблюдать жизненные циклы программного продукта, при разработке проекта использовать Case средства [3]. В рамках данной работы будет рассмотрен один из подходов, который используется при проектировании информационных систем – объектно-ориентированный подход.

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

Предметом исследования является объектно-ориентированный подход.

Объектами исследования являются программные пакеты, которые поддерживают применение объектно-ориентированного подхода.

Задачами данной работы являются:

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

1 Определение особенностей объектно-ориентированного подхода

1.1 Описание подходов проектирования информационных систем

Среди методологии создания и проектирования информационных систем можно выделить три важных направления [3]:

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

2. Объектно-ориентированный подход - предполагает, что информационные процессы и структура, в которой эти процессы происходят, образуют единое целое. В объекте, который будет построен в системе, будут разделены части, связанные со структурами данных, и части, связанные с их алгоритмами. Комбинированное рассмотрение данных и их методов дает возможность систематического построения больших ИТ-систем, но также накладывает определенные ограничения: все информационные процессы и элементы представляются в категориях классов. Для этих классов необходимо создать правильные методы данных, соответствующие структуры данных, которые отвечают за сбор и обработку информации [1]. Также необходимо разработать специальные механизмы связи между объектами, благодаря которым система, построенная на основе объектно-ориентированной методологии, остается системой - «согласованным объектом», при этом каждый объект может быть построен отдельно и представлять собой отдельный элемент. Данная методология приобретает все большее значение в связи с тем, что она позволяет строить большие и сложные информационные системы в многопользовательских командах (групповая работа).

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

1.2 Описание объектно-ориентированной методологии

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

  • методология Буча;
  • техника моделирования объектов (OMT),
  • объектно-ориентированное моделирование в реальном времени (ROOM);
  • язык моделирования UML.

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

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

  • методологии построения информационных систем (Rumbaugh, Booch, Jacobson, Yourdon и др.) И инструменты CASE на их основе. Наиболее значительным изменением по сравнению с методологиями, использующими традиционную модель сущности-отношения, является ассоциация объектов с операциями, которые могут быть выполнены над ними.
  • языки программирования (например, Smalltalk, C ++, Java, Eiffel, C #), которые поддерживают такие понятия, как класс, наследование, инкапсуляция, методы, позднее связывание и т. Д.
  • базы данных и хранилища постоянных объектов (например, стандарт ODMG, ObjectStore, O2, Poet, Versant), т. Е. Перевод технологий объектно-ориентированного программирования на базу баз данных.
  • гетерогенные системы (например, OMG CORBA, OLE / DCOM / ActiveX), где объекты и классы являются основой для обмена информацией между системами.
  • среды визуального программирования (например, Smalltalk, CA OpenRoad, IBM VisualAge), то есть передача объектно-ориентированных методов в визуальное программирование.

Популярность объектно-ориентированного подхода ограничена его собственными недостатками [2]:

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

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

1.3 Язык UML

Одним из самых известных объектно-ориентированных языков моделирования является UML (Unified Modeling Language). Унифицированный язык моделирования (UML) - это язык для определения, конструирования, визуализации и документирования артефактов системы, интенсивно использующей программное обеспечение. Это означает, что это язык, используемый для определения, конструирования обработка изображений и документирование компонентов программных систем [1].

Создателями UML являются три известных методолога разработки программного обеспечения: Грэди Буч, Ивар Джекобсон и Джеймс Румбо. Каждый из них является автором своей методологии и соответствующих обозначений. Их целью было создание языка моделирования, который не имел бы недостатков в своих собственных решениях и мог бы использоваться в любой объектно-ориентированной методологии. Представим описание этих методологий [2]:

  1. OOAD (Г. Буч) - эта методология полезна при проектировании и определении отношений со средой реализации, но она недостаточно поддерживает этап распознавания и анализа требований пользователей.
  2. OOSE (И. Джекобсон) - эта методология полезна при моделировании аспекта пользователей и жизненного цикла системы, но она недостаточно поддерживает реализацию.
  3. OMT (J. Rumbaugh) - эта методология полезна при моделировании предметной области, но она недостаточно поддерживает моделирование пользователей системы и ее реализацию.

Многие важные вопросы в области построения ИТ-систем не были охвачены ни одной из вышеупомянутых методологий, таких как создание прототипов, компоненты, адаптация нотации к индивидуальным предпочтениям дизайнеров и т.д. Цель создателей языка UML состояла в том, чтобы учесть эти аспекты.

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

У UML есть много преимуществ, но он не лишен недостатков. Многие критикующие его специалисты отмечают, что его определение слишком обширное (несколько сотен страниц текста и рисунков) и нестабильно (новая версия появляется каждые несколько лет). Более того, это определение содержит большое количество неточностей, которые часто приводят к тому, что разные люди по-разному интерпретируют одни и те же элементы языка, поэтому его роль в качестве стандартного языка моделирования существенно ограничена.

UML определяет следующий набор диаграмм [6]:

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

2. Диаграмма классов - используется для моделирования структуры данных, хранящихся в системе;

3. Динамические диаграммы - они используются для моделирования поведения:

  • диаграмма состояний;
  • диаграмма деятельности;
  • диаграммы взаимодействия: диаграмма последовательности и диаграмма сотрудничества;

4. Схемы реализации:

  • схема компонентов;
  • схема реализации;

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

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

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

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

1.4 Определение программных пакетов для проведения объектно-ориентированного подхода

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

  • Rational Rose;
  • StarUML;
  • MS Visio;
  • Dia;
  • ArgoUML;
  • имеются сервисы, которые позволяют выполнять построение диаграмм онлайн, к таким относятся:
    • Draw.io;
    • Gliffy;
    • LucidChart;
    • Caccoo.

Рассмотрим функционирование первых трех программных пакетов.

2 Описание работы программных пакетов для объектно-ориентированного подхода при проектировании информационной системы

В рамках данной главы будет представлено описание разработки диаграмм языка UML, как метода объектно-ориентированного подхода, в трех различных программных пакетах:

  • Rational Rose;
  • StarUML;
  • MS Visio.

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

Выполним построение для выбранной предметной области три диаграммы [6]:

  • вариантов использования (прецедентов, сценарии выполнения);
  • классов (статическая структура);
  • деятельности.

2.1 Описание работы в пакете MS Visio

Microsoft Visio – редактор диаграмм для Windows. Использует векторную графику для создания диаграмм. Доступен в двух версиях: стандартной и профессиональной.

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

Microsoft Visio может стать помощником в решении трех основных задач: в анализе сложных данных, в графическом представлении данных и в обмене этими данными между пользователями. Основной способ представления данных в Visio - это векторные фигуры, на основе которых строится диаграмма или план. Для удобства фигуре сгруппированы по тематическим категориям, в каждой из которых можно увидеть похожие по внешнему виду или по теме элементы [3]. Фигуры является основным, но не единственным средством для представления данных в Visio. Кроме них можно использовать текст и числовые данные, графические элементы и форматирование цветом.

На рисунке 1 отображен вид начальной страницы Microsoft Visio Professional 2010.

Рисунок 1 - Microsoft Visio Professional 2010

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

Фигуры является основным, но не единственным средством для представления данных в Visio. Кроме них можно использовать текст и числовые данные, графические элементы и форматирование цветом.

Самый удобный способ начать работу с Visio - создать документ на основе шаблона. При загрузке шаблона на область задач «Фигуры» подгружаются те категории графических элементов, которые могут вам понадобиться в процессе создания диаграммы, плана или карты выбранного типа.

На рисунке 2 отражена вкладка с перечнем готовых шаблонов в Microsoft Visio Professional 2010.

Рисунок 2 - Вкладка с перечнем готовых шаблонов

Пользователю доступны следующие шаблонные группы [3]:

  • общие;
  • бизнес;
  • блок-схема;
  • карты и планы этажей;
  • программы и базы данных;
  • расписания;
  • сеть;
  • техника.

Каждая категория имеет свой перечень шаблонов, который используется для представления объектов конкретной области [3]. Для построения диаграмм языка UML необходимо выбрать раздел «Программы и базы данных» (рис.3).

Рисунок 3 – Раздел «Программы и базы данных»

Из представленного перечня необходимо выбрать «Схема модели UML», пользователю предоставляется рабочий лист с перечнем диаграмм, которые можно построить в MS Visio (рис.4). В данном пакете можно построить следующие диаграммы:

  • деятельности;
  • взаимодействия;
  • компонентов;
  • топологии;
  • последовательности;
  • состояний;
  • статическая структура (классов);
  • сценария выполнения.

Рисунок 4 – Диаграммы UML

Представим построение диаграммы вариантов использования. Используя диаграмму использования можно определить:

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

Диаграмма вариантов использования оперирует такими понятиями как актер, вариант использования (прецедент) [2].

Актер представляет собой потенциального пользователя системы, рассматриваемой как единое целое, или пользователя только определенного фрагмента системы (подсистемы или даже отдельного класса).

Актер может взаимодействовать с системой различными (своими) способами. Каждый из этих методов называется вариантом использования и представляет собой последовательность действий, выполняемых системой, в результате которых наблюдаемые результаты доставляются субъекту.

На рисунке 5 представлена фигуры, которые будут использоваться при построении диаграмм вариантов использования.

Рисунок 6 – Фигуры для построения диаграммы

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

При добавлении актера на диаграмму, необходимо определить его свойства – имя, атрибуты, операции, ограничения и т.п.

На рисунке 7 представлено окно определения свойств актера.

Рисунок 7 – Свойства актера

В аналогичном окне определяются свойства варианта использования (рис.8).

Рисунок 8 – Свойства вариантов использования

На рисунке 9 представлена построенная диаграмма.

Рисунок 9 – Диаграмма вариантов использования

На рисунке представлены актеры и варианты использования, а также связи, на данном рисунке представлены два типа связи: использование и расширение.

Представим разработку диаграммы классов. Класс - это именованная коллекция объектов со сходными свойствами: семантика, атрибуты, поведение, отношения с другими объектами и т. Д.

Класс - это именованное описание группы объектов со схожими свойствами. Согласно этому определению, класс не является набором объектов, но используется для объявления объектов [6].

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

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

На рисунке 10 представлены фигуры, которые используются при построении диаграммы классов.

Рисунок 10 – Фигуры для построения диаграммы классов

При формировании классов вызывается окно свойств, в котором можно задать различные параметры класса (рис.11).

Рисунок 11 – Окно свойства класса

На рисунке 12 представлен созданный класс.

Рисунок 12 – Созданный класс

На рисунке 13 представлена созданная диаграмма классов.

Рисунок 13 – Диаграмма классов

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

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

Рисунок 14 – Фигуры диаграммы деятельности

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

Рисунок 15 – Диаграмма деятельности

Разработка диаграмм в пакете MS Visio отличается простотой и позволяет выполнить построение всех необходимых диаграмм.

2.2 Описание работы в пакете Rational Rose

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

  • С++;
  • Java;
  • XML;
  • и другие.

При запуске данного средства пользователю предоставляется главное окно программы (рис.16).

Рисунок 16 – Главное окно программы

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

В пакете Rational Rose диаграммы ранжируются по группам (рис.17).

Рисунок 17 – Группа моделей

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

Рисунок 18 – Создание диаграммы

При создании диаграммы вариантов использования (use case diagram) появляется набор инструментов, который позволяет выполнять построение данной диаграммы. Инструменты находятся посредине между деревом диаграмм и рабочей областью (рис.19).

Рисунок 19 – Инструменты для построения диаграммы вариантов использования

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

  • название;
  • атрибуты;
  • операции;
  • связи;
  • компоненты и другое (рис.20).

Рисунок 20 – Определение свойств актера

Таким же образом определяются свойства вариантов использования. при установке связей между элементами диаграммы необходимо установить свойства связей (рис.21).

Рисунок 21 – Свойство связи

На рисунке 22 представлена разработанная диаграмма.

Рисунок 22 – Диаграмма вариантов использования

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

Рисунок 23 – Инструменты для создания диаграммы классов

Основным преимуществом данного пакета является, то, что в отличии от Visio можно пользоваться ранее созданными элементами модели, которые добавляются в дерево диаграмм (рис.24).

Рисунок 24 – Добавленные элементы модели

На рисунке 25 представлена созданная диаграмма классов.

Рисунок 25 – Диаграмма классов

При добавлении связи можно указать ее название. На представленном рисунке отображаются перенесенные актеры с указанными атрибутами и операциями, которые определяются программным решением как классы.

На рисунке 26 представлены инструменты для создания диаграммы деятельности.

Рисунок 26 – Инструменты для диаграммы деятельности

Выполним построение диаграммы деятельности (см. рис.27). В отличии от пакета Visio, фигура решение может иметь название, поэтому некоторые состояния были опущены, их функцию выполняло решение, например решение «Готов купить товар» является аналогичным состоянию ранее разработанной диаграммы деятельности в пакете MS Visio.

Рисунок 27 – Диаграмма деятельности

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

2.3 Описание работы пакета StarUML

Программный пакет StarUML предназначен для построения диаграмм языка UML и применяется при объектно-ориентированном моделировании как Case средство. В отличии от ранее рассмотренных пакетов данный программный продукт является бесплатным и его можно скачать с сайта производителя.

На рисунке 28 представлено главное окно программы.

Рисунок 28 – Главное окно программы StarUML

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

Для того, чтобы создать необходимую диаграмму, необходимо выбрать в верхнем меню раздел Model и подраздел Add diagram (рис.29).

Рисунок 29 – Добавление диаграммы

При создании диаграммы вариантов использования, разработчику доступны следующие инструменты (рис.30).

Рисунок 30 – Инструменты для создания диаграммы

При добавлении объекта в рабочую часть, разработчику автоматически становится доступен инструментарий, который позволяет задавать свойства объекта (рис.31).

Рисунок 31 – Определение свойств объекта

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

Рисунок 32 – Разработанная диаграмма вариантов использования

При создании диаграммы классов предоставляется следующий инструментарий (рис.33).

Рисунок 33 – Инструментарий для создания диаграммы классов

Также как и в Rational Rose, возможно добавление ранее созданных элементов. На рисунке 34 представлена разработанная диаграмма классов.

Рисунок 34 – Диаграмма классов

На рисунке 35 представлен инструментарий для разработки диаграммы деятельности.

Рисунок 35 – Инструменты для диаграммы деятельности

На рисунке 36 представлена разработанная диаграмма деятельности.

Рисунок 36 – Диаграмма деятельности

Заключение

В рамках данной работы был проведен анализ принципов применения объектно-ориентированного подхода при проектировании информационных систем. Было выполнено построение диаграмм UML в трех различных программных пакетах:

  • Rational Rose;
  • StarUML;
  • MS Visio.

Если сравнивать эти пакеты необходимо отметить следующее, что при построении диаграмм UML лучше использовать специализированное программное обеспечение, которое используется для объектно-ориентированного проектирования - Rational Rose и StarUML. В то же время пакет MS Visio является более широко профильным и не имеет некоторых элементов, которые облегчают построение диаграмм.

Два пакета - Rational Rose и MS Visio являются платными, что накладывает определенный отпечаток на их распространение.

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

Список использованной литературы

  1. Буч Г. Введение в UML от создателей языка / Гради Буч , Джеймс Рамбо , Ивар Якобсон. - М.: ДМК Пресс, 2015. - 496 c..
  2. Гома Х. UML. Проектирование систем реального времени, параллельных и распределенных приложений / Хассан Гома. - М.: ДМК Пресс, 2016. - 700 c..
  3. Грекул В.И. Управление внедрением информационных систем / В.И. Грекул, Г.Н. Денищенко, Н.Л. Коровкина. - Москва: РГГУ, 2014. - 224 c
  4. Йордон Э. Объектно-ориентированный анализ и проектирование систем / Эдвард Йордон , Карл Аргила. - М.: ЛОРИ, 2014. - 264 c
  5. Ларман К. Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку / Крэг Ларман. - М.: Вильямс, 2013. - 736 c.
  6. Леоненков А. Самоучитель UML / А. Леоненков. - СПб .: БХВ-Петербург, 2013.