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

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

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

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

Добавлен: 27.04.2023

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

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

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

Основной недостаток ООП – некоторое снижение быстродействия за счет более сложной организации программной системы. Данный подход эффективен для больших долгосрочных проектов.

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

РАЗДЕЛ 2 ОБЪЕКТНО-ОРИЕНТИРОВАНОЕ МОДЕЛИРОВАНИЕ. UML

2.1 Объектно-ориентированное моделирование

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

Стандартная UML используется для создания моделей и проектирования системы. Это подход, предложенный многими исследователями, такими как Дуглас, [25], Гомма [26], Young [27], а также Мосеман и Вал в многочисленных электронных публикациях. Система представлена несколькими моделями. Каждая модель описывает систему с явно различной точки зрения.


Три вида просмотров определяются на высшем уровне [1, 4, 9, 23, 24]. Вид структурной классификации рассматривает вещи системы и их взаимосвязь между собой. Диаграммы классов используются для выражения статического вида системы, использование диаграммы вариантов использования для выражения режима просмотра использования, а также компонентов и диаграмм развертывания для выражения представления реализации.

Динамические модели описывают различные аспекты динамического поведения программы. Штатные схемы используются для выражения состояния машинного вида; диаграммы активности проверить вид деятельности; диаграммы последовательности и сотрудничества для выражения взаимодействия системы.

Вид модели управления описывает организацию моделей системы в иерархические единицы. Диаграммы классов используются для выражения организации системных моделей в иерархических единицах.

Объектно-ориентированная парадигма, благодаря таким функциям, как абстракция, инкапсуляция данных поддерживает методики разработки различных видов сложных систем, таких как Real-Time, Embedded, Concurrent, Mobile и Distributed. В частности, функция абстракции поддерживает формальную основу для аргументации с системой с помощью статического или динамического анализа. Благодаря этим усилиям OMG (Object Management Group) в продвижении и совершенствовании UML, получили широкомасштабное принятие и одобрение. Недавняя спецификация UML2.0 с четко определенным семантическим фундаментом, основанной на семантике мелкозернистых действий, является результатом постоянных усилий сообщества UML, включая формальных методов исследователей к семантическому уточнения UML.

2.2 Язык моделирования UML

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

Авторами языка является Грейди Буч (Grady Booch), Джеймс Рамбо (James Rumbaugh) и Айвар Якобсон (Ivar Jacobson). В январе 1997 года в результате объединения разработок этих авторов выпущена версия UML 1.0, а в ноябре 1997 года – версию UML 1.1. следующие вершины сии: UML 1.3 - апрель 1999 года; UML 1.4 - октябрь 2001 года.


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

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

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

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

  • Спецификация – декларативное описание того, как все построено или работает. UML предоставляет достаточно формальные и универсальные средства для спецификации всех возможных артефактов, дает возможность снизить риск неоднозначного восприятия спецификации.
  • Визуализация – представление информации в графической форме, пригодной для восприятия человеком. Часто моделирование является единим средством, позволяющим представить систему как одно целое. Проблема заключается в ограниченном восприятии человеком сложных сущностей. Моделирование предполагает разделение сложной системы на несколько простые составляющие и отдельно рассматривать каждый из этих составляющих. Также моделирования позволяет создавать высокоуровневые модели всей системы, отвергая детали, несущественные для этого уровня абстракции.
  • Конструирование – получение набора программных модулей, которые образуют применения или его компонент. Разработанные модели системы образуют некоторый базовый каркас, на основе которого можно строить систему. Современные CASE-средства позволяют в определенной степени автоматизировать конструирование программного кода на основании разработанных моделей.
  • Документирование проектных решений. Для поддержки и развития программных продуктов требуется исчерпывающая и качественная документация. Моделирование позволяет получить документы, которые определяют высокоуровневую организацию системы.

Среди главных свойств UML можно выделить следующие:


– это язык моделирования, используемый в контексте некоторого процесса разработки программных средств.

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

– это объектно-ориентированный язык, который наиболее эффективно можно применять именно в контексте объектно ориентированных методов анализа и проектирования.

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

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

– это стандартный язык, который гарантирует свободное понимание и распространение UML-моделей между различными разработчиками.

– это универсальный язык, который с одинаковым успехом пригодна для моделирования как крупных, так и малых программных систем.

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

2.3 Основные диаграммы объектной модели

Язык UML имеет четыре вида сущностей: структурные, поведенческие, группирующие и аннотационные сущности. Они показаны на втором уровне структурного дерева языка UML, представленного на рис. 2.1

Рисунок 2.1 – Иерархическая структура языка UML

Далее на третьем уровне дерева показано, что понятие «структурные сущности» является именем семи видов пиктограмм (выразительных рисунков), которые называются классами, интерфейсами, кооперациями, прецедентами, активными классами, компонентами и узлами.

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


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

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

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

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

2.4 Обзор case-средств, поддерживающих UML

Достаточно сложно определить лучший инструмент (среду) для объектного моделирования. Изучая различные статьи и профессиональные форумы, сразу становится очевидным факт субъективности в этом вопросе. Выбор среды зависит от многих факторов и параметров, не последнюю роль играет уровень навыка конкретного специалиста в той или иной среде и субъективное мнение по поводу удобства среды. Так как самому языку моделирования уже более 20 лет, за это время появилось множество различных инструментов. Неполный перечень продуктов приведен в приложении 1. Неполный список (приложение 1) уже насчитывает несколько десятков продуктов. Детальный анализ даже лидеров рейтингов не позволяет сделать объем курсовой работы. Приведем очень краткий обзор (больше визуальный, с представлением экранных копий окна моделирования) некоторых продуктов.