OOwin – средство объектно-ориентированного проектирования, разработанное фирмой Logic Works, уже давшей миру ERwin и BPwin. OOwin не генерирует приложения сам, но зато позволяет построить объектно-ориентированную модель предметной области, т. е. описать объекты, их функции и способы взаимодействия. Существует множество языков программирования и воплощающих их средств разработки (Smalltalk, PowerBuilder, Dephi), но ни одно из них не может быть использовано эффективно, при отсутствии достаточно хорошо разработанной модели. (Объектная модель относится к объектно-ориентированной программе, как алгоритм к процедурной программе.
С помощью OOwin вы можете описывать классы, используя метод CRC-карт (Class, Responsibi-lity, Collaboration Card). Этот метод позволяет задавать классы, их функции и способы взаимодействия. Для нанесенного на CRC-карту класса можно также вводить дополнительную информацию, определять субклассы и суперклассы.
Когда вы впервые запускаете OOwin, вашему взору открывается репозиторий классов. Далее вы можете либо создать новый собственный репозиторий, либо продолжить работать с уже имеющимся. Далее начинается работа с CRC-картами, в которых вводятся функции класса и способы взаимодействия с другими классами. Посредством кнопок, имеющихся на реализующем CRC-карту диалоге, определяются субклассы и суперклассы. Специальный Class Explorer позволяет быстро просматривать все созданные вами классы.
OOwin позволяет генерировать и выводить отчеты по классам, информацию о которых он хранит. Если вы пользуетесь ERwin, вы можете закачать созданную в ERwin модель в OOwin, дополнить ее функциями и взаимодействиями, а затем снова выгрузить в словарь ERwin. В настоящее время эти возможности несколько ограничены, но Logic Works собирается реализовать в следующих версиях OOwin возможность работы с языками C++ и PowerBuilder. В дополнение к функциям и взаимодействиям вы можете определять также события, свойства и операции.
OOwin позволяет разрабатывать модель нескольким пользователям одновременно, что полезно при работе над большими проектами. Если один из пользователей изменяет какой-нибудь объект, OOwin немедленно дает об этом знать его коллегам, работающим одновременно с ним.
В поставку OOwin входят два руководства – User's Guide и Methods Guide. В User's Guide рассказано, как пользоваться OOwin, а Methods Guide посвящен методологии объектно-ориентированного проектирования. Вообще, неплохо было бы сначала прочитать Methods Guide, а уж после устанавливать OOwin и бросаться с головой в этот омут. Руководства доступны также в виде online help.
Если вы не в ладах с концепциями объектно-ориентированного проектирования или находите его слишком организационно слишком громоздким и тяжелым, то OOwin прямо-таки создан для вас. Этот инструмент позволяет легко создавать функционально-ориентированные модели, описывающие поведение и взаимодействие объектов. С помощью этих моделей можно создавать полезные многократно используемые объекты для ваших приложений.