- •Введение
- •Введение
- •1. Сложность программного обеспечения
- •2. Объектная модель
- •2.1. Абстрагирование
- •2.2. Инкапсуляция
- •2.3. Модульность
- •2.4. Иерархичность
- •2.5. Типизация
- •2.6. Параллелизм
- •2.7. Сохраняемость
- •3. Объекты
- •3.1. Состояние
- •3.2. Поведение
- •3.3. Идентичность
- •3.4. Отношения между объектами
- •4. Классы
- •4.1. Ассоциация
- •4.2. Агрегация
- •4.3. Обобщение
- •4.3.1. Наследственная иерархия
- •4.3.2. Обобщение и типизация
- •4.3.3. Множественное наследование
- •4.4. Зависимость
- •4.5. Инстанцирование
- •4.6. Переменные и операции класса
- •4.7. Интерфейсы
- •4.8. Группирование классов
- •5. Объектно-ориентированный анализ
- •6. Основные конструкции языка uml
- •6.1. Диаграмма классов
- •6.2. Диаграмма объектов
- •6.3. Диаграммы взаимодействий
- •6.4. Диаграмма состояний
- •6.5. Диаграмма деятельности
- •Литература
- •Дополнение
- •1. Многократное использование программных систем. Основы визуального и компонентного программирования
- •2. Организация тестирования в объектно-ориентированных системах
- •Литература
2.6. Параллелизм
Есть задачи, в которых автоматические системы должны обрабатывать много событий одновременно. В других случаях потребность в вычислительной мощности превышает ресурсы одного процессора. В каждой из таких ситуаций естественно использовать несколько компьютеров для решения задачи или задействовать многозадачность на многопроцессорном компьютере.
Процесс (поток управления) – это фундаментальная единица действия в системе. Каждая программа имеет по крайней мере один поток управления, в параллельной системе таких потоков много.
Век одних потоков недолог, а другие живут в течение всего сеанса работы системы.
Параллелизм главное внимание уделяет абстрагированию и синхронизации процессов.
Объект, полученный из абстракции реального мира, может представлять собой отдельный поток управления (т.е. абстракцию процесса). Такой объект называется активным.
Для систем, построенных на основе объектно-ориентированного проектирования, мир может быть представлен как совокупность взаимодействующих объектов, часть из которых является активной и выступает в роли независимых вычислительных центров. На этой основе дадим следующее определение параллелизма.
Параллелизм – это свойство, отличающее активные объекты от неактивных.
2.7. Сохраняемость
Любой программный объект существует в памяти и живет во времени.
Существуют объекты, которые присутствуют лишь во время вычисления выражения. Но есть и такие (например, как базы данных), которые существуют независимо от программы. Временной спектр сохраняемости объектов охватывает следующее:
– промежуточные результаты вычисления выражений;
– локальные переменные в вызове процедур;
– глобальные переменные и динамически создаваемые данные;
– данные, сохраняющиеся между сеансами выполнения программы;
– данные, сохраняемые при переходе на новую версию программы;
– данные, которые вообще переживают программу.
По традиции, первыми тремя уровнями занимаются языки программирования, а последними – базы данных. Языки программирования, как правило, не поддерживают понятия сохраняемости. Можно записывать объекты в неструктурированные файлы, но этот подход пригоден только для небольших систем. Как правило, сохраняемость достигается применением специальных объектно-ориентированных баз данных.
До сих пор мы говорили о сохранении объектов во времени. В большинстве систем объектам при их создании отводится место в памяти, которое не изменяется и в котором объект находится всю свою жизнь. Однако иногда необходимо обеспечивать возможность перемещения объектов в пространстве так, чтобы их можно было переносить с машины на машину и изменять форму представления объекта в памяти. Это касается систем, распределенных в пространстве.
В результате получим следующее определение.
Сохраняемость – это способность объекта существовать во времени, переживая породивший его процесс, и (или) в пространстве, перемещаясь из своего первоначального адресного пространства.
3. Объекты
Объект можно определить как осязаемую реальность, проявляющую четко наблюдаемое поведение. Объект моделирует часть окружающей действительности и таким образом существует во времени и пространстве. Объект обладает состоянием, поведением и идентичностью; структура и поведение схожих объектов определяет общий для них класс; термины "экземпляр класса" и "объект" взаимозаменяемы.
