2. Проблемы командной разработки
Различное видение и приоритеты
Излишняя специализация ролей
Несоответствие процессов
Закостеневший менеджмент
Организационные проблемы
Бедная документация
Неэффективные руководства по разработке
Неэффективное моделирование
www.cmcons.com
4. Техники эволюционной разработки
Эволюционное Моделирование
Регрессионное тестирование
Рефакторинг баз данных
Конфигурационное управление баз данных
Использование личных рабочих пространств для
разработки
www.cmcons.com
6. Принципы эволюционного
моделирования
• Предполагать простоту
• Содержание является более важным, чем представление
• Принять изменения
• Учитывать будущие потребности
• Инкрементальные изменения
• Адаптация к локальным условиям
• Модель с целью
• Несколько моделей
• Открытый и честный диалог
• Качественная работа
• Быстрая обратная связь
• Программное обеспечение является основной целью
• Идти налегке
• Повторно использовать существующие ресурсы
• Рассматривать возможность для тестирования
www.cmcons.com
12. Стереотипы для моделирования таблиц,
сущностей и представлений
Стереотип Применение
<<Aggregate>> Применяется в статистических таблицах, которые используются для
хранения ненормализованные данных (часто для целей отчетности).
<<Entity>> Необязательная нотация, которая подразумевает тип модели.
<<Index>> Применяется для моделирования индекса, который реализует ключ
таблицы реляционной базы данных. Это указывает на зависимость от
индекса для таблицы или ключевого столбца, реализующего индекс.
<<Lookup table>> Применяется к реляционным таблицам, которые используются для
простого просмотра списков.
<<Stored procedure>> Применяется к классу, который содержит только операционные
подписи для хранимых процедур базы данных.
<<Table>> Дополнительная нотация, которая подразумевается модельным
типом.
<<View>> Применяется, когда моделируются представления для таблицы.
Указывается зависимость для каждой таблицы в определении
представления.
www.cmcons.com
13. Стереотипы для моделирования ключей
Стереотип Применение
<<AK>> Указывает, что столбец является частью альтернативного ключ, также
известного как вторичный ключ для таблицы.
<<Auto Generated>> Указывает, что значение столбца автоматически создается в базе
данных.
<<CK>> Указывает, что атрибут является частью потенциальным ключ
сущности.
<<FK>> Указывает, что столбец является частью внешнего ключа другой
таблицы.
<<Natural>> Указывает, что атрибут или столбец является частью естественным
ключом.
<<PK>> Указывает, что столбец является частью первичного ключа для
таблицы.
<<Surrogate>> Указывает, что столбец является суррогатным ключом.
www.cmcons.com
14. Значения для ключей
Значение Применение
key Показывает к какому ключу кандидат или альтернативный
принадлежит столбец/атрибут. Когда столбец является частью
нескольких ключей (например, если он является частью двух
различных внешних ключей), то необходимо указать, какой имеется в
виду. Во втором примере столбец является частью третьего
альтернативного ключа. (key = FK; key = AK-3)
order Указывает порядок, в котором атрибут проявляется, когда он является
частью составного ключа. В этом примере столбец будет четвертый в
ключе. (order = 4)
table Указывает таблицу, на которую ссылается внешний ключ.
Необязательное, потому что он часто может быть получено из
диаграммы.
www.cmcons.com
18. Правила нормализации
Уровень Правило
Первая нормальная форма Первая нормальная форма (1НФ) требует,
чтобы каждое поле таблицы БД было
неделимым (атомарным) и не содержало
повторяющихся групп
Вторая нормальная форма Вторая нормальная форма (2НФ) требует,
чтобы таблица удовлетворяла всем
требованиям 1НФ, и чтобы любое не ключевое
поле однозначно идентифицировалось его
ключевым полем
Третья нормальная форма Третья нормальная форма (3НФ) требует,
чтобы таблица удовлетворяла всем
требованиям 2НФ, и чтобы всего его поля
напрямую зависели от ключевого поля
www.cmcons.com
25. Рефакторинг в БД
Категории рефакторинга
• Качество данных
• Структурный
• Архитектурный
• Производительность
• Ссылочная целостность
• Рефакторинг методов
www.cmcons.com
27. Шаги рефакторинга
Выполнить рефакторинг в личной рабочей области
• Убедитесь, что оптимизация кода базы данных требуется.
• Выберите наиболее подходящий рефакторинг базы данных.
• Определите потребности в очистке данных.
• Напишите модульные тесты.
• Обеспечьте период устаревания для первоначальной схемы.
• Реализуйте изменения.
• Обновите сценарии управления базой данных.
• Выполнение тестирование регрессии.
• Документируйте изменения.
• Используйте управление версиями.
Внедрить изменения в интеграционной области
• Распространение изменений между разработчиками
• Передача изменений на тестирование
Внедрить изменения в промышленную среду
• Развернуть новые схемы базы данных
• Развернуть затронутые изменениями приложения
www.cmcons.com