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

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

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

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

Добавлен: 04.07.2023

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

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

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

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

товар выбран

поиск по разделу

поиск по ключу

товар не выбран

покупатель

интернет магазин

вход в каталог интернет магазина

переход к разделу каталога

исследование товара

положить товар в корзину

ввод критерии поиска

поиск в каталоге

формирование результатов поиска

выполнить заказ в корзине

подготовка к приему заказа

Рисунок 3 диаграмма деятельности покупателя в интернет магазине

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

2.4. Образцы

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

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

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


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

Достоинства применения образцов при проектировании ПО заключаются в следующем:

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

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

3. Языки программирования

Практически все современные алгоритмические языки поддерживают принципы объектно-ориентированного программирования. Наибольшее распространение в последнее время получили три объектно-ориентированных языка: С++, Object Pasсal и Visual Basic.

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

 Visual Basic — язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемые корпорацией Microsoft. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка BASIC, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Интегрированная среда разработки VB включает инструменты для визуального проектирования пользовательского интерфейса, редактор кода с возможностью IntelliSense и подсветкой синтаксиса, а также инструменты для отладки приложений.


3.1. С++

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

Сегодня идея использования Объектно-ориентированного языка едва ли может удивить кого-либо, но в конце восьмидесятых годов она воспринималась как насмешка, – многим программистам и менеджерам в индустрии и академических кругах Объектно-ориентированный концепции казались привлекательными, но возникали большие сомнения в их применимости. В 1979 году Бьёрн Страструп из Bell Laboratories спроектировал и реализовал язык, изначально названный «С с классами», расширяющий язык С концепциями, которые были заимствованы у языка Simula 67, – первого Объектно-ориентированного языка. Язык вскоре стал хитом и в следующие два десятилетия язык интенсивно развивался за счет введения таких конструкций, как шаблоны (форма универсальности) и множественное наследование.

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

Каждая C++ переменная имеет тип, но, не все типы основаны на классах, и следовательно, не все значения являются объектами. Тип может быть встроенным, производным (с возможными комбинациями механизмов порождения), определенным пользователем.

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

3.2. Java

Язык Java появился в 1995 году в результате внутреннего исследовательского проекта Sun Microsystems, руководимого Джеймсом Гослингом (ключевой вклад в разработку языка внесли также Билл Джой, Гей Стил и Джилард Брачча). Проект Java вначале предполагался для создания апплетов – модулей для сетевых приложений. Как отмечалось ранее, апплеты не стали доминирующей моделью, как провозглашалось изначально, но использование Java быстро расширилось на многие другие области.


Следующие свойства характеризуют модель программирования Java:

  • Тесная связь между языком программирования и платформой, которая основана на виртуальной машине, называемой JVM (Java Virtual Machine).
  • Акцент на переносимость, отражаемый в лозунге: «Раз напишешь, всюду выполнишь». Компилятор Java транслирует Java-программу в байт-код JVM, который затем на многих платформах интерпретируется или компилируется в машинный код.
  • Синтаксис, общий стиль языка и базисные операторы заимствованы из семейства языков C – C++.
  • Строго типизированная Объектно-ориентированная модель, которая включает многие механизмы, изучаемые в этой книге: классы, наследование, полиморфизм, динамическое связывание, универсальность (добавленная в последующих версиях). Некоторыми опущенными элементами являются множественное наследование (допускается множественное наследование интерфейсов, как мы увидим), контракты и агенты. Объектно-ориентированная часть системы типов не включает примитивные типы.
  • Помимо того, что предлагает язык, разработку поддерживает множество библиотек, ориентированных на различные области приложения.

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

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

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

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

3.3. C#

C# был ответом Microsoft в конкурентной борьбе с компаниями, поддерживающими Java, в частности Sun Microsystems и IBM. Язык чрезвычайно близок к Java. Эта характеристика остается во многом справедливой и сегодня, хотя C# эволюционировал своим собственным путем и ввел несколько интересных инноваций, не имеющих аналогов в Java.


При появлении языка C# в 1999 Microsoft представлял язык следующим образом. Идеальное решение для C и C++ программистов, обеспечивающее быструю разработку в сочетании с мощью доступа ко всей функциональности платформы. Программисты получают окружение, полностью синхронизированное с появляющимися Web-стандартами и обеспечивающее простую интеграцию с существующими приложениями. В дополнение появляется возможность при необходимости создавать код на низком уровне. Язык C# – это современный Объектно-ориентированный язык, позволяющий программистам быстро строить широкий круг приложений для новой .NET платформы, предоставляющей полный набор инструментария и сервисов, которые необходимы как для вычислений, так и для коммуникаций. Элегантно спроектированный Объектно-ориентированный язык C# является великолепным выбором при построении архитектуры компонентов – начиная от высокоуровневых бизнес объектов до приложений системного уровня. Используя простые конструкции языка C#, эти компоненты могут быть конвертированы в XML Web-сервисы, вызваны затем в Интернете из любого языка, выполняемого на любой операционной системе.

В то время как виртуальная машина Java – JVM – была спроектирована специально для поддержки этого языка, главная цель проекта платформы .NET состояла с самого начала в поддержке нескольких языков. Это решение отражается как в имени виртуальной машины – Common Language Runtime (CLR) – «Общеязыковая Среда Выполнения», так и в поддержке взаимодействия API, Common Language Infrastructure (CLI) – «Общеязыковой Инфраструктуры», которая теперь является международным стандартом.

Базисными элементами C# программы являются классы и структуры, организованные в виде нескольких программных файлов. C#- классы (ключевое слово class) и структуры (ключевое слово struct) задают описание множества возможных объектов периода выполнения.

Язык C# тесно связана с CLI. VB .NET, который схож с предыдущей версией только синтаксически. CLI-совместимая версия C++ – «управляемый C++» – существенно отличается от обычного C++. Ограничения необходимы, чтобы язык мог принимать участие в играх .NET-взаимодействия. Фактически, семантика C# определялась семантикой CLI, хотя последующие версии ее существенно расширили. Синтаксис языка соответствует традиции C, C++, Java, включая завершение операторов символом точки с запятой и применением фигурных скобок для окаймления блоков программы.

Заключение

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