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

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

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

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

Добавлен: 11.03.2024

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

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

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

2.1 Суть анализа и проектирования в ООП

Основная идея объектно-ориентированного анализа и проектирования (object-oriented analysis and design) состоит в рассмотрении предметной области и логического решения задачи с точки зрения объектов (понятий и сущностей). В процессе объектно-ориентированного анализа основное внимание уделяется определению и описанию объектов (или понятий) в терминах предметной области. В процессе объектно-ориентированного проектирования определяются логические программные объекты, которые будут реализованы средствами объектно-ориентированного языка программирования. Эти программные объекты включают в себя атрибуты и методы. И, наконец, в процессе конструирования (construction) или объектно-ориентированного программирования (object-oriented programming) обеспечивается реализация разработанных компонентов и классов.

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

Прецедент (precedent) - это текстовое описание процессов, происходящих в предметной области.

После следует объектно-ориентированный анализ предметной области (object-oriented domain analysis). Задачей этого этапа является определение видов деятельности участников процесса и составление концептуальной модели (conceptual model), которая отражает различные категории элементов предметной области. Причем не только виды деятельности участников, но и все относящиеся к делу понятия.

Следующий этап - это объектно-ориентированное проектирование (object-oriented design), при котором основное внимание сосредоточено на распределении обязанностей. Распределение обязанностей (responsibility assignment) означает выделение задач и обязанностей различных программных объектов в приложении.

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


2.2 Диаграммы классов

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

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

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

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


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

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

В настоящее время для проектирования ИС принято пользоваться средствами предоставляемыми унифицированным языком моделирования UML.

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

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

По запросу Object Management Group (OMG) – организации, аао принятию стандартов в области объектных технологий и баз данных, образовавшаяся проблема по унифицированию и стандартизации была решена авторами трех наиболее популярных Объективно-Ориентированного методов – Г.Бучем, Д.Рамбо и А.Джекобсоном, которые совместными усилиями создали версию UML 1.1, утвержденную OMG в 1997 году в качестве стандарта.

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

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


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. Пример языка программирования С++ на рис.3.2.


Рисунок 3.1 – Пример языка программирования С++

Наиболее часто разработку программ с использованием данного языка выполняют в среде MS Visual Studio (которую можно найти на сайте – 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 на рис. 3.2.

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

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