Заключение
Объектно-ориентированная модель системы PCNC структурирует ее
архитектуру, делает программное обеспечение прозрачным и повышает,
следовательно, его надежность, а также упорядочивает процесс разра-
ботки, создавая предпосылки формирования среды разработки. Рассмот-
ренные элементы базовых абстракций, классы их объектной реализации,
построенные на основе этих классов механизмы,-все это служит осно-
вой для создания элементов системы ЧПУ более высокого уровня. К чис-
лу таких элементов относятся каналы, оси, закрепленные за этими кана-
лами, и т.д.__
2) Инструментальная поддержка объектно-ориентированного проектирования и формализм Буча (CASE-система Rational Rose, диаграмма классов, диаграмма взаимодействия, диаграмма состояния, диаграмма модулей).
Инструментальные CASE-системы (Computer-Aided Software Engineering)
ускоренной разработки программного обеспечения построены на различных нотациях представлений объектно-ориентированных моделей. Одной
из самых распространенных и удачных является нотация Буча [70,71].
Фрагмент нотации Буча рассмотрим на примере диаграммы, которая
отображает классы и их отношении, тем самым раскрывая логику проекта. Класс обозначают в виде облака, в котором представлены имя, атрибуты (данные) и операции (методы) класса. Тип видимости атрибута или операции отображается соответствующей пиктограммой.
Абстрактный класс обозначают буквой ≪А≫ в треугольнике. Наследование показано стрелкой, направленной от производного класса к родительскому. Линии с точкой на одном конце обозначают отношение между классами. Если это отношение включения (агрегации), то линия заканчивается квадратиком. Квадрат закрашен, если включение осуществлено по значению, и не закрашен, если включение осуществлено по ссыпке. В качестве примера на рис. 1 в классе CDrive добавим поле m_Name, соответствующее имени привода. Стандартный класс CString библиотеки MFC обладает набором функций для хранения и работы со строковыми массивами, поэтому он был использован как тип поля m_Name.__
рис. 1.
Для полного описания объектноюриентированной модели нотация Буча
использует диаграммы:
• взаимодействия для описания взаимодействующих групп объектов;
• состояний и переходов для описания возможных состояний объек-
тов и действий при изменении состояний;
• модулей для распределения классов и объектов по модулям;
• процессов для распределения задач по физическим устройствам и
процессорам, обеспечивающих работу системы.
Диаграмма взаимодействия показывает объекты и сообщения, которы-
ми они обмениваются между собой в рамках некоторого конкретного ме-
ханизма, и позволяет проследить выполнение сценария работы механиз-
ма. Диаграммы взаимодействия полезны при описании поведения несколь-
ких объектов в рамках одного варианта использования.
Диаграмма состояния определяет состояния, в которых может нахо-
диться конкретный объект; события, инициирующие переход из одного со-
стояния в другое; действия, инициируемые изменениями состояний. Эти
диаграммы используют для анализа поведения отдельных классов при их
взаимодействии и динамики системы в целом.
Диаграмма модулей демонстрирует архитектуру системы в ее слоях и
разделах. Набор модулей показывает структуру проекта. Модулю главной
программы сопоставлен файл с расширением *.срр, содержащий основ-
ную функцию main() или WinMain() для Windows. Модулю описания соот-
ветствует файл заголовков с расширением *.h, в котором объявляются клас-
сы. Модулю тело.соответствует файл с расширением *.срр, в котором пред-
ставлены классы. Модулю подсистемы соответствует библиотека на языке
C++. В подсистеме размещены логически связанные модули описания и
модули тела.
Диаграмма процессов представляет физическую совокупность процес-
сов и устройств, обеспечивающих работу системы.
Формализм Буча нашел свое отражение в популярной CASE-системе
Rational Rose. Система предполагает применение формализма Буча на эта-
пе анализа и проектирования объектно-ориентированной модели. На ос-
нове модели генерируются исходные C++ коды, после чего программисту
остается придать сгенерированным классам необходимые функциональ-
ные возможности. Реинжиниринг (т.е. обратная генерация объектно-ори-
ентированной модели из исходного кода) позволяет системе Rational Rose
добавлять в модель изменения, внесенные в C++ файлы.