Object design
Инструментальная среда Stratum, базируется на объектно - ориентированном подходе OOD (Object Oriented Design).
Один из основоположников объектно - ориентированного подхода Гради Буч рассматривает прототипирование cистемы как последовательный итеративный процесс разработки системы, заключающийся в постепенном составлении прототипов некоторого числа объектов, которые затем входят в конечную реализацию.
Цикл разработки программного обеспечения с использованием объектно - ориентированного подхода:
Преимущества метода постепенной разработки:
• Составление развивающихся прототипов стимулирует разработку и оценку альтернативных решений.
• Возможность развиваться постепенно не приводит к полной переработке системы в случае существенных изменений исходных требований.
• Пользователю предоставляется обширная обратная связь тогда, когда она наиболее необходима, наиболее полезна и важна.
• Интерфейс главной системы тестируется в первую очередь и неоднократно.
• Более равномерно распределены ресурсы тестирования.
• Специалисты, занимающиеся реализацией, могут видеть уже на ранних стадиях разработки результаты работы системы.
Объектно - ориентированный подход, в отличие от более распространенных методов структурного проектирования основывается на комплексном применении следующих признаков: абстрагирование, ограничение доступа, модульность, иерархичность, типизация, параллелизм и устойчивость.
Абстрагирование.
Абстракция - это такие существенные характеристики некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, четко определяют особенности данного объекта с точки зрения дальнейшего рассмотрения и анализа.
Является одним из главных способов, используемых для решения сложных задач. Концентрирует внимание на внешних особенностях объекта и позволяет отделить самые существенные особенности поведения от деталей их осуществления.
Различают следующие виды абстракций:
• Абстракции сущности объекта. Объект представляет собой модель существенных сторон предметной области.
• Абстракции поведения. Объект состоит из обобщенного множества операций, каждая из которых выполняет определенную функцию.
• Абстрагирование в виде виртуальной машины. Объект объединяет группы операций виртуальной машины, которые используются либо для управления объектом, либо соответствуют функциям нижнего уровня.
• Произвольная абстракция. Объект включает в себя набор независимых по отношению друг к другу операций.
Ограничение доступа.
Созданию абстракции какого-либо объекта должны предшествовать определенные решения о способе ее реализации. Выбранный способ реализации должен быть скрыт и защищен для большинства объектов - пользователей.
Ограничение доступа - это процесс защиты отдельных элементов объекта, не затрагивающий существенных характеристик объекта как целого.
Модульность.
Это свойство системы, связанное с возможностью декомпозиции ее на ряд тесно связанных модулей. Или это разделение программы на отдельно компилируемые фрагменты.
Принципы абстрагирования, ограничения доступа и модульности являются взаимодополняющими. Объект определяет явные границы определенной абстракции, а ограничение доступа и модульность создают барьеры между абстракциями.
Иерархия.
Значительное упрощение в понимании сложных задач достигается за счет образования иерархической структуры из абстракций. Иерархия - это ранжированная или упорядоченная система абстракций.
Основными видами иерархических структур являются структура классов (по номенклатуре) и структура объектов (по составу).
Примеры иерархии - простое наследование, множественное наследование, агрегатирование.
Типизация.
Концепция типизации строится на понятии типов абстрактных данных. Типизация - это ограничение, накладываемое на класс объектов и препятствующее взаимозамене различных классов (или сильно сужающее возможность такой взаимозамены).
Различают следующие виды типизации :
• строгую - контроль типов;
• нестрогую - отсутствие контроля;
• статическую - неизменность типов;
• динамическую - типы определяются во время исполнения программы.
Параллелизм.
Некоторые объекты могут быть представлены как отдельный канал управления (абстракция процесса). Такие объекты называются активными. Реальность может быть представлена как совокупность взаимодействующих объектов, часть из которых является активной и выступает в роли узлов независимых действий. Следовательно, параллелизм это свойство объектов находиться в активном, либо пассивном состоянии.
Устойчивость.
Любой объект в программе существует в течение определенного времени. По продолжительности этого времени объекты можно разделить на следующие группы.
• Промежуточные результаты вычисления выражений.
• Локальные переменные в вызове процедур.
• Собственные переменные, глобальные переменные и главные элементы.
• Данные, сохраняющиеся между вызовами основной программы.
• Данные, остающиеся без изменений в разных версиях программы.
• Данные, которые переживают всю программу.
Устойчивость - свойство объекта существовать во времени (вне зависимости от процесса, породившего данный объект) и (или) в пространстве (перемещение объекта из адресного пространства, в котором он был создан).
Таким образом, ООП предполагает повышение структурности программ и достижения максимальной абстракции данных.
Created with the Personal Edition of HelpNDoc: Make Your PDFs More Secure with Encryption and Password Protection