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

Презентация:



Advertisements
Похожие презентации
Прикладное программирование кафедра прикладной и компьютерной оптики Абстрактные типы данных.
Advertisements

Методология объектно- ориентированного программирования.
Компьютерные методы моделирования оптических приборов кафедра прикладной и компьютерной оптики Объектно-ориентированная модель конструктивных параметров.
В. И. Дихтяр ИНФОРМАТИКА Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 3Моделирование объектов и процессов и его.
Прикладное программирование кафедра прикладной и компьютерной оптики Наследование.
Разработка программного обеспечения при объектном подходе Объектно-ориентированный подход.
Алгоритмический подход – главное алгоритм решения задачи ( в основном, используется для вычислительных задач ); Структурное программирование – декомпозиция,
Объектно- ориентированный подход к моделированию систем.
В. Дихтяр ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ (для бакалавров) Российский университет дружбы народов Институт гостиничного бизнеса и туризма Раздел 1.Разработка.
Проектирование архитектуры ИСО 1. UML 2 Структура определения языка 4.
Технология программирования в историческом аспекте.
Разработка объектно- ориентированного ПО Итеративная модель разработки (развитие водопадной модели) анализ проектирование кодирование тестирование.
ООП Лекция 1. Основные понятия. Литература Шилдт Г. С#: полное руководтво.-М.:ООО Вильямс, с. Культин Н.Б. Microsoft Visual C# в задачах и.
1 Диаграммы реализации (implementation diagrams).
WORK WITH UML Универсальный язык моделирования (UML) Studybook for students Author Dudnik Oxana.
OOП Инна Исаева. Подпрограмма – это большая программа, разделённая на меньшие части. В программе одна из подпрограмм является главной. Её задача состоит.
Докладчик: Проектирование информационных систем всегда начинается с определения цели проекта. Основная задача любого успешного проекта.
Java, каф. ОСУ АВТФ1 Методология ООП В формулировке цели выполнения некоторого проекта (например, разработка ИС) участвуют предметы (объекты)
Моделирование данных Модель «сущность-связь». Рассматриваемые вопросы: Элементы модели «сущность-связь» Диаграммы «сущность-связь» Слабые сущности Подтипы.
UML МИЭМ, План лабораторной UML Краткий обзор средств моделирования Паттерны проектирования Практическая часть 2.
Транксрипт:

Компьютерные методы моделирования оптических приборов кафедра прикладной и компьютерной оптики Основы объектно-ориентированной технологии программирования

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

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

4 Принципы ООП Абстракция – формирование представления о свойствах и поведении предмета путем выделения существенных характеристик, отличающих его от других видов объектов Инкапсуляция – сокрытие внутреннего устройства, реализации объекта Сохраняемость – возможность объекта сохранить информацию о своём состоянии, а затем при необходимости восстановить его

5 Принципы ООП Наследование (иерархия) – такое отношение между классами, когда один объект заимствует структурную и функциональную часть другого Полиморфизм (типизация) – возможность принимать множество форм, изменять поведение в зависимости от ситуации Параллелизм – возможность параллельного сосуществования и взаимодействия объектов Модульность – возможность объединения и отделения набора объектов (организация предметных доменов)

6 Абстракция: объект Объект – абстракция множества предметов реального мира: все предметы имеют один и тот же набор характеристик все предметы подчинены и согласовываются с одним и тем же набором правил, нормами поведения, законами природы ОБЪЕКТ = набор характеристик + набор правил поведения Примеры объектов: линза собирающая линза рассеивающая линза аберрация зрачок пучок лучей волновой фронт призма диафрагма источник приемник преломление отражение дифракция интерференция Виды объектов: реальные объекты роли инцидент взаимодействия абстрактные объекты

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

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

9 Атрибуты объекта Атрибут – абстракция одной характеристики, которой обладают все абстрагированные как объект предметы уникальное имя тип данных h d n r1 r2 Типы атрибутов: описательные – представляют факты внутренне присущие каждому экземпляру объекта указывающие – используются для присвоения имени или обозначения экземпляров вспомогательные – используются для обеспечения связи экземпляра одного объекта с экземпляром другого

10 Жизненный цикл объекта Состояние – набор всех свойств (атрибутов) данного объекта, которые имеют конкретные значения. Переход из состояния в состояние представляет собой инцидент событие Состояние – стадия в жизненном цикле объекта Состояние 1 Состояние 2 Разрушение объекта Создание объекта Событие 1 Событие 2

11 Поведение объекта ОБЪЕКТ = АТРИБУТЫ + ПОВЕДЕНИЕ Конструктор – операция создания объекта и инициализации его атрибутов Деструктор – операция, освобождающая используемые объектом ресурсы и разрушающая его Утилита – операция высокого уровня выполняющая те или иные действия в зависимости от сущности объекта (RayTrace)

12 Поведение объекта Модификатор – операция, которая изменяет состояние объекта (clear, pop, push, remove, set) Селектор – операция, считывающая состояние объекта, но не меняющая (length, height, width, isEmpty, getX, getY) Итератор – операция, позволяющая организовать доступ ко всем частям объекта в строго определенной последовательности (first, last, next, previous)

13 Инкапсуляция Никакая часть сложной системы не должна зависеть от внутреннего устройства какой-либо другой части: объект –черный ящик public пользователи protected private функции-члены и друзья производных классов функции-члены и друзья самого класса class ИМЯ { private:... protected:... public:... }

14 Сохраняемость Сохраняемость – способность объекта существовать во времени, переживая породивший его процесс, и в пространстве, перемещаясь из своего первоначального адресного пространства Сериализация – сохранение информации о состоянии объекта, с последующей возможность его восстановления void Lens::write(ostream& out) const { coutm_n; }

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

16 Ассоциация Ассоциация – наиболее общее отношение между объектами: объекты каким-то образом взаимодействуют

17 Кратность ассоциации Кратность показывает сколько классов участвует или может участвовать во взаимоотношении

18 Использование Использование - это равноправная связь между экземплярами классов ("клиент/сервер")

19 Агрегация Агрегация – это такое отношение между классами, когда один из них является частью другого ("целое/часть") Композиция – наиболее сильная степень агрегации, при которой один экземпляр объекта незаменим и неотделим от другого

20 Наследование Наследование – такое отношение между классами, когда один из них заимствует описание атрибутов и характеристики другого ("родитель/наследник", "общее/частное)

21 Полиморфизм Полиморфизм – возможность принимать множество форм, иметь разный смысл в зависимости от ситуации Абстрактый объект – объект, у которого не может существовать экземпляра, только наследники Абстрактный метод – метод, который реализовывается только в наследниках

22 Параметрический полиморфизм Параметрический полиморфизм – позволяет многократно использовать один и тот же код применительно к разным типам Классы библиотеки STL: vector, list …

23 Модульность Модульность – позволяет объединить взаимодействующие объекты в пакеты и рассматривать одни наборы объектов независимо от других

24 Список литературы Родионов С. А. Автоматизация проектирования оптических систем -Л. Машиностроение, Ленингр. отд-ние, Буч Г. Объектно-ориентированное проектирование с примерами приложений на С++ -М.: "Издательство Бином", СПб: "Невский диалект", Фаулер М., Скотт К. UML. Основы (2-е издание) -СПб.: Символ-Плюс книги на диске example электронные учебники на сайте кафедры