Сбор и анализ требований для проектирования баз данных

Стас Белков

Стас Белков

Автор статьи. Известный специалист в мире IT. Консультант по продуктам и решениям Oracle. Практикующий программист и администратор баз данных. Подробнее.

Этап сбора требований является первым шагом в проектировании новой базы данных Oracle. Сначала посредством итеративного процесса нужно выяснять, какие требования предъявляет организации к базе данных. Поэтому на предварительном этапе жизненного цикла базы данных получаются ответы на вопросы следующего вида:

Этот этап должен полностью прояснять ожидания всех заинтересованных сторон в отношении новой системы, которую будет поддерживать будущая база данных. Под анализом требований фирмы подразумевается проведение обширного опроса среди сотрудников и руководства. Еще отвечающая за проектирование команда должна обязательно просчитывать как данные, которые будут поступать в базу Oracle, так и данные, которые будут извлекаться из нее.

Для получения более четкого представления о том, как будет выглядеть кругооборот данных в системе, принято создавать графические представления. Например, для охвата процессов данных, которые будут происходить внутри и за пределами приложения, на этом этапе часто создаются диаграммы потоков данных ( Data Flow Diagrams — DFD) или модели процессов.

В качестве примера давайте рассмотрим, какие процессы могут иметь место в учебном заведении. Например, в колледже может быть выделено четыре следующих процесса: процесс управления записями студентов (Manage Student Records), процесс управления информацией о курсах (Manage Course Information), процесс управления регистрацией (Manage Enrollment) и процесс управления расписаниями занятий (Manage Class Schedules). Первый может отвечать за обслуживание записей всех студентов и обновление этой информации соответствующим образом, второй — за сбор информации обо всех планируемых курсах из всех отделений колледжа и за внесение в список курсов соответствующих изменений при добавлении или удалении по той или иной причине, а третий - иметь более сложные обязанности и предусматривать получение входных данных из нескольких других процессов. Например, при осуществлении студентом попытки записаться на новый курс, он может сначала проверять на основании данных из процесса управления записями студентов, находится ли данный студент на хорошем счету, а затем выяснять на основании данных из процесса управления информацией о курсах, предлагается ли запрашиваемый им курс на самом деле, и если да, вносить заносить этого нового студента и информацию о курсе в свою часть потока данных.

Только после успешного завершения всех этих процессов в игру может, наконец, вступать четвертый процесс — процесс управления расписаниями занятий — и отправлять студенту новое расписание.

Как бы сложно не звучало это краткое описание потоков данных и производственных процессов, применение хитроумных средств вроде ERWin Data Modeler или PowerDesigner позволяет легко создавать сложные DFD-диаграммы и модели процессов с приложением минимального количества усилий. Перечень различных средств моделирования данных, в том числе популярных и бесплатных, можно найти по адресу http://www.databaseanswers.com/modelling_tools.htm.

Вас заинтересует / Intresting for you:

Базы данных - презентация к ку...
Базы данных - презентация к ку... 3460 просмотров Светлана Комарова Wed, 10 Oct 2018, 17:32:17
Индексирование во временных ба...
Индексирование во временных ба... 1440 просмотров Ирина Светлова Sun, 24 Mar 2019, 06:49:28
Что такое базы данных? Назначе...
Что такое базы данных? Назначе... 12809 просмотров Ирина Светлова Mon, 28 Oct 2019, 05:41:34
Модели данных и концептуальное...
Модели данных и концептуальное... 2997 просмотров Ирина Светлова Thu, 11 Feb 2021, 14:18:45
Печать
Войдите чтобы комментировать

1dz аватар
1dz ответил в теме #8335 7 года 2 дн. назад
Грамотно собрать и проанализировать требования к базе данных - это пол дела на пути создания эффективного и успешного приложения. Вторые пол дела - это логическое проектирование базы . Остальное доделают пряморукие программисты! :woohoo: