Файл: Анализ и оценка средств реализации объектно-ориентированного подхода к проектированию экономической информационной системы (Суть анализа и проектирования в ООП).pdf

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

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

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

Добавлен: 12.03.2024

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

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

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

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

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

Рисунок 3. Изображение класса на диаграмме

2.3 Язык проектирования UML

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

Два самых популярных стандартных языка объектно-ориентированного моделирования – UML (The Unified Modeling Language) и SysML.

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

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

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


UML позволяет также разработчикам программного обеспечения достигнуть соглашения в графических обозначениях для представления общих понятий (таких как класс, компонент, обобщение (англ. generalization), агрегация (англ. aggregation) и поведение) и больше сконцентрироваться на проектировании и архитектуре.

UML обеспечивает поддержку всех этапов жизненного цикла ИС и предоставляет для этих целей следующие набор диаграмм: структурные диа- граммы (Structure Diagrams); диаграммы поведения (Behavior Diagrams);диаграммы взаимодействия (Interaction Diagrams)

UML фокусируется не трех архитектурных видениях системы:

• функциональном (описывает внешнее поведение системы с точки зрения пользователя с помощью use-case диаграмм);

• статическом (в терминах атрибутов, методов, связей, классов, сообщений с помощью CRC cards, class diagrams, object diagrams);

• динамическом (sequence diagrams, collaboration diagrams, statecharts) и имеет практическое значение в описании сервисно-ориентированных архитектур (SOAs).

Формальная спецификация последней версии UML 2.0 опубликована в августе 2005 года. Семантика языка уточнялась и была расширена для поддержки методологии Model Driven Development, MDD. Последняя версия UML 2.4.1 опубликована в августе 2011 года. UML 2.4.1 принят в качестве международного стандарта ISO/IEC 19505-1, 19505-2.

3. СРЕДСТВА ДЛЯ РЕАЛИЗАЦИИ ИНФОРМАЦИОННЫХ СИСТЕМ
С ИСПОЛЬЗОВАНИЕМ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА

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

3.1 C++

Си++ (англ. C++) — компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования.

Началом разработки данного языка является 1979 год. При появлении язык назывался “C с классами”, однако позже он получил имя C++. Дав такое название, разработчики подчеркнули, с одной стороны, что язык основывается на языке C, и, с другой стороны, что он превосходит существенно по возможностям своего родителя. Основное дополнение C++ заключалось в языковом обеспечении работы с классами. Вместе с тем создатели C++ стремились сохранить совместимость с C: синтаксис первого основан на синтаксисе последнего, и большинство программ на C будут работать и как C++.


Первый выпуск C++ для коммерческого использования состоялся в 1985 году, вместе с публикацией книги “The C++ Programming Language”, которая на долгое время стала его неофициальным стандартом. В 1989 году вышла вторая версия языка в сопровождении книги “The Annotated C++ Reference Manual”.

В 1990-х годах язык стал одним из наиболее широко используемых языков программирования общего назначения. Первым официальным стандартом языка стал ISO/IEC 14882:1998, более известный как C++98. В 2003 году была принята его дополненная версия, C++03, а в 2005 году был опубликован “Library Technical Report 1” (сокращенно TR1) — документ, описывающий расширения стандартной библиотеки. TR1 не является стандартом, но большинство актуальных компиляторов C++ поддерживает его. Наконец, в 2011 году был принят текущий стандарт, C++11.

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

После описание класса необходимо описать переменную типа class. Это описание имеет следующий формат:

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

  • открытые, также называемые публичными, (public). Их вызов осуществляется с помощью оператора . («точка»);
  • закрытые, или приватные, (private), доступ к которым возможен только с помощью открытых методов;
  • защищенные (protected) методы, являются промежуточными между private и public. Их мы рассмотрим в уроке про наследование.

Класс — это фактически новый тип данных. Для создания переменной типа класс служит оператор:

name_class name;

Здесь name_class — имя класса, name — имя переменной. В дальнейшим переменную типа classбудем называть объект или экземпляр класса. Объявление переменной типа class (в нашем примере переменная name типа name_class) называется созданием объекта.

После описания переменной можно обращаться к членам и методам класса. Это делается аналогично обращению к полям структуры с помощью оператора . (точка).


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

В качестве примера, рассмотрим класс complex для работы с комплексными числами. В классе complex будут члены класса:

  • double x — действительная часть комплексного числа;
  • double y — мнимая часть комплексного числа.

Также в нем будут методы:

  • double modul() — функция вычисления модуля комплексного числа;
  • double argument() — функция вычисления аргумента комплексного числа;
  • void show_complex() — функция выводит комплексное число на экран.

Ниже приведен текст класса:

Чаще всего разработку программ с использованием данного языка выполняют в среде MS Visual Studio, последняя версия данной оболочки вышла в 2017 году (см сайт – Microsoft.com). Использование данной среды позволяет эффективно разрабатывать программы и программные комплексы любой сложности, функционирующих под управлением операционной с системы Windows.

3.2 Java

Java — объектно-ориентированный язык программирования, разрабатываемый компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая 1995 года. Изначально новый язык программирования назывался Oak (James Gosling) и разрабатывался для бытовой электроники, но впоследствии был переименован в Java и стал использоваться для написания апплетов, приложений и серверного программного обеспечения.

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

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

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


Класс — это шаблон для создания объекта. Класс определяет структуру объекта и его методы, образующие функциональный интерфейс. В процессе выполнения Java-программы система использует определения классов для создания представителей классов. Представители являются реальными объектами. Термины «представитель», «экземпляр» и «объект» взаимозаменяемы. Ниже приведена общая форма определения класса.

class имя_класса extends имя_суперкласса { type переменная1_объекта:

type переменная2_объекта:

type переменнаяN_объекта:

type имяметода1(список_параметров) { тело метода;

}

type имяметода2(список_параметров) { тело метода;

type имя методаМ(список_параметров) { тело метода;

}

}

Ключевое слово extends указывает на то, что «имя_класса» — это подкласс класса «имя_суперкласса». Во главе классовой иерархии Java стоит единственный ее встроенный класс — Object. Если вы хотите создать подкласс непосредственно этого класса, ключевое слово extends и следующее за ним имя суперкласса можно опустить — транслятор включит их в ваше определение автома­тически.

Пример реализации класса на Java на рис. 3.2.

Рисунок 3.2 – Пример реализации класса в JAVA

Отличием IDE-оболочек для разработки JAVA-программ является их кросс-платформенность, т.е. возможность формирования кода, который может работать под управлением любой операционной системы – Windows, Linux, MacOS. Широкое применение находят инструментальные оболочки для создания приложений для мобильных телефонов. Наиболее используемой оболочкой является Eclipse, которая в настоящее время сопровождается фирмой ORACLE.

3.3 Ruby

Ruby — интерпретируемый объектно-ориентированный язык программирования, созданный в 1995 году Юкихиро Мацумото по прозвищу Мац. Автор ставил себе целью создать истинно объектно-ориентированный язык, что у него и получилось. Ruby имеет строгую динамическую типизацию. Особенностью языка является то, что в нем можно изменить любой класс в любое время. Как и во многих современных языках, в Ruby все данные является объектом (даже классы являются объектом класса Class), а все функции — методами.

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