
DEV275_02_PrinciplesVM_rus.ppt
- Количество слайдов: 33
® IBM Software Group Основы Визуального Моделирования с UML 2. 0 Принципы Визуального моделирования 1
Цели w Описать значение визуального моделирования и концепции Model Driven Architecture. w Определить 4 принципа визуального моделирования. w Рассказать, что представляет собой язык Unified Modeling Language (UML). w Определить типы процессов, которые лучше всего подходят дляиспользования UML. 2
Где мы сейчас? w Что такое моделирование? w Четыре принципа визуального моделирования w язык UML w Процессы разработки и визуальное моделирование 3
Что такое модель? w Модель – упрощенное представление реальности. M есть модель системы S, если М может быть использована для получения ответов на вопросы относительно S с точностью A. 4
Визуальное моделирование w это способ восприятия проблем с помощью зримых абстракций, воспроизводящих понятия и объекты реального мира. 5
Зачем создавать модели? w Моделирование решает 4 группы задач: § Помогает наглядно представить моделируемую систему. § Позволяет указать структуру и поведение объектов системы. § Предоставляет возможность использовать шаблоны (templates) в процессе конструирования системы. § Документирование принятых решений. w Построение модели позволяет изучать сложную систему, как набор более простых частей. w Построение моделей позволяет лучше понять разрабатываемую систему (предметную область). 6
Значимость моделирования Низкая значимость Высокая значимость Бумажный самолетик Реактивный истребитель 7
Разработчики ПО часто не моделируют систему w Многие команды разработчиков (software teams) подходят к разработке приложений, как будто они делают бумажные самолетики § Начать кодировать отталкиваясь от требований проекта § Работать больше, чтобы создать больше кода § Кодировать без планирования архитектуры § Обречены на неудачу w Моделирование «красная нить» в успешных проектах 8
Model Driven Architecture (MDA) w Подход, использующий модели для разработки ПО § Отделение спецификации функций системы от особенностей использования системой возможностей платформы. • Описание системы отдельно от поддерживаемой платформы • Описание платформ • Выбор подходящей платформы • Трансформация моделей системы для выбранной платформы 9
Точки зрения MDA w Computational Independent Model (CIM) (модель независимая от вычислений) § Описание окружения системы и требований к системе w Platform Independent Model (PIM) (модель независимая от платформы) § Описании функций системы w Platform Specific Model (PSM) (модель зависимая от платформы) § Подробное описание функционирования системы на конкретной платформе 10
Где мы сейчас? w Что такое моделирование? w Четыре принципа визуального моделирования w Язык UML w Процессы разработки и визуальное моделирование 11
Четыре принципа Моделирования w Создаваемые модели влияют на подход к решению задачи. w Каждая модель может быть построена с разной степенью точности. w Модели связанны с реальностью. w Одной модели не достаточно. 12
Принцип 1: Выбор модели очень важен w Создаваемые модели значительно влияют на подход к решению задачи и на форму полученного решения. § В разработке ПО, выбор моделей влияет на «картину мира» . § Каждая «картина мира» ведет к разработке разных типов систем. Process Model Deployment Model 13 Design Model
Принцип 2: Точность моделей может отличаться w Каждая модель может быть построена с разной степенью точности. § Лучше всего те модели, которые позволяют выбрать степень точности: • Кто смотрит на модель? • Зачем им нужна модель? View for Customers View for Designers 14
Принцип 3: Модели связаны с реальностью w Все модели – упрощение реальности. w Хорошая модель содержит потенциал для познания. 15
Принцип 4: Одной модели не достаточно w Любая сложная система лучше всего описывается с набором «независимых» моделей. § Создавайте модели, которые могут быть построены и изучены отдельно, но остаются взаимосвязанными. Logical View Implementation View Analysts/Designers Programmers Structure Software management Use-Case View End-user Functionality Process View Deployment View System engineering System integrators System topology, delivery, installation, communication Performance, scalability, throughput 16
Где мы сейчас? w Что такое моделирование? w Четыре принципа визуального моделирования w Язык UML w Процессы разработки и визуальное моделирование 17
Что такое UML? w UML Это язык для • • Создания Эскиза Проектирования Программирования* Документирования создания артефактов для преимущественно программных систем. 18
UML для создания эскизов системы w Обсуждение концептуальной модели не приведет к ошибкам взаимопонимания, если все будут говорить на одном языке. w Есть моменты в разработке информационных систем, которые не видны, пока не построена модель. w Точная и понятная модель облегчает взаимопонимание. 19
UML проектирования w UML позволяет строить достаточно точные, однозначно понятные модели, которые полностью описывают систему. 20
UML для программирования w На основе UML моделей может быть сгенерирован код на разных языках программирования. § Maps to Java, C++, Visual Basic, и др. § Таблицы Реляционных СУБД (RDBMS) или Объектно ориентированные БД (OODBMS) § Поддерживается прямое проектирование (forward engineering) § Поддерживается обратное проектирование (reverse engineering) 21
UML для Документирования w UML позволяет документировать архитектуру системы (system architecture), требования (requirements), тесты, планирование проекта, и управление версиями. Use Case Diagram Deployment Diagram ºÐ» ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® À©µµ¿ì NT: ÀÀ¿ë¼ ¹ö À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼ ¹ö ¹× µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö Windows 95 Use Case 1 ¹®¼ °ü¸® Ŭ¶óÀ̾ðÆ®. EXE ¹®¼ °ü¸® ¾ÖÇø´ Windows NT Actor A Actor B Use Case 2 Solaris ¹®¼ °ü¸® ¿£ Áø. EXE Alpha UNIX ÀÀ¿ë¼ ¹ö. EXE Windows NT IBM Use Case 3 Mainframe µ¥ÀÌŸº£À̽º¼ ¹ö Document. List main. Wnd file. Mgr : document : File. Mgr Document g. File repository Document user File. Mgr add( ) name : int delete( ) fetch. Doc( ) docid : int sort. By. Name( ) num. Field : int get( ) 1: Doc view request ( ) ƯÁ¤¹®¼ ¿¡ ´ ÇÑ º¸±â¸¦ ë » ç¿ëÀÚ°¡ ¿äû ÇÑ´Ù. open( ) close( ) 2: fetch. Doc( ) read( ) File. List sort. File. List( ) f. List create( ) 3: create ( ) fill. Document( ) add( ) delete( ) 1 4: create ( ) 5: read. Doc ( ) È ÀÏ°ü¸®ÀÚ´ ÀÐ¾î¿ 6: fill. Document ( ) ¹®¼ ÀÇ Á¤º¸¸¦ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äû ÇÑ´Ù. rep 7: read. File ( ) File Repository 8: fill. File ( ) (from Persistence) read( ) È ¸é°´Ã¼´ ÀоîµéÀÎ Grp. File name : char * = 0 9: sort. By. Name ( ) °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑÈ ¸é ¿¡ º¸¿©ÁØ´Ù. read. Doc( ) read. File( ) read( ) open( ) create( ) fill. File( ) Class Diagram Sequence Diagram 22 read() fill the code. .
История языка UML 2. 3 (2010) UML 2. 0 (2004) UML 1. 5 (March, ‘ 03) UML 1. 1 UML Partners’ Expertise (Sept. ‘ 97) UML 1. 0 (Jan. ‘ 97) UML 0. 9 and UML 0. 91 (June ‘ 96) (Oct. ‘ 96) Unified Method 0. 8 (OOPSLA ’ 95) Booch ’ 93 OOSE Other Methods Booch ‘ 91 23 OMT 2 OMT 1 Public Feedback
Inputs to the UML Rumbaugh Booch Jacobson Meyer Fusion Before and after conditions Operation descriptions, message numbering Harel Embley Singleton classes, High level view State charts Gamma, et. al Wirfs Brock Responsibilities Frameworks, patterns, notes Shlaer Mellor Selic, Gullekson, Ward Odell Object lifecycles ROOM (Real-Time Object-Oriented Modeling) Classification 24
Где мы сейчас? w Что такое моделирование? w Четыре принципа визуального моделирования w Язык UML w Процессы разработки и визуальное моделирование 25
Языка моделирования не достаточно, чтобы построить систему Командная разработка Язык моделирования Процесс разработки 26
Какие процессы могут использовать UML? w Язык UML в основном не зависит от определенных процессов разработки. Есть смысл в применении UML, если процесс: § Отталкивается от Прецедентов (Use case) § Сосредоточен на Архитектуре § Итеративный и инкрементный 27
Процесс основанный на прецедентах w Описание Прецедентов (use cases) основа всего процесса разработки. w Преимущества использования Прецедентов: § Сжатость, простота, доступность для понимания большинству участников проекта. § Помогает синхронизировать содержание различных моделей. Проверить Баланс Клиент Снять Деньги 28
Процесс, сосредоточенный на архитектуре w Архитектура системы используется как первичный артефакт для разработки концепции, конструирования, управления проектом. w Преимущества: § Средство управления сложностью проекта и сохранения системной целостности. § Возможность повторного использования компонентов. § Основа управления проектом. § Удобства при разработке компонентного приложения. 29
Итеративный и инкрементальный процесс w Критические риски обнаруживаются для проведения дорогостоящих работ. w Начальные итерации дают быстрый результат w Непрерывное Тестирование и Интеграция. w Ставятся краткосрочные цели. w Прогресс проекта оценивается по результатам внедрения. w Может осуществляться внедрение по частям. 30
Итеративная Разработка Итерация 1 Итерация 2 R Итерация 3 R D C D C I T I T T ВРЕМЯ w Ранние итерации связаны с наибольшими рисками. w Каждая итерация производит рабочий прототип (executable release) системы, добавляющий функциональность системы. w Каждая итерация предполагает сборку системы и тестирование. 31
Обзор w Что такое модель? w Что такое точки зрения MDA? Опишите каждую из них. w Назовите 4 принципа моделирования? Опишите каждую из них. w Что такое язык UML? Опишите преимущества использования. w Какие процессы могут использовать UML? w Что такое Итерация? 32
33
DEV275_02_PrinciplesVM_rus.ppt