Шпаргалка по "Программированию и компьютерам"

Автор работы: Пользователь скрыл имя, 10 Ноября 2014 в 02:32, шпаргалка

Краткое описание

Методология процедурно-ориентированного программирования.
Методология объектно-ориентированного программирования.
Методология объектно-ориентированного анализа и проектирования.

Вложенные файлы: 1 файл

шпоры_ТП_2семестр.docx

— 134.25 Кб (Скачать файл)

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Диаграмма кооперации: назначение, графическое представление, связи и сообщения.

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

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

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

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

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

  1. Сплошная линия с треугольной стрелкой (рис. 9.10, а) обозначает вызов процедуры или другого вложенного потока управления. Может быть также использована совместно с параллельно активными объектами, когда один из них передает сигнал и ожидает, пока не закончится некоторая вложенная последовательность действий.
  2. Сплошная линия с V-образной стрелкой (рис. 9.10, б) обозначает простой поток управления. Каждая такая стрелка изображает один этап в последовательности потока управления. Обычно все такие сообщения являются асинхронными.
  3. Сплошная линия с полустрелкой (рис. 9.10, в) используется для обозначения асинхронного потока управления. Соответствующие сообщения формируются в произвольные, заранее не известные моменты времени, как правило, активными объектами.
  4. Пунктирная линия с V-образной стрелкой (рис. 9.10, г) обозначает возврат из вызова процедуры. Стрелки этого типа зачастую отсутствуют на диаграммах кооперации, поскольку неявно предполагается их существование после окончания процесса активизации некоторой деятельности.

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

 

 

  1. Диаграмма кооперации: взаимосвязь и интеграции с диаграммой вариантов использования и диаграммой классов.

Кооперация может быть представлена на двух уровнях:

  • на уровне спецификации — показывает роли классификаторов и роли ассоциаций в рассматриваемом варианте использования;
  • на уровне примеров (экземпляров) — указывает классы и связи, образующие отдельные роли в кооперации.

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Диаграмма последовательности: назначение, графическое представление, взаимодействие объектов в процессе функционирования системы.

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

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

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

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

Слева направо – измерение откладывается в виде вертикальных линий. Вверху пишется объект.

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

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

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

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

  1. Диаграмма состояний: понятие конечного автомата, назначение диаграммы, графическое представление.

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

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

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

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

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

Каждое из действий записывается в виде отдельной строки и имеет следующий формат:

<метка-дёйствия '/' выражение-действия>

Метка действия указывает на обстоятельства или условия, при которых будет выполняться деятельность, определенная выражением действия. Если список выражений действия пустой, то разделитель в виде наклонной черты '/' может не указываться.

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

• entry – эта метка указывает на действие, специфицированное следующим за ней выражением действия, которое выполняется в момент входа в данное состояние (входное действие);

• exit – эта метка указывает на действие, специфицированное следующим за ней выражением действия, которое выполняется в момент выхода из данного состояния (выходное действие);

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

В последнем случае при завершении события генерируется соответствующий результат;

• include – эта метка используется для обращения к подавтомату, при этом следующее за ней выражение действия содержит имя этого подавтомата. 

Простой переход (simple transition) представляет собой отношение между двумя последовательными состояниями, которое указывает на факт смены одного состояния другим.

Переход осуществляется при наступлении некоторого события: окончания выполнения деятельности (do activity), получении объектом сообщения или приемом сигнала. На переходе указывается имя события Кроме того, на переходе могут указываться действия, производимые объектом в ответ на внешние события при переходе из одного состояния в другое. Срабатывание перехода может зависеть не только от наступления некоторого события, но и от выполнения определенного условия, называемого сторожевым условием.

Сторожевое условие (guard condition), если оно есть, всегда записывается в прямых скобках после события-триггера и представляет собой некоторое булевское выражение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Диаграмма состояний: виды состояний, отношения между состояниями, процесс функционирования системы в нотации диаграммы состояний.

Информация о работе Шпаргалка по "Программированию и компьютерам"