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

Применение объектно-ориентированного подхода при проектировании информационной системы (Анализ программных продуктов, реализующих объектно-ориентированный подход)

Содержание:

ВВЕДЕНИЕ

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

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

В настоящее время, когда возможности ЭВМ практически не ограничены, сложность и объем программ увеличивается, наиболее актуальным является использование объектно-ориентированного подхода, поскольку, еслиобъем программы превышает 100000 строк, структурный подход не работает.

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

В соответствии с поставленной целью задачами работы являются:

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

- определение преимуществ и недостатков объектно-ориентированного подхода;

- анализ продуктов, реализующих объектно-ориентированный подход;

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

ГЛАВА 1.ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА ПРИ ПРОЕКТИРОВАНИИ ИНФОРМАЦИОННОЙ СИСТЕМЫ

Сущность объектно-ориентированного подхода при проектировании информационной системы

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

Рисунок 1. Характеристика основных методов декомпозиции систем[1]

Объектно-ориентированный подход к проектированию основан на представлении предметной области задачи в виде множества моделей для независимой от языка разработки программной системы на основе ее прагматики.[2]

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

Метод объектно-ориентированного проектирования основывается на:

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

- модульной структуре программ;

- нисходящем процессе проектирования, используемом при выделении объектов[4].

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

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

Именно объектно-ориентированная декомпозиция отличает объектно-ориентированное проектирование от структурного; в первом случае логическая структура системы отражается абстракциями в виде классов и объектов, во втором - алгоритмами[5].

Базовыми понятиями объектно-ориентированного подхода являются:

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

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

- состояние объекта - характеризуется перечнем всех его свойств и их текущими значениями;

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

- событие–действие программы, инициируемое пользователем (внешние события) или генерируемое системой (внутренние события), приводящее к изменению состояния объекта.

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

Соотношение основных понятий объектно-ориентированного подходапредставлено на рисунке 2.

Рисунок 2. Соотношение основных понятий объектно-ориентированного подхода[8]

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

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

Видимость атрибута может быть:

- public – общий, открытый (+);

- private – закрытый, секретный (-);

- protected – защищенный (#).

Определенное воздействие одного объекта на другой носит название операции и представляет собой реализацию услуги, которую можно запросить у любого объекта[10].

Концептуальная основа объектно-ориентированного подхода состоит из четырех главных и трех дополнительных элементов (рис. 3).

Рисунок 3. Элементы объектно-ориентированного подхода[11]

Абстрагирование позволяет сосредоточить внимание на существенных характеристиках объекта с точки зрения наблюдателя. Так абстракция должна охватить лишь самую суть объекта.

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

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

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

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

Иерархия представляет собой ранжированную или упорядоченную последовательность модулей.

Типизация – способ защиты от использования объектов одного класса вместо другого и позволяет управлять таким использованием.

Параллелизм – свойство, отличающее активные объекты от пассивных.

Устойчивость – способность объекта существовать во времени, переживая породивший его процесс, или в пространстве, перемещаясь из своего первоначального адресного пространства[13].

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

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

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

Посредством инкапсуляции реализуются следующие возможности:

- совместное хранение данных и функций (т.е. свойств и методов) внутри объекта;

- сокрытие внутренней информации от пользователя;

- изоляция пользователя от особенностей реализации (независимость от машины и потенциально дружественный интерфейс приложений)[14];

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

Объектно-ориентированное проектирование состоит из следующих этапов:

- разработка структуры классов, описывающей связь между классами и объектами;

- разработка диаграмм объектов, показывающие взаимосвязи с другими объектами;

- разработка внутренней структуры программного продукта[16].

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

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

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

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

UML определяет двенадцать типов диаграмм, разделенных на три группы:

- четыре типа диаграмм представляют статическую структуру приложения;

- пять представляют поведенческие аспекты системы;

- три представляют физические аспекты функционирования системы (диаграммы реализации)[17].

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

Наиболее используемыми являются следующие виды диаграмм:

- диаграмма прецедентов - для определения границы и контекста моделируемой предметной области и формирования общих требований к поведению проектируемой системы (Приложение 1);

- диаграмма классов –одна из важнейших диаграмм UML - используется для документирования программных систем, и основным ее компонентом является класс (Приложение 2);

- диаграмма последовательностей;

- диаграмма взаимодействия- диаграмма, на которой представлено взаимодействие, состоящее из множества объектов и отношений между ними, включая и сообщения, которыми они обмениваются[18] (Приложение 3);

- диаграмма состояний;

- диаграмма активности–для проектирования процессов (например, бизнес-процессов) или операций (в роли визуального языка программирования) (Приложение 4);

- диаграмма развертывания;

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

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

Преимущества и недостатки объектно-ориентированного подхода

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

Так к преимуществам данного подхода к проектированию информационных систем следует отнести:

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

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

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

- значительная экономия трудозатрат при производстве программного обеспечения, в особенности, типичного за счет использования ранее разработанных, в том числе и другими коллективами программистов, библиотек объектов и методов[21];

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

К недостаткам объектно-ориентированного подхода следует отнести:

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

- снижение быстродействия за счет более сложной организации программной системы;

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

- сложность проектирования классов;

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

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

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

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

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

ГЛАВА 2.АНАЛИЗ ПРОГРАММНЫХ ПРОДУКТОВ, РЕАЛИЗУЮЩИХ ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД

2.1. Характеристика продуктов, реализующих объектно-ориентированный подход

Для проектирования информационной системы посредством объектно-ориентированного подхода разработано множество CASE-средств для построения UML-диаграмм.

ВданнойработебудутрассмотреныследующиеCASE-средства: IBM Rational Rose, Sparx Systems Enterprise Architect, Poseidon for UML,MagicDraw, IBM Rational Tau.

Так фактическим стандартом в области UML-проектирования является IBM RationalRose - мощное средство анализа, моделирования и разработки программных систем. RationalRose пригодится при решении практически любых задач проектирования информационных систем, как проектирование новой системы, так и доработки старой, посредством использования процесса обратного проектирования (рис.4)[23].

Рисунок 4. Интерфейс RationalRose[24]

Выпускаются следующие версии продукта:

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

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

- RationalRoseRealTime - для получения 100 % исполняемого кода в реальном масштабе времени, что позволяет проводить прямое и обратное проектирование на языках С или С++;

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

- RationalRoseDataModeler - функциональность по проектированию баз данных. Функции DataModeler входят в состав RoseEnterprise или Professional[25].

Основными возможностямиRationalRoseявляются:

- структурное представление элементов, наглядно отображающее их состав и взаимосвязи;

- прямое и обратное проектирование на языках: ADA, Java, С, C++, Basic;

- поддержка технологий COM, DDL, XML;

- интеграция моделей бизнес-процесса, приложений и данных;

- возможность генерации схем БД Oracle и SQL;

- открытый API, позволяющий создавать модули для других языков программирования[26];

- интеграция с программными продуктами, например, MicrosoftVisualStudio;

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

- поддержка командной работы;

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

- контроль ошибок при моделировании позволяет исправить ошибки с учетом их наследования и передачи на очередной уровень моделирования;

- документирование моделей, настраиваемое на потребности пользователя[27].

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

Рисунок 5. ИнтерфейсSparx Systems Enterprise Architect[28]

EnterpriseArchitect существует в вариантах для Windows и Linux и является хорошим средством для UML-моделирования, с возможностью многопользовательской работы и дружественным интерфейсом, реализующим такие функции, как генерация документации, поддержка плагинов, генерация XSD-схем и HTML ().

EnterpriseArchitect существует в трех редакциях:

- EA DesktopEdition - простейший инструмент проектирования, имеющий некоторые ограничения: не поддерживаетсяимпорт/экспорт кода и DDL, Active X-интерфейс и совместный доступ к диаграммам;

- EA ProfessionalEdition - полнофункциональная среда UML-моделирования, нацеленная на групповую разработку, поддерживает совместный доступ к созданным моделям, Active X, XMI, импорт/экспорт кода и DDL, извлечение схем БДOracle, SQL Server и MS Access;

- EA CorporateEdition - наиболее полная редакция, включающая все возможности настольной и профессиональной версий, возможность соединения с MySQL, SQL Server, PostgreSQL, SybaseAdaptiveServerAnywhere и Oracle9i, поддержку авторизации пользователей, группы пользователей и блокировку элементов[29].

EnterpriseArchitectпредоставляет следующие возможности:

- поддержка C++, Java, C#, VB, VB.Net, Delphi, PHP, .NET;

- моделирование БД, прямое проектирование в DDL и обратное проектирование из ODBC;

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

- поддержка паттернов проектирования;

- генерация документации в форматах HTML и RTF;

- автоматизация интерфейса, поддержка макросов и др[30].

Преимуществами EnterpriseArchitect являются:

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

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

- динамическое моделирование модели;

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

- мощные средства создания документов и создания подробных отчетов с необходимой информацией в нужном формате с полным редактором шаблонов WYSIWYG. При нажатии кнопки автоматически создаются версии HTML вашей модели для легкого распространения через Интернет или в интрасеть организации[31];

- генерация и обратная разработка исходного кода для многих популярных языков, в том числе:ActionScript, Ada, CиC ++, Delphi, PHP и др.;

- единая независимая от платформы модель (PIM) может генерировать множество целевых решений для конкретных платформ - обеспечивая значительное повышение производительности.

Возможности моделирования бизнес-процессов EnterpriseArchitect позволяют:

- визуализировать бизнес-процесс с профилем UML для BPMN;

- генерировать исполняемые BPEL-скрипты из моделей BPMN;

- подтвердитьправильностьмоделейBPMN[32].

Poseidonfor UML - это популярное CASE-средство для UML-моделирования. Poseidon берет свое начало из открытого проекта ArgoUML

Poseidon известен своим потрясающим удобством (usability), очень функционален и имеет весьма приятный с виду и удобный, интуитивно понятный интерфейс (рис. 6).

Рисунок 6. Интерфейс PoseidonforUML[33]

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

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

- StandardEdition - расширяемая базовая версия для профессионалов предлагает дополнительные возможности обратного проектирования, отмены и повтора операций с моделью, drag-and-drop, и дополнительную документацию;

- ProfessionalEdition - для профессиональных разработчиков ПО, включающая более гибкий механизм генерации кода, JAR-Import, генерацию HTML-документации и др.;

- EmbeddedEdition - для разработки приложений для встраиваемых устройств. Она имеет все возможности стандартной версии (включая UMLdoc и возможности MDL-импорта) и оптимизирована для кодогенерации в ANSI C и C++[34].

- EnterpriseEdition - наиболее полная версия продукта, обеспечивающая такие возможности:

- эффективное взаимодействие в реальном времени;

- поддержка многопользовательской разработки;

- контроль версий;

- клиент-серверная архитектура;

- настраиваемая генерация кода для Java, C#, C++, VB.net, IDL, SQL DDL, Perl и Delphi;

- независимость от платформы;

- многомодельное редактирование и масштабирование модели и др.[35]

MagicDraw - это удостоенный наград инструмент бизнес-процессов, архитектуры, программного обеспечения и системного моделирования с поддержкой совместной работы. Разработанный для бизнес-аналитиков, аналитиков программного обеспечения и программистов, этот динамичный и универсальный инструмент разработки облегчает анализ и проектирование объектно-ориентированных систем и баз данных. Он обеспечивает лучший в отрасли механизм разработки кода (с полной поддержкой «туда-обратно» для языков программирования Java, C ++, C #, CL (MSIL) и CORBA IDL), а также моделирование схемы базы данных, создание DDL и средства обратной инженерии[36].

MagicDraw поддерживает метамодель UML 2, новейший стандарт XMI для хранения данных и самые популярные языки программирования для реализации.В отличие от других сред моделирования UML и архитектуры, MagicDraw упрощает развертывание среды жизненного цикла разработки программного обеспечения, Open API упрощают интеграцию с приложениями, которые работают вместе, интегрирует со многими ведущими продуктами: IDE, требованиями, тестированием, оценкой, MDD, базой данных и др.[37]

Интерфейс MagicDraw представлен на рисунке 7.

Рисунок 7. Интерфейс MagicDraw[38]

MagicDraw обладает следующими преимуществами:

- независимость от конкретной методологии развития. MagicDraw обеспечивает независимость от конкретного процесса разработки ПО, позволяя централизовать моделирование бизнеса и процессов, сбор и проектирование требований, не привязан ни к одной фазе проекта;

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

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

- сотрудничество и развитие команды - используя TeamworkServer, несколько разработчиков могут работать одновременно на одной и той же модели;

- быстрое производство модели из существующего исходного кода. Революционная инженерия MagicDraw - это самый быстрый способ получить UML-модели из исходных текстов Java, C #, C ++, CORBA IDL, EJB 2.0, DDL, CIL (MSIL), WSDL и XML Schema;

- немедленное возвращение исходного кода из модели UML.MagicDraw генерирует код для Java, EJB, C #, C ++, CORBA IDL, DDL, WSDL, XML Schema. Интеграция с самыми популярными IDE (Eclipse, IBM WSAD и RAD, BorlandJBuilder, IntelliJ IDEA, NetBeans, SunJavaStudio) устраняет необходимость в родной среде MagicDraw[40];

- автоматическое создание отчетов и создание обновленных отчетов на основе ваших собственных шаблонов с указанным макетом и форматированием;

- быстрая работа между областями моделирования. MagicDraw позволяет моделировать преобразования в обоих направлениях: от независимой от платформы модели (PIM) до платформы конкретной модели (PSM) и наоборот;

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

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

- бесплатная поддержка и переносимость[41].

IBM RationalTau обеспечивает стандартизованную разработку сложных систем и программного обеспечения на основе моделей.Это решение используется при разработке информационных систем и корпоративных ИТ-приложений, в том числе архитектуры SOA (рис.8)[42].

Рисунок 8. Интерфейс IBM Rational / Telelogic Tau[43]

IBM RationalTau реализует следующие возможности:

- поддерживает разработку сервис-ориентированной архитектуры (SOA) на основе моделей;

- обеспечивает автоматическую проверку на наличие ошибок и проверку моделей на основе правил, а также предоставляет анализатор на базе моделей;

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

- обеспечивает возможность совместной работы;

- автоматически создает пользовательские отчеты и документацию на любой стадии цикла разработки;

- обеспечивает автоматическое генерирование и выполнение тестов;

- имеет открытую архитектуру, основанную на UML 2.1, что позволяет дополнять и настраивать Tau в соответствии с потребностями организации;

- опция Verifier в режиме "реального" времени позволяет моделировать поведение всей системы или ее отдельных частей, с использованием MSС-диаграмм (MessageSequenceChart), находить ошибки на самых ранних стадиях дизайна, что сокращает время на поиск ошибок и значительно снижает затраты на тестирование;

- наличие 100% готового к использованию кода, который автоматически создается встроенным кодогенератором. В настоящее время Tau имеет 4 независимыхкодогенератора: С, С++, C#, Java. Так пользователь имеет возможность создавать модель (систему), не привязываясь конкретной операционной системе или типу процессора.[44]

Tau имеет 3 составляющих:

- собственно Tau, которым обеспечивается построение модели с использованием диаграмм, имеющихся в стандарте UML2.0, проверка их на соответствие синтаксису и семантики (нотации) языка UML2.0 и автоматический поиск и локализация ошибок в диаграммах;

- Tau/Architect, которым обеспечивается помимо вышеописанного еще и динамическая проверка поведения модели и отработка и корректировка функционала, закладываемого в модель;

- Tau/Developer, которым обеспечивается помимо вышеописанного еще и автоматическая генерация до исходного кода на языке используемого кодо-генератора[45].

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

Tau может быть интегрирован с DOORS [RequirementsManagement] так, что сразу становится наглядным как каждое из конкретных требований реализуется с помощью тех или иных диаграмм, описывающих поведение системы\модели. При этом возможности трассировки DOORS сохраняются и имеют продолжение в Tau[46].

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

2.2. Выбор оптимального программного продукта для проектирования информационной системы

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

Так оптимальное объектно-ориентированное CASE-средство должно содержать четыре основных блока: анализ, проектирование, разработка и инфраструктура. Характеристики этих блоков представлены на рисунке 9.

Основными критериями оценки и выбора CASE-средств являются:

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

- надежность;

Рисунок 9. Концепция определения оптимального объектно-ориентированного CASE-средства[47]

- сопровождаемость;

- переносимость;

- стоимость, затраты и эффект внедрения[48].

Каждый критерий должен быть выбран и адаптирован экспертом с учетом особенностей конкретного процесса.

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

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

Рисунок10. Модель процесса оценки и выбора CASE-средства[49]

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

Таблица

Сравнительный анализ программных продуктов для проектирования информационной системы

Критерии выбора

CASE-средствадля построения UML-диаграмм

RationalRose

EnterpriseArchitect

Poseidonfor UML

Magic

Draw

RationalTau

1

2

3

4

5

6

Среда для создания диаграмм разнообразных моделей

+

+

+

+

+

Создание пользовательского интерфейса

+

+

+

+

+

Создание концептуаль-ных и физ. моделей структуры базы данных

+

+

+

+

+

Обратное проектирование

+

+

+

+

+

Генерация программного кода

+

+

+

+

+

Генерация документации

+

+

+

+

+

Независимость от платформы

-

+

+

+

+

Продолжение табл.

1

2

3

4

5

6

Документирование моделей, настраиваемое на потребности пользователя

+

+

-

+

+

Открытость архитектуры

-

+

-

+

+

Ведение библиотеки типовых бизнес-моделей

+

+

-

+

-

Поддержка командной работы

+

+

+

+

+

Динамическое моделирование

+

-

+

+

+

Контроль ошибок при моделировании

+

+

-

+

+

Реинжиниринг программного кода

+

+

-

+

+

Контроль версий и управления конфигурацией

+

-

+

+

+

Репозиторий

+

+

+

+

+

Высокая производительность

-

+

-

+

-

Взаимодействие в реальном времени

-

-

+

-

+

Интеграция моделей бизнес-процесса, приложений и данных

+

+

+

+

+

Растяжимость

-

-

+

+

-

Бесплатная поддержка

+

-

-

+

+

Простота использования

-

-

-

+

-

Стоимость

платно

платно

бесплатно

платно

платно

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

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

ЗАКЛЮЧЕНИЕ

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

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

Для проектирования информационной системы посредством объектно-ориентированного подхода разработано множество CASE-средств для построения UML-диаграмм.

ВработеданахарактеристикатакихCASE-средств, реализующих объектно-ориентированных подход, как: IBMRationalRose, SparxSystemsEnterpriseArchitect, PoseidonforUML, MagicDraw, IBMRationalTau.

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

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Александров, Д.В. Инструментальные средства информационного менеджмента. CASE-технологии и распределенные информационные системы [Текст] / Д.В. Александров. – Москва: Финансы и статистика, 2011. – 224с.
  2. Избачков, Ю.С. Информационные системы [Текст]: учебник для вузов. 3-е изд. / Ю.С. Избачков [и др.]. – СПб.: Питер, 2011. – 544с.
  3. Инструментальные средства поддержки жизненного цикла программного обеспечения [Электронный ресурс] / Электрон.текстовые дан. – Нижний Новгород: [б.н.], 2014. – Режим доступа: http://www.itlab.unn.ru/MiniProjects/PLC/Conspect.pdf
  4. Исаев, Г.Н. Проектирование информационных систем [Текст] / Г.Н. Исаев. – Москва: Омега-Л, 2012. - 432с.
  5. Каюмова, А.В. Визуальное моделирование систем в StarUML [Текст]: учебное пособие / А.В. Каюмова. – Казань: Казанский федеральный университет, 2013. – 104с.
  6. Методология проектирования программных продуктов. Алгоритмизация и программирование. [Электронный ресурс] / Электрон.текстовые дан. – Международный банковский институт. Кафедра информационных систем и технологий, 2001-2018. – Режим доступа: http://eos.ibi.spb.ru/umk/11_15/5/5_R1_T7.html#7
  7. Объектная модель [Электронный ресурс] / Электрон.текстовые дан. – HELLOWORLD.RU - документация и книги по программированию, 2001-2016. – Режим доступа: http://www.helloworld.ru/texts/comp/other/oop/ch02.htm
  8. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон.текстовые дан. – Москва: НОУ «ИНТУИТ», 2013 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963
  9. Оптимизация выбора объектно-ориентированного CASE-средства в жизненном цикле программного продукта [Электронный ресурс] / Электрон.текстовые дан. – Волгоград: [б.н.], 2011. – Режим доступа: http://cyberleninka.ru/article/n/optimizatsiya-vybora-obektno-orientirovannogo-case-sredstva-v-zhiznennom-tsikle-programmnogo-produkta
  10. Основы объектно-ориентированного подхода к анализу и проектированию информационных систем [Электронный ресурс] / Электрон.текстовые дан. – Москва: [б.и.], 2012. – Режим доступа: https://sites.google.com/site/anisimovkhv/learning/pris/lecture/tema9
  11. Приемы объектно-ориентированного проектирования Паттерны проектирования [Текст] / Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес.–СПб.: Питер, 2017. – 368с.
  12. Разработка проекта ис с помощью объектно-ориентированного подхода (uml-диаграммы) [Электронный ресурс] / Электрон.текстовые дан. – Москва: «Studfiles Файловый архив студентов», 2013 – 2017. – Режим доступа: https://studfiles.net/preview/6354085/page:4/
  13. Ревотюк, М. П. Объектно-ориентированное программирование и проектирование: учебно-метод. пособие: в 2 ч. Ч.1: Технологии объектного программирования[Текст] / М. П. Ревотюк. – Минск: БГУИР, 2014. – 194 с.
  14. Сравнительный анализ CASE-средств [Электронный ресурс] / Электрон.текстовые дан. – Новосибирск [б.н.], 2015. – Режим доступа: https://sibac.info/studconf/tech/xxxiii/42530
  15. EnterpriseArchitect 13.5[Электронный ресурс] / Электрон.текстовые дан. – SparxSystemsPtyLtd., 2000-2018. – Режим доступа: http://sparxsystems.com/products/ea/13/index.html#ea13.5
  16. GentlewarePoseidon [Электронный ресурс] / Электрон. текстовые дан. – helpiks.org - Хелпикс.Орг - 2014-2018. – Режим доступа: http://helpiks.org/8-35714.html
  17. IBMRational / TelelogicTau[Электронный ресурс] / Электрон. текстовые дан. – Компания "Интерфейс", 2017. – Режим доступа: http://www.interface.ru/home.asp?artId=18798
  18. MagicDraw[Электронный ресурс] / Электрон. текстовые дан. –NoMagic, Inc.., 2018. – Режим доступа: https://www.nomagic.com/products/magicdraw
  19. MagicDraw [Электронный ресурс] / Электрон.текстовые дан. – alternativeto, 2018. – Режим доступа: https://alternativeto.net/software/magicdraw/
  20. RationalRose 7.0.0.4 Enterprise [Электронный ресурс] / Электрон.текстовые дан. – Москва: SoftForFree.com., 2003-2018. – Режим доступа http://www.softforfree.com/screens/rational_rose-34201.html
  21. RATIONAL ROSE [Электронный ресурс] / Электрон.текстовые дан. – Москва: KPMS, 2007-2017. – Режим доступа: http://www.kpms.ru/Automatization/Rational_Rose.htm
  22. StarUML. Руководство разработчика [Электронный ресурс] / Электрон.текстовые дан. – Москва: [б.и.], 2011. – Режим доступа: http://staruml.sourceforge.net/docs/developer-guide(ru)/developer-guide.pdf

ПРИЛОЖЕНИЕ 1

Пример диаграммы прецедентов[50]

ПРИЛОЖЕНИЕ 2

Изображение класса на диаграмме UML

Изображение класса на диаграмме UML[51]

Диаграмма классов[52]

ПРИЛОЖЕНИЕ 3

Диаграмма взаимодействия[53]

ПРИЛОЖЕНИЕ 4

Диаграмма активностей[54]

  1. Избачков, Ю.С. Информационные системы [Текст]: учебник для вузов. 3-е изд. / Ю.С. Избачков [и др.]. – СПб.: Питер, 2011. – С.56

  2. Приемы объектно-ориентированного проектирования Паттерны проектирования [Текст] / Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. – СПб.: Питер, 2017. – С.21

  3. Исаев, Г.Н. Проектирование информационных систем [Текст] / Г.Н. Исаев. – Москва: Омега-Л, 2012. –С.121

  4. Методология проектирования программных продуктов. Алгоритмизация и программирование. [Электронный ресурс] / Электрон.текстовые дан. – Международный банковский институт. Кафедра информационных систем и технологий, 2001-2018. – Режим доступа: http://eos.ibi.spb.ru/umk/11_15/5/5_R1_T7.html#7

  5. Объектная модель [Электронный ресурс] / Электрон.текстовые дан. – HELLOWORLD.RU - документация и книги по программированию, 2001-2016. – Режим доступа: http://www.helloworld.ru/texts/comp/other/oop/ch02.htm

  6. Александров, Д.В. Инструментальные средства информационного менеджмента. CASE-технологии и распределенные информационные системы [Текст] / Д.В. Александров. – Москва: Финансы и статистика, 2011. – С.48

  7. Исаев, Г.Н. Проектирование информационных систем [Текст] / Г.Н. Исаев. – Москва: Омега-Л, 2012. –С.172

  8. Методология проектирования программных продуктов. Алгоритмизация и программирование. [Электронный ресурс] / Электрон.текстовые дан. – Международный банковский институт. Кафедра информационных систем и технологий, 2001-2018. – Режим доступа: http://eos.ibi.spb.ru/umk/11_15/5/5_R1_T7.html#7

  9. Исаев, Г.Н. Проектирование информационных систем [Текст] / Г.Н. Исаев. – Москва: Омега-Л, 2012. – С.174

  10. Ревотюк М. П. Объектно-ориентированное программирование и проектирование: учебно-метод. пособие: в 2 ч. Ч. 1 : Технологии объектного программирования / М. П. Ревотюк. – Минск : БГУИР, 2014. – С.32

  11. Избачков, Ю.С. Информационные системы [Текст]: учебник для вузов. 3-е изд. / Ю.С. Избачков [и др.]. – СПб.: Питер, 2011. – С.112

  12. Основы объектно-ориентированного подхода к анализу и проектированию информационных систем [Электронный ресурс] / Электрон.текстовые дан. – Москва: [б.и.], 2012. – Режим доступа: https://sites.google.com/site/anisimovkhv/learning/pris/lecture/tema9

  13. Ревотюк М. П. Объектно-ориентированное программирование и проектирование: учебно-метод. пособие: в 2 ч. Ч. 1 : Технологии объектного программирования / М. П. Ревотюк. – Минск : БГУИР, 2014. – С.38

  14. Приемы объектно-ориентированного проектирования Паттерны проектирования [Текст] / Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. – СПб.: Питер, 2017. – С.82

  15. Ревотюк М. П. Объектно-ориентированное программирование и проектирование: учебно-метод. пособие: в 2 ч. Ч. 1 : Технологии объектного программирования / М. П. Ревотюк. – Минск : БГУИР, 2014. – С.52

  16. Исаев, Г.Н. Проектирование информационных систем [Текст] / Г.Н. Исаев. – Москва: Омега-Л, 2012. –С.158

  17. Каюмова, А.В. Визуальное моделирование систем в StarUML [Текст]: учебное пособие / А.В. Каюмова. – Казань: Казанский федеральный университет, 2013. – С.22

  18. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон.текстовые дан. – Москва: НОУ «ИНТУИТ», 2013 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963

  19. Основы объектно-ориентированного подхода к анализу и проектированию информационных систем [Электронный ресурс] / Электрон.текстовые дан. – Москва: [б.и.], 2012. – Режим доступа: https://sites.google.com/site/anisimovkhv/learning/pris/lecture/tema9

  20. Приемы объектно-ориентированного проектирования Паттерны проектирования [Текст] / Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. – СПб.: Питер, 2017. – С.28

  21. Избачков, Ю.С. Информационные системы [Текст]: учебник для вузов. 3-е изд. / Ю.С. Избачков [и др.]. – СПб.: Питер, 2011. – С.215

  22. Ревотюк, М. П. Объектно-ориентированное программирование и проектирование: учебно-метод. пособие: в 2 ч. Ч.1: Технологии объектного программирования [Текст] / М. П. Ревотюк. – Минск: БГУИР, 2014. – С.57

  23. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон.текстовые дан. – Москва: НОУ «ИНТУИТ», 2013 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963

  24. RationalRose 7.0.0.4 Enterprise [Электронный ресурс] / Электрон.текстовые дан. – Москва: SoftForFree.com., 2003-2018. – Режим доступа http://www.softforfree.com/screens/rational_rose-34201.html

  25. Приемы объектно-ориентированного проектирования Паттерны проектирования [Текст] / Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. – СПб.: Питер, 2017. – С.201

  26. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон.текстовые дан. – Москва: НОУ «ИНТУИТ», 2013 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963

  27. RATIONAL ROSE [Электронный ресурс] / Электрон.текстовые дан. – Москва: KPMS, 2007-2017. – Режим доступа: http://www.kpms.ru/Automatization/Rational_Rose.htm

  28. EnterpriseArchitect 13.5 [Электронный ресурс] / Электрон.текстовые дан. – SparxSystemsPtyLtd., 2000-2018. – Режим доступа: http://sparxsystems.com/products/ea/13/index.html#ea13.5

  29. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон.текстовые дан. – Москва: НОУ «ИНТУИТ», 2013 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963

  30. Приемы объектно-ориентированного проектирования Паттерны проектирования [Текст] / Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. – СПб.: Питер, 2017. – С.212

  31. EnterpriseArchitect 13.5 [Электронный ресурс] / Электрон.текстовые дан. – SparxSystemsPtyLtd., 2000-2018. – Режим доступа: http://sparxsystems.com/products/ea/13/index.html#ea13.5

  32. Ревотюк, М. П. Объектно-ориентированное программирование и проектирование: учебно-метод. пособие: в 2 ч. Ч.1: Технологии объектного программирования [Текст] / М. П. Ревотюк. – Минск: БГУИР, 2014. – С.97

  33. GentlewarePoseidon [Электронный ресурс] / Электрон. текстовые дан. – helpiks.org - Хелпикс.Орг - 2014-2018. – Режим доступа: http://helpiks.org/8-35714.html

  34. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон.текстовые дан. – Москва: НОУ «ИНТУИТ», 2013 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963

  35. GentlewarePoseidon [Электронный ресурс] / Электрон. текстовые дан. – helpiks.org - Хелпикс.Орг - 2014-2018. – Режим доступа: http://helpiks.org/8-35714.html

  36. MagicDraw [Электронный ресурс] / Электрон.текстовые дан. – NoMagic, Inc.., 2018. – Режим доступа: https://www.nomagic.com/products/magicdraw

  37. Исаев, Г.Н. Проектирование информационных систем [Текст] / Г.Н. Исаев. – Москва: Омега-Л, 2012. –С.307

  38. MagicDraw [Электронный ресурс] / Электрон. текстовые дан. – alternativeto, 2018. – Режим доступа: https://alternativeto.net/software/magicdraw/

  39. MagicDraw [Электронный ресурс] / Электрон.текстовые дан. – NoMagic, Inc.., 2018. – Режим доступа: https://www.nomagic.com/products/magicdraw

  40. Александров, Д.В. Инструментальные средства информационного менеджмента. CASE-технологии и распределенные информационные системы [Текст] / Д.В. Александров. – Москва: Финансы и статистика, 2011. – С.187

  41. MagicDraw [Электронный ресурс] / Электрон.текстовые дан. – NoMagic, Inc.., 2018. – Режим доступа: https://www.nomagic.com/products/magicdraw

  42. Приемы объектно-ориентированного проектирования Паттерны проектирования [Текст] / Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. – СПб.: Питер, 2017. – С.132

  43. IBM Rational / TelelogicTau [Электронный ресурс] / Электрон.текстовые дан. – Компания "Интерфейс", 2017. – Режим доступа: http://www.interface.ru/home.asp?artId=18798

  44. IBM Rational / TelelogicTau [Электронный ресурс] / Электрон.текстовые дан. – Компания "Интерфейс", 2017. – Режим доступа: http://www.interface.ru/home.asp?artId=18798

  45. Исаев, Г.Н. Проектирование информационных систем [Текст] / Г.Н. Исаев. – Москва: Омега-Л, 2012. –С.355

  46. Ревотюк, М. П. Объектно-ориентированное программирование и проектирование: учебно-метод. пособие: в 2 ч. Ч.1: Технологии объектного программирования [Текст] / М. П. Ревотюк. – Минск: БГУИР, 2014. – С.157

  47. Оптимизация выбора объектно-ориентированного CASE-средства в жизненном цикле программного продукта [Электронный ресурс] / Электрон.текстовые дан. – Волгоград: [б.н.], 2011. – Режим доступа: http://cyberleninka.ru/article/n/optimizatsiya-vybora-obektno-orientirovannogo-case-sredstva-v-zhiznennom-tsikle-programmnogo-produkta

  48. Сравнительный анализ CASE-средств [Электронный ресурс] / Электрон.текстовые дан. – Новосибирск [б.н.], 2015. – Режим доступа: https://sibac.info/studconf/tech/xxxiii/42530

  49. Инструментальные средства поддержки жизненного цикла программного обеспечения [Электронный ресурс] / Электрон.текстовые дан. – Нижний Новгород: [б.н.], 2014. – Режим доступа: http://www.itlab.unn.ru/MiniProjects/PLC/Conspect.pdf

  50. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон.текстовые дан. – Москва: НОУ «ИНТУИТ», 2013 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963

  51. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон.текстовые дан. – Москва: НОУ «ИНТУИТ», 2013 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963

  52. Разработка проекта ис с помощью объектно-ориентированного подхода (uml-диаграммы) [Электронный ресурс] / Электрон.текстовые дан. – Москва: «StudfilesФайловый архив студентов», 2013 – 2017. – Режим доступа: https://studfiles.net/preview/6354085/page:4/

  53. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон.текстовые дан. – Москва: НОУ «ИНТУИТ», 2013 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963

  54. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон.текстовые дан. – Москва: НОУ «ИНТУИТ», 2013 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963