Архив статей журнала
Цель работы является адаптация метода антипаттернов для повышения эффективности обучения студентов направлений «Прикладная информатика», «Информационные системы и технологии», «Программная инженерия» принципам и техникам проектирования реляционных баз данных в рамках соответствующих дисциплин и практик. Обучение проектированию баз данных является важной составляющей формирования специалиста-разработчика программного обеспечения. Совокупность принимаемых при проектировании решений должна опираться на общепринятые правила, принципы и рекомендации, а также на имеющийся опыт создания и эксплуатации информационных систем, трудновоспроизводимый в условия аудитории вуза. Материалы и методы. Повысить эффективность обучения студентов проектированию баз данных позволит подход, ориентированный на концепцию антипаттернов - неудачных распространенных проектных решений. Понятие антипаттерна получило широкое распространение вслед за широким использованием понятия паттерна, то есть распространенного типового решения, вписанного в контекст решаемой проблемы. Как понятие паттерна, так и понятие антипаттерна первоначально были ориентированы на объектно-ориентированное программное обеспечение, но в дальнейшем получили признание во всех областях информационных технологий. В работе предложена схема описания антипаттерна, включающая название, краткую характеристику, возможные причины появления, список недостатков применения при построении реляционных баз данных, концептуальная модель в виде ER-диаграммы (диаграмма сущность-связь), пример соответствующей структуры базы данных, способы ухода от антипаттерна, а также возможные исключения, когда применение именно такого проектного решения при создании базы данных может быть оправдано. Результаты исследования. На основании учебной, научной и технической литературы и периодики, а также на основе анализа имеющейся практики проектирования информационных систем составлен и описан каталог распространенных антипаттернов проектирования реляционных баз данных. Примеры антипаттернов: «Винегрет имен», «Таблицы-дубли», «Ложная абстракция», «Неатомарные реквизиты», «Столбцы-дубли», «Изменение данных в рабочем порядке (временные поля)», «Параллельные связи», «Божественная таблица», «Спекулятивное изменение метаданных» и др. При этом часть паттернов позволила проиллюстрировать общие принципы проектирования реляционных баз данных, например, такой как «Никакое изощренное программирование не способно исправить фатальные недостатки архитектуры». Показано, что имеющиеся неудачные решения зачастую обусловлены определенными предпосылками, например, необходимостью выполнить hot-fix, то есть «временное» решение, или преждевременной попыткой повысить производительность системы, либо желанием получить некоторый отчет одним запросом, избежав лишних соединений и т. д. Помимо технических аспектов показана актуальность корректной и единообразной системы наименований, отсутствие которой затрудняет сопровождение и развитие системы и ведет к лишним затратам. Предложенный подход был апробирован при обучении студентов дисциплинам «Базы данных», «Проектирование баз данных», «Архитектура информационных систем». Прошедшие обучение студенты улучшили понимание принципов и практик проектирования структуры баз данных. Заключение. Применение предложенного каталога антпаттернов в учебном процессе вуза позволяет ускорить обучение молодых специалистов приемам проектирования структуры реляционных баз данных, избежать распространенных ошибок при создании информационных систем, а также повысить общую культуру проектирования.