Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (средства работы с ООП).pdf

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

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

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

Добавлен: 26.06.2023

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

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

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

Впоследствии новый язык стал набирать популярность. В него были добавлены новые возможности, которые делали его не просто дополнением к Си, а совершенно новым языком программирования. В итоге "Си с классами" был переименован в С++. И с тех по оба языка стали развиваться независимо друг от друга.

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

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

В отличие от Си язык C++ позволяет писать приложения в объектно-ориентированном стиле, представляя программу как совокупность взаимодействующих между собой классов и объектов. Что упрощает создание крупных приложений. https://metanit.com/cpp/tutorial/1.2.php

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


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

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

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

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

- построение (дизайн) моделей взаимодействия (статические, динамические и модели поведения);

- расчетное обоснование моделей и уточнение ее конструктивных особенностей, начиная от общего к частному.

IDEF4 предусматривает дизайн моделей в трех отдельных слоях:

-проектирование системы,

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

-базовый (нижний) уровень дизайна .

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

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

Дизайн Моделей: IDEF4 использует три дизайн-модели и обоснования компонентов в моделях. Статические Модели (SM) определяют неизменяемые во времени отношения между объектами (к примеру, наследование). Динамические Модели (DM) определяют связи между объектами и переходы между состояниями объектов. Модели Поведения (БМ) определяют отношения между соответствующими объектами в процессе их функционирования. Расчетное обоснование компонентов моделей подразумевает представление системы сверху вниз, что позволяет дать представление об охвате этих трех моделей и документах, которые используются для обеспечения процесса основного дизайна системы.


В IDEF4 моделирование начинается с анализа требований и для начала моделируется предметная область объектов (application domain). При дальнейшем исследовании этих объектов они помечаются как «транзитные» и в конце как «финальные». Финал моделирования зависит от индивидуальных требований, заданного уровня детализации, размера объектов. Статические модели, Динамические модели, Модели поведения и расчетное обоснование их компонент ложатся в основу базового (нижнего) уровня дизайна объектов. Вложенные слои могут быть построены в пределах каждого слоя, что позволяет уменьшить сложность систем.

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

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

На основе выявленных недостатков проектировщик может переделать существующие модели и моделировать их до тех пор, пока они не станут корректными. У объектов есть «поведение», которое описывает роль объекта в системе и «статус», которое описывает значение характеристики объекта.

Объекты идентифицируются в описании требований приложения. Они делятся на категории:

- физический объект, к примеру, дерево, автомобиль, самолет, человек;

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

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

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

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

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

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


-объекты в натуральном выражении

- спецификации объектов

-программные объекты.

В первых трех стадиях объекты отражаются так, как они существуют в природе. Программные объекты – это любые характеристики явлений. К примеру, “пассажирский самолет” становится объектом в предметной области, однако фактически этот объект определяет только «поведение» самолета по отношению к системе бронирования авиабилетов: количество мест, тип самолета, и полет назначения. Предметная область, где используется объект, является «сырьем» для дизайна объекта.[6]

3.1.4 CASE-системы, поддерживающие объектно-ориентированную методологию

В последнее время на мировом рынке программных продуктов появились различные программные средства, называемые CASE-системами, CASE-инструментами или CASE-средствами . Это такие системы, которые позволяют автоматизировать использование новых методов проектирования программного обеспечения для разработки сложных систем на всех этапах разработки (тем более на ранних стадиях разработки). Термин CASE трактуется очень широко. Изначально он расшифровывался как Computer Aided Software Ingeneering (компьютерная поддержка проектирования ПО), это было из-за автоматизации разработки программных систем. Позже понятие CASE приобрело новый смысл, его стали расшифровывать как Computer Aided System Ingeneering (компьютерная поддержка проектирования систем), а CASE-средства все больше стали ориентироваться на создание спецификаций, проектирование и моделирование сложных систем широкого назначения. [4]

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

Самой известной CASE системой, поддерживающей OOM ,является семейство CASE-средств ООП Rational Rose фирмы Rational Software Corp.

Rational Rose предназначено для автоматизации этапов анализа и проектирования ПО, а также для генерации кодов на разных языках и выпуска проектной документации. Rational Rose использует синтез-методологию ОО анализа и проектирования, основанную на подходах трех ведущих специалистов в этой области: Буча, Рамбо и Джекобсона и поддерживает универсальную нотацию для моделирования объектов UML. Конкретный вариант Rational Rose определяется языком, на котором генерируются коды программ (таким, как C++, Visual C, Java, Smalltalk, Visual Basic, PowerBuilder, Ada, и др.). Основной вариант - Rational Rose позволяет разрабатывать проектную документацию в виде диаграмм и спецификаций, а также генерировать программные коды. Более того, Rational Rose содержит средства реинжиниринга программ, которые обеспечивают повторное использование программных компонент в новых проектах.


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

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

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

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

-диаграммы классов;

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

-диаграммы взаимодействия;

-диаграммы модулей;

-диаграммы процессов;