- •Распределённые информационные системы.
- •Модель «Сущность-Связь»
- •Объектно-ориентированный подход
- •Объектно-ориентированный анализ
- •Методики объектно-ориентированного анализа
- •Классы и объекты. Отношения между классами.
- •Отношения между классами
- •Вопросы качества при создании классов и объектов.
- •Объектно-ориентированное проектирование и программирование
- •Объектно-ориентированное тестирование
- •Case-технологии Методологические основы Case-средств
- •Унифицированных язык моделирования (uml)
- •Диаграмма деятельности
- •Модульное программирование.
Объектно-ориентированный подход
При проектировании сложной и достаточно объёмной программной системы эту систему делят на части, каждую из которых рассматривают и разрабатывают отдельно. При этом может использоваться либо функциональное деление системы, либо объектная декомпозиция
1)Функциональное деление – структура описывается блок-схемой, узлы которой обозначают выполняемые функции, а связи указывают последовательность их выполнения. Программные модули, которые реализуют данные функции, обычно используют только в составе данной системы.
2)Объектная декомпозиция – система разбивается на системы или компоненты, которые взаимодействуют друг с другом с помощью сообщений. Сообщения представляют собой некоторые события. Получение объектом некоторого сообщения активизирует некоторый объект, и побуждает его выполнять действие, предписанное программным кодом. Инициаторами событий могут быть не только объекты системы, но и внешнее окружение (пользователи). Объекты обладают свойствами и методами. Свойство – это значения, которые устанавливаются для определённого вида объектов. Методы – программные процедуры, обеспечивающие выполнение объектом определённых действий. Совокупность объектов, имеющих общий набор свойств, и характеризующихся одинаковым поведением, называется классом. Объект является экземпляром одного определённого класса.
Принципы объектно-ориентированного программирования:
-
Наследование – принцип, в соответствии с которым знания о наиболее общей категории разрешается применять для наиболее узкой категории, т.е. если некоторый родительский класс обладает некоторыми свойствами и методами, то производный класс будет так же обладать этими же свойствами и методами.
-
Инкапсуляция – сокрытие деталей внутреннего устройства класса от внешних, по отношению к данному классу объектов.
-
Полиморфизм – действия, выполняемые одинаковыми методами, могут отличаться в зависимости от того, к какому из объектов они относятся.
Проблемы, решаемые объектно-ориентированным подходом:
-
Уменьшение сложности программного обеспечения;
-
Повышение надёжности программного обеспечения;
-
Обеспечение возможности изменения отдельных компонентов программного обеспечения без изменения остальных его компонентов;
-
Обеспечение возможности повторного использования отдельных компонентов программного обеспечения.
Объектно-ориентированный анализ
- направлен на создание более близкой к реальности модели. В основе предметной области лежат объекты и классы.
Принципы объектно-ориентированного анализа:
-
Абстрагирование
-
Ограничение доступа
-
Модульность
-
Иерархия
-
Типизация
-
Параллелизм
-
Сохраняемость или устойчивость.
1)Абстрагирование – это выделение существенных характеристик объекта, которые отличают этот объект от всех других видов и таким образом чётко определяют особенности этого объекта
2)см. инкапсуляция
3)Модульность - это разделение программы на раздельно-компилируемые фрагменты, которые имеют между собой средства сообщения.
4)Иерархия – это упорядоченная система понятий. Основными понятиями иерархических структур является структура классов и объектов.
5)Типизация – это точное определение свойств, строения и поведения некоторого объекта. Термины тип и класс очень похожи, но класс реализует тип. Языки программирования могут быть строго типизированными, не строго типизированными и совсем не типизированными.
6)Параллелизм – совокупность активных объектов, которые выполняются, в один и тот же промежуток времени параллельно.
7)Сохраняемость(устойчивость) – свойство объекта существовать во времени или пространстве вне зависимости от процессов, породивших данный объект. Выделяют следующие виды объектов, которые обладают различной степенью сохраняемости или устойчивости:
-
Промежуточные результаты вычисления выражения
-
Локальные переменные вызова процедур
-
Глобальные переменные
-
Данные, сохраняющиеся между вызовами основных программ
-
Данные, которые переживают создавшую их программу