Жизненный цикл БД

 

Поскольку база данных является основным компонентом автоматизированной информационной системы, её жизненный цикл непрерывно связан с жизненным циклом АИС, с жизненным циклом программного обеспечения АИС. Жизненный цикл АИС, в целом, определяется как период времени, который начинается с момента принятия решений о необходимости создания АИС и заканчивается завершением её полной эксплуатации. Наиболее распространены две основные модели жизненного цикла программного обеспечения: каскадная и спиральная модели. Жизненный цикл АИС, её программного обеспечения, базы данных, как правило, соответствует спиральной модели.

Рассмотрим некоторые этапы жизненного цикла БД.

1 Планирование разработки БД. Это подготовительные действия, позволяющие с максимально возможной эффективностью реализовать этапы жизненного цикла БД. На данном этапе решают следующие задачи:

— анализ функционирования автоматизируемого предприятия в соответствии с требованиями, предъявляемыми ему — определение бизнес—планов и целей предприятия с последующим выделением потребностей предприятия в информационных технологиях;

— анализ существующих на предприятии автоматизированных информационных систем с целью выявления их сильных и слабых сторон (однопользовательские системы, устаревшее программное обеспечение и т.п.);

— формулирование потребностей в новой АИС (определение всех недостатков существующих на рынке программного обеспечения подобных АИС, их высокая стоимость, высокая сложность их сопровождения и т.п.);

— разработка стандартов, определяющих технологию сбора данных, их форматов, определение состава требуемой технической документации, порядка проектирования и реализации. Четко определенный набор стандартов позволяет создать хорошую основу для последующего обучения персонала, организации контроля качества, гарантировать определение работ по строго определенным образцам. Например, специальные правила могут определять, как присваиваются имена элементам данных, описываемых в словаре данных базы данных.

2 Определение требований к системе. Это этап определения диапазона действия и границ разрабатываемой БД, состава её пользователей, областей применения.

Задачи этапа:

— анализ и выбор направления совершенствования объекта управления в рамках предприятия;

— установление границ исследуемой области;

— связь разрабатываемой системы с существующими на предприятии АИС;

— выбор программно—технических средств;

— определение ограничения ресурсов на разработку;

— определение состава возможных будущих пользователей;

— определение направлений развития.

3 Сбор и анализ требований пользователей. Сбор и анализ информации о той части предприятия, работа которого будет поддерживаться с помощью создаваемой АИС. Необходимая для проектирования БД информация может быть собрана следующими способами:

— посредством опроса специалистов предприятия в наиболее важных областях его деятельности;

— с помощью наблюдения за деятельностью предприятия;

— посредством изучения документов, особенно тех, которые используются для сбора или представления информации – входных, выходных документов;

— за счет использования опыта проектирования других подобных систем;

— с помощью анкет. Например, проведение анкетного опроса руководителей подразделений, будущих пользователей БД. В связи с разным функциональным назначением подразделений, у руководителей может быть разное видение предметной области.

Требования (это некоторая функция, которая должна быть включена в создаваемую систему) пользователей анализируются с целью выяснения всех необходимых потребностей автоматизируемого предприятия. Объем собранных требований зависит от сути проблемы и действующих бизнес—правил предприятия. Слишком тщательный анализ легко может привести к получению большого объема требований, которые будет трудно проанализировать, а поверхностный анализ – к пустой трате времени и денежных средств на проведение работ, решение может оказаться ошибочным.

На этапе сбора и анализа требований пользователей полезно ответить на следующие вопросы:

а) Что лежит в основе деятельности данного предприятия. Выявляются наиболее важные компоненты, подлежащие автоматизации. Например: подсистема «Управление персоналом» – компоненты: предприятие, отделы, организационно—кадровая структура, личная карта сотрудника, приказ; задача «Почта» – компоненты: отправитель, получатель, почтовое отделение, главпочта; задача «Занятость населения» – компоненты: отдел по трудоустройству, предприятия, учебные заведения, начисление пособий; задача «Учет кассовых операций» – компоненты: касса, бухгалтерия.

б) Как это делается? Определяется список основных процессов, происходящих на данном предприятии, в частности над компонентами. Например, задача «Почта» – обеспечивается ввод, хранение и обработка данных об отправителе, получателе и почтовом отделении. Автоматически рассчитывается сумма оплаты почтовых услуг и выдается квитанция об оплате. Каждый день составляются и выдаются на печать отчеты о принятых и выданных почтовых отправлениях; задача «Занятость населения» – сбор, накопление, обработка и передача данных о безработных, регистрация вакантных рабочих мест, заполнение карточек персонального учета, ведение истории по безработице, выдача рекомендательных писем; задача «Учет кассовых операций» – ведение журнала регистрации кассовых операций, оформление приходных и расходных, кассовых ордеров и т.п.

в) Где происходят данные процессы? Территориально определяется положение компонентов, решается вопрос оптимального распределения данных (локальная, сетевая БД, БД уровня предприятия, распределенные БД).

г) Кто выполняет эти процессы? Рассматривается организационная структура предприятия – подчинение и зависимость подразделений.

д) Когда выполняется то или иное действие? Проясняется периодичность времени осуществляемых процессов, последовательность выполнения.

е) Почему эти действия выполняются? Определяется мотивация деятельности предприятия. Например: достижение наилучших соотношений "затраты – удобства" для клиентов; обеспечение успешной деятельности персонала; получение приемлемой прибыли; повышение доходов при автоматической обработке данных; получение более эффективного управления.

В результате полученных ответов на данные вопросы должны быть сформированы и утверждены, как минимум, следующие документы, на основе которых будет производиться проектирование программной системы:

— название задачи;

— организационная структура предприятия;

— описание существующих на предприятии информационных потоков, выделение автоматизируемых;

— описание структуры входных и выходных документов;

— функции, которые должны быть автоматизированы в рамках данной задачи;

— формализованное описание предметной области – классы объектов (сущности) и связи между ними;

— правила (бизнес – правила, семантические утверждения), ограничивающие предметную область;

— требования к программному обеспечению АИС;

— требования к техническому обеспечению АИС;

— сроки ввода в эксплуатацию АИС.

4 Этап проектирования (моделирования) БД. Это процесс создания проекта БД, предназначенной для поддержки функционирования АИС. Основные действия, производимые на этапе проектирования, это отображение словесного и естественного описания предметной области в схему внутренней модели БД.

Основными целями проектирования БД являются:

— представление данных и связей между ними, необходимых для всех областей применения БД и любых существующих групп пользователей;

— создание модели данных, способной поддерживать выполнение требуемой обработки данных;


— разработка предварительного варианта проекта, структура которого позволяет удовлетворить все основные требования, предъявляемые к производительности системы – например, ко времени реакции системы.

Любое проектирование – это поиск способа удовлетворения функциональных требований средствами имеющейся технологии с учетом заданных ограничений. Для каждого проекта существует ряд абсолютных требований, как правило, это:

— максимальное время, отпущенное на проект;

— максимальное количество денег, которое может быть потрачено;

— масса других неудобных требований и ограничений (недостаточная подготовка специалистов, отсутствие технического задания на проектирование, недопонимание сотрудников автоматизируемых подразделений сути автоматизации и т.п.).

Проектирование БД охватывает 3 основные области:

— проектирование конкретных объектов, которые будут реализованы в БД (домены, таблицы, хранимые процедуры, триггеры, индексы);

— проектирование конкретных экранных форм, отчетов, программ, которые будут сопровождать данные в БД, и обеспечивать выполнение запросов к ним;

— при определенных обстоятельствах в процессе проектирования также необходимо учитывать конкретную среду или технологию – например, топологию сети, конфигурацию аппаратных средств, использование архитектуры клиент/сервер, параллельной обработки данных, распределенной архитектуры БД.

Реальное проектирование заключается в достижении компромиссов и строится на информированном принятии решений с учетом различных ограничений (видение разработчиком определенной технологической цепочки обработки информации, а в реальном состоянии дел на предприятии реализовать эту цепочку не получается по каким—либо причинам), развитием информационных технологий, постоянного увеличения требований к разработке, объема знаний разработчиков.

5 Выбор целевой СУБД. Выбор может осуществляться в любой момент разработки базы данных, но строго до этапа проектирования логической структуры БД (до построения концептуальной даталогической модели БД). Выбор должен осуществляться при условии, что имеется вся необходимая информация о таких требованиях как: производительность системы; стратегия реализации ограничений целостности БД; уровень защищенности данных; архитектура вычислительной среды; необходимость параллельной обработки данных.

6 Разработка приложений. Это этап проектирования интерфейсов пользователей и прикладных программ для работы с БД. В жизненном цикле БД этот этап выполняется параллельно с проектированием БД. Между этими фазами должен постоянно происходить информационный обмен, перекрестные проверки между проектируемыми данными и выявленными функциями разрабатываемого приложения. Необходимо убедиться в том, что модель данных отражает потребности бизнеса, а модель функций использует данные из модели данных.

7 Создание БД. Этап физической реализации БД в среде выбранной СУБД. Включает в себя следующее:

— компиляцию команд ЯОД, описывающих БД и структуры объектов БД — создание пустой схемы БД;

— реализацию прикладных программ с помощью языков программирования (многие СУБД имеют встроенный язык);

— реализацию элементов прикладных программ на языке манипулирования данными (ЯМД) СУБД;

— разработку экранных форм для ввода—вывода информации, отчетов;

— реализацию мероприятий по защите данных, как правило, средствами ЯОД и ЯМД СУБД.

8 Конвертирование и загрузка данных из старой системы. Конвертирование и загрузка данных – перенос любых существующих данных в новую БД и модификация существующих приложений с целью организации совместной работы с новой БД. Этот этап выполняется только в том случае, если новая БД заменяет или включает данные старой, наследуемой БД. Для реализации подобных видов работ разрабатываются программы—конверторы. На этом этапе также осуществляется заполнение справочников БД, необходимых для обеспечения начала работы АИС.

9 Тестирование БД. Тестирование – процесс выполнения функций, объявленных в АИС, с целью выявления ошибок. Продумывается стратегия теста с использованием реальных данных. Если тестирование проведено успешно, оно обязательно вскроет ошибки в прикладных программах и, возможно, в структурах данных. Как правило, тестирование реализуется на отдельном оборудовании и тестовой БД. Если же тестирование осуществляется на реальных данных, то обязательно делается резервная копия БД.

По завершении этого этапа БД готова к эксплуатации.

10 Эксплуатация и сопровождение. На данном этапе проводится наблюдение за системой и поддержка её нормального функционирования. При этом выполняют следующие виды работ:

— контроль производительности системы. Если она падает, возможна дополнительная настройка или реорганизация БД (денормализация), оптимизация SQL запросов, создание дополнительных объектов БД (индексов);

— сопровождение и модернизация, в случае необходимости, элементов прикладных программ на языке манипулирования данными (ЯМД) СУБД;

— администрирование БД: проверка эффективности системы блокировок в параллельных процессах; осуществление мониторинга работы системы; создание резервных копий БД и т.п.

Начальные этапы эксплуатации БД должны осуществляться параллельно с бумажной обработкой информации на предприятии, либо параллельно с работой старой системы. Впоследствии возможна некоторое время работа двух (старой и новой) систем параллельно, затем окончательный переход на работу новой системы, модифицированной по результатам эксплуатации.