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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

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

Вначале 70-х гг. в США начался кризис программирования, который выражался в том, что разработка больших проектов выполнялась с отста­ванием от графика и/или превышением сметы расходов. Кроме того, зачастую разработанный программный продукт не обладал необходимыми функциональными возможностями, при этом его производитель­ность была достаточно низкой, а качество полученного программного обеспечения (ПО) не уст­раивало заказчиков.

К причинам неудачных разработок относятся:

  • недостаточно четкая и недостаточно полная формулировка требований к ПО;
  • неудовлетворительное планирование;
  • недостаточное вовлечение пользователей в работу над проек­том;
  • и т.д.

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

Среди специалистов, занимающихся ООП, можно выделить К. Дейта, А. Степанова, Э. Дейкстра и др.

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

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

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

Цель курсовой работы: изучение сущности объектно-ориентированного подхода при проектировании ИС, обзор средств проектирования, использующих данный подход.

Задачи, направленные на достижение цели курсовой работы:

  • ознакомление с понятием «объектно-ориентированное проектирование»;
  • рассмотрение основ ООП, преимуществ и недостатков подхода;
  • ознакомление с понятием «язык UML»;
  • рассмотрение основных понятий, используемых в UML, структуры языка, видов диаграмм;
  • обзор некоторых средств проектирования, использующих ООП.

Основная часть курсовой работы состоит из трех глав.

В первой главе рассматриваются основные понятия объектно-ориентированного проектирования. Во второй главе рассматриваются основные сведения о языке UML. В третьей главе приводится краткий обзор некоторых CASE-средств, поддерживающих ООП и язык UML.

Глава 1. Объектно-ориентированный подход: суть метода, преимущества и недостатки

Объектно-ориентированный анализ и проектирование (ООАиП) – это технология разработки ИС, в основу которых положена объектно-ориентированная методология представления предметной области в виде объектов, которые являются экземплярами соответствующих классов. [2]

Основными понятиями объек­тно-ориентированного проек­тирования (ООП) являются «объект», «класс».

Объект – это предмет или явление, которое имеет четко определенное поведение и обладает состоянием, индивидуальностью и поведением. [6]

Состояние объекта характеризуется переч­нем всех возможных свойств данного объек­та и текущими значе­ниями каждого из этих свойств. Поведение объек­та полностью определяется его действиями. Индивидуальность – это те свойства объекта, которые отличают данный объект от всех других объектов. [9]

Структура и поведение схожих между собой объектов определяют общий для них класс.

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

Опре­деление классов и объектов является одной из самых сложных задач ООП.

Целью применения ООП является выделение объектов, которые составляют организацию, а также распределение между ними ответственностей за выполняемые ими действия. В качестве объектов предметной области могут рассматриваться конкретные предметы, а также абстрактные или реальные сущности. При этом каждый объект характеризуется своим состоянием, набором операций для проверки и изменения данного состояния. Каждый рассматриваемый объект является представителем некоторого класса однотипных объектов, который определяет их общие свойства. Все экземпляры (представители) одного и того же класса имеют одинаковый набор операций и могут реагировать на одинаковые сообщения. [10]

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

Объекты и классы организуются с использованием следующих принципов:

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

В ООП используется объектная декомпозиция, при этом статиче­ская структура проектируемой ИС описывается в терминах объектов и связей между ними, само поведение системы описывается в терминах обме­на сообщениями ме­жду объектами. Отметим, что каждый объект системы обладает собственным поведе­нием, которое моделирует поведение объекта реального мира. [15]

Концептуальной основой ООП яв­ляется объектная модель, к основным элементам которой относятся:

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

Кроме основных элементов есть еще три дополнительных элемента, которые не являются строго обязательными:

  • типизация (ограничение, которое накладывается на класс объектов и пре­пятствует взаимозаменяемости различных классов);
  • устойчивость (свойство объекта существовать во времени и/или в пространстве);
  • параллелизм (свойство объектов находиться в активном/пассивном состоянии и различать активные и пассивные объекты между собой). [2]

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

К преимуществам ООП можно отнести следующее:

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

К недостаткам ООП можно отнести следующее:

  • порождение огромных иерархий классов;
  • дополнительные расходы памяти и процессорного времени при выполнении программ на некоторых ЯП, в которых все данные являются объектами, в том числе и элементарные типы;
  • реализация полиморфизма может снизить скорость выполнения программ. [6]

Выводы:

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

К основным понятиям ООП относятся «класс» и «объект».

Основными принципами ООП являются: инкапсуляция, наследие и полиморфизм.

Главное преимущество объектно-ориентированного подхода к проектированию ИС заключается в том, что оно упрощает задачу внесения изменений в системную архитектуру, так как представление состояния объекта не оказывает на нее влияния.


 


 

Глава 2. Язык моделирования UML

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

Язык UML – это графический язык моделирования общего назначения, который предназначен для спецификации, проектирования, визуализации и документирования всех артефактов, которые создаются при разработке программных систем. [3]

Язык UML – это язык графического описания для объектного моделирования в области разработки ПО.

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

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

Выделяются следующие главные цели в разработке языка UML:

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

Язык UML имеет сложную иерархическую структуру, которая показана на рис.1. [1]

Рис. 1 – Структура языка UML

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

В языке UML имеется четыре вида сущностей:

  • структурная сущность;
  • поведенческая сущность;
  • группирующая сущность;
  • аннотационная сущность. [3]

Данные виды сущности составляют второй уровень структурного дерева языка UML.

Понятие «структурная сущность» объединяет семь видов пиктограмм: классы, активные классы, интерфейсы, прецеденты, кооперации, компоненты и узлы. Пиктограммы – это логические кирпичики, которые являются составляющими UML-диаграмм. [7]

Поведенческие сущности делятся на два вида диаграмм: взаимодействия, автоматы.

Группирующие и аннотационные сущности имеют по одному виду пиктограмм, которые называются пакетами и примечаниями соответственно. [3]

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

Третью ветвь структурного дерева языка UML составляют диаграммы.

UML-диаграмма – это графическое представление набора элементов, которое изображается чаще всего в виде связанного графа с вершинами (сущности) и ребрами (отношения). [4]

Диаграммы рисуются для визуализации системы с разных точек зрения.

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

  • Структурные диаграммы: диаграммы классов, диаграммы компонентов; диаграммы композитной (составной) структуры, диаграммы развёртывания, диаграммы объектов, диаграммы пакетов.
  • Диаграммы поведения: диаграммы деятельности, диаграммы состояний, диаграммы вариантов использования, диаграммы взаимодействия. [4]

Структура диаграмм UML представлена на рис.2. [1]

Рис. 2 – Структура диаграмм UML

 Диаграмма классов – это статическая структурная диаграмма, которая описывает структуру системы: классы, атрибуты классов, методы и зависимости между классами. [4]

Диаграммы классов предназначены для моделирования статической структуры классов системы, а также связей между ними. При моделировании систем данный тип диаграмм используется чаще всего.

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

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

Диаграмма объектов позволяет продемонстрировать полный или частичный снимок моделируемой системы в некоторый определенный момент времени. [4]

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

Диаграмма деятельности – это диаграмма, на которой показано разложение некоторой деятельности на составные части. [7]

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

Рис. 3 – Пример диаграммы деятельности

Диаграмма автомата – это диаграмма, представляющая конечный автомат с простыми состояниями, переходами и композитными состояниями. [3]

Диаграмма прецедентов или диаграмма вариантов использования – это диаграмма, отражающая отношения, которые существуют между факторами и прецедентами. [1]

Основная задача данной диаграммы заключается в представлении единого средства, дающего возможность заказчику, конечному пользователю и разработчику совместно обсудить функциональность и поведение проектируемой системы. Пример диаграммы прецедентов приведен на рис.4. [7]

Рис. 4 – Пример диаграммы прецедентов

Диаграмма последовательности – это диаграмма, изображающая упорядоченное во времени взаимодействие объектов. На такой диаграмме изображаются объекты, участвующие во взаимодействии, и последовательность сообщений, которыми они обмениваются. [7]

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

Выделяют три основных варианта использования языка UML: рисование, моделирование, разработка (рис.5).

Рис. 5 – Варианты использования языка UML

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

Моделирование предполагает создание и изменение модели системы в терминах элементов моделирования, предусматриваемых метамоделью UML.

Разработка предполагает детальное моделирование, реализацию и тестирование приложения в терминах UML. [3]

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

К преимуществам UML можно отнести следующее:

  • объектная ориентированность UML делает методы описания результатов анализа и проектирования систем семантически близкими к методам программирования на современных ООЯП;
  • возможность описания системы практически со всех допустимых точек зрения с учетом разных аспектов поведения системы;
  • простота чтения диаграмм UML;
  • расширяет и позволяет вводить собственные текстовые и графические стереотипы, способствующие его применению не только в сфере программной инженерии;
  • широкое распространение и динамичное развитие. [4]

К недостаткам UML можно отнести следующее:

  • избыточность языка (UML включает много избыточных или практически неиспользуемых диаграмм и конструкций).
  • неточная семантика (неточность описания UML приводит к несовместимости инструментов из-за уникального трактования спецификаций);
  • проблемы при изучении и внедрении;
  • «только код отражает код» (UML ценится при подходах, которые компилируют модели для генерирования исходного или выполнимого кода, однако любой сгенерированный код будет ограничен тем, что может разглядеть или предположить интерпретирующий UML инструмент);
  • кумулятивная нагрузка/Рассогласование нагрузки;
  • UML – это язык моделирования общего назначения, пытающийся достигнуть совместимости со всеми возможными языками разработки. [7]

Выводы:

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

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

Конструктивное использование языка UML основывается на понимании общих принципов моделирования сложных ИС, а также особенностей процесса ООАиП в частности. Выбор выразительных средств построения моделей сложных ИС предопределяет те задачи, которые можно решить с использованием данных моделей.

Глава 3. Обзор программных средств, реализующих объектно-ориентированный подход

Язык UML поддерживается практически всеми мировыми производителями CASE-средств. Хорошее объектно-ориентированное CASE-средство должно содержать четыре основных блока: блок анализа, блок проектирования, блок разработки, блок инфраструктуры. Одним из лучших CASE-средств на сегодняшний день является семейство программ Rational Rose, разработанное фирмой Rational Software Corporation. [16]

Рассмотрим некоторые CASE-средства, имеющие поддержку UML.

1. Microsoft Visio

Microsoft Visio – это средство для построения диаграмм, разработанное компанией Microsoft. MS Visio позволяет преобразовывать технические концепции и бизнес-процессы в определенную визуальную форму, однако данный пакет предназначен только для рисования диаграмм. [12]

Изобразительные же возможности Visio действительно весьма широки:

  • Используя предопределенные фигуры Visio Professional, drag-and-drop и мастера, можно быстро и просто создавать понятные и информативные диаграммы.
  • Возможности Visio можно легко расширять, используя новые шаблоны бизнес-диаграмм.
  • В Visio можно прототипировать интерфейс приложений с помощью встроенных шаблонов пользовательского интерфейса Microsoft Windows XP, что позволяет создавать модель пользовательского интерфейса в стандартном Windows XP-стиле.
  • С помощью шаблонов UML можно создавать UML-диаграммы статической структуры ПО.
  • и т.д. [5]

Однако MS Visio не является полноценным средством моделирования, а является программой для создания иллюстраций, умеющей также рисовать диаграммы UML. [5]

Интерфейс MS Visio очень похож на интерфейс других программ семейства MS Office (рис.6). [15]

Рис. 6 – Интерфейс MS Visio

К особенностям MS Visio можно отнести следующее:

  • возможность документирования и анализа бизнес-процессов;
  • возможность отслеживания комментариев членов команды;
  • поддержка Tablet PC;
  • наличие инструментов для мозгового штурма;
  • возможность создания календарей;
  • простое создание и использование технических видов диаграмм;
  • быстрое создание и редактирование диаграмм;
  • поддержка множества локальных языков;
  • интеграция с другими приложениями MS Office. [12]

2. IBM Rational Rose

CASE-средство IBM Rational Rose представляет собой современный интегрированный инструмент для анализа, проектирования архитектуры, моделирования и разработки ИС. В Rational Rose язык UML стал базовой технологией визуализации и разработки систем, чем и обуславливается популярность и стратегическая перспективность данного продукта. [1]

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

Являясь простым и при этом мощным CASE-средством для визуальной разработки ИС любого класса, программа Rational Rose позволяет создавать, изменять, а также проверять на корректность разрабатываемые модели. [14]

Интерфейс программы Rational Rose представлен на рис.7. [16]

Рис. 7 – Интерфейс Rational Rose

Одним из преимуществ данного продукта является возможность использования UML-диаграмм. В Rational Rose представлены следующие типы диаграмм:

  • диаграммы прецедентов (рис.8);
  • диаграммы топологии;
  • диаграммы классов (рис.9);
  • диаграммы компонент;
  • диаграммы активности;
  • диаграммы состояний;
  • диаграммы взаимодействия. [1]

Рис. 8 – Диаграмма прецедентов

Рис. 9 – Диаграмма классов

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

  • бизнес-аналитики: возможность детального описания и анализа бизнес-процессов предметной области;
  • системные аналитики: возможность разработки необходимого функционала ИС, максимально удовлетворяющего запросы заказчика, используя описания бизнес-аналитиков;
  • архитекторы: возможность создания мощной и гибкой архитектуры ИС;
  • аналитики по разработке баз данных (БД): возможность визуального проектирования и генерирования БД любого размера. [1]

К преимуществам Rational Rose также относятся:

  • полноценная поддержка UML;
  • многоязыковая локализация;
  • интеграция Rational Rose с другими пакетами от компании Rational. [16]

3. Sparx Systems Enterprise Architect

Продукт Sparx Systems Enterprise Architect от компании Sparx Systems – это программа для UML-моделирования и проектирования систем нового поколения.

Продукт Enterprise Architect выпускается в вариантах для работы с операционными системами (ОС) Linux и Windows, при этом является достаточно неплохим средством для UML-моделирования, имеющим возможность многопользовательской работы, а также дружественный интерфейс.

Enterprise Architect обладает множеством функций, которые, как правило, распределены между несколькими приложениями, включая, в частности, поддержку plagin-ов, отличные возможности по генерации документации, генерацию HTML, XSD-схем, а также поддержку для таких языков программирования (ЯП), как C++, PHP, Java, VB.Net, Visual Basic, C# или Delphi. [15]

Интерфейс программы Enterprise Architect представлен на рис. 10.

Рис. 10 – Интерфейс Enterprise Architect

К основным возможностям Enterprise Architect относятся:

  • нотация UML 2.0 с поддержкой всех видов диаграмм;
  • моделирование БД (с использованием прямого проектирования в DDL и обратного проектирования из ODBC);
  • поддержка ЯП C++, PHP, Java, VB.Net, Visual Basic, C# или Delphi;
  • автоматизация интерфейса программы, поддержка макросов;
  • генерация документации в форматах RTF и HTML;
  • и т.д. [11]

Продукт Enterprise Architect существует в трех редакциях: EA Desktop Edition (для индивидуальных аналитиков и/или разработчиков), EA Professional Edition (для групповой разработки) и EA Corporate Edition (для больших команд). [15]

ЗАКЛЮЧЕНИЕ

Объектно-ориентированное проектирование является подходом к разработке ПО, который основан на использовании объектов. К основным понятиям ООП относятся «класс» и «объект».

К основополагающим принципам ООП относятся:

  • инкапсуляция;
  • наследование;
  • абстрагирование;
  • полиморфизм;
  • интерфейс.

Язык UML – это язык графического описания для объектного моделирования в области разработки ПО, являющийся унифицированным языком моделирования.

Стоит отметить, что язык UML не относится к языкам программирования.

Язык UML используется не только для моделирования ПО, но и для описания и моделирования бизнес-процессов и отображения организационных структур.

Язык UML поддерживается практически всеми мировыми производителями CASE-средств, среди которых приоритет остается за Rational Rose.

В ходе выполнения курсовой работы были рассмотрены основы ООП (основные понятия, сущность подхода, преимущества и недостатки подхода), язык UML (основные понятия, цели, сущности и т.д.) и выполнен обзор некоторых CASE-средств, поддерживающих UML (MS Visio, IBM Rational Rose, Sparx System Enterprise Architect).

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Боггс У., Боггс М. UML и Rational Rose 2002. – М.: Лори, 2009. – 510 с.
  2. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений. – М.: Вильямс, 2010. – 312 с.
  3. Буч Г., Рамбо Дж., Джекобсон А. Язык UML. Руководство пользователя. – 2-е изд. – СПб.: Питер, 2004. – 432 с.
  4. Буч Г., Якобсон А., Рамбо Дж. UML. Классика CS. 2-е изд. / Пер. с англ.; Под общей редакцией проф. С. Орлова – СПб.: Питер, 2006. – 736 с.
  5. Гелмерс С. А. Microsoft Visio 2010. Шаг зашагом. – М.: ЭКОМ Паблишерз, 2011. – 387с.
  6. Грэхем И. Объектно-ориентированные методы. Принципы и практика. – 4-е изд. – М.: Вильямс, 2009. – 880 с. 
  7. Киммел П. UML. Основы визуального анализа и проектирования. М.: НТ-Пресс, 2009. 312 с.
  8. Маклафлин Б., Поллайс Г., Уэст Д. Объектно-ориентированный анализ и проектирование. – СПб.: Питер, 2013. – 297 с.
  9. Мейер Б. Объектно-ориентированное конструирование программных систем. – М.: Русская редакция, 2012. – 403с.
  10. Фридман А. Л. Основы объектно-ориентированной разработки программных систем. – М.: Финансы и статистика, 2013. – 192с.
  11. Якобсон Я., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. – СПб.: Питер, 2011. – 496 с.
  12. Якушев Д.М. IT-проектирование в программе Microsoft Visio 2002 Professional. – М: Познавательная книга Пресс, 2010. – 384 с.
  13. Михайлов А. Объектно-ориентированная технология разработки программных систем. [Электронный ресурс]. Режим доступа: http://ooad.asf.ru/standarts/Library/OORP/List09-1.aspx (вход свободный).
  14. Общая характеристика CASE-средства IBM Rational Rose. [Электронный ресурс]. Режим доступа: http://www.excode.ru/art6201p1.html (вход свободный).
  15. Объектно-ориентированное программирование. [Электронный ресурс]. Режим доступа: http://codingcraft.ru/oop.php (вход свободный).
  16. UML-диаграммы в Rational Rose. [Электронный ресурс]. Режим доступа: http://www.caseclub.ru/articles/rose2.html (вход свободный).