CASE - средства
Тест 1
Тест 1
Тест 1
Тест 1
Тест 1
Тест 1
Тест 1
Тест 1
Тест 1
Тест 1
Тест 1. Результат
CASE – средства: - цель - классификация - плюсы и минусы
Тест 2
Тест 2
Тест 2
Тест 2
Тест 2
Тест 2
Тест 2
Тест 2
Тест 2
Тест 2
Тест 2. Результат
Поздравляем!

CASE - средства

1. CASE - средства

>
CASE - средства

2.

<
>
CASE - средства
CASE (англ. Computer-Aided Software Engineering ) –
автоматизированная разработка программного
обеспечения.
CASE-средства – это набор инструментов и методов
программной инженерии, предназначеный для
проектирования программного обеспечения, который
помогает обеспечить высокое качество программ,
отсутствие ошибок и простоту в обслуживании
программных продуктов.

3.

<
>
История возникновения
CASE-средств
Тенденции развития современных информационных технологий
приводят к постоянному возрастанию сложности информационных
систем, создаваемых в различных областях науки.
Для успешной реализации проекта объект проектирования должен
быть, прежде всего, адекватно описан, должны быть построены
полные и непротиворечивые функциональные и информационные
модели системы. Накопленный к настоящему времени опыт
проектирования показывает, что это логически сложная, трудоемкая
и длительная по времени работа, требующая высокой квалификации
участвующих в ней специалистов. Кроме того, в процессе создания
ИС, потребности пользователей могут изменяться или уточняться,
что еще более усложняет разработку и сопровождение(поддержку)
таких систем.

4.

<
>
История возникновения
CASE-средств
В 70–80-х г.г. при проектировании АСУ применялись в основном "ручные"
способы разработки проекта. Неавтоматизированное проектирование
порождало ряд следующих существенных проблем:
- неадекватную спецификацию требований;
- неспособность разработчиков обнаруживать ошибки в проектных
решениях;
- низкое качество проектной и эксплуатационной документации;
- затяжной цикл проектирования;
- неудовлетворительные результаты тестирования.
Данные факторы, а также стремление автоматизировать труд разработчика
способствовали появлению программно-технологических средств
специального класса - CASE-средств.

5.

<
>
CASE – модель жизненного цикла ПО
CASE-технологии предлагают новый, основанный на
автоматизации, подход к концепции ЖЦ ПО. При
использовании CASE изменяются все фазы ЖЦ, при этом
наибольшие изменения касаются фаз анализа и проектирования.
На рис.1 приводится простейшая модель ЖЦ и
соответствующая CASE-модель, в которой фаза
прототипирования заменяет традиционную фазу системного
анализа: Прототипи́рование ( англ. prototyping) — это быстрая
«черновая» реализация базовой функциональности для анализа
работы системы в целом.
Необходимо отметить, что наиболее автоматизируемыми
фазами являются фазы контроля проекта и кодогенерации (хотя
все остальные фазы также поддерживаются CASE-средствами).

6.

<
>
Рис.1 Модели жизненного цикла ПО
АНАЛИЗ
ПРОТОТИПИРОВАНИЕ
ПРОЕКТИРОВАНИЕ
ПРОЕКТИРОВАНИЕ
СПЕЦИФИКАЦИЙ
КОДИРОВАНИЕ
КОНТРОЛЬ ПРОЕКТА
ТЕСТИРОВАНИЕ
КОДОГЕНЕРАЦИЯ
СОПРОВОЖДЕНИЕ
СИСТЕМНОЕ
ТЕСТИРОВАНИЕ
СОПРОВОЖДЕНИЕ

7.

<
>
Оценки трудозатрат по фазам
Традиционная разработка
Анализ
Проектирование
Кодирование
Тестирование
20%
15%
25%
40%
ИспользованиеCASE-технологий
Анализ
Проектирование
Кодирование
Тестирование
40%
40%
5%
15%

8.

<
>
Соответствие по этапам разработки
Традиционная разработка
CASE
1.
«Бумажные спецификации»
Быстрое прототипирование
2.
Ручное кодирование
Автоматическая кодогенерация
3.
Ручное документирование
Автоматическая генерация
документации
4.
Тестирование кодов
Автоматический контроль
проекта
5.
Сопровождение кодов
Сопровождение спецификаций
проектирования

9.

<
>
Функции CASE-средств
анализа и проектирования
проектирования баз данных
разработки приложений (программирование)
реинжиниринга
окружения
планирования и управления проектом
тестирования
Выполнение каждой функции обеспечивает
своя группа CASE-средств

10.

<
>
Функции PDM-системы
анализа и
проектирования
проектирования
баз данных
разработки
приложений
(программирование)
реинжиниринга
окружения
планирования и
управления
проектом
тестирования
Анализа и проектирования
Целью средств данной группы является
определение системных требований и
свойств, которыми система должна обладать,
а также создание проекта системы,
удовлетворяющей этим требованиям и
обладающей соответствующими свойствами.
На выходе создаются спецификации
компонентов системы и интерфейсов,
связывающих эти компоненты, а также
“калька” архитектуры системы и детальная
“калька” проекта, включающая алгоритмы и
определения структур данных.

11.

<
>
Функции PDM-системы
анализа и
проектирования
проектирования
баз данных
разработки
приложений
(программирование)
реинжиниринга
окружения
планирования и
управления
проектом
тестирования
Проектирования баз данных
Средства данной группы обеспечивают
логическое моделирование данных,
автоматическое преобразование моделей
данных в Третью Нормальную Форму,
автоматическую генерацию схем БД и
описаний форматов файлов на уровне
программного кода

12.

<
>
Функции PDM-системы
анализа и
проектирования
проектирования
баз данных
разработки
приложений
(программирование)
реинжиниринга
окружения
планирования и
управления
проектом
тестирования
Разработки приложений (программирование)
Средства этой группы поддерживают этапы
программирования и тестирования, а также
автоматическую кодогенерацию из
спецификаций, получая полностью
документированную выполняемую
программу. В эту группу средств включены и
традиционные генераторы кодов,
анализаторы кодов (как в статике, так и в
динамике), генераторы наборов тестов,
анализаторы покрытия тестами, отладчики.

13.

<
>
Функции PDM-системы
анализа и
проектирования
проектирования
баз данных
разработки
приложений
(программирование)
реинжиниринга
окружения
планирования и
управления
проектом
тестирования
Реинжиниринга
К таким средствам относятся
документаторы, анализаторы программ,
средства реструктурирования и
реинжениринга. Их целью является
корректировка, изменение, анализ,
преобразование и реинжениринг
существующей системы. Средства
позволяют осуществлять поддержку всей
системной документации, включая коды,
спецификации, наборы тестов;
контролировать покрытие тестами для
оценки полноты тестируемости; управлять
функционированием системы и т.п.

14.

<
>
Функции PDM-системы
анализа и
проектирования
проектирования
баз данных
разработки
приложений
(программирование)
реинжиниринга
окружения
планирования и
управления
проектом
тестирования
Окружения
Средства поддержки платформ для
интеграции, создания и придания товарного
вида CASE-средствам

15.

<
>
Функции PDM-системы
анализа и
проектирования
проектирования
баз данных
разработки
приложений
(программирование)
реинжиниринга
окружения
планирования и
управления
проектом
тестирования
Планирования и управления проектом
Средства, поддерживающие планирование,
контроль, руководство, взаимодействие, т.е.
функции, необходимые в процессе
разработки и сопровождения проектов.

16.

<
>
Функции PDM-системы
анализа и
проектирования
проектирования
баз данных
разработки
приложений
(программирование)
реинжиниринга
окружения
планирования и
управления
проектом
тестирования
Тестирования
Средства итогового тестирования и анализа
ошибок

17. Тест 1

< >
Тест 1
Вопрос 1.
Стремление автоматизировать труд
разработчика при разработке проекта
ИС способствовало появлению
программно-технологических средств
специального класса. Результатом
стало появление систем…(англ.
аббревиатура)

18. Тест 1

< >
Тест 1
Вопрос 2.
Какие проблемы возникали при
неавтоматизированном проектировнаии
(ручном):
Неадекватная спецификация требований
Неспособность разработчиков обнаруживать
ошибки в проектных решениях
Расходуемые безвозвратно
Управление качеством
Расходуемые возобновляемые

19. Тест 1

< >
Тест 1
Вопрос 3.
Наиболее автоматизируемыми фазами ЖЗ
ПО являются фазы:
Контроль проекта
Тестирование
Сопровождение
Кодогенерация
Проектирование спецификаций

20. Тест 1

< >
Тест 1
Вопрос 4.
При разработке проекта с применением
CASE-средств, основные усилия
приходятся на фазу:
Анализ
Проектирование
Кодирование
Тестирование

21. Тест 1

< >
Тест 1
Вопрос 5.
При традиционной разработке проекта,
основные усилия приходятся на фазу:
Анализ
Проектирование
Кодирование
Тестирование

22. Тест 1

< >
Тест 1
Вопрос 6.
Какая группа средств поддерживает этапы
программирования и тестирования, а также
автоматическую генерацию из спецификаций:
Анализа и проетирования
Проетирования баз данных
Разработки приложений
Реинжиниринга
Тестирования

23. Тест 1

< >
Тест 1
Вопрос 7.
Группа средств, выполняющая какую функцию,
обеспечивает создание спецификаций:
Анализа и проетирования
Проетирования баз данных
Разработки приложений
Реинжиниринга
Тестирования

24. Тест 1

< >
Тест 1
Вопрос 8.
Установите для каждого этапа ручной разработки
проекта соответствующий этап разработки с
применением CASE-средств:
1) «Бумажные» спецификации
Быстрое прототипирование
2) Ручное кодирование
Автоконтроль проекта
3) Тестирование кодов
4) Сопровождение кодов
Автогенерация документации
Сопровождение спецификаций
проектирования
Автоматическая кодогенерация

25. Тест 1

< >
Тест 1
Вопрос 9.
Расположите в правильной последовательности этапы
ЖЦ ПО при ручной разработке:
1) Анализ
2) Тестирование
3) Сопровождение
4) Проектирование
5) Кодирование

26. Тест 1

< >
Тест 1
Вопрос 10.
Быстрая «черновая» реализация базовой
функциональности для анализа работы системы в целом
аббревиатуры - это ………

27. Тест 1. Результат

< >
Тест 1. Результат
Количество ошибок:
Показать

28. CASE – средства: - цель - классификация - плюсы и минусы

>
CASE – средства:
- цель
- классификация
- плюсы и минусы

29.

<
>
Цель CASE-средств
Добиться резкого роста производительности
труда в инженерии программного и
информационного обеспечения, облегчить
работу программистов, проектировщиков,
аналитиков и руководителей проектов.

30.

<
>
Классификация CASE-средств
С точки зрения реализуемых функций и структурной
организации (конструктивной реализации) все CASEсистемы можно классифицировать:
- по типам
- по категориям
- по уровням.

31.

<
>
Классификация по типам:
Классификация по типам отражает функциональную
ориентацию CASE-средств в технологическом процессе и
подразделяет их на следующие группы:
анализа и проектирования (BPWin, CASE.Аналитик,
DESIGNER/2000, Silverrun, Vantage Team Builder и др.)
проектирования баз данных (ERWin, S-Designor, PRO-IV,
CASE.Синтез++ и др.)
разработки приложений (программирование) (SQL
Windows, PowerBuilder, Delphi и др.)
Реинжиниринга (PRO-IV, ORACLE*CASE, Rational Rose,
Object Team)
Окружения (PVCS, SoDA)
планирования и управления проектом (MS Project, SE
Companion);
средства тестирования (Quality Works)

32.

<
>
Классификация по категориям:
Классификация по категориям определяет уровень
интеграции по выполняемым функциям и выделяет:
вспомогательные (библиотечные) программы (tools);
пакет разработчика, библиотека программ (toolkit);
инструментальное средство (workbench – "верстак");

33.

<
>
Классификация по категориям:
Категория tools
Категория toolkit
Категория workbench
Категория tools обозначает
вспомогательный пакет,
решающий небольшую
автономную задачу,
принадлежащую процессу или
проблеме более высокого
уровня (QW, SoDA, PVCS).

34.

<
>
Классификация по категориям:
Категория toolkit представляет
Категория tools
Категория toolkit
Категория workbench
собой объединение
интегрированных программных
средств, которые обеспечивают
автоматизированную поддержку
одной фазы ЖЦ или разработке
определенного вида
обеспечения АСОИУ, например:
системный анализ,
проектирование базы данных,
разработка программ
(CASE.Аналитик, BPWin,
ERWin).

35.

<
>
Классификация по категориям:
Категория tools
Категория toolkit
Категория workbench
Категория workbench представляет
собой программные средства, которые:
поддерживают автоматизированные
процессы системного анализа,
проектирования и разработки ИО и
ПО; ориентированы на определенную
методологию проектирования;
используют общее хранилище
проектной информации; автоматически
передают системную информацию
между этапами разработки. Workbench
по сравнению с toolkit обладает более
высокой степенью интеграции
выполняемых функций, большей
самостоятельностью и автономностью
использования (ORACLE*CASE,
ORACLE*Forms, PRO-IV).

36.

<
>
Классификация по уровням:
Классификация по уровням связана с областью
действия CASE в пределах жизненного цикла. В
рамках данной классификации можно выделить
следующие уровни группирования CASE-систем:
верхний (upper) – планирование (MS Project, SE
Companion);
средний (middle) – анализ и проектирование
(CASE.Аналитик, DESIGNER/2000, Silverrun);
нижний (lower) – разработка (Uniface, JAM,
PowerBuilder, Delphi).

37.

<
>
Классификация по уровням:
Верхние CASE
Средние CASE
Нижние CASE
Верхние (upper) CASE призваны
повысить эффективность
деятельности как руководителей
организаций-заказчиков АСОИУ, так
и руководителей проекта путем
сокращения затрат времени на
определение стратегии создания
АСОИУ в целом и выработку общего
плана действий.

38.

<
>
Классификация по уровням:
Верхние CASE
Средние CASE
Нижние CASE
Средние CASE считаются средствами
поддержки этапов анализа требований и
проектирования спецификаций и
структуры ПО. Их использование
существенно сокращает цикл разработки
проекта, при этом важную роль играет
возможность накопления и хранения
знаний. Это позволяет использовать
накопленные решения и при создании
других проектов, обеспечивает
возможность быстрого создания
прототипа и документирования проекта.

39.

<
>
Классификация по уровням:
Верхние CASE
Средние CASE
Нижние CASE
Нижние CASE реализуют
компоненты для создания групп
системных спецификаций,
используемых для генерации
программ, баз данных и
пользовательской документации.

40.

<
>
Особенности внедрения
Практическое внедрение case-технологии в организацияхразработчиках ПО связано с рядом проблем. Несмотря на все
потенциальные возможности case-средств, существует множество
примеров их неудачного внедрения, в результате чего создание с их
помощью ПО становится "полочным" (shelfware). В связи с этим
необходимо отметить следующее:
case-средства не обязательно дают немедленный эффект; результат
может быть получен только спустя какое-то время;
реальные затраты на внедрение case-средств обычно намного
превышают затраты на их приобретение;
case-средства обеспечивают возможности для получения
существенной выгоды только после успешного завершения процесса
их внедрения.
Ввиду разнообразной природы case-средств было бы ошибочно
делать безоговорочные утверждения относительно реального
удовлетворения тех или иных ожиданий от их внедрения.

41.

<
>
Особенности внедрения
Отметим факторы, усложняющие определение возможного
эффекта от использования case-средств:
относительно небольшое время использования case-средств в
различных организациях и недостаток опыта их применения;
разнообразие практики внедрения case-средств в различных
организациях;
отсутствие детальных метрик и данных для уже выполненных и
текущих проектов;
широкий диапазон предметных областей проектов;различная
степень интеграции case-средств в различных проектах.
Вследствие этих сложностей доступная информация о реальных
внедрениях крайне ограниченна и противоречива. Она зависит от
типа средств, характеристик проектов, уровня сопровождения и
опыта пользователей. Некоторые аналитики полагают, что реальная
выгода от использования case-средств может быть получена только
после одно- или двухлетнего опыта.

42.

<
>
Достоинства CASE-средств
возможность наглядно представить общую
картину функционирования автоматизируемой
предметной области;
возможность наглядно представить и
исследовать модель будущей ИС задолго до ее
фактической реализации;
возможность эффективно перевести
информационную систему в архитектуру
"клиент-сервер"

43.

<
>
Недостатки CASE-средств
высокая начальная стоимость программных
и аппаратных средств для внедрения CASE;
отсутствие функционально полных систем,
стандартов для обмена информацией между
разными CASE;
необходимость дополнительного обучения и
тренировки различных категорий
специалистов, которые имеют какое-либо
отношение к процессу разработки ИС и ПО.

44.

<
>
CASE-средства сейчас
В середине 1980-х годов появились первые продукты,
реализующие CASE-технологию. Началом появления на
российском рынке первых CASE-средств принято считать 1992
год.
В настоящее время выбор CASE-средств на рынке очень
велик. Среди наиболее известных выделяют ERWin, BPwin,
Rational Rose, Together Control Center, SDE for Visual Studio
.Net и свыше 500 других. Самым конкурентноспособным
русским CASE-средством является CASE.Аналитик.
В качестве основной перспективы развития CASE в
настоящее время рассматривается интеграция средств
поддержки разработки баз данных и знаний, а также
создание "фабрик" по производству ПО и ИО АСОИУ. Кроме
того, активно ведутся работы по созданию мощного
многопользовательского микрокомпьютерного применения
CASE.

45. Тест 2

>
Тест 2
Вопрос 1.
Какие программы относятся к CASE-средствам группы
окружения:
PVCS
SoDA
CASE.Аналитик
Rational Rose

46. Тест 2

< >
Тест 2
Вопрос 2.
Подразделение CASE-средств на верхние, нижние и
средние производят при классификации по (ответ дать в
нужном падеже с маленькой буквы): ……

47. Тест 2

< >
Тест 2
Вопрос 3.
Первые CASE-средства на российском рынке
появились:
1989 г.
1992 г.
2000 г.
2003 г

48. Тест 2

< >
Тест 2
Вопрос 4.
Какое из приведенных CASE-средств поддерживает
возможность интеграции?
BPWin 2.5
Rational Rose
ErWin 3.5.2
Together 4.2

49. Тест 2

< >
Тест 2
Вопрос 5.
Установите соответствие между уровнем CASE-средства и
областью его применения
1) Верхний
2) Средний
3) Нижний
Быстрое прототипирование
Автоконтроль проекта
Автогенерация документации
Сопровождение спецификаций
проектирования
Автоматическая кодогенерация

50. Тест 2

< >
Тест 2
Вопрос 6.
Сколько основных факторов усложняет определение
возможного эффекта от использования case-средств
3
6
4
5

51. Тест 2

< >
Тест 2
Вопрос 7.
Какая категория CASE обозначает вспомогательный
пакет, решающий небольшую автономную задачу:
tools
toolkit
workbench

52. Тест 2

< >
Тест 2
Вопрос 8.
Насколько реальные затраты на внедрение caseсредств обычно превышают затраты на их
приобретение?
намного
мало
одинаковые затраты

53. Тест 2

< >
Тест 2
Вопрос 9.
Используются ли CASE-средства для перевода
информационной системы в архитектуру "клиентсервер"
Да
Нет
Нет, но ведутся разработки для этого

54. Тест 2

< >
Тест 2
Вопрос 10.
Укажите недостатки CASE-средств:
Высокая начальная стоимость программных и
аппаратных средств для внедрения CASE
Отсутствие функционально полных систем, стандартов
для обмена информацией между разными CASE
Необходимость дополнительного обучения и тренировки
различных категорий специалистов, которые имеют
какое-либо отношение к процессу разработки ИС и ПО
Возможность наглядно представить общую картину
функционирования автоматизируемой предметной области
Возможность наглядно представить и исследовать модель
будущей ИС задолго до ее фактической реализации

55. Тест 2. Результат

>
Тест 2. Результат
Количество ошибок:
Показать

56. Поздравляем!

Обучение закончено
Начать сначала
Выход

57.

<
>
Эволюция CASE - средств
С самого начала CASE-технологии развивались с целью преодоления
ограничений ручных применений методологий структурного анализа и
проектирования 60-70-х годов за счет их автоматизации и интеграции
поддерживающих средств. Таким образом CASE-технологии не могут
считаться самостоятельными методологиями, они только делают более
эффективными пути их применения. CASE - не революция в
программотехнике: современные СASE-средства являются естественным
продолжением эволюции всей отрасли средств разработки ПО. Традиционно
выделяют шесть периодов, качественно отличающихся применяемой техникой
и методами разработки ПО, которые характеризуются использованием в
качестве инструментальных следующих средств:
• ассемблеров, дампов памяти, анализаторов;
• компиляторов, интерпретаторов, трассировщиков;
• символических отладчиков, пакетов программ;
• систем анализа и управления исходными текстами;
• CASE-средств анализа требований, проектирования спецификаций
иструктуры, редактирования интерфейсов (первая генерация CASE-I);
• CASE-средств генерации исходных текстов и реализации интегрированного
окружения поддержки полного жизненного цикла (ЖЦ) разработки
ПО(вторая генерация CASE-II).

58.

<
>
Эволюция CASE - средств
CASE-I является первой технологией, адресованной непосредственно
системным аналитикам и проектировщикам, и включающей средства для
поддержки графических моделей, проектирования спецификаций,
экранных редакторов и словарей данных. Она не предназначена для
поддержки полного ЖЦ и концентрирует внимание на функциональных
спецификациях и начальных шагах проекта - системном
анализе, определении требований, системном проектировании,
логическом проектировании БД.
CASE-II отличается значительно более развитыми возможностями,
улучшенными характеристиками и исчерпывающим подходом к полному
ЖЦ. В ней в первую очередь используются средства поддержки
автоматической кодогенерации, а также обеспечивается полная
функциональная поддержка для порождения графических системных
требований и спецификаций проектирования; контроля, анализа и
связывания системной информации ,а также информации по управлению
проектированием; построения прототипов и моделей системы;
тестирования, верификации и анализа сгенерированных программ;
генерации документов по проекту; контроля на соответствие стандартам
по всем этапам ЖЦ. CASE-II может включать свыше 100 функциональных
компонент, поддерживающих все этапы ЖЦ, при этом пользователям
предоставляется возможность выбора необходимых средств и их
интеграции в нужном составе.

59.

<
>
Пользователи CASE – средств
В современном мире практически любая организация, будь то бизнеспредприятие или государственное учреждение, сталкивается с проблемой
структурирования получаемой информации, анализа и управления различными
информационными системами (ИС). CASE-средства позволяют при
проектировании ИС наладить грамотные коммуникации между различными
участниками проекта, например, между командами разработчика и заказчика.
Сегодня CASE-средства успешно применяются практически во всех
областях деятельности человека, где возникает необходимость в автоматизации
процессов и детальном анализе информации.
CASE-средства находят в наши дни все большее применение в самых
разных сферах деятельности. При этом к числу CASE-средств могут относиться
и весьма недорогие и ограниченные варианты систем, ориентированных на
использование обычными персональными компьютерами. Также существуют и
более мощные CASE-средства, применяемые на базе специальных
вычислительных платформ. Поэтому выбор тех или иных CASE-средств на
рынке обусловлен, прежде всего, целями и задачами конкретного проекта, а
также, собственно, квалификацией участвующих в проекте специалистов.
CASE-средства востребованный программный продукт, особенно для
проектирования баз данных. К активным пользователям CASE-средств можно
отнести весьма незначительное число потребителей, причем часть из них
использует порой контрафактные версии программных продуктов.
Пользователи CASE-средств: аналитки, тестировщики, разработчики,
программисты и др. специалисты, работающие над созданием проект ИС.

60.

<
>
Сравнение CASE – средств
Сравним CASE-средства по их возможностям
на примере: Together 4.2, Rational Rose 2000,
BPWin 2.5, ErWin 3.5.2.
Здесь хотелось бы еще раз отметить
нецелесообразность сравнения отдельно взятых
CASE-средств, поскольку ни одно из них не
решает в целом все проблемы создания и
сопровождения ПО.

61.

<
>
Сравнение CASE – средств
CASE-средство
возможности
Together
4.2
Rational
Rose 2000
BPWin
2.5
ErWin
3.5.2
Функцинальная модель
+
+
+
-
Объектная модель
+
+
-
-
Модель БД
+
+
-
+
Автоматизация
документирования
+
+
-
-
Средства анализа
+
+
-
-
Контроль версий
+
+
+
+
Кроссплатформенность
+
+
-
-
Интеграция (all in one)
+
-
-
-
Поддерживаемые
средства разработки
Java, C++,
SQL, IDL
Java, C++,
SQL,IDL,VB
IDL
C++,
SQL,VB
Кодогенерация
+
+
-
+
Реинжиниринг
+
+
-
+
Поддержка UML/XML
+/+
+/+
-/-
-/-
English     Русский Правила