ObjectOry

Hood

Методологии

Методологии, поддерживающие объектно-ориентированный анализ и проектирование, находятся еще на ранней стадии своего развития. Развитие новой технологии для реализации компьютерной системы начинается с важности понятий. После понимания понятий на их основе создаются методы, и, наконец, создаются инструменты для поддержки методов. Методология соединяет наборы взаимосвязанных методов, покрывая жизненный цикл реализации.

В объектно-ориентированных системах понятия уже достаточно устоялись. Они довольно естественны. Существуют языки, поддерживающие программирование с использованием этих понятий, также существуют инструменты поддержки индивидуальных программистов.

Большинство людей, применяющих объектно-ориентированные понятия для программирования широкомасштабных систем, в общем случае должны создавать свою собственную методологию и поддерживать ее специальными инструментами, как, например, в методе STL. Некоторые фирмы, например, Rational and Project Technology, создали основные направления объектно- ориентированного анализа и проектирования с помощью общеприменимых средств, и проводят обучение и консультации. Однако, сейчас начали развиваться запатентованные методологии. Сюда относятся Hood и ObjectTry.

Hood - это сокращенное название Hierarchical Object Oriented Design. Это методология, созданная в ответ на инициативу European Space Agency (ESA) . ESA нужна была методология, применимая к построению больших систем с использованием языка Ада, использующая поставщиков из нескольких европейских государств. Поскольку не было явного кандидата в Европе, фирма решила создать новую методологию. С двумя французскими фирмами - CISI Ingenierie и Matra Espace - и с датской фирмой CRI были заключены контракты. В результате появилась методология Hood.

Первоначально Hood была определена только документацией и курсом инструментальной поддержки. Теперь существуют три инструментальных средства поддержки Hood и Ada - от Software Sciences и Semantica (UK) и Intecs (Италия).

Hood имеет четыре уровня:

  • Определение задачи H1: оно текстовое, содержит одно предложение, указывающее назначение системы, и ряд параграфов, представляющих индивидуальные требования.
  • Стратегия неформального решения H2: также текстовая, расчленяет систему до первого уровня логических объектов, их операций и признаков. Это фаза "существительных" и "глаголов" объектно-ориентированного подхода.
  • Формализация стратегии H3: вводит физические объекты, реализующие логические объекты и имеет четыре подуровня:
    • идентификация объектов;
    • идентификация операций;
    • группирование объектов и операций;
    • задание видимости объектов с помощью графики на основе диаграмм Буча (они названы по имени Grady Booch из фирмы Rational и представляют объекты так, как они видятся другими объектами).
  • Формальное определение интерфейсов объектов H4: используется в языке Process Description Language (PDL) - типа Ada.

Для больших систем уровни H2-H3 идентифицируют подсистемы. Эти стадии повторяются, пока не будут достигнуты описания конечных объектов.

Среда Hood поддерживает текстовое и графическое редактирование. Они также проверяют полноту проекта, поскольку уровень H3 не вводит новых логических объектов или операций и на нем нет циклических зависимостей.

Hood в настоящее время не поддерживает всех понятий объектно- ориентированного проектирования. В нем нет классов и наследования. Однако, методология все еще развивается и ее разработчики хорошо понимают преимущества этих черт.

Hood применяется более 200 инженерами, занятыми разработками в космической лаборатории ESA, Columbia. Она также может применяться в будущих космических проектах и для European Fighter Aircraft.

Эта методология разработана шведской компанией Objective Systems. Она пользуется всеми понятиями объектно-ориентированного подхода к анализу и проектированию больших систем.

ObjectOry определяет процесс как фабрику. Эта фабрика установлена в отделе системных разработок, где аналитики, проектировщики и программисты становятся механизмами работы процесса. Фабрика изначально задана как две подфабрики - System Analysis (SA) и System Design (SD) , что соответствует фазе анализа реального мира и проектированию- реализации в области разработки систем.

SA состоит в свою очередь из трех подфабрик. Первые две работают параллельно и представляют собой моделирование Сущностей, задающее объекты реального мира, и моделирование Случаев использования, которое определяет сценарии. Итерация между такими действиями помогает определить все логические сущности и их взаимосвязи. Третья фабрика анализа - это моделирование Услуг. Она задает в качестве черных ящиков служебные объекты, от которых зависит поведение системы. Услуги - это группа функционально связанных поведений, которые не будут далее делиться при изменениях системы. Например, "обслуживание клиента" в банке будет использоваться в нескольких случаях. Выходом SA будет описание системы, задающее определения объектам трех фабрик и схематические диаграммы их взаимосвязей.

SD также состоит из трех подфабрик: проектирование системного уровня, проектирование блоков и уровня компонентов. Сначала при разработке системного уровня сущности и услуги переводятся в модель системы как набор взаимодействующих физических блоков. При этом случаи использования превращаются в случаи тестирования, показывающие как использование реализовано в виде блоков. При проектировании блоков каждый блок разбивается на компоненты, а каждое проектирование компонентов пользуется библиотекой или задает, как запрограммировать модули.

ObjectOry успешно установлена и используется в четырех головных организациях с разнообразными прикладными задачами. Она определяется как техническое руководство и обеспечивается обучением и консультациями. Objective Systems разработала также и инструменты, учитывающие опыт пользователей.

ObjectOry уникальна. Она поддерживает все понятия ООС. Она разработана людьми с богатым практическим опытом разработки больших систем и вследствие этого с полным пониманием всех проблем. Она предназначена для поддержки команд системных программистов, а не только отдельных проектировщиков. Она установлена в организациях, где она полностью изменила процесс реализации системы в процесс, поддерживающий объектно-ориентированную парадигму. Широкий пользовательский опыт вносит свои плоды в методологию.

Если ООС и должны дать преимущества программированию в широком смысле, то только через методологии типа ObjectOry.