- •Вопрос 1. Внешнее проектирование по: разработка требований, определение целей по, внешние спецификации проекта.
- •Вопрос 2. Процесс разработки.
- •Вопрос 3. Структура сложных систем. Существует пять признаков сложных систем
- •Вопрос 4 Составные части объектного подхода
- •Вопрос 5. Объектная модель предметной области
- •Вопрос 6. Природа объекта.
- •Вопрос 7. Отношение между объектами. Типы отношений.
- •Вопрос 8. Диаграммы вариантов использования, диагр. Потоков данных.
- •Вопрос 9. Диаграммы классов, отношения между классами
- •Вопрос 10. Диаграммы взаимодействия
- •Вопрос 12. Отношение между классами. Типы отношений.
Вопрос 6. Природа объекта.
С точки зрения человека объектом может быть
осязаемый и (или) видимый предмет.
нечто воспринимаемое мышлением.
нечто, на что направлена мысль или действие
Объект - это сущность (реальная и абстрактная) имеющая четко определенное функциональное назначение в данной предметной области (Человек с молотком - гвоздь и человек проектировщик - объекты ) Есть понятия, которые не являются объектами К ним относятся атрибуты например время, красота цвет, эмоции Однако эти свойства могут быть присуши объектам (Мяч - красный, ребенок-любит)
Объект обладает состоянием, поведением и идентичностью; структура и поведение схожих объектов определяет общий для них класс, "термины" экземпляр класса и "объект" взаимозаменяемы
Состояние.
Состояние объекта характеризуется перечнем (обычно статическим) всех свойств данною объекта и текущими (обычно динамическими) значениями каждого из этих свойств
Статическое - это свойство принимать монеты
Динамическое - количество монет
Состав свойств может меняется (количество напитков и кнопок) Сам напиток - это другой объект, имеющий другие свойства
Объекты могут существовать во времени изменяться иметь внутреннее состояние, переходящее и могут создаваться, уничтожаться и разделяться
это то, как объект действует и реагирует.
поведение выражается в терминах состояния объекта и передачи сообщений
Это наблюдаемая и проверяемая извне деятельность
Операцией называется воздействие одного объекта на другой. Например, клиент активизирует операции append и pop - для управления объекта-очереди (добавить-и-изъять элемент, length - длина очереди) но не может изменить ее значения Это передача сообщения. другими словами вызывается функция -член другого объекта Можно сказать все методы операции но не все операции методы
Роли и ответственности Совокупность всех методов и свободных процедур конкретного объекта образуют протокол этою объекта Протокол определяет поведение объекта в статике и динамике Частные аспекты поведения называются ролями. Роль это маска которую носит объект она определяет контракт абстракций с клиентами
Ответственность объекта - это лишня которые объем поддерживает и действия которые может исполнить. Т.е. совокупность всех услуг по контракту обязательств. Пример персона в течение дня играет роль матери врача, садовника
Объекты как автоматы. Порядок выполнения операций имеет существенное значенне. Т.е. объект можно представить в качестве маленькой независимой машины (в серьезном случае - конечный автомат) для описания иерархической семантики
Идентичность - это такое свойство объекта, которое отличает его от всех других объектов. Следует отличать имя объекта от самого объекта Нельзя путать адресуемость и идентичность, и идентичность и значение данных (для БД)
Копирование, присваивание и равенство. Структурная зависимость (много имен у объекта) иногда неизбежно.
Объекты можно копировать, вводя копирующий конструктор в определение класса Disptayltem (const Display/temft);
Присваивание - это вообще говоря копирование
Пусть существует оператор Virtual DisplayItem& operator - (const DisplayItem&); Подклассы могут его переопределять, если присваивание не переопределено явно, то объект копируется поэлементно
С вопросом присваивания тесно связан вопрос равенства. Во-первых, два имени могут обозначать один и тот же объект, во вторых - это может быть равенство состояний у объектов
