У вас вопросы?
У нас ответы:) SamZan.net

об~єкт та екземпляр Чим характеризується об~єкт Объект представляет собой конкретный опознавае

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.2.2025

  1.  Поясніть поняття „об’єкт” при об’єктно-орієнтованому підході. Чи є спільними терміни «об’єкт» та «екземпляр»? Чим характеризується об’єкт?

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

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

Структура и поведение одинаковых объектов описывается в общем для них классе. Объекты это экземпляры классов. Термины «объект» и «экземпляр класса» взаимозаменяемы.

Объект характеризуется:  состоянием, поведением, идентичностью.

Устойчивость определяет, сохраняется ли состояние объекта после завершения создавшего его процесса.

  •  Устойчивый объект - объект, который продолжает существовать после завершения создавшего его процесса.
  •  Временный объект - объект, который существует только до тех пор, пока выполняется создавший его процесс.
  1.  Поясніть, чим характеризується стан об’єкта. Як стан об’єкту пов’язаний з його атрибутами?

Состояние объекта определяет его статические и динамические свойства.

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

Статические свойства - перечень атрибутов объекта.

Динамические свойства - значения атрибутов объекта.

  1.  Наведіть нотацію UML для опису об’єктів та формат імені об’єкту.

  1.  Наведіть визначення атрибуту об’єкта.

Абстракция отдельного свойства объекта называется его атрибутом. <имя объекта>.<имя атрибута>

Каждый атрибут имеет имя, уникальное в пределах объекта.

  1.  Поясніть, що означає поведінка об’єкта. Дайте визначення операції та наведіть типи операцій. Поясніть різницю між операцією та методом.

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

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

Операция - реализация услуги, которая может быть запрошена у любого объекта.

Метод – реализация операции

  1.  Опишіть поняття ідентичності об’єктів. Поясніть, чим відрізняються поняття об’єкт та ім’я об’єкту, об’єкт та значення атрибуту-ідентифікатора. Як виявлять об’єкти-значення та об’єкти-посилання.

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

  1.  Яким чином відбувається взаємодія між об’єктами. Поясніть сутність зв’язку між об’єктами.

Связь - семантическое соединение между объектами.

Связь определяет путь, по которому один объект передает сообщения другому (или самому себе). Чаще всего достаточно указать, что такой путь существует.

  1.  Дайте визначення повідомленню та опишіть його структуру.

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

Получение объектом экземпляра сообщения можно считать экземпляром события.

Структура сообщения:

  •  отправитель (инициирует сообщение) и получатель (получает сообщение) сообщения
  •  операция, которую получатель знает как выполнять
  •  список передаваемых параметров, необходимых для выполнения операции
  1.  Поясніть поняття видимість між об’єктами і чим вона забезпечується.

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

Используется следующая мотивация: для отправки сообщения от объекта А к объекту В необходимо, чтобы объект В был виден объекту А.

Обеспечения видимости объекта В объектом А:

  •  посредством атрибутов — объект B является атрибутом объекта A.
  •  посредством параметров — объект B является параметром метода объекта A.
  •  локальная видимость — объект B  объявлен как локальна переменная в методе объекта A.
  •  глобальная видимость — объект B виден глобально.
  1.  Поясніть сутність видимості між  об’єктами через атрибути. Наведіть приклад.

Объект В является атрибутом объекта А.

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

Class B{}

Class A{

B obj;

}

  1.  Поясніть сутність видимості між  об’єктами через параметри. Наведіть приклад.

Существует в том случае, если объект В передается в качестве параметров метода объекту А.

«Временная» видимость, поскольку она существует только в контексте данного метода.

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

Class B{}

Class A{

Metod(B obj);     }

  1.  Поясніть сутність локальної видимості між  об’єктами. Наведіть приклад.

Существует в том случае, если объект В объявлен в качестве локальной переменной в методе А.

Относительно «временная» видимость, поскольку она существует только в контексте данного метода.

Достигается следующими способами:

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

Class B{}

Class A{

Metod(){

B obj;

}

}

  1.  Поясніть сутність глобальної видимості між  об’єктами. Наведіть приклад.

Существует в том случае, если объект В является глобальным по отношению к А.  

Постоянная видимость, поскольку она поддерживается до тех пор, пока существуют объекты А и В.

Наиболее редкий способ обеспечения видимости.

Class B{}

  B obj;

Class A{

Metod(){}

}

  1.  Наведіть визначення поняття „клас”. Як термін „клас” використовується в різних типах моделі?

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

Использование термина «класс» в различных типах модели:

  •  Концептуальный класс – понятие из реального мира. Рассматривается в рамках модели предметной области.
  •  Класс проектирования или программный класс – представляет собой спецификацию или реализацию программного компонента, независимо от соответствия определенному языку программирования.
  •  Класс реализации – класс, реализованный на объектно-ориентированном языке.

  1.  Опишіть представлення класу як елементу мови UML.

 

                     Классы в модели предметной области

  1.  Поясніть використання видимості для доступу до ресурсів класу.

Типы видимости:

  •  + открытая (public) – видимая всем клиентам в любом месте программы; открытый элемент может быть вызван любым объектом в системе;
  •  – закрытая (private) – видимая только классу, в котором она определена, и друзьям класса;
  •  # защищенная (protected) – видимая самому классу, его подклассам и друзьям класса;
  •  ~ пакетная (package) видимая экземплярам классов внутри пакета.
  1.  Дайте визначення атрибуту і його синтаксис в  мові UML.

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

<видимость> <имя> <:тип>  <[кратность]> <= начальное значение>  {строка свойств}

  1.  Як можна представляти атрибути класу. Поясніть особливості типів атрибутів.

В модели предметной области атрибуты должны быть простыми атрибутами или простыми типами данных.

Стандартные типы атрибутов: Boolean, Date, Number, String (Text), Time, Address, Color, Point, Rectangle, PhoneNumber.

Другие стандартные типы: Адрес, Цвет, Геометрические фигуры: точка, прямоугольник, Номер Телефона, Номер страхового полиса, Почтовый индекс, перечисляемые типы

Атрибуты должны быть простыми

характеристика атрибутов в UML:

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

Реализуется через ключевое слово static

  1.  Наведіть додаткові властивості атрибутів.

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

changeability

  •  {changeable} – ограничений на изменение значений атрибута не установлено.
  •  {frozen} - свойство не может быть изменено в течение жизни объекта.
  •  {addOnly} – разрешается добавлять новые значения для атрибутов с кратностью больше единицы, но созданное значение не может быть удалено или изменено .
  •  {unique} – каждый экземпляр имеет свое значение .
  1.   Дайте визначення операції  та її синтаксис в мові UML.

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

<видимость> < имя> (< список параметров>)  : <тип возвращаемого значения>  {<строка свойств>}

характеристика атрибутов и операций в UML:

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

Реализуется через ключевое слово static

  1.  Дайте визначення поняття інтерфейс та його властивостей.

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

Классы, описывающие интерфейс, связаны с другими классами, реализующими заявленный интерфейс, отношением реализации.  

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

Нотация UML для интерфейсов:

  •  использовать стереотип <<interface>>
    •  представить интерфейс в виде «иконки»

  1.  Дайте визначення відношенню асоціації та його позначення в мові UML. Покажіть сутність відношення в залежності від учасників асоціації? Наведіть приклади.

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

  1.  Поясніть сутність зв’язку і відношення асоціації.

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

  1.  Наведіть приклад відношення асоціації та їх зміст.

  1.  Поясніть, як пов’язані атрибути класу, асоціації та видимість екземплярів.

  1.  Розкрийте сутність агрегації та рекомендації щодо її ідентифікації.

Агрегация – специальный вид ассоциации, описывающий отношение между агрегатом (целым) и его компонентом (частью)

Агрегация:

  1.  Защищает целостность конфигурации
  2.  Функционирует как один агрегат
  3.  Управляеся через один объект  - распространяется внутрь

Рекомендации по идентификации отношения агрегации:

  1.  Время жизни компонента ограничено временем жизни составного объекта, т.е. между частью и целым существует зависимость создания/удаления.
  2.  В физическом или логическом агрегате очевидно отношение «целое-часть».
  3.  Некоторые свойства составного объекта распространяются на его компоненты. Например: место их расположения.
  4.  Операции, применяемые к составному объекту, осуществляется и над его частями. Например: копирование, перемещение, запись.

  1.  Поясніть різницю між агрегацією та композицією. Наведіть приклади.

По значению. Целое физически содержим часть. Такая ассоциация называется композицией

Композиция. Жизненный цикл частей совпадает с жизненным циклом агрегата: создание или уничтожение частей агрегата происходит при создании или уничтожении самого агрегата.

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

Анотация для композиции:

По ссылке.

Целое физически содержит указатель или ссылку на часть.

Время жизни агрегата и его части независимы

Кратность со стороны составного объекта может быть больше 1.

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

Анотация для агрегации:

Каждое отношение агрегации это тип ассоциации

Каждое отношение композиции это форма агрегации

  1.  Охарактеризуйте поняття «кваліфікатор» та тип асоціації, який він утворює.

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

Ассоциация  с квалификатором называется квалифицированной ассоциацией.

Квалифицированная ассоциация с целевой кратностью «один» или «не более одного» образует четкий маршрут для поиска целевого объекта

  1.  Поясніть, яким чином відображуються асоціації, які мають властивості класу. Наведіть позначення мови UML.

Класс-ассоциации сочетает в себе свойства ассоциации и класса

Класс ассоциацию можносчитать или ассоциацией, имеющей свойства класса, или классом со свойствами ассоциации

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

  1.  Дайте визначення відношенню узагальнення та його позначення в мові UML. Наведіть приклади.

ОБОБЩЕНИЕ - это отношение между общей сущностью (суперклассом) и одной или есколькими его вариациями (подклассами)

Подкласс:

  •  Наслещует составляющие сеперкласса
  •  Добавляем свои составляющие (атрибуты и операции)
  •  

Может переопределять операции

Обобщение – отношение «является»

Экземпляр класса является экземпляром его всех суперклассов

Использование обобщения:

  •  Обеспечение поддержки полиморфизма
  •  Структурирование оисафний объектов
  •  Обеспечение повторного использования кода
  1.  За допомогою яких програмних механізмів реалізується відношення узагальнення?

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

  1.  Охарактеризуйте механізм успадкування, його особливості та види.

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

  1.  Поясніть особливості множинного успадкування та механізмів вирішення конфліктів, які виникають при його застосуванні.

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

Недостатки множественного наследованиия:

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

Решение проблемы конфликта имен. К копиям унаследованных элементов добавляется имея класса-источника

  1.  Повторное наследование происходит при наследовании одного и того же элемента по разным веткам наследования.

Решение: суперкласс определяется как виртуальный базовый класс (применяется, когда суперклассы получены от одного общего суперкласса)

  1.  Опишіть призначення абстрактних класів у відношенні узагальнення та нотацію мови UML для абстрактних класів. Наведіть приклади.

Абстрактный класс – класс, не имеющий непосредственных экземпляров.

Абстрактные классы используются для определения операций без реализующих их методов (абстрактные операции). Эти операции наследуются и реализуются подклассами.

  1.  Дайте визначення відношенню залежності та його позначення в мові UML. Наведіть приклади.

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

  1.  Дайте загальну характеристику видам залежностей та елементам, між якими існує відношення залежності.
  •  Абстракция - это зависимость, в которой клиент и сервер находятся на различный уровнях абстракции.
  •  Связывание (или инстацирование) - определяет отношение между параметризированным классом (шаблоном) и инстацированным классом.
  •  Использование - показывает, что одна из сторон отношения (клиент) для своего корректного функционирования или реализации пользуется услугами стороны другой (сервера).
  •  Разрешение - указывает, что клиенту даются специальные права видимости свойств сервера. Используется для моделирования отношений, подобных отношениям между классом и его друзьями в языке C++
  1.  Поясніть, які види залежностей існують між класами та об’єктами.

Между объектами можно устанавливать зависимости по данным. Эти зависимости выражают связи или отношения между классами указанных объектов. Зависимости между классами являются двусторонними: все классы в зависимости равноправны. В языках программирования зависимости между классами (объектами) обычно реализуются с помощью ссылок (указателей) из одного класса (объекта) на другой.

  1.  Охарактеризуйте «абстракцію», як вид залежності та стереотипи, властивості для такого виду залежності.

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

Типы абстракции:

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

  •  Реализация - («realize») показывает, что Клиент является реализацией спецификации или интерфейса, определенного сервером.

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

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

  1.  Поясніть, в чому полягає значення залежності при зв’язуванні. Яким чином реалізується такий вид залежності в ООП?

Связывание (или инстацирование) - определяет отношение между параметризированным классом (шаблоном) и инстацированным классом.

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

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

  1.  Розкрийте значення «використання», як виду залежності. Покажіть особливості «використання» для елементів UML.

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

UML предлагает следующие типы отношения использования:

  •  Use - Показывает, что семантика клиента зависит от семантики открытой части сервера. Отношение использования между классами соответствует равноправной связи между их экземплярами. Зависимость проявляется в интерфейсной операции, т.е. сервер передается клиенту в качестве фактического параметра.

  •  InstanceOf - специфицирует отношение между классами и их экземплярами (на одной  и той же диаграмме). Клиент является экземпляром сервера.  

  •  instantiate - Показывает, что клиент создает экземпляры сервера. Например, в реализации операции клиента происходит объявление локального объекта сервера.

  1.  Розкрийте значення «дозволу», як виду залежності. Яким чином реалізується такий вид залежності в ООП?

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

  1.  Охарактеризуйте відношення залежності між пакетами.

Зависимость между пакетами - показывает, что один и более классов одного пакета «заинтересованы» во взаимодействии с одним и более классами другого пакета.

Стереотипы зависимости:

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

  1.  У чому полягає різниця підходів, що застосовуються при проектуванні програмних систем.                 Наведіть та опишіть основні підходи.

Структурный подход

Сущность подхода заключается в декомпозиции (разбиении) системы на автоматизируемые функции:

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

Процесс разбиения продолжается вплоть до конкретных процедур.

Объектно-ориентированный подход

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

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

  1.  Поясніть сутність та принципи структурного підходу, який застосовується при проектуванні програмних систем.

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

Принципы структурного подхода:

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

  1.  Опишіть процес декомпозиції програмної системи у відношенні з об’єктно-орієнтованим підходом. У чому полягає сутність об’єктно-орієнтованого аналізу, проектування та програмування?

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

Этапы в соответствии с объектно-ориентированным подходом:

  •  Объектно-ориентированный анализ (ООА)
  •  Объектно-ориентированное проектирование (ООП)
  •  Объектно-ориентированное программирование

Объектно-ориентированный анализ - создание объектно-ориентированной модели предметной области приложения ПО.

  •  Объекты отражают реальные сущности.
  •  Определяются операции, выполняемые объектами.

Объектно-ориентированное проектирование - разработка объектно-ориентированной модели системы ПО (системной архитектуры) с учетом системных требований.

  •  Определение всех объектов подчинено решению конкретной задачи.   

Объектно-ориентированное программирование - реализация архитектуры с помощью объектно-ориентированного языка программирования.

  1.  Які принципи підтримує об’єктно-орієнтований підхід?

Объектно-ориентированный подход поддерживает принципы:

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

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

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

Это означает наличие двух частей в классе: интерфейса и реализации. Интерфейс отражает внешнее представление и поведение всех объектов данного класса. Реализация описывает механизмы и внутреннюю реализацию внешнего интерфейса. В интерфейсной части собрано все, что касается взаимодействия данного объекта с любыми другими объектами; реализация скрывает от других объектов все детали, не имеющие отношения к процессу взаимодействия объектов.

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

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

  1.  Наведіть визначення мови UML. Опишіть основні способи застосування мови UML.

Унифицированный язык моделирования (UML) – фактический и юридический стандарт для объектно-ориентированного моделирования.

Способы применения UML:

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

  1.  З яких елементів складається словник UML? Покажіть особливості застосування механізмів розширення мови UML?

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

Сущности – это абстракции, являющиеся основными элементами модели.

Типы сущностей:

  •  Структурные – например, Классы, Интерфейсы, Компоненты и т.д.;
  •  Поведенческие – Взаимодействия и т.д.;
  •  Группирующие – Пакеты;
  •  Анотационные – Примечания.

Отношения – связывают различные сущности.

В UML определены 4 типа отношений:

  •  Зависимость;
  •  Ассоциация;
  •  Обобщения;
  •  Реализация.

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

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

Диаграмма – одна из проекций системы.

  •  Диаграмма
    •  Диаграмма структуры
    •  Диаграмма поведения

Механизмы расширения UML:

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

  •  именем в двойных угловых скобках;
  •  пиктограммой.

Помеченное (именованное) значение. Расширение свойств элемента, позволяющее вводить дополнительлную информацию в его спецификацию. Является парой «ключ = значение».

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

  1.  Які діаграми мови UML застосовуються для моделювання поведінки системи?

Для моделирования поведения системы используются такие диаграммы как:

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

  1.  Які діаграми мови UML застосовуються для відображення структури системи?

Для отображения структуры системы:

  •  Диаграмма вариантов использования - Показывает совокупность прецедентов и актеров, а также отношения между ними
  •  Диаграмма деятельности - Показывает поток переходов от одной деятельности к другой
  •  Диаграмма состояний - показывает автомат, фокусируя внимание на потоке управления от состояния к состоянию
  •  Диаграмма взаимодействия - описывает взаимодействия, состоящие из множества объектов и отношений между ними, включая сообщения, которыми они обмениваются
  •  Диаграммы последовательностей и коммуникации - Диаграммы коммуникации и последовательности транзитивны, выражают взаимодействие, но показывают его различными способами и с достаточной степенью точности могут быть преобразованы одна в другую
  1.  Опишіть види елементів на діаграмі компонентів та їх співвідношення. Для чого застосовується ця діаграма?

Диаграмма компонентов применяют для моделирования статического вида системы с точки зрения реализации.

Диаграмма компонентов включает:

  •  Компоненты
  •  Интерфейсы
  •  Отношения (зависимость, обобщение, ассоциации и реализации)

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

Моделирование интерфейса компонента:

  •  Предоставляемый (provided) интерфейс
    •  Сервис, предлагаемый/поддерживаемый компонентом
  •  Требуеммый (require) интерфейс
  •  Сервис, требуемый компоненту из другого компонента
  1.  Що являє собою вузол на діаграмі розгортання? Ким і на якому етапі розробки програмної системи використовується діаграма розгортання?

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

  1.  Поясніть особливості використання пакетів. Яка діаграма показує організацію елементів в пакеті?

Пакет – механизм организации элементов в группы

Диаграмма пакетов, Package diagram — структурная диаграмма, основным содержанием которой являются пакеты и отношения между ними. Жёсткого разделения между разными структурными диаграммами не проводится, поэтому данное название предлагается исключительно для удобства и не имеет семантического значения (пакеты и диаграммы пакетов могут присутствовать на других структурных диаграммах). Диаграммы пакетов служат, в первую очередь, для организации элементов в группы по какому-либо признаку с целью упрощения структуры и организации работы с моделью системы.

  1.  Який вид системи моделює діаграма об’єктів? Порівняйте діаграму об’єктів.

Диаграмма объектов – структурная диаграмма, которая показывает объекты и их отношения в некоторый момент времени.

Содержит: Объекты, Связи.

Применение диаграммы объектов: моделирование статического вида системы с точки зрения проектирования или процессов (как и с помощью диаграммы классов), но принимая во внимание реальные экземпляры или прототипы.

  1.  Поясніть особливості застосування діаграми складових структур.

Диаграммы составных структур – структурная диаграмма, которая показывает внешние интерфейсы и внутреннюю композицию структуры класса

Содержит

  •  Части класса или компонента, включая соединения между частями
  •  Порты (точки внешнего взаимодействия).

Пременение:

  •  Составные структуры представяют группы времени выполнения
  •  Отображение компонентов и способов их разбиения на части
  1.  Охарактеризуйте и приведите примеры применения диаграмм деятельности. Каким образом диаграммы деятельности используются при объектно-ориентированном анализе?

Покозывает поток переходов от одной дуятельности к другой;

Сдержит:

  •  Действия
  •  Узлы деятельности
  •  потоки
  •  объекты

Узел (состояние) дуятельности

  •  Организационная единица в пределах деятельности
  •  Типы узлов деятельности:
    •  Выполняемые (действия)
    •  Управляющие
    •  Объектов

Действие

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

Управляющие узлы

  •  Начальный узел
  •  Конечный узел деятельности
  •  Решение
  •  Слияние
  •  Разделение (folk) разделяет поток на параллельные потоки
  •  Объединение (join) синхронизирует многочисленные потоки управления

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

Применение диаграмм деятельности

  •  Моделирование высоко-уровневых операций
  •  Дутализация вариантов использования
  •  Моделирование потоков работ и бизнес-процессов
  •  Моделирование процессов
  •  Суммирование нескольких диаграмм последовательности
  1.  Опишите типы узлов, представленные на диаграмме деятельности.

Управляющие узлы

  •  Начальный узел
  •  Конечный узел деятельности
  •  Решение
  •  Слияние
  •  Разделение (folk) разделяет поток на параллельные потоки
  •  Объединение (join) синхронизирует многочисленные потоки управления
  1.  Какие элементы содержит диаграмма состояний? Для чего применяется диаграмма состояний?

Диаграмма состояний (конечного автомата) – показывает автомат, фокусируя внимание на потоке управления от состояния к состоянию

Содержит:

  •  Простые и составные состояния
  •  Переходы, события и действия

Применение диаграмм состояния

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

  1.  Что такое состояние? Как на диаграмме состояний показать отношение между состояниями?

Состояние  

  •  - момент в жизни объекта между двумя событиями. Находясь в определенном состоянии объект может:
    •  Выполнять деятельность
    •  Ожидать события
    •  Удовлетворять одному или несколькми условиям

Простые и составные состояния:

  •  Простые состояния не имеют внутренней структуры.
  •  Составные состояния содержат вложенные состояния, которые могут быть паралленьными и последовательными.

Переход показывает отношение между двумя состояниями

Метка перехода:

Имя события (разделенный запятыми список параметров)[сторожевое условие]/действие

  1.  Какими способами можно построить диаграмму взаимодействия? Какие сущности составляют диаграмму взаимодействия?

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

Можно строить двумя способами, акцентируя внимание:

  •  на временной упорядоченности сообщений  – диаграмма последовательностей (Sequence diagram);
  •  на структурной организации объектов, принимающих и отправляющих сообщения  – диаграмма кооперации (Collaboration diagram).

Диаграммы взаимодействия - содержат

  •  Объекты изображаются на диаграмме последовательности в виде прямоугольников на вершине вертикальной пунктирной линии. На этой диаграмме изображены все объекты, участвующие во взаимодействии. Обычно инициирующий взаимодействие объект размещают слева, а остальные правее. Линия жизни (на диаграммах последовательности), отражающей существование объекта во времени (вертикальная пунктирная линия). На линию жизни объектов влияют сообщения со стереотипами:
  •  «create»– создает новый объект;
  •  «destroy»– удаляет объект. Объект может уничтожить самого себя.
  •  Связи
  •  Сообщения представляет собой спецификацию передачи данных между объектами.  В ответ на сообщение происходит определенное действие. Прием объектом сообщения является экземпляром события. При генерации кода сообщения ассоциируются с вызовом методов экземпляров классов.
  1.  В чем отличие диаграмм последовательности в стандарте UML версий 1.4 и 2.0?

Стандарт 1.4

  1.  Опишите особенности диаграмм последовательности и коммуникации.

Особенности диаграмм последовательности

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

Особенности диаграмм кооперации

  •  моделируют взаимодействие объектов в контексте их статических связей;
  •  рекомендуется использовать для описания схем взаимодействия, в частности динамической составляющей шаблонов проектирования “design patterns”;
  •  лучше, чем диаграммы последовательностей иллюстрируют сложные зависимости, итерационность и параллельные события.
  •  часто бывают не очень наглядны для сложных схем взаимодействия, сложнее отследить последовательность сообщений
  1.  Поясните особенности применения диаграммы обзора взаимодействия.

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

  1.  В чем заключается назначение диаграммы вариантов использования?

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

Диаграмма содержит:

  •  Контекст системы
  •  Варианты использования
  •  Актеры
  •  Отношения зависимости, обобщения и ассоциации.
  1.  Охарактеризуйте сущности, которые составляют диаграмму вариантов использования.

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

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

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

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

  1.  Поясните сущность отношений между вариантами использования.

Отношения между прецедентами: 

  •  Расширение - отношение между прецедентами, которое показывает, что поведение одного прецедента (базового) может быть расширено поведением другого (дополнительного) прецедента. (<<extend>>)
  •  Включение - отношение между прецедентами означает, что поведение базового прецедента включает в себя поведение другого прецедента (включаемого). Включаемый прецедент не существует автономно, а только как часть базового прецедента. Направление отношения показывает, что поведение базового прецедента зависит от поведения дополнительного, но не наоборот. (<<include>>)
  •  обобщение - отношение меду прецедентами, при котором прецедент потомок наследует поведение своего родителя, может замещать его и дополнять его поведение, а также подставлен всюду, где появляется его родитель.

  1.  Опишите отношение обобщения на диаграмме прецедентов.

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

  1.  Какие деятельности необходимо выполнить для построения модели вариантов использования?
  •  Определить границы системы
  •  Выделить действующие лица (актеры)
  •  Определить и описать варианты использования в виде сценариев
  •  Построить диаграмму вариантов использования
  •  Задокументировать модель вариантов использования
  1.  Опишите сценарии, с помощью которых специфицируют варианты использования.

Сценарий варианта использования

  •  Основной исполнитель
  •  Предусловия
  •  Результаты (Постусловия)
  •  Основной успешный сценарий (или основной процесс)
  •  Расширения (или альтернативные потоки)
  •  Специальные требования
  1.  Какие деятельности необходимо выполнить для построения модели анализа?
  •  Проанализировать варианты использования
  •  Выделить концептуальные классы
  •  Подготовить словарь данных
  •  Выделить ассоциации между концептуальными классами
  •  Выделить атрибуты концептуальных классов и объектов
  •  Организовать и упростить классы при помощи наследования
  •  Сгруппировать классы в пакеты
  1.  Какими способами можно выявить концептуальные классы на модели предметной области?

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

Способы выявления концептуальных классов:

  •  С использованием списка категорий концептуальных классов
  •  На основе анализа текстов
  1.  Поясните особенности отношений между концептуальными классами на модели предметной области.

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

При создании модели предметной области можно определить ассоциации, которые не понадобятся во время проектирования.

  1.  Как выделить атрибуты концептуальных классов на модели предметной области?

В модели предметной области атрибуты должны быть простыми атрибутами или простыми типами данных.

Стандартные типы атрибутов: Boolean, Date, Number, String (Text), Time, Address, Color, Point, Rectangle, PhoneNumber.

Другие стандартные типы: Адрес, Цвет, Геометрические фигуры: точка, прямоугольник, Номер Телефона, Номер страхового полиса, Почтовый индекс, перечисляемые типы

  1.  Охарактеризуйте стереотипы классов анализа.

<<boundary>> используются для моделирования взаимодействия между системой и её актерами (пользователями и внешними системами). Взаимодействие часто включает в себя получение (и передачу) информации и запросы пользователей и внешних систем к ним. Абстракции окон, форм, панелей, коммуникационных интерфейсов, интерфейсов принтера, датчиков, терминалов и (возможно не объектно-ориентированных) АРI.

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

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

  1.  В чем особенность класса анализа при объектно-ориентированном анализе и проектировании?

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

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

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




1. тема упорядочивающая целое
2. Загальна характеристика розвитку світового господарства
3.  Некоторые теоретические вопросы обучения лексической стороне речи Ознакомление с новой лексикойв
4. Некоторые аспекты административно-территориальной реформы в Украине
5. О ратификации Договора о Таможенном кодексе Таможенного союза
6. 47. Ассиметрия вывода при подтверждении или отклонении экспериментальной гипотезы
7. First metl His resoning is tht gold by its chemistry is found in nture s nuggets of pure gold
8. Эксперимент Ну здравствуй
9. Медь
10. Технологія роботи з формування статевої культури підлітків у школі