Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uml Book (Rus).doc
Скачиваний:
15
Добавлен:
11.08.2019
Размер:
58.74 Mб
Скачать

Переход к uml

80% всевозможных проектов можно воплотить, используя 20% средств UML Для создания статических моделей в большинстве предметных областей достаточ­но базовых структурных сущностей, таких как классы, атрибуты, операции, пре­цеденты, компоненты и пакеты, наряду с базовыми структурными отношениями -зависимостями, обобщениями и ассоциациями. Добавьте к этому списку еще и ба­зовые поведенческие сущности наподобие простых автоматов и взаимодействий, и вы сможете моделировать множество полезных аспектов динамики системы, Нестандартные возможности UML придется использовать только тогда, когда вы приступите к моделированию более сложных ситуаций, например параллельно­сти и распределения.

Неплохой отправной пункт, с которого можно начать изучение UML, - моде­лирование ряда базовых абстракций или поведения, уже имеющегося в одной из ваших систем. Разработайте для себя концептуальную модель UML (см. главу 2) и у вас появится фундамент, который впоследствии позволит вам развить свое по­нимание языка. Позже предоставится шанс постичь, как состыкованы между со­бой более развитые конструкции UML. Приступая к решению сложной задачи разберитесь в соответствующих языковых средствах, изучив представленные в этой книге типичные приемы моделирования.

Если у вас нет опыта объектно-ориентированной разработки, воспользуйтесь

следующими рекомендациями:

1. Понемногу начинайте применять идею абстрагирования в отношении кон­кретных моделей. Коллективные упражнения с анализом прецедентов - пре­красный способ выработать навыки выявления четких абстракций.

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

3. Примените простые диаграммы последовательностей или кооперации для моделирования динамической части задачи. Можно начать с построения модели взаимодействия пользователя с системой: подобная практика позво­лит вам высказывать суждения о наиболее важных прецедентах использова­ния системы.

Если у вас нет опыта моделирования, поступите так:

1. Возьмите какую-нибудь часть ранее созданной вами системы (желательно, чтобы она была реализована на одном из объектно-ориентированных язы­ков программирования, скажем Java или C++) и постройте модель исполь­зованных в ней классов и отношений между ними.

2. С помощью UML попытайтесь прояснить некоторые детали идиом или ме­ханизмов программирования из тех, что были использованы в системе, но не отражены в коде явно, а находятся только в стадии замысла.

3. Если ваше приложение нетривиально, попробуйте реконструировать модель его архитектуры, используя пакеты UML для представления основных струк­турных элементов.

4. Освоив словарь UML, прежде чем приступать к переводу в код своего сле­дующего проекта, постройте его модель. Сосредоточьтесь на специфициро­ванном поведении и структуре; только после вывода о том, что размер, форма и семантика вас устраивают, начинайте использовать построенную модель как основу для реализации.

Если вы уже знакомы с какой-либо другой объектно-ориентированной мето­дикой, поступите следующим образом:

1. Установите соответствие между элементами используемого вами языка мо­делирования и элементами UML. В большинстве случаев, особенно если вы пользуетесь методиками Booch, OOSE или ОМТ, соответствие будет взаим­но-однозначным, и потребуется внести лишь косметические изменения.

2. Рассмотрите какую-нибудь сложную проблему моделирования, которую вам с трудом удалось или вообще не удалось решить с помощью знакомого язы­ка. Выясните, нет ли среди средств UML таких, которые позволят решить ее проще или изящнее.

Если вы опытный пользователь, вам пригодятся следующие советы:

1. Составьте для себя концептуальную модель UML. Вы можете упустить из виду гармоничность сочетания его элементов, если сразу перейдете к слож­ным конструкциям, предварительно не изучив базовый словарь.

2. Обратите особое внимание на средства UML для моделирования компонен­тов, параллельности, распределенности и образцов (паттернов). Это вопро­сы, семантика которых сложна и подлежит тщательному анализу

3. Познакомьтесь с механизмами расширения UML и подумайте о том, как можно приспособить язык к вашей предметной области. Не поддавайтесь ис­кушению использовать сразу все средства UML, иначе прочесть вашу модель смогут только самые опытные пользователи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]