В условиях рынка все большее число компаний осознают преимущества использования информационных систем (ИС). В некоторых случаях ИС – это не только набор услуг, но и важнейший компонент бизнеса. Чтобы получить выгоду от использования информационной системы, ее следует создавать в короткие сроки и с уменьшенными затратами. ИС должна быть легко сопровождаемой и управляемой. Создание информационной системы предприятия – достаточно сложный и многоступенчатый процесс, который, весьма часто, содержит фазу информационного моделирования.
За последнее десятилетие сформировалось новое направление - CASE-технология (Computer Aided Software/System Engineering).
CASE-технология - это инструментарий для системных аналитиков, разработчиков и программистов, позволяющий автоматизировать процессы анализа, проектирования, разработки, внедрения и эксплуатации информационных систем.
Наиболее трудоемкими важными этапами разработки ИС являются этапы анализа и проектирования, в процессе которых CASE-средства обеспечивают качество принимаемых технических решений и подготовку проектной документации.
При этом большую роль играют методы визуального представления информации. Это предполагает построение структурных или иных диаграмм в реальном масштабе времени, использование многообразной цветовой палитры, сквозную проверку синтаксических правил.
Графические средства моделирования предметной области позволяют разработчикам в наглядном виде изучать существующую ИС, перестраивать ее в соответствии с поставленными целями и имеющимися ограничениями.
В разряд CASE-средств попадают как относительно дешевые системы для персональных компьютеров с весьма ограниченными возможностями, так и дорогостоящие системы для неоднородных вычислительных платформ и операционных сред. Так, современный рынок программных средств насчитывает около 300 различных CASE-средств, наиболее мощные из которых, так или иначе, используются практически всеми ведущими западными фирмами.
CASE-средства подразделяются на следующие основные группы:
Средство AllFusion ERwin Data Modeler(ERwin) предназначено для моделирования и создания баз данных различной сложности.
Оно входит в состав интегрального пакета инструментальных средств, поддерживающих все этапы разработки информационных систем - AllFusion Modeling Suite 4.1, фирмы Computer Associates (CA).
В настоящее время ERwin является наиболее популярным пакетом моделирования данных благодаря поддержке широкого спектра СУБД самых различных классов: SQL-серверов (Oracle, Informix, Sybase SQL Server, MS SQL Server, rogress, DB2, SQLBase, Ingress, Rdb и др.) и "настольных" СУБД типа XBase (Clipper, dBASE, FoxPro, MS Access, Paradox и др.).
ERwin позволяет :
§ модель, имеющую только логический уровень;
§ модель, имеющую только физический уровень;
§ модель, имеющую как логический уровень, так и физический уровень.
· IDEF1X (Integration DEFinition for Information Modeling ). Эта нотация была разработана для армии США и является федеральным стандартом США. Кроме того, она является стандартом в ряде международных организаций (НАТО, Международный валютный фонд и др.).
· IE (Information Engineering ). Нотация, разработанная Мартином (Martin),Финкельштейном (Finkelstein) и другими авторами, используется преимущественно в промышленности.
· DM (Dimensional Modeling ). Специализированная нотация, предназначенная для разработки хранилищ данных.
На логическом уровне ERwin поддерживает 2 нотации (IE и IDEF1X), на физическом- 3 (IE, IDEF1X и DM). В дальнейшем во всех примерах, если это не оговорено особо, будет использоваться нотация IDEF1X.
§ импорт с сервера существующей БД ;
§ автоматическая генерация модели БД ;
§ модификация модели;
§ построение физической БД на том же самом или любом другом сервере и автоматическая генерация новой схемы.
8. Для больших, содержащих сотни таблиц моделей данных, существенной проблемой становится поиск и исправление ошибок. Решение этой проблемы "ручную" - слишком трудоемкая задача, которая может недопустимо задержать выполнение проекта. AIIFusion Data Model Validator (ERwin Examiner) основанный на базе знаний инструмент, который позволяет анализировать структуру баз данных с целью выявления недочетов и ошибок проектирования.
9. Создание современных ИС требует тесного взаимодействия всех участников проекта: менеджеров, бизнес-аналитиков и системных аналитиков, администраторов баз данных, разработчиков. Для этого использующиеся на разных этапах и разными специалистами средства моделирования и разработки должны быть объединены общей системой организации совместной работы. Фирма Computer Associates предлагает систему ModelMart - хранилище моделей, к которому открыт доступ для участников проекта создания ИС. ERwin является клиентским приложением, что позволяет:
· Совместное моделирование. Каждый участник проекта имеет инструмент поиска и доступа к интересующей его модели в любое время в одном из трех режимов(незащищенный, защищенный и режим просмотра).
· Создание библиотек решений. Возможно накопление и использование наиболее удачных фрагментов реализованных проектов, типовых моделей и при необходимости "сборки"из них больших систем.
· Управление доступом. Для каждого участника проекта определяются права доступа, в соответствии с которыми они получают возможность работать только с определенными библиотеками, моделями и областями моделей.
10. ERwin совместим с AllFusion Component Modeler (Paradigm Plus). Этот инструмент позволяет строить объектные модели и генерировать на основе полученной модели приложения на различных языках программирования. Возможно преобразование объектные модели в модель данных ERwin и обратно.
Возможны две точки зрения на информационную модель и, соответственно, два уровня модели – логический и физический.
Логическая модель – это абстрактный взгляд на данные, в ней данные представляются так, как выглядят в реальном мире и могут называться так, как называются в реальном мире (без ограничений длины, языка, специальных символов и т.д.). Логическая модель данных является универсальной и никак не связана с конкретной реализацией СУБД.
Физическая модель – определяет представление информации в БД. В физической модели содержится информация обо всех объектах БД. Так как стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Одной и той же логической модели могут соответствовать несколько разных физических моделей.
Создание модели данных, как правило, начинается с создания логического уровня. После описания логического уровня проектировщик может выбрать необходимую СУБД. В модели, имеющей оба уровня (логический и физический) ERwin автоматически создаст соответствующую физическую модель. Это означает, что каждому объекту логического уровня соответствует объект физического. На основе одной логической модели можно создавать несколько физических, соответствующих СУБД разных производителей (например, Oracle, Informix, MS SQLServer, SyBase и др.). На основе физической модели ERwin может сгенерировать системный каталог СУБД или соответствующий SQL-скрипт. Этот процесс называется прямым проектированием.
Этапы построения:
Далее Вы поэтапно будете строить логическую модель данных «Рекламная компания», к которой предъявляются требования, описанные ниже.
Описание системы:
В качестве примера рассмотрим деятельность рекламной компании. Компания занимается проектированием заказов различного типа: видеороликов, аудиороликов, оригинал-макетов (для вывесок, плакатов, объявлений), баннеров и т.д. Руководитель должен иметь возможность в любое время просмотреть информацию о текущем состоянии дел. А именно:
- какие конкретно проекты разрабатываются в данный момент,
- проекты какого типа,
- номер проекта,
- дата принятия заказа,
- предполагаемая дата готовности (которая была обговорена с заказчиком),
- кто из сотрудников разрабатывает проект.
О сотрудниках должна присутствовать следующая информация:
- фамилия,
- имя,
- отчество,
- год рождения,
- пол,
- должность;
- номер телефона, по которому с ним можно связаться,
- номер его кабинета,
- размер оклада и табельный номер.
Также необходимо знать
- наименование организации-заказчика,
- код заказчика,
- адрес,
- телефон,
- ФИО заказчика.
Общепринятым видом графического изображения реляционной модели данных является ER-диаграмма.
Диаграмма «сущность-связь» (Entity Relationship Diagram (ERD)) – основное средство моделирования.
Информационная модель в ERwin представляется в виде именно таких диаграмм.
Данная нотация была введена Ченом (Chen) и получила дальнейшее развитие в работах Баркера (Barker). Нотация Чена предоставляет богатый набор средств моделирования данных, включая собственно ERD, а также диаграммы атрибутов и диаграммы декомпозиции. Эти диаграммные техники используются прежде всего для проектирования реляционных баз данных (хотя также могут с успехом применяться и для моделирования как иерархических, так и сетевых баз данных).
Диаграммы "сущность-связь" (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения основных объектов предметной области (данных) и отношений между ними (связей). Фактически с помощью ERD осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей).
Основные компоненты диаграммы «Сущность-связь»
Основными составляющими диаграммы ER являются сущности, атрибуты и связи.
Сущность – это множество подобных индивидуальных объектов, называемых экземплярами, имеющих существенное значение для предметной области, информация о которых подлежит хранению. Экземпляры обладают общими свойствами или характеристиками. Каждый экземпляр индивидуален и должен отличаться от других экземпляров.
В базе данных сущности соответствует таблица, а экземпляру сущности – запись. Например, в базе данных предприятия должна храниться информация о сотрудниках (Фамилия, Возраст, Адрес). Эта таблица будет выглядеть так:
Таблица 1
Фамилия | Возраст | Адрес |
---|---|---|
Иванов | 25 | Ул. Вишневая, 12-15 |
Петров | 27 | Ул. Садовая, 35-84 |
Сидоров | 23 | Ул. Летняя, 18-7 |
На уровне логической модели данная таблица является сущностью, строка таблицы – экземпляром сущности, столбец таблицы - атрибутом сущности. Сущностью может быть человек, место, вещь, событие. Сущности именуются существительными в единственном числе, при этом имя сущности должно отражать тип или класс объекта, а не его конкретный экземпляр (например, АЭРОПОРТ, а не ВНУКОВО).
Вам уже известно, что сущность – это реальный либо воображаемый объект, имеющий существенное значение для конкретной предметной области, сведения о котором должны быть сохранены.
Выделение сущностей – один из важнейших этапов построения логической модели. Поэтому необходимо произвести тщательный анализ предметной области. Для ликвидации типичных ошибок, имеет смысл воспользоваться приведенными ниже рекомендациями.
В качестве сущности выбираются:
Обратимся к нашей системе. Определим, какие группы объектов необходимы для функционирования рассматриваемой компании. Очевидно, что этими группами являются:
а) Сотрудники организации, которые выполняют заказы
б) Заказы (проекты), которые сотрудникам необходимо разрабатывать
в) Заказчики, для которых разрабатываются проекты
г) И, конечно же, руководитель организации, управляющий процессами деятельности компании.
Нами было выделено 4 важных в нашей системе группы объектов, но нам известно (соответственно требованиям системы), что в базе должна хранится информация о проектах, сотрудниках и заказчиках, информация о руководителе не должна быть хранима.
Рассмотрим, например, информацию о сотрудниках. Эта группа объектов, представленная несколькими сотрудниками (множеством), обладающими однотипными свойствами – фамилией, именем, возрастом, полом и др. Рассмотрим также выделенную нами группу – руководитель. Эта группа представлена всего одним объектом, следовательно, это не сущность.
Каждый сотрудник – это экземпляр сущности. Естественно, что все они отличаются друг от друга фамилией, именем, своим кодом, должностью и т.д.
Например, сущность Сотрудники – фамилия, имя, отчество, возраст, должность и т.д.
В модели не может быть двух сущностей с одинаковыми именами. Сущности должны иметь наименование с четким смысловым значением, именоваться существительным в единственном числе, не носить «технических» наименований. Фактически имя сущности дается по имени ее экземпляра. Например, сущность Заказчик (но не Заказчики).
Таким образом, мы определили 3 сущности:
- Проект
- Сотрудник
- Заказчик.
После определения сущностей, нужно внести их на диаграмму в ERwin Data Modeler. Для этого необходимо сначала создать новую модель.
ERwin имеет достаточно простой и интуитивно понятный интерфейс пользователя, дающий возможность создавать сложные модели при минимальных усилиях. Интерфейс выполнен в стиле Windows-приложений.
Для дальнейшего знакомства с интерфейсом необходимо запустить ERwin.
.
Для этого выполните следующие действия:
Результатом ваших действий будет открытие окна подобного окну, представленному на рис1.3.
Окно имеет стандартный для Windows-приложений вид.
Стандартные элементы окна: заголовок, строка меню, 8 основных панелей инструментов, строка состояния, окно проекта и окно навигатора модели.
Панели инструментов стандартным образом перемещаются, выводятся на экран и убираются с экрана.
Палитры инструментов выглядят различно в различных режимах работы.
На стандартной панели инструментов расположены элементы управления, в основном знакомые по другим Windows-приложениям.
Стандартная панель инструментов
Кнопки |
Назначение |
|
Создание, открытие, сохранение и печать модели |
|
Вызов диалога Report Browser для генерации отчетов. Вызов Report Template Builder-инструмента для публикации отчетов в Internet |
|
Изменение уровня просмотра модели: уровень сущностей, уровень атрибутов и уровень определений |
|
Изменение масштаба просмотра модели |
|
Переключение между областями модели – Subject Area |
|
Список выбора для переключения между логической и физической моделью |
Палитра инструментов на логическом уровне
Кнопки |
Назначение |
|
Указатель (режим мыши) – в этом режиме можно установит фокус на каком-либо объекте модели |
|
Создание новой сущности |
|
Создание категории |
|
Создание идентифицирующей связи |
|
Создание связи «многие ко многим» |
|
Создание идентифицирующей связи |
Вкладка Model содержит в виде раскрывающегося списка все объекты модели как физического, так и логического уровня - сущности, таблицы, атрибуты, колонки, связи, представления, объекты физической памяти и др.
Model Explorer позволяет редактировать объекты непосредственно в списке. Для этого необходимо щелкнуть правой кнопкой мыши по объекту и в контекстном меню выбрать нужную команду.
Model Explorer позволяет также переносить и копировать объекты. Например, атрибуты (колонки) можно переносить из сущности (таблицы) в сущность (таблицу) внутри Model Explorer методом drag & drop.
Вкладка Subject Areas служит для отображения и редактирования подмножеств модели (Subject Area).В списке вкладки Subject Areas можно проводить такие же манипуляции с объектами, как и во вкладке Model. Например, можно копировать сущность из одного подмножества модели в другое путем переноса его в списке методом drag & drop.
Во вкладке Domains отображаются домены, созданные в модели. Домены, представляющие собой абстрактные атрибуты (колонки), будут рассмотрены ниже.
Сохранение модели в файле выполняются стандартными способами( соответствующей кнопкой на стандартной панели инструментов либо пункты меню File - Save или Save as или Save as New Model ).
Возможны следующие форматы сохранения:
Открытие файла с моделью выполняется стандартным способом ( соответствующей кнопкой на стандартной панели инструментов либо пункт меню File - Open).
Можно открыть файлы следующих форматов:
Разработка модели данных представляет собой многоэтапный процесс.
На первом этапе разработки создается новая модель, при этом необходимо выполнить:
1. запустить команду создания новой модели;
2 выбрать тип разрабатываемой модели;
3 задать свойства модели(нотацию, в которой будет отображаться модель, описание модели, имя разработчика, свойства по умолчанию и т.п);
4 сохранить созданную модель.
Для этого последовательно выполните следующие шаги:
В открывшемся окне(рис 1.5) необходимо выбрать тип создаваемой модели:
Logical - логическая;
Physical - физическая;
Logical\Physical - содержащая оба типа модели.
- тип создаваемой модели - Logical/Physical;
- СУБД - Access 2000 ( в поле Target Database ).
Рис. 1.5 Окно выбора типа модели
Примечание:
Переключение типов моделей можно выполнить
с помощью кнопки на стандартной панели инструментов.
Любая разрабатываемая модель должна соответствовать целому ряду требований:
1. адекватность-соответствие предметной области
2. наглядность
3. понятность и информационная полнота -
Для этого:
Рис. 1.6 Закладка для общих свойств модели
Назначение полей :
· Model Info - информация о модели:
Name - имя модели;
Author - данные разработчика, например фамилия, должность;
Type и Database - тип модели и СУБД.
· Enable Modeling Features - допустимые возможности моделирования.
· Auto-Transform Logical Objects - автоматическое преобразование логических объектов.
Рис. 1.7 Закладка для задания нотаций
Рис. 1.8 Закладка для описания модели
Рис. 1.9 Закладка для задания режимов сохранения истории модели
Назначения полей закладки History Options :
· Save History For - сохранять историю для модели, сущностей и таблиц, атрибутов и полей таблиц.
· Save History When an Object Is - сохранять историю, когда элемент создается в модели, создается из модели источника, связывается с моделью источником, изменяется, мигрирует, при обратном проектировании.
Создав модель, можно переходить к созданию сущностей.
Как и любой элемент модели, сущность в модели должна в соответствии с выбранной нотацией иметь:
- уникальное, информативное имя ;
- стандартное графическое изображение;
- лаконичное, но достаточное для понимания сущности описание.
Для этого выполните последовательно следующие шаги:
1. Выберите тип создаваемого элемента диаграммы – сущность с
помощью кнопки на панели инструментов;
На диаграмме сущность изображается прямоугольником.
2. Укажите место, где должна располагаться данная сущность - произведите щелчок мышью по желаемому месту расположения сущности .
В результате вы получите изображение сущности, имеющей по умолчанию
имя Е/1.
3. Присвойте имя сущности - введите с клавиатуры имя
новой сущности - Проект(оно заменит выделенное стандартное имя
Е1).
4. Закончите процедуру создания сущности щелчком
мышью вне сущности по любому свободному месту диаграммы.
В результате вы получите окно примерно такое же как
на рис 1.10.
Рис. 1.10 Окно модели с созданной сущностью Проект
Имя сущности в модели
должно быть:
·
уникально ( в модели не должно быть
сущностей с одинаковыми именами);
Заглавные и прописные буквы различаются!!
·
существительным единственного числа;
·
информативно (по имени должно быть
понятно, что за объекты предметной области соответствуют этой сущность.)
В связи с этим требованием имена сущностей это ,как
правило, название соответствующих этой сущности объектов предметной
области.
Это название должно быть понятно всем участникам процесса
разработки( в том числе и заказчику) и входить в словарь предметной области.
Примеры имен сущностей
на логическом уровне модели
Правильные
Проект, Деталь, Товар
Неверные имена сущностей
База данных( не информативно, не понятно каким
объектам предметной области соответствует сущность).
Детали ( должно быть существительное единственного
числа)
Справочник( не информативно, не понятно каким
объектам предметной области соответствует сущность).
8.1.
Переименование сущностей
Переименование сущностей, как впрочем и других элементов
модели, производиться стандартными способами:
1 способ переименования.
1. необходимо вызвать контекстное меню, предварительно щелкнув по сущности правой кнопкой мыши, в меню нужно выбрать пункт Entity Properties:
Рис. 1.11. Вызов диалога Entity Properties
Рис. 1.12. Диалог Entity Properties
3. Завершить процедуру переименования кнопкой ОК.
2 способ переименования.
Сущности могут переименовываться как и файлы - после двойного( через паузу) щелчка по имени сущности и изменения старого имени на новое, вводимое с клавиатуры.
3 способ переименования.
Необходимо вызвать контекстное меню, предварительно щелкнув по сущности в навигаторе модели правой кнопкой мыши, в меню нужно выбрать пункт Rename.
8.2.
Установка режима автоматической проверки уникальности имен сущностей
Согласно
синтаксису IDEF1X имя
сущности должно быть уникально в рамках модели.
Можно обеспечить автоматическую проверку уникальности
имен сущностей и
выбрать возможные действия при появлении двойных
имен( автопереименование сущности).
Можно задать следующие режимы именования элементов:
·
Allow duplicate names - позволить внесение одинаковых имен
(опция
по умолчанию).
·
Automatically Rename duplicate
names - переименовывать сущности. Если
установлена эта опция, при
попытке внесения уже существующего име
ни ERwin переименовывает элемент, добавляя к имени номер. Например, Проект/2.
·
Ask - запрашивать возможные действия каждый
раз при внесении одно
именных элементов модели.
ERwin будет
показывать на экране окно-диалог Edit
Unique Name каждый
раз, когда вводится неуникальное имя сущности
или атрибута. В диалоге Edit
Unique Name можно ввести
другое имя или
разрешить дублирование.
При этом новое имя не проверяется на уникальность.
·
Disallow duplicate names - запретить внесение одинаковых имен.
Если
двойное имя обнаружено,
то ERwin выдает на
экран окно с сообщением,
что ввод неуникальных имен запрещается.
Для установки нужного режима необходимо:
1. Выбрать пункты меню Tools - Names-Model Naming Options(рис.1.13);
2.
На закладке Duplicate Names(рис1.11) выбрать
нужный режим.
Рис. 1.12. Диалог Model Naming Options
Для этого :
1. Создайте еще одну сущность и назовите ее ПРОЕКТ.
2. Выбирая последовательно каждый из режимов попытайтесь переименовать новую сущность в проект.
3. Сохраните
модель в файле dub.er1 , когда среда переименует новую сущность в проект/2.
8.3.
Описание сущностей
Каждая сущность должна быть полностью определена с помощью текстового описания.
Правила
описания сущностей
Описание сущности должно быть:
1. информативно, т.е. давать, в отличие от имени, полное представление обо всей совокупности соответствующих объектов и ограничениях бизнес правил, связанных с этими объектами.
2. лаконичным, не должно содержать избыточной, не существенной информации.
3. должно быть понятно всем участникам, которые будут работать с этой моделью.
Допустимое описание сущностей :
- Сотрудник- сотрудник фирмы, занимающий определенную должность. Сотрудник может разрабатывать одновременно несколько проектов, а может временно не иметь ни одного проекта.
- Заказчик- юридическое или
физическое лицо, заказавшее разработку хотя бы одного проекта. Заказчик может
заказать параллельно несколько проектов.
Для описания сущности используется окно свойств сущности.
Для этого:
·
Вызовите контекстное меню для сущности проект;
·
В меню выберите пункт Entity Properties
(рис.1.14);
·
Заполните закладку Definition в
соответствии с рис.1.14.Вкладка Definition
используется для ввода
определения сущности. Эти определения полезны как на логическом уровне,
поскольку позволяют понять, что это за объект, так и на физическом уровне,
поскольку их можно экспортировать как часть схемы и использовать в реальной
базе данных (CREATE COMMENT on entity_name).
·
Нажмите ОК.
Закладки Note, Note2, Note3, UDP служат для внесения дополнительных комментариев и определений сущности.
Рис. 1.14. Диалог описания свойств сущности.
Вкладка Note позволяет добавлять дополнительные замечания о сущности, которые не были отражены в определении, введенном во вкладке Definition. Здесь можно ввести полезное замечание, описывающее какое-либо бизнес-правило или соглашение по организации диаграммы.
Во вкладке Note 2 можно задокументировать некоторые возможные запросы, которые, как ожидается, будут использоваться по отношению к сущности в базе данных. При переходе к физическому проектированию записанные запросы помогут принимать такие решения в отношении проектирования, которые сделают базу данных более эффективной.
Вкладка Note 3 позволяет вводить примеры данных для сущности.
Во вкладке Icon каждой сущности можно поставить в соответствие изображение, которое будет отображаться в режиме просмотра модели на уровне иконок . В этой вкладке можно задать как большую иконку, которая будет отображаться на уровне Icon, так и малую иконку, которая будет отображаться на всех уровнях просмотра модели. Для связывания изображения с сущностью необходимо щелкнуть по кнопке , в появившемся диалоге Icons щелкнуть по кнопке Import и выбрать соответствующий файл формата bmp. После выбора иконки она отображается во вкладке Icon диалога Entities .
Сущности в модели можно перемещать, копировать,
удалять, отображать различным способом .
10.1.
Перемещение и копирование сущностей
Перемещение сущностей выполняется методом drag
& drop.
Копирование сущностей выполняется помощью
команд работы с буфером обмена ( команды пункта Edit - Cut /Copy/
Paste).
Примечание: Предварительно нужно
выделить копируемые сущности одним из стандартных методов.
Примечание: Предварительно нужно установить нужный режим именования сущностей.
Сущности можно отображать различным способом:
Для этого:
Для этого:
2. В появившемся меню выберите команду Display Level (рис.1.15)
Рис.1.15. Режимы отображения уровней модели
3. В выпадающем меню выберите последовательно команды Entity, Icon, Attribute, Definition и оцените результаты.
10.3. Установка цвета и шрифтов
Установить цвет и шрифт можно как для всех элементов модели, так и для отдельных ее элементов.
Для этого можно
Для этого:
Рис.1.16. Контекстное меню для модели
применено форматирование( New вновь создаваемые, All - все, Current - выделенные).
Рис.1.18. Окно форматирования всех элементов
4. Нажмите ОК и оцените результат.
Для этого:
Рис.1.19. Контекстное меню
Рис.1.20. Окно форматирования сущности
Требования к создаваемой модели
Для этого: