- •230400 «Информационные системы и технологии»
- •6 Декабря 2011 г., протокол № 4
- •Оглавление
- •Глава 1. Теория информационных процессов и систем 10
- •Глава 2. Информационные технологии 95
- •Глава 3. Архитектура информационных систем 126
- •Глава 4. Технологии программирования 150
- •Глава 5. Управление данными 239
- •Глава 6. Технологии обработки информации 315
- •Предисловие
- •Глава 1. Теория информационных процессов и систем
- •1.1. Информационные системы. Основные понятия и определения.
- •1.2. Системообразующие свойства информационных систем
- •1.3. Свойства и закономерности систем
- •1.4.Системный подход и системный анализ
- •1.5. Моделирование информационных систем
- •1.5.1. Основные понятия
- •1.5.2. Классификация методов моделирования
- •1.5.3. Математическое моделирование
- •1.6. Теория принятия решений
- •3. Неопределённость наших знаний об окружающей обстановке и действующих в данном явлении факторах (неопределённость природы).
- •4. Неопределённость действий активного или пассивного партнёра или противника.
- •1.7. Информационные процессы
- •Контрольные вопросы
- •Глава 2. Информационные технологии
- •2.1. Состав, структура, принципы реализации и функционирования информационных технологий
- •2.2. Базовые и прикладные информационные технологии
- •Прикладные программные средства включают:
- •2.3. Инструментальные средства информационных технологий
- •Контрольные вопросы
- •Глава 3. Архитектура информационных систем
- •3.1. Классификация информационных систем
- •3.2. Структура, конфигурация информационной системы
- •3.2.1. Информационное обеспечение
- •Классификаторы создаются для решения следующих основных задач:
- •3.2.2. Математическое и программное обеспечение
- •К средствам математического обеспечения относятся:
- •К средствам программного обеспечения (по) относятся:
- •3.2.3. Организационное обеспечение
- •3.2.4. Правовое обеспечение
- •3.2.5. Техническое обеспечение
- •3.3. Процесс разработки информационных систем
- •3.3.1. Выработка или выбор парадигмы программирования
- •3.3.2. Моделирование бизнес-процессов
- •3.3.3. Анализ требований, предъявляемых к ис
- •3.3.4. Разработка архитектуры
- •3.3.5. Кодирование
- •3.3.6. Тестирование информационной системы
- •3.3.7. Документирование
- •3.3.8. Внедрение информационной системы
- •3.3.9. Сопровождение информационной системы
- •Контрольные вопросы.
- •Глава 4. Технологии программирования
- •4.1. Основные понятия программного обеспечения
- •Категории специалистов, занятых разработкой и эксплуатацией программ
- •4.2. Характеристики программного продукта
- •4.3. Жизненный цикл программного продукта
- •4.4.Защита программных продуктов
- •4.5. Классы программных продуктов
- •4.6. Инструментарий технологии программирования
- •4.7. Классификация методов проектирования программных продуктов
- •4.8. Этапы создания программных продуктов
- •1. Составление технического задания на программирование
- •2. Разработка технического проекта
- •3. Создание рабочей документации (рабочий проект)
- •4. Ввод в действие
- •4.9. Структура программных продуктов
- •4.10. Структурное проектирование и программирование
- •4.11. Модульная структура программных продуктов
- •4.12. Алгоритмы
- •4.13. Классификации языков программирования и примеры языков
- •4.13.2. Основы функционального программирования с использованием языка lisp Основные свойства функциональных языков программирования
- •Распространенные языки функционального программирования
- •Основные структуры данных и базовые функции по работе с ними в среде Лисп
- •Контрольные вопросы
- •Глава 5. Управление данными
- •5.1. Основы управления данными
- •5.1.1. Информация, данные и знания.
- •5.1.2.Функции управления
- •5.2.Банки данных в информационных системах.
- •5.2.1.Концепция баз данных
- •5.2.2.Файловые системы и базы данных
- •5.2.4.Классификация банков данных
- •5.3.Моделирование и модели данных
- •5.3.1.Уровни моделирования
- •5.3.2.Виды моделей
- •5.3.3.Модели данных
- •5.3.4.Иерархическая модель данных
- •5.3.5.Сетевая модель данных
- •5.3.6.Реляционная модель данных
- •5.3.7.Постреляционная модель представления данных
- •5.3.8.Многомерные модели представления данных
- •5.3.9.Объектно-ориентированные модели представления данных
- •5.4.Проектирование базы данных
- •5.4.1.Основы реляционной алгебры
- •5.4.2.Инфологический подход к проектированию баз данных
- •5.4.3.Модель «сущность—связь»
- •5.4.4.Переход к реляционной модели данных
- •5.4.5.Пример проектирования реляционной бд средствами субд Access
- •5.5.Субд в архитектуре «клиент-сервер»
- •5.5.1.Открытые системы
- •5.5.2.Клиенты и серверы локальных сетей
- •5.5.3.Системная архитектура «клиент-сервер»
- •5.5.4.Серверы баз данных
- •5.6.Реляционный язык sql
- •Структура sql
- •Контрольные вопросы
- •Глава 6. Технологии обработки информации
- •6.1. Основные виды и процедуры обработки информации
- •6.1.1. Виды обработки информации
- •6.1.2. Основные процедуры обработки данных
- •6.2. Системы поддержки принятия решений (сппр)
- •6.2.1. Условия принятия решений
- •6.2.2. Решение задач с помощью искусственного интеллекта
- •6.2.3. Процесс выработки решения на основе первичных данных
- •6.2.4. Типы информационных систем поддержки принятия решений
- •6.2.5. Реализация процесса принятия решений
- •6.2.6. Средства разработки информационных приложений
- •6.3. Концепция хранилищ и витрин данных, достоинства и недостатки
- •6.3.1. История создания концепции хранилищ данных
- •6.3.2. Причины создания концепции хранилищ данных
- •6.3.3. Факторы и технологии складирования данных
- •6.3.4. Концепция хранилищ данных
- •6.3.5. Взаимное соотношение концепции хранилищ данных и концепций анализа данных
- •6.3.6. Реализации хранилищ данных
- •6.3.7. Субд для аналитических систем
- •6.3.8. Витрины данных
- •6.4. Искусственный интеллект и интеллектуальные системы
- •6.4.1. Цели и задачи искусственного интеллекта
- •6.4.2. Направление исследований в области искусственного интеллекта
- •6.4.3. Структура интеллектуальной системы
- •6.4.4. Разновидности интеллектуальных систем
- •Контрольные вопросы
- •Глава 7. Интеллектуальные системы и технологии
- •7.1. Теория и технологии искусственного интеллекта
- •7.2. Математическое описание экспертной системы, логический вывод
- •7.3. Искусственные нейронные сети
- •7.4. Расчётно-логические системы, системы с генетическими алгоритмами
- •(Начало цикла)
- •Создание начальной популяции
- •Размножение (Скрещивание)
- •Мутации
- •Применение генетических алгоритмов
- •7.5. Мультиагентные системы
- •Контрольные вопросы
- •Глава 8. Инструментальные средства информационных систем
- •8.1. Состав и структура инструментальных средств информационных систем
- •8.2. Тенденции развития инструментальных средств информационных систем
- •8.3. Операционные системы инструментальных средств информационных систем
- •8.4. Технические средства инструментальных средств информационных систем
- •Классификация технических средств инструментальных средств информационных систем.
- •Контрольные вопросы
- •Глава 9. Инфокоммуникационные системы и сети
- •9.1. Модели и структура информационных сетей Классическая модель построения инфокоммуникационных систем
- •9.2. Информационные ресурсы сетей
- •По способу представления:
- •По национально-территориальному признаку:
- •9.3. Теоретические основы современных информационных сетей
- •Контрольные вопросы
- •Глава 10. Методы и средства проектирования информационных систем и технологий
- •10.1. Технология проектирования информационных систем. Этапы проектирования
- •10.2. Методы проектирования информационных систем
- •10.3. Средства проектирования ис
- •Контрольные вопросы
- •Список литературы
- •143 Хорошилов а.В. Селетков с.Н. Днепровская н.В. Управление информационными ресурсами.
5.2.2.Файловые системы и базы данных
Широко распространенным предшественником баз данных являются файловые системы. Несмотря на то, что файловые системы давно устарели, всё же существует несколько следующих причин, по которым с ними следует познакомиться:
Понимание проблем, присущих файловым системам, может предотвратить их повторение в СУБД.
Знать принципы работы файловых систем не только очень полезно, но и необходимо при выполнении перехода от файловой системы к системе баз данных.
Файловые системы – это набор программ, которые выполняют для пользователя некоторые операции, например создание отчётов. Каждая программа определяет свои собственные данные и управляет ими.
Файловые системы были первой попыткой компьютеризировать известные ручные картотеки.
Файловые системы были разработаны в ответ на потребность в получении более эффективных способов доступа к данным. Однако, вместо создания централизованного хранилища всех данных предприятия или организации, был использован децентрализованный подход, при котором сотрудники каждого отдела при помощи специалистов по обработке данных работали со своими собственными данными и хранили их в своем отделе.
В файловых системах используются следующие понятия:
файл является простым набором записей, которые содержат логически связанные данные;
каждая запись содержит логически связанный набор из одного или нескольких полей, каждое из которых представляет некоторую характеристику моделируемого объекта.
Даже такого краткого описания файловых систем вполне достаточно для того, чтобы понять суть присущих им ограничений, которые перечислены ниже.
Разделение и изоляция данных.
Дублирование данных.
Зависимость от данных.
Несовместимость файлов.
Фиксированные запросы/быстрое увеличение количества приложений.
Под разделением и изоляцией данных понимается ситуация, когда данные изолированы в отдельных файлах, и при этом доступ к ним весьма затруднен. Из-за децентрализованной работы с данными, проводимой в каждом подразделении независимо от других отделов, в файловой системе фактически поощряется бесконтрольное дублирование данных, и это, в принципе, неизбежно. Бесконтрольное дублирование данных нежелательно по следующим причинам.
Дублирование данных сопровождается неэкономным расходованием ресурсов, поскольку на ввод избыточных данных требуется затрачивать дополнительные время и деньги. Более того, для их хранения необходима дополнительная память. Во многих случаях дублирования данных можно избежать за счёт совместного использования файлов.
Гораздо более важен тот факт, что дублирование данных может привести к нарушению их целостности. То есть данные в разных отделах могут стать противоречивыми.
Зависимость от данных. Физическая структура и способ хранения записей файлов данных жёстко зафиксированы в коде программ приложений. Это означает, что изменить существующую структуру данных достаточно сложно. Если такие изменения всё-таки происходят, то необходимо создавать специальные программы-конверторы, преобразующие старый формат в новый. Помимо этого все обращающиеся к этому файлу приложения должны быть изменены в соответствии с новым форматом.
Приведем пример. Опытные разработчики и программисты разрабатывали структуру данных «на вырост», добавляя в запись файла неиспользуемые на тот момент поля. Если добавлялись новые данные, то они размещались в эти резервные поля, тем самым отдаляя, но решая проблему зависимости программного обеспечения от данных в целом.
Под несовместимостью форматов файлов понимается следующее. Поскольку структура файлов определяется кодом приложения, она также зависит и от языка программирования этого приложения. Например, структура файла, созданного программой на языке FORTRAN, может совершенно отличаться от структуры файла, созданного программой на языке С. Прямая несовместимость таких файлов затрудняет процесс их обработки. Примеры такой несовместимости отчётливо проявились, например, при реализации проекта «Электронная Москва».
Фиксированные запросы / быстрое увеличение количества приложений. С точки зрения пользователя возможности файловых систем намного превосходят возможности ручных картотек. Соответственно непрерывно возрастают их требования к реализации новых или модифицированию старых запросов. Однако, файловые системы во многом зависят от программиста, потому что все требуемые запросы и отчёты должны быть созданы именно им. Т. е., нет инструментов создания незапланированных или произвольных запросов как к самим данным, так и к сведениям о том, какие типы данных доступны. Количество приложений в этом случае растет настолько быстро, что исполнителю не хватает времени для разработки документации и сопровождения приложений. В этом случае нагрузка на сотрудников отдела обработки данных настолько возрастала, что неизбежно наступал момент, когда программное обеспечение было неспособно адекватно отвечать запросам пользователей, эффективность его падала, а недостаточность документирования имела следствием дополнительное усложнение сопровождения программ. При этом часто игнорировались вопросы поддержки функциональности системы:
не предусматривались меры по обеспечению безопасности или целостности данных;
средства восстановления в случае сбоя аппаратного или программного обеспечения были крайне ограничены или вообще отсутствовали.
Доступ к файлам часто ограничивался одним пользователем, т. е., не предусматривалось их совместное использование даже сотрудниками одного и того же отдела. Например, одному пользователю с помощью приложения потребовалось открыть файл для обновления записей, другому пользователю в этот момент нельзя открыть этот файл повторно; необходимо ожидать закрытия файла приложением первого пользователя.
Все перечисленные выше ограничения файловых систем являются следствием двух факторов.
Определение данных содержится внутри приложений, а не хранится отдельно и независимо от них.
Помимо приложений не предусмотрено никаких других инструментов доступа к данным и их обработки.
Особенность информационных систем заключается в том, что хранящаяся в них информация имеет заведомо сложную структуру и внутренние связи. Поэтому решение основных задач по управлению информацией средствами файловой системы является невозможным. Файловая система нуждается в дополнительной надстройке. Появление первых информационных систем и их исследование показало, что надстройки являются одинаковыми (по структуре). Следовательно, эти постоянно повторяющиеся части можно объединить в одну, которая называется базой данных (БД) [164].
5.2.3.Понятия базы данных, банка данных и информационных систем.
«Под базой данных понимается совокупность организованных взаимосвязанных данных на машиночитаемых носителях. Под банком данных понимается совокупность баз данных, а также программные, языковые и другие средства, предназначенные для централизованного накопления данных и их использования с помощью электронных вычислительных машин».[99]
«Информационная система – совокупность содержащейся в базах данных информации и обеспечивающих её обработку информационных технологий и технических средств» [117].
В словаре Вебстера информационная система определяется как «система, предназначенная для сбора, передачи, обработки, хранения и выдачи информации потребителям и состоящая из следующих основных компонентов: программное обеспечение; информационное обеспечение; технические средства; обслуживающий персонал».
«Банк данных – автоматизированная информационная система централизованного хранения и коллективного использования данных. В состав банка данных входит одна или несколько баз данных, справочник баз данных, СУБД, а также библиотеки запросов и прикладных программ» [142].
Из определений следует, что банк данных (БнД) предоставляет пользователям один или несколько языков общения, используя которые можно формулировать запросы к базе (базам) данных. Эти запросы интерпретируются прикладными программами, которые совместно с СУБД обрабатывают базы данных для получения и предоставления ответа. Языки общения могут быть самыми разными: от простейших меню и таблиц для задания параметров запроса до универсальных языков запросов. В качестве примера – SQL структурированный язык запросов — стандартный язык запросов по работе с реляционными БД. Подробнее смотри далее в разделе 6 настоящей главы. Существенным является то, что возможностями банков данных могут пользоваться люди, не знающие внутреннюю структуру данных, а часто и не имеющие представления о программировании.
