Шрифт:
4.1. Язык UML *
4.2. Создание модели данных на основе объектной модели с помощью ERwin Translation Wizard *
4. Создание объектной модели и ее связывание с моделью данных при помощи ERwin Translation Wizard
4.1. Язык UML
Классический структурный подход к созданию ИС предполагает последовательную реализацию этапов анализа, проектирования, создания модулей, объединения модулей в единую систему, тестирования и внедрения. Применение CASE-технологий и CASE-средств, подобных ERwin и BPwin, позволяет в несколько раз сократить время разработки ИС и значительно снизить вероятность появления .ошибок за счет автоматизации начальных этапов разработки (а как следствие - более качественного планирования и проектирования) и автоматической; генерации структуры сервера БД и кода клиентского приложения. Однако эта технология не лишена недостатков. Код клиентского приложения генерируется на основе информации о структуре БД. К структуре БД предъявляются определенные требования (нормализации), в результате чего данные хранятся в таблицах БД не всегда в той же форме, в которой они должны представляться на экранных формах. Другими словами, если код приложения генерируется не на основе описания предметной области, невозможно построить эффективное приложение со сложной бизнес-логикой. Кроме того, при структурном подходе к разработке ИС риск остается большим на всех этапах создания системы вплоть до этапа тестирования, когда мы можем обнаружить допущенные ошибки и оценить состоятельность системы. В случае обнаружения ошибки необходимо вернуться на тот этап разработки, на котором допущена ошибка, и заново пройти последующие этапы.
Альтернативой структурному подходу стали лишенные перечисленных недостатков объектно-ориентированные методы разработки ИС. В первой половине 90-х годов был предложен разработанный на основе наиболее популярных объектных методов ОМТ (Rumbaudh), Booch и OOSE (Jacobsom) универсальный язык объектного проектирования - Unified Modeling Language, UML (The Unified Method, Draft Edition (0.8). Rational Software Corporation, October 1995).
Существует несколько CASE-средств, поддерживающих язык UML. Наиболее известными являются PLATINUM Paradigm Plus фирмы PLATINUM technology и выпущенный фирмой Rational Software программный пакет Rational Rose. Эти инструменты позволяют генерировать код приложения, в полной мере отвечающий бизнес-правилам, и с наименьшим риском.
Снижение риска в объектной технологии достигается за счет реализации технологии итерационной разработки (так называемая спиральная модель жизненного цикла разработки). Разработка состоит из ряда итераций, которые в дальнейшем приводят к созданию ИС. Каждая итерация может приводить к созданию фрагмента или новой версии и включает этапы выработки требований, анализа, проектирования, реализации и тестирования. Поскольку тестирование проводится на каждой итерации, риск снижается уже на начальных этапах жизненного цикла разработки.
Модель представляет собой совокупность диаграмм, описывающих различные аспекты структуры и поведения ИС. В дальнейшем в качестве примера будет описана объектная модель, построенная в Rational Rose for Java (version 4.0). Для просмотра модели в Rational Rose используется иерархический навигатор модели - Browser (рис. 4.1).
Рис. 4.1. Навигатор модели в Rational Rose - Browser
Рассмотрим в общих чертах некоторые диаграммы UML.
Диаграммы использования системы (Use Cases) показывают, какая функциональность должна быть реализована в системе, основные функции, которые должны быть включены в систему (use case), их окружение (actors) и взаимодействие функций с окружением (рис. 4.2). Воздействующие объекты (actors) не являются частью системы - это конечные пользователи или другие программы, взаимодействующие с проектируемой ИС. Функциональность (use case) - последовательность действий, выполняемых системой, которые приводят к определенным результатам, необходимым для конкретного воздействующего объекта.
Рис. 4.2. Диаграмма Use Cases. Здесь Customer, Salespeople - Actors; Register for Order, Validate User - Use case
Диаграммы Use Cases включают отношения и ассоциации, показывающие взаимодействие между воздействующими объектами и функциями (изображаются в виде стрелок), и примечания (note), которые могут быть привязаны к любому объекту диаграммы Use Cases. Для создания новой диаграммы Use Cases следует правой кнопкой мыши щелкнуть в навигаторе модели по закладке Use Case View и выбрать во всплывающем меню пункты New/Use Case. Для внесения в диаграмму Use Case и установления связей между ними следует использовать кнопки палитры инструментов Rational Rose:
Диаграммы классов. Под объектом в UML понимается некоторое абстрактное представление конкретного объекта предметной области. Каждый объект имеет состояние, поведение и индивидуальность. Например, объект "Проект" может иметь два состояния - "открыт" и "закрыт". Поведение объекта определяет, как объект взаимодействует с другими объектами. Индивидуальность означает, что каждый объект уникален и отличается от Других объектов. Под классом понимается описание объектов, обладающих общими свойствами (атрибутами), поведением, общими взаимоотношениями с другими объектами и общей семантикой. Класс является шаблоном для создания новых объектов. Для внесения нового класса в диаграмму классов нужно использовать кнопку !!! в палитре инструментов.
Если система содержит большое количество классов, они могут быть объединены в пакеты (package).
Каждый класс может иметь атрибуты (свойства). Так, на рис. 4.3 класс Customer Information (информация о клиенте) имеет атрибуты CustomerID (идентификатор клиента), Name (имя) и Account (счет). Кроме того, каждый класс может иметь методы (operations) - некоторые действия, которые описывают поведение объектов класса. На рис. 4.3 класс Customer Information имеет метод Check Account. Для внесения свойств класса следует правой кнопкой мыши щелкнуть по классу и выбрать во всплывающем меню пункт Specification.