Выбор и обоснование инструментальных средств разработки АИС

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

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

- моделирование данных;

- особенности архитектуры и функциональные возможности;

- контроль работы системы;

- особенности разработки приложений;

- производительность;

- надежность;

- требования к рабочей среде;

- смешанные критерии.

Моделирование данных. Существует множество моделей данных, поэтому вопрос о применении той или иной модели должен решаться на начальном этапе проектирования АИС. К наиболее распространенным среди используемых моделей данных относятся иерархическая, сетевая, реляционная, объектно-реляционная и объектно-ориентированная.

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

Средства поиска. Ряд современных систем имеет встроенные дополнительные средства контекстного поиска.

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

Реализация языка запросов. Все современные системы совместимы со стандартным языком доступа к данным SQL-92, однако реализуют различные расширения данного стандарта.

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

Масштабируемость. При выборе СУБД необходимо учитывать, сможет ли данная система обеспечивать развитие АИС, которое может проявляться в увеличении числа пользователей, объема хранимых данных и объема обрабатываемой информации.

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

Сетевые возможности. Многие системы позволяют использовать широкий диапазон сетевых протоколов и служб для работы и администрирования.

Контроль работы системыподразумевает наличие нижеперечисленных видов контроля.

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

Автонастройка. Многие современные системы предусматривают самоконфигурирование, которое, как правило, опирается на результаты работы сервисов самодиагностики производительности. При этом выявляются слабые места конфигурации системы, и она автоматически настраивается на максимальную производительность.

Особенности разработки приложений.Ряд производителей СУБД выпускает также средства разработки приложений, которые, как правило, позволяют наилучшим образом реализовать все возможности сервера. Поэтому при анализе СУБД следует обратить внимание на особенности средств разработки приложений.

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

Многоязыковая поддержка. Поддержка большого количества национальных языков расширяет область применения системы и приложений, построенных на ее основе.

Возможности разработки Web-приложений. При разработке различных приложений зачастую возникает необходимость использовать возможности среды Internet. Средства разработки некоторых производителей имеют большой набор инструментов для построения приложений под Web.

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

Производительность.Для тестирования производительности применяются различные средства и существует множество тестовых рейтингов.

Рейтинг ТРС (Transactions per Cent) является одним из самых популярных и объективных. Фактически ТРС-анализ производительности систем рассматривает композицию СУБД и аппаратуры, на которой эта СУБД работает. Показатель ТРС — это отношение количества запросов, обрабатываемых за некий промежуток времени, к стоимости всей системы.

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

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

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

Восстановление после сбоев. При возникновении программных или аппаратных сбоев целостность, да и работоспособность всей системы могут быть нарушены. От того, насколько эффективен механизм восстановления, зависит жизнеспособность системы.

return false">ссылка скрыта

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

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

Многоуровневая система защиты. АИС организации почти всегда содержит секретную информацию, поэтому для предотвращения несанкционированного доступа используется служба идентификации пользователей. Уровень защиты может быть различным. Кроме непосредственной идентификации пользователей, при входе в систему предусматривается также механизм шифрования данных при передаче по линиям связи.

Требования к рабочей среде. Вкачестве требований рассматривают:

• поддерживаемые аппаратные платформы;

• минимальные требования к оборудованию;

максимальный размер адресуемой памяти. Поскольку почти все современные системы используют свою файловую систему, немаловажным фактором является то, какой максимальный объем физической памяти они могут использовать.

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

Качество и полнота документации. Не все системы и не всегда имеют полную и подробную документацию.

Локализованность — возможность использования национальных языков; не во всех системах она реализована полностью.

Модель формирования стоимости. Как правило, производители СУБД используют определенные модели формирования стоимости. Так, стоимость одного и того же продукта может существенно изменяться в зависимости от того, сколько пользователей будут с ним работать.

Стабильность производителя. Обычно имеют в виду многолетнее (стабильное) присутствие производителя на рыке.

Распространенность СУБД. Согласно существующей практике решение об использовании той или иной СУБД принимает один человек — обычно, руководитель предприятия, а он зачастую опирается отнюдь не на технические критерии. Здесь свою роль могут сыграть такие незначительные факторы, как рекламная раскрутка компании-производителя СУБД, использование конкретных систем на других предприятиях, стоимость. При этом последний фактор может трактоваться и в зависимости от финансового состояния, и в зависимости от политики предприятия. С одной стороны, используется принцип: «Чем дороже, тем лучше», с другой — возможность бесплатной эксплуатации продукта («взлома» лицензионной защиты).

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

• полнофункциональные СУБД;

• серверы БД;

• клиенты БД;

средства разработки программ работы с БД.

Полнофункциональные СУБД (ПФСУБД) представляют собой традиционные СУБД, которые сначала появились для больших машин, затем для мини-машин и для ПЭВМ. Из числа всех СУБД современные ПФСУБД являются наиболее многочисленными и мощными по своим возможностям. К ПФСУБД относятся, например, такие пакеты, как Clarion Database Developer, DataEase, DataFlex, dBase IV, Microsoft Access, Microsoft FoxPro и Paradox R.BASE.

Обычно ПФСУБД имеют развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с БД: создавать и модифицировать структуры таблиц, вводить данные, формировать запросы, разрабатывать отчеты, выводить их на печать и т. п. Для создания запросов и отчетов не обязательно программирование, а удобно пользоваться языком QBE. Многие ПФСУБД включают средства программирования для профессиональных разработчиков.

Некоторые системы имеют в качестве вспомогательных и дополнительные средства проектирования схем БД или CASE-подсистемы. Для обеспечения доступа к другим БД или к данным SQL-серверов полнофункциональные СУБД имеют факультативные модули.

Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Эта группа БД в настоящее время менее многочисленна, но их количество постепенно растет. Серверы БД реализуют функции управления базами данных, запрашиваемые другими (клиентскими) программами обычно с помощью операторов SQL.

Примерами серверов БД являются следующие программы: NetWare SQL (Novell), MS SQL Server (Microsoft), InterBase (Borland), SQLBase Server (Gupta), Intelligent Database (Ingress).

В роли клиентских программ для серверов БД в общем случае могут использоваться различные программы: ПФСУБД, электронные таблицы, текстовые процессоры, программы электронной почты и т. д. При этом элементы пары «клиент — сервер» могут принадлежать одному или разным производителям программного обеспечения.

В случае, когда клиентская и серверная части выполнены одной фирмой, естественно ожидать, что распределение функций между ними выполнено рационально. В остальных случаях обычно преследуется цель обеспечения доступа к данным «любой ценой». Примером такого соединения является случай, когда одна из полнофункциональных СУБД играет роль сервера, а вторая СУБД (другого производителя) — роль клиента. Так, для сервера БД SQL Server (Microsoft) в роли клиентских (фронтальных) программ могут выступать многие СУБД, такие как dBASE IV, Blyth Software, Paradox, DataBase, Focus, 1-2-3, MDBS III, Revelation и другие.

Средства <огут выступать многие СУБД, такие как dBASE IV, Blyth Software, Paradox, DataBase, Focus, 1-2-3, MDBS III, Revelation и другие.

Средства разработки программ работы с БДмогут использоваться для создания разновидностей следующих программ:

• клиентских программ;

• серверов БД и их отдельных компонентов;

• пользовательских приложений.

Программы первого и второго вида довольно малочисленны, так как предназначены, главным образом, для системных программистов. Пакетов третьего вида гораздо больше, но меньше, чем полнофункциональных СУБД.

К средствам разработки пользовательских приложений относятся системы программирования, например Clipper, разнообразные библиотеки программ для различных языков программирования, а также пакеты автоматизации разработок (в том числе систем типа клиент-сервер). В числе наиболее распространенных можно назвать следующие инструментальные системы: Delphi и Power Builder (Borland), Visual Basic (Microsoft), SILVERRUN (Computer Advisers Inc.), S-Designor (SDP и Powersoft) и ERwin (LogicWorks).

Кроме перечисленных средств, для управления данными и организации обслуживания БД используются различные дополнительные средства, к примеру мониторы транзакций (см. подраздел 4.2).

По характеру использования СУБД делят на персональные и многопользовательские.

Персональные СУБД обычно обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними. Персональные СУБД или разработанные с их помощью приложения зачастую могут выступать в роли клиентской части многопользовательской СУБД. К персональным СУБД, например, относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др.

Многопользовательские СУБД включают в себя сервер БД и клиентскую часть и, как правило, могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и операционными системами). К многопользовательским СУБД относятся, например, СУБД Oracle и Informix.

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

С точки зрения пользователя, СУБД реализует функции хранения, изменения (пополнения, редактирования и удаления) и обработки информации, а также разработки и получения различных выходных документов.

Для работы с хранящейся в базе данных информацией СУБД предоставляет программам и пользователям следующие два типа языков:

- язык описания данных — высокоуровневый непроцедурный язык декларативного типа, предназначенный для описания логической структуры данных;

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

Названные языки в различных СУБД могут иметь отличия. Наибольшее распространение получили два стандартизованных языка: QBE (Query By Example) — язык запросов по образцу и SQL (Structured Query Language) — структурированный язык запросов. QBE в основном обладает свойствами языка манипулирования данными, SQL сочетает в себе свойства языков обоих типов — описания и манипулирования данными.