50996417bbd6ea46e49e0ebac67a594b.ppt
- Количество слайдов: 70
Проектирование моделей базы данных и приложения с помощью Enterprise Architect 7. 1 Автор: Мельников Игорь Игоревич Белорусско-Российский Университет
Создание нового проекта в Enterprise Architect 7. 1 1. После запуска Enterprise Architect выбираем пункт меню «File -> New Project…» и ждем открытия диалогового окна «New Project» . 2. Вводим название проекта (Bookbiz. eap). 3. Нажимаем кнопку «Сохранить» ( «Save» ).
Выбор типов диаграмм 1. Сразу после сохранения файла проекта откроется диалоговое окно «Select model(s)» для выбора типа диаграмм, которые мы будем использовать для проектирования приложения. 2. Выберем диаграмму классов «Class» . 3. Выберем диаграмму базу данных «Database» . 4. Нажмем кнопку «OK» .
Навигация с помощью панели Project Browser 1. Для быстрого перемещения между диаграммами можно пользоваться панелью «Project Browser» . 2. Откроем модель базы данных «Data Model» двойным нажатием левой кнопкой мыши по соответствующей надписи.
Предварительная работа с диаграммой базы данных При создании любой диаграммы Enterprise Architect 7. 1 создает - необходимые комментарии, - ссылки на файлыпомощники, - несколько элементов диаграммы (таблицы для диаграммы базы данных).
Предварительная работа с диаграммой базы данных (2) 1. В данном случае нам не понадобятся данные заготовки и мы можем удалить их. Для этого правой клавишей мыши щелкнем по папке «Schema 1» в окне «Project Browser» . Откроется контекстное меню. 2. В открывшемся меню выберем пункт «Delete ‘Schema 1’» . 3. В появившемся окне подтверждения удаления нажмем кнопку «Да» ( «Yes» ).
Предварительная работа с диаграммой базы данных (3) Оставшиеся элементы удалим путем выделения их и нажатием кнопки «Delete» .
Настройка параметров базы данных Поскольку типы данных полей таблиц базы данных зависят от той системы управления базами данных (СУБД), которая используется для ее создания, то удобно перед работой указать тип используемой для данной базы данных СУБД. Для этого необходимо выбрать пункт меню «Settings -> Database Datatypes…» .
Выбор используемой СУБД 1. В открывшемся диалоговом окне «Database Datatypes» в поле «Product Name» выберем тип СУБД «SQL Server 2005» . 2. После выше указанной операции будет загружен набор типов, стандартный для СУБД «SQL Server 2005» . 3. Сделаем данные настройки настройками по умолчанию. 4. Закроем данное диалоговое окно.
Проектирование базы данных Рассмотрим довольно популярный пример проектирования базы данных bookbiz, содержащей информацию о деятельности филиалов издательской компании. Создадим таблицу publishers, которая будет содержать информацию об издательствах: их идентификационные номера, названия и адреса. Перейдем на диаграмму «Data Model» и перетащим элемент «Table» с панели инструментов на диаграмму.
Проектирование базы данных (2) 1. Автоматически будет создана таблица «Table 1» и появится диалоговое окно для определения параметров таблицы. 2. Введем наименование таблицы «Publishers» . 3. Указывать тип базы данных (тип СУБД) нам не придется, так как мы сделали предварительные настройки. И теперь тип базы данных «SQL Server 2005» будет определяться автоматически. 4. Для сохранения изменений без закрытия окна нажмем кнопку «Применить» ( «Apply).
Проектирование базы данных (3) 1. Перейдем на вкладку «Table Detail» . 2. Нажмем кнопку «Columns/Attributes…» . 3. Окно «Class: Publishers» закроется, откроется новое диалоговое окно «Publishers Columns» , в котором можно указать все колонки таблицы и их типы (в соответствии с типами выбранной СУБД).
Проектирование базы данных (4) 1. Создадим поле идентификационного номера издательства «pub_id» . 2. Укажем для него тип данных «int» , так как идентификационный номер будет представлять собой целое число и являться первичным ключом таблицы «Publishers» .
Проектирование базы данных (5) 1. Укажем, что поле «pub_id» будет являться первичным ключом. 2. Сохраним информацию о поле, нажав кнопку «Save» . 3. Нажмем кнопку «Close» для закрытия окна. Для указания значений, вставляемых в поля по умолчанию, можно использовать поле «Initial: » .
Проектирование базы данных (6) 1. Теперь таблица «Publishers» выглядит так. 2. Для быстрого перехода к диалоговому окну колонок/ атрибутов таблицы щелкнем правой клавишей мыши по таблице и в контекстном меню выберем поле «Attributes…» .
Проектирование базы данных (7) Продолжим создание новых полей (колонок, атрибутов) таблицы.
Проектирование базы данных (8) 1. Одно поле в таблице теперь определено. 2. Нажмем кнопку «New» для создания нового поля.
Проектирование базы данных (9) 1. Создадим поле наименования издательства «pub_name» . 2. Выберем тип данных «nvarchar» для хранения текстовой информации в формате Unicode. 3. Введем максимальный размер поля в 255 символов. 4. Сохраним изменения, нажав кнопку «Save» .
Проектирование базы данных (10) 1. Сделаем поле «pub_name» обязательным для заполнения полем, не допускающим хранение неопределенных значений (NULL), так как имя издательства должно быть обязательно задано. 2. Для сохранения изменений нажмем кнопку «Save» .
Проектирование базы данных (11) Аналогично создаем поля адреса, города и штата, в котором расположен офис издательства.
Проектирование базы данных (12) 1. Вернемся к полю идентификатора издательства «pub_id» . 2. Если идентификационный номер издательства не будет иметь определенный формат, а будет представлять собой просто целое число, то удобно сделать его автоинкрементируемым, т. е. СУБД сама будет заполнять это поле уникальными целыми значениями, возрастающими с определенным шагом. Для этого нажмем на кнопку «Column Properties…» .
Проектирование базы данных (13) 1. В открывшемся диалоговом окне «Database Columns Properties» включим переключатель «Auto Number» . 2. Введем начальное значение поля. 3. Введем значение шага, на который будет увеличиваться значение идентификационного номера при вставке новой записи. 4. Нажмем кнопку «OK» . 5. После закрытия диалогового окна «Database Columns Properties» нажмем кнопку «Close» для закрытия окна «Publishers Attributes» .
Проектирование базы данных (14) 1. Окончательный вид таблицы «Publishers» . 2. В группе «column» показаны все поля таблицы. 3. Первичный ключ помечен атрибутом «PK» . 4. Обязательные для заполнения поля помечены символом «*» . 5. Группа «PK» содержит общее описание первичного ключа. Аналогичным образом создадим ряд других таблиц базы данных.
Проектирование базы данных (15) Информация о каждом авторе, имеющем контракт с издателем, содержится в таблице «Authors» : номер карточки социального страхования «au_id» , имя, фамилия и адресные данные. Аналогичную информацию о каждом редакторе содержит таблица «Editors» . Кроме того в ней имеется дополнительный столбец «ed_pos» , описывающий вид выполняемой редактором работы (подбор информации, управление проектами и т. п. ). По умолчанию в поле «ed_pos» будет хранится значение 0 означающее, например, подбор информации.
Проектирование базы данных (16) Таблица «Sales» содержит общую информацию о заказах, полученных от книжных магазинов: номер квитанции на продажу, идентификатор магазина, номер заказа на покупку и дату выполнения заказа. По всем вышедшим и готовящимся к печати книгам таблица «Titles» содержит следующую информацию: идентификационный номер, название, тема, идентификационный номер издателя, стоимость, расходы, количество проданных экземпляров, состояние контракта, дополнительные и дата выхода.
Проектирование базы данных (17) Книги и авторы представлены в разных таблицах, но могут быть связаны с помощью третей таблицы – «Title. Authors» . Для каждой книги таблица «Title. Authors» содержит строку с описанием идентификатора книги, идентификатора автора, позиции автора в списке авторов книги и информацию по разделению гонорара. Таблица «Title. Editors» аналогично связывает книги с их редакторами. Кроме того, она описывает порядок редактирования, т. е. можно узнать, кто был первым или последним редактором. Как видно, в этих таблицах используются составные первичные ключи, т. к. данные таблицы позволяют разрешить тип связи «многие-ко-многим» .
Проектирование базы данных (18) Таблица «Sales. Details» содержит информацию о каждом пункте заказа на покупку: название, количество заказанных книг, количество отправленных книг и дата отправления.
Проектирование базы данных (19) Диаграмма базы данных почти завершена; осталось только установить связи между таблицами.
Проектирование базы данных (20) Рассмотрим пример установки связи между таблицей «Authors» и «Title. Authors» . 1. Выберем тип связи «Associate» (связь ассоциации), которая является самым общим типом связи (в дальнейшем ее можно детализировать). 2. Щелкнем правой клавишей мыши по таблице «Title. Authors» и, не отпуская ее, проведем линию к таблице «Authors» .
Проектирование базы данных (21) 1. Связь ассоциации установлена. 2. Для определения атрибутов, с помощью которых связаны таблицы, щелкнем правой кнопкой мыши по связи и в контекстном меню выберем пункт «Foreign keys…» .
Проектирование базы данных (22) 1. Откроется диалоговое окно «Foreign Key Constraint» . 2. Укажем первичный ключ «au_id» в таблице «Authors» и первичный ключ «au_id» в таблице «Title. Authors» , который станет одновременно и внешним ключом данной таблицы. 3. Типы связи менять не будем, оставив « 1 – 0. . *» , т. е. одной записи таблицы «Authors» может соответствовать ноль и более записей таблицы «Title. Authors» . 4. Нажмем кнопку «Save» для сохранения настроек связи.
Проектирование базы данных (23) 1. Данные сохранены. 2. Закрываем окно путем нажатия кнопки «OK» . Для установления ограничений для связи (каскадное обновление или удаление) можно воспользоваться соответствующими переключателями.
Проектирование базы данных (24) 1. Связь полностью определена. 2. Поле «au_id» таблицы «Title. Authors» стал одновременно и внешним, и первичным ключом. Аналогично установим связи между другими таблицами.
Проектирование базы данных (26) Окончательный вид диаграммы базы данных. Теперь воспользуемся возможностью генерации SQLскрипта для создания базы данных по модели.
Генерация SQL-скрипта для создания базы данных Выберем пункт меню «Database Engineering -> Generate Package DDL…» .
Генерация SQL-скрипта для создания базы данных (2) 1. Откроется диалоговое окно «Generate Package DDL» , в котором можно установить ряд параметров. 2. Корневым пакетом является вся диаграмма «Data Model» (это определяется автоматически). 3. Активизируем переключатель «Create Primary/Foreign Key Constraints» для создания первичных и внешних ключей (связей между таблицами). 4. Активизируем переключатель «Create Drop SQL» для предварительного удаления из существующей базы данных одноименных таблиц (удобно для обновления одной и той же базы данных). 5. Выбираем способ записи в один файл «Single File» . Указываем к нему путь.
Генерация SQL-скрипта для создания базы данных (3) 1. Выделяем все таблицы путем нажатия кнопки «Select All» . 2. Нажимаем кнопку «Generate» для автоматической генерации SQL-скрипта. 3. Появится диалоговое окно, отображающее ход генерации файла.
Генерация SQL-скрипта для создания базы данных (4) 1. Для быстрого просмотра содержимого файла можно нажать кнопку «View» . 2. Данный файл можно использовать в СУБД Sql Server 2005 для автоматического создания базы данных.
Проектирование структуры приложения Когда модель базы данных, или просто модель данных, определена, можно приступить к проектированию логической модели приложения. Современные приложения базируются на принципах объектноориентированного программирования, основным элементом которого является класс. Приложение Enterprise Architect 7. 1 обладает достаточным набором элементов, позволяющих создавать модель приложения и генерировать на основе нее файлы, содержащие код будущего приложения. Чтобы получить доступ к таким элементам, перейдем на диаграмму «Class Model» .
Проектирование структуры приложения (2) Базовым элементом логической модели является класс, который может иметь различные стереотипы (интерфейс, asp-страница, jsp-страница и многое другое). Это связано с тем, что существует множество различных базовых элементов в пределах одного языка программирования, не говоря уже о наличии в Enterprise Architect многоязыковой поддержки. С выходом каждой новой версии приложения Enterprise Architect набор стереотипов увеличивается, но программирование, как производственная сфера, развивается очень быстро, поэтому не удивляйтесь, если вы не обнаружите в базе стереотипов Enterprise Architect подходящих для проектирования некоторых элементов вашего приложения, вы можете создавать стереотипы вручную.
Проектирование структуры приложения (3) Прежде всего, посмотрим, какие языки программирования поддерживает приложение Enterprise Architect, автоматически определяя тем самым набор базовых типов данных. Для этого выберем пункт меню «Settings -> Code Datatypes…» .
Проектирование структуры приложения (4) 1. В открывшемся диалоговом окне «Programming Languages Datatypes» . Выберем базовый язык программирования (например C#). 2. Можно добавлять иные языки программирования, которых нет в базе. Для можно воспользоваться кнопкой «Add Product» .
Проектирование структуры приложения (5) 1. После выбора языка программирования будут загружены определения всех базовых типов языка. 2. Можно добавлять произвольные типы данных, определяя их наименование, длину, точность, пределы и др.
Проектирование структуры приложения (6) Перейдем к процессу проектирования приложения. Приложение может иметь множество классов, которые удобно группировать в соответствии с выполняемыми ими функциями. Например, классы-сущности «Entities» повторяют структуру таблиц базы данных и используются для хранения данных из базы внутри приложения (во время сеанса работы), классы-контроллеры «Controllers» используются для работы с данными экземпляров классовсущностей, классы форм «Forms» , или «Boundaries» , позволяют отображать информацию пользователю и принимать от него информацию и др. Поэтому удобно разбить диаграмму логической модели, или диаграмму классов, на пакеты. Рассмотрим пример создания классов-сущностей.
Проектирование структуры приложения (7) 1. Создадим пакет для объединения классов-сущностей. Для этого перетащим элемент «Package» с панели инструментов на диаграмму. 2. Откроется диалоговое окно для указания имени пакета (назовем его «Entities» ). 3. Включим переключатель, указывающий на то, что пакет будет представлять собой диаграмму для размещения других классов и пакетов, иначе в него будет нельзя поместить другие классы и пакеты. 4. Сохраним пакет, нажав кнопку «OK» .
Проектирование структуры приложения (8) 1. В открывшемся окне выбора типа диаграммы «New Diagram» укажем тип «Class» , так как пакет будет содержать классы. 2. Сохраним пакетдиаграмму, нажав кнопку «OK» . 3. Пакет создан. Чтобы открыть его, дважды щелкнем по нему левой клавишей мыши.
Проектирование структуры приложения (9) 1. Перетащим элемент «Class» с панели инструментов на диаграмму. 2. Автоматически будет создан класс с именем «Class 1» и откроется диалоговое окно «Class: Class 1» для задания параметров данного класса.
Проектирование структуры приложения (10) 1. Назовем данный класс «Author» , так как экземпляры данного класса будут содержать информацию об авторах. 2. Выберем в качестве языка программирования язык C#. 3. При необходимости в секцию «Notes» можно ввести необходимые комментарии. 4. Перейдем на вкладку «Details» .
Проектирование структуры приложения (11) 1. На данной вкладке есть кнопки для перехода к окну атрибутов класса «Attributes…» . 2. На данной вкладке есть кнопки для перехода к окну методов класса «Operations…» . 3. Перейдем к окну атрибутов.
Проектирование структуры приложения (12) 1. В окне атрибутов мы сможем определить все атрибуты класса. 2. Создадим атрибут – идентификационный номер «au_id» . 3. Тип данных выставим целый «int» . 4. Квантор видимости – «private» . 5. Добавим комментарии. 6. Сохраним изменения, нажав кнопку «Save» .
Проектирование структуры приложения (13) 1. Атрибут сохранен. 2. Можно задавать дополнительные свойства атрибута: является ли данный атрибут свойством, статический ли он и др. 3. Можно задать значение по умолчанию. 4. Для создания нового атрибута, нажмем кнопку «New» .
Проектирование структуры приложения (14) 1. Создадим атрибут «au_lname» для хранения фамилии автора. 2. Нажмем кнопку «Save» для сохранения изменений.
Проектирование структуры приложения (15) 1. Атрибут «au_lname» сохранен. 2. Удобно для создания схожих атрибутов использовать кнопку «Copy» . Создадим таким образом атрибут «au_fname» .
Проектирование структуры приложения (16) 1. Откроется диалоговое окно «Input» . 2. Введем имя атрибута «au_fname» . 3. Нажмем кнопку «OK» .
Проектирование структуры приложения (17) 1. Атрибут «au_fname» сохранен. 2. Аналогично зададим остальные атрибуты.
Проектирование структуры приложения (18) 1. Все необходимые атрибуты заданы. 2. Квантор видимости атрибута ( «-» - private, «+» - public, «#» - protected, «~» - internal, «^» - protected internal). 3. Наименование атрибута. 4. Тип атрибута.
Проектирование структуры приложения (19) 1. Теперь зададим методы класса. 2. Правой кнопкой мыши щелкнем по классу и в контекстном меню выберем пункт «Operations…» .
Проектирование структуры приложения (20) 1. Откроется окно «Author Operations» . 2. Создадим конструктор объекта класса (метод, который всегда запускается при создании объекта класса). Называться он должен «Author» (по имени класса). 3. Для добавления параметров, передаваемых в данный метод, нажмем кнопку «Edit Parameters» .
Проектирование структуры приложения (21) 1. Откроется окно «Parameters» . 2. Введем имя параметра «id» . 3. Введем тип параметра «int» . 4. Включим переключатель «Add new to end» для добавления новых параметров в конец списка. 5. Введем комментарий. 6. Нажмем кнопку «Save» для сохранения изменений. 7. Аналогично создадим и все остальные параметры.
Проектирование структуры приложения (22) Вид класса «Authors» . Теперь создадим файл с кодом данного класса на языке C#, воспользовавшись возможностями Enterprise Architect.
Проектирование структуры приложения (23) Оставаясь в пределах пакета «Entities» , выберем пункт меню «Project -> Source Code Engineering -> Generate Package Source Code…» .
Проектирование структуры приложения (24) 1. Откроется диалоговое окно «Generate Package Source Code» . 2. Включим переключатель «Auto Generate Files» (после чего откроется диалоговое окно для указания пути к файлу) для автоматической генерации файла с кодом класса. 3. Нажмем кнопку «Generate» .
Проектирование структуры приложения (25) 1. Откроется диалоговое окно «Back generation» , в котором будет показан процесс создания файла. 2. Обратите внимание, что созданный файл «Author. cs» имеет расширение. cs, т. е. предназначен для использования в среде разработки, поддерживающей язык программирования C#.
Структура файла ////////////////////////////// // Author. cs // Implementation of the Class Author // Generated by Enterprise Architect // Created on: 17 -мар-2010 22: 07: 35 ////////////////////////////// namespace Enteties { public class Author { /// <summary> /// Идентификатор /// </summary> private int au_id; /// <summary> /// Имя /// </summary> private string au_fname; /// <summary> /// Фамилия /// </summary> private string au_lname; /// <summary> /// Номер телефона /// </summary> private string phone; /// <summary> /// Адрес /// </summary> private string address; /// <summary> /// Город /// </summary> private string city; /// <summary> /// Штат /// </summary> private string state; /// <summary> /// Индекс /// </summary> private string zip; public Author(){ } ~Author(){ } public virtual void Dispose(){ } /// <summary> /// Консутрктор с параметрами /// </summary> /// <param name="id">Идентификатор</param> /// <param name="fname">Имя</param> /// <param name="lname">Фамилия</param> /// <param name="phone">Номер телефона</param> /// <param name="address">Адрес</param> /// <param name="city">Город</param> /// <param name="state">Штат</param> /// <param name="zip">Индекс</param> public Author(int id, string fname, string lname, string phone, string address, string city, string state, string zip){ } }//end Author }//end namespace Enteties
Создание отчета по диаграмме базы данных Также Enterprise Architect позволяет создавать достаточно подробную документацию по разрабатываемому приложению. Создадим, например, документ, описывающий модель данных (диаграмма базы данных). Для этого перейдем на диаграмму «Data Model» и выберем пункт меню «Project -> Documentation -> Rich Text Format (RTF) Report…» .
Создание отчета по диаграмме базы данных (2) 1. Откроется диалоговое окно «Generate RTF Documentation» , в котором задаются параметры документа. 2. Поле «Root Package» уже содержит наименование коренного пакета (в данном случае всей диаграммы). 3. В поле «Output to File» укажем путь к выходному текстовому файлу (в формате RTF). 4. В поле «Use Template» укажем шаблон документа. 5. Нажмем кнопку «Generate» для генерации документа.
Создание отчета по диаграмме базы данных (3) После того, как документ будет создан, его можно просмотреть прямо в среде Enterprise Architect, нажав кнопку «View» на диалоговом окне «Generate RTF Documentation» .
Используемое в презентации программное обеспечение n Enterprise Architect 7. 1 http: //www. sparxsystems. com/products/index. html
Выводы Как видно, Enterprise Architect представляет собой удобное и широко функциональное средство для проектирования программных продуктов (а равно и других систем), позволяя создавать исходные коды для создания компонентов программ и документацию к ним.
Вопросы
50996417bbd6ea46e49e0ebac67a594b.ppt