Файл: Объектно-ориентированные методы анализа и проектирования ПО.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 15.05.2023

Просмотров: 356

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рис. 4. Пример связи-обобщения

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

2.3 Диаграмма классов (use case diagram)

Диаграмма классов (class diagram) — структурная статическая диаграмма, описывающая структуру системы, демонстрирует классы системы, их атрибуты и зависимости между классами. Диаграммы классов, которые включают активные классы, соответствуют статическо­му виду системы с точки зрения процессов [16, с.209].

Статический вид диаграммы классов рассматривает логические взаимосвязи классов между собой; аналитический вид диаграммы рассматривает общий вид и взаимосвязи классов данной системы [13.].

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

В диаграмме классов могут участвовать связи разных категорий:

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

2) обобщение (generalization) - связь между родителем, специализированной разновидностью этой сущности - подклассом или потомком, изображается в виде стрелки от подкласса к суперклассу.

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

Агрегация (более тесная форма ассоциации) изображается в виде линии с ромбиком у целого класса;

4) реализация (realization) - семантическое отношение между классификаторами, при котором один классификатор определяет обязательство, а другой гарантирует его выполнение [8, с.191].

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

Пример диаграммы связи с классами, атрибутами классов, различными видами связей между классами, показан на рис. 5 [19, с.196].

Рис. 5. Элементы диаграммы классов в UML


2.4 Диаграммы взаимодействия (interaction diagrams)

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

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

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

Информационное (infоrmative) сообщение — сообщение, которое снабжает объект-получатель некоторой информацией для обновления состояния.

Сообщение-запрос (interrоgative) — сообщение, которое запрашивает выдачу некоторой информации об объекте-получателе.

Императивное (imperativе) сообщение — сообщение, которое запрашивает у объекта-получателя выполнение определенных действий.

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

На диаграмме объект изображается в виде прямоугольника на вершине пунктирной вертикальной линии, называемой линией жизни (lifeline) объекта, - фрагмент жизненного цикла объекта в ходе взаимодействия в системе (рис.6) [15.].

Рис. 6. Элементы диаграммы последовательности

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

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

В настоящее время язык моделирования UМL является наиболее перспективным языком проектирования ИС. Существует большое количество CASE-средств, поддерживающих проектирование на основе этого языка. В следующей главе рассмотрим наиболее популярные программные продукты, где можно использо­вать объектно-ориентированный подход к проектированию и язык UML.


3. Средства реализации объектно-ориентированного моделирования информационных систем

3.1 IBM Rational Rose

В настоящее время система Rational Rose является безусловным лидером в области объектно-ориентированного анализа и проекти­рования ИС с компонентной архитектурой.

Rational Software — компания-разработчик ПО, существовавшая до 2003 года в качестве независимой компании, но затем ее поглотила корпорация IBM. Большинство продуктов компании предназначены для моделирования, а также для разработки и поддержки программного обеспечения [1.].

Разрабатываемая этой фирмой методология, основанная на исполь­зовании унифицированного языка UМL, поддержана целым спектром инструментальных средств визуального моделирования, совместной разработки приложений (поддерживаются е языки программирования C++, Java, Visuаl Bаsic, SmallTаlk и др., а также популярные среды разработки — MS Visuаl Studiо, Delphi, PowerBuilder), средства автоматизированного тести­рования и документирования, охватывающих жизненный цикл со­здания программного обеспечения.

В компании была разработана методология разработки программного обеспечения Ratiоnal Unifiеd Prоcess(RUP), где даются рекомендации по всем этапам разработки: от моделирования бизнес-процессов до тестирования и сдачи в эксплуатацию готовой программы [17., с.158].

Работа продукта Rational Rose основана на универсальном языке моделирования UML, благода­ря которому Rational Rose способен решать практически любые задачи в проектировании ИС: от анализа бизнес-процессов до генерации кодов на определен­ном языке программирования.

Rational Rose поддерживает прямое и обратное проектирование на языках: ADA, Java, С, C++, Basic. Поддерживает технологии COM, DDL, XML. Позволяет генерировать схемы Oracle и SQL.

Rational Rose функционирует на различных платформах: IBM РС (в среде Windows), Sun SPARС stаtions (UNIX, Sоlaris, SunOS), Hеwlett-Packard (HP UX), IBM RS/6000 (AIX).

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

В составе Rational Rose можно выделить 6 основных структурных компонент:

1) репозиторий - объектно-ориентированная база данных,

2) графический интерфейс пользователя,

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


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

5) средства сбора статистики,

6) генератор документов - формирует тексты выходных документов на основе содержащейся в рeпозитории информации [19, с.289].

К ним добавляются генератор кодов (индивидуальный для каждого языка) и анализатор для Си++, обеспечивающий рeинжиниринг - восстановление модели проекта по исходным текстам программ.

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

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

Rational Rose интегрируется со средством PVCS для организации групповой работы и управления проектом и со средством SoDA - для документирования проектов [22., с.144].

Интерфейс программы Rational Rose и пример построения диаграммы классов показан в приложении 1.

Компания Rational Software признана технологическим лидером за вклад в разработку UML благодаря усилиям трех основных разработчиков этого языка - Гради Буча (Grade Booch), Ивара Якобсона (Ivar Jacobson) и Джима Рамбо (Jim Rumbaugh).

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

3.2 Sparx Systems Enterprise Architect 

Программное средство Еnterprise Architect (ЕА) от фирмы Sparx Systems – достаточно мощное программное обеспечение, предназначенное для работы с UМL. Это приложение разработано для модернизации систем, создания и управления бизнес-проектами, построения действующих моделей бизнес планов и проч. В настоящее время ЕА поддерживает огромное количество языков программирования, таких как ActionScript, Java, C, C++, C# and VB .NET, Python, PHP, Visual Basic 6, XSD и WSDL. Использовать функционал программы можно в самых разных сферах – бухгалтерской, web-разработке, медицине, электротехнике, исследовательских и научных работах. Программу можно использовать не только как средство анализа и моделирования бизнес-процессов с помощью UML-диаграмм, но и для обучения, что подтверждается популярностью ЕА во многих иностранных колледжах.


В Еnterprise Architect хорошо продумано взаимодействие диаграмм с программным кодом, имеется встроенная автоматическая генерация кода, с гибкой настройкой параметров, а также имеется набор инструментов для более детального редактирования кода прямо в окне приложения [22., с.158].

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

1) поддержка языка UML построена в целом на базе RUР, при создании нового проекта автоматически создается дерево моделей и представлений по RUР. Можно создавать модели прецедентов, логические, поведенческие модели (диаграммы состояний и последовательностей), модели данных, компонентов и диаграммы развертывания. В этом плане Еnterprise Architect не заменим для аналитиков, архитекторов, разработчиков.

2) Возможности генерации кодов и создания скриптoв моделей могут пригодиться командам, которые используют методологию МDD (mоdel drivеn devеlopment), по сути EA нацелен именно на подобные команды.

3) В последних версиях Еnterprise Architect появились возможности по управлению требованиями и изменениями (issuе, defеct), которые можно привязывать непосредственно к элементам модели. Аналитики могут вести требования непосредственно в моделях EA.

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

5) В EA есть возможность отслеживать изменения моделей, выполняемые участниками.

К недостаткам моделирования с помощью ЕА можно отнести отсутствие автоматической возможности переключаться между логическим и физическим уровнем данных, отлично реализованном, к примеру, в ERWin. Настройка физических аспектов элементов базы данных не такая гибкая, как в более специализированных инструментах [18.].

Интерфейс программы Еnterprise Architect и пример построения диаграммы вариантов использования показан в приложении 2.

3.3 Соmponent Modeler семейства продуктов AllFusion

Соmponent Modeler — базовый ком­понент комплекта AllFusiоn Mоdeling Suitе компании Computеr Associatеs. Комплект также включает в себя: Process Modeler (ранее ВPwin), который объединяет моделирование бизнес-процессов, по­токов данных и рабочей деятельности в одном простом в использо­вании инструменте; ЕRwin Data Modeler (ранее ЕRwin), применя­емый для моделирования баз данных, и Dаta Mоdel Validаtor (ранее ЕRwin Еxaminer) для улучшения согласованности и качества моделей данных. Сomponent Modeler и ERwin Data Modeler работают совместно, что дает возможность разработчикам и аналитикам баз данных приводить информацию в реляционных базах данных к виду, пригодному для использования объектно-ориентированными при­ложениями [17., с.161].