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

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

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

1.1. Сущность объектно-ориентированного подхода

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

ГЛАВА 2. АНАЛИЗ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ CASE-СРЕДСТВ

2.1. Характеристика объектно-ориентированных CASE-средств 

2.2. Выбор оптимального объектно-ориентированного CASE-средства 

ЗАКЛЮЧЕНИЕ

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

ВВЕДЕНИЕ

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

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

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

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

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

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

- определение сущности CASE-средства;

- характеристика объектно-ориентированных CASE-средств;

- выбор оптимального объектно-ориентированного CASE-средства на основе анализа существующих.

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

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

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

- принцип декомпозиции и структурной организации элементов (компонентов, модулей) системы.

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

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

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

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

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

- место хранения атрибутивных данных и поведения.

В функционально-ориентированных системах функции и данные хранятся отдельно.

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

Основные отличия существующих подходов к проектированию информационной системы представлены на рисунке 1.1.

http://player.myshared.ru/17/1075104/slides/slide_2.jpg

Рисунок 1.1. Подходы к проектированию информационной системы

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

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

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

- унифицированный процесс (Unified Process, UP);

- экстремальное программирование (eXtreme Programming, XP);

- гибкое моделирование (Agile Modeling, AM).

Базовым средством документирования результатов проектирования систем посредством этих методологий является Унифицированный язык моделирования – UML, создателями которого являются Гради Буч и Джеймс Рамбо, преследовавшие при его разработке следующие цели:

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

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

- обеспечить независимость от конкретных языков программирования и процессов разработки;

- язык должен быть одновременно точным и доступным для понимания.[3]

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

UML содержит стандартный набор диаграмм для моделирования:

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

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

- диаграммы поведения системы;

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

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

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

- диаграммы реализации: диаграммы компонентов – для моделирования иерархии компонентов системы;

- диаграммы размещения – для моделирования физической архитектуры системы (рисунок 1.2).

http://player.myshared.ru/17/1075104/slides/slide_11.jpg

Рисунок 1.2. Канонические диаграммы языка UML[4]

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

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

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

Состояние объекта характеризуется перечнем всех возможных (статических) свойств данного объекта и текущими (динамическими) значениями каждого из этих свойств.

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

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

Каждый класс и соответственно объект характеризуются строго определенным набором атрибутов и методов. Текущие значения атрибутов четко определяют текущее состояние объекта. Набор методов и их алгоритмическая реализация определяют поведение объекта.[5]

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

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

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

Объекты воздействуют друг на друга посредством обмена сообщениями.

Основными механизмами объектной модели являются:

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

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

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

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

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

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

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

- иерархия (hierarchy) - ранжированная или упорядоченная система абстракций, расположение их по уровням;

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

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

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

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

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

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

- концептуальный;

- логический;

- физический (рисунок 1.3).

http://player.myshared.ru/17/1075104/slides/slide_9.jpg

Рисунок 1.3. Уровни представления модели

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

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

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

Так среди преимуществ следует выделить:

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

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

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

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

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

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

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

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

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

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

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

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

- инкапсуляция информации защищает наиболее критичные данные от несанкционированного доступа.[7]

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

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

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

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

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

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

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

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

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

ГЛАВА 2. АНАЛИЗ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ CASE-СРЕДСТВ

2.1. Характеристика объектно-ориентированных CASE-средств

CASE-средства (Computer Aided Software Engineering) - это программные средства, поддерживающие процессы создания и сопровождения информационной системы, включая:

- анализ и формулировку требований;

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

- генерацию кода;

- тестирование;

- документирование;

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

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

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

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

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

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

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

-·возможностью организации параллельной работы аналитиков, проектировщиков и программистов.[9]

В настоящее время часто используемыми объектно-ориентированными CASE-средствами являются следующие:

- Rational Rose;

- Microsoft Visio;

- Borland Together;

- StarUML.

Rational Rose представляет собой CASE-средство проектирования и разработки информационных систем и программного обеспечения для управления предприятиями, ориентированное на поддержку UML (Unified Modeling Language), как основного языка проектирования программного обеспечения.

Rational Rose также может использоваться для анализа и моделирования бизнес процессов.

Следует отметить, что первая версия Rational Rose была выпущена компанией Rational Software Corp., затем данный программный продукт был куплен IBM.

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

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

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

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

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

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

Rational Rose обеспечивает следующие возможности моделирования бизнес процессов:

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

- структурное представление элементов – графическая структура позволяет наглядно отобразить состав элементов модели и взаимосвязи;

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

- интеграция с другими программными продуктами (например, Microsoft Visual Studio);

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

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

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

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

- генерация кода на языках Ada, ANSI C++, C++, COBRA, Java с настраиваемо синхронизацией моделей и кода;

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

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

Rational Rose по сравнению с иными средствами проектирования обладает следующими преимуществами:

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

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

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

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

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

- разработка веб-приложений - предлагает инструменты XML и веб-моделирования веб-приложений.[11]

К недостаткам Rational Rose следует отнести:

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

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

В Rational Rose применяется графический пользовательский интерфейс (GUI), за счет которого можно настроить необходимое окружение для комфортной работы (рисунок 2.1).

Картинки по запросу Rational Rose последняя версия

Рисунок 2.1. Интерфейс Rational Rose

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

В составе Rational Rose можно выделить следующие основные структурные компоненты (рисунок 2.2):

http://player.myshared.ru/17/1075104/slides/slide_16.jpg

Рисунок 2.2. Структура Rational Rose

- репозиторий - база данных проекта;

- графический интерфейс пользователя;

- средства просмотра проекта (браузер) - обеспечивает «навигацию» по проекту, в том числе перемещение по иерархиям классов и подсистем, переключение от одного вида диаграмм к другому и т.д;

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

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

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

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

В результате разработки проекта с помощью Rational Rose формируются следующие документы:

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

- спецификации классов, объектов, атрибутов и операций;

- заготовки текстов программ.

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

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

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

Microsoft Visio обеспечивает следующие возможности:

- создание быстро и просто понятных и информативных диаграмм, используя предопределенные фигуры Visio Professional, drag-and-drop и мастера;

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

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

- интеграция с Microsoft Office Project, что позволяет, например, импортировать оттуда задачи для членов команды;

- создание UML-диаграммы статической структуры программного обеспечения и проведение обратного проектирование с помощью Visio Reverse Engineer Wizard;

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

- создание отчетов;

- возможность экспорта диаграмм в SVG-формат или сохранения их как веб-страниц;

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

- связывание диаграммы с данными и обновление их в реальном времени.

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

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

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

- поддержка множества локальных языков;

- интеграция с другими приложениями MS Office.[12]

Внешне Visio похожа на другие программы семейства Microsoft Office (рисунок 2.3).

Картинки по запросу Visio интерфейс

Рисунок 2.3. Интерфейс Microsoft Visio

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

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

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

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

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

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

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

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

- поддержка ER-диаграмм (схем баз данных);

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

- простая генерация актуальной проектной документации в виде HTML, RTF или текстовом формате;

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

- визуальный построитель графического интерфейса пользователя.[13]

Интерфейс Borland Together представлен на рисунке 2.4.

http://www.intuit.ru/EDI/21_12_14_1/1419110295-31391/tutorial/356/objects/7/files/07_03sm.gif

Рисунок 2.4. Интерфейс Borland Together

StarUML - это пакет с открытым программным кодом, написанный на Delphi и работающий под управлением Windows.

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

- поддерживает одиннадцать различных типов диаграмм в нотации UML 2.0;

- поддерживает подход MDA (модельно-настраиваемая архитектура);[14]

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

- поддерживает расширения за счет использования плагинов;

- поддерживает ER-диаграммы (Entity-Relation Diagram);

- поддерживает некоторые профайлы UML, например SPEM (Software Process Engineering Metamodel), WAE (Web Application Extension);

- интеграция с другими приложениями MS Office;

- предоставляет различного рода модули, расширяющие возможности StarUML;

- выполняет кодогенерацию на языках C++, C#, Java, поддерживает PHP и некоторые другие языки.

StarUML имеет удобный и интуитивно понятный интерфейс (рисунок 2.5).

Картинки по запросу StarUML

Рисунок 2.5. Интерфейс StarUML

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

2.2. Выбор оптимального объектно-ориентированного CASE-средства

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

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

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

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

Можно выделить основные критерии оценки и выбора CASE-средств. Структура набора критериев приведена на рисунке 2.7.

Рисунок 2.7. Структура набора критериев выбора CASE-средства[16]

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

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

Таблица 2.1.

Анализ объектно-ориентированных CASE-средств

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

CASE-средства

Rational Rose

Microsoft Visio

Borland Together

StarUML

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

+

+

+

+

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

+

+

+

+

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

+

+

+

+

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

+

+

-

-

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

+

+

+

+

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

+

+

-

-

Организация групповой работа над проектом

+

+

-

-

Возможность просматривать и выбирать элементы и бизнес-объекты для использования в системе

+

+

+

+

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

+

-

-

-

Динамическое моделирование событий в системе

+

+

-

-

Контроль качества продукта в ходе разработки

+

+

+

-

Динамическая коррекция одной диаграммы из другой

+

+

-

-

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

+

+

-

-

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

+

+

+

-

Интеграция с другими приложениями

+

+

+

+

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

CASE-средства

Rational Rose

Microsoft Visio

Borland Together

StarUML

Репозиторий

+

+

-

-

Разработка веб-приложений

+

+

-

-

Стоимость

платно

платно

бесплатно

бесплатно

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

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

ЗАКЛЮЧЕНИЕ

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

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

CASE-средства (Computer Aided Software Engineering) - это программные средства, поддерживающие процессы создания и сопровождения информационной системы, включая: анализ и формулировку требований, проектирование прикладного программного обеспечения и баз данных, генерацию кода, тестирование, документирование, конфигурационное управление и управление проектом и другие процессы.

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

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

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

StarUML - пакет с открытым программным кодом, написанный на Delphi и работающий под управлением Windows, поддерживающий одиннадцать различных типов диаграмм в нотации UML и подход MDA

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

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

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

  1. Александров, Д.В. Инструментальные средства информационного менеджмента. CASE-технологии и распределенные информационные системы [Текст] / Д.В. Александров. – Москва: Финансы и статистика, 2011. – 224с.
  2. Бабенко, В.Н. Моделирование и анализ бизнес-процессов [Текст] / В.Н. Бабенко. – Москва: LAP Lambert Academic Publishing, 2014. – 352с.
  3. Избачков, Ю.С. Информационные системы [Текст]: учебник для вузов. 3-е изд. / Ю.С. Избачков [и др.]. – СПб.: Питер, 2011. – 544с.
  4. Инюшкина, О.Г. Проектирование информационных систем (на примере методов структурного системного анализа) [Текст]: учебное пособие / О.Г. Инюшкина. - Екатеринбург: «Форт-Диалог Исеть», 2014. - 240 с.
  5. Инструментальные средства поддержки жизненного цикла программного обеспечения [Электронный ресурс] / Электрон. текстовые дан. – Нижний Новгород: [б.н.], 2014. – Режим доступа: http://www.itlab.unn.ru/MiniProjects/PLC/Conspect.pdf
  6. Исаев, Г.Н. Проектирование информационных систем [Текст] / Г.Н. Исаев. – Москва: Омега-Л, 2012. - 432с.
  7. Каюмова, А.В. Визуальное моделирование систем в StarUML [Текст]: учебное пособие / А.В. Каюмова. – Казань: Казанский федеральный университет, 2013. – 104с.
  8. Обзор CASE-средств для построения диаграмм UML [Электронный ресурс] / Электрон. текстовые дан. – Москва: НОУ «ИНТУИТ», 2003 – 2017. – Режим доступа: http://www.intuit.ru/studies/courses/1007/229/lecture/5963
  9. Объектно-ориентированная технология разработки программных систем [Электронный ресурс] / Электрон. текстовые дан. – Москва: «Отдел автоматизации и разработки ПО», 2001-2017. – Режим доступа: http://ooad.asf.ru/standarts/Library/OORP/List09-1.aspx
  10. Оптимизация выбора объектно-ориентированного CASE-средства в жизненном цикле программного продукта [Электронный ресурс] / Электрон. текстовые дан. – Волгоград: [б.н.], 2011. – Режим доступа: http://cyberleninka.ru/article/n/optimizatsiya-vybora-obektno-orientirovannogo-case-sredstva-v-zhiznennom-tsikle-programmnogo-produkta
  11. Основы объектно-ориентированного подхода к анализу и проектированию информационных систем [Электронный ресурс] / Электрон. текстовые дан. – Москва: [б.и.], 2012. – Режим доступа: https://sites.google.com/site/anisimovkhv/learning/pris/lecture/tema9
  12. Репин, В. Бизнес-процессы. Моделирование, внедрение, управление [Текст] / В. Репин. – Москва: Манн, Иванов и Фербер, 2013. – 213с.
  13. Сравнительный анализ CASE-средств [Электронный ресурс] / Электрон. текстовые дан. – Новосибирск [б.н.], 2015. – Режим доступа: https://sibac.info/studconf/tech/xxxiii/42530
  14. RATIONAL ROSE [Электронный ресурс] / Электрон. текстовые дан. – Москва: KPMS, 2007-2017. – Режим доступа: http://www.kpms.ru/Automatization/Rational_Rose.htm
  15. Rational Rose Enterprise [Электронный ресурс] / Электрон. текстовые дан. – Москва: [б.и.], 2012. – Режим доступа: http://www-03.ibm.com/software/products/ru/enterprise
  16. StarUML. Руководство разработчика [Электронный ресурс] / Электрон. текстовые дан. – Москва: [б.и.], 2011. – Режим доступа: http://staruml.sourceforge.net/docs/developer-guide(ru)/developer-guide.pdf

ПРИЛОЖЕНИЕ 1

Характеристики блоков объектно-ориентированного CASE-средства[17]

  1. Инюшкина, О.Г. Проектирование информационных систем (на примере методов структурного системного анализа) [Текст]: учебное пособие / О.Г. Инюшкина. - Екатеринбург: «Форт-Диалог Исеть», 2014. – С.84.

  2. Объектно-ориентированная технология разработки программных систем [Электронный ресурс] / Электрон. текстовые дан. – Москва: «Отдел автоматизации и разработки ПО», 2001-2017. – Режим доступа: http://ooad.asf.ru/standarts/Library/OORP/List09-1.aspx

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

  4. Бабенко, В.Н. Моделирование и анализ бизнес-процессов [Текст] / В.Н. Бабенко. – Москва: LAP Lambert Academic Publishing, 2014. – С.114

  5. Объектно-ориентированная технология разработки программных систем [Электронный ресурс] / Электрон. текстовые дан. – Москва: «Отдел автоматизации и разработки ПО», 2001-2017. – Режим доступа: http://ooad.asf.ru/standarts/Library/OORP/List09-1.aspx

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

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

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

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

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

  11. Rational Rose Enterprise [Электронный ресурс] / Электрон. текстовые дан. – Москва: [б.и.], 2012. – Режим доступа: http://www-03.ibm.com/software/products/ru/enterprise

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

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

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

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

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

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