- •Введение
- •1. Основные понятия и определения
- •1.1. Информационные системы и банк данных
- •1.2. Назначение и основные компоненты банка данных
- •1.3. Архитектура базы данных. Физическая и логическая независимость данных
- •1.4. Системы управления базами данных
- •1.5. Оперативные и аналитические системы
- •1.6. Требования, предъявляемые к базам данных
- •2. Модели данных
- •2.1. Иерархическая модель данных
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Постреляционная модель
- •2.5. Многомерная модель
- •2.6. Объектно-ориентированная модель
- •2.7. Объектно-реляционная модель данных
- •3. Реляционная модель данных
- •3.1. Основные определения
- •3.1.1. Определение отношения, домена, кортежа, реляционной базы данных, ключей
- •3.1.2. Классы отношений
- •Объектное отношение "Детали"
- •3.1.3. Индексирование
- •3.1.4. Связи между отношениями (таблицами) Обычно база данных представляет собой набор связанных таблиц. Связывание таблиц дает следующие преимущества:
- •3.1.5. Обеспечение целостности данных
- •3.2. Операции реляционной алгебры
- •3.2.1. Основные понятия
- •3.2.2. Базовые теоретико-множественные операции реляционной алгебры
- •3.2.3. Специальные операции реляционной алгебры
- •3.3. Реляционное исчисление
- •3.4. Язык запросов по образцу qbe
- •3.5. Структурированный язык запросов sql
- •3.5.1. История развития sql
- •3.5.2. Общая характеристика языка
- •3.5.3. Структура sql
- •3.5.4. Оператор выбора select
- •3.5.5. Применение агрегатных функций и группировки
- •3.5.6. Раздел order by и ключевое слово top
- •3.5.7. Вложенные запросы
- •3.5.8. Внутренние и внешние объединения
- •3.5.9. Перекрестные запросы
- •3.5.10. Операторы манипулирования данными
- •3.5.11. Запросы на создание таблиц
- •3.5.12. Использование языка определения данных
- •Строка данных
- •Числовые типы данных.
- •3. Дата и время.
- •4. Проектирование баз данных
- •4.1. Этапы проектирования бд
- •4.2. Проблемы проектирования реляционных баз данных
- •Сотрудники_Телефоны_Комнаты
- •Сотрудники_Телефоны_Комнаты
- •4.3. Нормализация отношений
- •4.4. Метод сущность-связь
- •Средства автоматизации проектирования
- •4.5.1. Основные определения
- •4.5.2. Модели жизненного цикла
- •4.5.3. Модели структурного проектирования
- •4.5.4. Объектно-ориентированные модели
- •4.5.5. Классификация case-средств
- •5. Физические модели баз данных
- •5.1. Файловые структуры, используемые в базах данных
- •5.2. Хешированные файлы
- •5.2.1. Стратегия разрешения коллизий с областью переполнения
- •5.2.2. Организация стратегии свободного замещения
- •5.3. Индексные файлы
- •5.3.1. Файлы с плотным индексом, или индексно-прямые файлы
- •5.3.2. Файлы с неплотным индексом, или индексно-последовательные файлы
- •5.3.3. Организация индексов в виде b-tree (в-деревьев)
- •5.4. Моделирование отношений «один-ко-многим» на файловых структурах
- •5.5. Инвертированные списки
- •5.6. Модели бесфайловой организации данных
- •6. Защита информации в базах данных
- •6.1. Общие подходы к обеспечению безопасности данных
- •6.2. Назначение и проверка полномочий, проверка подлинности
- •6.3. Средства защиты базы данных
- •7. Распределенные базы данных
- •7.1. Организация базы данных в локальной сети
- •7.2. Модели архитектуры клиент-сервер
- •Передача данных из бд
- •Удаленный доступ к данным
- •Распределенная бд
- •7.3. Управление распределенными данными
- •Заключение
- •Библиографический список
- •Оглавление
- •Учебное издание
- •394026 Воронеж, Московский просп., 14
Средства автоматизации проектирования
4.5.1. Основные определения
Для автоматизации проектирования и разработки информационных систем были созданы программно-технологические средства, получившие название CASE-средств и реализующие CASE-технологии создания и сопровождения информационных систем.
Термин CASE (Computer Aided Software Engineering) дословно переводится как разработка программного обеспечения с помощью компьютера. В настоящее время этот термин получил более широкий смысл, означающий автоматизацию разработки информационных систем.
CASE-средства представляют собой программные средства, поддерживающие процессы создания и/или сопровождения информационных систем. Основные операции, выполняемые данными средствами, - это анализ и формулировка требований, проектирование баз данных и приложений, генерация кода, тестирование, обеспечение качества, управление конфигурацией и проектом.
CASE-систему можно определить как набор CASE-средств, имеющих определенное функциональное предназначение и выполненных в рамках единого программного продукта.
CASE-технология обычно определяется как методология проектирования информационных систем плюс инструментальные средства, позволяющие наглядно моделировать предметную область, анализировать ее модель на всех этапах разработки и сопровождения информационной системы и разрабатывать приложения для пользователей.
CASE-индустрия объединяет сотни фирм и компаний различной ориентации. Практически все серьезные зарубежные программные проекты осуществляются с использованием CASE-средств, а общее число распространяемых пакетов превышает 500 наименований.
Основная цель CASE-систем и средств состоит в том, чтобы отделить проектирование программного обеспечения от его кодирования и последующих этапов разработки (тестирование, документирование и пр.), а также автоматизировать весь процесс создания программных систем, или инжиниринг (от англ. engineering – разработка).
В последнее время все чаще разработка программ начинается с некоторого предварительного варианта системы. В качестве такого варианта может выступать специально для этого разработанный прототип либо устаревшая и не удовлетворяющая новым требованиям система. В последнем случае для восстановления знаний о программной системе с целью последующего их использования применяют повторную разработку – реинжиниринг.
Повторная разработка сводится к построению исходной модели программной системы путем исследования ее программных кодов. Имея модель, можно ее усовершенствовать, а затем вновь перейти к разработке. Так часто и поступают при проектировании. Одним из наиболее известных принципов такого типа является принцип «возвратного проектирования» – Round Trip Engineering (RTE).
Современные CASE-системы не ограничиваются только разработкой, а чаще всего обеспечивают и повторную разработку. Это существенно ускоряет создание приложений и повышает их качество.
4.5.2. Модели жизненного цикла
Каждая CASE-система ориентирована на определенную модель жизненного цикла (ЖЦ) программного обеспечения (ПО) информационной системы (ИС).
Жизненный цикл ПО ИС представляет собой непрерывный процесс, начинающийся с момента принятия решения о создании ПО и заканчивающийся при завершении его эксплуатации.
Основным нормативным документом, регламентирующим ЖЦ ПО, является международный стандарт ISO/IEC 12207 (International Organization of Standardization – Международная организация по стандартизации / International Electrotechnical Commission – международная комиссия по электротехнике). В нем определяется структура ЖЦ, содержащая процессы, действия и задачи, которые должны быть выполнены при создании ПО.
Под моделью ЖЦ ПО понимается структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении ЖЦ. Наибольшее распространение получили следующие модели ЖЦ ПО: каскадная, с промежуточным контролем и спиральная.
Модели каскадная и с промежуточным контролем включают следующие этапы жизненного цикла ПО: анализ, проектирование, реализация, внедрение и сопровождение.
Каскадная модель предполагает строго последовательную реализацию перечисленных этапов жизненного цикла. Достоинствами такой модели являются: формирование на каждом этапе законченного комплекта документации, возможность планирования сроков завершения работ и соответствующих затрат. Недостатком модели является ее несоответствие реальному процессу создания ПО, который обычно не укладывается в жесткую схему и требует возврата к предыдущим этапам для уточнения и пересмотра принятых решений.
Модель с промежуточным контролем приближает жизненный цикл к реальному процессу создания и применения ПО. В отличие от каскадной модели, она допускает возврат с каждого этапа жизненного цикла на любой предыдущий этап для выполнения меж-этапной корректировки. При этом обеспечивается большая надежность ПО, но вместе с тем увеличивается длительность периода разработки.
Спиральная модель жизненного цикла позволяет устранить недостатки предыдущих моделей. Основной упор в ней делается на начальные этапы: анализ и проектирование. На них реализуемость технических решений проверяется с помощью создания прототипов. При спиральной схеме разработки неполное завершение работ на очередном этапе позволяет переходить на следующий этап. Незавершенная работа может выполняться на следующем витке спирали. Тем самым обеспечивается возможность предъявить пользователям системы ее некоторый работоспособный вариант для уточнения требований.