
- •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 Хорошилов а.В. Селетков с.Н. Днепровская н.В. Управление информационными ресурсами.
10.2. Методы проектирования информационных систем
Общая методология проектирования информационных систем как раздел информатики в терминологии создания ИС разбивается на ряд отдельных методологий (или концепций), предлагающих свои методы и средства проектирования ИС. Такими методологиями являются методология SADT, ERD, DFD [10, 53] и прочие, о которых мы будем говорить ниже.
При этом большинство методологий основывается на некоторых общих понятиях, таких как жизненный цикл, информационная модель, и использует стандартные общие методы проектирования:
метод «снизу вверх»;
метод «сверху вниз»;
многокомпонентный метод.
Метод проектирования ИС «снизу вверх» (восходящий метод) основан на том, чтобы создавать информационную систему организации путём автоматизации отдельных рабочих мест на общих принятых принципах: на одном языке программирования, с использованием одних программных средств, по единой концепции создания информационных связей. Недостатком такого подхода является то, что фактически отсутствует проектирование верхнего уровня управления в системе, что при попытке соединения ПО отдельных автоматизированных рабочих мест в единую систему может привести к пересечению, дублированию либо отсутствию некоторых информационных связей. Недостатки этого метода проектирования отчётливо проявились в процессе проектирования ИС «Электронная Москва».
Метод «сверху вниз» (нисходящий метод) имеет в основе идею «одной программы для всех», то есть на каждом рабочем месте устанавливается одинаковое ПО, и каждый пользователь в соответствии со своими функциональными обязанностями использует те или иные функции ИС. Но при таком подходе очевидное преимущество единого согласованного управления и охвата всех сфер деятельности предметной области часто сокращается за счёт невозможности учесть при проектировании все особенности отдельных функциональных подсистем, что приводит к несоответствию информационной модели реальному объекту моделирования.
Многокомпонентный метод проектирования ИС подразумевает автоматизацию общих функций управления в системе на верхнем уровне, а также унификацию обеспечивающих подсистем, то есть создание единой информационной среды для функционирования всех модулей ИС, а функции отдельных структурных единиц автоматизируются с помощью специализированного ПО для конкретных рабочих мест. При этом такое специализированное ПО совместимо с общей информационной системой и обладает всеми возможностями экспорта и импорта данных. Очевидным преимуществом метода является то, что, не пытаясь сразу решить все задачи отдельных функциональных структур, проектирование ИС многокомпонентным методом позволяет быстро создать основу информационной системы и оставляет пространство для доработки и совершенствования её функциональных возможностей.
Другая вариация многокомпонентного метода предусматривает создание «ядра» информационной системы, включающего помимо общего ПО, необходимого для её функционирования (управляющей и обеспечивающих подсистем), наиболее простые стандартные функциональные подсистемы. Продвинутые функции автоматизируются в виде «надстроек» к информационной системе. Такой способ сохраняет возможность постепенного расширения комплекса функций ИС.
Именно многокомпонентный метод является наиболее признанным и широко используемым в настоящее время при создании многофункциональных ИС «с нуля». В его основе лежит широко используемый при проектировании ИС структурный подход (описан ниже), заключающийся в декомпозиции (разбиении) информационной системы на отдельные автоматизируемые функции, соответствующие функциональным подсистемам, и так далее на всё более низких уровнях вплоть до отдельных информационных процедур.
Помимо названных методов проектирования ИС существует классификация методов проектирования по ряду признаков.
По степени использования типовых проектных решений методы проектирования ИС подразделяются на:
– оригинальные (индивидуальные), предполагающие разработку систем без использования готовых проектных решений;
– типовые, основывающиеся на использовании типовых проектных решений с последующей их адаптацией к особенностям конкретной предметной области.
По характеру адаптации проектных решений выделяют следующие методы проектирования ИС:
– методы перепрограммирования, подразумевающие разработку изменяемых программных модулей заново;
– методы параметризации, настраивающие проектные решения путём изменения отдельных параметров в программных модулях;
– модельные методы, основанные на внесении изменений в модель предметной области с последующей генерацией программного кода изменяемого модуля.
По степени автоматизации методы проектирования делятся на:
– методы с универсальной компьютерной поддержкой, использующие универсальные языки программирования, СУБД, табличные процессоры;
– методы со специальной компьютерной поддержкой, использующие специальные программные средства, позволяющие осуществлять генерацию программного кода на основе созданной модели предметной области [44].
В проектировании ИС выделяют два подхода: функционально-ориентированный и объектно-ориентированный. Они различаются тем, что именно принимается в качестве основного элемента информационной системы: функция, выполняемая системой, или объект в составе системы, например, структурное подразделение.
Функционально-ориентированный (структурный) подход к проектированию ИС основан на структурном анализе информационных систем, осуществляющем декомпозицию системы на некоторое множество иерархически подчинённых функций, выполняемых ею.
При функционально-ориентированном подходе формируются модель требований (логическая модель), описывающая, что должна делать проектируемая система (её функции), без указания, как это достигается, и модель реализации (физическая модель), демонстрирующая, как система будет удовлетворять предъявленным к ней требованиям.
Главным преимуществом функционально-ориентированного подхода является то, что он позволяет рассматривать систему без учёта её структуры как инструмент для решения заданного круга задач. Это упрощает моделирование системы и дальнейшее её проектирование, особенно на первых этапах создания новой системы, когда её структура ещё не определена. Кроме того, модульный принцип наиболее широко используемого многокомпонентного метода проектирования основан именно на функциональной декомпозиции системы.
Основным недостатком функционально-ориентированного подхода является то, что функции системы реализуются через процессы обработки данных, но при этом сама структура данных не рассматривается при проектировании, то есть учитывается лишь один срез системы. В то же время данные и их структура обладают более постоянными характеристиками по сравнению с процессами их обработки.
Объектно-ориентированный подход использует объектную декомпозицию, где система описывается в терминах объектов и связей между ними, а поведение системы – как обмен информацией между объектами. Основными понятиями объектно-ориентированного подхода являются объект и класс. Объект – это предмет или явление, которые имеют чётко определяемое поведение, состояние и индивидуальность. Класс – это множество объектов, связанных общностью структуры и поведения. Объект является представителем класса объектов.
Объектно-ориентированный подход позволяет решить проблему разделения процессов и данных, так как объект содержит в себе и данные, и операции, выполняемые над ними (так называемые методы объекта). А так как даже при изменении требований к функциям системы структура данных обычно остается неизменной, объектная модель ИС более устойчива.
Другими преимуществами объектно-ориентированного подхода являются:
сокращение объёма программного кода ПО ИС за счёт того, что объекты одного класса легче описать, в то время как функции не поддаются типизации и дублированию;
облегчается процесс эволюционного расширения системы путём добавления новых объектов и связывания их с уже существующими;
объектная модель легче воспринимается человеком, так как содержит описания реальных объектов, а не логических функций.
Однако объектно-ориентированный подход пока поддерживается небольшим числом программных средств проектирования (CASE-средств) и по сравнению со структурным подходом недостаточно обеспечен средствами визуализации (унифицированный язык моделирования UML, используемый для графического описания объектных моделей, ещё развивается, поэтому используется нечасто).
Соответственно существованию двух подходов к проектированию ИС — функционально-ориентированного и объектно-ориентированного, — методы анализа и проектирования информационных систем подразделяются на методы функционально-ориентированного (функционального) проектирования и методы объектно-ориентированного проектирования.
Функционально-ориентированные методы представляют систему как набор функций, преобразующих поступающие потоки информации в выходной поток, и чаще используются, когда структура системы ещё не полностью определена и будет изменяться в зависимости от функций системы. Объектно-ориентированные методы лучше соответствуют уже существующим системам, когда отдельные объекты выделены и имеют свои функции.
Наиболее известным является семейство методик моделирования и проектирования IDEF [57], разработанных на основе международных стандартов, включающее методики моделирования различных срезов систем.
Методика функционального моделирования IDEF0 представляет собой совокупность правил и процедур для построения функциональной модели объекта, отображающей выполняемые им действия и связи между ними.
Методика моделирования данных IDEF1Х позволяет создать концептуальную схему баз данных ИС.
Методика поведенческого моделирования IDEF2 используется для определения динамики функционирования сложных систем и описывает их функционирование как последовательность смены состояний.
Методика моделирования процессов IDEF3 служит для создания моделей, описывающих последовательность выполнения действий и взаимосвязь между ними.
Методика объектно-ориентированного проектирования IDEF4 представляет собой графический язык для изображения классов объектов, диаграмм наследования и других элементов объектной модели.
Методика IDEF6 направлена на сохранение рационального опыта проектирования ИС, что способствует предотвращению повторных ошибок.
Методика IDEF8 предназначена для создания интерфейсных моделей, отображающих взаимодействие человека и технической системы.
Методика IDEF9 предназначена для анализа имеющихся условий и ограничений и их влияния на принимаемые решения при создании системы.
Методика моделирования вычислительных сетей IDEF14 предназначена для графического представления и описания конфигураций, очередей сетевых компонентов и прочих элементов сетей.
Важную роль при проектировании информационной системы играет моделирование системы [57] и графическое изображение её структуры на основе модели системы с указанием связей функциональных элементов, информационных потоков, информационных процедур обработки данных. Графическая схема (диаграмма) построения системы позволяет выявить наиболее существенные её элементы и их связи, способствует лучшему абстрагированию и формализации, позволяет анализировать различные варианты и модификации по схеме «если – то».
Существует ряд диаграмм структуры системы, отражающих различные её срезы, особые аспекты функционирования.
Функционально-ориентированный подход использует многие известные методологии, предназначенные для моделирования отдельных областей и построения соответствующих диаграмм.
Для описания функциональной структуры системы – действий, выполняемых системой в целом и её компонентами, используются диаграммы SADT (Structured Analysis and Design Technique), являющиеся частью целой методологии моделирования систем, включающей совокупность методов, правил и процедур для построения функциональной модели системы. Методология SADT включает в себя методики IDEF0–6, 8, 14 и подразумевает графическое моделирование структуры системы в виде блоков (компонентов системы), соединенных входящими и выходящими из них дугами (интерфейсами входа/выхода). Эти дуги характеризуют выполняемые действия в системе. Принято для наилучшей наглядности включать в модель на каждом уровне декомпозиции не более 6 блоков, чтобы достичь требуемой степени абстракции.
Любая методология проектирования ИС включает нотацию — свод правил, по которым строятся диаграммы системы, определяются типы блоков и дуг, их подписи, метки, выделяются уровни системы. Методология SADT имеет свою нотацию, указывающую обозначения типов связей между компонентами системы (например, случайная, логическая, функциональная, временная и прочие), правила декомпозиции системы на диаграммах (отображения родительских и детализирующих диаграмм), нумерации блоков и т. д. Результирующая функциональная SADT-модель системы включает диаграммы, разбивающие сложный объект на составные части (блоки), фрагменты текстов и глоссарий. В зависимости от потребностей проектировщиков ИС в SADT-модель включается больше или меньше уровней декомпозиции.
Для описания информационных потоков при проектировании ИС используют диаграммы DFD (Data Flow Diagrams) – диаграммы потоков данных. Их цель — показать, как каждая информационная процедура преобразует входные данные в выходные, и как эти процедуры между собой связаны. В методологии DFD используются две нотации: Йодана и Гейна — Сарсона, несколько по-разному отображающих процессы и хранилища данных на диаграммах.
Для описания связи элементов ИС используются диаграммы ERD (Entity–Relationship Diagrams) – диаграммы «сущность – связь», определяющие отдельные объекты («сущности») в системе, их свойства и связи. Как и прочие методологии, методология ERD имеет свою нотацию.
Для описания динамики состояния системы используются диаграммы STD (State Transition Diagrams) – диаграммы переходов состояний.
Для описания отдельных функций и их взаимосвязей в системе применяют диаграммы BFD (Bussiness Function Diagrams) – диаграммы бизнес-функций.
Для моделирования структуры ПО ИС используют диаграммы SSD (System Structure Diagrams) — диаграммы структуры программного приложения.
Объектно-ориентированный подход использует единую методологию моделирования систем – унифицированный язык моделирования UML (Unified Modeling Language) – язык для определения, представления, проектирования и документирования систем. UML содержит стандартный набор диаграмм и нотаций к ним:
диаграммы вариантов использования системы – для моделирования требований к системе на основе выполняемых ею функций;
диаграммы классов – для моделирования статической структуры классов объектов и связей между ними;
диаграммы поведения системы – для определения правил запуска различных процессов в системе;
диаграммы взаимодействия – для моделирования процесса обмена сообщениями между объектами – включающие:
диаграммы последовательности;
кооперативные диаграммы;
диаграммы состояний – для моделирования поведения объектов системы при переходе из одного состояния в другое;
диаграммы деятельностей – для моделирования поведения системы в рамках различных вариантов использования или моделирования деятельностей;
диаграммы реализации, включающие:
диаграммы компонентов – для моделирования иерархии компонентов системы;
диаграммы размещения – для моделирования физической архитектуры системы.
Наличие единого языка моделирования для всех типов диаграмм системы и, следовательно, единой базы для создания программных средств поддержки моделирования обеспечивают широкие перспективы развития и применения объектно-ориентированного подхода к проектированию ИС.
Выбор того или иного подхода к проектированию ИС в дальнейшем определяет круг используемых программных средств проектирования ИС.
Функционально-ориентированный подход преимущественно используется при проектировании ИС, охватывающих ряд бизнес-процессов, имеющих место в одной функциональной области. Например, по своей структуре функционально-ориентированными обычно являются ИС статистического учёта, налогового учёта, бухгалтерского учёта и аудита, банковской деятельности, страховой деятельности, системы комплексной автоматизации предприятий (типа ERP) и множество других.
Объектно-ориентированный подход шире используется в ИС, основу которых составляют множества объектов, например, записей и таблиц в базах данных. Это информационные системы государственного и муниципального управления реестрового типа (системы регистрации населения, учёта объектов недвижимости), библиотечные системы, информационно-справочные системы.