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.