Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Топ:
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
2018-01-03 | 243 |
5.00
из
|
Заказать работу |
|
|
Здесь рассматривается подход к объектно-ориентированному проектированию (ОПП), предложенный в книге [2]. Между объектно-ориентированным анализом и объектно-ориентированным проектированием (так же как между языками Pascal и С++) наблюдается терминологическая путаница. То, что в ООА называется объектом в ООП называется классом. То, что в ООА называется экземпляром объекта в ООП называется объектом. Ниже в таблице приведены соответствия терминов.
Таблица 6.1. Соответствие терминологии
Объектно-ориентированный анализ | Объектно-ориентированное проектирование |
Объект | Класс |
Экземпляр объекта | Объект |
Метод | Операция |
Атрибут | Поле данных |
В процессе объектно-ориентированного проектирования решаются следующие задачи:
· выбор классов и определение взаимосвязей между ними,
· определение механизмов взаимодействия объектов,
· выбор места объявления классов и объектов,
· распределение вычислительных процессов между исполнителями (процессорами) и методы управления процессами.
Объектно-ориентированный проект состоит из следующих диаграмм:
· диаграмма классов,
· диаграмма объектов,
· диаграмма модулей,
· диаграмма процессов,
· диаграмма переходов,
· временная диаграмма.
Диаграмма классов
Диаграмма классов включает следующие виды компонентов:
· классы,
· иерархия наследования классов,
· утилиты классов.
Классы понимаются так, как указано выше. Графическое обозначения класса содержит его имя и имеет вид, представленный на рис. 6.1.
Рис 6.1. Графическое обозначения класса.
Иерархии классов понимаются более широко. В частности рассматривается не только отношение наследования, но и целый ряд других отношений, а именно:
|
Таблица 6.2. Отношения между классами в ООП
№ | Графическое обозначение | Смысл |
а | Использование в интерфейсной части класса (А использует В). Например в качестве параметра метода | |
б | Использование в реализации класса (А использует В). Например в качестве локальной переменной в подпрограмме. | |
в | Включение (А включает В). А и В сравнимые типы | |
г | Включение (А включает В). А и В типы разной природы | |
д | Наследование (А наследует от В). А и В сравнимые типы | |
е | Наследование (А наследует от В). А и В типы разной природы | |
ж | Метакласс. (В - метакласс для А) | |
з | Неопределенный тип связи |
Отношение наследования в ООП - это отношение вида "является", в то время как отношение вида "состоит-из" описывается отношениями
а) использование в интерфейсной части класса.
б) использование в реализации класса.
Отношение б) позволяет отразить дополнительные оттенки взаимодействия классов. Отношение включение описывает такое взаимодействие классов, при котором экземпляры одного класса включают в себя (хранят в себе) экземпляры другого класса. Типичными представителями классов, предназначенных для хранения других классов являются списки, деревья, коллекции.
Для каждого вида отношений может быть построена собственная диаграмма.
Рассмотрим пример проектирования классов для описания геометрических фигур.
Диаграмма наследования этого примера расположена на Рис. 6.2.
Рис. 6.2. Диаграмма классов для геометрических фигур.
Различные геометрические фигуры могут образовывать изображение. Для описания класса изображений не подходит отношение наследование, т.к. картинка не является подклассом геометрической фигуры, она скорее является накопителем геометрических фигур. На рис. Х.3.3. представлена соответствующая диаграмма.
Рис. 6.3. Диаграмма классов для геометрических фигур и рисунков.
На диаграмме классов могут изображаться так называемые утилиты классов - общедоступные интерфейсные подпрограммы. Отношение между утилитами и классами - те же, что и между классами. Графическое изображение утилиты демонстрируется на рис. 6.4
|
Рис. 6.4.Графическое обозначение утилиты класса.
Категории классов
Проектирование больших систем требует создания больших диаграмм классов, которые могут оказаться трудными для восприятия. Методом дополнительной декомпозиции может являться создание категорий классов, являющихся наборами классов и категорий классов.
Процесс проектирования и осмысления классов становится более обозримым при использовании категорий. Обозначение категорий классов приведено на рис. 6.5
Рис. 6.5. Графическое обозначение категории классов.
Между категориями классов возможно отношение вида "импортирует -из", обозначенное стрелкой (X > Y обозначает "Y импортирует из X). Для примера с геометрическими фигурами категории классов имеют вид:
Рис. 6.6. Категории классов для геометрических фигур.
|
|
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!