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

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

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

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

Добавлен: 26.06.2023

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

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

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

- диаграмма последовательностей;

- диаграмма взаимодействия- диаграмма, на которой представлено взаимодействие, состоящее из множества объектов и отношений между ними, включая и сообщения, которыми они обмениваются[18] (Приложение 3);

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

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

- диаграмма развертывания;

- шаблоны проектирования– это именованная пара «проблема/решение», содержащая готовое обобщенное решение типичной проблемы. Как правило, шаблон помимо текстового описания содержит также одну или несколько диаграмм UML (например, диаграммы классов, последовательности и/или коммуникации), графически иллюстрирующих состав и структуру классов, а также особенности их взаимодействия при решении поставленной проблемы.[19].

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

Преимущества и недостатки объектно-ориентированного подхода

Объектно-ориентированный подход имеет как преимущества, так и недостатки.

Так к преимуществам данного подхода к проектированию информационных систем следует отнести:

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

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

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


- значительная экономия трудозатрат при производстве программного обеспечения, в особенности, типичного за счет использования ранее разработанных, в том числе и другими коллективами программистов, библиотек объектов и методов[21];

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

К недостаткам объектно-ориентированного подхода следует отнести:

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

- снижение быстродействия за счет более сложной организации программной системы;

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

- сложность проектирования классов;

- документирование классов является более трудоемким процессом по сравнению с формализацией процедур и модулей;

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

- обработка сообщения требует не одного, а многих методов, которые могут быть описаны в разных классах;

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

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


ГЛАВА 2.АНАЛИЗ ПРОГРАММНЫХ ПРОДУКТОВ, РЕАЛИЗУЮЩИХ ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД

2.1. Характеристика продуктов, реализующих объектно-ориентированный подход

Для проектирования информационной системы посредством объектно-ориентированного подхода разработано множество CASE-средств для построения UML-диаграмм.

ВданнойработебудутрассмотреныследующиеCASE-средства: IBM Rational Rose, Sparx Systems Enterprise Architect, Poseidon for UML,MagicDraw, IBM Rational Tau.

Так фактическим стандартом в области UML-проектирования является IBM RationalRose - мощное средство анализа, моделирования и разработки программных систем. RationalRose пригодится при решении практически любых задач проектирования информационных систем, как проектирование новой системы, так и доработки старой, посредством использования процесса обратного проектирования (рис.4)[23].

Рисунок 4. Интерфейс RationalRose[24]

Выпускаются следующие версии продукта:

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

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

- RationalRoseRealTime - для получения 100 % исполняемого кода в реальном масштабе времени, что позволяет проводить прямое и обратное проектирование на языках С или С++;

- RationalRoseEnterprise - абсолютнополнаяверсия, которая покрывает весь спектр задач по проектированию, анализу и кодогенерации;

- RationalRoseDataModeler - функциональность по проектированию баз данных. Функции DataModeler входят в состав RoseEnterprise или Professional[25].

Основными возможностямиRationalRoseявляются:

- структурное представление элементов, наглядно отображающее их состав и взаимосвязи;

- прямое и обратное проектирование на языках: ADA, Java, С, C++, Basic;

- поддержка технологий COM, DDL, XML;

- интеграция моделей бизнес-процесса, приложений и данных;

- возможность генерации схем БД Oracle и SQL;


- открытый API, позволяющий создавать модули для других языков программирования[26];

- интеграция с программными продуктами, например, MicrosoftVisualStudio;

- открытая архитектура, позволяющая дополнять существующий инструментарий программы новыми функциями и возможностями;

- поддержка командной работы;

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

- контроль ошибок при моделировании позволяет исправить ошибки с учетом их наследования и передачи на очередной уровень моделирования;

- документирование моделей, настраиваемое на потребности пользователя[27].

SparxSystemsEnterpriseArchitect - это многопользовательский графический инструмент, призванный помочь в создании надежных и поддерживаемых систем, используя высококачественную, встроенную отчетность и документацию (рис. 5).

Рисунок 5. ИнтерфейсSparx Systems Enterprise Architect[28]

EnterpriseArchitect существует в вариантах для Windows и Linux и является хорошим средством для UML-моделирования, с возможностью многопользовательской работы и дружественным интерфейсом, реализующим такие функции, как генерация документации, поддержка плагинов, генерация XSD-схем и HTML ().

EnterpriseArchitect существует в трех редакциях:

- EA DesktopEdition - простейший инструмент проектирования, имеющий некоторые ограничения: не поддерживаетсяимпорт/экспорт кода и DDL, Active X-интерфейс и совместный доступ к диаграммам;

- EA ProfessionalEdition - полнофункциональная среда UML-моделирования, нацеленная на групповую разработку, поддерживает совместный доступ к созданным моделям, Active X, XMI, импорт/экспорт кода и DDL, извлечение схем БДOracle, SQL Server и MS Access;

- EA CorporateEdition - наиболее полная редакция, включающая все возможности настольной и профессиональной версий, возможность соединения с MySQL, SQL Server, PostgreSQL, SybaseAdaptiveServerAnywhere и Oracle9i, поддержку авторизации пользователей, группы пользователей и блокировку элементов[29].

EnterpriseArchitectпредоставляет следующие возможности:

- поддержка C++, Java, C#, VB, VB.Net, Delphi, PHP, .NET;

- моделирование БД, прямое проектирование в DDL и обратное проектирование из ODBC;

- загружаемые UML-профили, позволяющие создавать узкоспециализированные модели;


- поддержка паттернов проектирования;

- генерация документации в форматах HTML и RTF;

- автоматизация интерфейса, поддержка макросов и др[30].

Преимуществами EnterpriseArchitect являются:

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

- плотно интегрированные возможности управления версиями и развертываемыми облачными серверами;

- динамическое моделирование модели;

- полнаяпрослеживаемость от требований, моделей анализа и проектирования до внедрения и развертывания. Эффективная проверка, валидация и анализ непосредственного воздействия возможны на протяжении всего жизненного цикла, используя такие возможности, как матрица взаимоотношений EnterpriseArchitect и представление иерархии;

- мощные средства создания документов и создания подробных отчетов с необходимой информацией в нужном формате с полным редактором шаблонов WYSIWYG. При нажатии кнопки автоматически создаются версии HTML вашей модели для легкого распространения через Интернет или в интрасеть организации[31];

- генерация и обратная разработка исходного кода для многих популярных языков, в том числе:ActionScript, Ada, CиC ++, Delphi, PHP и др.;

- единая независимая от платформы модель (PIM) может генерировать множество целевых решений для конкретных платформ - обеспечивая значительное повышение производительности.

Возможности моделирования бизнес-процессов EnterpriseArchitect позволяют:

- визуализировать бизнес-процесс с профилем UML для BPMN;

- генерировать исполняемые BPEL-скрипты из моделей BPMN;

- подтвердитьправильностьмоделейBPMN[32].

Poseidonfor UML - это популярное CASE-средство для UML-моделирования. Poseidon берет свое начало из открытого проекта ArgoUML

Poseidon известен своим потрясающим удобством (usability), очень функционален и имеет весьма приятный с виду и удобный, интуитивно понятный интерфейс (рис. 6).

Рисунок 6. Интерфейс PoseidonforUML[33]

Как и другие подобные пакеты, для того чтобы покрыть нужды разных групп пользователей, Poseidonfor UML существует в следующих редакциях:

- CommunityEdition - базовая бесплатная версия, которая обеспечит беспрепятственный доступ в мир UML для индивидуальных разработчиков и больших организаций;