CASE-средства проектирования баз данных
Тенденции развития современных информационных технологий приводят к постоянному возрастанию сложности систем баз данных. Опыт проектирования таких систем показывает, что это логически сложная, трудоемкая и длительная по времени работа, требующая высокой квалификации участвующих в ней специалистов. Начиная с 70-х и 80-х годов, при разработке информационных систем широко применяется структурная методология, предоставляющая в распоряжение разработчиков строгие формализованные методы описания систем и принимаемых технических решений. Она основана на наглядной графической технике: для описания различного рода моделей используются схемы и диаграммы. Для автоматизации этой технологии в настоящее время используются программно-технологические средства специального класса - CASE-средства, реализующие CASE-технологию создания и сопровождения информационных систем. Термин CASE (Computer Aided Software Engineering) используется в настоящее время в весьма широком смысле. Первоначальное значение термина CASE, ограниченное вопросами автоматизации разработки только лишь программного обеспечения, в настоящее время приобрело новый смысл, охватывающий процесс разработки сложных автоматизированных систем в целом. Под термином CASE-средства понимаются программные средства, поддерживающие процессы создания и сопровождения информационных систем, включая анализ и формулировку требований, проектирование приложений и баз данных, генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы.
CASE-средства – это автоматизированные средства, основанные на CASE-технологиях, позволяющие автоматизировать отдельные этапы жизненного цикла программного обеспечения. Все современные CASE-средства могут быть классифицированы по типам и категориям. Классификация по типам отражает функциональную ориентацию на процессы жизненного цикла программного обеспечения. Классификация по категориям определяет степень интеграции по выполняемым функциям и включает отдельные локальные средства, решающие наиболее автономные задачи (по-английски tools), набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла (toolkit) и полностью интегрированные средства, поддерживающие весь жизненный цикл информационных систем.
Классификация по типам включает следующие основные CASE-средства:
1. Средства анализа, предназначенные для построения и анализа моделей предметной области (Bpwin, Design/IDEF);
2. Средства анализа и проектирования, предназначенные для создания проектных спецификаций (CASE.Аналитик, Vantage Team Builder, Designer/2000, Silverrun, PRO-IV);
3. Средства проектирования баз данных, обеспечивающие моделирование данных и генерацию схем баз данных для наиболее распространенных СУБД (Silverrun, Vantage Team Builder, Designer/2000, ERwin, S-Designor);
4. Средства разработки приложений и генераторы кодов (Vantage Team Builder, Silverrun, PRO-IV);
5. Средства реинжениринга, обеспечивающие анализ программных кодов, схем баз данных и формирование на их основе различных моделей и проектных спецификаций. Средства анализа схем баз данных входят в состав: (Silverrun, Vantage Team Builder, Designer/2000, Erwin, S-Designor). Для анализа программных кодов используются такие средства, как Rational Rose и Object Team.
В контексте данного учебного пособия наиболее интересны CASE-средства, используемые при проектировании баз данных, перечисленные в пункте 3.
CASE-средство Silverrun американской фирмы Computer Systems Advisers (CSA) используется для анализа и проектирования информационных систем бизнес-класса и ориентировано, в большей степени, на спиральную модель жизненного цикла. Оно применимо для поддержки любой методологии, основанной на раздельном построении функциональной и информационной моделей (диаграмм потоков данных и диаграмм «сущность-связь»). Silverrun имеет модульную структуру и состоит из четырех модулей, каждый из которых является самостоятельным продуктом. Модуль построения моделей бизнес-процессов в форме диаграмм потоков данных (BMP – Business Process Modeler) позволяет моделировать функционирование обследуемой организации или создаваемой информационной системы. Модуль концептуального моделирования данных (ERX – Entity-Relationship eXpert) обеспечивает построение моделей данных «сущность-связь», не привязанных к конкретной реализации. Модуль реляционного моделирования (RDM – Relational Data Modeler) позволяет создавать детализированные модели «сущность-связь», предназначенные для реализации в реляционной базе данных. Менеджер репозитория рабочей группы (WRM – Workgroup Repository Manager) применяется как словарь данных для хранения общей для всех моделей информации, а также обеспечивает интеграцию модулей Silverrun в единую среду проектирования. Платой за высокую гибкость и разнообразие изобразительных средств построения моделей является такой недостаток Silverrun, как отсутствие жесткого взаимного контроля между компонентами различных моделей (например, возможности автоматического распространения изменений между диаграммами потоков данных разного уровня). Но этот недостаток может иметь существенное значение только в случае использования каскадной модели жизненного цикла программного обеспечения. Для автоматической генерации схем баз данных у Silverrun существуют мосты к наиболее распространенным СУБД: Oracle, Informix, DB2, Ingres, Progress, SQL Server, SQLBase, Sybase. Для передачи данных в средства разработки приложений имеются мосты к языкам 4GL: JAM, PowerBuilder, SQL Windows, Uniface, NewEra, Delphi. Система Silverrun реализована на трех платформах – MS Windows, Macintosh, OS/2 Presentation Manager – с возможностью обмена проектными данными между ними.
Vantage Team Builder представляет собой интегрированный программный продукт, ориентированный на реализацию каскадной модели жизненного цикла программного обеспечения. Vantage Team Builder обеспечивает выполнение следующих функций: 1) проектирование диаграмм потоков данных, «сущность-связь», структур данных, структурных схем программ и последовательностей экранных форм; 2) генерацию кода программ на языке 4GL целевой СУБД с полным обеспечением программной среды и генерация SQL-кода для создания таблиц баз данных, индексов, ограничений целостности и хранимых процедур; 3) программирование на языке C со встроенным SQL; 4) управление версиями и конфигурацией проекта; 5) генерация проектной документации по стандартным и индивидуальным шаблонам; 6) экспорт и импорт данных проекта. Vantage Team Builder поставляется в различных конфигурациях в зависимости от используемых СУБД (Oracle, Informix, Sybase, Ingress) или средств разработки приложений (Uniface). Конфигурация Vantage Team Builder обеспечивает совместное использование двух систем в рамках единой технологической среды проектирования, при этом схемы баз данных (SQL - модели) переносятся в репозиторий Uniface, и, наоборот, прикладные модели, сформированные средствами Uniface, могут быть перенесены в репозиторий Vantage Team Builder. Возможности рассогласования между репозиториями двух систем устаняются с помощью специальной утилиты. Разработка экранных форм в среде Uniface выполняется на базе диаграмм последовательностей форм (FSD) после импорта SQL – модели. Vantage Team Builder функционирует на всех основных Unix – платформах (Solaris, SCO UNIX, AIX, HP-UX) и VMS.
CASE-средство Designer/2000 фирмы Oracle является интегрированным CASE-средством, обеспечивающим в совокупности со средствами разработки приложений Developer/2000, поддержку полного жизненного цикла программного обеспечения для систем, использующих СУБД Oracle. В состав Designer/2000 входят следующие компоненты: 1) Repository Administrator – средства управления репозиторием (создание, удаление приложений, управление доступа к данным со стороны различных пользователей, экспорт и импорт данных); 2) Repository Object Navigator - средство доступа к репозиторию. Обеспечивающие многооконный объектно-ориентированный интерфейс доступа ко всем элементам репозитория; 3) Process Modeller – средство анализа и моделирования деловой деятельности, основывающиеся на концепциях реинжениринга бизнес-процессов и глобальной системы управления качеством; 4) Systems Modeller – набор средств построения функциональных и информационных моделей проектируемой информационной системы, включающий средства для построения диаграмм «сущность-связь», диаграмм функциональных иерархий, диаграмм потоков данных и средство анализа и модификации связей объектов репозитория различных типов; 5) Systems Designer – набор средств проектирования информационных систем, включающий средство построения структуры реляционной базы данных, а также средства построения диаграмм, отображающих взаимодействие с данными, иерархию, структуру и логику приложений, реализуемую хранимыми процедурами на языке SQL; 6) Server Generator – генератор описаний объектов базы данных Oracle (таблиц, индексов, ключей, последовательностей и т.д.). Помимо продуктов Oracle, генерация и реинжиниринг баз данных может выполняться для СУБД Informix, DB/2,Microsoft SQL Server, Sybase, a а также для баз данных, доступ к которым реализуется посредством ODBC; 7) Forms Generator – генератор приложения, включающий в себя различные экранные формы, средства контроля данных, проверки ограничений целостности и автоматические подсказки; 8) Repository Reports – генератор стандартных отчетов. Среда функционирования Designer/2000 – Windows 3.x, Windows 95, Windows NT.
Erwin – средство логического моделирования баз данных, использующее методологию IDEF1X. Erwin реализует проектирование схемы баз данных, генерацию её описания на языке целевой СУБД (Oracle, Informix, DB/2, Ingres, Progress, SQL Server, SQLBase, Sybase и др.) и реинжениринг существующей базы данных. Erwin выпускается в нескольких различных конфигурациях, ориентированных на наиболее распространенные средства разработки приложений 4GL. Версия Erwin/Open полностью совместима со средствами разработки приложений PowerBuilder и SQLWindows и позволяет экспортировать описание спроектированной базы данных непосредственно в репозитории данных средств.
S –Designor представляет собой CASE – средство для проектирования реляционных баз данных. S –Designor реализует стандартную методологию моделирования данных и генерирует описание баз данных для таких СУБД, как Oracle, Informix, DB/2, Ingres, Progress, SQL Server, SQLBase, Sybase и др. Для существующих систем выполняется реинжениринг баз данных.
Из перечисленных средств универсальными средствами, ориентированными только на проектирование баз данных, являются последние два.
В следующем разделе будут рассмотрены теоретические аспекты реляционных баз данных, влияющие на выбор решений при разработке баз данных и последующей работе с базами данных.
Глава 2. Теоретические основы реляционных баз данных