Язык UML. Сущности UML. Отношения UML

Изучение особенностей унифицированного языка моделирования (UML), который является инструментом для создания документированных каркасов программного обеспечения. Определение сущности интерфейса. Рассмотрение понятия автомата, как алгоритма поведения.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 29.05.2015
Размер файла 23,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

ФИНАНСОВЫЙ УНИВЕРСИТЕТ ПРИ ПРАВИТЕЛЬСТВЕ РОССИЙСКОЙ ФЕДЕРАЦИИ

Тульский филиал

Контрольная работа

По дисциплине: «Объективно-ориентированное моделирование на основе UML»

На тему: «Язык UML. Сущности UML. Отношения UML»

Исполнитель: студент 4 курса

Направление подготовки: Б-И

группы 3С

Шахов И.О.

№ зачетной книжки: 100.26/120352

Руководитель: Шадский В. Г.

Тула 2015

Содержание

1. Язык UML

2. Сущности UML

3. Отношения UML

Список использованной литературы

1. Язык UML

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

UML - представляет собой объектно-ориентированный язык моделирования, обладающий следующими основными характеристиками:

Ш является языком визуального моделирования

Ш содержит механизмы расширения и специализации базовых концепций языка.

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

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

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

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

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

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

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

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

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

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

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

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

Словарь UML включает три вида основных конструкций:

· сущности - абстракции, являющиеся основными элементами модели;

· отношения - связи между сущностями;

· диаграммы, группирующие представляющие интерес множества сущностей и отношений.

2. Сущности UML

Сущности являются основными объектно-ориентированными элементами языка. С их помощью можно создавать корректные модели. В UML имеется четыре типа сущностей:

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

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

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

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

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

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

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

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

Поведенческие сущности - динамические составляющие модели UML. Это глаголы языка, они описывают поведение модели во времени и в пространстве. Существует всего два основных типа поведенческих сущностей:

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

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

Группирующие сущности являются организующими частями модели UML. Это блоки, на которые можно разложить модель. Такая первичная сущность имеется в единственном экземпляре - это пакет.

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

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

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

3. Отношения UML

Отношения являются основными связующими конструкциями в UML и применяются для построения корректных моделей. В языке UML определены четыре типа отношений:

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

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

Агрегация - специальная форма ассоциации, которая слу-жит для представления отношения типа «часть-целое» между агрегатом (целое) и его составной частью.

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

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

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

Обобщение - это отношение "специализация/обобщение", при котором объект специализированного элемента (проще говоря, потомок) может быть подставлен вместо объекта обобщенного элемента (родителя, предка). Как и положено в объектно-ориентированном программировании, потомок наследует структуру и поведение своего предка. Графически отношение обобщения изображается в виде линии с незакрашенной стрелкой, указывающей на предка.

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

Список использованной литературы

1. История UML. Описание UML. Сущности UML. Отношения UML. [Электронный ресурс] / Режим доступа: http://5fan.ru/wievjob.php?id=19275

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [439,9 K], добавлен 05.06.2014

  • Определение понятия и сущности программного обеспечения. Рассмотрение основ интерпретируемых и компилируемых программ. Особенности несвободных, открытых, свободных, системных, прикладных и инструментальных программ; основные принципы их применения.

    реферат [25,6 K], добавлен 06.11.2014

  • Унифицированный язык моделирования (UML) как стандартный инструмент для создания "чертежей" программного обеспечения. Визуализирование, специфицирование, конструирование и документирование артефактов программных систем. Правила языка, диаграммы классов.

    курсовая работа [613,9 K], добавлен 24.11.2010

  • Изучение сущности и основных функций программного интерфейса для обеспечения обмена данными между процессами, который называется сокет. Сокеты и UNIX. Атрибуты и именование сокета. Установка соединения (сервер, клиент). Обмен данными. Закрытие сокета.

    презентация [99,1 K], добавлен 12.05.2013

  • Особенности разработки информационных систем с использованием унифицированного языка моделирования UML. Основные этапы рационального унифицированного процесса разработки информационных систем с примерами и иллюстрациями. Реализация информационной системы.

    методичка [950,2 K], добавлен 23.01.2014

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

    реферат [155,9 K], добавлен 19.10.2013

  • Проектирование программного обеспечения для создания баз данных о работах студентов университета при помощи языка Visual Basic. Разработка интерфейса пользователя. Руководство для системного программиста. Краткое описание алгоритма работы с программой.

    курсовая работа [2,6 M], добавлен 19.03.2010

  • Изучение языка низкого уровня ассемблер для написания примера программы для 16 битного приложения. Разработка и реализация алгоритма поднесения чисел к степени чисел над полем за основанием 2 (mod 2). Иллюстрация техники создания DOS приложения.

    курсовая работа [33,3 K], добавлен 08.11.2011

  • Подробное рассмотрение программного обеспечения для моделирования и расчетов в области химии, редактирования текстов. Изучение понятий: "программное обеспечение"; химическое ПО; химические редакторы; системное ПО; прикладное ПО; инструментальное ПО.

    курсовая работа [4,1 M], добавлен 29.05.2014

  • Использование моделирования в программной инженерии в процессе разработки программного обеспечения. Основные этапы процесса разработки программного обеспечения, их характеристика. Моделирование процессов, их определение фазами и видами деятельности.

    реферат [2,2 M], добавлен 25.12.2017

  • UML как язык моделирования, используемый архитектором при разработке дизайна системы для создания описания основных, важных аспектов программного обеспечения. Диаграмма прецедентов (UseCase), классов, видов деятельности, компонентов, последовательностей.

    отчет по практике [633,1 K], добавлен 22.07.2012

  • Ознакомление с основами расширяемого языка разметки Extensible Markup Language. Изучение основных правил создания XML-документа. Рассмотрение набора элементов языка, секций CDATA, директив анализатора, комментариев, спецсимволов, текстовых данных.

    презентация [400,9 K], добавлен 21.12.2014

  • Изучение устройства и механизма процессов в компиляторах и интерпретаторах. Понятие трансляции как процедуры перевода программного кода с языка Паскаль на язык С++. Описание интерфейса программы и автоматизация процесса построения диаграммы классов.

    курсовая работа [536,2 K], добавлен 03.07.2011

  • Создание прикладного программного обеспечения для реализации интерфейса терминала по приему платежей за услуги связи. Анализ требований к программному обеспечению. Выбор языка программирования. Разработка интерфейса пользователя и проектной документации.

    дипломная работа [1,3 M], добавлен 18.06.2015

  • Характеристика объектно-ориентированного, процедурного, функционального программирования. Выбор языка программирования для создания программного обеспечения для управления справочником "Спортсмены". Алгоритм работы приложения, пользовательский интерфейс.

    курсовая работа [1,6 M], добавлен 23.02.2016

  • Администрация Бодайбинского городского поселения как объект исследования, ее структура и направления деятельности. Описание унифицированного языка моделирования UML, разработка бизнес-процессов в его диаграммах. Описание и главные функции GRM-систем.

    курсовая работа [1,1 M], добавлен 02.06.2015

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

    реферат [35,2 K], добавлен 24.07.2010

  • Изучение основных видов угроз программного обеспечения. Выявление наиболее эффективных средств и методов защиты программного обеспечения. Анализ их достоинств и недостатков. Описания особенностей лицензирования и патентования программного обеспечения.

    курсовая работа [67,9 K], добавлен 29.05.2013

  • Разработка интерфейса справочно-расчетного программного обеспечения. Расчетно-графический модуль. Решение задачи динамического моделирования в системе MATLAB/Simulink. Программная реализация, результаты моделирования системы на текстовых примерах.

    курсовая работа [2,6 M], добавлен 01.12.2014

  • Понятие о классах и объектах, их место и значение в современном программировании. История развития унифицированного языка моделирования, достижения в данной области на сегодня. Методы представления класса. Представление отношения между классами.

    реферат [515,6 K], добавлен 25.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.