1.16.1 Анализ проблемной области
Чертеж состоит из множества линий. Линия распознается пе двум точкам. Точка описывается своими координатами. Координаты могут за^аваться-действительными числами.
Составление схемы
Приведенные выше высказывания на естественном языке содержат описание проблемной
области Для человека такого описания может быть достаточно, чтобы понять, что подразумевается под чертежом. Однако это описание должно быть читаемым и для машины
(компьютера), чтобы позволить компьютеру отобразить и обработать чертеж Так как -естественного языка недостаточно для этих целей, то необходима формализованное описание. Такая форма описания и является EXPRESS-схемой. Схема создается для отображения проблемной области
SCHEMA Graphics,
ENTITY Point;
x: REAL, у : REAL;
END_ENTITY; — Point
ENTITY Line;
startp. Point;
endp : Point;
END_ENTITY; — Line
ENTITY Drawing,
lines : SET OF Line, END_ENT1TY; — Drawing
END_SCHEMA;
Эта схема содержит имя, чтобы ее можно было потом идентифицировать. Внутри этой схемы с помощью типов описаны интересующие нас структуры. В примере, таким образом, используются структуры (entity) для отображения точек, линий и чертежа
Расширение схемы
Для расширения такой схемы могут быть две причины Первая причина в расширении отображаемой проблемной области Это означает, что имеется попытка охватить этой схемой большую область Речь при этом идет об экстенсивном расширении схемы
Рве. 1 1. Расширение проблемной области. чертеж 1.16.2 Расширение проблемной области
Чертеж состоит из множества линий и множества окружностей. Окружность определяется центральной точкой и своим радиусом.
Предыдущая схема дополняется, таким образом, entity для окружности. Чертеж же может теперь содержать окружности.
В предыдущей схеме встретилось неявное предположение о том, что изображаются исключительно двухмерные .точки. С добавлением необязательного значения для координаты точки Z становится возможным указание положения а пространстве. Необязательность в данном случае обозначает, что точка может, но не обязана иметь координату Z для более точного определения.
SCHEMA Graphics;
ENTITY Point;
x REAL;
у REAL;
z OPTIONAL REAL;
END_ENT1TY; — Point
" ENTITY Line;
startp: Point;
endp : Point;
END_ENT1TY; — Line
ENTITY Circle;
midp : Point;
radius: REAL:
END_ENT1TY; — Circle
ENTITY Drawing;
lines : SET OF Line;
circles : SET OF Circle;
END_ENT1TY; — Drawing
END_SCHEMA;
Второй причиной расширения схемы является расширение наших знаний о проблемной области. Это означает, что область понимается более точно. В предыдущем описании содержатся знания о чертеже и его элементах. Речь идет о том, чтобы эти знания сделать явными и уменьшить ошибки интерпретации, а также опасность непонимания. Этот процесс является интенсивным расширением области.
Из приведенного выше примера ясно, что добавление окружности к чертежу усложняет структуру entity чертежа (Drawing). Если таким же способом добавлять другие элементы чертежа, то этот entity должен всегда дополняться новыми и новыми элементами. Чтобы упростить структуру схемы, нужны знания об общности различных элементов чертежа.
Классификация
Единым для линии и окружности является то, что они могут быть объединены под общим понятием "графический объект". Этот процесс называется генерализацией. Генерализация передается в языке EXPRESS с помощью объявления так называемых супертипов. Обратный к нему процесс называется специализацией. Линия является при этом специальным графическим объектом. Специализация передается в языке EXPRESS с помощью объявления подтипов.
Таким образом, схема изменяется тогда, когда добавляется новый entity (графический объект). Чтобы показать, что это фактически является только порядковым понятием, этот entity объявлен абстрактным супертипом. Это означает, что не существует объектов (экземпляров), которые были бы только графическим объектом и больше ничем. Entities для линий и окружностей производятся только от entity "графический объект". Преимущество этого способа заключается в том, что к определению чертежа может относиться только понятие "графический
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.