1.1. ОБЩЕЕ ОБ ИНФОРМАЦИОННЫХ СИСТЕМАХ
1.1.1. Понятие информационной системы
1.1.2. Основные компоненты автоматизированных информационных систем
1.1.3. Этапы развития информационных систем
1.1.4. Процессы в информационной системе
1.1.5. Что можно ожидать от внедрения информационных систем
1.2. РОЛЬ СТРУКТУРЫ УПРАВЛЕНИЯ В ИНФОРМАЦИОННОЙ СИСТЕМЕ
1.2.2. Структура управления организацией
1.2.4. Прочие элементы организации
1.3. КАК СОЗДАТЬ ИНФОРМАЦИОННУЮ СИСТЕМУ?
2. ВИДЫ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
2.1. ПОНЯТИЕ ИНФОРМАЦИОННОЙ ТЕХНОЛОГИИ
2.1.1. Определение информационной технологии
2.1.2. Новая информационная технология
2.2. ИНСТРУМЕНТАРИЙ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
2.3. СООТНОШЕНИЯ МЕЖДУ ИНФОРМАЦИОННОЙ ТЕХНОЛОГИЕЙ И ИНФОРМАЦИОННЫМИ СИСТЕМАМИ
2.5. КОМПОНЕТНЫ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
2.6. ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ ОБРАБОТКИ ДАННЫХ
2.6.1. Характеристика и назначение
2.7. ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ УПРАВЛЕНИЯ
2.7.1. Характеристика и назначение
2.8.1. Характеристика и назначение
2.8.3. Компьютерные конференции и телеконференции.
2.9. ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ
2.9.1. Характеристика и назначение
2.9.4. Система управления интерфейсом
2.10.1. Характеристика и назначение
2.10.3. Интерфейс пользователя
2.10.6. Модуль создания системы
2.11.1. Характеристика и назначение
2.11.2. Структура и функции биллинговой системы
2.11.3. Подсистема предварительной обработки данных.
2.11.4. Подсистема оперативного управления биллингом
2.11.5. Подсистема оповещения клиентов
2.11.6. Стандарты биллинговых систем
2.12. СИСТЕМЫ УПРАВЛЕНИЯ БИЗНЕСОМ
2.12.1. CRМ - управление отношениями с клиентами
2.12.1.1. Концепции внутреннего и внешнего маркетинга - ERP и CRM
2.12.1.2. CRМ - управление отношениями с клиентами
2.12.1.3. Что такое CRM-система, ее функции
2.12.1.4. Классификация CRM-систем
2.12.1.5. Технологии CRM-систем
2.12.1.6. CRM-системы для электронной коммерции - eCRM
2.12.1.7. Системы eCRM и интернет-магазины
2.12.1.8. Системы eCRM и финансовые интернет - услуги
2.12.2. Разработчики CRM-систем
2.12.3. Эффективность внедрения ERP системы
2.12.3.1. Основные движущие силы для начала внедрения ERP системы
2.12.3.2. Преимущества, которые дает компании ERP система
2.12.3.3. Затраты на владение ERP системой
2.12.3.5. Приобретение системы
3.1. МОДЕЛЬ ВЗАИМОСВЯЗИ ОТКРЫТЫХ СИСТЕМ
3.2. ОРГАНИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ УСТРОЙСТВ В СЕТИ
3.2.1. Методы передачи данных в сетях ЭВМ
3.2.2. Средства коммутации в компьютерных сетях
3.2.3. Организация сложных связей в глобальных сетях
3.3. ТЕХНОЛОГИИ РАБОТЫ С ДАННЫМИ В КОМПЬЮТЕРНЫХ СЕТЯХ
3.3.1. Классификация технологий
3.3.2. Модель файлового сервера
3.3.3. Модель доступа к удаленным данным (RDA)
3.3.4. Модель сервера приложений (AS)
3.4.4.1. Какими бывают сервисы промежуточного слоя и серверы приложений
3.4.4.2. Специализированные сервисы
3.4.4.3. Регистрационные базы данных и идентификация серверов и сервисов
3.4. ТЕХНОЛОГИЯ РАБОТЫ В СРЕДЕ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ ДАННЫХ
3.5. БАЗОВЫЕ ТЕХНОЛОГИИ ОБРАБОТКИ ЗАПРОСОВ
4. СОВРЕМЕННЫЕ ИНТЕРНЕТ-ТЕХНОЛОГИИ
4.2. ЯЗЫК РАЗМЕТКИ ГИПЕРТЕКСТОВЫХ СТРАНИЦ HTML
4.3. ОБЕСПЕЧЕНИЕ ДОСТУПНОСТИ Web-СТРАНИЦЫ
4.4. ПРЕДСТАВЛЕНИЕ ТЕКСТА НА Web-СТРАНИЦАХ
4.7. ОСНОВНЫЕ ПРАВИЛА И ЭТАПЫ СОЗДАНИЯ САЙТА
4.7.1. Влияние дисплеев на Web-дизайн
4.7.2. Стандартные размеры и разрешения дисплеев
4.7.4. Выбор структуры Web-страницы
4.7.4.1. Создание фиксированных и гибких Web-страниц
4.7.4.2. Разработка комбинированных Web-страниц
5. ПРЕДСТАВЛЕНИЕ ДАННЫХ В АВТОМАТИЗИРОВАННЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ
5.1. УРОВНИ ПРЕДСТАВЛЕНИЯ ДАННЫХ В АВТОМАТИЗИРОВАННЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ
5.2. ВНУТРЕННЯЯ СТРУКТУРА ЗАПИСИ
5.3. КЛАССИФИКАЦИЯ СТРУКТУР ДАННЫХ
5.4. ПОСЛЕДОВАТЕЛЬНОЕ И СВЯЗАННОЕ ПРЕДСТАВЛЕНИЯ ДАННЫХ В ПАМЯТИ
6. ЛИНЕЙНЫЕ СТРУКТУРЫ ДАННЫХ И ИХ ХРАНЕНИЕ.
7. НЕЛИНЕЙНЫЕ СТРУКТУРЫ ДАННЫХ
7.3. ХРАНЕНИЕ ДРЕВОВИДНЫХ СТРУКТУР
7.4. СТРУКТУРЫ ДАННЫХ, ОТОБРАЖАЕМЫЕ МНОГОСВЯЗНЫМ СПИСКОМ
7.6. СПОСОБЫ РАЗМЕЩЕНИЯ, ОСНОВАННЫЕ НА ПРЕОБРАЗОВАНИИ КОДА ЗАПИСИ В ЕЕ АДРЕС
8.ХРАНЕНИЕ ДАННЫХ НА ВНЕШНИХ ЗАПОМИНАЮЩИХ УСТРОЙСТВАХ
8.1. ОСОБЕННОСТИ ОРГАНИЗАЦИИ ДАННЫХ НА ВЗУ
8.2. ТИПЫ ФАЙЛОВ И РЕЖИМЫ ИХ ОБРАБОТКИ
8.4. ИНДЕКСНО-ПОСЛЕДОВАТЕЛЬНЫЙ ФАЙЛ
9. ТЕХНОЛОГИЯ ОБРАБОТКИ ИНФОРМАЦИИ
9.1. ОСНОВНЫЕ ПОНЯТИЯ ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА ОБРАБОТКИ ИНФОРМАЦИИ
9.2. ЭТАПЫ ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА ОБРАБОТКИ ИНФОРМАЦИИ
9.3. СПОСОБЫ ПОВЫШЕНИЯ ДОСТОВЕРНОСТИ ОБРАБОТКИ ДАННЫХ
10.1. ОСНОВНЫЕ ПОНЯТИЯ И ПРИНЦИПЫ СОРТИРОВКИ
10.2. ОСНОВНЫЕ МЕТОДЫ СОРТИРОВКИ ЛИНЕЙНЫХ СТРУКТУР ДАННЫХ
10.З. МЕТОДЫ СОРТИРОВКИ, ИСПОЛЬЗУЮЩИЕ ДРЕВОВИДНОЕ ПРЕДСТАВЛЕНИЕ ДАННЫХ
10.5. ФАКТОРЫ, УЧИТЫВАЕМЫЕ ПРИ ВЫБОРЕ МЕТОДА СОРТИРОВКИ
11. ПОИСК ИНФОРМАЦИИ В МАССИВАХ
11.1. ОСНОВНЫЕ ПРИНЦИПЫ ИНФОРМАЦИОННОГО ПОИСКА
11.3. УСКОРЕННЫЕ МЕТОДЫ ПОИСКА
11.4. ПОИСК ПО ДВОИЧНОМУ ДЕРЕВУ
11.5. МЕТОД ПОИСКА, ИСПОЛЬЗУЮЩИЙ ПРЯМОЙ ДОСТУП К ДАННЫМ
11.6. ОСОБЕННОСТИ МНОГОАСПЕКТНОГО ПОИСКА
12.4. СПРАВОЧНИК, ОСНОВАННЫЙ НА СТРУКТУРЕ СБАЛАНСИРОВАННОГО ДЕРЕВА
Под системой понимают любой объект, который одновременно рассматривается и как единое целое, и как объединенная в интересах достижения поставленных целей совокупность разнородных элементов. Сегодня создано большое число различных систем и они все отличаются между собой как по составу, так и по главным целям.
В таблице приведены примеры нескольких систем, состоящих из разных элементов и направленных на реализацию разных целей.
Система |
Элементы системы |
Главная цель системы |
Фирма |
Люди, оборудование, материалы, здания и др. |
Производство товаров |
Компьютер |
Электронные и электромеханические элементы, линии связи и др. |
Обработка данных |
Телекоммуникационная система |
Компьютеры, модемы, кабели, сетевое программное обеспечение и др. |
Передача информации |
Информационная система |
Компьютеры, компьютерные сети, люди, информационное и программное обеспечение |
Производство профессиональной информации |
Понятие "система" широко распространено и имеет множество смысловых значений. Применительно к информационным системам чаще всего имеется ввиду набор технических средств и программ. Системой может называться только аппаратная часть компьютера. Системой может также считаться множество программ для решения конкретных прикладных задач, дополненных процедурами ведения документации и управления расчетами.
Информационная система имеет цель – производство профессиональной информации, связанной с определенной профессиональной деятельностью. Информационные системы обеспечивают сбор, хранение, обработку, поиск, выдачу информации, необходимой в процессе принятия решений задач из любой области. Их задача помочь в анализе проблем и создавать новые продукты.
Информационная система - взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации в интересах достижения поставленной цели.
Сегодняшнее, современное понимание информационной системы предполагает использование в качестве основного технического средства переработки информации персонального компьютера. В крупных организациях наряду с персональным компьютером в состав технической базы информационной системы может входить мэйнфрейм или суперЭВМ. Кроме того, техническое воплощение информационной системы само по себе ничего не будет значить, если не учтена роль человека, для которого предназначена производимая информация и без которого невозможно ее получение и представление.
Под организацией понимается сообщество людей, объединенных общими целями и использующих общие материальные и финансовые средства для производства материальных и информационных продуктов и услуг. В тексте на равноправных началах будут употребляться два слова: "организация" и "фирма".
Очевидно, что существует различие между компьютерами и информационными системами. Компьютеры, оснащенные специализированными программными средствами, являются технической базой и инструментом для информационных систем. Обязательной компонентой любой информационной системы является персонал, взаимодействующий с компьютерами и телекоммуникациями.
Области применения информационных систем разнообразны. Также разнообразны свойства и особенности, присущие каждой системе. Среди множества факторов, определяющих совокупность свойств конкретной информационной системы, можно выделить три основных: технический уровень системы; характер обрабатываемой информации; целевые функции, т.е. круг задач, для решения которых данная система предназначена. Перечисленные факторы определяют форму представления информации как в системе, так и для пользователя, характер процессов обработки информации и взаимодействия системы с внешней средой, состав алгоритмического и программного обеспечения системы.
По техническому уровню информационные системы разделяют на: ручные, механизированные, автоматизированные и автоматические. Порядок перечисления систем отражает историческую последовательность их создания.
В ручных информационных системах все процессы обработки информации осуществляются вручную. Информационные массивы ручных систем имеют небольшой объем, данные хранятся на носителях различных типов. Для поиска информации в таких системах используются простые селектирующие приспособления. Фактически ручные информационные системы являются не системами, а устройствами, облегчающими поиск нужной информации по определенной совокупности признаков. Эти устройства дешевые, простые в обращении, для их эксплуатации не требуется высококвалифицированный обслуживающий персонал.
В механизированных информационных системах для обработки и поиска информации использовались различные средства механизации, среди которых наибольшее распространение получили счетно-перфорационные машины. Носителями информации в механизированных системах являлись перфокарты. В комплект технических средств такой механизированной системы входит набор перфорационных машин, каждая из которых выполняет определенные функции. С помощью перфоратора информация переносится с первичных документов на перфокарты. Перфокарты, имеющие общие признаки, раскладывает по отдельным группам сортировщик.
В автоматизированных и автоматических информационных системах для хранения, обработки и поиска информации используются компьютеры. Эти системы обладают широкими функциональными возможностями и способны хранить и обрабатывать очень большие массивы информации. Носители информации здесь - запоминающие устройства компьютеров.
Средства вычислительной техники в автоматических и автоматизированных информационных системах используются не только для хранения и поиска информации, но и для выполнения операций, связанных со сбором, подготовкой и передачей информации в компьютеры, а также с выдачей информации пользователю.
В функционировании автоматизированных информационных систем (АИС), являющихся наиболее распространенными, на различных этапах технологического процесса обработки информации принимает участие человек (при сборе информации и подготовке ее к вводу в компьютер, в процессе поиска). Человек является партнером АИС со стороны внешней среды, поэтому именно на него ориентирована выходная информация системы.
В автоматических информационных системах все процессы протекают без участия человека. Обычно автоматические системы используются в составе более крупных систем, например в автоматизированных системах управления технологическими процессами и объектами. "Партнерами" автоматических систем являются роботы, станки с программным управлением, технологические процессы, производственные объекты и т.п. Входная информация в таких системах представляется в форме сигналов или каких-либо физических величин, выходная информация используется для управления и регулирования.
По характеру обрабатываемой информации системы делятся на документальные и фактографические.
В документальных системах объектами обработки, хранения и поиска являются определенные документы (книги, статьи, патенты и прочие информационные материалы). Обработка информации обычно сводится к поиску документов, нужных пользователю. В ответ на запрос, сформулированный пользователем, система выдает соответствующие документы или их копии. В документальных системах важное значение приобретают вопросы, связанные с оценкой содержания, смысла документа и запроса, с определением степени соответствия смысла (содержания) документа смыслу (содержанию) запроса. Для решения этих вопросов используются специальные способы организации информационных массивов и методы поиска, а также привлекаются различные логико-лингвистические средства.
Документы, хранимые в фондах документальных систем, представляют собой текстовую информацию. Для хранения массивов таких документов в компьютерах требуется большой обьем памяти. Современные системы хранения информации используют различные носители информации, отличающиеся большой емкостью. В документальных АИС применяют специальные методы хранения информационных массивов, в которых кроме электронных копий документов хранятся их адреса и атрибуты. Очень часто сами же документы или их копии хранятся в специальных хранилищах или на специальных машинных носителях большой емкости. Результатом машинного поиска является адрес документа, в соответствии с которым в хранилищах ищутся сами документы (или их электронные копии), выдаваемые пользователю.
В факторографических информационных системах хранимая и обрабатываемая информация представляет собой конкретные сведения, факты (параметры и характеристики объектов, сведения технико-экономического характера, социальная информация, результаты измерений, справочные и статистические данные). Часто эта информация носит оперативный характер, т.е. регулярно обновляется и изменяется. В этом случае систамы являются оперативными.
При создании фактографической системы важно изучить особенности объектов, сведения о которых хранятся в системе, и логические связи, существующие между объектами в реальном мире, которые определенным образом отображаются в структуре информационных массивов. В массивах фактографических ИС обычно осуществляется поиск сведений о конкретном объекте. Они выдаются пользователю или передаются прикладной программе для дальнейшей обработки.
Целевые функции определяются назначением данной информационной системы. В зависимости от них можно выделить системы информационно-справочные, управленческие, информационно-расчетные и информационно-логические. От функций, выполняемых системой, зависят форма выходной информации, алгоритмы процессов ее обработки, а также характер, форма и способ общения пользователя с системой.
В настоящее время создано и успешно функционирует большое число информационно-справочных систем различного назначения, которые предназначены для удовлетворения информационных запросов пользователей. Характерная особенность таких систем — информация, найденная в соответствии с запросом, не используется непосредственно в рамках этой же системы, а выдается пользователю, который использует полученную информацию для любых необходимых ему целей. Примером информационно-справочных систем могут служить системы автоматизированного резервирования мест в пассажирском железнодорожном транспорте и в аэрофлоте. Эти системы являются также типичным примером оперативных систем, так как практически каждое обращение в систему влечет за собой изменение текущего состояния информационного фонда (бронируются места, добавляются новые рейсы и т.п.).
В соответствии с запросом информационно-справочная система осуществляет поиск нужных сведений из числа тех, что хранятся в ее информационном фонде. Поиск — одна из основных операций в таких системах, поэтому они являются также информационно-поисковыми системами (ИПС).
Управленческие системы предназначены для решения различного рода управленческих и технико-экономических задач. Обычно эти системы функционируют в рамках АСУ предприятия, организации, отрасли (например, информационные системы больниц и автоматизированных складов, материально-технического снабжения и управления запасами, учета кадров и бухгалтерского учета и т.п.). Часто эти системы обслуживают отдельные службы и являются автономными, т.е. располагают собственным информационным фондом, алгоритмическим и программным обеспечением.
Управленческие системы могут быть интегрированными, построенными по принципу банка данных. Такие системы обрабатывают общий поток информации, циркулирующий на предприятии, и призваны обеспечить ритмичное и плановое функционирование предприятия путем оптимального использования его ресурсов.
С помощью технических средств удается автоматизировать только информационные операции. Непосредственные функции принятия решений и другие управленческие операции выполняет человек. Поэтому управленческие системы, как правило, бывают ориентированы на выдачу различных справок и отчетных форм отдельным службам и руководству предприятия. Следовательно, управленческие системы выполняют одновременно и функции информационно-справочных систем. Запросы в этих системах носят обычно регулярный или регламентный характер. Реализуя эти запросы, ИС выдает определенный перечень справочных форм по результатам регулярной (ежедневной, еженедельной и т.п.) обработки информации о состоянии контролируемых процессов, а также обслуживает и другие типы запросов.
В информационно-расчетных системах хранящаяся информация используется для решения задач, связанных с различными расчетными операциями. К подобным задачам относятся статистический учет и анализ, прогнозы месторождений и погоды, диагностика (диагноз заболевания, установление причины неисправности оборудования или прибора). К информационно-расчетным можно отнести и ИС, функционирующие в рамках систем автоматизированного проектирования (САПР). Последние выполняют различные проектные расчеты, решают задачи оптимизации параметров элементов, схем, устройств в приборостроении и машиностроении, радиоэлектронике и судостроении.
Функции расчетных систем могут быть присущи и другим типам информационных систем. Например, в рамках документальной ИПС, функционирующей в библиотеке, наряду с поисковыми задачами могут решаться многие учетно-статистические задачи; фиксироваться сведения о движении книжного фонда, учитываться данные о контингенте читателей, готовиться материалы для отчетов и т.п.
Все рассматриваемые выше разновидности ИС обеспечивают пользователя необходимой информацией лишь из числа тех сведений и фактов, которые когда-либо были введены в систему и хранятся в ее информационных массивах.
Информационно-логические системы в отличие от всех прочих способны выдавать информацию, не введенную ранее в систему в непосредственном виде, а вырабатываемую на основании логического анализа, обобщения, переработки сведений, имеющихся в информационных массивах. Такие системы могут решать научно-исследовательские задачи, заменяя в определенной степени труд специалиста-исследователя. Их иногда называют интеллектуальными системами, так как при их разработке используются положения теории искусственного интеллекта.
Во всех рассмотренных выше системах должны существовать развитые средства общения пользователей с системой, в том числе и пользователей — неспециалистов в области вычислительной техники. С помощью этих средств пользователь формулирует свои запросы, вводит их в систему, воспринимает информацию, выдаваемую ему системой.
В разных системах эта задача решается по-разному. В некоторых существует строго определенный перечень запросов, которые могут быть реализованы. Пользователь выбирает запрос, наиболее полно удовлетворяющий его требованиям, и указывает его системе. Такие системы называются системами с типовыми (стандартными) запросами.
Существенно большие возможности для пользователя предоставляют системы, реализующие произвольные запросы. Для их формулировки система должна располагать языком запросов, правилами их составления. Удобно общение пользователя с системой в форме диалога человека с машиной. При этом пользователь, знакомясь с получаемой информацией, имеет возможность корректировать свой запрос.
Необходимо отметить, что любая конкретная информационная система может характеризоваться совокупностью свойств, присущих отдельным выделенным видам систем. В то же время в зависимости от области применения информационных систем каждая система будет обладать своими особенностями.
Любая АИС функционирует в окружении внешней среды, являющейся для АИС источником входной и потребителем выходной информации. В пределах АИС, начиная со входа в систему и кончая выходом из нее, информационный поток проходит несколько этапов обработки. К основным, укрупненным этапам обработки информации относятся сбор, регистрация и первичная обработка; передача по каналу связи от источника к компьютеру; перенос на машинные носители; создание и поддержание информационных фондов; внутримашинная обработка и формирование выходных форм; передача по каналу связи от компьютера к пользователю; преобразование к виду, пригодному для восприятия пользователем.
Рис. 1.1. Типовая структура АИС.
Отдельные этапы обработки реализуются соответствующими подсистемами АИС, среди которых можно выделить следующие: сбора и первичной обработки входной информации; связи; ввода информации в компьютеры; хранения и обработки информации; выдачи информации и ее отображения (подсистема вывода). Типовая функциональная структура АИС изображена на рис. 1.1.
Подсистема сбора и первичной обработки выполняет ряд операций по предварительной обработке информации. В рамках этой подсистемы осуществляется сбор первичной информации об объектах, представленной в естественном для объекта виде, т.е. в словах и символах естественного языка, цифрах общепринятой системы счисления (например, содержание листа по учету кадров, результаты медицинского обследования больного, тексты статей, содержание товарно-транспортной накладной и т.п.). В результате специальной проверки осуществляется отбор тех сведений, которых еще нет в информационном фонде информационной системы. Этим предотвращается дублирование информации в системе. Элементы первичной информации, подлежащей в дальнейшем вводу в систему, подвергаются первичной обработке, т.е. приводятся к определенному виду и формату, принятым в системе: записываются на специальные бланки, заносятся в таблицы установленной формы, для документальной информации по определенным правилам составляют аннотации и библиографические описания, физические параметры приводятся к единой системе единиц. Информация, прошедшая первичную обработку и определенным образом формализованная, фиксируется на носителях, чаше всего бумажных.
Информация, получаемая на выходе подсистемы сбора и первичной обработки, представлена в форме, непригодной для непосредственного ввода в компьютер. Функциями подсистемы ввода являются ввод ее в компьютер, а также контроль за правильностью переноса информации и устранение возникших ошибок.
В современных компьютерах для ввода информации часто используются дисплеи и каналы связи, связанные с компьютерами через специальные сетевые средства.
Информация, введенная в компьютер, размещается в машинной памяти, образуя информационный фонд информационной системы. Над элементами информационного фонда осуществляются различные операции обработки: логические и арифметические, операции сортировки и поиска, ведения и корректировки. В результате обеспечивается поддержание информационного фонда в актуальном состоянии, а также формируется выходная информация в соответствии с заданием на обработку. Формирование (структуризация) и поддержание информационных массивов, а также все операции обработки информации осуществляются под управлением комплекса программ, входящих в состав подсистемы хранения и обработки информации. Эта подсистема организует на устройствах внешней памяти размещение информации и обеспечивает доступ к ней. Подсистема хранения и обработки информации, технические средства, реализующие подсистему (в том числе и сам компьютер), а также информационные массивы объединяются в систему обработки и хранения информации (СОХИ). СОХИ включает в себя информационные массивы, способы, методы и алгоритмы их организации и обработки, соответствующий комплекс программных и технических средств. Поскольку связь СОХИ с внешней средой осуществляется с помощью средств ввода—вывода, то эти средства также необходимо учитывать при рассмотрении ряда задач, решаемых в пределах СОХИ.
Подсистему обработки информации в литературе часто называют автоматизированной системой обработки данных (АСОД), считая понятие "данные" синонимичным понятию "информация".
Понятие "информация" обычно используют в тех случаях, когда хотят подчеркнуть содержательный смысл сообщения. Однако компьютер, являющийся основой СОХИ, пока не способен воспринимать смысл обрабатываемых сообщений. Применительно к компьютерам чаще используют понятие "данные" и говорят, что компьютер оперирует с данными, представленными на машинных носителях. При этом данными является любой набор знаков, рассматриваемый безотносительно к его содержательному смыслу. Приписывая данным определенный смысл, их обработку воспринимают как обработку информации. Поэтому в дальнейшем изложении понятие "информация" будем преимущественно использовать в тех случаях, когда возникнет необходимость подчеркнуть важность смыслового содержания или когда оно входит в устоявшиеся словосочетания, широко используемые в отечественной литературе.
Подсистема выдачи и отображения (подсистема вывода) обеспечивает выдачу ответа на запрос, представляя его в форме, удобной для восприятия пользователя. В состав подсистемы входят комплекс программ, обеспечивающих нужный вид выходного сообщения, и технические средства, на которых выходная информация фиксируется (отображается). Ответ на запрос может выводиться с помощью печатающего устройства, дисплея, графопостроителя, различных табло и индикаторов.
Описание взаимосвязи подсистем производилось в предположении, что источники информации и пользователи территориально размещены вблизи центрального компьютера. В реальных ИС источники информации и (или) пользователи очень часто оказываются удаленными от центрального компьютера на расстояния от сотен метров до сотен километров. Контакт с центральным компьютером в этом случае реализуется подсистемой связи, в состав которой входят каналы передачи данных и удаленные терминалы, которые сегодня сами являются компьютерами.
Для подключения удаленных терминалов – персональных компьютеров используются каналы связи, предоставляемые сетями телефонными сетями, сетями передачи данных общего пользования или специализированными сетями передачи данных. Канал должен обеспечивать обмен данными с нужной скоростью в заданном направлении. Каналы передачи данных подразделяются на симплексные, обеспечивающие передачу только в одном направлении; полудуплексные, обеспечивающие передачу в обоих направлениях, но в каждый момент времени — только в одном направлении; дуплексные, обеспечивающие одновременную передачу в обоих направлениях. Для связи источников с компьютерами можно использовать симплексные каналы. Связь пользователя с центральным компьютером или компьютерами должна осуществляться с помощью полудуплексного или дуплексного канала передачи данных, в противном случае диалог пользователя с центральным компьютером окажется невозможным.
Удаленный терминал — это устройство ввода — вывода, удаленное от центрального компьютера на расстояние, исключающее возможность его непосредственного подключения. Соединение терминала с компьютером осуществляется с помощью канала передачи данных. Информация, получаемая с терминала, пригодна для непосредственного ввода в компьютер. В качестве удаленных терминалов используются персональные компьютеры, терминалы, телетайпы, специальные терминалы и абонентские пункты.
Подсистема связи содержит также программу, обеспечивающую взаимную связь терминалов с центральным компьютером и позволяющую ему управлять дистанционным терминалом.
По мере развития и совершенствования средств вычислительной техники, языков программирования и математического обеспечения компьютеры автоматизированные системы обработки данных претерпели несколько этапов развития. На ранних этапах компьютеры выполняли вместо человека громоздкие вычисления при решении числовых задач. В этом случае не требовалось больших объемов памяти, а используемые языки программирования ориентировались на работу с числовыми данными и выполнение инженерных расчетов.
Появление компьютеров третьего и четвертого поколений, разработка мощных операционных систем и языков программирования, ориентированных на обработку символьной информации, открыли новые пути использования средств вычислительной техники. На основе компьютеров начали создаваться СОХИ, предназначенные для решения различных информационных задач и информационного обслуживания пользователей. Характерной особенностью этих систем является то, что каждая СОХИ располагает собственным информационным фондом и ориентирована на решение узкого круга прикладных задач, использующих этот информационный фонд. Создаваемые наборы данных описываются в прикладных программах и могут использоваться только этими программами. Другие пользователи и приложения не имеют возможности использовать эти данные в своих целях.
Проиллюстрируем вышесказанное следующим примером. Предположим, что на предприятии отдельные службы решили автоматизировать часть своих функций с помощью компьютера, существующей в вычислительном центре предприятия. Тогда бухгалтерия для собственных целей создаст набор данных, содержащий сведения о рабочих и служащих предприятия, и использует этот набор для решения своих задач. Отдел кадров для своих задач создаст набор данных, который также содержит сведения о сотрудниках предприятия, причем часть данных этого набора отражает ту же информацию, что и данные первого набора. В результате многие данные, хранящиеся в памяти компьютера, дублируются, что ведет к неоправданному расходу памяти и является экономически невыгодным. Кроме того, при изменении состава технических средств вычислительного центра все приложения вынуждены будут внести соответствующие изменения в свои программы. Гораздо экономичнее было бы создать один набор данных, содержащий совокупность сведений, которыми могли бы пользоваться все подразделения.
Решение подобной задачи оказалось возможным с появлением устройств внешней памяти прямого доступа. Была разработана концепция такой организации информационных массивов, которая позволяла бы использовать единый массив различными пользователями для различных приложений. Совокупность таких информационных массивов, описывающих определенные классы объектов, получила название база данных (БД). Комплекс программ, реализующих создание БД и поддержание ее в актуальном состоянии, а также обеспечивающих различным пользователям возможность использовать информацию, хранящуюся в БД, в своих целях, называется системой управления базой данных (СУБД). Все операции с данными осуществляются в БД автоматически под управлением СУБД. Функционирование БД обеспечивается специалистом или коллективом специалистов, называемым администратором базы данных. База данных, СУБД, а также комплекс технических средств, на которых реализована БД, образуют банк данных. В состав программного обеспечения банка данных входит также комплекс программ, управляющих собственно банком данных.
Возможность использования данных, хранящихся в БД, различными пользователями обеспечивается отделением программ, описывающих и поддерживающих БД, от прикладных программ пользователей. Связь системных и пользовательских программ осуществляется с помощью специальных сопрягающих программных блоков, входящих в состав СУБД. Программы сопряжения выделяют пользователю из БД подмножество данных, необходимое для решения его задач. Остальные данные, хранящиеся в БД и не интересующие этого пользователя, остаются для него "невидимыми". Благодаря такой организации программы пользователей становятся независимыми от изменений в БД и в техническом обеспечении банка данных. В случае возникновения изменений администратор БД вносит необходимые коррективы в блоки сопряжения, а программы пользователей остаются неизменными.
Данные, хранящиеся в БД, описывают объекты реального мира, поэтому структуры данных должны отражать реальные отношения и логические связи, существующие между объектами и их характеристиками. Работоспособность и эффективность БД во многом определяется тем, насколько правильно организована структура данных и как она отображена в памяти компьютера.
БД строится по определенным правилам и должна удовлетворять ряду требований, из которых основные:
· минимальная избыточность. Каждый элемент данных вводится в hi один раз и хранится там в единственном экземпляре. При вводе данных СУБД осуществляет проверку на дублирование;
· возможность актуализации. Данные, хранящиеся в БД, могут устаревать, при этом возникает необходимость ввести новые данные. Структура данных должна позволять включать новые и удалять устаревшие данные, а также вносить изменения в хранящиеся данные. При этом не должны меняться общая схема БД и программы пользователей. Изменения в схему БД может вносить только администратор БД;
· обеспечение целостности данных. В системе возможно возникновение случайных ошибок в результате неосторожных действий пользователей, ошибок в программах и сбоев оборудования. СУБД должна обеспечивать защиту данных от разрушений и возможность восстановления искаженных данных;
· высокая скорость поиска. Способ хранения данных на устройствах памяти должен обеспечивать работу банка данных в режиме диалога;
· безопасность и секретность. Пользователи должны работать только с теми данными, которые им необходимы. Доступ к остальным данным должен быть для них ограничен. Данными, хранящимися в системе, не должны пользоваться лица, не имеющие на это права. СУБД обычно имеет средства идентификации пользователей, кроме того, для БД, хранящих секретную информацию, разрабатываются специальные средства обеспечения секретности;
· возможность обеспечения разнообразных запросов различных пользователей. Это требование является основным для БД.
Банк данных обычно ориентирован на информационное обслуживание пользователей — неспециалистов в области вычислительной техники. Для этого в состав СУБД включаются определенные лингвистические средства: специально разработанный язык запросов или язык манипулирования данными, состоящий из нескольких операторов, позволяющих данные искать, читать, записывать, изменять.
В настоящее время созданы готовые универсальные СУБД, которые можно взять за основу при проектировании конкретных ИС.
Автоматизированные АИС могут функционировать на основе распределенного банка данных, состоящего из некоторого числа отдельных баз данных, рассредоточенных по определенной территории и связанных между собой. Совокупность средств вычислительной техники, обеспечивающих функционирование распределенного банка данных, образует многомашинную систему, называемую информационно-вычислительной сетью (ИВС). Узлами такой сети являются компьютеры и абонентские устройства, которые могут быть построены на основе персональных компьютеров, связанные между собой каналами передачи данных. Отдельные информационные базы создаются и функционируют на вычислительных центрах предприятий, организаций и могут быть специализированы по различным предметным областям. В пределах распределенного банка данных обеспечен свободный обмен информацией между отдельными БД и отдельными узлами сети. В случае необходимости отдельные БД могу использоваться как единый информационный фонд. Объединение в ИВС нескольких ЭВМ создает возможность резервирования одних вычислительных центров за счет технических ресурсов других, а также позволяет объединять вычислительные ресурсы отдельных центров для решения сложных задач.
В зависимости от степени территориальной рассосредоточенность распределенные банки данных и ИВС разделяются на: глобальные охватывающие территорию страны или нескольких стран, региональные, охватывающие определенные территориальные регионы область и т.п.; локальные, создаваемые в пределах одной организации или производственного объединения и с максимальным расстоянием между отдельными БД не более нескольких километров.
После достаточно детального обзора информационных систем и краткой характеристики составляющих систем уместно будет рассмотреть краткую историю их развития. История развития информационных систем и цели их использования на разных периодах представлены в табл. 1.1.
Таблица 1.1. Изменение подхода к использованию информационных систем
Период времени |
Концепция использования информации |
Вид информационных систем |
Цель использования |
1950 - |
Бумажный поток расчетных документов |
Информационные системы обработки расчетных документов на электромеханических бухгалтерских машинах |
Повышение скорости обработки документов. Упрощение процедуры обработки счетов и расчета зарплаты |
1960 - |
Основная помощь в подготовке отчетов |
Управленческие информационные системы для производственной информации |
Ускорение процесса подготовки отчетности |
1970 - |
Управленческий контроль реализации (продаж) |
Системы поддержки принятия решений. Системы для высшего звена управления |
Выборка наиболее рационального решения |
1980 - |
Информация - стратегический ресурс, обеспечивающий конкурентное преимущество |
Стратегические информационные системы. Автоматизированные офисы |
Выживание и процветание фирмы |
Первые информационные системы появились в 50-х гг. В эти годы они были предназначены для обработки счетов и расчета зарплаты, а реализовывались на электромеханических бухгалтерских счетных машинах. Это приводило к некоторому сокращению затрат и времени на подготовку бумажных документов.
60-е гг. знаменуются изменением отношения к информационным системам. Информация, полученная из них, стала применяться для периодической отчетности по многим параметрам. Для этого организациям требовалось компьютерное оборудование широкого назначения, способное обслуживать множество функций, а не только обрабатывать счета и считать зарплату, как было ранее.
В 70-х - начале 80-х гг. информационные системы начинают широко использоваться в качестве средства управленческого контроля, поддерживающего и ускоряющего процесс принятия решений.
К концу 80-х гг. концепция использования информационных систем вновь изменяется. Они становятся стратегическим источником информации и используются на всех уровнях организации любого профиля. Информационные системы этого периода, предоставляя вовремя нужную информацию, помогают организации достичь успеха в своей деятельности, создавать новые товары и услуги, находить новые рынки сбыта, обеспечивать себе достойных партнеров, организовывать выпуск продукции по низкой цене и многое другое.
На рис. 1.1. была приведена фактически архитектура информационной системы и определены задачи каждого функционального блока, предложен список основных задач и приведено краткое описание основных процессов, происходящих в таких системах. Для дальнейшего изучения информационных систем необходимо детализировать протекающие в них процессы. Практически для любой информационной системы процессы, обеспечивающие ее нормальную работу, условно можно представить в виде схемы (рис. 1.2), состоящей из блоков:
· ввод информации из внешних или внутренних источников;
· обработка входной информации и представление ее в удобном виде;
· вывод информации для представления потребителям или передачи в другую сис-
тему;
· обратная связь - это информация, переработанная людьми данной организации
для коррекции входной информации.
Рис. 1.2. Процессы в информационной системе
Информационная система определяется следующими свойствами:
· любая информационная система может быть подвергнута анализу, построена и
управляема на основе общих принципов построения систем;
· информационная система является динамичной и развивающейся;
· при построении информационной системы необходимо использовать системный
подход;
· выходной продукцией информационной системы является информация, на осно-
ве которой принимаются решения;
· информационную систему следует воспринимать как человеко-компьютерную
систему обработки информации.
В глазах большинства людей сегодня информационная система ассоциируется с компьютером, который выступает в ней в качестве одной из главных компонент. В общем случае информационную систему можно понимать и в некомпьютерном варианте.
Для понимания сути информационной системы необходимо понять суть проблем, которые она решает, а также организационные процессы, в которые она включена. Так, например, при определении возможности компьютерной информационной системы для поддержки принятия решений следует учитывать:
· структурированность решаемых управленческих задач;
· уровень иерархии управления фирмой, на котором решение должно быть принято;
· принадлежность решаемой задачи к той или иной функциональной сфере бизнеса;
· вид используемой информационной технологии.
Технология работы в компьютерной информационной системе доступна для понимания специалистом некомпьютерной области и может быть успешно использована для контроля процессов профессиональной деятельности и управления ими.
Современные информационные системы могут придать предприятиям их использующим ряд новых возможностей и качеств, которые прежде были просто недоступны, в частности информационная система может способствовать:
· получению более рациональных вариантов решения управленческих задач за счет внедрения математических методов и интеллектуальных систем и т.д.;
· освобождению работников от рутинной работы за счет ее автоматизации;
· обеспечению достоверности информации;
· замене бумажных носителей данных на магнитные диски или ленты, что приводит к более рациональной организации переработки информации на компьютере и снижению объемов документов на бумаге;
· совершенствованию структуры потоков информации и системы документооборота в фирме;
· уменьшению затрат на производство продуктов и услуг;
· предоставлению потребителям уникальных услуг;
· отысканию новых рыночных ниш;
· привязке к фирме покупателей и поставщиков за счет предоставления им разных скидок и услуг.
Для комплексной автоматизации деятельности предприятий необходимо внедрение корпоративных информационных систем, с которыми работают менеджеры высшего звена корпорации. Эти системы им необходимы для принятия решений. А это, в сою очередь, предполагает, что предварительно должны быть решены задачи автоматизации рабочих мест, связанных с выполнением текущих производственных функций и оперативным управлением производственными процессами на уровне нижнего и среднего звена менеджеров.
Сегодня присутствует два подхода к решению задачи комплексной автоматизации деятельности предприятия:
· Поэтапная разработка корпоративной системы собственными силами (включая использование готовых или заказных программных продуктов сторонних фирм и организаций, позволяющих автоматизировать отдельные рабочие места или производственные процессы) и
· Внедрение готовой информационной системы корпоративного уровня
Преимущество первого подхода состояло в том, что в создаваемой собственными силами системе в наибольшей степени можно было учесть потребности и специфику работы конкретного предприятия. Хотя, следует отметить, не всегда это качество является достоинством. Существует мнение, что автоматизация плохо организованных бизнес-процессов способна только ухудшить ситуацию на предприятии. Наверно есть и тому немало подтверждений. Поэтому, разработке информационной системы должен предшествовать анализ, а если необходимо, то и реинжиниринг производственной деятельности. Кроме того, "эволюционный" характер постепенных улучшений с возможностью поэтапного финансирования разработок во многих случаях выглядит более привлекательно по сравнению с риском кардинальных преобразований и значительных затрат, связанных с внедрением готовых систем. К сожалению, этот путь решения проблемы автоматизации оказывается слишком растянут во времени, часто превращаясь в "постоянный процесс разработки", когда разработчики не успевают за изменениями, происходящими в организации. В конце концов, результат от такой автоматизации практически может быть сведен к нулю.
Корпорации, располагающие необходимыми финансовыми средствами, отдают предпочтение готовым программным системам. Однако, успех от внедрения такой системы, в значительной степени зависит от готовности (и возможности) корпорации работать по "правилам", диктуемым приобретаемой информационной системой. "Готовая" информационная система имеет модульную архитектуру, и процесс внедрения такой системы может быть выполнен по этапам - начиная с модулей, автоматизирующих наиболее критичные участки работы. При этом, обеспечивается "целостность" системы, позволяющая воспользоваться на соответствующих рабочих местах новыми функциями подключаемых модулей.
Опыт разработки "готовых" информационных систем позволил сформировать новый подход к созданию корпоративных информационных систем, основанный на "сборке" систем из программных "компонент" различных фирм-производителей. Компонентная архитектура корпоративных информационных систем стала возможной благодаря поддержке ведущими производителями программного обеспечения общих стандартов на проектирование, разработку и технологию компонентной "сборки" информационных систем, реализуемых на различных программно-аппаратных платформах.
На современном этапе развития информационных технологий компонентная технология создания корпоративных информационных систем выглядит наиболее привлекательной и перспективной. Действительно, она объединяет гибкость в выборе необходимых компонент информационной системы, свойственную разработке системы собственными силами, с надежностью кода и функциональной полнотой, проверенными многократным использованием, характерным для коммерческих программных продуктов. Более того, компонентная технология позволяет оперативно вносить изменения в существующую информационную систему не нарушая ее работоспособности. При этом, новые приложения могут работать с новыми модулями, а старые - с прежними модулями, которые остаются в системе. Снимается проблема "унаследованных" систем - нет необходимости их замены для изменения или расширения функциональности, а значит уменьшаются затраты на сопровождение и модернизацию информационной системы.
Для того, чтобы компонентная архитектура информационных систем стала реальностью необходимы три условия:
· Наличие методологии анализа и проектирования информационных систем, обеспечивающих компонентную разработку и "сборку" систем,
· Сформированный рынок готовых программных компонент, поддерживающих общие стандарты на технологию разработки и "сборки" компонент и
· Стандартные компоненты программного обеспечения "инфраструктуры" информационной системы, поддерживающие взаимодействие между компонентами системы
Стремительный рост числа доступных программных компонент и их библиотек, постоянно расширяющийся рынок инструментальных программных средств анализа, проектирования и разработки систем с компонентной архитектурой и поддержка многокомпонентных систем на различных программно-аппаратных платформах способно, по мнению многих специалистов в области информационных технологий, коренным образом изменить "облик" корпоративных информационных систем. Особенно сильно тенденция к созданию многокомпонентных систем проявилась в технологии интернет/интранет, в которой активно используются компоненты ActiveX и JavaBeans. Воспользоваться преимуществами компонентной технологии, основанной на общих стандартах, стремятся и такие производители готовых систем, как SAP (R3).
Ключевым фактором успеха в реализации компонентной технологии становятся методология и средства анализа и проектирования многокомпонентных информационных систем. Методология создания информационных систем с компонентной архитектурой "выросла" из объектно-ориентированной методологии проектирования распределенных систем. В настоящее время в области объектно-ориентированного анализа и проектирования информационных систем с компонентной архитектурой находит методология, основанная на использовании унифицированного языка моделирования (UML - Unified Modeling Language в настоящее время принят OMG в качестве стандарта). Эта методология поддержана целым спектром инструментальных программных средств визуального моделирования, совместной разработки (поддерживаются основные языки программирования С++, Java, Visual Basic, SmallTalk и др., а также популярные среды разработки - MS Visual Studio, Delphi, PowerBuilder), автоматизированного тестирования и документирования, охватывающих жизненный цикл создания программных систем. В сети интернет на сайте www.rational.com можно получить обширную и постоянно пополняемую и обновляемую информацию о новых методологиях и стандартах, программных продуктах, публикациях и доступных ресурсах (включая примеры построения информационных систем и реализации отдельных решений). На этом же сайте обсуждаются многие из, возникающих в процессе разработки системы, вопросов.
Можно считать, что, компонентная технология проектирования и разработки информационных систем на сегодняшний день располагает необходимым арсеналом средств - начиная от инструментов визуального анализа и моделирования, поддерживающих существующие средства разработки, и кончая широким выбором библиотек готовых компонент, включая компоненты "инфраструктуры" для различных программно-аппаратных платформ. А это значит, что информационные технологии стоят на пороге появления "конструкторов" готовых систем, состоящих из наборов компонент от различных производителей.
Общие цели и задачи, которые ставят перед собой разработчики любой информационной системы можно определить как:
1. Структура информационной системы, ее функциональное назначение должны соответствовать целям, стоящим перед организацией. Например, в коммерческой фирме - эффективный бизнес; в государственном предприятии - решение социальных и экономических задач.
2. Информационная система должна контролироваться людьми, ими пониматься и использоваться в соответствии с основными социальными и этическими принципами.
3. Производство достоверной, надежной, своевременной и систематизированной информации.
Построение информационной системы можно сравнить с постройкой дома. Кирпичи, гвозди, цемент и прочие материалы, сложенные вместе, не дают дома. Нужны проект, землеустройство, строительство и др., чтобы появился дом.
Аналогично для создания и использования информационной системы необходимо сначала понять структуру, функции и политику организации, цели управления и принимаемых решений, возможности компьютерной технологии. Информационная система является частью организации, а ключевые элементы любой организации - структура и органы управления, стандартные процедуры, персонал, субкультура.
Построение информационной системы должно начинаться с анализа структуры управления организацией.
Координация работы всех подразделений организации осуществляется через органы управления разного уровня. Под управлением понимают обеспечение поставленной цели при условии реализации следующих функций: организационной, плановой, учетной, анализа, контрольной, стимулирования. Рассмотрим содержание управленческих функций.
o Организационная функция заключается в разработке организационной структуры и комплекса нормативных документов: штатного расписания фирмы, отдела, лаборатории, группы и т.п. с указанием подчиненности, ответственности, сферы компетенции, прав, обязанностей и т.п. Чаще всего это излагается в положении по отделу, лаборатории или должностных инструкциях.
o Планирование (плановая функция) состоит в разработке и реализации планов по выполнению поставленных задач. Например, бизнес-план для всей фирмы, план производства, план маркетинговых исследований, финансовый план, план проведения научно-исследовательской работы и т.д. на различные сроки (год, квартал, месяц, день).
o Учетная функция заключается в разработке или использовании уже готовых форм и методов учета показателей деятельности фирмы: бухгалтерский учет, финансовый учет, управленческий учет и т.п. В общем случае учет можно определить как получение, регистрацию, накопление, обработку и предоставление информации о реальных хозяйственных процессах.
o Анализ или аналитическая функция связывается с изучением итогов выполнения планов и заказов, определением влияющих факторов, выявлением резервов, изучением тенденций развития и т.д. Выполняется анализ разными специалистами в зависимости от сложности и уровня анализируемого объекта или процесса. Анализ результатов хозяйственной деятельности фирмы за год и более проводят специалисты, а на уровне цеха, отдела ≈ менеджер этого уровня (начальник или его заместитель) совместно со специалистом-экономистом.
o Контрольная функция чаще всего осуществляется менеджером: контроль за выполнением планов, расходованием материальных ресурсов, использованием финансовых средств и т.п.
o Стимулирование или мотивационная функция предполагает разработку и применение различных методов стимулирования труда подчиненных работников:
o финансовые стимулы - зарплата, премия, акции, повышение в должности и т.п.;
o психологические стимулы - благодарности, грамоты, звания, степени, доски почета и т.п.
В последние годы в сфере управления все активнее стало применяться понятие "принятие решения" и связанные с этим понятием системы, методы, средства поддержки принятия решений.
Принятие решения - акт целенаправленного воздействия на объект управления, основанный на анализе ситуации, определении цели, разработке программы достижения этой цели. Структура управления любой организации традиционно делится на три уровня: операционный, функциональный и стратегический.
Уровни управления (вид управленческой деятельности) определяются сложностью решаемых задач. Чем сложнее задача, тем более высокий уровень управления требуется для ее решения. При этом следует понимать, что более простых задач, требующих немедленного (оперативного) решения, возникает значительно большее количество, а значит, и уровень управления для них нужен другой - более низкий, где принимаются решения оперативно. При управлении необходимо также учитывать динамику реализации принимаемых решений, что позволяет рассматривать управление под углом временного фактора. На рис. 1.3 отображены три уровня управления, которые соотнесены с такими факторами, как степень возрастания власти, ответственности, сложности решаемых задач, а также динамика принятия решений по реализации задач.
Рис. 1.3. Пирамида уровней управления, отражающая возрастание власти, ответственности, сложности и динамику принятия решений
Операционный (нижний) уровень управления обеспечивает решение многократно повторяющихся задач и операций и быстрое реагирование на изменения входной текущей информации. На этом уровне достаточно велики как объем выполняемых операций, так и динамика принятия управленческих решений. Этот уровень управления часто называют оперативным из-за необходимости быстрого реагирования на изменение ситуации. На уровне оперативного (операционного) управления большой объем занимают учетные задачи.
Функциональный (тактический) уровень управления обеспечивает решение задач, требующих предварительного анализа информации, подготовленной на первом уровне, На этом уровне большое значение приобретает такая функция управления, как анализ. Объем решаемых задач уменьшается, но возрастает их сложность. При этом не всегда удается выработать нужное решение оперативно, требуется дополнительное время на анализ, осмысление, сбор недостающих сведений и т.п. Управление связано с некоторой задержкой от момента поступления информации до принятия решений и их реализации, а также от момента реализации решений до получения реакции на них.
Стратегический уровень обеспечивает выработку управленческих решений, направленных на достижение долгосрочных стратегических целей организации. Поскольку результаты принимаемых решений проявляются спустя длительное время, особое значение на этом уровне имеет такая функция управления, как стратегическое планирование. Прочие функции управления на этом уровне в настоящее время разработаны недостаточно полно. Часто стратегический уровень управления называют стратегическим или долгосрочным планированием. Правомерность принятого на этом уровне решения может быть подтверждена спустя достаточно длительное время. Могут пройти месяцы или годы. Ответственность за принятие управленческих решений чрезвычайно велика и определяется не только результатами анализа с использованием математического и специального аппарата, но и профессиональной интуицией менеджеров.
Персонал организации - сотрудники разной степени квалификации и уровней управления - от секретарей, выполняющих простейшие типовые операции обработки, до специалистов и менеджеров, принимающих стратегические решения. На рис. 1.4 показано соответствие разных уровней квалификации персонала уровням управления:
Рис. 1.4. Квалификация персонала по уровням управления
o на верхнем, стратегическом, уровне управления - менеджеры высшего звена руководства организации (фирмы и его заместители). Основная их задача - стратегическое планирование деятельности фирмы на рынке и координация внутрифирменной тактики управления;
o на среднем, функциональном, уровне - менеджеры среднего звена и специалисты (начальники служб, отделов, цехов, начальник смены, участка, научные сотрудники и т.п.). Основная задача - тактическое управление фирмой при решении основных функций в заданной сфере деятельности;
o на нижнем, операционном, уровне - исполнители и менеджеры низшего звена (бригадиры, инженеры, ответственные исполнители, мастера, нормировщики, техники, лаборанты и т.п.). Основная задача - оперативное реагирование на изменение ситуации.
На всех уровнях управления работают как менеджеры, осуществляющие только общие функции, так и менеджеры-специалисты, которые реализуют функции управления в сфере своей компетенции.
Стандартные процедуры в организации - точно определенные правила выполнения заданий в различных ситуациях. Они охватывают все стороны функционирования организации, начиная от технологических операций по составлению документов на производимую продукцию и кончая разбором жалоб потребителей.
Субкультура любой организации - совокупность представлений, принципов, типов поведения. Особую роль играет важная ее составляющая - информационная культура специалиста. Это также должно найти отражение в информационной системе. Существует взаимозависимость между стратегией, правилами, процедурами организации и аппаратной, программной, телекоммуникационной частями информационной системы. Поэтому очень важно на этане внедрения и проектирования информационных систем активное участие менеджеров, определяющих круг предполагаемых для решения проблем, задач и функций по своей предметной области. Следует заметить также, что информационные системы сами по себе дохода не приносят, но могут способствовать его получению. Они могут оказаться дорогими и, если их структура и стратегия использования не были тщательно продуманы, даже бесполезными. Внедрение информационных систем связано с необходимостью автоматизации функций работников, а значит, способствует их высвобождению. Могут также последовать большие организационные изменения в структуре фирмы, которые, если не учтен человеческий фактор и не выбрана правильная социальная и психологическая политика, часто проходят очень трудно и болезненно.
Вопросительный знак стоит не даром. Это действительно проблема, которую приходится решать в большинстве современных предприятий, независимо от того, какого рода бизнесом они занимаются. Термин "информационная система" относится к классу программных продуктов, облегчающих, или "автоматизирующих" ведение бизнеса. Система называется "информационной", если она поддерживает информационную поддержку бизнеса (любой деловой человек знает, сколько сил и средств уходит на поддержание необходимой информации). Соответствующая программа называется "системой", если она (в некоторых случаях последовательно, а иногда параллельно) выполняет более одной функции (одним из распространенных примеров являются информационные системы, поддерживающие ведение складского хозяйства: они отслеживают поступление товаров на склад, отпуск товаров покупателю, а также контролируют наличие на складе необходимого количества каждого продукта).
В большинстве случаев для создания собственной информационной системы невозможно обойтись без использования баз данных. Чем отличается "база данных" от какого бы то ни было склада данных, поддерживаемого в файлах операционной системы? Этот вопрос уже обсуждался ранее. Тем не менее, основное отличие состоит в том, что набором данных, входящих в состав базы данных управляет специальная системная программа, обычно называемая "системой управления базами данных (СУБД)", которая обладает знаниями по поводу связи между разнородными данными. Например, в случае складской системы, СУБД, управляющая соответствующей базой данных, должна знать, что для всех единиц любого товара, перечисленных в общей складской ведомости, должно быть проставлено правильное число в документе, регулирующем поступление товаров на склад. Такого типа свойства называются целостностью базы данных. При создании базы данных информационной системы разработчик сообщает СУБД, какого рода ограничения целостности система должна поддерживать в базе данных, а далее ответственность берет на себя СУБД, без требования вмешательства прикладной программы. Обычно механизм обеспечения целостности баз данных интегрируется с механизмом управления транзакциями - последовательностью операций модификации базы данных, воспринимаемыми СУБД как одна атомарная операция.
Второй важной особенностью СУБД является обеспечение выполнения так называемых "незапланированных " запросов к базе данных. Представим себе, что при проектировании информационной системы, предназначенной для автоматизации управления складом, было запланировано выполнение запросов о наличии на складе товаров, операций модификации данных при отпуске товаров со склада и их получении, а впоследствии понадобилась информация об общем объеме поставок от данного поставщика. При отсутствии СУБД понадобилась бы переделка информационной системы. Однако СУБД, обладая достаточными знаниями о предметной области (например, о структуре и смысле данных складской информационной системы), может обеспечить (и реально обеспечивает) универсальный язык запросов (обычно, язык SQL), позволяющий сформулировать произвольный запрос на выборку информации из соответствующей базы данных. Такой запрос может быть в любой момент подан с терминала (без участия информационной системы) или встроен в одну из прикладных программ, входящих в информационную систему.
Наконец, еще одной важной особенностью большинства современных СУБД является обеспечение так называемого "режима мультидоступа". Сегодня развитые компьютерные архитектуры обычно относятся к одной из двух категорий (или к их комбинации): информационно-вычислительный сервер (mainfraim) с более чем одним подключенным к нему терминалом или локальная или распределенная информационно-вычислительная сеть серверов и клиентских рабочих станций, обеспечивающая совместное использование ресурсов. В любом случае каждый из потенциальных пользователей может захотеть (и иметь на это право) в любой момент времени воспользоваться услугами информационной системы. Соответственно, информационная система должна иметь возможность параллельно (или квазипараллельно - главное, чтобы у конечного пользователя не возникали ощущения чувствительной задержки ответа) выполнить операции, задаваемые несколькими пользователями одновременно (или очень близко во времени). При этом такое "параллельное" выполнение является корректным, т.е. результат получается таким, как если бы несколько параллельных транзакций выполнялось последовательно (в литературе по базам данных используется термин "сериализованное выполнение пользовательских транзакций"). Подавляющее большинство современных развитых СУБД поддерживает эту возможность, избавляя разработчиков информационных систем от необходимости заботиться об обеспечении режима мультидоступа. Базовые знания в области систем управления базами данных кажутся необходимыми для проектировщиков и разработчиков информационных систем (независимо от того, какая конкретная СУБД будет использоваться).
Итак, современные СУБД предназначены именно для разработчиков и последующих пользователей информационных систем. Достаточно часто проблемой является проектирование и разработка информационной системы даже в том случае, если система опирается на какую-либо современную СУБД. Приходится решать задачи трех видов: проектирование и разработка логической структуры самой информационной системы как набора программ; проектирование лежащей в основе общего проекта информационной системы базы данных; проектирование и разработка интерфейсных подсистем, как тех, которые относятся к взаимодействиям информационной системы с конечным пользователем, так и тех, которые связывают прикладные программы с СУБД. Если проектируемая информационная система достаточно сложна (а это обычное явление), то решение этих задач "вручную", без привлечения программных инструментальных средств, как правило, превышает человеческие возможности.
О решении всех этих вопросов позаботились софтверные компании, которые производят средства, служащие инструментом при проектировании и разработке информационных систем. Конечно, прежде всего, это системы класса CASE (Computer Added Software Enginering), ориентированные на поддержку разработки информационных систем. Наиболее развитые CASE-системы позволяют автоматизировать процесс проектирования и разработки прикладной системы, поддерживая полную документацию (возможно, с разными версиями) обо всем этом процессе. Может быть, наиболее важно то, что такие системы существенно помогают создавать схему базы данных, лежащей в основе проекта информационной системы. CASE-системы позволяют естественно (и достаточно просто) пройти путь от интуитивного представления структуры и поведения нужной предметной области до формализованного представления в терминах языка SQL. Такие возможности CASE-систем может оценить каждый, кому приходилось вручную проектировать схему достаточно сложной базы данных.
Другой класс программных средств (часто интегрированных с CASE-системами) составляют программные системы языков четвертого поколения (4GL). Это название означает лишь то, что такие, как правило, интерпретируемые языки предоставляют пользователю более или менее удобные средства для формирования интерфейса с конечным пользователем (например, в виде меню или форм), обеспечивают сравнительно простые возможности для взаимодействия с системой управления базами данных, а также предоставляют (обычно, достаточно примитивные) средства программирования. Основным достоинством языков четвертого поколения является то, что они обеспечивают возможность так называемого "быстрого прототипирования приложений (rapid prototyping)".
Это означает то, что при использовании 4GL можно действительно быстро соорудить работающий прототип будущей системы, обеспечивающий требуемый интерфейс с конечным пользователем и взаимодействующий с макетом базы данных (а возможно, и с реальной базой данных, если она к этому времени подготовлена). Приходится говорить про "прототип", поскольку большинство современных систем 4GL не обеспечивают той эффективности прикладных систем, какую дают обычные языки программирования (как теперь принято выражаться, 2GL или 3GL). Вместе с тем, стоит заметить, что уже существует масса реально используемых информационных систем, разработанных исключительно на том или ином 4GL. Кто знает, что будет завтра, но тенденция к увеличению использования 4GL очевидна.
Наконец, некоторое количество замечаний по поводу методологии проектирования и разработки информационных систем. Для профессиональных программистов постоянной проблемой являлся разрыв между данными и программой. При наличии сложно структурированной информации проектирование схемы базы данных является не менее сложной задачей, чем написание собственно прикладной системы. Очевидно, что всегда хуже иметь две сложные задачи, чем одна, даже если в совокупности ее сложность превосходит сложность каждой их первых задач в отдельности. Решение этой проблемы предлагает объектно-ориентированный подход. Если говорить совсем коротко, суть этого подхода состоит в том, что проектируются не данные и программы в отдельности, а объекты, сочетающие в себе и данные, и программы, информационно и функционально характеризующие соответствующие сущности предметной области. Подход полезен как с методологической точки зрения (исчезают две разнородные характеристики предметной области - данные и программы объединяются в объекты), так и с точки зрения техники проектирования и разработки программных систем (вместо двух технически не связанных, но логически переплетенных веток образуется один надежный ствол).
Следует заметить, что в последнее время, подавляющее большинство CASE-систем и 4GL если не ориентируется, то обращает внимание на объектно-ориентированный подход. Более того, стали появляться методики по объектно-ориентированному использованию средств автоматизированного проектирования и разработки информационных систем, которые (средства) исходно для этого не предназначались. Таким образом, сегодня создателю информационной системы, как минимум, нужно иметь базовые знания о современных СУБД, ориентироваться в мире инструментальных средств разработки программных систем и иметь представления об объектно-ориентированном подходе к проектированию и разработке программ. Конечно, при этом требуется умение программировать.
В последнее десятилетие произошло становление новой науки - науки об информационных технологиях (ИТ - науки) или итологии, основными характерными чертами которой являются:
1. Фундаментальное значение для развития по существу всех областей знания и видов деятельности, как эффективного метода познания и инструмента, усиливающего интеллектуальные возможности человека;
2. Целевая направленность на преображение человеческой практики и бытия, способность проникновения во все аспекты жизни и деятельности человека;
3. Междисциплинарная роль как общезначимой дисциплины (аналогично математике и философии), обусловленная прежде всего ее методологическим значением, благодаря наличию развитого концептуального базиса, универсальных в применении парадигм, методов, языков для формализации, анализа и синтеза прикладных знаний.
Предмет итологии - информационные технологии (ИТ), а также процессы, связанные с их созданием и применением. Основными методами итологии являются:
1. Создание основ научного знания в виде методологического ядра (метазнаний), представляющего собой целостную систему эталонных моделей важнейших разделов ИТ, осуществляющего структуризацию научного знания в целом. Данный метод получил название архитектурной спецификации.
2. Представление ИТ в виде спецификаций поведения реализаций ИТ, т.е. ИТ- систем, которое может наблюдаться на интерфейсах (границах) этих систем. Данный метод называют также функциональной спецификацией.
3. Стандартизация спецификаций ИТ и управление их жизненным циклом, осуществляемая системой специализированных международных организаций на основе строго регламентированной деятельности. Данный процесс обеспечивает накопление базовых сертифицированных научных знаний, служит основой создания открытых технологий.
4. Аппарат (концепция и методология) проверки соответствия (аттестации) реализаций ИТ (т.е. ИТ- систем) ИТ- спецификациям, на основе которых данные ИТ- системы были разработаны (по существу данный аппарат играет такую же роль в пространстве информационных технологий, как и эпсилон-дельта аппарат в математическом анализе).
5. Профилирование ИТ или разработка функциональных профилей ИТ - метод построения спецификаций комплексных технологий посредством комбинирования базовых и производных от них (представленных в стандартизованном виде) спецификаций с соответствующей параметрической настройкой этих спецификаций (по существу профилирование является композиционным оператором в пространстве ИТ с базисом, в качестве которого выступают базовые, т.е. стандартные спецификации).
6. Таксономия (классификационная система) профилей ИТ, обеспечивающая уникальность идентификации в пространстве ИТ, явное отражение взаимосвязей ИТ между собой.
7. Разнообразные методы формализации и алгоритмизации знаний, методы конструирования прикладных информационных технологий (парадигмы, языки программирования, базовые открытые технологии, функциональное профилирование ИТ и т.п.).
Являясь отражением той или иной сферы человеческой деятельности, ИТ изменяются на протяжении их жизненного цикла. Характеризуется созидательностью, направленностью на преображение бытия, практики общества, неудержимостью проникновения во все сферы жизни и формы деятельности человека с целью их качественного преобразования. Сегодня можно говорить о том , что она самая агрессивная из всех наук.
Технология при переводе с греческого (techne) означает искусство, мастерство, умение, а это не что иное, как процессы. Под процессом следует понимать определенную совокупность действий, направленных на достижение поставленной цели. Процесс должен определяться выбранной человеком стратегией и реализоваться с помощью совокупности различных средств и методов.
Под технологией материального производства понимают процесс, определяемый совокупностью средств и методов обработки, изготовления, изменения состояния, свойств, формы сырья или материала. Технология изменяет качество или первоначальное состояние материи в целях получения материального продукта (рис. 2.1).
Рис. 2.1. Информационная технология как аналог технологии переработки материальных ресурсов
Информация является одним из ценнейших ресурсов общества наряду с такими традиционными материальными видами ресурсов, как нефть, газ, полезные ископаемые и др., а значит, процесс ее переработки по аналогии с процессами переработки материальных ресурсов можно воспринимать как технологию. Тогда справедливо следующее определение.
Информационная технология - процесс, использующий совокупность средств и методов сбора, обработки и передачи данных (первичной информации) для получения информации нового качества о состоянии объекта, процесса или явления (информационного продукта).
Цель технологии материального производства - выпуск продукции, удовлетворяющей потребности человека или системы.
Цель информационной технологии - производство информации для ее анализа человеком и принятия на его основе решения по выполнению какого-либо действия.
Известно, что, применяя разные технологии к одному и тому же материальному ресурсу, можно получить разные изделия, продукты. То же самое будет справедливо и для технологии переработки информации.
Пример. Для выполнения контрольной работы по математике каждый студент применяет свою технологию переработки первоначальной информации (исходных данных задач). Информационный продукт (результаты решения задач) будет зависеть от технологии решения, которую выберет студент. Обычно используется ручная информационная технология. Если же воспользоваться компьютерной информационное технологией, способной решать подобные задачи, то информационный продукт будет иметь уже иное качество.
Для сравнения в табл.2.1. приведены основные компоненты обоих видов технологий.
Таблица 2.1. Сопоставление основных компонентов технологий
Компоненты технологий для производства продуктов |
|
материальных |
информационных |
Подготовка сырья и материалов |
Сбор данных или первичной информации |
Производство материального продукта |
Обработка данных и получение результатов информации |
Сбыт производственных продуктов потребления |
Передача результатов информации пользователю для принятия на ее основе решений |
Информационная технология является наиболее важной составляющей процесса использования информационных ресурсов общества. К настоящему времени она прошла несколько эволюционных этапов, смена которых определялась главным образом развитием научно-технического прогресса, появлением новых технических средств переработки информации. В современном обществе основным техническим средством технологии переработки информации служит персональный компьютер, который существенно повлиял как на концепцию построения и использования технологических процессов, так и на качество результатной информации. Внедрение персонального компьютера в информационную сферу и применение телекоммуникационных средств связи определили новый этап развития информационной технологии и, как следствие, изменение ее названия за счет присоединения одного из синонимов: "новая", "компьютерная" или "современная".
Прилагательное "новая" подчеркивает новаторский, а не эволюционный характер этой технологии. Ее внедрение является новаторским актом в том смысле, что она существенно изменяет содержание различных видов деятельности в организациях. В понятие новой информационной технологии включены также коммуникационные технологии, которые обеспечивают передачу информации разными средствами, а именно - телефон, телеграф, телекоммуникации, факс и др. В табл. 2.2. приведены основные характерные черты новой информационной технологии.
Таблица 2.2.. Основные характеристики новой информационной технологии
Методология |
Основной признак |
Результат |
Принципиально новые средства обработки информации |
«Встраивание» в технологию управления |
Новая технология коммуникаций |
Целостные технологические системы |
Интеграция функций специалистов и менеджеров |
Новая технология обработки информации |
Целенаправленные создание, передача, хранение и отображение информации |
Учет закономерностей социальной среды |
Новая технология принятия управленческих решений |
Новая информационная технология - информационная технология с "дружественным" интерфейсом работы пользователя, использующая персональные компьютеры и телекоммуникационные средства.
Прилагательное "компьютерная" подчеркивает, что основным техническим средством ее реализации является компьютер. Три основных принципа новой (компьютерной) информационной технологии:
· интерактивный (диалоговый) режим работы с компьютером;
· интегрированность (стыковка, взаимосвязь) с другими программными продуктами;
· гибкость процесса изменения как данных, так и постановок задач.
По-видимому, более точным следует считать все же термин новая, а не компьютерная информационная технология, поскольку он отражает в ее структуре не только технологии, основанные на использовании компьютеров, но и технологии, основанные на других технических средствах, особенно на средствах, обеспечивающих телекоммуникацию.
Примечание. Появившийся сравнительно недавно термин НИТ постепенно начинает терять слово "новая", а под информационной технологией начинают понимать тот смысл, который вкладывается в НИТ. В дальнейшем изложении мы для простоты опустим прилагательное "новая", придавая ее смысл термину " информационная технология".
Реализация технологического процесса материального производства осуществляется с помощью различных технических средств, к которым относятся: оборудование, станки, инструменты, конвейерные линии и т.п. По аналогии и для информационной технологии должно быть нечто подобное. Такими техническими средствами производства информации будет являться аппаратное, программное и математическое обеспечение этого процесса. С их помощью производится переработка первичной информации в информацию нового качества. Выделим отдельно из этих средств программные продукты и назовем их инструментарием, а для большей четкости можно его конкретизировать, назвав программным инструментарием информационной технологии. Определим это понятие.
Инструментарий информационной технологии - один или несколько взаимосвязанных программных продуктов для определенного типа компьютера, технология работы в котором позволяет достичь поставленную пользователем цель. В качестве инструментария можно использовать следующие распространенные виды программных продуктов для персонального компьютера: текстовый процессор (редактор), настольные издательские системы, электронные таблицы, системы управления базами данных, электронные записные книжки, электронные календари, информационные системы функционального назначения (финансовые, бухгалтерские, для маркетинга и пр.), экспертные системы и т.д.
Информационная технология тесно связана с информационными системами, которые являются для нее основной средой. На первый взгляд может показаться, что введенные в учебнике определения информационной технологии и системы очень похожи между собой. Однако это не так.
Информационная технология является процессом, состоящим из четко регламентированных правил выполнения операций, действий, этапов разной степени сложности над данными, хранящимися в компьютерах. Основная цель информационной технологии - в результате целенаправленных действий по переработке первичной информации получить необходимую для пользователя информацию.
Информационная система является средой, составляющими элементами которой являются компьютеры, компьютерные сети, программные продукты, базы данных, люди, различного рода технические и программные средства связи и т.д. Основная цель информационной системы - организация хранения и передачи информации. Информационная система представляет собой человеко - компьютерную систему обработки информации. Реализация функций информационной системы невозможна без знания ориентированной на нее информационной технологии. Информационная технология может существовать и вне сферы информационной системы.
Таким образом, информационная технология является более емким понятием, отражающим современное представление о процессах преобразования информации в информационном обществе. В умелом сочетании двух информационных технологий - управленческой и компьютерной - залог успешной работы информационной системы.
Обобщая все вышесказанное, предлагаем несколько более узкие, нежели введенные ранее, определения информационной системы и технологии, реализованных средствами компьютерной техники.
Информационная технология - совокупность четко определенных целенаправленных действий персонала по переработке информации на компьютере.
Информационная система – человеко - компьютерная система для поддержки принятия решений и производства информационных продуктов, использующая компьютерную информационную технологию.
Используемые в производственной сфере такие технологические понятия, как норма, норматив, технологический процесс, технологическая операция и т.п., могут применяться и в информационной технологии. Прежде чем разрабатывать эти понятия в любой технологии, в том числе и в информационной, всегда следует начинать с определения цели. Затем следует попытаться провести структурирование всех предполагаемых действий, приводящих к намеченной цели, и выбрать необходимый программный инструментарий.
На рис. 2.2 технологический процесс переработки информации представлен в виде иерархической структуры по уровням:
· 1-й уровень - этапы, где реализуются сравнительно длительные технологические процессы, состоящие из операций и действий последующих уровней.
· 2-й уровень - операции, в результате выполнения которых будет создан конкретный объект в выбранной на 1-м уровне программной среде.
· 3-й уровень - действия - совокупность стандартных для каждой программной среды приемов работы, приводящих к выполнению поставленной в соответствующей операции цели. Каждое действие изменяет содержание экрана.
· 4-й уровень - элементарные операции по управлению мышью и клавиатурой.
Примечание. Технологический процесс необязательно должен состоять из всех уровней, представленных на рис. 2.3. Он может начинаться с любого уровня и не включать, например, этапы или операции, а состоять только из действий. Для реализации этапов технологического процесса могут использоваться разные программные среды. Информационная технология, как и любая другая, должна отвечать следующим требованиям:
· обеспечивать высокую степень расчленения всего процесса обработки информации на этапы (фазы), операции, действия;
· включать весь набор элементов, необходимых для достижения поставленной цели;
· иметь регулярный характер. Этапы, действия, операции технологического процесса могут быть стандартизированы и унифицированы, что позволит более эффективно осуществлять целенаправленное управление информационными процессами.
Рис. 2.2. Представление информационной технологии в виде иерархической структуры, состоящей из этапов, действий, операций
Информационная технология обработки данных предназначена для решения хорошо структурированных задач, по которым имеются необходимые входные данные и известны алгоритмы и другие стандартные процедуры их обработки. Эта технология применяется на уровне операционной (исполнительской) деятельности (см. рис. 3.1) персонала невысокой квалификации в целях автоматизации некоторых рутинных постоянно повторяющихся операций управленческого труда. Поэтому внедрение информационных технологий и систем на этом уровне существенно повысит производительность труда персонала, освободит его от рутинных операций, возможно, даже приведет к необходимости сокращения численности работников. На уровне операционной деятельности решаются следующие задачи:
· обработка данных об операциях, производимых фирмой;
· создание периодических контрольных отчетов о состоянии дел в фирме;
· получение ответов на всевозможные текущие запросы и оформление их в виде бумажных документов или отчетов.
Пример контрольного отчета: ежедневный отчет о поступлениях и выдачах наличных средств банком, формируемый в целях контроля баланса наличных средств. Пример запроса: запрос к базе данных по кадрам, который позволит получить данные о требованиях, предъявляемых к кандидатам на занятие определенной должности. Существует несколько особенностей, связанных с обработкой данных, отличающих данную технологию от всех прочих:
· выполнение необходимых фирме задач по обработке данных. Каждой фирме предписано законом иметь и хранить данные о своей деятельности, которые можно использовать как средство обеспечения и поддержания контроля на фирме. Поэтому в любой фирме обязательно должна быть информационная система обработки данных и разработана соответствующая информационная технология;
· решение только хорошо структурированных задач, для которых можно разработать алгоритм;
· выполнение стандартных процедур обработки. Существующие стандарты определяют типовые процедуры обработки данных и предписывают их соблюдение организациями всех видов;
· выполнение основного объема работ в автоматическом режиме с минимальным участием человека;
· использование детализированных данных. Записи о деятельности фирмы имеют детальный (подробный) характер, допускающий проведение ревизий. В процессе ревизии деятельность фирмы проверяется хронологически от начала периода к его концу и от конца к началу;
· акцент на хронологию событий;
· требование минимальной помощи в решении проблем со стороны специалистов других уровней.
Представим основные компоненты информационной технологии обработки данных (рис. 2.3) и приведем их характеристики.
Сбор данных. По мере того как фирма производит продукцию или услуги, каждое ее действие сопровождается соответствующими записями данных. Обычно действия фирмы, затрагивающие внешнее окружение, выделяются особо как операции, производимые фирмой.
Рис. 2.3. Основные компоненты информационной технологии обработки данных
Обработка данных. Для создания из поступающих данных информации, отражающей деятельность фирмы, используются следующие типовые операции:
· классификация или группировка. Первичные данные обычно имеют вид кодов, состоящих из одного или нескольких символов. Эти коды, выражающие определенные признаки объектов, используются для идентификации и группировки записей.
· сортировка, с помощью которой упорядочивается последовательность записей;
· вычисления, включающие арифметические и логические операции. Эти операции, выполняемые над данными, дают возможность получать новые данные;
· укрупнение или агрегирование, служащее для уменьшения количества данных и реализуемое в форме расчетов итоговых или средних значений.
Хранение данных. Многие данные на уровне операционной деятельности необходимо сохранять для последующего использования либо здесь же, либо на другом уровне. Для их хранения создаются базы данных.
Создание отчетов (документов). В информационной технологии обработки данных необходимо создавать документы для руководства и работников фирмы, а также для внешних партнеров. При этом документы или в связи с проведенной фирмой операцией так и периодически в конце каждого месяца, квартала или года.
Целью информационной технологии управления является удовлетворение информационных потребностей всех без исключения сотрудников фирмы, имеющих дело с принятием решений. Она может быть полезна на любом уровне управления.
Эта технология ориентирована на работу в среде информационной системы управления и используется при худшей структурированности решаемых задач, если их сравнивать с задачами, решаемыми с помощью информационной технологии обработки данных.
ИС управления идеально подходят для удовлетворения сходных информационных потребностей работников различных функциональных подсистем (подразделений) или уровней управления фирмой. Поставляемая ими информация содержит сведения о прошлом, настоящем и вероятном: будущем фирмы. Эта информация имеет вид регулярных или специальных управленческих отчетов.
Для принятия решений на уровне управленческого контроля информация должна быть представлена в агрегированном виде так, чтобы просматривались тенденции изменения данных, причины возникших отклонений и возможные решения. На этом этапе решаются следующие задачи обработки данных:
· оценка планируемого состояния объекта управления;
· оценка отклонений от планируемого состояния;
· выявление причин отклонений;
· анализ возможных решений и действий.
Информационная технология управления направлена на создание различных видов отчетов.
Регулярные отчеты создаются в соответствии с установленным графиком, определяющим время их создания, например месячный анализ продаж компании.
Специальные отчеты создаются по запросам управленцев или когда в компании произошло что-то незапланированное. И те, и другие виды отчетов могут иметь форму суммирующих, сравнительных и чрезвычайных отчетов.
В суммирующих отчетах данные объединены в отдельные группы, отсортированы и представлены в виде промежуточных и окончательных итогов по отдельным полям.
Сравнительные отчеты содержат данные, полученные из различных источников или классифицированные по различным признакам и используемые для целей сравнения.
Чрезвычайные отчеты содержат данные исключительного (чрезвычайного) характера.
Использование отчетов для поддержки управления оказывается особенно эффективным при реализации так называемого управления по отклонениям.
Управление по отклонениям предполагает, что главным содержанием получаемых менеджером данных должны являться отклонения состояния хозяйственной деятельности фирмы от некоторых установленных стандартов (например, от ее запланированного состояния). При использовании на фирме принципов управления по отклонениям к создаваемым отчетам предъявляются следующие требования:
· отчет должен создаваться только тогда, когда отклонение произошло;
· сведения в отчете должны быть отсортированы по значению критического для данного отклонения показателя;
· все отклонения желательно показать вместе, чтобы менеджер мог уловить существующую между ними связь;
· в отчете необходимо показать количественное отклонение от нормы.
Основные компоненты информационной технологии управления показаны на рис. 2.4. Входная информация поступает из систем операционного уровня. Выходная информация формируется в виде управленческих отчетов в удобном для принятия решения виде.
Рис. 2.4. Основные компоненты информационной технологии управления
Содержимое базы данных при помощи соответствующего программного обеспечения преобразуется в периодические и специальные отчеты, поступающие к специалистам, участвующим в принятии решений в организации. База данных, используемая для получения указанной информации, должна состоять из двух элементов:
1) данных, накапливаемых на основе оценки операций, проводимых фирмой;
2) планов, стандартов, бюджетов и других нормативных документов, определяющих планируемое состояние объекта управления (подразделения фирмы).
Исторически автоматизация началась на производстве и затем распространилась на офис, имея вначале целью лишь автоматизацию рутинной секретарской работы. По мере развития средств коммуникаций автоматизация офисных технологий заинтересовала специалистов и управленцев, которые увидели в ней возможность повысить производительность своего труда.
Автоматизация офиса (рис. 2.5) призвана не заменить существующую традиционную систему коммуникации персонала (с ее совещаниями, телефонными звонками и приказами), а лишь дополнить ее. Используясь совместно, обе эти системы обеспечат рациональную автоматизацию управленческого труда и наилучшее обеспечение управленцев информацией.
Рис. 2.5. Основные компоненты автоматизации офиса
Автоматизированный офис привлекателен для менеджеров всех уровней управления в фирме не только потому, что поддерживает внутрифирменную связь персонала, но также потому, что предоставляет им новые средства коммуникации с внешним окружением.
Информационная технология автоматизированного офиса - организация и поддержка коммуникационных процессов как внутри организации, так и с внешней средой на базе компьютерных сетей и других современных средств передачи и работы с информацией. Офисные автоматизированные технологии используются управленцами, специалистами, секретарями и конторскими служащими, особенно они привлекательны для группового решения проблем. Они позволяют повысить производительность труда секретарей и конторских работников и дают им возможность справляться с возрастающим объемом работ. Однако это преимущество является второстепенным по сравнению с возможностью использования автоматизации офиса в качестве инструмента для решения проблем. Улучшение принимаемых менеджерами решений в результате их более совершенной коммуникации способно обеспечить экономический рост фирмы.
В настоящее время известно несколько десятков программных продуктов для компьютеров и некомпьютерных технических средств, обеспечивающих технологию автоматизации офиса; текстовый процессор, табличный процессор, электронная почта, электронный календарь, аудиопочта, компьютерные и телеконференции, видеотекст, хранение изображений, а также специализированные программы управленческой деятельности: ведения документов, контроля за исполнением приказов и т.д. Также широко используются некомпьютерные средства: аудио- и видеоконференции, факсимильная связь, ксерокс и другие средства оргтехники.
База данных. Обязательным компонентом любой технологии является база данных. В автоматизированном офисе база данных концентрирует в себе данные о производственной системе фирмы так же, как в технологии обработки данных на операционном уровне. Информация в базу данных может также поступать из внешнего окружения фирмы. Специалисты должны владеть основными технологическими операциями по работе в среде баз данных. Могут ежедневно по электронной почте поступать с биржи сведения о курсе валют или котировках ценных бумаг, в том числе и акций этой фирмы, которые ежедневно корректируются в соответствующем массиве базы данных. Информация из базы данных поступает на вход компьютерных приложений (программ), таких, как текстовый процессор, табличный процессор, электронная почта, компьютерные конференции и др. Любое компьютерное приложение автоматизированного офиса обеспечивает работникам связь друг с другом и с другими фирмами. Полученная из баз данных информация может быть использована и в некомпьютерных технических средствах для передачи, тиражирования, хранения.
Текстовый процессор. Это вид прикладного программного обеспечения, предназначенный для создания и обработки текстовых документов. Он позволяет добавлять или удалять слова, перемещать предложения и абзацы, устанавливать формат, манипулировать элементами текста и режимами и т.д. Когда документ готов, работник переписывает его во внешнюю память, а затем распечатывает и при необходимости передает по компьютерной сети. Таким образом, в распоряжении менеджера имеется эффективный вид письменной коммуникации. Регулярное получение подготовленных с помощью текстового процессора писем и докладов дает возможность менеджеру постоянно оценивать ситуацию на фирме.
Электронная почта. Электронная почта (E - mail), основываясь на сетевом использовании компьютеров, дает возможность пользователю получать, хранить и отправлять сообщения своим партнерам по сети. Здесь имеет место только однонаправленная связь. Это ограничение, по мнению многих исследователей, не является слишком важным, поскольку в пятидесяти случаях из ста служебные переговоры по телефону имеют целью лишь получение информации. Для обеспечения двухсторонней связи придется многократно посылать и принимать сообщения по электронной почте или воспользоваться другим способом коммуникации.
Электронная почта может предоставлять пользователю различные возможности в зависимости от используемого программного обеспечения. Чтобы посылаемое сообщение стало доступно всем пользователям электронной почты, его следует поместить на компьютерную доску объявлений, при желании можно указать, что это частная корреспонденция. Вы также можете послать отправление с уведомлением о его получении адресатом. Когда фирма решает внедрить у себя электронную почту, у нее имеются две возможности. Первая - купить собственное техническое и программное обеспечение и создать собственную локальную сеть компьютеров, реализующую функцию электронной почты. Вторая возможность связана с покупкой услуги использования электронной почты, которая предоставляется специализированными организациями связи за периодически вносимую плату.
Аудиопочта. Это почта для передачи сообщений голосом. Она напоминает электронную почту, за исключением того, что вместо набора сообщения на клавиатуре компьютера вы передаете его через телефон. Также по телефону вы получаете присланные сообщения. Система включает в себя специальное устройство для преобразования аудиосигналов в цифровой код и обратно, а также компьютер для хранения аудиосообщений в цифровой форме. Аудиопочта также реализуется в сети. Почта для передачи аудиосообщений может успешно использоваться для группового решения проблем. Для этого посылающий сообщение должен дополнительно указать список лиц, которым данное сообщение предназначено. Система будет периодически обзванивать всех указанных сотрудников для передачи им сообщения. Главным преимуществом аудиопочты по сравнению с электронной является то, что она проще, при ее использовании не нужно вводить данные с клавиатуры.
Табличный процессор. Он так же, как и текстовый процессор, является базовой составляющей информационной культуры любого сотрудника и автоматизированной офисной технологии. Без знания основ технологии работы в нем невозможно полноценно использовать персональный компьютер в своей деятельности. Функции современных программных сред табличных процессоров позволяют выполнять многочисленные операции над данными, представленными в табличной форме. Объединяя эти операции по общим признакам, можно выделить наиболее многочисленные и применяемые группы технологических операций:
· ввод данных, как с клавиатуры, так и из баз данных;
· обработка данных (сортировка, автоматическое формирование итогов, копирование и перенос данных, различные группы операций по вычислениям, агрегирование данных и т.д.);
· вывод информации в печатном виде, в виде импортируемых файлов в другие системы, непосредственно в базу данных;
· качественное оформление табличных форм представления данных;
· многоплановое и качественное оформление данных в виде диаграмм и графиков;
· проведение инженерных, финансовых, статистических расчетов;
· проведение математического моделирования и ряд других вспомогательных операций.
Электронный календарь. Он предоставляет табличного процессора имеет средства пересылки данных по сети.еще одну возможность использовать сетевой вариант компьютера для хранения и манипулирования рабочим расписанием управленцев и других работников организации. Менеджер (или его секретарь) устанавливает дату и время встречи или другого мероприятия, просматривает получившееся расписание, вносит изменения при помощи клавиатуры. Техническое и программное обеспечение электронного календаря полностью соответствует аналогичным компонентам электронной почты. Более того, программное обеспечение календаря часто является составной частью программного обеспечения электронной почты. Система дополнительно дает возможность получить доступ также и к календарям других менеджеров. Она может автоматически согласовать время встречи с их собственными расписаниями. Использование электронного календаря оказывается особенно эффективным для менеджеров высших уровней управления, рабочие дни которых расписаны надолго вперед.
Компьютерные конференции используют компьютерные сети для обмена информацией между участниками группы, решающей определенную проблему. Естественно, круг лиц, имеющих доступ к этой технологии, ограничен. Количество участников компьютерной конференции может быть во много раз больше, чем аудио- и видеоконференций. В литературе часто можно встретить термин телеконференция. Телеконференция включает в себя три типа конференций: аудио, видео и компьютерную.
Видеотекст. Он основан на использовании компьютера для получения отображения текстовых и графических данных на экране монитора. Для лиц, принимающих решение, имеются три возможности получения информации в форме видеотекста:
· создать файлы видеотекста на своих собственных компьютерах;
· заключить договор со специализированной компанией на получение доступа к разработанным ею файлам видеотекста. Такие файлы, специально предназначенные для продажи, могут храниться на серверах компании, осуществляющей подобные услуги, или поставляться клиенту на магнитных или оптических дисках;
· заключить договоры с другими компаниями на получение доступа к их файлам видео текста.
Обмен каталогами и ценниками (прайс-листами) своей продукции между компаниями в форме видеотекста приобретает сейчас все большую популярность. Что же касается компаний, специализирующихся на продаже видеотекста, то их услуги начинают конкурировать с такой печатной продукцией, как газеты и журналы. Так, во многих странах сейчас можно заказать газету или журнал в форме видеотекста, не говоря уже о текущих сводках биржевой информации.
Хранение изображений. В любой фирме необходимо длительное время хранить большое количество документов. Их число может быть так велико, что хранение даже в форме файлов вызывает серьезные проблемы. Поэтому возникла идея хранить не сам документ, а его образ (изображение), причем хранить в цифровой форме. Хранение изображений (imaging) является перспективной офисной технологией и основывается на использовании специального устройства - оптического распознавателя образов, позволяющего преобразовывать изображение документа или фильма в цифровой вид для дальнейшего хранения во внешней памяти компьютера. Сохраненное в цифровом формате изображении может быть в любой момент выведено в его реальном виде на экран или принтер. Для хранения изображений используются оптические диски, обладающие огромными емкостями. Так, на пятидюймовый оптический диск можно записать около 200 тыс. страниц.
Следует напомнить, что идея хранения изображений не нова и реализовывалась раньше на основе микрофильмов и микрофиш. Созданию данной технологии способствовало появление нового технического решения - оптического диска в комбинации с цифровой записью изображения.
Аудиоконференции. Они используют аудиосвязь для поддержания коммуникаций между территориально удаленными работниками или подразделениями фирмы. Наиболее простым техническим средством реализации аудиоконференций является телефонная связь, оснащенная дополнительными устройствами, дающими возможность участия в разговоре более чем двум участникам. Создание аудиоконференций не требует наличия компьютера, а лишь предполагает использование двухсторонней аудиосвязь между ее участниками. Использование аудиоконференций облегчает принятие решений, оно дешево и удобно. Эффективность аудиоконференций повышается при выполнении следующих условий:
· работник, организующий аудиоконференцию, должен предварительно обеспечить возможность участия в ней всех заинтересованных лиц;
· количество участников конференции не должно быть слишком большим (обычно не более шести), чтобы удержать дискуссию в рамках обсуждаемой проблемы;
· программа конференции должна быть сообщена ее участникам заблаговременно, например, с использованием факсимильной связи;
· перед тем как начать говорить, каждый участник должен представляться;
· должны быть организованы запись конференции и ее хранение;
· запись конференции должна быть распечатана и отправлена всем ее участникам.
Видеоконференции. Они предназначены для тех же целей, что и аудиоконференцию, с применением видеоаппаратуры. Их проведение также не требует компьютера. В процессе видеоконференции ее участники, удаленные друг от друга на значительное расстояние, могут видеть на телевизионном экране себя и других участников. Одновременно с телевизионным изображением передается звуковое сопровождение. Хотя видеоконференции позволяют сократить транспортные и командировочные расходы, большинство фирм применяет их не только по этой причине. Эти фирмы видят в них возможность привлечь к решению проблем максимальное количество менеджеров и других работников, территориально удаленных от главного офиса. Наиболее популярны три конфигурации построения видеоконференций:
· односторонняя видео- и аудиосвязь. Здесь видео- и аудиосигналы идут только в одном направлении, например от руководителя проекта к исполнителям;
· односторонняя видео- и двухсторонняя аудиосвязь. Двухсторонняя аудиосвязь дает возможность участникам конференции, принимающим видеоизображение, обмениваться аудиоинформацией с передающим видеосигнал участником;
· двухсторонняя видео- и аудиосвязь. В этой наиболее дорогой конфигурации используются двухсторонняя видео- и аудиосвязь между всеми участниками конференции, обычно имеющими один и тот же статус.
Факсимильная связь. Эта связь основана на использовании факс-аппарата, способного читать документ на одном конце коммуникационного канала и воспроизводить его изображение на другом. Факсимильная связь вносит свой вклад в принятие решений за счет быстрой и легкой рассылки документов участникам группы, решающей определенную проблему, независимо от их географического положения.
Системы поддержки принятия решений и соответствующая им информационная технология появились усилиями в основном американских ученых в конце 70-х - начале 80-х гг., чему способствовали широкое распространение персональных компьютеров, стандартных пакетов прикладных программ, а также успехи в создании систем искусственного интеллекта.
Главной особенностью информационной технологии поддержки принятия решений является качественно новый метод организации взаимодействия человека и компьютера. Выработка решения, что является основной целью этой технологии, происходит в результате итерационного процесса (рис. 2.6), в котором участвуют:
· система поддержки принятия решений в роли вычислительного звена и объекта управления;
· человек как управляющее звено, задающее входные данные и оценивающее полученный результат вычислений на компьютере.
Рис. 3.6. Информационная технология поддержки принятия решений как итерационный процесс
Окончание итерационного процесса происходит по воле человека. В этом случае можно говорить о способности информационной системы совместно с пользователем создавать новую информацию для принятия решений. Дополнительно к этой особенности информационной технологии поддержки принятия решений можно указать еще ряд ее отличительных характеристик:
· ориентация на решение плохо структурированных (формализованных) задач;
· сочетание традиционных методов доступа и обработки компьютерных данных с возможностями математических моделей и методами решения задач на их основе;
· направленность на непрофессионального пользователя компьютера;
· высокая адаптивность, обеспечивающая возможность приспосабливаться к особенностям имеющегося технического и программного обеспечения, а также требованиям пользователя.
Информационная технология поддержки принятия решений может использоваться на любом уровне управления. Кроме того, решения, принимаемые на различных уровнях управления, часто должны координироваться. Поэтому важной функцией и систем, и технологий является координация лиц, принимающих решения как на разных уровнях управления, так и на одном уровне.
Рассмотрим структуру системы поддержки принятия решений (рис. 2.7), а также функции составляющих ее блоков, которые определяют основные технологические операции.
Рис. 2.7. Основные компоненты информационной технологии поддержки принятия решений
В состав системы поддержки принятия решений входят три главных компонента: база данных, база моделей и программная подсистема, которая состоит из системы управления базой данных (СУБД), системы управления базой моделей (СУБМ) и системы управления интерфейсом между пользователем и компьютером.
База данных играет в информационной технологии поддержки принятия решений важную роль. Данные могут использоваться непосредственно пользователем для расчетов при помощи математических моделей. Рассмотрим источники данных и их особенности.
1. Часть данных поступает от информационной системы операционного уровня. Чтобы использовать их эффективно, эти данные должны быть предварительно обработаны. Для этого имеются две возможности:
· использовать для обработки данных об операциях фирмы систему управления базой данных, входящую в состав системы поддержки принятия решений;
· сделать обработку за пределами системы поддержки принятия решений, создав для этого специальную базу данных. Этот вариант более предпочтителен для фирм, производящих большое количество коммерческих операций. Обработанные данные об операциях фирмы образуют файлы, которые для повышения надежности и быстроты доступа хранятся за пределами системы поддержки принятия решений.
2. Помимо данных об операциях фирмы для функционирования системы поддержки принятия решений требуются и другие внутренние данные, например данные о движении персонала, инженерные данные и т.п., которые должны быть своевременно собраны, введены и поддержаны.
3. Важное значение, особенно для поддержки принятия решений на верхних уровнях управления, имеют данные из внешних источников. В числе необходимых внешних данных следует указать данные о конкурентах, национальной и мировой экономике. В отличие от внутренних данных внешние данные обычно приобретаются у специализирующихся на их сборе организации.
4. В настоящее время широко исследуется вопрос о включении в базу данных еще одного источника данных - документов, включающих в себя записи, письма, контракты, приказы и т.п. Если содержание этих документов будет записано в памяти и затем обработано по некоторым ключевым характеристикам (поставщикам, потребителям, датам, видам услуг и др.), то система получит новый мощный источник информации.
Система управления данными должна обладать следующими возможностями:
· составление комбинаций данных, получаемых из различных источников, посредством использования процедур агрегирования и фильтрации;
· быстрое прибавление или исключение того или иного источника данных;
· построение логической структуры данных в терминах пользователя;
· использование и манипулирование неофициальными данными для экспериментальной проверки рабочих альтернатив пользователя;
· обеспечение полной логической независимости этой базы данных от других операционных баз данных, функционирующих в рамках фирмы.
База моделей. Целью создания моделей являются описание и оптимизация некоторого объекта или процесса. Использование моделей обеспечивает проведение анализа в системах поддержки принятия решений. Модели, базируясь на математической интерпретации проблемы, при помощи определенных алгоритмов способствуют нахождению информации, полезной для принятия правильных решений.
Пример. Модель линейного программирования дает возможность определить наиболее выгодную производственную программу выпуска нескольких видов продукции при заданных ограничениях на ресурсы.
Использование моделей в составе информационных систем началось с применения статистических методов и методов финансового анализа, которые реализовывались командами обычных алгоритмических языков. Позже были созданы специальные языки, позволяющие моделировать ситуации типа "что будет, если ?" или "как сделать, чтобы?". Такие языки, созданные специально для построения моделей, дают возможность построения моделей определенного типа, обеспечивающих нахождение решения при гибком изменении переменных. Существует множество типов моделей и способов их классификации, например по цели использования, области возможных приложений, способу оценки переменных и т. п.
По цели использования модели подразделяются на оптимизационные, связанные с нахождением точек минимума или максимума некоторых показателей (например, управляющие часто хотят знать, какие их действия ведут к максимизации прибыли или минимизации затрат), и описательные, описывающие поведение некоторой системы и не предназначенные для целей управления (оптимизации).
По способу оценки модели классифицируются на детерминистские, использующие оценку переменных одним числом при конкретных значениях исходных данных, и стохастические, оценивающие переменные несколькими параметрами, так как исходные данные заданы вероятностными характеристиками.
Детерминистские модели более популярны, чем стохастические, потому что они менее дорогие, их легче строить и использовать. К тому же часто с их помощью получается вполне достаточная информация для принятия решения.
По области возможных приложений модели разбираются на специализированные, предназначенные для использования только одной системой, и универсальные- для использования несколькими системами.
Специализированные модели более дорогие, они обычно применяются для описания уникальных систем и обладают большей точностью. В системах поддержки принятия решения база моделей состоит из стратегических, тактических и оперативных моделей, а также математических моделей в виде совокупности модельных блоков, модулей и процедур, используемых как элементы для их построения (см. рис. 2.7).
Стратегические модели используются на высших уровнях управления для установления целей организации, объемов ресурсов, необходимых для их достижения, а также политики приобретения и использования этих ресурсов. Они могут быть также полезны при выборе вариантов размещения предприятий, прогнозировании политики конкурентов и т.п. Для стратегических моделей характерны значительная широта охвата, множество переменных, представление данных в сжатой агрегированной форме. Часто зги данные базируются на внешних источниках и могут иметь субъективный характер. Горизонт планирования в стратегических моделях, как правило, измеряется в годах. Эти модели обычно детерминистские, описательные, специализированные для использования на одной определенной фирме.
Тактические модели применяются управляющими среднего уровня для распределения и контроля использования имеющихся ресурсов. Среди возможных сфер их использования следует указать: финансовое планирование, планирование требований к работникам, планирование увеличения продаж, построение схем компоновки предприятий. Эти модели применимы обычно лишь к отдельным частям фирмы (например, к системе производства и сбыта) и могут также включать в себя агрегированные показатели. Временной горизонт, охватываемый тактическими моделями, ≈ от одного месяца до двух лет. Здесь также могут потребоваться данные из внешних источников, но основное внимание при реализации данных моделей должно быть уделено внутренним данным фирмы. Обычно тактические модели реализуются как детерминистские, оптимизационные и универсальные.
Оперативные модели используются на низших уровнях управления для поддержки принятия оперативных решений с горизонтом, измеряемым днями и неделями. Возможные применения этих моделей включают в себя ведение дебиторских счетов и кредитных расчетов, календарное производственное планирование, управление запасами и т.д. Оперативные модели обычно используют для расчетов внутрифирменные данные. Они, как правило, детерминистские, оптимизационные и универсальные (т.е. могут быть использованы в различных организациях).
Математические модели состоят из совокупности модельных блоков, модулей и процедур, реализующих математические методы. Сюда могут входить процедуры линейного программирования, статистического анализа временных рядов, регрессионного анализа и т.п. от простейших процедур до сложных ППП. Модельные блоки, модули и процедуры могут использоваться как поодиночке, так и комплексно для построения и поддержания моделей.
Система управления базой моделей должна обладать следующими возможностями: создавать новые модели или изменять существующие, поддерживать и обновлять параметры моделей, манипулировать моделями.
Эффективность и гибкость информационной технологии во многом зависят от характеристик интерфейса системы поддержки принятия решений. Интерфейс определяет: язык пользователя; язык сообщений компьютера, организующий диалог на экране дисплея; знания пользователя.
Язык пользователя - это те действия, которые пользователь производит в отношении системы путем использования возможностей клавиатуры; электронных карандашей, пишущих на экране; джойстика; "мыши"; команд, подаваемых голосом, и т.п. Наиболее простой формой языка пользователя является создание форм входных и выходных документов. Получив входную форму (документ), пользователь заполняет его необходимыми данными и вводит в компьютер. Система поддержки принятия решений производит необходимый анализ и выдает результаты в виде выходного документа установленной формы. Значительно возросла за последнее время популярность визуального интерфейса. С помощью манипулятора "мышь" пользователь выбирает представленные ему на экране в форме картинок объекты и команды, реализуя таким образом свои действия.
Управление компьютером при помощи человеческого голоса - самая простая и поэтому самая желанная форма языка пользователя. Она еще недостаточно разработана и поэтому малопопулярна. Существующие разработки требуют от пользователя серьезных ограничений: определенного набора слов и выражений; специальной надстройки, учитывающей особенности голоса пользователя; управления в виде дискретных команд, а не в виде обычной гладкой речи. Технология этого подхода интенсивно совершенствуется, и в ближайшем будущем можно ожидать появления систем поддержки принятия решений, использующих речевой ввод информации.
Язык сообщений - это то, что пользователь видит на экране дисплея (символы, графика, цвет), данные, полученные на принтере, звуковые выходные сигналы и т.п. Важным измерителем эффективности используемого интерфейса является выбранная форма диалога между пользователем и системой. В настоящее время наиболее распространены следующие формы диалога: запросно-ответный режим, командный режим, режим меню, режим заполнения пропусков в выражениях, предлагаемых компьютером. Каждая форма в зависимости от типа задачи, особенностей пользователя и принимаемого решения может иметь свои достоинства и недостатки. Долгое время единственной реализацией языка сообщений был отпечатанный или выведенный на экран дисплея отчет или сообщение. Теперь появилась новая возможность представления выходных данных - машинная графика. Она дает возможность создавать на экране и бумаге цветные графические изображения в трехмерном виде. Использование машинной графики, значительно повышающее наглядность и интерпретируемость выходных данных, становится все более популярным в информационной технологии поддержки принятия решений.
За последние несколько лет наметилось новое направление, развивающее машинную графику, - мультипликация. Мультипликация оказывается особенно эффективной для интерпретации выходных данных систем поддержки принятия решений, связанных с моделированием физических систем и объектов.
В ближайшие годы следует ожидать использования в качестве языка сообщений человеческого голоса. Сейчас эта форма применяется в системе поддержки принятия решений сферы финансов, где в процессе генерации чрезвычайных отчетов голосом поясняются причины исключительности той или иной позиции.
Знания пользователя - это то, что пользователь должен знать, работая с системой. К ним относятся не только план действий, находящийся в голове у пользователя, но и учебники, инструкции, справочные данные, выдаваемые компьютером. Совершенствование интерфейса системы поддержки принятия решений определяется успехами в развитии каждого из трех указанных компонентов. Интерфейс должен обладать следующими возможностями:
· манипулировать различными формами диалога, изменяя их в процессе принятия решения по выбору пользователя;
· передавать данные системе различными способами;
· получать данные от различных устройств системы в различном формате;
· гибко поддерживать (оказывать помощь по запросу, подсказывать) знания пользователя.
Наибольший прогресс среди компьютерных информационных систем отмечен в области разработки экспертных систем, основанных на использовании искусственного интеллекта. Экспертные системы дают возможность менеджеру или специалисту получать консультации экспертов по любым проблемам, о которых этими системами накоплены знания.
Под искусственным интеллектом обычно понимают способности компьютерных систем к таким действиям, которые назывались бы интеллектуальными, если бы исходили от человека. Чаще всего здесь имеются в виду способности, связанные с человеческим мышлением. Работы в области искусственного интеллекта не ограничиваются экспертными системами. Они также включают в себя создание роботов, систем, моделирующих нервную систему человека, его слух, зрение, обоняние, способность к обучению. Решение специальных задач требует специальных знаний. Однако не каждая компания может себе позволить держать в своем штате экспертов по всем связанным с ее работой проблемам или даже приглашать их каждый раз, когда проблема возникла. Главная идея использования технологии экспертных систем заключается в том, чтобы получить от эксперта его знания и, загрузив их в память компьютера, использовать всякий раз, когда в этом возникнет необходимость. Являясь одним из основных приложений искусственного интеллекта, экспертные системы представляют собой компьютерные программы, трансформирующие опыт экспертов в какой-либо области знаний в форму эвристических правил (эвристик). Эвристики не гарантируют получения оптимального результата с такой же уверенностью, как обычные алгоритмы, используемые для решения задач в рамках технологии поддержки принятия решений. Однако часто они дают в достаточной степени приемлемые решения для их практического использования. Все это делает возможным использовать технологию экспертных систем в качестве советующих систем.
Сходство информационных технологий, используемых в экспертных системах и системах поддержки принятия решений, состоит в том, что обе они обеспечивают высокий уровень поддержки принятия решений. Однако имеются три существенных различия. Первое связано с тем, что решение проблемы в рамках систем поддержки принятия решений отражает уровень ее понимания пользователем и его возможности получить и осмыслить решение. Технология экспертных систем, наоборот, предлагает пользователю принять решение, превосходящее его возможности. Второе отличие указанных технологий выражается в способности экспертных систем пояснять свои рассуждения в процессе получения решения. Очень часто эти пояснения оказываются более важными для пользователя, чем само решение. Третье отличие связано с использованием нового компонента информационной технологии - знаний.
Основными компонентами информационной технологии, используемой в экспертной системе, являются (рис. 2.8): интерфейс пользователя, база знаний, интерпретатор, модуль создания системы.
Рис. 2.8. Основные компоненты информационной технологии экспертных систем
Менеджер (специалист) использует интерфейс для ввода информации и команд в экспертную систему и получения выходной информации из нее. Команды включают в себя параметры, направляющие процесс обработки знаний. Информация обычно выдается в форме значений, присваиваемых определенным переменным. Менеджер может использовать четыре метода ввода информации: меню, команды, естественный язык и собственный интерфейс. Технология экспертных систем предусматривает возможность получать в качестве выходной информации не только решение, но и необходимые объяснения. Различают два вида объяснений:
· объяснения, выдаваемые по запросам. Пользователь в любой момент может потребовать от экспертной системы объяснения своих действий;
· объяснения полученного решения проблемы. После получения решения пользователь может потребовать объяснений того, как оно было получено. Система должна пояснить каждый шаг своих рассуждении, ведущих к решению задачи.
Хотя технология работы с экспертной системой не является простой, пользовательский интерфейс этих систем является дружественным и обычно не вызывает трудностей при ведении диалога.
Она содержит факты, описывающие проблемную область, а также логическую взаимосвязь этих фактов. Центральное место в базе знаний принадлежит правилам. Правило определяет, что следует делать в данной конкретной ситуации, и состоит из двух частей: условия, которое может выполняться или нет, и действия, которое следует произвести, если условие выполняется. Все используемые в экспертной системе правила образуют систему правил, которая даже для сравнительно простой системы может содержать несколько тысяч правил. Все виды знаний в зависимости от специфики предметной области и квалификации проектировщика (инженера по знаниям) с той или иной степенью адекватности могут быть представлены с помощью одной либо нескольких семантических моделей. К наиболее распространенным моделям относятся логические, продукционные, фреймовые и семантические сети.
Это часть экспертной системы, производящая в определенном порядке обработку знаний (мышление), находящихся в базе знаний. Технология работы интерпретатора сводится к последовательному рассмотрению совокупности правил (правило за правилом). Если условие, содержащееся в правиле, соблюдается, выполняется определенное действие, и пользователю предоставляется вариант решения его проблемы.
Кроме того, во многих экспертных системах вводятся дополнительные блоки: база данных, блок расчета, блок ввода и корректировки данных. Блок расчета необходим в ситуациях, связанных с принятием управленческих решений. При этом важную роль играет база данных, где содержатся плановые, физические, расчетные, отчетные и другие постоянные или оперативные показатели. Блок ввода и корректировки данных используется для оперативного и своевременного отражения текущих изменений в базе данных.
Он служит для создания набора (иерархии) правил. Существуют два подхода, которые могут быть положены в основу модуля создания системы: использование алгоритмических языков программирования и использование оболочек экспертных систем. Для представления базы знаний специально разработаны языки Лисп и Пролог, хотя можно использовать и любой известный алгоритмический язык.
Оболочка экспертных систем представляет собой готовую программную среду, которая может быть приспособлена к решению определенной проблемы путем создания соответствующей базы знаний. В большинстве случаев использование оболочек позволяет создавать экспертные системы быстрее и легче в сравнении с программированием.
Биллинговая система (от англ. bill – счет, billing – выписывание счета) - система, вычисляющая стоимость услуг связи для каждого клиента и хранящие информацию обо всех тарифах и прочих стоимостных характеристиках, которые используются телекоммуникационными операторами для выставления счетов абонентам и взаиморасчетов с другими поставщиками услуг. Цикл выполняемых ими операций именуется биллингом. Биллинговая система (БС) представляет собой бухгалтерскую систему, программное обеспечение разработанное специально для телекоммуникационных операторов. Биллинговые системы используются как в телефонии (проводной и сотовой), так и в сетях передачи данных (интернет провайдеры), а так же имеет место в IP-телефонии. Любая БС создается на основе определенной системы управления базами данных (СУБД). Большинство БС в мире создавалось на основе СУБД Oracle. Среди других СУБД можно выделить Sybase и Informix как рассчитанные на большие объемы информации. А вот названия некоторых биллинговых систем: BIS, Flagship, CBOSS, Arbor, Bill-2000-prepaid. Стоит упомянуть, что под БС как правило подразумевает и аппаратное обеспечение, участвующие в организации биллинга.
Существуют несколько названий биллинговой системы: АСР - автоматизированная система расчетов; ИБС - информационная биллинговая система.
Одним из важных качеств БС является ее гибкость, то есть способность приспосабливаться к изменившимся обстоятельствам. Гибкая система адаптирована не только к одномоментным потребностям оператора; за счет таких качеств, как настраиваемость, модульность и открытость она позволяет решать перспективные задачи. Модульный принцип построения системы - это такой принцип, при котором вся система собирается из отдельных частей (модулей). БС тоже состоит из таких модулей - подсистем. БС включает в себя, например, подсистему предварительной обработки данных, подсистему оперативного управления биллингом, подсистему оповещения клиентов. Под открытостью системы подразумевается открытость исходного кода программного продукта, что позволяет оператору не зависеть от разработчика в будущем и самостоятельно обслуживать и модернизировать систему. Тесно связано с гибкостью БС и следующее качество автоматизированных систем расчета - масштабируемость.
Масштабируемость по нагрузке. При росте абонентской базы, появлении дополнительных услуг не должна появляться необходимость изменять или дорабатывать программную часть БС. Увеличение возможностей БС должно достигаться за счет модернизации аппаратной части системы. При проектировании масштабируемых систем необходимо использовать СУБД, рассчитанные на большие объемы данных. СУБД должна быть совместима с различными компьютерными платформами, чтобы обеспечивать поддержку многопроцессорного режима работы.
Надежность - одно из основных требований, предъявляемым к любой системе. Надежность БС определяется надежностью СУБД и технологий, используемых при разработке системы. Далеко не последнее место занимает надежность поставщика (разработчика) прикладного программного обеспечения: время его работы на рынке и, как косвенный показатель, процент присутствия разработанных им систем на телекоммуникационном рынке. Однако надежность БС обеспечивается также соблюдением определенных стандартов при их разработке.
Мультиязычность - возможность устанавливать различные языки для представления информации.
Мультивалютность - возможность работать с любыми валютами
Отложенный биллинг - биллинг, при котором расчеты производятся после состоявшихся звонков.
Горячий биллинг - изменение баланса счета происходит в процессе разговора, и информацию об остатке на Вашем счету можно получить сразу после звонка.
Оптимизация биллинга - улучшение, совершенствование оператором своей БС.
Большие БС - системы, применяемые крупными операторами.
Постинг биллинга - фиксация результатов расчета биллинга; после расчетов результаты становятся доступными пользователям (рассылаются, печатаются).
Так как БС предназначена для автоматизации расчетов с клиентом, то она и должна обеспечивать автоматизацию начиная с заключения договора до выписки счетов за услуги сотовой связи, причем корректно. При помощи подсистем автоматических услуг и автоматического сбора данных АСР должна предоставлять абонентам возможность самообслуживания. Некоторые БС позволяют абонентам оформлять заказы на подключение и производить оплату услуг через Интернет.
Схема организации биллинга не сложна: информация о соединениях и их продолжительности записывается коммутатором и после предварительной обработки передается в расчетную систему. Расчетной системе "известны" тарифы. Она идентифицирует вызов и выполняет необходимые расчеты, формируя тем самым счет абонента. Очевидно, что в памяти системы должны храниться не только нормативы, тарифы и информация об услугах, но и данные о клиентах, заключенных контрактах с абонентами и сторонними поставщиками услуг связи (если таковые имеются), а также о стоимости передачи информации по разным каналам и направлениям (системой должно быть также предусмотрено наличие дилеров: у них могут быть другие расценки, например, на подключение). Кроме этого, любая БС должна иметь базу, хранящую историю платежей: только эти сведения позволяют контролировать процесс оплаты и автоматизировать так называемую активацию/деактивацию абонентов. Эту функцию БС можно еще назвать защитной, так как она не позволяет пользоваться услугами связи тем, кто за них не платит.
Рис. 2.9. Структура биллинговой системы
По функциональным возможностям БС можно разделить на три класса: предназначенные для транснациональных операторов связи, заказные национального масштаба и системы среднего класса для региональных сетей.
БС, относящиеся к первому классу, должны обеспечивать взаимодействие сетей на межнациональном уровне, в различных временных зонах, т.е. они должны быть мультивалютными и мультиязычными.
Заказные системы национального масштаба создаются под определенного оператора. Оператору может понадобиться новая БС, совместимая с уже существующей расчетной системой. Разумеется, стоимость таких единичных систем значительно выше.
В масштабе региона можно вполне обойтись стандартными БС. Однако и такие системы должны обладать качествами, перечисленными выше: гибкостью, масштабируемостью, надежностью. Любая БС создается и настраивается на бизнес-процесс определенного оператора связи, имеет собственный набор функций, соответствующий технологическому циклу предоставления услуг, и может работать с конкретным сетевым оборудованием, поставляющим ей информацию о вызовах и соединениях, - то есть БС не является "коробочным" продуктом. Но существует и стандартный набор функций, поддерживаемых практически всеми БС. В него входят:
· операции, выполняемые на этапе предварительной обработки и анализа исходной информации, например, функция получения данных о соединениях и услугах (запросы к коммутатору);
· операции управления сетевым оборудованием: функции активации/деактивации (блокировки/разблокировки) абонентов и команды изменения условий подписки абонентов, передаваемые непосредственно в коммутатор;
· основные функции приложения СУБД, включающие в себя: тарификацию записей коммутатора о вызовах и услугах; формирование и редактирование таблиц базы данных расчетной системы; выставление счетов и их печать; кредитный контроль счетов; составление отчетов; архивацию.
Как уже было сказано, БС должна обладать гибкостью или модульностью. Каждый элемент АСР обеспечивает реализацию конкретного участка технологической цепочки обслуживания клиента. Основные подсистемы, характерные для биллинга, это: подсистема предварительной обработки данных о соединениях, оперативное управление биллингом и подсистема оповещения клиентов.
Это приложение анализирует исходную информацию о соединении, определяет класс предоставляемой услуги и параметры трафика (направление вызова, источник, зоны взаиморасчетов, условия роуминга). В состав данной подсистемы входит декодер исходной информации о соединениях. Одна из сложнейших процедур этой подсистемы - поддержка роуминга. Дело в том, что требуется конвертировать роуминговые записи всевозможных форматов от разных коммутаторов (с учетом различных стандартов передачи информации в канале связи) и разных биллинговых систем в тот формат записи, которым пользуется данная БС. Программное обеспечение (ПО) тарифицирует все записи о соединениях между операторами (согласно проходящему трафику) и создает служебные таблицы, которые используются остальными подсистемами для выполнения расчетов с абонентами, взаиморасчетов операторов связи и формирования отчетов. Современные БС позволяют обрабатывать различные телекоммуникационные услуги, обеспечивая удобное выставление счетов (один клиент - один баланс - один счет). Это достигается за счет применения "интеллектуальных систем" предварительной обработки исходной информации о соединениях, трафике и услугах, выполняющих тарификацию независимо от вида связи.
Данная подсистема дает возможность автоматически или через оператора биллинговой системы изменять условия подписки абонентов на коммутаторе, т.е. блокировать связь конкретного абонента или снимать эту блокировку, включать или отменять услугу. Вы звоните оператору и говорите: "Включите мне, пожалуйста, голосовой ящик". Вам отвечают: "Пожалуйста, назовите свой номер". После еще нескольких "обменов любезностями" Ваш голосовой ящик оказывается включенным.
Неотъемлемая часть современного биллинга - подсистема оповещения клиентов с помощью голосовых или электронных сообщений. Информацию для рассылки уведомлений и объявлений данная подсистема берет из таблиц базы. Перечисленное деление на функциональные подсистемы не является "строгим" для всех БС. Это лишь пример "классической" АСР.
Чтобы обеспечить взаимопонимание между различными БС разных операторов (это, например, требуется при роуминге), были разработаны группы стандартов биллинга. Основных международных групп стандартов три.
В 1998 г. американский институт стандартов ANSI утвердил стандарт ANSI 124. Дальнейшим усовершенствованием и поддержкой ANSI 124 занимается ассоциация TIA. После этого компания CIBERNET создала рабочую группу для определения спецификаций бизнес-процессов при передаче сообщений в стандарте ANSI 124, которые получили название NSDP-B&S. Данные спецификации устанавливают однозначное соответствие между бизнес-процессами телекоммуникационных операторов и информацией, передаваемой при обмене данными между коммутаторами по стандарту ANSI 124.
В 1998 г. было опубликовано описание первого североамериканского биллингового стандарта CIBER, который в настоящее время поддерживается фирмой CIBERNET и ее комитетом CAC-IS. Этот комитет объединяет разработчиков биллинговых систем и телекоммуникационных операторов. Главная область применения CIBER - сотовые сети стандарта AMPS .
Европейский (по происхождению) стандарт ТАР появился в 1992 г. Он поддерживается рабочей группой TADIG. Большинство операторов Европы используют ТАР2, хотя существует и третья версия. С 1995 г. модификация ТАР2, известная как спецификация TD.27, или NAGTAP2, начала применяться и в США.
Как известно, в теории маркетинга принято рассматривать четыре основные концепции рыночной ориентации компании. Первые две из них - производственно-ориентированная и продукто-ориентированная концепции - так или иначе утверждают, что компания будет иметь успех, если ее товар обладает наивысшим качеством и наименьшей ценной. Т.е. эти концепции направлены на улучшение производственного процесса. Две другие концепции - ориентированность на продажи и концепция маркетинга - сводятся к тому, что фирма должна вести агрессивную политику продаж, постоянно изучать нужды и потребности целевых рынков и удовлетворять их на более высоком уровне, чем конкуренты. В соответствии с этим, в последнее время появился такой подход работы фирмы с клиентами, как кастомизация. Фирма не просто изучает потребности своего целевого рынка, а пытается определить нужды каждого клиента, его индивидуальные предпочтения и предлагает ему уникальный продукт. Такой подход наиболее распространен в сфере услуг, хотя его применение можно найти и в других областях бизнеса.
Можно с уверенностью сказать, что в современном мире ориентация фирмы на одну из четырех концепций не приведет к успеху, хотя раньше компания могла стать лидером на рынке, используя только производственно-ориентированную теорию. Сейчас в идеальном случае компания в своей деятельности должна учитывать все концепции маркетинга, перечисленные выше. Современные технологии позволяют не только существенно уменьшить затраты по ведению данной стратегии, но и повысить эффективность применения каждой концепции маркетинга в деятельности фирмы.
В последнее время для оптимизации и автоматизации внутренней деятельности фирмы применяются так называемые ERP (Enterprise Resources Planning) системы, направленные на усовершенствование таких процессов, как планирование, изготовление, учет и контроль. При разработке и внедрении ERP-систем в компании клиент рассматривается как "элемент внешнего мира" и определяющего влияния не оказывает. Другими словами, ERP-системы направлены на достижение конкурентных преимуществ за счет оптимизации внутренних бизнес-процессов.
В этом отношении противоположными являются CRM (Customer Relationships Management) системы, в центре внимания которых находится клиент компании. CRM-системы позволяют "интегрировать" клиента в сферу организации - фирма получает максимально возможную информацию о своих клиентах и их потребностях и, исходя из этих данных, строит свою организационную стратегию, которая касается всех аспектов ее деятельности: производства, рекламы, продаж, дизайна, обслуживания и пр. Именно этим системам и посвящен данный обзор.
В настоящее время мировой рынок ERP-систем так или иначе стабилизировался, а рынок систем CRM еще только развивается. По некоторым данным в 1999 году рынок CRM-систем составлял около 3 млрд. долларов, а в 2002 и 2003 годах приблизится к 12 млрд. и 17 млрд. долларов соответственно. Уже сейчас многие компании, которые внедрили данные системы, получают от них большую отдачу. Дополнительной эффективности организация может добиться и от их интеграции. Иногда уже сами разработчики предлагают ERP-системы с элементами систем CRM.
Рассмотрим причины возникновения CRM-систем. Существует множество проблем, возможность решения которых предоставляет внедрение этих систем.
Совершенная конкуренция. Современные технологии привели к тому, что покупатель получает доступ к любой части рынка при малых транзакционных издержках, асимметричность информации стала почти равна нулю и пр. Поэтому основной задачей для компании является удержание имеющихся клиентов.
Мультиканальность взаимоотношений. Контакт между клиентом и фирмой может осуществляться разными способами - телефон, факс, web-сайт, почта, личный визит. И клиент ожидает, что вся получаемая по этим каналам информация при следующем взаимоотношении будет рассматриваться компанией во всей совокупности.
Изменение рыночной ориентации компаний. Переход большинства компаний от продукто- и производственно-ориентированных концепций к концепциям маркетинга. Многими компаниями пределы качества и минимизации издержек уже достигнуты (в том числе от использования ERP-систем), и клиенты больше обращают внимание на моменты, сопровождающие покупку и обслуживание.
Кроме того, необходимо учитывать, что в становлении CRM-систем важную роль сыграло развитие информационных и коммуникационных технологий, без которых не могли бы существовать приложения, лежащие в основе CRM-систем, и связи между этими приложениями.
CRM-приложения позволяют компании отслеживать историю развития взаимоотношений с заказчиками, координировать многосторонние связи с постоянными клиентами и централизованно управлять продажами и клиент-ориентированным маркетингом, в том числе через Интернет. CRM-системы базируются на довольно давно известных приложениях, которые частично позволяли улучшить отношения с покупателями. Это такие системы, как SFA (Sales Force Automation - система автоматизации работы торговых агентов), SMS (Sales & Marketing System - система информации о продажах и маркетинге), CSS (Customer Support System - система обслуживания клиентов). CRM-системы содержат возможности этих приложений, но предлагают и новые функции. Внедрение CRM-системы сказывается на работе почти всех подразделений фирмы, а не только отдела продаж. Именно через эту систему организована обратная связь клиента компании со всей организацией в целом.
Попробуем определить, что же такое CRM-система и какие у нее функции. CRM - это система (набор взаимосвязанных компонентов), входными элементами которой, в первую очередь, являются все данные, связанные с клиентом компании, а выходными - информация, которая влияет на поведение компании в целом или на поведение ее отдельных элементов (вплоть до конкретного работника компании). Проще говоря, CRM-система - это набор приложений, которые позволяют, во-первых, собирать информацию о клиенте, во-вторых, ее хранить и обрабатывать, в третьих, делать определенные выводы на базе этой информации, экспортировать ее в другие приложения или просто при необходимости предоставлять эту информацию в удобном виде. Собственно, эти моменты и являются ключевыми функциями CRM-систем.
Сбор информации. Система позволяет сотруднику организации удобным способом вводить информацию о клиенте в базу данных, либо же самому клиенту вводить эту информацию (например, при регистрации или покупке товара в интернет-магазине). В CRM-систему вводятся все доступные сведения о клиенте. Естественно, учитывается и информация, которая относится к взаимодействию клиент-компания (цель взаимодействия - покупка, получение информации; при покупке - описание купленного товара, цена, количество, цель покупки, вид оплаты и пр.). Кроме того, в систему вводится личная информация клиента (возраст, семейное положение, ежегодный доход, имущество и пр.). Все эти данные обновляются при каждом взаимодействии компании с клиентом, т.е. при любом контакте между двумя сторонами, будь то личное посещение компании клиентом, связь по телефону, почте, факсу или через Интернет.
Хранение и обработка. Система позволяет сохранять и ранжировать полученную информацию в соответствии с заданными критериями. Причем все сведения хранятся в стандартной для корпорации форме (обычно используется технология Microsoft SQL Server). Кроме того, CRM-система в соответствии с заданными параметрами может анализировать полученную информацию с целью ее последующего экспорта.
Экспорт информации. Предоставление информации CRM-системой является ее главной функцией. Сведения, хранящиеся в системе, могут быть затребованы различными подразделениями и в разном виде. Например, система CRM на основе экстраполяции исторических данных может определить, какой товар предпочтительнее предложить определенному клиенту. Если клиент является постоянным покупателем, система напомнит, что ему полагается скидка. Наконец, сотруднику компании может просто понадобиться информация об исторических контактах клиента с фирмой, и система предоставит эти сведения в наглядном виде. Естественно, предусмотрена возможность выводить информацию как по отдельному клиенту, так и по целевой группе (если для сотрудника отдела продаж интересна информация по определенному клиенту, то для отдела маркетинга, скорее, будут важны агрегированные сведения по определенной группе).
Говоря об использовании данных, которые может генерировать CRM-система, нужно заметить, что не только сотрудники компании могут воспользоваться этой информацией, но и непосредственно сам клиент. Причем современные технологии позволяют это сделать без какой-либо помощи сотрудников организации. Как уже было сказано, CRM-система оперирует с историческими данными, связанными с взаимоотношениями клиента и компании, но это не исчерпывает все ее возможности. Иногда CRM-система позволяет клиенту, который впервые обращается к компании, подобрать необходимый ему продукт в режиме реального времени. Клиент вводит данные о продукте, который, по его мнению, может предложить компания, а система, обработав эти данные, выдает ему список товаров, соответствующих введенным параметрам. Для этого в системе должны находиться сведения по всем предлагаемым товарам компании. Эти данные могут быть автоматически импортированы из той части ERP-системы, которая отвечает за учет произведенной продукции.
CRM-системы являются гибкими и разносторонними, дают возможность компаниям решать различные задачи. В зависимости от целей, которые ставит перед собой компания, внедряя систему CRM, будут изменяться входящие параметры и способ обработки, анализа этих данных. В соответствии с целью использования, можно выделить три вида стандартных CRM-систем.
Оперативное использование. Система используется сотрудником компании для оперативного доступа к информации по конкретному клиенту в ходе непосредственного взаимоотношения с клиентом - процессов продажи и обслуживания. В этом случае основным компонентом системы является приложение, которое в наглядном виде предоставляет сотруднику накопленную информацию по отдельному клиенту. В первую очередь, от системы требуется хорошая интеграция между всеми подсистемами и возможность пополнять базу данных в процессе любого взаимодействия с клиентом. Данный тип CRM-систем является наиболее распространенным в традиционном бизнесе.
Аналитическое использование. Система используется для анализа различных данных, относящихся как к самому клиенту/клиентам, так и к деятельности фирмы. Осуществляется поиск статистических закономерностей в этих данных для выработки наиболее эффективной стратегии маркетинга, продаж, обслуживания клиентов и т. д. Требуется хорошая интеграция подсистем, большой объем наработанных статистических данных, эффективный аналитический инструментарий, интеграция с другими системами, автоматизирующими деятельность предприятия. Данные, генерируемые такими системами, могут быть затребованы отделом маркетинга, представлены клиенту без посредничества сотрудников компании. Такой тип CRM-систем чаще применяется в электронной коммерции, нежели в традиционном бизнесе.
Коллаборационное использование. CRM-системы предоставляют клиентам возможность гораздо большего влияния на деятельность фирмы в целом, в том числе на процессы разработки дизайна, производства, доставки и обслуживания продукта. Для этого требуются технологии, позволяющие с минимальными затратами подключить клиента к сотрудничеству в рамках внутренних процессов компании. Клиент нередко использует сеть Интернет для доступа к таким системам, и они наиболее распространены в сфере электронной коммерции.
Основная часть современных систем CRM базируется на принципе "Клиент-Сервер", то есть все данные CRM-системы хранятся и обрабатываются в одной централизованной Базе Данных, а клиенты имеют к ним доступ через удаленные терминалы. Клиентами таких CRM-систем могут быть как внешние, так и внутренние по отношению к компании пользователи. Взаимодействие между Клиентом и Сервером может осуществляться на основе Intranet/Internet. В последнем случае для доступа к системе через Internet клиент использует стандартный web-браузер (для поддержки возможностей технологии OLAP используется язык JAVA). Часть "Сервер" обычно состоит из двух приложений - СУБД для хранения, обработки данных и системы OLAP-сервер для анализа этих данных в режиме онлайн. Чаще всего компании используют в качестве СУБД продукты от известных производителей, такие как Oracle, Interbase, Microsoft SQL Server. Индивидуальным решением каждого разработчика CRM-систем обычно является построение OLAP-приложений.
На сегодняшний день наиболее мощным программным сервером управления базами данных для Windows является Microsoft SQL Server 7.0. Это первый программный сервер с интегрированным OLAP-сервером, поддерживающий автоконфигурацию. Большинство CRM-систем построено именно на Microsoft SQL Server 7.0. Основными преимуществами этого продукта при работе с данными являются симметричная многопроцессорная обработка, встроенные механизмы тиражирования, тесная интеграция с Internet и электронной почтой и др. SQL Server ведет авто-статистику, содержит модуль Web Assistant, который помогает публиковать данные (в форматах text и image) в Сети. Утилита SQL Trace позволяет в графическом виде фиксировать активность клиентов. Большим достоинством Microsoft SQL Server 7.0 является его тесная интеграция с продуктами семейства Microsoft BackOffice, что делает данную СУБД идеальным инструментом для построения и администрирования корпоративных баз данных. Кроме того, SQL Server предусматривает связь с внешними источниками хранения больших объемов данных (например, с мэйнфреймами при помощи Microsoft SNA Server).
При разработке CRM-систем конкурентом Microsoft SQL Server 7.0 может быть база данных Oracle8i компании Oracle. Система Oracle8i базируется на СУБД Oracle8 и предназначена для вычислений и обработки данных в Интернет. Несомненным преимуществом данной СУБД является то, что она может работать под управлением почти любой современной ОС (а не только под Windows, как Microsoft SQL Server). Oracle8i поддерживает мультимедийные данные и онлайновую обработку транзакций (OLTP). Это единственная система, в которой есть интегрированные инструментальные средства для управления информацией Web, позволяющие пользователям работать с данными при высокой степени безопасности и надежности. Концепция Oracle8i - применение языка Java на всех уровнях обработки данных, включая VM Java на сервере Oracle8i.
Стоит отметить, что реализация серверной части CRM-систем в некоторых случаях может быть построена по принципу ASP (application service provider): компания-пользователь арендует все ПО CRM-системы, которое находится на сервере поставщика. Все клиенты (в том числе и администратор) этих систем имеют доступ к приложению при помощи сети Интернет. В общем случае ASP обеспечивает доступ к бизнес-приложению по той или иной схеме на условиях помесячной оплаты, взимаемой с компании-покупателя этого приложения. В обязанности фирмы, предлагающей услугу ASP, входит предоставление заказчику программного обеспечения, аппаратных средств и сетевой инфраструктуры, необходимых для работы приложений. ASP обеспечивает также обработку результатов, системную интеграцию и обучение.
Прежде чем говорить более подробно о CRM системах, используемых в электронной коммерции, необходимо определиться с терминологией. Все современные системы CRM, независимо от того, в какой сфере бизнеса они задействованы, так или иначе используют Интернет-технологии. Современные CRM позволяют сотруднику компании получать необходимую информацию о клиенте через Интернет и анализировать ее в режиме реального времени с помощью OLAP-технологий. В связи с этим, очень часто разработчики CRM-систем прибавляют к названию своих продуктов букву "e", но эти "e"-CRM-системы никакого отношения к электронному бизнесу не имеют.
Здесь же речь пойдет о eCRM-системах как о CRM-системах, которые используются компаниями, работающими в сфере Интернет-коммерции. Помимо того, что эти системы обладают всеми функциями обычных CRM-систем (выявление наиболее прибыльных покупателей, представление в наглядном виде информации по клиенту и пр.), они полностью интегрируются с web-сайтом компании - вся информация с сайта попадает в систему eCRM. Сама система может определять построение сайта и эффективно обслуживать каждого клиента в процессе интернет-покупки или оказания интернет-услуги. eCRM-системы регистрируют и анализируют все контакты между покупателем и продавцом, осуществленные через Web-сайт компании или по электронной почте. Кроме того, эти системы могут быть направлены на разработку и анализ интернет-маркетинга. К тому же, eCRM-система может быть интегрирована отдельным модулем в основную систему CRM, если компания, помимо своей основной деятельности, ведет свой бизнес в Интернет.
Наиболее популярным видом CRM-систем в электронной коммерции являются системы eCRM для интернет-магазинов (на этом рынке присутствует огромное количество разработчиков eCRM-систем). Использование eCRM-систем в фирмах, торгующих через Интернет, происходит на всем протяжении взаимодействия клиента и компании - начиная с поиска потенциальных клиентов и заканчивая доставкой товара. Наконец, eCRM системы могут использоваться компаниями, предоставляющими услуги в Интернет, в частности, финансовые интернет-услуги - банкинг, трейдинг, страхование.
Основной частью интернет-магазина для клиента является Web-сайт магазина. С его помощью клиент получает информацию о товарах и осуществляет их заказ. В поисках необходимого товара клиент перемещается по сайту - использует машину поиска и гиперссылки. В момент заказа клиент вводит информацию о способе и месте доставки, выбирает вид оплаты. Все эти данные должна отслеживать eCRM-система для дальнейшего анализа. Зачастую посетителю предлагается зарегистрироваться на сайте магазина. В этом случае клиент вводит не только информацию, связанную с будущими покупками (место доставки, вид оплаты, имя получателя), но и косвенные данные - семейное положение, доход, вид интересующего товара. Все это также учитывается eCRM-системой.
Рассмотрим стадии взаимодействия клиента и компании и возможные виды применения систем eCRM на этих стадиях.
Рекламный маркетинг - привлечение новых клиентов и поддержание отношений с существующими клиентами. При привлечении новых клиентов основная роль eCRM-систем состоит в определении следующих факторов (по материалам www.hyperion.ru/em.htm ).
· Насколько эффективными являются web-страницы в плане привлечения внимания посетителей.
· Как объем и интенсивность электронной рекламы отражается на объеме продаж.
· Какие средства связи дают больший эффект при проведении рекламных кампаний: электронная почта или обычная почта.
· Какие рекламные кампании дают наибольший коэффициент окупаемости инвестиций.
· Какие ключевые слова наиболее эффективны для тех или иных машин поиска.
При поддержке отношений с постоянными клиентами обычно используется электронная почта. Для этого привлекаются данные, генерируемые eCRM-системой на основе прошлых взаимоотношений компании и клиента. Клиенту необходимо отправлять только ту информацию, которая ему может быть интересна. Например, магазин может известить покупателя о поступившей новинке, на которую клиент оставлял заказ (или которая с большой вероятностью будет ему интересна - новый аудио альбом любимого исполнителя или книга любимого автора). Можно в канун праздников предложить клиенту купить подарки для сотрудников (если он работает в компании) или для своей семьи, причем сразу представить список возможных подарков.
Web-витрина - предоставление товаров клиенту для просмотра. Основной функцией eCRM-системы является правильное расположение товаров и обеспечение удобной навигации по Web-сайту. Интерент-технологии позволяют определить клиента (его компьютер), зашедшего на сайт магазина, и, соответственно, кастомизировать представление товара на витрине, интерфейс сайта и пр. На главной странице сайта можно приветствовать клиента по имени, автоматически определять регион покупателя и доступные в этом регионе товары, извещать клиента о наиболее интересных для него новинках магазина.
В данном случае eCRM-система - это аналитическое приложение, позволяющее прогнозировать и направлять реакцию посетителей web-сайтов. Система должна предусматривать наличие разносторонних критериев оценки и процедур анализа технической эффективности web-сайтов. Давать возможность проводить оценку деятельности, связанной с web-сайтами, по периодам времени, компаниям, ссылкам на URL-адреса, видам продуктов и услуг, представляющим наибольший интерес, а также по многим другим критериям. Анализируя режимы просмотра страниц, среднее количество посещений, тенденции в изменении времени реагирования, процентном изменении среднего количества поданных с сервера страниц и многое другое, система позволяет добиться оптимальной работы web-страниц и положительной реакции посетителей.
Заказ товара - процесс оформления заказа выбранного клиентом товара. Покупатель подтверждает выбор товара, определяет способ, место, время доставки, способ оплаты и пр. Функцией eCRM системы является упрощение этой процедуры. Система должна "помнить" все прошлые заказы клиента и сводить к минимуму информацию, которую должен ввести покупатель.
Доставка товара клиенту - завершающий момент покупки. Система eCRM должна предоставлять клиенту информацию о формировании его заказа. Можно извещать об этом покупателя по электронной почте, причем сотруднику компании необходимо будет лишь ввести в приложение системы несколько переменных.
Сервис-центр - после покупки и доставки товара клиент всегда может обратиться к продавцу за любой помощью через Web-сайт организации или по электронной почте. eCRM система поможет сотруднику компании обработать сообщение - например, по адресу электронной почты клиента определит все взаимоотношения клиент-компания, все покупки, серийные номера и пр. В случае необходимого гарантийного ремонта/замены система определит ближайший пункт гарантийного обслуживания и вышлет туда запрос на обслуживание. Кроме того, система может помочь создать сообщение в адрес клиента о предпринятых действиях.
Таким образом, eCRM система должна быть тесно интегрирована с web-сайтом магазина. Зачастую компании, предлагающие готовые решения для интернет-магазинов в виде интернет-сайтов, интегрируют в эти решения модули, которые могут иметь функции, присущие системам eCRM.
Говоря о финансовых услугах, нужно иметь в виду, что на современном этапе конкуренции наличие хорошо отлаженной CRM-системы является для компании необходимостью - без использования CRM-системы организация не может эффективно обслуживать своих клиентов. Более того, в современные системы, используемые финансовыми компаниями для предоставления услуг через Internet, уже изначально интегрированы системы типа eCRM. Поэтому в данном случае правильнее было бы говорить о eCRM как о подсистеме или модуле, отвечающем за "эффективную работу с клиентом" в рамках общей системы, используемой для предоставления интернет-услуги. При таком подходе, когда система интернет-услуги изначально имеет модуль CRM, сложно определить разделение функций именно этого модуля и остальной части системы интернет-услуги. Ниже приведены функции, которые выделяют сами разработчики систем CRM для финансовых организаций, однако некоторые из них могут показаться спорными, и их можно было бы отнести к функциям самой системы интернет-услуги.
eCRM-Система должна способствовать организации простой и интуитивно понятной для клиента функции самообслуживания. Клиент должен предоставлять минимум информации и затрачивать минимальное время на проведение услуги.
Система должна предоставлять возможность подобрать подходящий для клиента продукт, основываясь на исторической и только что введенной информации, в реальном режиме времени.
Возможность Cross-sels/up-sells. Предоставляя интернет-услуги, система должна в реальном режиме времени предлагать клиенту дополнительный продукт или услугу.
Система должна позволять выявлять наиболее привлекательных клиентов для будущей с ними работы; наглядно представлять для сотрудника финансовой компании историю каждого клиента (в том числе и кредитную).
Система должна позволять определять потенциальные потребности клиента, которые могут быть удовлетворены компанией. Как и традиционная CRM-система, eCRM должна на основе данных о семейном положении, доходах клиента, его постоянных предпочтениях помочь проанализировать, какой финансовый продукт необходим этому клиенту в определенный момент.
Цели применения eCRM-систем в конечном итоге одни и те же, независимо от вида предоставляемой интернет-услуги, будь то интернет-трейдинг, интернет-банкинг или интернет-страхование. Рассмотрим некоторые особенности применения eCRM-систем в зависимости от вида интернет-услуги.
В банковском обслуживании суть услуги (кредитование, депонирование, денежные переводы и пр.) не меняется в зависимости от того, через какие каналы связи осуществляются взаимоотношения между клиентом и компанией. Единственной особенностью применения системы eCRM именно в интернет-банкинге является кастомизирование интерфейса клиентской части системы "Клиент-Банк". eCRM-система должна способствовать наиболее быстрой и легкой аутентификации клиента в банковской системе, выявлять операции, которые чаще всего совершает этот клиент (опять-таки с целью построения кастомизированного интерфейса), то есть создать основу для предложения банком кастомизированных услуг. К подсистеме банковских eCRM-систем можно также отнести организацию дополнительных услуг клиентам, например, возможность для клиента подобрать себе вид заимствования/депонирования (в зависимости от многих параметров) непосредственно на сайте с помощью финансового калькулятора, выполненного в виде java-аплета.
eCRM-системы для интернет-страхования в чем-то схожи с системами eCRM для интернет-магазинов, но в данном случае товаром, приобретаемым через Интернет, является страховой полис. Помимо того, что система собирает и обрабатывает всю информацию о клиенте, полученную со страниц Web-сайта, а также из страхового договора, полиса, переписки по электронной почте и пр., eCRM-система должна выполнять следующие функции.
Подбор индивидуальной страховой программы для каждого нового или постоянного клиента на основе заполнения web-форм. Наиболее ярким примером могут служить американские страховые порталы, которые на основе 10 web-анкет (около ста вопросов) подбирают клиенту в режиме реального времени определенную страховую компанию и ее программу по страхованию.
Обслуживание клиента - предоставление страхователю возможности посмотреть через Интернет на Web-сайте компании состояние оплаты страховки, ее сроки, условия, сообщить о страховом случае и пр.
При подборе страховой программы для постоянного клиента, eCRM-система должна помнить обо всех предыдущих страховках с целью облегчения процесса интернет-покупки. Страховые программы зачастую являются кратко- и среднесрочными - от 1 месяца до года, поэтому страхователю довольно часто приходится возобновлять условия страхования на новый период.
Предоставление целевых программ на основе анализа потенциальных потребностей. С помощью информации, которую собирает CRM-система, сотрудники компании могут предложить клиенту именно те услуги или товары, которые с наибольшей вероятностью заинтересуют клиента. Например, если инвестор обычно открывает рисковые позиции, то брокер может направить в адрес инвестора информацию с предложением о приобретении бросовых облигаций. Если же клиент менее склонен к риску, брокер может предложить более диверсифицированный портфель инвестиций.
Необходимо отметить, что CRM-системы требуют значительно меньшей доработки, чем ERP-приложения, в которых нужно учитывать законодательство по бухгалтерскому, финансовому и хозяйственному учету. CRM-системы относительно легко локализировать в любой стране - основную часть оптимизации составляет перевод.
Зачастую многие компании, разрабатывающие CRM-системы, являются также и разработчиками ERP-систем, и данные системы представляются в едином модуле. В первую очередь это относится к старым участникам рынка этих систем, которые в последнее время предлагают eCRM-системы для электронного бизнеса, базирующиеся на традиционных системах CRM. Однако полноценные eCRM-решения, учитывающие все стороны интернет-технологий, предоставляются относительно молодыми компаниями, разрабатывающими эти системы с нуля. Их главными клиентами являются DOT.COM-организации. В таблице ниже приведены разработчики CRM-систем. Каждый продукт имеет свои сильные и слабые стороны и обладает наилучшей функциональностью, как правило, в одной из областей, притом, другие области несколько "отстают". Нередко это обусловлено тем, с чего начиналось создание продукта (с автоматизации продаж, сервиса или маркетинга). Универсального продукта не существует, поэтому необходимо определить, что является наиболее актуальным для компании, и выбрать соответствующий продукт.
Хотелось бы отметить, что у многих крупных разработчиков нет единого CRM-продукта, который бы постоянно модернизировался и совершенствовался. Компания может поддерживать параллельно сразу несколько CRM-решений, причем одно из них может быть создано довольно давно, но до сих пор присутствовать на рынке и пользоваться спросом, а другое, относительно новое и учитывающее все современные технологии, может только завоевывать рынок.
Сильные стороны |
Краткое описание CRM-системы |
|
Siebel |
Продажи |
Семейство eCRM-систем, предназначенных для построения и анализа деятельности интернет-компаний. Системы дифференцированы по виду деятельности (10 типов) - интернет-продажи, интернет-аукционы, финансовые услуги и пр. Обычные CRM-системы Siebel охватывают всю маркетинговую деятельность традиционных компаний. |
Hyperion |
Маркетинг |
Семейство приложений CRM Analysis базируется на OLAP-сервере, дает возможность анализировать все сферы деятельности фирмы, связанные с клиентами - работа центра продаж и заказов, маркетинг, - способствует обратной связи с клиентом. Существует отдельная eCRM-система, которая нацелена на работу с интернет-маркетингом и улучшение структуры web-сайта. |
Epicor |
eCRM |
Продукт "e by Epicor" идеально подходит для средних компаний традиционной экономики, которые собираются открыть свои интернет-представительства. Система позволяет создать интернет-портал и эффективно им управлять с помощью CRM-системы eFrontOffice, которая анализирует маркетинг, продажи, помогает осуществлять поддержку клиента. |
PeopleSoft |
Маркетинг |
Модуль в одноименной ERP-системе. Четыре приложения CRM-системы Vantive - eHelpDesk, eSales, eService и eFieldService - позволяют сотруднику компании через Интернет получать и анализировать всю накопленную информацию о клиенте. |
NortelNetworks |
Сервис |
Clarify eBusiness - CRM система, предназначенная для интернет-магазинов. Направлена на кастомизацию web-сайта, эффективную поддержку клиента, создание и анализ интернет-маркетинга. Крупнейший клиент - Microsoft. |
Tranzline |
Маркетинг |
Система CRMSoft предназначена для внутренних по отношению к компании пользователей (отдел маркетинга, продаж, обслуживания), имеет стандартную архитектуру "клиент-сервер". Сервер может быть построен на всех SQL СУБД, что дает возможность практически любой компании интегрировать данную систему в свою информационную структуру. |
Pivotal |
eCRM |
Компания предлагает семейство приложений, которые позволяют анализировать данные по продажам, маркетингу и обслуживанию в реальном времени через Интернет, а CRM-система Pivotal eRelationship агрегирует эти данные. Построение CRM-системы может быть по ASP сценарию. |
PeopleLink |
eCRM |
CRM-система направлена на организацию эффективных контактов между контрагентами (C2C, B2C, P2P - partner-to-partner). Позволяет создать интернет-приложения, удовлетворяющие все запросы клиента на протяжении всего цикла, - система описания продукта, система FAQ, web-форумы, чаты и пр. |
S1Corporation |
eCRM (интернет-услуги) |
CRM-система S1Customer является интегрированной частью любой информационной системы S1 для финансовых услуг. S1 Customer собирает всю информацию о клиенте и его операциях, предназначена как для внутренних пользователей (организация целевого маркетинга), так и внешних пользователей (получение отчета о состоянии счета, персонифицированной финансовой информации). |
Genesys |
Сервис |
Компания Genesys является разработчиком программных продуктов для построения всех видов конференций: аудио- и видео- конференций, компьютерных конференций, и web-конференций. |
Open Market |
eCRM |
Набор приложений системы Open Market e-Business Suit (вкл. И CRM) предназначен для построения и управления сайтами, Серверами Приложений (где реализована вся бизнес-логика), интеграции данных по клиентам и поставщикам. Позволяет проводить маркетинговые исследования. |
BroadVision |
eCRM (построение интернет-портала) |
Набор приложений BroadVision позволяет компании вести электронный бизнес - построение и управление кастомизированного корпорационного портала, интернет-магазина, организация интернет-расчетов, разработка и анализ маркетинговой стратегии и пр. |
Vignette |
eCRM (интернет-маркетинг) |
Основная CRM-система Vignette Relationship Management Server (VRMS) позволяет собирать всю информацию о клиентах и поставщиках, сегментировать клиентов на релевантные группы, определять отдачу от маркетинга компании. Другие приложения, основанные на VRMS, могут использоваться для построения систем B2B и B2C. |
SAS |
Маркетинг |
SAS CRM предназначена для отдела маркетинга. Система позволяет обрабатывать всю информацию, полученную от клиента, создавать отчеты по группам, разделять на сегменты, разрабатывать маркетинговую стратегию и пр. |
Exchange Applications |
Маркетинг |
Четыре основные CRM-продукта под общим названием Xchange Dialogue предназначены для получения, обработки информации о клиентах и разработки маркетинговых кампаний. Другая система Xchange Real Time служит для обработки данных в реальном времени при работе клиента на web-сайте. Xchange for Banking - анализ данных о клиентах для построения маркетинговых кампаний с учетом банковской специфики. |
SAP |
еCRM |
Модуль в одноименной ERP-системе - mySAP CRM, состоит из трех компонентов: 1) операционная - агрегирование всей информации, полученной из фронт-офиса, для предоставления сотрудникам компании (бэк-офису); 2) аналитическая; 3) коллаборативная (collaborative) CRM - для осуществления обратной связи через Интернет с клиентами, поставщиками и создания новых продуктов. |
Oracle |
Продажи |
Oracle CRM является интегрированной частью системы для ведения электронного бизнеса E-Business Suite 11i. Данную интеграционную систему отличает низкая цена по сравнению с аналогичными продуктами от SAP, Siebel. CRM-модуль рассчитан на анализ и координацию продаж, управление интернет-магазином. |
Baan |
Продажи |
Модуль в ERP-системе iBaan - iCRM - состоит из подмодулей: 1) iSales - с помощью технологии DBSync на любой удаленный терминал продавец может получить любую информацию по клиентам и продуктам; 2) iPrices - моделирование цен и загрузка в iCRM-FrontOffice. |
Symix |
Продажи |
Приложение SYMIX SyteWeb позволяет создать и настроить Web-сайт с прайсами, каталогами и пр. SyteSelect - позволяет клиенту через Интернет в графической среде сконфигурировать свой уникальный заказ. SytePower - анализ статистики продаж, доходов, прибыли и иных финансовых показателей. Дистрибутор в России - фирма СОКАП www.socap.ru. Больше подходит производителям (промышленным предприятиям), которые сами осуществляют торговлю своим продуктом, в меньшей степени - "чистым" продавцам. |
Intentia |
Продажи |
Компания предлагает несколько систем: eCRM - содержит компоненты Web Shop B2C, B2B - готовые решения для построения интернет-магазинов. Системы для традиционного бизнеса - Movex Sales - ценообразование, статистика продаж, каталоги продукции. Данные из Sales используются в другой системе - Movex Marketing, в которой находятся все сведения о клиентах. Movex Service & Rental - система проектируется для каждой отдельной компании. |
Corema (ICL - принадлежит Fujitsu) |
Продажи |
Используется фирмами розничной торговли Европы и США. Один из успешных примеров ее использования - опыт сети музыкальных магазинов фирмы Camelot Music в США, где реализована программа льготных скидок с использованием технологии хранилищ данных ICL-Retail Systems. Другой пример - магазин фирмы WHSmith: с помощью системы он пережил тяжелые времена. В 1996 г. впервые за 200 лет существования его убытки составили 195 млн. фунтов. В результате проведения программы льгот, на 18% увеличилось число визитов покупателей в магазины, на 26% увеличился размер средней покупки. |
Использование полнофункциональной единой системы управления ресурсами компании может дать огромные преимущества предприятию в организации эффективного управления компанией, увеличении быстроты реакции на изменения внешней среды, повышении качества обслуживания клиентов. Владение подобной системой является довольно существенной статьей затрат компании, и польза от этих затрат должна быть тщательно рассчитана и проанализирована. Для расчета эффективности применяются такие коэффициенты, как:
Показатель возврата инвестиций (ROI);
Совокупная стоимость владения (TCO);
Анализ эффективности затрат (cost-benefits analysis).
Эти коэффициенты не являются независимыми - показатели возврата инвестиций и эффективности затрат рассчитываются на основе совокупной стоимости владения системой. При этом сам расчет совокупной стоимости владения без сравнения остальных параметров не может дать представления о целесообразности использования системы: чем больше пользователей работают в единой системе и сложнее бизнес процессы, которые лежат в основе системы, тем выше будет совокупная стоимость владения, но и польза от подобной системы, обеспечивающей единое информационное пространство, будет неоспоримо выше.
В зависимости от внутренних корпоративных требований компания может выбирать свои показатели эффективности. В настоящей статье мы попробуем отразить факторы, которые необходимо принимать в расчет при расчете требуемых коэффициентов эффективности.
Как показывает мировая практика, большие компании меняют компьютерную систему управления, или переходит на принципиально новую версию системы каждые 5 лет. Это связано с различными факторами.
Пересмотр своих бизнес процессов
· Изменение стратегических целей компании ;
· Усиление конкуренции на рынке ;
· Повышение компетенции сотрудников и увеличение понимания потребностей внутри компании ;
· Необходимость внедрения современных, ориентированных на использование компьютеров, технологий управления, таких как Manufacturing Resources Planning (MRP II), Just-In-Time (JIT), Supply Chain Management (SCM), Customer Relationship Management (CRM), Activity Based Costing (ABC) и т.п.
Устаревание существующей системы
· Переход на использование новой аппаратной платформы;
· Переход на использование современного системного программного обеспечения ;
· Существующая система не может поддержать требования к производительности: по объему хранящейся информации, скорости обработки транзакций и т.п.
Переход на использование новых информационных технологий
· 2-х или 3-х уровневая архитектура клиент-сервер;
· поддержка работы удаленных клиентских мест через Internet;
· внедрение систем самообслуживания для партнеров и клиентов: системы B2B, B2C ;
· необходимость интеграции с разнообразными офисными приложениями.
При этом для анализа очень важно, чтобы компания не только проанализировала те функциональные и технологические преимущества, которые предоставляет ERP система для компании, а также сопоставила эти преимущества с требованиями стратегического развития компании. Задача калькуляции возможных потерь (opportunity cost) от не реализации проекта внедрения сводится к расчету убытков от не достижения стратегических и/или тактических бизнес планов компании.
Возврат от инвестиций в ERP систему идет не от самой системы, а от повышения эффективности бизнес процессов, которых она поддерживает. Сама по себе система управления ресурсами предприятия, не зависимо от того, насколько хороша она, привносит слабое влияние на увеличение производительности компании. Если вы продолжите следовать прежним бизнес процессам после внедрения новой системы, вы можете ожидать только такую же, или наиболее вероятно худшую производительность. ERP система может обеспечить и поддержать много новых видов процессов, но это задача самой компании решать какими должны быть эти бизнес процессы и принимать решение по их последующему использованию или отклонению. Эффективность использования системы, которую необходимо рассчитать для получения показателя эффективности затрат, зависит, в первую очередь, от реализации успешной стратегии бизнеса.
Невозможно говорить о правильном и эффективном внедрении информационных технологий, призванных принципиально улучшать рыночную позицию компании, без рассмотрения достижения того или иного уровня ключевых показателей производительности компании. Система должна быть настроена на достижение стратегических и тактических целей организации. Если компании при внедрении ERP-системы игнорируют корпоративную стратегию и рассматривают ее использование как технологию реализации исключительно тактических задач, то, несмотря на бесспорные полученные преимущества, принципиальных улучшений в бизнесе компании может и не наступить. Сравнительные выгоды в таких проектах зачастую настолько малы, что многие начинают считать современные системы излишне дорогим удовольствием. Тем самым, полезность системы существенно уменьшается, что является критичным даже при относительно небольшой совокупной стоимости владения. Определение стратегии своего бизнеса и отражение этой стратегии на целях и задачах, которые призвана решать выбираемая ERP система, является самым главным в принятии решения о внедрении. И попытка оценки ожидаемого возврата от инвестиций будет более успешной, если вы сможете дать базирующиеся на фактах (на сколько это возможно, конечно) ответы на следующие вопросы:
· Какие показатели изменения производительности бизнеса (стратегические и тактиче-
· ские) будут использоваться?
· Определены ли ответственность и учет ожидаемых изменений в производительности
· бизнес процессов?
· Поможет ли система нам достичь или превзойти уровень эффективности работы на-
· ших конкурентов? Как, насколько и когда?
· Поможет ли система нам улучшить планирование и контроль исполнения финансовых и оперативных планов? Как, насколько и когда?
· Поможет ли система нам улучшить взаимоотношения с нашими клиентами? Как, насколько и когда?
· Поможет ли система нам увеличить объем продаж? Как, насколько и когда?
· Поможет ли система нам уменьшить время исполнения заказов? Как, насколько и ког
· да?
· Поможет ли система нам сократить производственные и операционные затраты? Как,
· насколько и когда?
· Поможет ли система нам уменьшить инвестиции в складские запасы? Как, насколько и когда?
· Поможет ли система нам сократить время на разработку и вывод новой продукции на рынок? Как, насколько и когда?
По данным независимых информационных агентств, при правильном, тщательно спланированном внедрении, компании могут добиться действительно значимых результатов, как то:
Снижение операционных и управленческих затрат 15%;
Экономия оборотных средств 2% ;
Уменьшение цикла реализации 25% ;
Снижение коммерческих затрат 35% ;
Снижение страхового уровня складских запасов 20% ;
Уменьшение дебиторской задолженности 12% ;
Увеличение оборачиваемости средств в расчетах 25%;
Увеличение оборачиваемости материальных запасов 30% ;
Улучшение утилизации основных фондов 30%.
2.12.3.3. Затраты на владение ERP системой
Стоимость современной ERP системы высокая. Поэтому очень важно выбрать требуемый продукт и оптимальный набор модулей, из которых следует составить конкретную систему. Для расчета эффективности использования будущей системы управления ресурсами предприятия необходимо с большой скрупулезностью оценить предстоящие затраты в течение всего срока жизни системы. Жизненный цикл системы можно условно разделить на 6 этапов:
1. Выбор;
2. Приобретение;
3. Внедрение;
4. Эксплуатация;
5. Улучшение;
6. Замена на новую систему.
Попробуем систематизировать возникающие затраты на каждом из этапов жизни системы в следующих разрезах:
Оборудование;
Системное ПО;
Прикладное ПО
Внешний консалтинг - услуги внешних консультантов;
Внутренняя работа - зарплата сотрудников, занятых внедрением
и поддержкой ERP
системы;
Общепроизводственные затраты, ассоциированные с ERP системой.
Изначально приступая к выбору системы, компании необходимо создать внутреннюю группу сотрудников, которые будут работать с системой на протяжении всего срока ее жизни. Может быть, руководство компании примет решение, что сотрудники компании будут задействованы только при выборе системы и ее эксплуатации, а работы по внедрению, поддержке и возможным дальнейшим изменениям системы будут полностью возложены на плечи консультационной компании. Возможен и другой крайний вариант, когда создается своя группа внедрения, которая будет делать все, и внешние консультанты будут привлекаться лишь для решения особо сложных технических задач. Соответственно, структура и объем затрат, связанных с ERP системой, может значительно варьироваться от варианта к варианту - и зависит от выбранной руководством компании стратегии развития своей ИТ инфраструктуры. Поэтому в настоящей статье при описании затрат на внутренний консалтинг мы будем выделять только те, которые в любом случае должны быть сделаны только сотрудниками компании, а остальные затраты поместим в категорию внешний консалтинг.
Что касается общепроизводственных затрат по проекту, то при их калькуляции необходимо учесть следующие их статьи:
· затраты, связанные с взаимодействием с потенциальными и выбранными поставщиками решения;
· покупка информационно-аналитических материалов;
· аренда помещения, в котором работает внутренняя группа внедрения ;
· амортизация оборудования, используемого группой внутреннего внедрения.
Покупки оборудования, а также всякого рода программного обеспечения на данном этапе не происходит.
Внешний консалтинг - работа над сбором, документированием и анализом требований к будущей информационной системе; построение модели существующих бизнес процессов; разработка сценариев демонстрации ERP систем. Внутренняя работа - просмотр и оценка предлагаемых решений от различных поставщиков.
Оборудование
· компьютерное обеспечение для серверов баз данных, приложений (для 3-х уровневой клиент-сервер архитектуры), web-серверов (при реализации приложений для самообслуживания в Internet)
· коммуникационное оборудование для поддержки требуемой ИТ инфраструктуры и требований к безопасности передачи данных
· покупка новых или усовершенствование старых рабочих станций пользователей
· прочее вспомогательное компьютерное обеспечение, включая средства резервирования данных, принтеры, факс-модемы и т.п.
Системное ПО
· Операционная система для серверов
· Операционная система для рабочих станций
· Система управления базами данных
Прикладное ПО
· Лицензия на ERP систему
· Лицензия на дополнительное ПО, если таковое требуется, но требуемой функциональности нет в закупаемой ERP системе:
- Система консолидации финансовой отчетности,
- Система подготовки и контроля исполнения долго- и
краткосрочных бюджетов
- Система управления документооборотом
- Система разработки и распространения произвольных отчетов, включая OLAP
средства, и т.п.
Цена системы может колебаться от 1500 до 5000 долларов за рабочее место. При этом у наиболее дорогих систем, например, у SAP R/3, присутствует явное превышение необходимого уровня функциональности, то есть приходится платить за функциональность, которая, скорее всего, и является полезной, но не будет востребована многими компаниями, относящимися к среднему рынку. Системы, средняя стоимость которых составляет 2000 долларов за рабочее место, например, Microsoft Navision Axapta, зачастую обладают оптимальным набором функциональности и полезная функциональность возрастает от версии к версии, притом, что цена на продукт практически остается неизменной.
Внешний консалтинг
Возможны затраты на привлечение 3-х фирм на анализ совместимости предложения, производителей, если решение поставляется разными поставщиками.
Внутренняя работа -
Работа юридической службы компании,
Работа отдела поставок.
Оборудование Возможна дозакупка дополнительной техники - часто это связано с недооценкой требований ERP системы к серверам СУБД и приложений для достижения требуемого уровня производительности.
Внешний консалтинг - весь комплекс работ по запуску системы в эксплуатацию, включая моделирование будущих процессов, дизайн системы, обучение пользователей, тестирование системы, подготовку и загрузку данных, поддержку пользователей в процессе перехода на работу в новой системе.
Внутренняя работа - разработка и утверждение модели будущих процессов, время сотрудников на обучение работе в новой системе, участие в тестировании системы.
Приблизительно цену внедрения системы можно оценить в соотношении 1: 1.5 по сравнению со стоимостью программного обеспечения для систем среднего рынка и в соотношении 1:3 для систем крупного рынка. При этом, цена на сам продукт у такой системы, как SAP R/3 гораздо выше, чем, например, у системы Axapta, удельная стоимость внедрения одного рабочего места у SAP в 5 раз выше.
При выборе системы необходимо оценивать, насколько трудоемко вносить в нее изменения, которые, несомненно, будут необходимы в условиях быстроизменяющихся рыночных потребностей. В системе со сложными формализованными внутренними процессами такого рода изменения производить довольно трудоемко. Так же необходимо обратить внимание на наличие удобного встроенного языка программирования, который облегчит процесс адаптации. Microsoft Business Solutions, поставляет системы уже полностью соответствующие законодательству. Но чем сложнее система, тем труднее централизованно обеспечить данное соответствие. Таким образом, в сложных системах, как правило, задачи соответствия решаются внутренним персоналом или компанией, проводящей внедрение. В обоих случаях стоимость владения для клиента при использовании подобной системы возрастает.
В процессе эксплуатации системы появляется необходимость расширять
организационные рамки применения системы, что требует дополнительных затрат на
оборудование, системное и прикладное программное обеспечение.
Внешний консалтинг - потребуется для решения различного рода задач:
Обучение новых сотрудников;
Выверка данных;
Разработка новых форм отчетов;
Внедрение изменений, связанных с изменением местного законодательства;
Внедрение новых функций системы, связанных с появлением новых направле-
ний, отделов и т.п.
Внутренняя работа
Поддержка работоспособности инфраструктуры, окружающей систему, вклю-
чая оборудование, операционные системы, сервера СУБД;
Поддержка средств интеграции ERP системы с другими приложениями;
Регулярное резервирование данных.
Со временем требуется расширять систему не только территориально, то есть увеличивать количество работающего в ней персонала, но и расширять функциональные области применения системы, что требует дополнительных затрат на оборудование, системное и прикладное программное обеспечение. Поэтому, очень важно при планировании затрат по проекту предусмотреть все возможные перспективы развития системы.
Внешний консалтинг
реинжениринг бизнес процессов;
частичное или полное перевнедрение системы.
Внутренняя работа - такая же, как и в процессе внедрения системы, в большем или меньшем масштабе.
Оборудование и системное программное обеспечение - насколько аппаратная платформа, используемые операционные системы и СУБД на которой работает система, являются индустриальными стандартами в своей области и распространенными среди производителей ERP систем. Если да, то закупка следующей системы с большой долей вероятности обойдется компании дешевле. Внешний консалтинг - насколько сложно и трудоемко организовать перенос и трансформацию данных в новую систему
Вычисление плановой совокупной стоимости системы не будет полным, если не рассматривать риски компании, которые связаны с проектом внедрения системы, поскольку работы по их минимизации, или в идеале устранению, представляют для компании дополнительные затраты ресурсов, основные из них:
1) неадекватность функциональности ПО текущим или требующимся бизнес процессам:
(а) "переплата" - оплачивается функциональность, которая не будет использоваться в ближайшем будущем (~ 2 года), или
(б) "слабая система" - ПО не обладает ожидаемой функциональностью, необходимой для автоматизации требуемых процессов;
2) превышения сметы на внедрение системы (консультационные услуги):
· недооценка масштабов проекта,
· переоценка собственных человеческих ресурсов: невозможность нанять требуемых специалистов, невозможность выделения времени на участие в проекте, и наконец недостаточная профессиональная подготовка,
· неудовлетворительное управление проектом внедрения
3) итеративный процесс внедрения:
· в случае продолжительного процесса внедрения, приоритеты и методы ведения бизнеса могут поменяться (в нестабильной обстановке), следовательно внедренная система на момент ее сдачи в эксплуатацию не будет удовлетворять текущим требованиям бизнеса,
· система, требующая очень детальной проработки бизнес-процессов для последующего их переложения на ее (системы) функциональность, не позволит предприятию "на лету" перестраивать внутренние процессы для адекватной реакции на внешние условия рынка;
4) снижение эффективности работы предприятия:
· сопротивление персонала изменениям,
· внутренние информационные потоки в системе, будучи даже лучшими достижениями мирового опыта в своей области, не полностью применимы или вообще неприменимы в местных условиях,
· длительный процесс внедрения, требует постоянного, и также длительного, вовлечения в него внутренних экспертов предприятия,
· сложная система требует очень долгого обучения и много времени для адаптации неопытных конечных пользователей.
В заключение этого интересного для бизнеса раздела, хотелось бы немного остановиться на наиболее популярных, в последнее время, ERP-претендентах: Microsoft Navision Axapta и SAP R/3. Не будем останавливаться на очевидном сравнении ценовых параметров, таких как стоимость лицензии на ПО, технической поддержки, СУБД, серверного оборудования, а сделаем несколько комментариев по поводу внедрения этих систем.
Наличие богатой функциональности является большим плюсом для ERP системы, но может так случиться, что даже самая лучшая из них может использоваться как простой калькулятор и средство подготовки налоговой отчетности. Причин здесь может быть несколько - от неправильного выбора консультационной компании, осуществляющей внедрение, до неправильного формулирования целей и задач проекта. А аргумент - купим сейчас - пускай будет, может быть пригодится или дальше будет видно - часто влечет значительные затраты ресурсов, которые очень часто недооцениваются.
Внедрение предполагает серьезные изменения в бизнес-процессах компании, обусловленные методологией внедрения и имеющейся функциональностью внедряемой ERP-системы. Для систем класса SAP R/3 общепринятая практика внедрения - притягивание процессов компании к имеющейся богатой функциональности системы, что влечет за собой серьезное увеличение затрат компании на управление проектом внедрения, а также изменениями собственных процессов в соответствие жестко реализованным алгоритмам.
Методологии внедрения практически всех систем среднего класса, и систем MS Navision Attain и Axapta, как лучших представителей этого класса в частности, присуща изначальная ориентация на адаптируемость к требуемым процессам предприятия, то есть фокус внедрения смещен на процессы заказчика, а не на функциональность системы. А при наличии в ERP системе интегрированной, высокоуровневой и полнофункциональной среды разработки возможно создание системы, которая будет настоящим произведением искусства, вышедшим из рук команды внедрения.
Другим важным аспектом, увеличивающим затраты на систему, является количество специалистов по различным областям функциональности системы, которые будут работать на проекте внедрения и затем будут поддерживать систему. Чем грандиозней функциональность у системы и чем более она является всеобъемлющей и универсальной, тем менее узкоспециализированными являются специалисты, знающие ее, и тем дороже они стоят на рынке труда. Соответственно, количество функциональных специалистов, задействованных на проекте для решения одной и той же задачи, будет больше для SAP R/3 и Oracle e-Business Suite, чем для MS Navision Axapta. На основании анализа многих планов осуществившихся проектов, такой коэффициент увеличения стоимости составляет около 250%.
Также не надо забывать о необходимости совместного использования и интеграции ERP системы с другими back-office и front-office приложениями, которые используются в компании, такими как текстовые редакторы, электронные таблицы, почтовые службы, системы документооборота и т.п. Использование единых технологий Microsoft, которые являются стандартом де-факто во многих областях компьютерной индустрии, заметно выделяет системы Microsoft Navision Attain и Axapta от их конкурентов.
Необходимо помнить, что выбор системы комплексного управления предприятием не простое мероприятие. И часто это не вопрос денег - надо или не надо инвестировать большое количество ресурсов во внедрение ERP системы - это вопрос поддержания конкурентоспособности и лидерства компании на рынке. Возврат от инвестиций в систему идет от способности компании быть лучшей с новыми бизнес процессами. А затраты на владение надо планировать и учитывать.
Одной из важнейших областей применения информационных технологий является отрасль телекоммуникации и связи. Здесь информационные системы являются жизненно необходимым средством, обеспечивающего бесперебойную работу сети связи, управляя потоками информации и регулируя трафик. Сведения, приведенные дальше, только позволяют, заглянуть в мир информационных технологий в телекоммуникациях. Достаточно полное изучение всех аспектов использования информационных технологий возможно только в целом ряде учебных курсов, которые изучаются на третьем и четвертом курсах.
Развитие средств вычислительной техники, а особенно появление персональных компьютеров привело к созданию нового типа информационно-вычислительных систем под названием локальная вычислительная сеть (ЛВС).
ЛВС нашли широкое применение в системах автоматизированного проектирования и технологической подготовки производства, системах управления производством и технологическими комплексами, в конторских системах, бортовых системах управления и т.д. ЛВС является эффективным способом построения сложных систем управления различными производственными подразделениями. ЛВС интенсивно внедряются в медицину, сельское хозяйство, образование, науку и др.
Локальная сеть - (LAN - Local Area Network), данное название соответствует объединению компьютеров, расположенных на сравнительно небольшой территории (одного предприятия, офиса, одной комнаты). Существующие стандарты для ЛВС обеспечивают связь между компьютерами на расстоянии от 2,5 км до 6 км (Ethernet и ARCNET, соответственно).
ЛВС - набор аппаратных средств и алгоритмов, обеспечивающих соединение компьютеров, других периферийных устройств (принтеров, дисковых контроллеров и т.п.) и позволяющих им совместно использовать общую дисковую память, периферийные устройства, обмениваться данными.
В настоящее время информационно-вычислительные системы принято делить на 3 основных типа:
- LAN (Loсal Area Network) - локальная сеть в пределах предприятия, учреждения, одной организации;
- MAN (Metropolitan Area Network) - городская или региональная сеть, т.е. сеть в пределах города, области и т.п.;
- WAN (Wide Area Network) - глобальная сеть, соединяющая абонентов страны, континента, всего мира.
Информационные системы, в которых средства передачи данных принадлежат одной компании и используются только для нужд этой компании, принято называть Сеть Масштаба Предприятия или Корпоративная Сеть (Enterprise Network). Для автоматизации работы производственных предприятий часто используются системы на базе протоколов MAP/TOP:
MAP (Manufacturing Automation Protocol) - сеть для производственных предприятий, заводов (выполняется автоматизация работы конструкторских отделов и производственных, технологических цехов). МАР позволяет создать единую технологическую цепочку от конструктора, разработавшего деталь, до оборудования, на котором изготавливают эту деталь.
TOP (Technical and Office Protocol) - протокол автоматизации технического и административного учреждения.
МАР/ТОР системы, полностью автоматизирующие работу производственного предприятия.
Основное назначение ЛВС - в распределении ресурсов ЭВМ: программ, совместимости периферийных устройств, терминалов, памяти. Следовательно, ЛВС должна иметь надежную и быструю систему передачи данных, стоимость которой должна быть меньше по сравнению со стоимостью подключаемых рабочих станций. Иными словами, стоимость передаваемой единицы информации должна быть значительно ниже стоимости обработки информации в рабочих станциях. Исходя из этого ЛВС, как система распределенных ресурсов, должна основываться на следующих принципах:
- единой передающей среды;
- единого метода управления;
- единых протоколов;
- гибкой модульной организации;
- информационной и программной совместимости.
Международная организация по стандартизации (ISO), основываясь на опыте многомашинных систем, который был накоплен в разных странах, выдвинула концепцию архитектуры открытых систем - эталонную модель, используемую при разработке международных стандартов.
На основе этой модели вычислительная сеть предстает как распределенная вычислительная среда, включающая в себя большое число разнообразных аппаратных и программных средств.
По вертикали данная среда представляется рядом логических уровней, на каждый из которых возложена одна из задач сети.
По горизонтали информационно-вычислительная среда делится на локальные части (открытые системы), отвечающие требованиям и стандартам структуры открытых систем.
Часть открытой системы, выполняющая некоторую функцию и входящая в состав того или иного уровня, называется объектом.
Правила, по которым осуществляется взаимодействие объектов одного и того же уровня, называются протоколом (методика связи).
Протоколы определяют порядок обмена информацией между сетевыми объектами. Они позволяют взаимодействующим рабочим станциям посылать друг другу вызовы, интерпретировать данные, обрабатывать ошибочные ситуации и выполнять множество других различных функций. Суть протоколов заключается в регламентированных обменах точно специфицированными командами и ответами на них (например, назначение физического уровня связи - передача блоков данных между двумя устройствами, подключенными к одной физической среде).
Каждый уровень подразделяется на две части:
- спецификацию услуг;
- спецификацию протокола.
Спецификация услуг определяет, что делает уровень, а спецификация протокола - как он это делает.
Причем, каждый конкретный уровень может иметь более одного протокола. Большое число уровней, используемых в модели, обеспечивает декомпозицию информационно-вычислительного процесса на простые составляющие. В свою очередь, увеличение числа уровней вызывает необходимость включения дополнительных связей в соответствии с дополнительными протоколами и интерфейсами. Интерфейсы (макрокоманды, программы) зависят от возможностей используемой ОС.
Международная организация по стандартизации предложила семиуровневую модель, которой соответствует и программная структура.
Рассмотрим функции, выполняемые каждым уровнем программного обеспечения:
1.Физический - осуществляет как соединения с физическим каналом, так и расторжение, управление каналом, а также определяется скорость передачи данных и топология сети.
2.Канальный - осуществляет обрамление передаваемых массивов информации вспомогательными символами и контроль передаваемых данных. В ЛВС передаваемая информация разбивается на несколько пакетов или кадров. Каждый пакет содержит адреса источника и места назначения, а также средства обнаружения ошибок.
3.Сетевой - определяет маршрут передачи информации между сетями (ПЭВМ), обеспечивает обработку ошибок, а так же управление потоками данных. Основная задача сетевого уровня - маршрутизация данных (передача данных между сетями). Специальные устройства - Маршрутизаторы (Router) определяют для какой сети предназначено то или другое сообщение, и направляет эту посылку в заданную сеть. Для определения абонента внутри сети используется Адрес Узла (Node Address). Для определения пути передачи данных между сетями на маршрутизаторах строятся Таблицы Маршрутов (Routing Tables), содержащие последовательность передачи данных через маршрутизаторы. Каждый маршрут содержит адрес конечной сети, адрес следующего маршрутизатора и стоимость передачи данных по этому маршруту. При оценке стоимости могут учитываться количество промежуточных маршрутизаторов, время, необходимое на передачу данных, просто денежная стоимость передачи данных по линии связи. Для построения таблиц маршрутов наиболее часто используют либо Метод Векторов либо Статический Метод. При выборе оптимального маршрута применяют динамические или статические методы. На сетевом уровне возможно применение одной из двух процедур передачи пакетов:
· датаграмм - т.е., когда часть сообщения или пакет независимо доставляется адресату по различным маршрутам, определяемым сложившейся динамикой в сети. При этом каждый пакет включает в себя полный заголовок с адресом получателя. Процедуры управления передачей таких пакетов по сети называются датаграмной службой;
· виртуальных соединений - когда установление маршрута передачи всего сообщения от отправителя до получателя осуществляется с помощью специального служебного пакета - запроса на соединение. В таком случае для этого пакета выбирается маршрут и, при положительном ответе получателя на соединение закрепляется для всего последующего трафика (потока сообщений в сети передачи данных) и получает номер соответствующего виртуального канала (соединения) для дальнейшего использования его другими пакетами того же сообщения. Пакеты, которые передаются по одному виртуальному каналу, не являются независимыми и поэтому включают сокращенный заголовок, включающий порядковый номер пакета, принадлежащему одному сообщению.
Недостатки: значительная по сравнению с датаграммой сложность в реализации, увеличение накладных расходов, вызванных установлением и разъединением сообщений.
ВЫВОД. Датаграммный режим предпочтительнее использовать для сетей сложной конфигурации, где значительное число ЭВМ в сети, иерархическая структура сети, надежность, достоверность передачи данных по каналам связи, длина пакета более 512 байт.
4.Транспортный - связывает нижние уровни (физический, канальный, сетевой) с верхними уровнями, которые реализуются программными средствами. Этот уровень как бы разделяет средства формирования данных в сети от средств их передачи. Здесь осуществляется разделение информации по определенной длине и уточняется адрес назначения. Транспортный уровень позволяет мультиплексировать передаваемые сообщения или соединения. Мультиплексирование сообщений позволяет передавать сообщения одновременно по нескольким линиям связи, а мультиплексирование соединений - передает в одной посылке несколько сообщений для различных соединений.
5.Сеансовый - на данном уровне осуществляется управление сеансами связи между двумя взаимодействующими пользователями (определяет начало и окончание сеанса связи: нормальное или аварийное; определяет время, длительность и режим сеанса связи; определяет точки синхронизации для промежуточного контроля и восстановления при передаче данных; восстанавливает соединение после ошибок во время сеанса связи без потери данных.
6.Представительский - управляет представлением данных в необходимой для программы пользователя форме, генерацию и интерпретацию взаимодействия процессов, кодирование/декодирование данных, в том числе компрессию и декомпрессию данных. На рабочих станциях могут использоваться различные операционные системы : DOS, UNIX, OS/2. Каждая из них имеет свою файловую систему, свои форматы хранения и обработки данных. Задачей данного уровня является преобразование данных при передаче информации в формат, который используется в информационной системе. При приеме данных данный уровень представления данных выполняет обратное преобразование. Таким образом появляется возможность организовать обмен данными между станциями, на которых используются различные операционные системы. Форматы представления данных могут различаться по следующим признакам:
- порядок следования битов и размерность символа в битах;
- порядок следования байтов;
- представление и кодировка символов;
- структура и синтаксис файлов.
Компрессия или упаковка данных сокращает время передачи данных. Кодирование передаваемой информации обеспечивает защиту ее от перехвата.
7.Прикладной - в его ведении находятся прикладные сетевые программы, обслуживающие файлы, а также выполняет вычислительные, информационно-поисковые работы, логические преобразования информации, передачу почтовых сообщений и т.п. Главная задача этого уровня - обеспечить удобный интерфейс для пользователя. На разных уровнях обмен происходит различными единицами информации: биты, кадры, пакеты, сеансовые сообщения, пользовательские сообщения.
Протоколы в ЛВС
Организация ЛВС базируется на принципе многоуровневого управления процессами, включающими в себя иерархию протоколов и интерфейсов. Протокол УФК определяет форму представления и порядок передачи данных через физический канал связи, фиксирует начало и конец кадра, который несет в себе данные, формирует и принимает сигнал со скоростью, присущей пропускной способности канала.
Второй уровень (канальный) можно разделить на два подуровня: управление доступом к каналу (УДК) и управление информационным каналом (УИК).
Протокол УДК устанавливает порядок передачи данных через канал, выборку данных.
Протокол УИК обеспечивает достоверность данных, т.е. формируются проверочные коды при передаче данных.
Во многих ЛВС отпадает необходимость в сетевом уровне. К нему прибегают при комплексировании нескольких ЛВС, содержащих моноканалы.
Протокол УП обеспечивает транспортный интерфейс, ликвидирующий различия между потребностями процессов в обмене данными и ограничениями информационного канала, организуемого нижними уровнями управления. Протоколы высоких уровней - УС, УПД, УПП - по своим функциям аналогичны соответствующим протоколам глобальных сетей, т.е. реализуется доступ терминалов к процессам, программ к удаленным файлам, передача файлов, удаленный ввод заданий, обмен графической информацией и др.
В зависимости от способа организации обработки данных и взаимодействия пользователей, который поддерживается конкретной сетевой операционной системой, выделяют два типа информационных систем:
- иерархические сети;
- сети клиент/сервер.
В иерархических сетях все задачи, связанные с хранением, обработкой данных, их представлением пользователям, выполняет центральный компьютер. Пользователь взаимодействует с центральным компьютером с помощью терминала. Операциями ввода/вывода информации на экран управляет центральный компьютер.
Достоинства иерархических систем:
· отработанная технология обеспечения отказоустойчивости, сохранности данных;
· надежная система защиты информации и обеспечения секретности.
Недостатки:
· высокая стоимость аппаратного и программного обеспечения, высокие эксплуатационные расходы;
· быстродействие и надежность сети зависят от центрального компьютера.
В системах клиент/сервер обработка данных разделена между двумя объектами: клиентом и сервером. Клиент - это задача, рабочая станция, пользователь. Он может сформировать запрос для сервера: считать файл, осуществить поиск записи и т.п. Сервер - это устройство или компьютер, выполняющий обработку запроса. Он отвечает за хранение данных, организацию доступа к этим данным и передачу данных клиенту. В системах клиент/сервер нагрузка по обработке данных распределена между клиентом и сервером, поэтому требования к производительности компьютеров, используемых в качестве клиента и сервера, значительно ниже, чем в иерархических системах. По организации взаимодействия принято выделять два типа систем, использующих метод клиент/сервер:
- равноправная сеть;
- сеть с выделенным сервером.
Равноправная сеть - это сеть, в которой нет единого центра управления взаимодействием рабочих станций, нет единого устройства хранения данных. Операционная система такой сети распределена по всем рабочим станциям, поэтому каждая рабочая станция одновременно может выполнять функции как сервера, так и клиента. Пользователю в такой сети доступны все устройства (принтеры, жесткие диски и т.п.), подключенные к другим рабочим станциям.
Достоинства: низкая стоимость (используются все компьютеры, подключенные к сети, и умеренные цены на программное обеспечение для работы сети); высокая надежность (при выходе из строя одной рабочей станции, доступ прекращается лишь к некоторой части информации).
Недостатки: работа сети эффективна только при количестве одновременно работающих станций не более 10; трудности организации эффективного управления взаимодействием рабочих станций и обеспечение секретности информации; трудности обновления и изменения ПО рабочих станций.
Сеть с выделенным сервером - здесь один из компьютеров выполняет функции хранения данных общего пользования, организации взаимодействия между рабочими станциями, выполнения сервисных услуг - сервер сети. На таком компьютере выполняется операционная система, и все разделяемые устройства (жесткие диски, принтеры, модемы и т.п.) подключаются к нему, выполняет хранение данных, печать заданий, удаленная обработка заданий. Рабочие станции взаимодействуют через сервер, поэтому логическую организацию такой сети можно представить топологией "звезда", где центральное устройство - сервер.
Достоинства: выше скорость обработки данных (определяется быстродействием центрального компьютера, и на сервер устанавливается специальная сетевая операционная система, рассчитанная на обработку и выполнение запросов, поступивших одновременно от нескольких пользователей); обладает надежной системой защиты информации и обеспечения секретности; проще в управлении по сравнению с равноправными.
Недостатки: такая сеть дороже из-за отдельного компьютера под сервер; менее гибкая по сравнению с равноправной.
Сети с выделенным сервером являются более распространенными. Примеры сетевых операционных систем такого типа: LAN Server, IBM Corp., VINES, Banyan System Inc., NetWare, Novell Inc.
При обмене данными между узлами используются три метода передачи данных:
· симплексная (однонаправленная) передача (телевидение, радио);
· полудуплексная ( прием/передача информации осуществляется поочередно);
· дуплексная (двунаправленная), каждая станция одновременно передает и принимает данные.
Для передачи данных в информационных системах наиболее часто применяется последовательная передача. Широко используются следующие методы последовательной передачи: асинхронная и синхронная.
При асинхронной передаче каждый символ передается отдельной посылкой. Стартовые биты предупреждают приемник о начале передачи. Затем передается символ. Для определения достоверности передачи используется бит четности (бит четности =1, если количество единиц в символе нечетно, и 0, в противном случае. Последний бит "стоп бит" сигнализирует об окончании передачи.
Преимущества: несложная отработанная система; недорогое (по сравнению с синхронным) интерфейсное оборудование.
Недостатки: третья часть пропускной способности теряется на передачу служебных битов (старт/стоповых и бита четности); невысокая скорость передачи по сравнению с синхронной; при множественной ошибке с помощью бита четности невозможно определить достоверность полученной информации.
Асинхронная передача используется в системах, где обмен данными происходит время от времени и не требуется высокая скорость передачи данных. Некоторые системы используют бит четности как символьный бит, а контроль информации выполняется на уровне протоколов обмена данными (Xmodem, Zmodem, MNP).
При использовании синхронного метода данные передаются блоками. Для синхронизации работы приемника и передатчика в начале блока передаются биты синхронизации. Затем передаются данные, код обнаружения ошибки и символ окончания передачи. При синхронной передаче данные могут передаваться и как символы, и как поток битов. В качестве кода обнаружения ошибки обычно используется Циклический Избыточный Код Обнаружения Ошибок (CRC). Он вычисляется по содержимому поля данных и позволяет однозначно определить достоверность принятой информации.
Преимущества: высокая эффективность передачи данных; высокие скорости передачи данных; надежный встроенный механизм обнаружения ошибок.
Недостатки: интерфейсное оборудование более сложное и, соответственно, более дорогое.
ЛВС можно создавать с любым из типов кабеля. Самым дешевым является кабель Витая пара со скрученной парой проводов, который используется в телефонии. Он может быть Экранированным и Неэкранированным. Экранированный более устойчив к электромагнитным помехам. Однако на практике чаще используется неэкранированный кабель, т.к. такой тип кабеля используется для разводки телефонных линий и, он дешевле экранированного. Наилучшим образом подходит для малых учреждений. Недостатками данного кабеля является высокий коэффициент затухания сигнала и высокая чувствительность к электромагнитным помехам, поэтому максимальное расстояние между активными устройствами в ЛВС при использовании витой пары до 100 метров.
Коаксиальный кабель. Этот кабель может использоваться в двух различных системах передачи данных: без модуляции сигнала и с модуляцией. В первом случае цифровой сигнал используется в таком виде, в каком он поступает из ПК и сразу же передается по кабелю на приемную станцию. Он имеет один канал передачи со скоростью до 10 Мбит/сек и максимальный радиус действия 4000 м. Во втором случае цифровой сигнал превращают в аналоговый и направляют его на приемную станцию, где он снова превращается в цифровой. Операция превращения сигнала выполняется модемом (модулятор/демодулятор); каждая станция должна иметь свой модем. Этот способ передачи является многоканальным (обеспечивает передачу по десяткам каналов, используя для этого всего лишь один кабель). Таким способом можно передавать звуки, видео сигналы, данные. Длина кабеля может достигать до 50 км. Передача сигнала с модуляцией более дорогостоящая, чем без модуляции. Поэтому, наиболее эффективное его использование при передаче данных между крупными предприятиями.
Оптоволоконный кабель является новейшей технологией, используемой в ЛВС. Носителем информации является световой луч, который моделируется сетью и принимает форму сигнала. Такая система устойчива к внешним электрическим помехам и таким образом возможна очень быстрая и безошибочная передача данных (до 2 Gbps), и обеспечивает секретность передаваемой информации. Количество каналов в таких кабелях огромно. Передача данных выполняется только в симплексном режиме, поэтому для организации обмена данными устройства необходимо соединять двумя оптическими волокнами (на практике оптоволоконный кабель всегда имеет четное, парное кол-во волокон). К недостаткам можно отнести большую стоимость, а также сложность подсоединения.
Радиоволны в микроволновом диапазоне используются в качестве передающей среды в Беспроводных Локальных Сетях, либо между мостами или шлюзами для связи между ЛВС. В первом случае максимальное расстояние между станциями составляет 200-300 м, во втором - это расстояние прямой видимости. Скорость передачи данных - до 2 Мбит/с. Беспроводные ЛС считаются перспективным направлением развития ЛС. Их преимущество - простота и мобильность. Исчезают проблемы, связанные с прокладкой и монтажом кабельных соединений. Достаточно установить интерфейсные платы на рабочие станции, и сеть готова к работе. Сдерживающим фактором широкого развития БЛС является отсутствие стандарта для таких сетей. Существующие БЛС, выполненные различными фирмами, как правило, полностью несовместимы между собой. В настоящее время приняты международные стандарты на этот протокол IEEE 802.11.
Коммутационная сеть включает в себя множество серверов и ЭВМ, соединенных физическими (магистральными) каналами связи, использующие телефонные, коаксиальные кабели, спутниковые каналы связи. Вычислительные сети по способу передачи информации подразделяются на сети коммутации каналов, сети коммутации сообщений, сети коммутации пакетов и интегральные сети. Каждый из этих методов имеет свои плюсы и минусы. Достоинством сетей коммутации каналов является простота реализации (прямое соединение), а недостатком - низкий коэффициент использования каналов, высокая стоимость передачи данных, повышенное время ожидания других пользователей. При коммутации сообщений передача данных (сообщения) осуществляется после освобождения канала, пока оно не дойдет до адресата. Каждый сервер производит прием, проверку, сборку, маршрутизацию и передачу сообщения. Недостатком данного способа является низкая скорость передачи информации, невозможность ведения диалога между пользователями. К достоинствам можно отнести - уменьшение стоимости передачи, ускорение передачи. Пакетная коммутация подразумевает обмен небольшими пакетами (часть сообщения) фиксированной структуры, которые не дают возможности образования очередей в узлах коммутации. Достоинства: быстрое соединение, надежность, эффективность использования сети. При данном методе проблема передачи пакета решается способом фиксированной маршрутизации. Она предполагает наличие таблицы маршрутов, где закреплен маршрут от одного пользователя к другому. Сети, осуществляющие коммутацию каналов, сообщений и пакетов, называются интегрированными. К таким сетям относится разработанная в настоящее время новая сетевая технология АТМ.
АТМ - это коммуникационная технология, объединяющая принципы коммутации пакетов и каналов для передачи информации различного типа. АТМ - (асинхронный режим передачи) , данная технология предусматривает интегрированную передачу речи, данных и видеоинформации в едином цифровом виде по одному и тому же каналу связи. Это позволяет отказаться от жестких ограничений по предоставляемой пользователю полосе пропускания канала связи, отказаться от разделения каналов по типам передаваемой информации и значительно расширить круг предоставляемых услуг. Основными достоинствами новой технологии является отсутствие ориентации на какой-либо тип передаваемой информации. Объединяемые в рамках АТМ информационные потоки от источников информации различной природы резко отличаются друг от друга требованиями к полосе пропускания. Если данные ЛВС в большинстве случаев не требуют гарантированного времени доставки пакетов и, соответственно, постоянства полосы пропускания канала связи, то системы кабельного телевидения и передача речи в интерактивном режиме без выполнения этого условия немыслимы. Поэтому процедура установления соединения в АТМ- сети предусматривает предварительное определение типа передаваемой информации, требуемой полосы пропускания и приоритет на занятие канала связи, что минимизирует загрузку межузловых каналов связи и обеспечивает предоставление услуг с заданным качеством.
Главным отличием АТМ от существующих технологий передачи информации является высокая скорость передачи - до 10 Gbps/ на канал связи. (На сегодняшний день - 2,5 Gbps). АТМ объективно совмещает функции, выполняемые локальными и глобальными сетями. Удаленным пользователям предоставляется "прозрачный" доступ к любым общим информационным ресурсам, а также обеспечивается всё многообразие услуг глобальных телекоммуникаций. Данная особенность технологии АТМ делает ее незаменимой при создании интегрированных распределенных корпоративных информационных сетей на базе волоконно-оптических каналов связи. Кроме того, эффективными уровнями применения АТМ являются высокоскоростные ЛВС со специфическими требованиями к трафику (содержащему видео- и CAD/CAM-файлы), а также магистральные и абонентские каналы передачи в региональных и внутригородских широкополосных сетях с интеграцией обслуживания.
Основным отличием АТМ от традиционных ЛВС-технологий является то, что АТМ по своей природе ориентирована на установление виртуальных соединений. Виртуальное соединение - это сконфигурированная определенным образом среда между двумя или более конечными устройствами для передачи информации. Виртуальный канал - фиксированный маршрут, состоящий из последовательности номеров портов коммутаторов, через которые проходят все ячейки при данном сеансе связи от одного пользователя к другому. Виртуальные каналы всегда однонаправленные, т.е. для передачи в обратном направлении между теми же пользователями используются уже другие номера идентификаторов. Понятие виртуального пути используется на каком-либо участке сети: несколько виртуальных каналов проходят по одному и тому же направлению, что дает возможность коммутатору переключать целые группы виртуальных каналов. Каждый физический канал может содержать несколько виртуальных путей и каналов. Так как конфигурация виртуальных соединений не связана с физическими каналами, то топология АТМ сети может быть любой. Коммутаторы при этом могут быть соединены в шину, кольцо или звезду, но чаще - это смесь всех возможных соединений. Это дает возможность реализовывать резервирование связей, что повышает надежность сети.
Обычные локальные сети (Ethernet, Token Ring) не проверяют доступность устройства назначения, а просто посылают туда пакет с информацией. Пакет должен иметь адрес назначения, который проверяется сетевыми устройствами на соответствие со своим собственным адресом. Перед передачей каких-либо сообщений в АТМ станция-источник проверяет доступность станции назначения и, только после этого устанавливается соединение. Только этим двум станциям виден поток информации.
АТМ реализует коммутацию коротких пакетов (ячеек), наложенную на коммутацию виртуальных каналов. В отличие от обычных информационных пакетов ячейки не содержат адресной информации и контрольной суммы. Коммутация происходит на основе идентификатора виртуального канала, определяющего одно из организованных соединений. Контрольная сумма считается ненужной из-за использования высококачественной кабельной системы с малой вероятностью ошибки. АТМ ориентировано на соединение протоколом. Перед передачей информации между пользователями организуется виртуальный или логический канал связи, остающийся в их распоряжении до окончания взаимодействия. Параметры этого канала могут быть различными, в зависимости от вида трафика и его интенсивности.
Для передачи звука определяется только потребная фиксированная полоса пропускания, а для файлового обмена между компьютерами даются параметры средней и максимальной интенсивности трафика. Так как ячейки имеют постоянную длину (53 байта), задержки прихода новой информации к потребителю всегда одинаковы. АТМ ячейки легко обрабатываемы при прохождении через коммутатор. При обработке пакета маршрутизатор вначале полностью его принимает в буфер, проверяет контрольную сумму, анализирует адресную информацию, содержание поля данных, и только после этого отправляет данный пакет. Программы современных маршрутизаторов содержат до нескольких миллионов строк кода, отсюда дороговизна таких устройств. В отличие от них коммутатор АТМ решает свои задачи аппаратным путем. Коммутатор, прочитав идентификатор в заголовке ячейки, переправляет ее из одного порта в другой, не задумываясь о ее содержании. Исходя из вышесказанного можно сделать следующие выводы:
· сеть АТМ имеет всегда большую пропускную способность, чем сумма всех реализованных виртуальных каналов. При этом контроль осуществляется за счет ограничения подключения к сети новых пользователей логическими средствами самой сети;
· управление потоком данных осуществляет оконечное оборудование;
· на физическом уровне ошибки практически отсутствуют;
· процент потерянных ячеек очень невелик и предсказуем. АТМ не может функционировать на ненадежных каналах.
· Существующие в настоящее время телекоммуникационные системы страдают рядом недостатков:
· зависимость от вида информации, которую они транспортируют;
· отсутствие гибкости, так как современные телекоммуникационные системы практически не обеспечивают адаптацию к изменениям требований со стороны систем управления к объемам передаваемой информации, к скорости передачи, времени доставки и достоверности;
· низкая эффективность использования ресурсов.
В настоящее время появилась возможность создания на базе технологии АТМ единой телекоммуникационной системы - широкополосной цифровой сети интегрального обслуживания (ШЦСИО), которая обеспечит выполнение следующих функций:
· Транспортирование всех видов информации с помощью единого асинхронного метода переноса (АТМ), при котором каждый пользователь получает от сети только тот ресурс, который ему необходим;
· Поддержку интерактивных служб и служб распределения информации с выполнением требований как к вероятности блокировки, так и ко времени доставки информации;
· Поддержку режимов с установлением и без установления соединения между абонентами;
· Передачу как непрерывного, так и поблочного трафика, что за счет мультиплексирования позволяет более эффективно использовать единые сетевые ресурсы;
· Преобразование сигналов и сообщений внутри сети на базе цифровой обработки сигналов;
· Обеспечение пользователей такими услугами, как телеуправление и телеконтроль, видеотелефон, высокоскоростная передача данных, выдача данных и видеоинформации по требованию.
· С каждым днем растет интерес к внедрению в телекоммуникационные сети технологии АТМ, что объясняется такими факторами, как:
· Развитие систем удаленной обработки данных, требующих передачи достаточно больших объемов информации практически в реальном масштабе времени;
· Непрерывный рост требований к высокоскоростным трактам, объединяющим ЛВС;
· Рост потребности пользователей в предоставлении услуг по обмену подвижными и неподвижными изображениями.
· В развитии вычислительных сетей наблюдается две тенденции:
o с одной стороны, существует тенденция объединения локальных сетей (LAN) в городские (MAN) и глобальные (WAN) сети с возможностью обеспечения высокоскоростного обмена;
o с другой стороны, в связи с быстрым ростом производительности рабочих станций и ПЭВМ, а также в связи с тем, что станции становятся мультимедиа-терминалами, существует тенденция резкого повышения скорости работы в самих локальных сетях.
В глобальных сетях связь между ЛВС осуществляется посредством мостов. Мосты - представляют собой программно аппаратные комплексы, которые соединяют ЛВС между собой, а также ЛВС и удаленные рабочие станции (РС), позволяя им взаимодействовать друг с другом для расширения возможностей сбора и обмена информацией. Мост обычно определяется как соединение между двумя сетями, которые используют одинаковый протокол взаимодействия, одинаковый тип среды передачи и одинаковую структуру адресации.
Локальный мост передает данные между сетями, которые расположены в пределах ограничений кабеля по расстоянию. Локальные мосты применяются в следующих случаях:
· для разделения больших сетей на две и более подсетей с целью увеличения быстродействия и уменьшения стоимости линий связи. Например, в одной организации различные отделы разделяют одну и ту же сеть. Т.к. большие сети медленнее малых, то есть возможность выделить в небольшие подсети компактно расположенные отделы. Используя локальный мост , отделы могут продолжать разделять данные таким образом, как если бы они работали в одной сети, приобретая при этом быстродействие и гибкость, присущие малой сети.
Рис 3.1. Пример разделения большой сети на сегменты
· с помощью локального моста можно расширить физические возможности сети. Если сеть Netware имеет максимально допустимое число узлов, поддерживаемое её аппаратной схемой адресации и есть необходимость в добавлении ещё нескольких узлов, то для расширения такой сети используется мост. При этом включение в сеть дополнительного файлового сервера необязательно.
· объединение сетей в интерсеть. Чтобы пользователи каждой сети могли получить доступ к информации других сетей, необходимо связать эти сети, образуя интерсеть.
Удаленные мосты применяются, когда расстояние не позволяет соединять сети посредством кабеля.
Например: соединение сети в разных городах поставит перед необходимостью в использовании удаленного моста, так как ограничение по длине кабеля для локального моста будет превышено.
Удаленный мост использует промежуточную среду передачи (телефонные линии) для соединения с удаленной сетью или удаленными РС. При связи сети с удаленной сетью необходимо установить мост на каждом конце соединения, а при связи сети с удаленной РС - мост требуется только на сети.
Выбор модемов для организации удаленного взаимодействия должен определяться характеристиками и типом каналов связи, а также требованиями к возможностям модемов и их стоимости.
Рис. 3.2. Расширение физических возможностей сетей
Рис. 3.3. Удаленное соединение с использованием внешнего моста
Вычислительная сеть позволяет пользователям сети использовать в своих работах сервис сетевой печати. Сетевыми печатающими устройствами (ПУ) могут быть принтеры, плоттеры или любые периферийные устройства.
ПУ является сетевым, если оно подключено извне к рабочей станции (РС) или сети, и может быть использовано в интересах различных пользователей или групп пользователей сети с различных участков сети. Последние модели современных ПУ имеют большие функциональные возможности, высокую производительность. Они достаточно дороги и применение их в виде локальных будет сопряжено с большими материальными затратами.
Сервис печати позволяет сразу нескольким пользователям более эффективно использовать. Например, один лазерный принтер фирмы XEROX, подключенный в сеть даст возможность сэкономить средства, не приобретая другие.
Когда несетевая станция посылает запрос на печать на подключенный к ней принтер, этот запрос сразу же направляется на выполнение. Если пользователь будет работать с сетевыми принтерами, то информация, которую он выводит ПУ, будет направлена сначала в файловый или принт-сервер, а уже потом на принтер. Когда принтер готов выполнять очередной запрос, принт-сервер выбирает задание на печать из очереди и посылает его на принтер, соответствующий данной очереди. Принт-сервер может быть составной частью программной компоненты файл-сервера, которая выбирает задания на печать из очереди и направляет их в принтер. Принт-сервер может также присутствовать в сети в виде специализированной рабочей станции, которая призвана обслуживать процесс печати в сети или он может быть совмещен с ПО моста. В сети процесс сетевой печати может осуществляться и на принтерах, подключенным к обычным удаленным РС.
Принт-сервер увеличивает возможности печати сети, он может обслуживать практически любое разумное количество принтеров, подключенных к различным компьютерам, включенным в сеть и может быть инсталлирован (инсталляция - установка программного изделия на ПЭВМ) на файл-сервере или специализированной РС.
В системе принт-сервера процесс печати реализован следующим образом: оболочка РС направляет файл по сети в файловый или принт-сервер, где он, согласно системному планированию, буферируется и ставится в очередь с параметрами задания для печати.
При одновременной посылке информации пользователями на печать, запрос, полученный первым, будет обработан в первую очередь. Все последующие запросы выстраиваются в очередь и будут в такой последовательности обработаны, если только они не получат высший приоритет.
Рабочим заданием на печать служат характеристики, определяющие, как должна производиться печать. К ним относятся: режим, формат, количество копий, а также указание конкретного принтера, который будет выполнять работу. Каждый пользователь создает задание на печать и направляет его в файл или принт-серверу, где оно уже ставится в очередь.
Сетевая операционная система позволяет одному принтеру обслуживать несколько очередей, и одна очередь может обслуживаться несколькими принтерами. Например, при наличии нескольких запросов на печать, принтерам Printer0 и Printer1 может быть дано задание на выполнение очереди с более высоким приоритетом. Можно также определить, каким пользователям разрешено помещать задания на печать в каждую очередь.
Любая очередь на печать должна быть спланирована с помощью специальных средств. Можно установить соответствие между очередями на печать и принтерами с помощью команд, которые вводятся с консоли файл-сервера, или из подготовленного файла аutoexec.sys.
В настоящее время весьма актуален переход от небольших локальных сетей персональных компьютеров к промышленным корпоративным информационным системам - UPSIZING. Большинство средних и крупных государственных и коммерческих организаций постепенно отказываются от использования только ПК, задачей сегодняшнего дня - создание открытых и распределенных информационных систем.
На сегодняшний день развитие информационных технологий - создание единых сетей предприятий и корпораций, объединяющих удаленные компьютеры и локальные сети, часто использующие разные платформы, в единую информационную систему. Т.е. необходимо объединить пользователей компьютеров в единое информационное пространство и предоставить им совместный доступ к ресурсам. Однако здесь возникает множество трудностей, связанных с решением задачи по организации каналов связи (кабель Ethernet не протянешь по городу, а тем более до другого конца планеты). При построении корпоративных сетей иногда используются телефонные каналы, но связь по таким коммутируемым линиям ненадежна, аренда выделенных линий связи дорога, а эффективность такого канала невысокая. Проблема возникает и при интегрировании в корпоративную сеть разнородных ЛВС, а также в подключении больших компьютеров, например, IBM mainframe или VAX. Сложности возникают и при объединении в одну локальную сеть компьютеров с разными ОС. Поэтому построение корпоративной сети задача не из легких.
Проблема первая - это каналы связи. Самым оптимальным вариантом является использование уже существующих глобальных сетей передачи данных общего пользования, чтобы коммуникационный протокол в корпоративной сети совпадал с принятым в существующих глобальных сетях. Наиболее рациональным выбором здесь следует считать протокол Х.25. Данный протокол позволяет работать даже на низкокачественных линиях связи, так как разрабатывался он для подключения удаленных терминалов к большим ЭВМ и соответственно включает в себя мощные средства коррекции ошибок, освобождая от этой работы пользователя.
Дальнейшее развитие Х.25 - Frame Relay, а также новые протоколы типа АТМ, хотя и обещают значительно большие скорости, требуют практически идеальных линий связи и, возможно, не скоро будут широко применяться в ближайшем будущем. Существующие в нашей стране глобальные сети общего доступа - SprintNet, Infotel, Pochet и прочие - построены на базе Х.25
Протокол Х.25 позволяет организовать в одной линии до 4096 виртуальных каналов связи. Если протянуть к офису одну выделенную линию. то ее можно использовать для объединения нескольких удаленных офисов, подключения корпоративных информационных ресурсов, доступа к системам электронной почты, базам данным - одновременно.
Выделенная линия - это обычная телефонная линия, с которой можно работать на скоростях 9600-28800 бит/с. Более скоростные линии (64 Кбит/с и >) стоят значительно дороже.
Обычно сети Х.25 строятся на двух типах оборудования - Switch или центр коммутации пакетов (ЦКП) и PAD (packet assembler/disassembler - сборщик/разработчик пакетов), называемый также пакетным адаптером данных (ПАД), или терминальным концентратором. ПАД служит для подключения к сети Х.25 оконечных устройств через порты. Примером использования ПАД в корпоративной сети - подключение банкоматов к центральному компьютеру банка. ЦКП - его задача состоит в определении маршрута, т.е. в выборе физических линий и виртуальных каналов в них, по которым будет пересылаться информация.
Переход к многопользовательским СУБД - качественно технологический скачок, обеспечивающий деятельность организаций в будущем. Реализация перехода к новой информационной системе (ИС) зависит от используемой и перспективной моделей клиент-сервер.
Модели клиент-сервер - это технология взаимодействия компьютеров в сети. Каждый из компьютеров имеет свое назначение и выполняет свою определенную роль. Одни компьютеры в сети владеют и распоряжаются информационно-вычислительными ресурсами (процессоры, файловая система, почтовая служба, служба печати, база данных), другие имеют возможность обращаться к этим службам, пользуясь их услугами. Компьютер, управляющий тем или иным ресурсом называют сервером этого ресурса, а компьютер, пользующийся им - клиентом.
Каждый конкретный сервер определяется видом того ресурса, которым он владеет. Например, назначением сервера баз данных является обслуживание запросов клиентов, связанных с обработкой данных; файловый сервер, или файл-сервер, распоряжается файловой системой и т.д. Этот принцип распространяется и на взаимодействие программ. Программа, выполняющая предоставление соответствующего набора услуг, рассматривается в качестве сервера, а программы пользующиеся этими услугами, принято называть клиентами. Программы имеют распределенный характер, т.е. одна часть функций прикладной программы реализуется в программе-клиенте, а другая - в программе-сервере, а для их взаимодействия определяется некоторый протокол. Рассмотрим эти функции. Один из основных принципов технологии клиент-сервер заключается в разделении функций стандартного интерактивного приложения на четыре группы, имеющие различную природу.
Первая группа. Это функции ввода и отображения данных.
Вторая группа - объединяет чисто прикладные функции, характерные для данной предметной области (для банковской системы - открытие счета, перевод денег с одного счета на другой и т.д.).
Третья группа - фундаментальные функции хранения и управления информационно-вычислительными ресурсами (базами данных, файловыми системами и т.д.).
Четвертая группа - служебные функции, осуществляющие связь между функциями первых трех групп.
В соответствии с этим в любом приложении выделяются следующие логические компоненты:
· компонент представления (presentation), реализующий функции первой группы;
· прикладной компонент (business application), поддерживающий функции второй группы;
· компонент доступа к информационным ресурсам (resource manager), поддерживающий функции третьей группы, а также вводятся и уточняются соглашения о способах их взаимодействия (протокол взаимодействия).
Различия в реализации технологии клиент-сервер определяются следующими факторами:
· видами программного обеспечения, в которые интегрирован каждый из этих компонентов;
· механизмами программного обеспечения, используемыми для реализации функций всех трех групп;
· способом распределения логических компонентов между компьютерами в сети;
· механизмами, используемыми для связи компонентов между собой.
Выделяются четыре подхода, реализованные в следующих моделях:
1. модель файлового сервера (File Server - FS);
2. модель доступа к удаленным данным (Remote Data Access - RDA);
3. модель сервера баз данных (Data Base Server - DBS);
4. модель сервера приложений (Application Server - AS).
(FS) - является базовой для локальных сетей ПК. До недавнего времени была популярна среди отечественных разработчиков, использовавших такие системы, как FoxPro, Clipper, Clarion, Paradox и т.д. Одним из компьютеров в сети считается файловым сервером и предоставляет другим компьютерам услуги по обработке файлов. Файловый сервер работает под управлением сетевой операционной системы (Novell NetWare) и играет роль компонента доступа к информационным ресурсам (т.е. к файлам). На других ПК в сети функционирует приложение, в кодах которого совмещены компонент представления и прикладной компонент (рис.3.4.).
Рис.3.4. Модель файлового сервера
Протокол обмена представляет собой набор вызовов, обеспечивающих приложению доступ к файловой системе на файл-сервере.
К недостаткам технологии данной модели относят низкий сетевой трафик (передача множества файлов, необходимых приложению), небольшое количество операций манипуляции с данными (файлами), отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы) и т.д.
Эта модель существенно отличается от FS-модели методом доступа к информационным ресурсам. В RDA-модели коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте. Доступ к информационным ресурсам обеспечивается операторами специального языка (SQL, если речь идет о базах данных) или вызовами функций специальной библиотеки (если имеется специальный интерфейс прикладного программирования - API).
Запросы к информационным ресурсам направляются по сети удаленному компьютеру, который обрабатывает и выполняет их, возвращая клиенту блоки данных (рис.3.5).
Рис. 3.5. Модель доступа к удаленным данным
Говоря об архитектуре клиент-сервер, подразумевают данную модель. Основное достоинство RDA-модели заключается в унификации интерфейса клиент-сервер в виде языка SQL и широком выборе средств разработки приложений. К недостаткам можно отнести существенную загрузку сети при взаимодействии клиента и сервера посредством SQL-запросов; невозможность администрирования приложений в RDA, т.к. в одной программе совмещаются различные по своей природе функции (представления и прикладные).
3.3.3. Модель сервера баз данных (DBS)
Эта модель реализована в некоторых реляционных СУБД (Informix, Ingres, Sybase, Oracle), (рис.3.6). Ее основу составляет механизм хранимых процедур - средство программирования SQL-сервера. Процедуры хранятся в словаре баз данных, разделяются между несколькими клиентами и выполняются на том же компьютере, где функционирует SQL-сервер. В DBS-модели компонент представления выполняется на компьютере-клиенте, в то время как, прикладной компонент оформлен как набор хранимых процедур и функционирует на компьютере-сервере БД. Там же выполняется компонент доступа к данным, т.е. ядро СУБД.
Рис. 3.6. Модель сервера баз данных
Понятие информационного ресурса сужено до баз данных, поскольку механизм хранимых процедур - отличительная характеристика DBS-модели - имеется пока только в СУБД. Достоинства DBS-модели:
· возможность централизованного администрирования прикладных функций;
· снижение трафика (вместо SQL-запросов по сети направляются вызовы хранимых процедур);
· возможность разделения процедуры между несколькими приложениями;
· экономия ресурсов компьютера за счет использования единожды созданного плана выполнения процедуры.
К недостаткам относится:
· ограниченность средств написания хранимых процедур, представляющих собой разнообразные процедурные расширения SQL, которые уступают по изобразительным средствам и функциональным возможностям в сравнении с языками С или Pascal. Сфера их использования ограничена конкретной СУБД из-за отсутствия возможности отладки и тестирования разнообразных хранимых процедур.
На практике чаще используются смешанные модели, когда целостность базы данных и некоторые простейшие прикладные функции обеспечиваются хранимыми процедурами (DBS-модель), а более сложные функции реализуются непосредственно в прикладной программе, которая выполняется на компьютере-клиенте (RDA-модель).
Эта модель представляет собой процесс, выполняемый на компьютере-клиенте, отвечающий за интерфейс с пользователем (т.е. реализует функции первой группы рис. 3.7).
Рис. 3.7. Модель сервера приложений
Прикладной компонент реализован как группа процессов, выполняющих прикладные функции, и называется сервером приложения (Application Server - AS). Доступ к информационным ресурсам осуществляет менеджер ресурсов (например, SQL-сервер). Из прикладных компонентов доступны такие ресурсы как, базы данных, очереди, почтовые службы и др. AS, размещенная на компьютере, где функционирует менеджер ресурсов, избавляет от необходимости направления SQL-запросов по сети, что повышает производительность системы. Модели RDA и DBS опираются на двухзвенную схему разделения функций:
· в RDA-модели прикладные функции отданы программе-клиенту (прикладной компонент сливается с компонентом представления);
· в DBS-модели ответственность за их выполнение берет на себя ядро СУБД (прикладной компонент интегрируется в компонент доступа к информационным ресурсам).
В AS-модели реализована трехзвенная схема разделения функций. Здесь прикладной компонент выделен как важнейший изолированный элемент приложения. Сравнивая модели, AS обладает наибольшей гибкостью и имеет универсальный характер.
Принципы перехода к новой информационной системе.
При переходе к новой информационной системе (ИС) необходимо решить такие вопросы как выбор одной из четырех моделей, компоненты архитектуры ИС и инструментарий перехода. Наиболее распространенной ИС является FS-модель (примем ее за исходную), а в качестве целевой - RDA-модель (наиболее распространена и относительно проста). На практике наблюдаются и другие схемы перехода (FS-->DBS, RDA--->DBS, RDA-->AS, FS-->AS). Наиболее типичный случай это FS-->RDA, это переход от локальных сетей ПК к архитектуре систем с сервером баз данных.
Следующий шаг - определение компонентов архитектуры системы, имеющей в своей основе RDA-модель - компьютер-клиент и сервер баз данных. Проблема заключается в выборе аппаратного и базового программного обеспечения этих компонентов.
На сегодняшний день используются ПК под управлением Unix и Windows (распространенность, популярность, большое число приложений, широкий набор активно используемых русифицированных продуктов). Самое важное достоинство Windows - множество средств быстрой разработки приложений, работающих с SQL-ориентированными СУБД, и доступность этих средств для отечественных пользователей.
Говоря о сервере БД, необходимо упомянуть, что это должен быть мощный компьютер, снабженный высокоскоростными надежными механизмами дисковой памяти большой емкости и системой архивирования на магнитных лентах. Его работа должна осуществляться под управлением многозадачной многопользовательской ОС, поддерживающей промышленные стандарты.
Одним из наиболее модных на сегодняшний день типов серверов приложений являются серверы доступа к данным (Data Access Server), реализуемые, как правило, в виде приложений (реже - в виде библиотек). Они содержат функциональность, связанную с доступом к данным (а нередко и какую-либо иную функциональность, например, статистическую обработку этих данных или генерацию отчетов). Как правило, такие приложения-серверы сами являются клиентами серверных СУБД. В любом случае такие серверы используют перечисленные выше библиотеки доступа к данным. При грамотной организации разделения функций между пользовательским приложением и сервером доступа к данным конфигурация программного обеспечения рабочей станции сводится к информированию пользовательского приложения о том, как называется (или идентифицируется иным способом) нужный ему сервис и на каком компьютере сети должен находиться либо непосредственно он сам, либо некий сервис-посредник, чья задача заключается в поиске нужного сервиса для данного клиента (рис. 3.8.).
К этой же категории сервисов можно отнести так называемые мониторы транзакций. Мониторы транзакций, как правило, применяются в информационных системах, использующих распределенное хранение данных (то есть хранение данных в нескольких базах данных, возможно, в разных СУБД и на физически различных компьютерах) и содержащих приложения, использующие одновременный доступ к нескольким базам данных, включающий так называемые распределенные транзакции (то есть модификацию данных в нескольких различных БД, рассматриваемую как единое целое и либо выполняющуюся целиком, либо целиком отменяемую). Если обычные транзакции внутри одной базы данных с успехом поддерживаются серверными СУБД, лишь бы были реализованы в виде объектов базы данных (индексов, триггеров, хранимых процедур, серверных ограничений и др.) соответствующие правила их выполнения, то распределенные транзакции требуют отдельной поддержки за пределами СУБД. Именно эта поддержка и реализуется в мониторах транзакций (рис.3.9.).
Отметим, однако, что в виде отдельного сервиса может быть реализован не только доступ к данным, но и любая другая функциональность пользовательского приложения, например, многомерный анализ и статистическая обработка данных, генерация и печать отчетов, проведение расчетов, обеспечение шифрования данных и многое другое. В этом случае говорят о серверах функциональности (functionality server). Отметим, что сервер функциональности - более общее понятие, чем сервер доступа к данным; последний есть лишь частный случай сервера функциональности. Один сервер функциональности может в общем случае предоставлять несколько сервисов. Как правило, на сервер функциональности возлагаются задачи, требующие нестандартных ресурсов, например, избыточного по сравнению с обычной рабочей станцией объема оперативной памяти, нестандартного оборудования, нестандартной операционной системы или иного программного обеспечения (в том числе, например, библиотек для доступа к данным), и др.
Особым видом сервисов промежуточного слоя являются так называемые специализрованные сервисы. Эти сервисы предназначены для обеспечения нормального функционирования системы, содержащей набор серверов функциональности.
К сожалению, терминология (как русская, так и английская), употребляемая при описании таких сервисов, весьма разнообразна и существенно зависит от того, какой спецификации подчиняется их работа и какая реализация данной спецификации используется в конкретном программном продукте, частью которого является данный сервис. Нередко один и тот же термин (например, брокер, агент, или демон) обозначает совершенно различные по своему назначению сервисы в различных спецификациях и различных продуктах, а иногда обозначает не сервис, а просто концепцию, реализованную в сервисах с другими названиями. К этому надо быть готовым.
Рис.3.8. Информационная система с сервером доступа к данным
Наиболее распространенными из специализированных сервисов являются сервисы, позволяющие на определенных условиях определенным пользователям получить доступ к тому или иному серверу функциональности, содержащемуся на компьютере, где функционирует данный специализированный сервис. Иногда такой сервис может быть выполнен в виде приложения, иногда - в виде сервиса операционной системы. В случае реализации спецификации в продукте Inprise Visibroker он называется Object Activation Daemon, в случае использования доступа к COM-серверам с помощью Inprise OLEnterprise - Object Factory, в случае использования доступа к COM-серверам с помощью протокола TCP/IP - Borland Socket Server, в случае Inprise AppCenter - AppCenter Agent. В случае использования соответствующего сервиса Microsoft DCOM по отношению к нему и другим подобным сервисам иногда употребляется термин Service Control Manager (см., например, Brockschmidt K. What OLE is really about, www.microsoft.com/oledev/olecom/aboutole.html).
Действия этого сервиса действительно напоминают действия агента вражеской разведки - доступ к серверам функциональности данного компьютера возможен только в том случае, если такой сервис запущен. Это диктуется обычными соображениями безопасности - было бы неразумным предоставлять возможность кому угодно использовать предоставляемые данным компьютером сервисы в любое время
Рис. 3.9. Информационная система с монитором транзакций
Помимо предоставления доступа к серверу функциональности на приложение, содержащее такой сервис, могут возлагаться и другие обязанности (например, запустить сервер функциональности, как это делает Object Activation Daemon, или передавать и принимать данные, как это делает Borland Socket Server).
Еще один распространенный тип специализированных сервисов - это сервисы, занимающиеся поиском серверов функциональности для обратившихся к ним клиентов и выступающие в качестве посредника между клиентом, нуждающимся в том или ином сервисе, и поставщиком сервиса (в данном случае сервером функциональности), сводя их между собой. Иногда такие сервисы называются общим термином Directory Service. Обычно такие сервисы используются в системах, содержащих несколько одинаковых серверов функциональности, и подключают обратившихся к ним клиентов к этим серверам в соответствии с установленными для этой системы правилами (например, случайным образом, чем достигается баланс загрузки серверов клиентскими приложениями; или, например, к какому-либо конкретному серверу, а в случае сбоя - к другому, считающемуся резервным; правила выбора сервера для обратившегося клиента могут быть самыми разнообразными).
Рис. 3.10. Система, использующая Directory Service
Каким образом можно инициировать запуск сервера по запросу клиента? Если реализация сервера одна, и клиенту известно, как ее идентифицировать и на каком компьютере сети ее искать, он обращается к сервису, ответственному за предоставление доступа к данной реализации (Service Control Manager). В случае получения разрешения этот сервис обращается к другому сервису, ответственному за запуск сервера функциональности (как было сказано выше, оба сервиса могут и часто бывают реализованы в одном приложении). Этим другим сервисом либо запускается соответствующее приложение (если сервер еще не запущен, или если каждому клиенту нужен свой экземпляр сервера), либо внутри уже запущенного сервера создаются объекты, взаимодействующие с данным клиентом.
Если реализаций сервиса несколько, удаленный запуск одной из них по запросу клиента может быть осуществлен в том случае, если сведения о местоположении этих реализаций доступны либо самому клиенту, либо сервису, который ищет реализацию по его запросу. В простейшем случае список возможных реализаций просто содержится в клиентском приложении. Например, компонент SimpleObjectBroker в Delphi 4 как раз содержит такой список; клиентское приложение, содержащее такой компонент, будет при каждом запуске случайным образом подключаться к одной из реализаций, указанной в списке. Однако в общем случае, особенно когда для поиска реализации используются специализированные сервисы, такой список хранится отдельно от клиентского приложения.
Естественно, для этого в системе должна существовать некая специализированная база данных, в которой содержатся сведения о сервисах и серверах, содержащих их реализацию. Общей спецификации, которой могло бы подчиняться создание такой базы данных, не существует, так как в общем случае такая база данных может содержаться на любой платформе. В случае COM и его расширений (таких как OLEnterprise) роль такой базы данных с успехом выполняет реестр Windows. В случае CORBA эти сведения хранятся в двух репозитариях (в одном регистрируются интерфейсы сервера, в другом - их реализации, то есть конкретные приложения-серверы). Inprise AppCenter использует свою собственную базу данных (ее реализация существует для нескольких платформ), при этом она управляется специальным приложеним, регистрирующим обращения к ней других сервисов.
Отметим, что удаленный запуск сервера по запросу брокера или клиента осуществляется в том случае, если выполняются условия, при которых он может быть запущен. Как было сказано ранее, на компьютере должен быть запущен сервис, предоставляющий разрешение на удаленный запуск данного сервера , и выполняются условия, при которых это разрешение может быть получено (например, пользователь клиентского приложения имеет право обращаться к этому серверу).
Одной из важнейших сетевых технологий является распределенная обработка данных, позволяющая повысить эффективность удовлетворения информационной потребности пользователя и, обеспечить гибкость и оперативность принимаемых им решений.
Достоинствами распределенной обработки информации является:
· большое число взаимодействующих между собой пользователей;
· устранение пиковых нагрузок с централизованной базы данных за счет распределения обработки и хранения локальных баз данных на разных ЭВМ;
· возможность доступа пользователя к вычислительным ресурсам сети ЭВМ;
· обеспечение обмена данными между удаленными пользователями.
При распределенной обработке производится работа с базой, т.е. представление данных, их обработка, работа с базой на логическом уровне осуществляется на компьютере клиента, а поддержание базы в актуальном состоянии - на сервере. При наличии распределенной базы данных база размещается на нескольких серверах. В настоящее время созданы базы данных по всем направлениям человеческой деятельности: экономической, финансовой, кредитной, статистической, научно-технической, маркетинга, патентной информации, электронной документации и т.д.
Создание распределенных баз данных (РБД) было вызвано двумя тенденциями обработки данных, с одной стороны - интеграцией, а с другой - децентрализацией.
Интеграция подразумевает централизованное управление и ведение баз данных. Децентрализация обеспечивает хранение данных в местах их возникновения или обработки, при этом скорость обработки повышается, стоимость снижается, увеличивается степень надежности системы.
Распределенная база данных - база данных, части которой размещены на отдельных ЭВМ, входящих в сеть. При этом некоторые данные могут дублироваться. При проектировании РБД осуществляется разбиение объекта на несколько частей (фрагментов) и размещение каждого фрагмента на один или несколько компьютеров. Размещение фрагментов может быть избыточным или безызбыточным.
При избыточном размещении необходимо определить степень дублирования фрагментов. Выгоды, получаемые от дублирования, пропорциональны соотношению объемов выборки данных и их обновления. Для поддержания целостности базы данных требуется корректировка всех копий. Преимущества дублирования уменьшаются с увеличением стоимости хранения фрагментов и, увеличиваются, так как повышается устойчивость системы против отказов. Эффективность работы пользователей с РБД зависит от обеспеченности их информацией о содержащихся в РБД данных, их структуре и размещении. Эту задачу решает сетевой словарь-справочник данных, находящийся в одной ЭВМ сети или дублирующийся на нескольких ЭВМ. При этом, словарь-справочник может иметь распределенную структуру, т.е. когда его отдельные фрагменты распределены по рабочим станциям сети.
К организации баз данных предъявляются такие общие требования как, обеспечение высокой скоростью обработки запросов, секретности, независимости (физической и логической) данных, безопасности и т.д. Кроме перечисленных требований, к РБД выдвигаются требования "прозрачности": распределенной структуры БД; совместного доступа к данным; распределенной обработки.
Распределенная структура БД предполагает независимость конечных пользователей и программ от способа размещения информации на рабочих станциях сети, т.е. формулирование запросов к РБД производится аналогично запросам к централизованной БД. Совместный доступ к данным подразумевает модификацию одних и тех же данных несколькими пользователями не нарушая целостности РБД.
"Прозрачность" распределенной обработки означает независимость пользователей и программ от типа локальной вычислительной сети и применяемого сетевого программного обеспечения. Обработка запроса пользователя может производиться на нескольких ЭВМ.
Доступ пользователей к РБД и администрирование осуществляется с помощью системы управления распределенной базой данных (СУРБД), которая обеспечивает выполнение следующих функций:
· автоматическое определение ЭВМ, хранящей требуемые в запросе данные;
· декомпозицию распределенных запросов на частные подзапросы к БД отдельных ЭВМ;
· планирование обработки запросов;
· передачу частных подзапросов и их исполнение на удаленных ЭВМ;
· прием результатов выполнения частных подзапросов;
· поддержание в согласованном состоянии копий дублированных данных на различных ЭВМ сети;
· управление параллельным доступом пользователей к РБД;
· обеспечение целостности РБД.
Прикладные программы управления данными представляют собой необходимый инструмент для распределенной обработки. Архитектура клиент-сервера сети позволяет различным прикладным программам одновременно использовать общую базу данных. Совершенно очевидно, что перенос программ управления данными с рабочих станций на сервер способствует высвобождению ресурсов рабочих станций, предоставляет возможность увеличить число частных, локально решаемых задач. Данная архитектура позволяет также централизовать ряд самых важных функций управления данными, такие, как защита информации баз данных, обеспечение целостности данных, управление совместным использованием ресурсов.
Одним из важных преимуществ архитектуры клиент-сервера в сетевой обработке данных является возможность сокращения времени реализации запроса. В подтверждение этому рассмотрим две базовые технологии обработки информации в архитектуре клиент-сервера сети и технологии использования традиционного файлового сервера.
Допустим, что прикладная программа базы данных загружена на рабочую станцию и, пользователю необходимо получить все записи, удовлетворяющие некоторым поисковым условиям. В среде традиционного файлового сервера программа управления данными, которая выполняется на рабочей станции, должна осуществить запрос к серверу каждой записи базы данных (рис. 3.11,а). Программа управления данными на рабочей станции может определить, удовлетворяет ли запись поисковым условиям, лишь после того, как она будет передана на рабочую станцию.
Очевидно, что данный технологический вариант обработки информации имеет наибольшее суммарное время передачи данных по каналам сети.
В среде клиент-сервера, напротив, рабочая станция посылает запрос высокого уровня серверу базы данных. Сервер базы данных осуществляет поиск записей на диске и анализирует их. Записи, удовлетворяющие условиям, могут быть накоплены на сервере. После того, как запрос целиком обработан, пользователю на рабочую станцию передаются все записи, которые удовлетворяют поисковым условиям (рис. 3.11,б).
Данная технология позволяет снизить сетевой трафик и повысить пропускную способность сети. Более того, за счет выполнения операции доступа к диску и обработки данных в одной системе сервер может осуществить поиск и обрабатывать запросы быстрее, чем если бы эти запросы обрабатывались на рабочей станции.
Файл-сервер |
Рабочая станция |
а) Типовая среда обработки запросов в сетях ЭВМ.
б) Распределенная среда обработки запросов в сетях ЭВМ.
Рис.3.11. (а, б).Технологии обработки запросов по базовым вариантам
По степени изменчивости все базы данных (БД) можно разделить на два класса:
А - условно-постоянные (в основном для справочных систем);
Б - сильно динамичные (для банковских, биржевых систем и т.п.).
Для ведения баз данных первого и второго классов используются системы управления базами данных (СУБД), которые в значительной степени отличаются друг от друга как по функциональным возможностям, так и по эксплуатационным характеристикам.
Например,
· для условно-постоянных БД наиболее важными показателями являются показатели скорости отработки запросов и скорости формирования выходных отчетов по БД, а такие показатели, как скорость отработки транзакций и контроль целостности БД при отработке транзакций не столь критичны;
· для сильно -динамичных БД, на первый план выходят такие показатели, как скорость отработки транзакций, возможность контроля целостности, скорость формирования отчетов, согласованность по чтению и транзакциям. Менее критичны здесь скорости отработки запросов.
Поэтому любая СУБД не может одинаково успешно применяться при работе с БД разных классов. Такие системы, как CLIPPER, FOXPRO ориентированы на первый класс БД-(А), и здесь имеются неплохие результаты, а такие СУБД ,как Informix и другие создавались для промышленного применения.
Исходя из вышесказанного, напрашивается вывод: найти "золотую середину", которая удовлетворяла бы требованиям обоих классов (А) и (Б). Решением этой противоречивой задачи является использование дифференциальной организации файлов базы данных, или дифференциальных файлов (ДФ).
В последнее время разработчики СУБД ведущих фирм подошли к использованию идеи ДФ. Причинами явились следующие факты:
· значительно расширился класс решаемых на IBM PC задач, так, что термин "персональный компьютер" уже не соответствует действительности;
· широкое распространение локальных вычислительных систем (ЛВС);
· разработка многопользовательских и многозадачных систем;
· стремительное развитие технической базы ЭВМ (в большей степени дисковой памяти).
Остановимся на сути ДФ применительно к БД в ЛВС. Реализация идеи ЛВС в различных СУБД значительно отличается. Идея ДФ включает три положения:
· основной файл БД остается неизменным при любых обновлениях базы данных, т.е., любые изменения БД последовательно накапливаются в специальном файле изменений - ДФ;
· никакие индексы для него не создаются и не поддерживаются.
Когда ДФ достигнет значительных размеров (примерно 25-40% от размеров БД), администратор вносит все изменения в основной файл БД в удобный момент времени в пакетном режиме.
Достоинства ДФ относятся к обеспечению высокой надежности, целостности БД и скорости отработки транзакций.
Вопрос, какие скорости отработки транзакций можно обеспечить при использовании ДФ, является довольно важным. Очевидно, что скорость отработки транзакций при такой организации БД возрастет в десятки раз. При этом сервер базы данных практически напоминает обычный файл-сервер.
Что касается индексов, то проблемы их поддержания не существует (скорости добавления, удаления и модификации записей БД находятся на самом высоком уровне). Внесение добавлений в БД не отличается от добавлений в обычный последовательный файл. Время обновления записей БД не зависит ни от размеров БД, ни от длины ключей, ни от их числа. Временные затраты на блокировку (как одно из узких мест для БД и ЛВС) сведены к минимуму. Для того, чтобы обеспечить согласованность данных по чтению нет необходимости блокировать целиком таблицу, что имеет место в ряде СУБД, т.е., когда запрос (или формируемый отчет) начинает выполняться, СУБД "запоминает" старший адрес в ДФ (моментальный снимок). При этом пользователь, инициализирующий свой запрос, не обязан ждать "своего момента". Он "не видит" никого из пользователей и получает снимок БД именно в этот момент времени. Далее, по мере выполнения запроса (даже очень быстрого) часть записей-целей могла быть или изменена или удалена. Это отразится только на старших адресах ДФ, а поэтому СУБД просто проигнорирует любые изменения данных, случившиеся после начала выполнения запроса. Гарантируется корректировка сложных и длительных запросов к БД, т.е. обеспечение согласованности по чтению и транзакциям. Становится интересным вопрос, как в этом случае ведется поиск в БД. В этом случае по ассоциатору находится множество записей-целей: число и список их адресов в основной БД, после чего производится считывание "ассоциатора" ДФ и производится корректировка этого списка. За счет этой корректировки время поиска увеличивается, причем величина этого увеличения зависит от размеров ДФ. Своевременность обновления БД должна быть в компетенции администратора БД. Чтобы исключить существенные издержки, связанные с ДФ, можно накапливать изменения БД для их пакетной обработки и при поиске ДФ не учитывать. В ряде систем, таких как банковские, допускается потеря некоторой точности в период между циклами обновления - "контролируемое запаздывание". Помимо всего прочего использование ДФ обеспечивает:
· возможность администратору восстанавливать случайно удаленные записи;
· возможность (при необходимости) хранить индексные файлы на самих рабочих станциях;
· возможность создания распределенных БД;
· одновременное выполнение транзакций.
Непротиворечивость данных может обеспечиваться механизмом захвата на уровне записи - откат транзакций любой доступной вложенности.
Сеть Internet не возможно себе представить без WEB серверов, которые позволяют пользователям сети получают удобный доступ к сетевым ресурсам. На таких серверах сосредоточена большая часть информации, представленной в Internet. От того, как будет построен такой сервер, зависит скорость получения пользователем любой информации. В этом разделе помещена информация, которая позволит познакомиться с организацией WEB серверов, средствами, с помощью которых такой сервер может быть создан и что необходимо иметь на клиентском компьютере для того чтобы любая информация «выложенная» на WEB сервере была доступна и представлялась без искажений.
С точки зрения общих принципов организации системы WEB сервер – клиентский компьютер используется технология клиент-сервер. Причем, на сервере, как правило, устанавливается база данных, которая хранит все сведения, отображаемые WEB сервером и серверная часть приложения, а на рабочей станции пользователя устанавливается достаточно простое средство для просмотра информации. В этой системе серверная часть WEB приложение представляется в виде «толстого» сервера, а на клиентской машине установлен «тонкий» клиент.
Технология создания простого WEB сервера сегодня можно считать достаточно простой задачей. Основную сложность представляет художественное оформление страниц сервера. Успех того или иного сервера в сети зависит, во многом, именно от того, как оформлены страницы. Немаловажную роль играет то как информация разделена на страницы и как определены ссылки в тексте. Эти важные аспекты задачи создания WEB сервера сейчас не будут представлять большого интереса, сначала требуется познакомиться с тем, что составляет основу самого WEB сервера и какие вопросы должны быть решены на компьютерах пользователей. Так как удобство представления информации, прежде всего зависит от средств установленных на рабочих станциях пользователей, то именно с них начнем изучение технологий, используемых при создании WEB серверов.
Несмотря на «молодость» WEB технологии, на сегодня существует более десятка различных средств для просмотра информации, так называемых браузеров.
Многие разработчики WEB серверов (Web-дизайнеры) сходятся во мнении, что одна из главных проблем Web-дизайна – многообразие браузеров и платформ, каждая из которых по-разному поддерживает HTML и сценарии. С выпуском каждого нового браузера улучшаются их характеристики и возможности, но это не означает, что более ранние версии при этом исчезают. В большинстве своем люди не склонны гнаться за новейшим и лучшим. Одни довольствуются тем, что у них имеется, а другие, вероятнее всего, работают на компьютерах фирм или учреждений, которые выбрали браузеры за них.
Как сделать дизайн Web-страницы эстетически и технически интересным, не игнорируя при этом владельцев предыдущих версий браузеров? Неужели Web-страница, рассчитанная на то, чтобы функционировать на любых браузерах, должна быть обязательно скучной? Можно ли угодить всем? И если нет, то где провести черту? Сколько старых версий будет работать с вашей страницей?
В Web-дизайне нет жестких правил. Поскольку главная задача – сделать содержимое страницы доступным для максимального количества пользователей, то для продвижения вперед одинаково важны и эксперимент, и использование новых технологий с учетом существующих реалий. Залог успеха дизайнерского решения лежит в понимании потребностей аудитории и в четком представлении, как сайт будет использован.
Браузеры Netscape Navigator и Microsoft Internet Explorer. На рынке доминируют два основных браузера: Netscape Navigator и Microsoft Internet Explorer. Вместе они, включая все их версии, представляет примерно 90 % (или более) используемых сегодня браузеров.
Эти два браузера конкурируют между собой за господство на рынке. Результатом их борьбы стала коллекция фирменных HTML-тегов, а также несовместимые реализации различных технологий (печально известный Dynamic HTML, а также JavaScript и Cascading Style Sheets – каскадные таблицы стилей). С другой стороны, конкуренция между Netscape и Microsoft в целом способствовала более быстрому развитию среды WEB.
Большинство разработчиков WEB серверов в своей работе ориентируются на Navigator и Internet Explorer, поскольку они занимают львиную долю рынка. Тем не менее, существует ряд других браузеров, которые вы можете принимать во внимание.
В версии Internet Explorer 4.0 для компьютеров Macintosh отсутствует значительная часть функциональных возможностей версии, созданной для Windows, поэтому использование ряда особых возможностей версии 4.0 может исключить из игры некоторых пользователей.
Некоторые документированные различия включают: отсутствие поддержки встраиваемых шрифтов; отсутствие поддержки фильтров CSS и переходов (визуальных эффектов, таких как тени, отбрасываемые объектом, которые используются для элементов текста); отсутствие элементов управления мультимедиа (эффекты переходов и анимации, обычно создаваемые авторскими мультимедийными программными средствами); проблемы с реализацией DHTML.
Браузеры America Online. Пользователи America Online (AOL) используют один из семи возможных браузеров (в зависимости от платформы и версии программного обеспечения AOL), некоторые из них обеспечивают только самую минимальную поддержку HTML.
Последняя версия America Online для PC – это версия 3.0, использует адаптированную версию браузера Microsoft Interne Explorer 3.0
WebTV. WebTV приводит в наши квартиры Web через обыкновенный телевизор с пультом дистанционного управления (также, по желанию, можно использовать клавиатуру). Для просмотра Web-страниц WebTV использует собственный специализированный браузер. Он осуществляет синтаксический анализ в соответствии – со стандартом HTML 3.2, но не предоставляет возможностей отображения фреймов, Java, JavaScript, ActiveX или любого другого формата, который требует встраиваемых приложений (за исключением встроенных Shockwave и RealAudio 3.0). Также создано много новых фирменных HTML-тегов, которые используются только в WebTV.
Поскольку WebTV выводит изображение на экран телевизора, предъявляются новые требования к характеристикам цвета и параметрам экрана.
Opera. Opera – это маленький и простенький браузер, созданный норвежской компанией Opera Software в Осло. Этот браузер обладает исключительно малым временем загрузки и минимальными требованиями к объему диска. Достоинством Opera является полное соответствие стандартам HTML. Неточности в написании тегов (например, пропущенные закрывающие теги, неправильное вложение и т. д.), которые пропускают более солидные браузеры, не будут правильно отображаться этим браузером. Opera 5.0 поддерживает Java, каскадные таблицы стилей и DHTML.
Хотя Opera и не стоит на первых местах по частоте использования, но многие разработчики продолжают тестировать свои сайты в Opera, чтобы убедиться в правильности кода.
Lynx. Lynx – это распространяемый бесплатно браузер, обеспечивающий просмотр только текста, предлагает вам быстрый и надежный доступ в Web. Он заслужил известность как наименьший общий знаменатель стандарта, пригодный для тестирования Web-страницы по базовым функциональным характеристикам. Несмотря на простоту, этот браузер не устаревает. Lynx постоянно совершенствуется и модернизируется. Сейчас он обеспечивает поддержку таблиц, форм и даже JavaScript!
Будет легче принять решение, какую технологию использовать и где провести черту для обратной совместимости, если знать, какие браузеры используются чаще всего. Наиболее достоверную информацию, конечно, можно получить, ведя статистику посещений сайта.
В Интернете можно найти несколько сайтов, предоставляющих статистические данные о браузерах. Статистика на этих сайтах основана на анализе посещаемости самих этих сайтов, что сужает статистическую выборку до узкого круга пользователей, интересующихся такого рода сайтами, – возможно, пользователи, интересующиеся приобретением новых автомобилей или программами телепередач, используют другие браузеры. Статистические данные, помещенные на сайте BrowserWatch, дают подробнейшие сведения о версиях, подверсиях и под-подверсиях каждого отдельного браузера.
Основу WEB технологии составляют гипертекстовые ссылки. Язык разметки гипертекстовых страниц (HTML – Hypertext Markup Language) представляет собой язык, разработанный специально для создания Web-документов. Он определяет синтаксис и размещение специальных инструкций (тегов), которые не выводятся на экран, но указывают браузеру, как отображать содержимое документа. Он также используется для создания ссылок на другие документы, локальные или сетевые, например, находящиеся в сети Интернет.
Стандарт HTML и другие стандарты для Web разработаны под руководством консорциума W3C (World Wide Web Consortium). Стандарты, спецификации и проекты новых предложений можно найти на сайте http://www.3w.org/. В настоящее время действует спецификация HTML 4.0, поддержка которой со стороны основных браузеров постоянно растет.
На практике на стандарт HTML большое влияние оказывает наличие тегов, предложенных и поддерживаемых наиболее известными браузерами, такими как Microsoft Internet Explorer и Netscape Navigator. Эти теги в данный момент могут как входить, так и не входить в состав действующей спецификации HTML.
Информации о тегах HTML Compendium (краткое руководство по HTML) созданно Ron Woodall.. Компендиум HTML находится на сайте http://www.htmlcompendium.org.
Инструментарий редактирования HTML. Документы HTML являются обычными текстовыми ASCII-файлами. Это означает, что для их создания можно использовать любой текстовый редактор, даже с минимальными возможностями. Существуют средства редактирования, разработанные специально для написания HTML. Они позволяют экономить время, так как содержат клавиши быстрого доступа для выполнения повторяющихся операций, например, задания начальных установок документов, таблиц или просто применения стилей к тексту.
Авторский инструментарий WYSIWYG. Последние годы характеризуются резким ростом рынка авторских инструментов. HTML-редакторы класса WYSIWYG (What You See Is What You Get – что видишь, то и получишь) имеют графические интерфейсы, которые делают написание HTML больше похожим на программу редактирования текстов или разметки страницы. Первоначальной целью этих программ было освобождение пользователей от тегов HTML, наподобие того, как программы разметки страниц защищают разработчика от набора команд языка PostScript. Сегодня их значимость возросла, так как они повышают эффективность и уровень автоматизации производства документов, обеспечивая в то же время доступ к исходному тексту HTML.
Наиболее популярными в настоящее время WYSIWYG-редакторами являются: Macromedia Dreamweaver, Golive CyberStudio (только для компьютеров Macintosh), Microsoft FrontPage, FileMaker Claris, Home Page, Adobe PageMill.
Теги HTML. Документ HTML содержит текст (содержимое страницы) и встроенные теги – инструкциями о структуре, внешнем виде и функции содержимого. Документ HTML разделяется на две основные части: заголовок – head и тело – body. Заголовок содержит такие сведения о документе, как его название и методическая информация, описывающая содержимое. В теле находится само содержимое документа (то, что выводится в окне браузера).
Каждый тег состоит из имени, за которым может следовать список необязательных атрибутов, все они находятся внутри угловых скобок < >. Содержимое скобок никогда не выводится в окне браузера. Имя тега, как правило, представляет собой аббревиатуру его функции, что облегчает его запоминание. Атрибуты являются свойствами, которые расширяют или уточняют функцию тега. Как правило, имя и атрибуты внутри тега не чувствительны к регистру. Тег <BODY BGCOLOR=white> будет работать так же, как <body bgcolor=white>. Однако значения определенных атрибутов могут быть чувствительны к регистру. Это относится, в частности, к именам файлов и URL.
Контейнеры. Большинство тегов являются контейнерами. Это означает, что у них имеется начальный (открывающий или стартовый) и конечный (закрывающий) теги. Текст, находящийся между тегами, будет выполнять содержащиеся в них инструкции. Например:
The weather is <I>gorgeous</I>today.
Результат: The weather is gorgeous today.
Конечный тег имеет то же имя, что и начальный, но перед ним стоит слэш (/). Его можно рассматривать как "выключатель" тега. Конечный тег никогда не содержит атрибутов.
В некоторых случаях конечный тег не обязателен, и браузер определяет конец тега из контекста. Чаще всего опускают конечный тег <р> (абзац). Браузеры раньше поддерживали этот тег без соответствующего завершения, поэтому многие авторы Web привыкли использовать краткую форму. Это разрешено не всем тегам, и не все браузеры прощают их отсутствие. Поэтому, если есть сомнения, включите в текст закрывающий тег. Это особенно важно, когда в документе вы используете каскадные таблицы стилей.
Автономные теги. Некоторые теги не имеет завершающих тегов, потому что они используются для размещения отдельных (автономных) элементов на странице. Одним из них является тег изображения <img>, он просто помещает графику в поток страницы. Другие автономные теги – это разрыв строки (<br>), горизонтальная линия (<hr>) и теги, содержащие информацию о документе и не влияющие на содержимое, выводимое на экран, такие как <meta> и <base>.
Атрибуты. Атрибуты добавляются в тег для расширения или модификации его действий. К одному тегу можно добавить несколько атрибутов. Если атрибуты тега следуют после имени тега, они разделяются одним или несколькими пробелами. Порядок следования не важен. Большинство атрибутов имеют значения, которые следуют за знаком равенства (=), находящимся после имени атрибута. Длина значений ограничена 1024 символами. Значения могут быть чувствительны к регистру. Иногда значения должны находиться в кавычках (двойных или одинарных). Правила записи значения следующие:
· если значение представляет собой одно слово или число и состоит только из букв (a-z), цифр (0-9) и специальных символов (точка <.> или дефис <->), то можно поместить его после знака равенства без кавычек;
· если значение содержит несколько слов, разделенных запятыми или пробелами, или содержит специальные символы, отличные от точки или дефиса, тогда его необходимо поместить в кавычки. Например, URL требуют кавычек, потому что они содержат символы "://". Также кавычки необходимы при задании значений цветов с использованием формата "#rrggbb".
Если вы не уверены, стоит ли использовать кавычки, используйте их всегда для всех значений.
В теги HTML могут помещаться другие HTML-теги для осуществления воздействия нескольких тегов на один элемент. Это называется вложением, и, что бы правильно его осуществить, начальный и конечный теги вложенного тега должны обязательно находиться между начальным наконечным тегами внешнего тега, например:
The Weather is <B><I>gorgeous</I></B> today.
Результат: The weather is gorgeous today.
Информация, игнорируемая браузерами. Ниже приводится информация, содержащаяся в документе HTML, включая определенные теги, которая будет игнорироваться при просмотре браузерами. В ее состав входят:
· разрывы строк. Символы конца строк в документе HTML игнорируются. Текст и элементы будут переноситься до тех пор, пока в потоке текста документа не встретится тег <р> или <br>. Разрывы строк выводятся, если текст обозначен как текст с заданным форматом (<рrе>);
· символы табуляции и множественные пробелы. Когда браузер встречает в документе HTML символ табуляции и несколько последовательных символов пробела, он выводит только один пробел. Таким образом, если документ содержит: "far, far away", браузер выведет "far, far away". Дополнительные пробелы можно добавить в текстовый поток, используя символ неразрывного пробела (Snbsp;). Кроме того, все пробелы выводятся, если текст является форматированным (находится в тегах <рrе>);
· множественные <р>-теги. Последовательность тегов <р>, не прерываемых текстом, всеми браузерами интерпретируется как избыточная. Содержимое будет выводиться так, как если бы был только один тег <р>. Большинство браузеров выведет несколько тегов <Br> в виде нескольких переходов на новую строку;
· нераспознаваемые теги. Если браузер не понимает тег или тот был неверно задан, то браузер его просто игнорирует. В зависимости от тега и браузера это может привести к различным результатам. Либо браузер ничего не выведет, или он может отобразить содержимое тега как обычный текст;
· текст в комментариях. Браузеры не выводят текст между специальными элементами <! и ->, которые используются для обозначения комментариев. После символов начала комментария и перед символами окончания обязательно должен находиться пробел. В сам комментарий можно помещать практически все. Комментарии нельзя вкладывать. В Microsoft Internet Explorer имеется фирменный тег, обозначающий комментарии <com-ment>...</comment>. Однако, он не поддерживается другими браузерами.
При разработке Web-страницы фиксированного размера придется выбирать для нее размер экрана. Здравый смысл подсказывает, что страница должна быть доступна (и правильно отображаться) для максимально возможного числа пользователей. Идея проста: необходимо определить наиболее часто используемое разрешение дисплея и разработать страницу таким образом, чтобы страница гарантированно заполняла все рабочее пространство.
Большинство дизайнеров рекомендуют разрабатывать страницы в формате 640x480, чтобы при просмотре пользователям не пришлось применять горизонтальную прокрутку. Горизонтальная прокрутка всегда затрудняет восприятие, поэтому дизайнеры традиционно ее отвергают.
Все большее число разработчиков считает стандартным разрешение 800x600. И совсем единицы разрабатывают страницы для еще более высоких разрешений. Конечно, ваше решение будет, в первую очередь, зависеть от аудитории. Например, если сайт ресурсов для дизайнеров графики, то считаем, что они имеют дисплеи, по крайней мере, с разрешением 800x600 или выше, в соответствии с чем и разрабатывается страница. Если сайт предназначен специально для WebTV или какого-то другого устройства отображения, следует ориентироваться на это конкретное устройство.
Достойный уважения Web-дизайн включает разработку страниц, доступных для пользователей с ограниченными возможностями, в частности по зрению и слуху. Консорциум World Wide Web объявил об инициативе Web Accessibility Initiative (WAI), которая ставит целью сделать Web более доступным для всех пользователей. Однако успех данной инициативы зависит от участия в ней рядовых разработчиков, которые могут (или не могут) создать Web-сайты в соответствии с поставленными задачами.
Пользователи с ограниченными возможностями зрения могут использовать специальные устройства для увеличения изображения, находящегося на экране. В этом случае к дизайну не предъявляется никаких специальных требований. Многие люди с проблемами зрения используют текстовые браузеры (такие как Lynx) вместе с программным обеспечением, которое громко читает содержимое страницы. В любом случае основное внимание уделяется структуре документа и его тексту. Графическое содержимое может быть просто утеряно.
Средства HTML 4.0. Спецификация HTML 4.0 вводит ряд новых атрибутов и тегов, созданных специально для того, чтобы сделать Web-документы доступными для более широкого круга пользователей. Кратко перечислим некоторые новые возможности HTML 4.0. (Расширенный список возможностей размещен на сайте http://www.w3.org/WAI/References/HTML4-access, а полные спецификации данной версии – на сайте http://www.w3.org/TR/REC-html40). HTML 4.0 предлагает следующие новые возможности, обеспечивающие доступность:
· дальнейшее разделение структуры документа и его внешнего представления. Информацию о стиле HTML 4.0 предлагает размещать в каскадных таблицах стилей;
· навигационная помощь, например, клавиши доступа и индексирование порядка табуляции для доступа к элементам страницы с использованием только клавиатуры;
· рекомендации, касающиеся новой клиентской карты-изображения, объединяющей графические и текстовые ссылки;
· новые теги <abbr> и <acronym>, которые помогают речевым и другим устройствам интерпретировать аббревиатуры и акронимы;
· возможность логически группировать строки и столбцы таблиц, снабжать их заголовками, резюме и длинными описаниями содержимого, облегчая интерпретацию таблиц;
· возможность группировать элементы управления формами и создавать длинные списки выбора, более ясные для восприятия. Элементы форм также доступны через клавиши табуляции и быстрого доступа;
· улучшенный механизм создания альтернативного текста. Атрибут alt теперь обязателен для тега <img>. Чтобы обеспечить связь с более длинными текстовыми пояснениями к изображениям, введен атрибут longdesc.
Для добавления информации о любом элементе, можно использовать атрибут title.
Средства CSS. Каскадные таблицы стилей или CSS (от английского Cascading Style Sheets) являются следствием дальнейшего развития HTML и дают нам возможность перейти на следующий уровень представления информации. Таблицы стилей позволяют разделить смысловое содержимое странички и его оформление.
В первых версиях стандарта HTML не было предусмотрено никаких средств для управления внешним видом информации. Общая концепция гипертекста была направлена на доступность информации для любых устройств, способных воспроизводить текст. Для разметки рекомендовалось использовать только логические теги, определяющие заголовки, подзаголовки, списки, абзацы, цитаты и т.д. – то есть, те элементы, которые и составляют структуру документа. Интерпретация же внешнего вида оставалась полностью на совести оконечного терминала.
Однако с тех пор много что изменилось, и стандарт HTML потерял первоначальную стройность. Вначале Netscape добавил "улучшенные теги", которые позволили более широко управлять внешним видом представляемой информации. Нововведение прижилось, и все расширения Netscape стали стандартом de facto. Потом точно также поступила Microsoft. Когда спохватились, то HTML представлял собой ужасную смесь логических и оформительских тегов, несовместимых расширений и полностью перестал отвечать первоначальной концепции – представлять информацию на любом устройстве независимо от его характеристик по выводу информации.
Тогда была предпринята широкомасштабная стандартизация. В результате чего на свет явился стандарт HTML 3.2. Он не был революционным, а лишь расставил по местам все нововведения и выработал общие рекомендации для производителей браузеров. Революционные изменения были введены в новом стандарте – HTML 4.0 или, как его стали называть, Dynamic HTML. В обращение были введены слои, таблицы стилей и универсальная объектная модель браузера.
В новом стандарте попытались вернуться к истокам концепции HTML. Четвертая версия, как и первая, рекомендует создавать странички таким образом, чтобы они могли быть воспроизведены на любом устройстве – будь это 21" дисплей или маленький черно-белый экран сотового телефона.
Каким же образом была решена проблема с представлением внешнего вида информации? В этом и заключается революционность подхода. Все оформление рекомендуется вынести во внешний стилевой файл. Основная же страничка будет содержать только информацию и ссылки на необходимые стили.
При показе странички конкретному устройству должна быть задействована соответствующая случаю таблица стилей. Для сотового телефона и дисплея компьютера они, разумеется, должны быть разными. В первом случае мы используем минимальное оформление, которое позволит представить информацию наиболее оптимально и компактно. Во втором же случае в нашем распоряжении имеется все богатство шрифтового и цветового оформления.
Таблицу стилей нужно написать всего один раз при создании сайта для каждого из устройств, на котором планируется вывод информации. К тому же таблица стилей может быть единой для целого сайта. И, следовательно, не нужно будет повторять одни и те же описания стилей на каждой из страниц.
Размещение всей стилевой информации в одном внешнем файле открывает нам и другие полезные возможности – ведь изменив содержимое только одного (!) стилевого файла, мы можем в считанные секунды сменить весь дизайн сайта. Причем никаких других переделок не понадобится. Разумеется, это верно лишь в том случае, если первоначально сайт был спроектирован верно.
CSS2 (Cascading Style Sheets, Level 2) – самая последняя рекомендация по каскадным таблицам стилей, предоставляет механизмы для улучшенной интерпретации страниц неграфическими и не визуальными устройствами. Усовершенствования включают:
· механизмы, с помощью которых созданная пользователем таблица стилей может заменить все таблицы стилей более высоких уровней в каскаде. Это дает конечному пользователю возможность полностью управлять отображением. Пользователь получает возможность создавать настраиваемые таблицы стилей для вывода страниц в соответствии со специальными требованиями;
· специализированная поддержка для загружаемых шрифтов – таким образом уменьшается тенденция помещать текст в графику для улучшения внешнего вида страницы;
· механизмы позиционирования и выравнивания, которые отделяют содержимое от внешнего представления. Эти таблицы стилей должны исключить некорректное использование тегов HTML для создания особых эффектов отображения. Теги HTML можно использовать для логической структуризации документа, делая его более простым для интерпретации не визуальными посредниками;
· средства управления для звукового вывода доставленной по Web информации;
· улучшенные средства навигации, такие как цифровые маркеры, которые можно добавлять в документ в целях ориентации.
При создании профессиональной графики для Web используется текст со сглаженными краями. Сглаживание – это легкая размытость на неровных краях, сглаживающая переходы между цветами. Не сглаженные края, напротив, выглядят зазубренными и ступенчатыми. Исключением из этого общего правила является текст очень малого размера, (10 пунктов и меньше), применение сглаживания делает его практически неразличимым. Текст малых размеров будет выглядеть намного лучше без сглаживания.
Два комплекта шрифтов. При разработке Web-страницы средствами базового HTML есть два комплекта шрифтов; пропорциональный и шрифт фиксированной ширины. Проблема заключается лишь в том, что неизвестно, какой из них и какого размера будет использован при отображении.
Пропорциональный шрифт – иначе "шрифт переменной ширины" для каждого символа выделяет разное количество места в зависимости от его начертания. Например, в пропорциональном шрифте заглавная "W" занимает больше места в строке по горизонтали, чем прописная "I". Такие гаринитуры, как: Times, Helvetica и Arial являются примерами пропорциональных шрифтов.
Web-браузеры для большинства текстов на Web-странице, включая основной текст, заголовки, списки, цитаты и т. д., используют пропорциональные шрифты. Как правило, большие отрывки основного текста удобнее читать, когда они напечатаны пропорциональными шрифтами. Поскольку большинство пользователей не имеют времени заменить шрифты, установленные по умолчанию, с большой вероятностью можно предположить, что текст на вашей странице будет отображен шрифтом Times размером 10 или 12 пунктов (по умолчанию в Netscape) или Helvetica (по умолчанию в Microsoft Internet Explorer). Но это всего лишь общее правило.
Шрифт с фиксированной шириной предоставляет одинаковое место для всех символов шрифта. Заглавная "W" занимает не больше места, чем прописная "I". Примерами шрифтов фиксированной ширины являются гарнитуры Courier и Monaco. В Web-браузерах шрифты фиксированной ширины используются для отображения любого текста внутри следующих HTML-тегов: <рге>, <tt>, <code>, <kbd>,<samp>, <хтр>.
Поскольку многие люди не меняют настройку шрифтов, установленную по умолчанию, текст, находящийся в указанных тегах, будет выведен одним из шрифтов типа Courier.
Текст в изображениях. Дизайнеры быстро поняли, что самый верный способ абсолютного контроля над шрифтами – поместить текст в изображение. Можно часто видеть заголовки, подзаголовки и объявления, выполненные в виде файлов GIF. Многие Web-страницы представлены исключительно в графике, которая содержит внутри себя весь текст страницы. Преимущества использования графики вместо HTML-текста абсолютно очевидны:
· можно определять тип шрифта, размер, интерлиньяж, промежуток между буквами, цвет и выравнивание – все атрибуты, которые вызывают сложности только в HTML;
· ваша страница будет одинакова при выводе во всех графических браузерах.
· Но у этого метода имеется ряд недостатков:
· изображение загружается дольше, чем текст, т.к. графические файлы обычно на несколько порядков больше, чем HTML-тексты, имеющие то же содержание;
· в неграфических браузерах содержание утрачивается. Пользователи, которые не могут (или не хотят) просматривать графику, не увидят и текста. Альтернативный текст (используется атрибут Alt) на месте графического изображения помогает, но его возможности ограничены и это не всегда надежный способ отождествления отсутствующей графической информации;
· информацию, находящуюся в изображении, нельзя индексировать или организовать ее поиск. В результате исключаются из документа важные части информации.
Размер шрифта. Обычно размер шрифта определяется в пунктах (72 пункта (пт) = 1 дюйм высоты шрифта) но, к сожалению, эти размеры не достаточно точно переводятся между платформами. Отчасти это происходит потому, что их операционные системы управляют дисплеями с различными разрешениями. Обычно Windows использует разрешение экрана 96 точек/дюйм, a MacOS – 72 точек/дюйм. Мониторы MultiScan допускай более высокое разрешение.
4.5. ПРЕДСТАВЛЕНИЕ ГРАФИКИ НА Web-СТРАНИЦАХ
На данный момент почти все изображения в Web, представлены в двух форматах: GIF и JPEG. Третий соперник, заслуживающий упоминания, формат PNG, борется за поддержку и внимание браузеров.
GIF. GIF – Grafic Interchange Format можно назвать традиционным форматом файлов Web. Он был первым форматом файлов, который поддерживался Web-браузерами, и по сей день продолжает оставаться основным графическим форматом Web. Его свойства состоят в следующем:
· поддерживает не более 256 цветов (меньше можно и часто нужно);
· использует палитру цветов;
· использует сжатие без потери информации по методу LZW (который подобен применяемому в архиваторе PKZIP, и, следовательно, GIF-файлы в дальнейшем практически не сжимаются);
· поддерживает чересстрочную развертку;
· является поточным форматом, т.е. показ картинки начинается во время перекачки;
· позволяет назначить одному из цветов в палитре атрибут прозрачный, что применяется при создании так называемых прозрачных GIFов;
· имеет возможность сохранения в одном файле нескольких изображений, что находит свое применение при изготовлении анимированных GIFов;
· поддерживает возможность вставки в файл управляющих блоков, которые позволяют вставлять комментарии в файл (например, об авторских правах), осуществлять задержку между показами изображений и т.д.
А теперь немножко разъяснений – к чему эти свойства могут привести. Как мы написали, GIF поддерживает не больше 256 цветов, а это значит, что все изображения, которые мы сохраняем в GIF-формате, явно или неявно уменьшают количество цветов, чтобы уложиться в этот лимит (разные программы с разным успехом). А отсюда вывод – если у взять красивую фотографию с плавными переходами и едва уловимыми оттенками цвета, то после преобразования все будет гораздо хуже – оттенки перестанут быть неуловимыми, и вся фотография приобретет неестественный, нереалистичный вид. Поэтому, если надо все-таки сохранить фотографию в формате GIF и передать все оттенки, то приходится идти на хитрости. Например, к фотографии можно применить какой-нибудь художественный фильтр и превратить ее в рисунок или применить тонирование. Зато нет никаких проблем с сохранением рисунков и чертежей в этом формате, они, как правило, хорошо сжимаются и не содержат много цветов.
JPEG. Вторым наиболее популярным графическим форматом в Web является JPEG – Joint Photographic Experts Group. Он содержит 24-разрядную информацию о цвете. Это 16,77 млн цветов в отличие от 256 цветов формата GIF. В JPEG используется так называемое сжатие с потерями. Это означает, что некоторая информация об изображениях в процессе сжатия отбрасывается, но в большинстве случаев ухудшение качества изображения не наносит вреда и часто даже не заметно.
Фотографии или любые изображения с плавными градациями цветов лучше всего сохранять в JPEG-формате, потому что он предлагает более высокое качество изображений, умещающихся в файл меньшего объема. Тем не менее, JPEG не является лучшим решением для графических изображений с одноцветными областями, поскольку этот формат имеет тенденцию испещрять цвета крапинками и конечный файл, как правило, будет несколько больше, чем GIF-файл для того же изображения.
PNG. Есть еще третий графический формат, конкурирующий за постоянное использование в Web. Это формат PNG – Portable Network Graphic, который, несмотря на некоторые достоинства, с 1994 г. находится более или менее в тени. Только недавно браузеры начали поддерживать PNG как встроенную графику, но PNG имеет все шансы стать очень популярным форматом в Web. Именно поэтому он включен здесь в "большую тройку". PNG может поддерживать 8-разрядные индексированные цвета, 16-разрядные полутона или 24-разрядные полноцветные изображения, используя схему сжатия без потерь. Это обеспечивает более высокое качество изображений, а иногда и меньший объем файлов по сравнению с форматом GIF. Кроме того, файлы PNG имеют некоторые замечательные функции, например, встроенное управление коэффициентом гамма, и изменяемые уровни прозрачности (это позволяет показывать рисунок фона сквозь отбрасываемые мягкие тени).
Разрешение и размер файла изображений. Поскольку изображения Web существуют только на экране дисплея, будет технически правильно измерять их разрешение в пикселах на дюйм (ppi – pixels per inch). Другая единица измерения разрешения – количество точек на дюйм (dpi – dots per inch) относится к разрешению печатных изображений и зависит от разрешения печатающего устройства.
Но, так как реальные размеры графики зависят от разрешения дисплея, измерение в дюймах становится для Web-окружения неприемлемым. Единственной значимой единицей измерения становится пиксел.
Практично создавать изображения с разрешением 72 ppi (это лучший вариант для представления на экране), обращая внимание только на общие размеры в пикселах. В процессе создания графики на Web можно вообще не использовать дюймы. Важен размер изображения по сравнению с другими изображениями на странице и общего размера окна браузера.
Например, многие пользователи по-прежнему используют 14-дюймо-вые дисплеи с разрешением 640x480 пикселов. Чтобы гарантировать заполнение графической заставкой всего пространства экрана, лучше сделать его шириной не более 600 пикселов (учитывая, что часть пикселов справа и слева будет использована для окна и для полосы прокрутки). Размер остальных кнопок и изображений на странице следует измерять в пикселах относительно банеpa, имеющего ширину 600 пикселов.
Размер файла. Без сомнения, именно графика сделала Web таким, каким мы его видим сегодня. Не стоит забывать, что графика увеличивает время, необходимое Web-странице для передачи по сети; большой объем графики означает существенное время загрузки, которое испытывает терпение читателя, особенно если он дозванивается с использованием стандартного модемного соединения.
В этом отношении для Web-дизайнера существует единственное наиболее важное правило: размер файла графического изображения должен быть минимально возможным! Создание изображений, предназначенных для передачи по сети, возлагает ответственность на разработчиков серьезно относиться к проблеме времени загрузки.
Сервер – в данном случае это любое управляющее компьютером программное обеспечение, которое дает ему возможность выполнять запросы на документы или другие данные. Программы, которые запрашивают и отображают документы (такие как браузер), называются клиентами. Термины "на стороне сервера" и "на стороне клиента", используемые, например, при работе с картами-изображениями, относятся к той машине, которая руководит процессом. Функции на стороне клиента выполняются на машине пользователя, функции на стороне сервера – на удаленной машине.
Web-серверы отвечают на запросы браузеров (клиентских программ), находят заданные файлы (или выполняют сценарий CGI) и возвращают документ или результаты сценария. Web-браузеры и серверы общаются по протоколу Hypertext Transfer Protocol (HTTP, протокол передачи гипертекста).
Программное обеспечение серверов. Большинство серверов работают на платформе Unix. Именно поэтому в мире Web по-прежнему используется терминология системы Unix. В процессе работы понадобится выучить несколько Unix-команд. Однако процент серверов Windows NT, Windows 95 и даже MacOS постоянно увеличивается. Некоторые серверные пакеты предлагают графический интерфейс в качестве альтернативы управлению из командной строки Unix.
Вот некоторые известные серверы: NCSA Server, Apache, CERN, Netscape Servers, Internet Information Server (IIS).
Сегодня большинство серверов (приблизительно 70%) работают на Apache или его предшественнике NCSA. Конкретный тип сервера не влияет на большую часть того, что делает дизайнер, например, на создание графики или разработку базовых HTML-файлов. Конечно, он будет влиять на более совершенные методы создания Web-сайтов, такие как Server Side Includes (серверные включения), добавление типов MIME и Web-страницы, управляемые базами данных.
Корневой каталог. Когда браузер запрашивает документ, сервер определяет местонахождение документа, начиная с корневого каталога документа. Это каталог, который был сконфигурирован для хранения всех документов, совместно используемых посредством Web. Он не обязательно появляется в URL, который указывает на документ, поэтому важно знать, какой каталог является корневым при загрузке файлов.
Индексные файлы. Прямой слэш (/) в конце URL означает, что URL обращается к каталогу, а не к файлу. По умолчанию серверы отображают содержание каталога, указанного в URL. Большинство серверов, однако, сконфигурированы так, чтобы отображать особый файл вместо списка каталога, этот файл называется индексным. Индексные файлы обычно имеют имя index.html, но на некоторых серверах они могут называться welcome.html или default.html.
Если сервер сконфигурирован на нахождение индексного файла и не обнаруживает его, вместо него может быть отображено содержание каталога, но это делает файлы уязвимыми для посторонних. По этой причине неплохо всегда называть одну из страниц (обычно главную) в каждом каталоге index.html (или другим условленным именем).
Заголовки отклика HTTP. Как только сервер определяет месторасположение файла, он посылает содержимое этого файла обратно браузеру вместе с некоторыми заголовками отклика HTTP (response headers). Эти заголовки обеспечивают браузер информацией о прибывающем файле, включая его тип данных (также известный как "тип содержимого" или "тип MIME"). Обычно сервер определяет формат по расширению файла; например, файл с расширением .gif распознается как файл изображения.
Браузер читает информацию в заголовке и определяет, что делать с файлом. Он может отобразить файл в окне либо запустить соответствующее вспомогательное или встраиваемое приложение (plug-ins).
Сценарии CGI. Вместо того чтобы обращаться к файлам HTML, URL может потребовать запустить программу CGI. CGI расшифровывается как Common Gateway Interface (общий шлюзовой интерфейс). Он позволяет Web-серверу общаться с другими программами (сценариями CGI), которые работают на сервере. Сценарии CGI обычно пишут на языках Perl, С или C++.
Сценарии CGI используют для выполнения разнообразных функций, таких как поиск, управление картами-изображениями на стороне сервера, игры. Однако наиболее типичное использование сценариев – обработка форм.
Большинство администраторов серверов придерживаются правила хранить сценарии CGI в специальном каталоге, озаглавленном cgi-bin (сокращенно от CGI-binaries). Когда они хранятся в одном каталоге, администраторам проще управлять сервером и обеспечивать его безопасность. Если сценарий CGI запрашивается браузером, сервер исполняет функцию и возвращает браузеру динамическое содержимое.
Использование SSI. SSI – Server Side Includes или, по-русски, – включения на стороне сервера. SSI – это директивы, вставляемые прямо в HTML-код и служащие для передачи указаний Wев-серверу. Встречая такие директивы, которые называются SSI-вставками, Web-сервер интерпретирует их и выполняет соответствующие действия. Например: вставка HTML-фрагмента из другого файла, динамическое формирование страничек в зависимости от некоторых переменных (например, типа браузера) и другие не менее приятные вещи.
Преимущества SSI проявляются, когда нам нужно поддерживать достаточно большой по объему сайт, имеющий определенную структуру и повторяющиеся элементы кода на всех страничках. При применении серверных включений сайт удобно рассматривать как состоящий из отдельных блоков, каждый из которых отвечает за свою часть странички. Эти блоки практически неизменны и повторяются от страницы к странице. В эти блоки можно вынести такие элементы странички как: главное меню, рекламные вставки, повторяющиеся элементы оформления страничек и т.д. Физически эти блоки представляют собой просто HTML-файлы, содержащие часть кода, нужную для выполнения их задачи.
Для того, чтобы сервер знал, что страничка не обычная, а содержит SSI-директивы, она имеет специальное расширение: *.shtml или *.shtm, наличие которого и заставляет Web-сервер предварительно обрабатывать странички. Вообще-то, расширение может быть любое – в зависимости от конфигурации Web-сервера, но в основном применяется именно *.shtml.
Полная страничка формируется Web-сервером на лету, собирая код странички из таких вот блоков. Для того, чтобы указать серверу, какой блок нужно вставить и в каком месте странички, используется специальная форма записи в виде комментария. Например, вот такая:
<!--#command param="value" –->,
где # – признак начала SSI-вставки; command – SSI-команда; param – параметры SSI-команды.
Первое преимущество SSI с точки зрения дизайнера заключается в том, что при таком подходе Web-мастеру, занимающемуся поддержкой сайта, можно не бояться случайно испортить дизайн. Элементы сложной верстки скрыты за счет использования SSI, и поддержка содержимого страничек становится гораздо более легким и приятным делом.
Второе, не менее важное преимущество, – это возможность мгновенной замены дизайна сайта, не требующая переделывания страничек с информационным содержанием сайта. Для смены дизайна достаточно переписать SSI-вставки, формирующие внешний вид сайта.
Структуры каталогов. Поскольку Web является порождением окружения Unix, он следует многим его соглашениям. Например, чтобы в гиперссылке правильно указать путь, URL, требуется понимание организации каталогов на платформе Unix.
Каталоги ("место хранения файлов") организованы в виде иерархической структуры. Самый верхний каталог известен как корневой и обозначается прямым слэшем (/). Корневой может содержать несколько каталогов, каждый из которых может иметь свои подкаталоги, и т. д. Говорят, подкаталог является "потомком" каталога, в состав которого он входит (последний называют "родителем").
Имя пути (path name) – это нотация, используемая для указания конкретного файла или каталога. Оно указывает, какой путь нужно пройти, чтобы добраться до желаемой цели. Есть два типа путей: абсолютный (из корневого каталога) и относительный (из каталога в котором находишься).
Соглашения об именах файлов. Для того чтобы файлы удачно путешествовали по сети, нужно назвать их в соответствии с установленными соглашениями об именах файлов:
· запрещено использование пробелов в именах файлов;
· нежелательно использование в именах файлов специальных символов, таких как ?, %, #. Лучше ограничиться буквами, цифрами, символом подчеркивания (вместо пробелов), дефисами и точками;
· выбор расширения должен быть правильным. Документы HTML требуют расширения .html (или htm для сервера Windows). Графические файлы GIF имеют расширение .gif, а файлы JPEG – .jpg или .jpeg. Файлы с неправильным расширением браузер не распознает в качестве файлов, разрешенных для передачи в Web;
· имена файлов HTML чувствительны к регистру. Хотя это и не обязательно, но лучше использовать только буквы нижнего регистра. Это может облегчить запоминание имен файлов.
Загрузка документов (FTP). Наиболее частой транзакцией, с которой Web-дизайнер обращается к серверу, является загрузка на сервер HTML-документов, изображений или мультимедийных файлов. По сети файлы передаются между компьютерами с помощью метода, называемого FTP (File Transfer Protocol, протокол передачи файлов). При работе на Unix в сессии Telnet можно запустить программу ftp и передавать файлы с огромным числом аргументов командной строки.
На компьютерах IBM PC и Маcintosh имеется ряд программ FTP с графическими интерфейсами, которые избавляют от необходимости передавать файлы с использованием командной строки Unix. Более того, в большинстве случаев функции FTP встроены непосредственно в WYSIWYG HTML-редакторы, такие как GoLive Cyberstudio, Claris HomePage и Dreamweaver. Ha компьютерах Macintosh достаточно популярны специальные программы, которые осуществляют передачу файлов методом "перетаскивания". На PC есть немало простых программ FTP, таких как WS__FTP и AceFTP.
Браузеры Netscape Navigator и Internet Explorer также функционируют как простые FTP-клиенты, предоставляя возможность как загружать, так и выгружать файлы, используя интерфейс "drag-and-drop".
Процесс FTP. Независимо от того, какой инструментарий используется, базовые принципы и процессы остаются неизменными.
1. Запуск программы FTP, соединение с сервером. Нужно ввести точное имя сервера, регистрационное имя и пароль.
2. Находим каталог, в который нужно скопировать файлы. Можно также создать новый каталог или удалить существующие файлы и каталоги на сервере, используя средства управления FTP-программы.
3. Задаем режим передачи. Главное во время передачи – решить, передавать данные в двоичном или ASCII –режиме. ASCII-файлы состоят из буквенно-цифровых символов. Некоторые FTP-программы рассматривают файлы ASCII как "текстовые". Документы HTML следует передавать как ASCII или текст.
Двоичные файлы состоят из откомпилированных данных (единиц и нулей), их примерами являются выполняемые программы, изображения, фильмы и т.д. Некоторые программы рассматривают двоичный режим как "необработанные данные" ("raw data") или "изображение" ("Image"). Все графические (.gif или .jpeg) и мультимедийные файлы должны передаваться как двоичные или "Raw Data". В Fetch (MacOS) вы можете обнаружить параметр MacBinary, который передает файл полностью, вместе с ветвью ресурсов (часть файла, содержащая пиктограммы рабочего стола и другие специфические для компьютера Маcintosh данные). Этот вариант следует использовать только при передаче с одного компьютера Маcintosh на другой. Ветвь ресурсов отделяется от мультимедийных файлов, созданных на компьютерах Маcintosh, при передаче в двоичном режиме.
Некоторые FTP-программы имеют также параметр Auto, который позволяет вам передавать полностью весь каталог, содержащий файлы обоих типов. Программа проверяет каждый файл и определяет, следует ли передавать его в текстовом или двоичном режиме. Эта функция не во всех программах надежна на 100%, поэтому надо использовать ее с осторожностью, пока не будет уверенности, что результат правильный.
4. Передача файлов на сервер. Стандартный протокол FTP использует термины "поместить" ("put") для обозначения передачи файлов с компьютера пользователя на сервер и "получить" ("get") для обозначения загрузки файла с сервера на компьютер, поэтому они могут использоваться и в программе FTP. Одновременно можно загружать несколько файлов.
5. Разъединение. Когда передача закончена, связь с сервером завершается. Перед этим можно протестировать переданные в браузер файлы, чтобы убедиться, что передача прошла удачно.
Установка права доступа. При передаче файлов на Web-сервер, нужно убедиться, что все права доступа к файлам установлены таким образом, что каждый может их прочитать. Право доступа контролирует, кто может читать, записывать (редактировать) или выполнять файл (если это программа). Права доступа требуется установить для владельца файла, группы файла или для всех пользователей. Устанавливать права доступа может только автор файла.
Установка права доступа программой FTP. Некоторые FTP-про-граммы позволяют устанавливать право доступа по умолчанию в диалоговом окне. Для достижения большинства целей Web пользователю нужно обеспечить полный доступ и ограничить всех других пользователей только возможностью чтения. Может понадобиться согласие администратора сервера с такими установками.
Типы файлов (MIME-типы). Серверы добавляют к каждому документу заголовок, который сообщает браузеру, какой тип файла он отправляет. Основываясь на этой информации, браузер определяет, что делать с файлом: или отобразить его содержимое в окне, или запустить соответствующее встраиваемое или вспомогательное приложение.
Принятие правильного решения о выборе браузеров и использовании новых технологий во многом зависит от выбранной аудитории пользователей. Прежде чем разрабатывать новый сайт, необходимо провести исследования, каким платформам, браузерам, техническим новинкам отдается предпочтение, какие скорости соединения используют потенциальные пользователи. Если переделывается существующий сайт, предварительно анализируются регистрационные записи на сервере, хранящие информацию о использовании сайта.
Все предугадать невозможно, но на начальном этапе можно придерживаться следующих правил:
· если разрабатывается сайт научного или академического содержания, особое внимание следует обратить на то, как сайт работает в Lynx (или в другом неграфическом браузере);
· если сайт предназначен для потребителей – например, сайт, который предлагает обучающие игрушки для детей, – внимание обращается на скорость загрузки и внешний вид сайта для AOL-браузеров;
· если это сайт для контролируемого окружения, например корпоративной, то точно зная, какой браузер и какую платформу используют ваши клиенты, вы можете показать все, на что способен этот браузер, включая звуковые эффекты – свистки, звонки и, даже, собственные разработки;
· если разрабатывается сайт компьютерных игр, предназначенный для юных фанатов, с большой вероятностью можно предположить, что они пользуются самыми последними версиями браузеров и встраиваемых приложений (или непременно достанут их, если вы скажете, что это им нужно).
Для большинства многоцелевых сайтов разумнее использовать подход "разделение различий" или, если позволяют ресурсы, создайте несколько версий и обслуживайте их соответствующим образом.
Каким образом множество типов дисплеев и условий просмотра влияет на принятие решений при разработке страницы? Чаще всего дисплеи различают лишь по его размерам (или, если быть более точным, по разрешению) и по цветовым возможностям. Тем не менее, важно помнить, что различия на этом не заканчиваются. Некоторые пользователи могут смотреть сайт на экране телевизора. В то же время другие будут просматривать Web на своей ладони, с экрана PDA (Personal Digital Assistant, персональный цифровой секретарь) или сотового телефона. Пользователи с ограничениями по зрению, вероятно, будут слушать, а не смотреть вашу страницу.
Узнать размер дисплея – это только часть дела, поскольку операционная система и сам браузер занимают на экране довольно много места. Размер пространства, которое действительно доступно в окне браузера (оно называется "рабочим" или "живым" пространством окна браузера), зависит от операционной системы компьютера, используемого браузера и индивидуальных установок параметров пользователя.
Минимальное рабочее пространство окна измеряется со всеми возможными видимыми инструментами браузера (такими как кнопки, панели расположения и полосы прокрутки). Максимальное рабочее пространство измеряется при скрытии всех необязательных элементов, это делало окно браузера максимально большим для данного разрешения.
Но это два крайних случая. На практике размеры окна браузера варьируются. Часть кнопок будет присутствовать на экране, но, возможно, не все. Полосы прокрутки включаются и выключаются автоматически, поэтому их трудно учесть. Пользователи дисплеев с очень высоким разрешением (от 1024 пикселов и выше) всегда открывают окна целиком, а часто открывают одновременно несколько окон. Наряду с этим существует множество неизвестных факторов, которые могут повлиять на размер окна браузера.
Особенности цветов дисплея. Мониторы, если они цветные, различаются по числу воспроизводимых цветов. Это еще один фактор, который влияет на решения разработчика. Мониторы обычно воспроизводят 24-раз-рядные (16,77 млн цветов), 16-разрядные (65 536 цветов) или 8-разрядные (256 цветов).
Цвета, полученные в "истинном", 24-разрядном пространстве цветов будут искажаться (выводиться с пятнами и крапинками) при обработке браузерами на 8-разрядных дисплеях.
Существует, однако, набор из 216 цветов, составленный из цветов системных палитр МасOS и Windows, который не будет искажаться на 8-разрядных дисплеях. Одно из названий этого множества цветов – Web-палитра (Web Palette). Многие дизайнеры предпочитают пользоваться этой палитрой при создании Web-графики и элементов HTML, так чтобы страница выглядела одинаково для всех пользователей.
Если ориентироваться на пользователей с монохромными или полутоновыми (Gray Scale) дисплеями, то необходимо применение высококонтрастной графики. Когда цвета конвертируются во множество оттенков серого цвета (или смешиваются с черными и белыми пикселами), имеет значение только яркость цветов. Представьте себе пурпурный текст на темно-серо-зеленом фоне. Хотя это цвета контрастных тонов, по общей яркости они достаточно близки, так что текст становится неразличимым при просмотре на полутоновом дисплее.
Первым шагом при определении вероятного размера Web-страницы должно стать определение максимального пространства, обеспечиваемое дисплеем. Компьютерные дисплеи имеют различные стандартные размеры и обычно измеряются в дюймах. Можно привести некоторые типичные размеры дисплеев – 14", 15", 17", 19" и 21".
Более значимой характеристикой является разрешение дисплея – общее число пикселов (picture's element – элемент картинки) на экране. Чем выше разрешение, тем более детальным может быть изображение. Зная возможное число пикселов, вы можете создавать в соответствии с ним изображения (также измеряемые в пикселах) и элементы страницы.
Важно помнить, что чем выше разрешение на данном дисплее, тем больше пикселов спрессовано в имеющемся пространстве экрана. В результате пикселы становятся меньше и соответственно уменьшаются изображения и другие элементы страницы.
Именно по этой причине измерения в Web производятся в пикселах, а не в дюймах. То, что на вашей системе представляется величиной в дюйм, на дисплеях других пользователей может выглядеть больше или меньше. Когда вы работаете с пикселами, вы знаете, каковы размеры элементов относительно друг друга.
Теперь Web предназначен не только для персональных компьютеров. Web-браузеры уверенно входят в жилые комнаты, портфели и машины в виде WebTV, карманных PDA-устройств и даже сотовых телефонов. С необычно малыми размерами их дисплеев связаны новые заботы дизайнеров.
WebTV. WebTV – устройство, которое превращает обыкновенный телевизор и телефонную линию в Web-браузер, ворвалось на рынок в 1996 г. и постепенно, но неуклонно расширяет свою нишу. Но поскольку число пользователей возрастает, некоторые дизайнеры принимают во внимание особые требования этого устройства. Некоторые сайты специально разрабатываются для WebTV.
В качестве устройства отображения WebTV использует телевизор. Рабочее пространство WebTV составляет 544x378 пикселов. Браузер позволяет вертикально перелистывать страницы, но не имеет горизонтальной прокрутки, так что более широкая графика будет частично невидима и недоступна. Принципы дизайна, соответствующего стандартам телевидения, заключаются в том, чтобы создавать светлый текст на темном фоне, а не наоборот, а также не использовать элементы шириной менее 2 пикселов.
WebTV публикует рекомендации для дизайнеров на сайте под названием Primetime. Более детальную информацию о требованиях WebTV можно найти на сайте http://www.Webtv.net/primetime.
Карманные устройства. Возросшая популярность Web в совокупности с расширяющимся использованием карманных устройств связи, таких как карманные компьютеры, PDA и сотовые телефоны, привела к тому, что Web-браузеры сжались до невероятно малых размеров. Многие из этих устройств для отображения содержания сайта используют браузеры типа "тонкий" клиент (thin client) – клиент-терминал. Этот вид браузера работает с минимальными требованиями к процессору на стороне клиента, оставляя весь огромный объем работы серверу.
Например, браузер HitchHiker специально разработан для работы на монохромном квадратном дисплее сотового телефона со стороной 2 дюйма. Браузер ProxiWeb являет собой пример другого клиента, который обеспечивает доступ к популярному PDA PalmPilot (а также к IBM WorkPad и новому Palm III). Он работает с использованием прокси-сервера, который обрабатывает Web-страницы, предназначенные для отображения на портативных устройствах. ProxiWeb даже преобразует графику в монохромные битовые карты, так что до некоторой степени сохраняется первоначальный вид страницы (это наиболее полезно для графических заголовков), подробнее –на странице http://www.proxinet.com.
Не многие сайты разработаны специально для портативных устройств, но, поскольку их популярность возрастает, уже сейчас интересы этой части пользователей нельзя не учитывать. В большинстве случаев рекомендации по созданию сайтов, доступных для текстовых браузеров, таких как Lynx, включая приведенные выше советы по обеспечению доступности, применимы для разработки страниц в условиях ограниченного пространства дисплеев карманных устройств.
С особенностями разрешения дисплея связан вопрос выбора между изменяющимися страницами (изменяется размер и осуществляется настройка под разные размеры окон) и фиксированными по размеру (что позволяет разработчику лучше управлять размерами страницы). В пользу каждого из подходов есть веские аргументы. Естественно, можно найти хорошие доводы за и против каждого из них.
Разработка гибких страниц. Web-страницы по умолчанию гибкие. Текст и элементы HTML-файла попадают в окно браузера, заполняя все доступное пространство, вне зависимости от размеров дисплея. Если размер окна браузера изменяется, элементы повторно выводятся, чтобы настроиться на новые размеры. В этом и проявляется сущность Web. Многие дизайнеры сознательно разрабатывают страницы таким образом, чтобы они выдерживали расширения и сжатия Web-окна. Этот подход имеет свои достоинства и недостатки.
Достоинства:
· реальность такова, что Web-страницы будут отображаться на дисплеях с разным разрешением; гибкую страницу можно настроить для вывода на любом дисплее;
· заполнено все пространство дисплея, отсутствует нежелательное свободное место, наличие которого часто планируется разработчиками страниц с фиксированными размерами;
· дизайн гибких страниц по духу и по природе более близок к золотой середине. Согласно таким стандартам, "хорошей" считается страница, которая доступна для большинства пользователей.
Недостатки:
· на больших дисплеях длина строки может оказаться чрезмерной, когда текст заполняет всю ширину окна браузера. Длинные строки особенно неудобны для чтения с экрана, поэтому, при заполнении текстом всей ширины окна или фрейма, значительно ухудшаются условия чтения многим пользователям;
· на больших дисплеях элементы будут расположены на экране достаточно гармонично, на маленьких дисплеях они оказываются скученными;
· результаты гибкого дизайна непредсказуемы, и страница у разных пользователей будет выглядеть по-разному.
Разработка страниц фиксированного размера. Тем, кто хочет иметь больший контроль над разметкой страницы, следует разрабатывать страницы фиксированной ширины, которая будет постоянной для всех пользователей, независимо от размера дисплея или изменений размеров окна. Этот подход основан на принципах создания страниц в издательском деле, таких как поддержание постоянной сетки, отношений элементов, расположенных на странице, и удобные длины строк.
Достоинства:
· страница будет выглядеть одинаково независимо от размеров дисплея. Это особенно важно для компаний, стремящихся представить свой имидж одинаково для всех посетителей;
· страницы и столбцы с фиксированной шириной обеспечивают лучшее управление длинами строк. Чтобы строки не становились слишком длинными при просмотре на больших дисплеях, можно использовать таблицы.
Недостатки:
· если размер данного окна браузера меньше сетки страницы, части страницы не будут видны и может потребоваться горизонтальная прокрутка. Она почти всегда воспринимается как помеха, усложняющая работу, поэтому в большинстве случаев ее надо избегать. Одно из решений – выбрать размер страницы, который подойдет большинству;
· по-прежнему сложно контролировать размер выводимых символов в браузерах, так что элементы могут непредсказуемо смещаться в результате использования большего или меньшего размера, по сравнению с тем, который использовался при разработке;
· стремление полностью контролировать отображение страницы означает своего рода выступление против среды. Web – это не печатное издание, у него свои сильные стороны и особенности. Защитники стратегии гибкого дизайна скажут, что фиксированному дизайну нет места в Web.
Конечно, не обязательно, чтобы Web-страницы были полностью фиксированными или гибкими. Можно разработать страницу, объединяющую оба подхода.
Один общеизвестный метод заключается в том, что создается разметка фиксированной страницы с использованием таблиц, а затем производится ее центрирование на странице таким образом, чтобы при выводе на большие дисплеи она выглядела более сбалансированной (избегая эффекта пустого экрана с правой стороны). При использовании этого метода невозможно точно расположить таблицу относительно фонового изображения.
Другой подход заключается в использовании таблиц или групп фреймов, которые состоят из столбцов (или фреймов), заданных комбинациями абсолютных и относительных размеров. В этом случае при изменении размера окна один столбец или фрейм сохраняет прежнюю ширину, в то время как остальные изменяют размер и заполняют свободное место.
Реально ли уместить страничку, содержащую приличное количество анимации, звука и удивительных способов интерактивности в файл порядка 100 Кбайт? Сделать так, чтобы эта страница работала одинаково как в Netscape Navigator, так и в Internet Explorer Internet Explorer? Компания Macromedia решила большинство проблем совместимости и производительности, выпустив Flash, который к сегодняшнему дню весьма эволюционировал и является полноценной частью инструментов-техник Web-дизайна.
Коротко и ясно о том, что это такое. Существуют plug-in'ы (подключаемые модули), которые встраиваются в браузер, и служат для просмотра Flash страниц. Называются они Flash Player. Причем в последних версиях Netscape Navigator и Internet Explorer эти модули уже встроены (если нет, то их можно бесплатно скачать с сайта Macromedia). И существует программа Flash, с помощью которой эти страницы создаются.
В пользу Flash приведу его основные достоинства и статистку использования Macromedia профессиональными разработчиками:
· маленький размер получающихся файлов и, соответственно, более быстрая загрузка из сети. Flash использует векторный формат изображений и сжимает растровые и звуковые файлы, (которые также могут использоваться в страницах Flash), что очень положительно влияет на уменьшение размера страницы и время ее скачивания;
· устранение проблем совместимости между браузерами. В отличие от HTML, Flash одинаково работает как в Internet Explorer, так и в Netscape Navigator. Имеется даже специальный вариант примочки-проигрывателя для браузеров, поддерживающих Java (Flash Java Player);
· мощный событийно-управляемый язык. В Macromedia Flash используется специальный язык, при помощи которого можно создавать "интеллект" для своей страницы. Причем если в Flash 4 это был, скорее, некий скрипт (script), имеющий всего несколько основных функций, то в Flash 5 (несмотря на название "ActionScript") – это почти полноценный язык программирования, с поддержкой условий, циклов, массивов, функций и классов, которые можно наследовать;
· Flash имеет автоматическую поддержку anti-aliasing (сглаживание контуров с помощью смешения соседних цветов). В результате даже простая линия или кружочек, нарисованные во Flash, выглядят приятно для глаз. Что же тут говорить о рисунках, нарисованных профессионалами;
· создавать страницы во Flash под силу даже ребенку, и, признаюсь, это весьма приятное занятие. А если обладать элементарными навыками дизайна и рисования, открывается весь простор для Вашей фантазии, предоставляемый Flash.
· Flash потихоньку становится стандартом де-факто. В случаях, где необходима широкая интерактивность, графика, звук, и маленький размер, Flash незаменим.
Особенности Macromedia Flash 5. "Flash 5 – язык программирования нестандартных интерфейсов с векторной анимацией". Здесь делается основной упор на то, что интерфейсы нестандартны. Что имеется в виду, зачем это нужно и к чему это ведет?
"Нестандартные" интерфейсы имеют ряд отличий от "стандартных" (под "стандартными" подразумеваются привычные интерфейсы HTML):
1. Специальные управляющие объекты (кнопки, панели, блоки). Для примера, рулетка в Microsoft Word – нестандартный объект. Ее практически невозможно реализовать в HTML, только картинку, но не интерактивную функциональность.
2. Независимое размещение объектов, другими словами, не размещение объектов относительно друг друга, а расположение по координатам и уровням. В DHTML такая возможность существует, но в DHTML надежно реализовать можно только совсем простые вещи.
3. Прозрачное взаимодействие с любым объектом. Т.е. все объекты равны, не складывается ситуация, когда часть принадлежит системе, часть вашему коду, и т.д., и при этом набор обрабатываемых событий один для всех.
В результате подобной "нестандартности" появляется полная свобода в создании интерактивного интерфейса, более удобного, более наглядного, более функционального. Это реально повышает уровень предоставляемого сервиса. А значит, достигается "customer satisfaction" (удовлетворение требований клиента), и, в конечном итоге, система становится более конкурентоспособной.
И именно Flash 5 дает возможность делать такие интерфейсы принципиально проще, чем любой другой инструмент, который можно всерьез рассматривать как сколько-нибудь значимую рыночную технологию.
Когда следует использовать Macromedia Flash. Здесь важно понять, что существует два принципиальных условия применения Flash:
1. Надо аккуратно выбирать область применения Flash за пределами анимации.
2. Этим инструментом надо уметь грамотно пользоваться.
С первым условием достаточно просто: Flash нужен там, где нестандартный интерфейс дает много новых возможностей, где нужна интерактивность, где не подходит "спартанская" внешность. При совпадении всех этих требований имеет смысл задуматься об использовании Flash 5 в качестве инструмента для построения системы.
Чем определяется "грамотность" применения Flash 5? Необходимо определиться, каковы преимущества использования именно Flash в конкретном проекте, и с какими "подводными камнями" придется столкнуться.
Основные плюсы программирования в среде Flash 5 – в процессе разработки:
1. Почти каждая аккуратно запрограммированная функция сразу очевидно полезна во многих местах.
2. Возможно построение универсального сервера.
3. Легко переносится часть логики с серверной на клиентскую часть.
4. Свобода в верстке и в наборе control-элементов (кнопок, меню, списков, таблиц).
Большая часть трудностей решается некоторой наработкой общих методов и правил работы. Создание некоторого набора механизмов, как на серверной части, так и на Flash, позволяет выходить на принципиально другой уровень программирования.
Определив, какие браузеры использует большинство посетителей вашего сайта, вы сможете решить, какие теги HTML и Web-технологии целесообразно использовать в вашей разработке. Точно так же можно определить, какую часть пользователей вы рискуете проигнорировать при использовании таких средств, как Java или JavaScript.
Оказавшись перед дилеммой различия функциональных возможностей браузеров, Web-дизайнеры разработали разнообразные подходы к решению проблем, отличающиеся по степени крайности. Разумеется, "правильный" способ поддержки того или иного сайта зависит от его назначения и аудитории.
Разработка простейшей страницы. Незначительная часть разработчиков придерживается идеализированного представления о том, что Web должен быть доступен всем. Также они могут считать, что способ внешнего представления должен находиться в руках конечного пользователя, а не автора. Они стремятся использовать только самый надежный, проверенный стандарт и убедиться, что страницы работают со всеми браузерами.
Разработка для последней версии. Еще одна группа разработчиков придерживается другой крайней точки зрения. Они создают страницы только для самой последней, новейшей версии популярных браузеров. Их не волнует, что страница не будет доступна для пользователей, использующих другие браузеры. Утверждение "посоветуйте им поставить новую версию – это бесплатно" очень часто звучит как оправдание такой тактики. Кроме того, существуют авторы, которые работают только с последней версией одного конкретного браузера. Заметим, что такой подход может быть вполне разумным в рамках сетей интранет.
Разделение различий. Большинство дизайнеров предпочитают идти на компромисс. В дизайнерских кругах распространена фраза о Web-страницах, которые "изящно деградируют" ("degrade gracefully"), что означает использование новейших технологий, подобных DHTML или JavaScript, таким образом, чтобы обеспечивать функционирование страницы и на более ранних версиях браузерах.
Каждому – по потребностям. Другой удачный, но более трудоемкий подход – создать несколько версий сайта, рассчитанных на разные возможности пользователей. Некоторые сайты предоставляют пользователям самостоятельно решать, какую из версий они хотят посмотреть. Часто при входе на сайт пользователя просят сделать выбор между версией с полным набором эффектов и просто текстовой или между версиями – с фреймами и без них. Такой вариант передает управление в руки пользователя.
Еще один интересный подход – автоматический запуск версии, соответствующей типу браузера, который делает запрос. JavaScript может задавать действия в зависимости от используемого браузера. Кроме того, страницы могут быть скомпонованы в процессе работы для конкретного браузера серверными включениями (Server Side Includes).
Средства проверки HTML. Независимо от того, какой браузер выбран, одним из условий успеха является правильное программирование HTML. Существует ряд онлайновых ресурсов, которые проверяют Web-сайт на соответствие различным показателям качества, включая совместимость с браузерами (или согласованность с HTML-спецификацией) написанной вами программы. Кроме того, имеются средства, проверяющие HTML-код на наличие ошибок. Наиболее популярные услуги по проверке качества HTML предоставляют:
WebSiteGarage http://www.Websitegarage.com;
NetMechanic http ://www .netmechanic.com;
Doctor HTML http://www.imagiware.сom.
Области применения информационных систем разнообразны. В этих условиях трудно найти две одинаковые системы. Отличают их разнообразие основных свойств и особенностей, например: характер обрабатываемой информации, целевые функции, технический уровень системы и т. д. Перечисленные особенности влияют на форму представления информации как в системе так и для пользователя, характер процессов обработки информации и взаимодействие информационных систем со средой, состав аппаратного и программного обеспечения.
Классификация информационных систем по основным признакам была проведена ранее в разделе. Очевидно, предметом настоящего рассмотрения следует считать автоматизированные и автоматические информационные системы, в которых для хранения, обработки и поиска информации используются компьютеры. Безусловно, на сегодня эти системы отличают широкие функциональные возможности, способность хранить и обрабатывать очень большие массивы информации. Характерной особенностью этих систем является широкое использование компьютеров в самых различных агрегатах и узлах, в частности в системах сбора, подготовки, передачи и выдачи информации.
Любая информационная система функционирует в окружении внешней среды, являющейся для нее источником входной и потребителем выходной информации. В пределах такой системы, начиная от входа в систему и кончая выходом из нее, информационный поток проходит несколько этапов обработки. Как известно, к основным этапам обработки информации относиться сбор, регистрация и первичная обработка, передача по каналу связи от источника к компьютеру, создание и поддержание информационных массивов, обработка и формирование выходных форм, передачи по каналам связи от компьютеров к потребителям, преобразование в форму удобную для восприятия пользователем.
Информация, поступающая в компьютер информационной системы, отображает состояние объектов или отдельных компонент окружающего мира, а алгоритмы некие правила ее переработки, соответствующие правилам ее переработки в окружающей среде.
Информация, поступающая в компьютеры, размещается в памяти, образую информационные массивы, составляющие вместе информационный фонд. Информационные массивы имеют определенную структурную организацию, которая связана со структурным составом объекта реального мира, связями между его отдельными элементами и их характеристиками.
Над элементами массива и фонда в целом осуществляются различные операции обработки, основными среди которых являются: логические и арифметические операции, операции сортировки и поиска, ведения и корректировки информации. В результате этих операций обеспечивается актуальность информации, т. е. между окружающим миром и фактически его моделью в компьютере обеспечивается необходимо соответствие. Кроме того, формируется выходная информация в соответствии с заданием на обработку.
Как было ранее установлено, автоматизированные информационные системы хранят и обрабатывают информацию об объектах реального мира. Большие объекты, в силу из естественной сложности, принято делить, используя принцип декомпозиции, на отдельные агрегаты и узлы. Некоторую совокупность информации, описывающую конкретный объект или его часть, называют логической записью или просто записью. Совокупность записей, описывающих множество объектов определенного класса, называют информационным массивом.
В реальном мире между объектами или его отдельными агрегатами существуют определенные отношения и взаимосвязи, имеющие различную степень сложности. В процессе разработки систем обработки и хранения информации эти отношения выявляются и отображаются путем структуризации записей и информационных массивов. Организация информационного массива, обеспечивающая определенные связи и отношения между данными, называется структурой данных. Для того чтобы в процессе обработки данных в ЭВМ не утерялось их информационное наполнение, не нарушился смысл отношений, существующих между объектами в реальном мире, структуры должны поддерживаться, т.е. любые манипуляции, выполняемые над данными в процессе их обработки, не должны разрушать структуру данных. В структуре отображены свойства описываемого объекта, поэтому разрушение структуры будет приводить к утрате его свойств в итоге к неадекватному описанию объекта.
Структура данных Как совокупность элементов и связей между
ними
Структура элемента
Рис. 5.1. Взаимосвязь между объектом и структурой данных
Существует три уровня представления данных: логический уровень, уровень хранения и физический уровень.
На логическом уровне работают с логическими структурами данных, отражающими реальные отношения, которые существуют между объектами и их характеристиками, т.е. указывающими в каком виде данные представляются пользователю системы. При разработке логических структур данных учитывается также информационная потребность пользователей системы и характер задач, для решения которых предназначена. Единицей информации на этом уровне является логическая запись, объект, описываемый соответствующей логической записью, характеризуется определенными признаками - свойствами, которые выражены в виде атрибутов записи. На логическом уровне разработчик системы устанавливает перечень признаков, полностью характеризующий описываемый класс объектов. Совокупность признаков и их взаимосвязь определяют внутреннюю структуру логической записи.
Логическая структура данных должна исчерпывающе характеризовать объекты, сведения о которых обрабатываются АИС; адекватно отражать реальные отношения между объектами и их характеристиками; обеспечивать удовлетворение информационных потребностей пользователей системы и решение задач приложений. Какие из свойств объекта должны быть отражены атрибутами записи, решает разработчик системы исходя из известных принципов достаточности.
На логическом уровне представления данных не учитывается техническое и математическое обеспечение системы (тип компьютера, тип ЗУ, язык программирования, операционная система).
На уровне хранения оперируют со структурами хранения - представлениями логической структуры данных в памяти компьютеров. Структура хранения должна полностью отображать логическую структуру данных и поддерживать ее в процессе функционирования АИС (автоматизированная информационная система). Единицей информации на этом уровне также является логическая запись. АИС должна трансформировать логический уровень в уровень хранения, не допуская искажений.
Оперативная память машины и внешняя память обладают разными возможностями, поэтому средства и методы организации данных в ОП (оперативной памяти) и на ВЗУ (внешних запоминающих устройствах) различны. При разработке или выборе структуры хранения учитывается тип ЗУ, в котором будут храниться данные, устанавливается тип и формат данных, а также определяется способ поддержания логической структуры.
Известны различные способы представления данных в ОП и на ВЗУ, причем одна и та же логическая структура данных может быть реализована в памяти компьютера различными структурами хранения. Каждая структура хранения предоставляет определенный способ доступа к данным и определенные возможности для манипулирования данными. Она характеризуется объемом памяти, необходимым для размещения данных. От выбора структуры хранения непосредственно зависит эффективность обработки данных. Правильно выбранная структура хранения обеспечивает быстрый поиск нужных данных, возможность добавления новых и удаления устаревших записей без разрушения логической структуры, а также возможность корректировки записей, минимальный расход машинной памяти.
Поддержание структуры хранения осуществляется программными средствами. Для реализации ряда структур хранения требуются определенные языки программирования, поэтому при разработке или выборе структуры хранения следует учитывать возможности языка программирования, на котором будут написаны программы работы с данными.
На физическом уровне представления данных оперируют с физическими структурами данных. На этом уровне решается задача реализации структуры хранения непосредственно в конкретной памяти конкретного компьютера. Единицей информации на этом уровне является физическая запись, представляющая участок носителя, на котором размещаются одна или несколько логических записей. При разработке структур памяти анализируются параметры конкретных технических средств: тип и объем памяти, способ адресации, метод и время доступа к данным. На этом уровне решаются задачи по организации обмена данными между основной и внешней памятью компьютера.
Рис. 5.2. Уровни представления данных
При разработке структур данных всех уровней должен обеспечиваться принцип независимости данных. Физическая независимость данных означает, что изменения в физическом расположении данных и в техническом обеспечении системы не должны отражаться на логических структурах и прикладных программах, т.е. не должны вызывать в них изменений. Логическая независимость данных означает, что изменения в структурах хранения не должны вызывать изменений в логических структурах данных и в прикладных программах. Кроме того, изменения, вносимые в логические структуры данных в связи с появлением новых пользователей и новых запросов, не должны отражаться на прикладных программах других пользователей системы.
Соблюдение принципа независимости данных позволяет использовать особые виды данных: виртуальные и прозрачные данные.
Виртуальные данные существуют лишь на логическом уровне. Программисту эти данные представляются реально существующими, и он оперирует ими в своих программах. Каждый раз при обращении к этим данным операционная система определенным образом их генерирует на основании других данных, физически существующих в системе. Объявление некоторых данных виртуальными позволяет экономить машинную память.
Прозрачные данные представляются несуществующими на логическом уровне. Это позволяет скрыть от программиста или от пользователя многие сложные механизмы, используемые при преобразовании логических структур данных в физические, и упростить прикладные программы.
Логическая запись составляет основу информационных массивов в информационных системах. Логическая запись состоит из отдельных элементов, связанных определенными отношениями, и может иметь многоуровневую структуру. Формирование элементов более высокого уровня из элементов нижнего осуществляется в соответствии с определенными правилами.
Элементами первого, самого нижнего, уровня являются элементарные данные: числа, символы, логические данные, знаки. Элементарные данные читаются и обрабатываются программой целиком, доступ к их частям невозможен. Обычно эти данные не являются непосредственным объектом информационного поиска, но в ряде случаев к ним должен быть обеспечен доступ. Так, например, в процессе поиска может возникнуть необходимость сравнения отдельных символов.
Элементарные данные каждого типа имеют определенную форму представления в памяти, для их хранения выделяется строго определенный объем памяти. Знание форматов хранения элементарных данных позволяет рассчитать объем памяти, необходимый для размещения массивов данных и программ.
Элементом второго уровня является поле записи. Это последовательность элементарных данных, имеющая определенный смысл, но не имеющая смысловой завершенности. Данные, образующие отдельное поле записи, описывают соответствующий признак – свойство объекта.
Каждый признак объекта имеет наименование и значение (Рис. 5.1.). Так, например, для студентов, записи о которых хранятся в АИС, в качестве признаков могут использоваться номер студенческого билета, фамилия, средний балл успеваемости. Каждый конкретный студент характеризуется определенными значениями этих признаков, например наименование признака СРЕДНИЙ БАЛЛ, значение — 4,7. Отдельные студенты отличаются значениями одноименных признаков.
Очевидно, число признаков, характеризующих объект, определяет количество полей в записи. В каждом поле помещается значение соответствующего признака. Поля записи именуются, причем имя поля может совпадать с наименованием признака.
Используемый для идентификации записи в процессе обработки или поиска признак называется ключевым или ключом записи. Поле записи, содержащее ключ, называется ключевым полем. Если каждое из возможных значений ключа идентифицирует единственную запись, то такой ключ называют уникальным. Так, номер студенческого билета является уникальным ключом каждой записи массива, хранящего сведения о студентах данного вуза.
В записи могут предусматриваться дополнительные поля для хранения служебной информации: меток, ссылок, различных указателей. Поле записи может быть объектом информационного поиска в различных приложениях, а также в тех случаях, когда это поле — ключевое. Однако, как уже отмечалось, поле записи не имеет смысловой завершенности. Например, поле СРЕДНИЙ БАЛЛ может явиться объектом поиска, но информационную ценность значение этого поля будет иметь лишь в том случае, когда станут известны фамилия, имя и отчество студента.
Понятие поля записи не следует отождествлять с понятием поля машинной памяти. Эти понятия относятся к разным уровням представления данных. Для хранения поля записи могут использоваться как единицы машинной памяти фиксированной, так и переменной длины.
Поля записи объединяются в группу данных (агрегат данных, групповое данное). Группа данных — элемент третьего уровня внутренней структуры записи — представляет собой поименованную совокупность элементов данных, рассматриваемую как единое целое. Например, группа данных, имеющая наименование АДРЕС, состоит из элементов данных ГОРОД, УЛИЦА, НОМЕР ДОМА, НОМЕР КВАРТИРЫ. В качестве своего элемента группа может иметь другую группу данных. Группа данных имеет определенный смысл и может быть объектом поиска, но не имеет смысловой завершенности. Так, например, адрес полезно знать лишь в том случае, если известно, чей он.
Логическая запись — это поименованная совокупность полей или групп данных. Запись является отдельной логической единицей и имеет смысловую завершенность.
Каждая запись описывает индивидуальный объект или класс объектов. Логическая запись является непосредственным предметом информационного поиска, основной единицей обработки информации.
Перечень полей, последовательность их расположения и взаимосвязь между ними составляют внутреннюю структуру записи, которая в конечном итоге определяет тип записи. Поля записи могут располагаться последовательно друг за другом, в этом случае запись называют неструктурированной. Запись может быть структурированная, со сложными нелинейными связями между полями. Структуризация записи составляет одну из основных концепций баз данных.
а) неструктурированная запись б) запись со структурными связями
Рис. 5.3. Структурированные и неструктурированные записи
Отдельные логические записи, описывающие определенный класс объектов, группируются в информационный массив. Массивы, хранящиеся на ВЗУ, называют файлами. Файл имеет имя и рассматривается как единое целое. Так, например, совокупность записей всех студентов учебной группы может рассматриваться как отдельный файл.
Рис. 5.4. Логические записи, информационные массивы и файлы
Ранее говорилось, что в процессе функционирования АИС записи и массивы претерпевают изменения. При этом в массивы добавляются новые записи и удаляются записи ставшие ненужными. В связи с этим различают операции над массивами и операции над содержимым отдельных записей, из которых состоят массивы.
Процесс поддержания информационного массива в актуальном состоянии, заключающийся в добавлении (включении) и удалении (исключении) записей, называется ведением.
Отдельные характеристики объектов со временем могут изменяться, поэтому в записи необходимо вносить соответствующие изменения. Процесс внесения изменений в записи называют корректировкой или модификацией.
Конечной целью любой операции совершаемой в АИС является отдельная запись. Для добавления, удаления или корректировки, для обработки информации, содержащейся в определенной записи, необходимо, прежде всего, найти нужную запись или место ее расположения в массиве. Поэтому операции поиска являются традиционными для систем обработки и хранения информации и, можно считать, самыми часто выполняемыми операциями в АИС. Поиск записи должен осуществляться как можно быстрее, так как время поиска значительной мере определяет общее время обработки информации. Очевидно, эти свойства АИС зависят от того, как организован уровень хранения, и какие правила, алгоритмы приняты для поиска записей в массивах и файлах.
Рис. 5.5. Операции над записями в массивах
Для обеспечения "жизнеспособности" информационного массива структуры, в которые организованы данные, должны обеспечивать возможность ведения массива и корректировки отдельных записей, быстрого поиска записей, минимальный расход памяти под массив. Перечисленные требования противоречивы, поэтому ужесточение требований, ведущих к улучшению одних характеристик АИС, может сопровождаться ухудшением других. При выборе структуры данных часто останавливаются на компромиссном решении.
Структуры данных делятся на линейные и нелинейные структуры. В нелинейных структурах в отличие от линейных связь между элементами структуры (записями) определяется отношениями подчинения или какими-либо логическими условиями. К линейным структурам данных относятся массив, стек, очередь, таблица. К нелинейным структурам принадлежат деревья, графы, многосвязные списки и списковые структуры.
Ряд структур данных после создания не позволяет включать или исключать записи, а допускает лишь их корректировку. Это структуры фиксированного размера. Структуры переменного размера позволяют включать и исключать записи, предоставляя информационному массиву возможность динамически изменяться. В зависимости от способа представления структур в памяти компьютера (последовательный или связанный) структурам переменного размера предоставляется возможность расти и уменьшаться либо в пределах заранее зарезервированного блока памяти, либо в пределах всего свободного адресного пространства. В первом случае необходимо заранее знать число элементов структуры и выделять блок памяти под максимальный размер информационного массива. Если число элементов структуры оказалось больше, чем предполагалось, то лишние элементы не удастся разместить в памяти. Если же элементов окажется меньше, то участок памяти останется неиспользованным. При связанном представлении структуры переменного размера могут свободно расти и уменьшаться. Число элементов структуры может быть заранее не известным.
Рис. 5.6. Последовательное и связное представление структур данных
Различные структуры данных предоставляют и различный доступ к своим элементам: в одних структурах доступ возможен к любому элементу, в других — к строго определенному. Ограничение в доступе сопровождается увеличением времени поиска нужных записей.
Структуры данных могут быть однородными и неоднородными. В однородных структурах все элементы представлены записями одного типа. В неоднородных структурах элементами одной структуры могут являться записи разных типов.
На уровне хранения в памяти компьютеров данные могут иметь последовательное или связанное представления (см. рис. 5.7). Соответственно различают структуры хранения, использующие последовательное представление данных и связанное представление данных.
При последовательном представлении данные в памяти машины размещаются в соседних последовательно расположенных ячейках. При этом физический порядок следования записей полностью соответствует логическому порядку, определяемому логической структурой, т.е. логическая структура поддерживается физическим порядком следования данных. Совокупность записей, размещенных в последовательно расположенных ячейках памяти, называют последовательным списком.
Для хранения информационного массива в виде последовательного списка в памяти выделяется блок свободных ячеек под максимальный размер массива. Записи, имеющие следующий логический порядок: Зап. В, Зап. А, Зап. F, Зап. С, ..., Зап.N, — разместятся в памяти машины так, как это показано на рис. 5.7,а.. Вновь появившиеся записи размещаются в конце блока на свободном участке памяти. Если количество новых записей окажется больше, чем число свободных ячеек в зарезервированном блоке, то эти записи не удастся разместить в памяти. Если же записей окажется меньше, чем предполагалось, то память останется неиспользованной.
В процессе ведения информационного массива записи добавляются и удаляются. Вновь пришедшие записи добавляются в конец списка. Так, запись (N + 1)-я будет размещена в ячейке с адресом 100 + (N + 1). При удалении записей в памяти остаются свободные ячейки. На рис. 5.7,б добавлена запись (N + 1)-я и удалены две записи: Зап. А и Зап. F, Ячейки 102 и 103 оказались свободными. Список, в котором содержатся свободные ячейки памяти, будет неплотным. Со временем значительное число ячеек может оказаться свободным. Для того чтобы эти участки памяти не пустовали, время от времени весь массив данных перезаписывается, при этом все записи передвигаются так, как это показано на рис. 5.7,б. Перезапись массива требует дополнительных затрат машинного времени. В процессе корректировки массива, подлежащие обновлению записи читаются из памяти и в них вносятся необходимые изменения. Скорректированные записи вновь записываются в конец списка в свободные ячейки.
Последовательное представление данных обычно используют для реализации линейных структур данных в тех случаях, когда предельный размер массива можно предсказать.
Приложения АИС часто имеют дело с данными, которые непрерывно обновляются, корректируются, и представление данных в виде последовательного списка приводит к неэффективному использованию памяти, потере машинного времени на перезапись массива. Для ряда задач последовательное представление данных оказывается вообще неприменимо. В подобных случаях для организации структуры данных используют связанное представление.
Адрес ячейки памяти |
Записи |
|
|
Адрес ячейки памяти |
Записи |
|
|
Адрес ячейки памяти |
Записи |
101 |
зап. В |
|
|
101 |
зап. В |
|
|
101 |
зап. В |
102 |
зап. А |
|
|
102 |
|
|
|
102 |
зап. С |
103 |
зап. |
|
|
103 |
|
|
|
…. |
. |
104 |
зап. С |
|
|
104 |
зап. С |
|
|
100+N+2 |
зап. N |
…. |
. |
|
|
…. |
. |
|
|
100+(N+1)-2 |
зап. (N+1) |
100+N |
зап. N |
|
|
100+N |
зап. N |
|
|
Свободный участок |
|
Свободный участок |
|
|
100+(N+1) |
зап. (N+1) |
|
|
|||
|
|
Свободный участок |
|
|
Рис. 5.7. Последовательное представление данных в памяти ЭВМ. Блок ячеек памяти:
а) после создания массива; б) после удаления и добавления записей; в) после перезаписи массива.
При связанном представлении в каждой записи предусматривается дополнительное поле, в котором размещается указатель (ссылка). Физический порядок следования записей в этом случае может не соответствовать логическому порядку. В машинной памяти записи располагаются в любых свободных ячейках и связываются между собой указателями, указывающими на место расположения записи, логически следующей за данной записью. Указатель часто интерпретируют как адрес ячейки памяти, в которой хранится следующая запись.
Структуры хранения, основанные на связанном представлении данных, называют связанными списками. Если каждая запись содержит лишь один указатель, то список односвязный, при большем числе указателей список многосвязный.
Пусть структура данных отображает следующую логическую последовательность записей: Зап. А, Зап. В, Зап. С, Зап. F. Записи размещены в ячейках памяти с адресами 01, 03, 05, 10. В поле указателя каждой записи размещается адрес связи (АС), определяющий адрес ячейки с логически следующей записью. Структура хранения массива представлена на рис. 5.8,a. На этом рисунке стрелками показан порядок чтения записей.
а) б)
в)
Одна из ячеек – головная – содержит указатель на ячейку с первой записью списка. В соответствии с указателями первым будет прочитано содержимое ячейки 01 (Зап. А), затем содержимое ячеек 05 (Зап. В), 03 (Зап. С), 10 (Зап. F). Символ АС О, помещенный в поле указателя последней записи списка, означает конец списка. Вместо символа АС О может быть использован любой другой элемент данных, который не воспримется системой как указатель.
Связанное представление обеспечивает широкие возможности для манипулирования данными и большую гибкость структуры хранения. Удаление и добавление новых записей в процессе ведения связанного списка не требует перезаписи элементов массива, а производится заменой соответствующих указателей так, чтобы логический порядок следования записей не нарушался.
Рассмотрим процедуру изменения указателей в процессе ведения односвязного списка.
При выполнении операции удаления исключаемая запись удаляется из массива вместе со всеми своими полями, в том числе и с полем указателя. При этом цепочка указателей разрывается, и доступ к следующим записям списка становится невозможным. Указатель записи, логически предшествующей исключаемой, называют "висящим", так как он указывает на несуществующую запись и цепочка записей списка на нем обрывается. Чтобы логическая цепочка следования записей не разрушилась, перед исключением записи следует произвести замену указателей. При этом значение указателя исключаемой записи заносится в поле указателя логически предшествующей записи.
Исключим из списка (рис. 5.8,а) запись С, хранящуюся в ячейке с адресом 03 и имеющую адрес связи АС10. Для этого значение указателя предшествующей записи (Зап. В) изменим на АС10. Теперь доступ к записи С стал невозможен и запись С оказалась исключенной из списка (рис. 5.8,б). Освободившаяся ячейка с помощью указателей включается в связанный список свободных ячеек.
Возможен и другой способ удаления записей, когда исключаемая запись помечается специальным символом исключения, физически оставаясь в списке. В этом случае возможен доступ к полю указателя, цепочка записей не разрушается и замена указателей не требуется.
Для включения в односвязный список новой записи из списка свободных ячеек берется первая ячейка, в информационном поле которой размещается новая запись, а в поле указателя заносится адрес хранения логически следующей записи. Адрес ячейки с новой записью становится указателем логически предшествующей записи. Так как для размещения новых записей могут использоваться любые свободные ячейки, список может расти неограниченно и предварительного резервирования памяти не требуется.
На рис. 5.8, в изображен связанный список с вновь включенной записью D, логически следующей за записью С. Запись D размещается в ячейке с адресом 15. После замены указателей устанавливается порядок чтения ячеек памяти 01, 05, 03, 15, 10, обеспечивающий логическую последовательность записей: Зап. А, Зап. В, Зап. С, Зап.D Зап. F.
Односвязный список можно организовать в виде замкнутого кольца (рис. 5.9). В этом случае указателем последней записи будет адрес первой. Такой список называют еще циклическим. Просмотр циклического списка можно начинать, с любой ячейки. Условием окончания просмотра может быть либо совпадение числа просмотренных записей с общим числом записей в списке, либо совпадение указателя с адресом первой прочитанной ячейки. В последнем случае адрес первой прочитанной ячейки должен запоминаться и каждый раз при чтении очередной записи сравниваться с ее указателем.
Связанное представление данных используется для хранения нелинейных структур данных, а также для реализации линейных структур в тех случаях, когда заранее не известен предельный размер информационного массива (следовательно, непредсказуемы требования на размер памяти); информационный массив часто подвергается изменениям, над данными выполняются многочисленные операции добавления и удаления. При решении вопроса о выборе представления данных в памяти ЭВМ следует помнить, что связанное представление приводит к дополнительному расходу машинной памяти под указатели.
В ряде задач необходимо иметь возможность продвижения по связанному списку в обоих направлениях. Для этого в каждый элемент списка вводится дополнительный указатель, задающий продвижение по списку в обратном направлении. Такой список называется двунаправленным. В поле указателя заносится адрес ячейки с записью, логически предшествующей данной записи (рис. 5.10,а). Головная ячейка содержит в этом случае указатели на первую и последнюю ячейки списка. Поиск в двунаправленном списке возможен как с начала, так и с конца списка. В процессе добавления (удаления) записи в двусвязный список происходит изменение прямых и обратных указателей так, как это показано на рис. 5.10,б. Наличие обратного указателя позволяет упростить алгоритм изменения указателей, так как обратный указатель удаляемой записи хранит адрес ячейки с логически предшествующей записью.
В односвязном списке этот адрес необходимо определять с помощью дополнительных процедур. При использовании двунаправленного списка ускоряются процессы поиска и ведения информационного массива, однако увеличивается расход памяти под указатели.
Для реализации связанного представления данных язык программирования должен располагать определенными средствами, а именно иметь данные типа "указатель". При работе с языками программирования, не имеющими данных типа "указатель", связанное представление моделируется с помощью структуры массива.
Пусть структура данных определена как массив М(I). Для определения порядка чтения элементов массива, не совпадающего с физическим порядком их следования, можно организовать вспомогательный вектор указателей N(J), элементы которого — целые числа - определяют порядковые номера (индексы) записей основного массива. На рис. 5.11 изображены два одномерных массива: массив указателей N(J) и основной массив записей М(I), а также моделируемый список. Процедура чтения основного массива организуется с учетом того, что I = N(J). Таким образом, вектор N(J) при изменении значения J от 1 до 4 задает следующий порядок чтения записей основного массива: Зап. А, Зап. В, Зап. С, Зап. D. Можно использовать другой способ моделирования связанного представления данных с помощью структуры массива. При этом каждый элемент массива должен состоять из нескольких (минимум двух) полей. Последнее поле отводится под указатель. Значение этого поля (целое число) представляет собой индекс или номер элемента массива, являющегося следующим элементом связанного списка.
Элементарные данные (числа, символы, логические данные, указатели) имеют определенное внутримашинное представление и занимают вполне определенные единицы памяти ЭВМ. Это позволяет рассчитывать объем памяти, необходимый для размещения информационных массивов.
Числовые данные есть во всех языках программирования. К ним относятся целые, вещественные и комплексные числа.
Целые числа могут быть представлены в двоичной и в десятичной форме. При хранении целых чисел в двоичной форме для одного числа отводится одно машинное слово. Крайний левый бит выделяется под знак. Плюс кодируется 0, минус — 1 (рис. 5.12). Позиции под число отводятся справа налево, оставшиеся позиции, не занятые числом, заполняются нулями. Отрицательные числа обычно представляются в дополнительном коде.
При хранении целых чисел в десятичной форме каждая десятичная цифра числа кодируется четырехразрядным двоичным кодом, т.е. запоминаются по две десятичные цифры в байте. Такая форма хранения называется упакованной десятичной формой. Под знак отводится крайний правый полубайт, плюс имеет код 1100, минус — 1101. Например, число +9613, представленное в упакованной десятичной форме, запишется в следующем виде: 1001 0110 0001 0011 1100.
Рис. 5.13. Представление целого положи- тельного десятичного числа
Вещественные числа могут быть представлены в форме с фиксированной и с плавающей запятой. Вещественные числа с фиксированной запятой (точкой) хранятся так же, как и целые числа. Положение точки в структуре хранения не отображается, оно фиксируется транслятором.
Числа, имеющие большую разрядность, представляются обычно в форме с плавающей точкой. Они состоят из двух частей: мантиссы и порядка. Для хранения обеих частей обычно выделяется машинное слово, а в некоторых компьютеры — двойное слово. Порядок хранится следующий - в старшем левом байте, левый бит этого байта используется для хранения знака мантиссы (рис. 5.14). Мантисса числа может иметь двоичное, восьмеричное или шестнадцатеричное представление. Многие компьютеры имеют возможность представлять числа с плавающей точкой в форме с двойной точностью. Выделяемый для них объем памяти удваивается.
|
К символьным данным относятся буквы латинского и кириллического алфавита, малые и заглавные, цифры, знаки операций и специальные символы, управляющие символы. Латинские и русские буквы, цифры, знаки операций и специальные символы используются для выполнения задач обработки данных, формирования текста, написания программ. Управляющие символы используются для структурирования данных, передачи информации, организации файлов.
Различные компьютеры работают с различными наборами символов и используют различные символьные коды. Обычно символы кодируются трехразрядным восьмеричным кодом АSСII. Для хранения в памяти восьмеричный код каждого символа преобразуется в двоичный код и под него выделяется один байт. Крайний левый бит байта используется под контрольный разряд.
Логические данные принимают всего лишь два значения: "истина" или "ложь". Над логическими данными осуществляются различные операции булевой алгебры: ОR, АND, N0T - инверсия и др.
Представление логических величин в машинной памяти зависит от транслятора, обрабатывающего программу, и от типа компьютера. Для хранения логических данных можно было бы использовать один бит, значение которого равно 1, если "истина", и 0, если "ложь", однако в большинстве машин нет возможности для доступа к единственному биту памяти. При другом способе хранения для представления логического элемента выделяется машинное слово. В этом случае значения -ТRUЕ- и -FАLSЕ- представляются восемью единичными и восемью нулевыми битами соответственно в крайнем левом байте машинного слова. Такой способ представления логических величин неэффективно использует машинную память. Однако при этом обеспечивается быстрый доступ к логической информации, так как при выполнении машинных команд машинное слово является основной единицей обмена между ОП и процессором.
Для представления логической величины может использоваться 1 байт. Значение "истина" кодируется последовательностью битов, состоящей из нулей и одной единицы в крайнем правом разряде. Значение "ложь" кодируется последовательностью битов, состоящей из нулей. Такое представление наиболее эффективно, так как обеспечивает быстрый доступ и экономично использует машинную память.
В программах, реализующих нечисловые операции, более полезным типом данных является не отдельный символ, а строка символов, образуемая из отдельных символов операцией конкатенации (сцепления). Над строками возможны определенные операции: конкатенация, отыскание и замена подстроки, проверка тождественности строк, определение длины строки.
Символы, образующие строку, запоминаются в последовательно расположенных байтах памяти. При кодировке символов в АSСII под каждый символ отводится 1 байт, поэтому в машинном слове помещается целое число символов. Объем памяти, требуемый для размещения строки фиксированной длины, резервируется транслятором в соответствии с объявлением. Для строки переменной длины, максимальный размер которой объявляется в программе, выделяется память под максимальную длину строки.
Строка битов является особым типом строки символов, содержащим только символы '0' и '1'. Для запоминания битовой строки на каждый элемент выделяется один двоичный разряд. В машинном слове, например, может поместиться битовая строка длиной в 32 бита. Над битовыми строками можно выполнять те же действия, что и над символьными строками.
Указатель (связка, ссылка) — это элемент данных фиксированного размера. Он используется для реализации связанного представления данных в машинной памяти. Указатель может являться абсолютным адресом данного или его относительным адресом. Относительный указатель содержит значение смещения в области памяти относительно некоторого базового адреса этой области. Так как указатель является адресом, то и хранится он так же, как адрес. В большинстве компьютеров для хранения адреса в памяти отводится слово или полуслово.
Массив — это линейная структура данных фиксированного размера, реализуемая с использованием последовательного представления данных. Понятие массива как структуры данных не тождественно понятию информационного массива, определяющему совокупность данных, обрабатываемых АИС. Причина в следующем.
Каждый элемент массива идентифицируется одним или несколькими индексами. Индекс — это целое число, значение которого определяет позицию соответствующего элемента в массиве и используется для осуществления доступа к этому элементу. Отдельные элементы массива могут изменяться (т. е. записи могут модифицироваться), но общее число элементов массива всегда остается неизменным; следовательно, для массивов нет операций добавления и удаления.
В зависимости от числа индексов, идентифицирующих каждый элемент массива, различают одномерные и многомерные массивы.
Одномерный массив называется вектором. Вектор А = {А(1) А(2)... А(I)... A(N)} — это последовательность элементов (записей), размещенных в смежных ячейках памяти. Единственный индекс вектора указывает позицию каждого элемента в последовательности.
Адрес первого байта, выделенного для первого элемента вектора, называется адресом базы вектора. Вектор в целом определяется адресом базы, размером элементов и их числом или размером элементов и диапазоном изменения индекса (рис. 8,1). Если L0 — адрес первого байта в блоке памяти, выделенном для хранения вектора, с — число байтов, выделенное для хранения каждого элемента, то адрес любого i-го элемента будет:
loc (Ai) = L0 + c (i – 1),
(1ос от англ. 1осаtion — определение местоположения).
Адрес базы L0 определяется транслятором в процессе трансляции программы. В это же время резервируется память под вектор в соответствии с его размером, определенным в декларации. В процессе трансляции память распределяется в порядке последовательного увеличения адресов. Возможно распределение памяти в сторону уменьшения адресов. В этом случае значение с (i — 1) вычитается из L0 .
Представление вектора в памяти не зависит от того, как он описывается в языке программирования. При любом описании это представление будет одинаковым.
Двумерный массив называется матрицей. Каждый элемент матрицы определен двумя индексами. В общем случае массив может иметь любую размерность, т.е. являться многомерным. Многомерный массив может быть представлен эквивалентным одномерным массивом. Например, матрицу можно рассматривать как вектор, элементы которого, в свою очередь, являются векторами. При этом матрица может рассматриваться и храниться в памяти компьютеров как "строка строк" и как "строка столбцов". В первом случае матрица
А(1,1) А(1,2) А(1,3)
А(2,1) А(2,2) А(2,3)
А(3,1) А(3,2) А(3,3)
представится в виде следующего вектора:
A(1, 1) A(1, 2) A(1, 3) A(2, 1) A(2, 2) A(2, 3) A(3, 1) A(3, 2) A(3, 3). Хранение элементов матрицы в такой последовательности называют размещением по строкам.
В другом случае, когда матрица рассматривается как "строка столбцов", ее элементы разместятся в памяти по столбцам в следующем порядке:
А(1,1) А(2,1) А(3,1) A(1,2) A(2,2) A(3,2) A(1,3) A(2,3) A(3,3).
При размещении по строкам адрес матричного элемента A (i,j) определяется выражением: loc (Ai,j) = L0 + ст(i - 1) + с(j - 1), где m – число столбцов.
В общем случае массив может иметь любую размерность. Для n-мерного массива указывается число размерностей, а также верхняя и нижняя границы диапазона изменения индексов.
В ряде случаев бывает необходимо в одном массиве хранить данные, различных типов. Такой массив называется неоднородным. Например, при хранении личной карточки студента элементами массива являются фамилия, возраст, адрес, средний балл и т.д. Сведения об одном студенте в этом случае могут храниться в памяти как одномерный неоднородный массив фиксированной длины. Доступ к элементам такого массива может быть осуществлен по индексу, представленному в символьной форме. Например, доступ к первому элементу массива может быть по индексу NАМЕ, для доступа по второму элементу можно использовать индекс АСЕ и т.п.
Из одномерных неоднородных массивов могут быть организованы многомерные неоднородные массивы, например массив, описывающий всех студентов группы.
Стек — это линейная структура переменного размера, в отличие от структуры массива позволяющая включать или исключать элементы, т.е. объем данных в стеке может динамически расти и сокращаться во время выполнения программы.
Особенность стековой структуры в том, что доступ к элементам, включение и исключение элементов возможны только с одного конца структуры - с вершины стека. Поэтому первым будет прочитан или выбран тот элемент, который включался в стек последним. Информация в такой структуре обрабатывается по принципу "последним пришел, первым ушел". Структуру стека иногда называют структурой типа LIFO (от англ. Last In, First Оut), что хорошо поясняется на примере стопки тарелок, где доступной является верхняя тарелка. Можно взять верхнюю тарелку, после чего доступной окажется следующая. Добавляются тарелки по одной также в верхнюю часть стопки.
Структура стека является структурой данных с ограниченным доступом, так как доступ разрешается только к элементу, находящемуся в вершине стека. Этот элемент называется текущим. Информацию о позиции текущего элемента стека хранит указатель вершины стека (УВС), размещаемый обычно в головной ячейке стека.
Для хранения стеков может использоваться как последовательное, так и связанное представление данных. При использовании последовательного представления необходимо знать предельный размер стека. Под этот предполагаемый предельный размер резервируется блок памяти, внутри которого стек растет и сокращается. Первая ячейка блока содержит указатель вершины стека. Когда стек пуст, указатель указывает на самого себя. При включении каждого нового элемента указатель вершины увеличивается на единицу. На рис. 8.2 изображен блок памяти с размещенным в нем исходным стеком, а также стеки с исключенным и включенным элементами. Доступ к стеку может быть организован так, чтобы значение указателя вершины оставалось неизменным в течение всего времени существования стека. В этом случае доступ осуществляется всегда к одной и той же ячейке блока памяти, зарезервированного под стек. На эту ячейку устанавливается указатель вершины, в ней хранится текущий (верхний) элемент стека. При включении или исключении элемента все остальные элементы стека перемещаются вниз или вверх соответственно внутри блока памяти. В этом случае операцию включения называют «проталкиванием», а операцию исключения – «выталкиванием».
Недостаток последовательного представления стека состоит в том, что всегда остается опасность переполнения стека; в противном случае часть зарезервированной памяти остается неиспользованной.
При использовании связанного представления данных нет необходимости заранее резервировать память под стек. Все элементы стека разбросаны по памяти и связаны между собой указателями. УВС указывает на ячейку с верхним элементом стека. При включении и исключении элементов значение указателя вершины изменяется. Вновь включаемый элемент размещается в любой свободной ячейке памяти, которая включается в стек путем соответствующего изменения указателей связанного списка (рис. 6.4). Стек при связанном представлении данных, может расти неограниченно.
Структура стека удобна в тех случаях, когда требуется быстрое выполнение операций включения и исключения без оценки содержательного смысла данных. Любая ячейка, удаленная из основного списка, добавляется в вершину стека свободной памяти. Последняя ячейка, включенная в стек свободной памяти, будет использована первой для размещения новой записи основного списка. Алгоритм, управляющий включением освободившихся ячеек в стек свободной памяти, часто называют "сборщиком мусора".
Стековые структуры широко применяются в трансляторах при реализации вложенных подпрограмм и многоуровневых прерываний, а также при решении задач, алгоритмы которых лучше всего описываются рекурсивным методом.
Очередь — это линейная структура переменного размера. Исключение элементов из очереди допускается с одного конца — с начала очереди. Включение элементов возможно лишь в противоположный конец — в конец очереди. Данные в такой структуре обрабатываются в порядке их поступления по принципу: "первым пришел, первым ушел". В литературе структуру очереди называют структурой типа FIFO (от англ. First In, First Оut). Традиционным примером является очередь автомобилей, ожидающих открытия светофора. Автомобиль, первым подъехавший к светофору, первым проедет перекресток, т.е. окажется исключенным из очереди. Автомобиль, подъехавший последним и ожидавший проезда в конце очереди, минует перекресток последним.
Доступ к элементам очереди осуществляется по указателям начала и конца. Указатель начала указывает на элемент очереди, который первым будет исключаться или читаться. Указатель конца устанавливается на свободную ячейку памяти, следующую за последней записью в очереди. Именно в эту ячейку разместится вновь пришедшая запись, т.е. новый элемент очереди.
Для реализации структуры очереди в памяти ЭВМ используется как последовательное, так и связанное представление данных. При последовательном представлений под очередь, так же как и под стек, резервируется блок памяти, внутри которого очередь может расти и сокращаться. С включением каждого нового элемента указатель конца изменяется на единицу. Когда в результате включения новых элементов указатель конца очереди достигает конца зарезервированного блока памяти, он перебрасывается на начало блока. Если указатель конца догоняет указатель начала, то это означает, что блок памяти переполнен.
При исключении элемента указатель начала изменяется на единицу. Если указатель начала совпадает с указателем конца, то очередь пуста. Схема размещения очереди внутри зарезервированного блока памяти при последовательном представлении данных изображена на рис. 6.5. Здесь же показано, как изменяются указатели при включении и исключении элементов очереди.
При связанном представлении очереди предварительного резервирования памяти не требуется. Записи, образующие очередь, размещаются в любых свободных ячейках памяти и связываются между собой указателями (рис. 6.6). Такая очередь может расти неограниченно. При включении и исключении элементов изменяются лишь значения указателей начала и конца очереди и значения указателей связи (АС).
Структура очереди используется при решении различных задач обработки данных. Так, например, моделирование вычислительной системы с разделением времени является одной из традиционных задач, в которых используется структура очереди. В такой системе множество пользователей одновременно работает с единственным, центральным процессором, используя одну основную память. Программы пользователей, ожидающие своего выполнения, образуют очередь. Разработанный принцип организации очереди и ее обслуживания во многом определяет эффективность функционирования подобной системы.
Таблица — это линейная структура данных, каждый элемент которой характеризуется определенным значением ключа, и доступ к элементам которой осуществляется по ключу. Во всех ранее рассмотренных структурах данных доступ к элементам структуры ограничен, так как читаться может лишь тот элемент, к которому структура хранения обеспечивает доступ посредством индекса или указателя, причем в процессе доступа никак не анализируются значения полей записи.
В большинстве задач автоматизированной обработки информации обращение должно осуществляться к записям об объектах, обладающих вполне определенными признаками. В этом случае в процессе доступа необходим анализ значения какого-либо поля записи (обычно ключевого), на основании чего решается вопрос о необходимости чтения данной записи и подачи ее на обработку. Такой доступ, называемый доступом по ключу, реализуется в табличных структурах данных.
На рис. 6.7 в табличной форме представлены данные, содержащие информацию о студентах. Каждая строка таблицы — это запись, являющаяся элементом табличной структуры, столбцы таблицы - это атрибуты записей. Доступ возможен к любому элементу таблицы по ключу, включение и исключение элементов также может осуществляться в соответствии со значением ключа. Ключом записей таблицы (рис. 6.7) является значение первого поля каждой записи, содержащего номер зачетной книжки. Табличные структуры широко используются в трансляторах операционных систем. В таблицах хранятся, например, символы входного языка и коды их внутреннего представления, идентификаторы записей и соответствующие адреса их хранения и т. п.
№ Зачетной книжки |
Фамилия, имя, отчество |
Средний балл |
Общественная работа |
123265 |
Васильев В.А. |
4, 30 |
Профорг |
123266 |
Иванов И. Н. |
4, 45 |
Староста группы |
…………. |
…………………. |
…….. |
……………. |
124565 |
Абдурахманов А. Р. |
4,95 |
Председатель студенческой комиссии |
Рис.6.7. Пример табличного представления данных
Для хранения таблиц в памяти компьютера используются последовательное и связанное представления данных.
При последовательном представлении таблица хранится в виде последовательного списка. Записи таблицы располагаются одна за другой в заранее зарезервированном блоке памяти. Такие таблицы легко составлять и дополнять, новые записи просто добавлять в конец таблицы за минимальное время. Однако поиск в таких таблицах длителен, так как последовательно просматриваются все записи таблицы, начиная с первой, и анализируются значения их ключевых полей. Просмотр осуществляется до тех пор, пока не будет найдена нужная запись или после просмотра всей таблицы не будет выработан сигнал отсутствия нужной записи.
Обычно записи таблицы упорядочивают по какому-либо принципу (например, по возрастанию значения ключа или по частоте обращения к записям) и хранят в виде упорядоченного последовательного списка. В этом случае поиск может быть существенно ускорен за счет использования специальных методов. Однако ведение упорядоченного последовательного списка усложняется и сопровождается рядом дополнительных процедур. Так, например, для включения в последовательный упорядоченный список новой табличной записи необходимо определить место, которое должна занять в списке новая запись в соответствии со значением своего ключа. Соответствующая ячейка памяти должна быть освобождена, для чего все записи передвигаются на одну ячейку, т.е. часть массива перезаписывается.
Пусть, например, таблица записей хранится в виде упорядоченного последовательного списка, изображенного на рис. 8.8,а. Упорядочивание записей произведено по алфавиту ключевых слов. Для включения в список записи D ее в соответствии со значением ключа необходимо на физическом уровне разместить вслед за записью С в ячейке 104. Для этого все последующие записи следует передвинуть на одну ячейку в сторону больших адресов (рис. 6.8,6). Таким образом, информационный массив необходимо перезаписывать всякий раз с приходом новой записи.
Хранение таблиц в виде упорядоченного последовательного списка удобно использовать в тех случаях, когда предельный размер таблицы заранее известен, а задачи обработки данных требуют частого обращения к данным (частых поисков), но редкого добавления и удаления данных.
Упорядоченная таблица может храниться в виде связанного списка. Ведение динамически изменяющейся таблицы при этом не требует выполнения процедур перезаписи. Однако поиск в такой таблице возможен лишь последовательным просмотром записей в порядке, определяемом указателями.
Для хранения таблиц часто используется смешанный способ представления данных. При этом на начальном этапе создания информационного массива записи каждой таблицы размещаются последовательно в зарезервированных блоках памяти. По мере роста таблиц блоки заполняются. Когда какой-либо блок окажется заполненным полностью, для этой таблицы выделяется новый блок памяти, который связывается указателем с ранее заполненным блоком. На рис. 6.9 показано размещение в памяти двух динамически изменяющихся таблиц А к В, хранящихся в связанных блоках памяти. После того как блок памяти таблицы А оказался заполненным, в свободном участке памяти для таблицы А выделяется новый блок, связанный с первым указателем. По мере роста таблицы В под нее также выделяется новый блок памяти. Такая структура хранения удобна для размещения в памяти табличных структур с неизвестным заранее числом элементов.
Для хранения таблиц часто используется способ размещения в памяти, обеспечивающий прямой доступ к каждой записи таблицы.
Если все N записей таблицы имеют разные значения ключей Кi и найдена функция f(Ki.), такая, что для любого 0 < i < N f(Ki) принимает целое значение от 0 до i, то значение f(Ki) можно рассматривать как адрес ячейки памяти, в которой размещена запись с ключом Ki. Функция f(Ki) называется функцией преобразования или, иначе, функцией расстановки. Доступ к любой записи осуществляется путем непосредственного вычисления по значению ключа адреса хранения этой записи. Время поиска в таких таблицах минимально и определяется в основном временем вычисления f(Ki).
Выбор функции преобразования, генерирующей уникальные адреса, является довольно трудной задачей и требует специальных исследований.
Табличная структура является удобной, привычной и весьма распространенной формой отображения многих отношений между реальными объектами и их характеристиками. Представление данных и их структурных отношений в табличной форме позволило использовать для организации массивов данных методы реляционной алгебры, что привело к появлению реляционных систем обработки данных.
Отношения между объектами, сведения о которых обрабатываются АИС, часто носят нелинейный характер. Это могут быть отношения, определяемые логическими условиями, отношения типа "один к многим" или отношения типа "многие к многим".
Отношения "один ко многим" носят иерархический характер и отображаются древовидными структурами. В виде иерархии может быть представлена, например, структура учебных подразделений вуза, а также Универсальная десятичная классификация (УДК), принятая в библиотеках. В виде древовидной структуры может быть представлено оглавление книги. Древовидные структуры применяются для построения алгоритмов решения алгебраических выражений, для создания справочников, ускоряющих доступ к данным, для сортировки и поиска.
Отношения "многие ко многим" носят более универсальный характер и отображаются структурами графов. Приведем пример отношения "многие ко многим". Каждый вуз распределяет своих выпускников на различные предприятия. В то же время каждое предприятие получает специалистов из различных вузов. Результирующая схема (рис. 9.1) отображает связь многих вузов со многими предприятиями.
Граф общего вида состоит из ряда вершин (узлов) и ребер, связывающих пары вершин. Если в понятия "ребро" и "вершина" вложить определенную смысловую нагрузку, то графы можно использовать для представления данных. Так, вершинам графа можно сопоставить определенные объекты, тогда ребра будут соответствовать отношениям между объектами.
В литературе по структурам баз данных модель данных, имеющую вид ориентированного графа, называют сетью. Сеть, изображаемая в виде ориентированного графа, в котором между любой парой вершин имеется не более одного ребра, является простой. Сеть, изображаемая в виде ориентированного графа, имеющего параллельные ребра, называется сложной.
Дерево представляет собой граф с некоторыми ограничениями, т.е. это ориентированный граф, не имеющий циклов. Вершины (узлы) дерева организованы по уровням, т.е. подчинены определенной иерархии. На рис. 7.2 изображено дерево, имеющее три уровня.
Рис. 7.2. Трехуровневое дерево
Рис. 7.3. Приведение сложной сети к простому виду
Любой узел дерева связан с единственным узлом более высокого уровня — порождающим - и с m узлами ближайшего низшего уровня - порожденными. На самом верхнем уровне, в начале дерева, имеется единственный узел, называемый корнем. Узлы, расположенные в конце каждой ветви дерева и не имеющие порожденных, называются листьями. Множество не связанных между собой деревьев образует лес.
В деревьях направление обязательно от порождающего к порожденному, поэтому стрелки на ребрах можно не указывать. Длина пути от корня до некоторого узла равна уровню этого узла. Уровень узла, на котором он расположен, определяет значение этого узла. Количество уровней дерева определяет высоту дерева.
Иногда при описании деревьев удобно применять отдельные термины, используемые при описании генеалогических деревьев. Так, например, порождающую вершину иногда называют отцом, а все порожденные — потомками или сыновьями.
Помимо графического существуют и другие способы описания деревьев. Один из них применяется, например, при составлении оглавления книги.
Древовидные структуры данных более удобны для реализации в памяти ЭВМ, чем сетевые структуры. Кроме того, для работы с сетями требуется более сложное программное обеспечение, чем для работы с деревьями. Поэтому в ряде случаев сетевые структуры приводят к простому виду, заменяя каждую сеть определенной совокупностью деревьев". При этом если в виде деревьев надо представить сложную сеть, то последнюю вначале приводят к простому виду, а потом полученные простые сети заменяют деревьями.
Сложную сеть приводят к простому виду введением избыточности. При этом все элементы сложной сети повторяются дважды. На рис. 7.3 показано, как сложная сеть приводится к простому виду путем замены ее двумя простыми сетями.
Рис. 7.4. Замена простых сетей деревьями
Рис. 7.5. Приведение сложной сетевой структуры к более простому виду
Простые сети заменяются деревьями также введением избыточности (рис. 7.4) , при этом ряд элементов сети повторяется. На рис. 7.5 приведен пример замены сложной сети, изображенной на рис. 9.1, древовидными структурами.
Избыточность, введенная на логическом уровне, может относиться не ко всей записи, а только к ее ключу, и не вызывать увеличения объема памяти под данные.
В зависимости от условий, которым удовлетворяет то или иное дерево, выделяют различные типы деревьев.
Во многих случаях относительный порядок следования узлов на каждом отдельном уровне имеет определенное значение. Дерево, в котором задан порядок следования узлов, называется упорядоченным (например, алгебраические выражения). На рис. 9.6 изображено дерево, обход которого в соответствии с указанной нумерацией узлов позволяет получить следующее алгебраическое выражение:
a * b – c + d / e.
В неоднородных деревьях каждый узел представлен различным типом записи. Так, например, узел древовидной структуры (рис. 7.7.), отображающей график технического обслужи-
вания механизма, являются записи, описывающие характеристики технического средства, атрибуты механика, проводившего техобслуживание, дату обслуживания и т.п. Все эти записи имеют различный формат, различный состав полей, т.е. являются записями различных типов.
Рис. 7.6. Дерево алгебраического выражения
Рис. 7.7. Неоднородное дерево, отображающее иерархическую структуру данных
Дерево, в котором каждый узел имеет одинаковое число ветвей, является сбалансированным. Сбалансированное n-уровневое дерево, в котором (n - 1)-й уровень заполнен полностью, называется симметричным, Сбалансированное дерево, в котором каждый порождающий имеет не более двух порожденных, называется двоичным или бинарным. Направления от порождающего к порожденным в двоичном дереве могут быть левыми и правыми. Все узлы, связанные с данным посредством левой привязки, образуют левое поддерево (левую ветвь), а узлы, связанные с данным посредством правой привязки, образуют правое поддерево (правую ветвь).
Двоичные деревья наиболее удобны для обработки и хранения в ЭВМ. Однако очень немногие отношения предметной области непосредственно могут быть представлены в виде двоичного дерева. Поэтому во многих случаях, после того как определена структура дерева, представляющего логическую структуру данных, полученное произвольное дерево приводится к бинарному. При этом поступают следующим образом. Для каждого порождающего узла уничтожаются все исходящие из него ребра, кроме самого левого. Все "оторвавшиеся" порожденные того же уровня связываются с левым порожденным указателями "на подобный". Рис. 9.8 иллюстрирует представление произвольной древовидной структуры в виде двоичного дерева с помощью указателей на порожденные и подобные элементы структуры.
Рис. 7.8. Представление произвольного дерева в виде двоичного дерева
Рис. 7.9. Произвольное двоичное дерево
Направлениям в двоичном дереве может быть сопоставлен определенный логический смысл. Например, часто принимают, что левое направление ведет к узлу, в котором размещена запись с меньшим значением ключа, чем у записи в порождающем узле, а правое направление ведет к узлу с записью, имеющей больший ключ. Построим такое дерево, указывая лишь значения ключевых полей записей. Пусть записи подаются на обработку в такой последовательности: 21, 7, 33, 38, 19, 100, 36, 63, 180, 51, 290, 260, 286. Первая запись помещается в корень дерева, остальные пристраиваются в соответствии с принятой логикой направлений. В результате построения получится дерево, изображенное на рис. 9.9. Поиск в таком дереве записи с нужным значением ключа осуществляется по следующему правилу: если искомый ключ меньше ключа данного узла, то продвигаться следует влево от этого узла, если же искомый ключ больше, то движение следует продолжать в правом направлении.
Для выполнения различных процедур обработки данных наиболее удобны симметричные деревья. Из рис. 7.9 видно, что полученное дерево несимметрично. Для построения симметричного дерева необходима предварительная обработка исходной последовательности, выполняемая в два этапа. На первом этапе исходная последовательность записей упорядочивается по возрастанию или убыванию значений ключевых полей. На втором этапе определяются ключи, размещаемые в узлах различных уровней дерева. В корневом узле разместится, ключ, расположенный в центре упорядоченной последовательности и делящий ее пополам. Ключи, делящие пополам левую и правую половины последовательности, размещаются в узлах второго уровня левого и правого поддеревьев соответственно. Процедура деления вновь получаемых отрезков последовательности и отыскания ключей соответствующих уровней продолжается до тех пор, пока дерево не будет построено полностью.
Рассмотренную выше последовательность записей представим в виде симметричного двоичного дерева, для чего упорядочим ее по возрастанию значений ключей: 7, 19, 21, 33, 36, 38, 51, 63, 100, 180, 260, 286, 290. Ключ, имеющий значение 51, поместится в корень дерева. Узлом второго уровня в левом поддереве могут стать ключи 21 или 33, а в правом - 180 или 260. В нашем примере выбраны ключи 33 и 180. Подобным же образом определяются узлы остальных уровней. Полученное в результате построения дерево (рис. 7.10) является симметричным.
Симметричное дерево обладает замечательным свойством: пути в дереве от корня до любого места имеют одинаковую длину. Длина эта минимальная, так как минимальна высота дерева, поэтому при поиске нужных записей по такому дереву потребуется меньшее число операций чтения и сравнения, чем в любом другом дереве.
Для характеристики степени приближения сбалансированных деревьев к симметричному виду используют понятие объем дерева:
Σ nL(n), где N — количество уровней в дереве, L(n) — число узлов на n-м уровне.
n=0
Пользуясь этой формулой, можно определить, что объемы деревьев, изображенных на рис. 9.9 и 9.10, равны соответственно 43 и 28. В общем случае, чем меньше объем дерева, тем ближе оно к симметричному. Симметричное сбалансированное дерево имеет минимальный объем.
Для включения в симметричное дерево новой записи необходимо выполнение дополнительных процедур, в результате которых исходная последовательность вновь упорядочивается в соответствии со значением ключа новой записи и дерево перестраивается. Эти процедуры требуют определенных затрат машинного времени, поэтому структуру симметричного дерева удобно использовать в тех случаях, когда в информационном массиве часты поиски, но редки операции ведения.
При обработке древовидных структур наиболее типичной является операция обхода — процедура, при выполнении которой каждый узел обрабатывается ровно один раз. Произвольное бинарное дерево можно обходить нисходящим (от корневого узла вниз к листьям), восходящим (от листьев вверх к корню) и смешанным (от самого левого листа через корень к самому правому листу) обходами. Способы обхода отличаются точкой входа в дерево, направлением движения по дереву, временем обработки корневого узла относительно поддеревьев. В первом случае корневой узел обрабатывается до того, как обработаны оба его поддерева (вначале левое, затем правое), во втором случае — после того, как обработаны левое и правое поддеревья, в третьем случае — после того, как обработано левое поддерево, но до того, как обработано правое поддерево. При осмысливании способов обхода дерева следует помнить, что в роли корневого может выступать любой узел дерева, имеющий порожденные. В каждом случае это будет корень соответствующего поддерева. Рассмотрим более подробно порядок чтения узлов при обходе дерева каждым из перечисленных способов.
Нисходящий обход. В этом случае первым читается корень. В дальнейшем узлы читаются в процессе движения вниз и влево. Если пути влево нет, то движение продолжается по ближайшему правому пути. При этом сразу после рассмотрения очередного узла просматриваются слева направо исходящие из них ветви. При обходе дерева, изображенного на рис. 9.11 нисходящим способом, его вершины будут появляться в следующем порядке: 21, 7, 6, 19, 17, 13, 18, 20, 33, 38, 100, 63, 51, 260, 180.
Рис. 7.10. Двойное симметричное дерево
Рис. 7.11. Двоичное дерево
Восходящий обход. Чтение начинается с левого листа. Каждый узел читается после того, как прочитаны его левый и правый порожденные. Порядок чтения вершин дерева (рис. 7.11) следующий: 6, 13, 18, 17, 20, 19, 7, 51, 63, 180, 260, 100, 38, 33, 21.
Смешанный обход. Первым читается левый лист, затем следуют последовательные подъемы и спуски. Каждый узел читается лишь тогда, когда его левое поддерево полностью обойдено, после чего обходится правое поддерево. Узлы дерева на рис. 9.11 при этом читаются в следующем порядке: 6, 7, 13, 17, 18, 19, 20, 21, 33, 38, 51, 63, 100, 180, 260. Нетрудно заметить, что в результате смешанного обхода получается последовательность, упорядоченная по возрастанию значений ключей.
При решении каждой конкретной задачи обработки более удобным может оказаться тот или иной способ обхода. Так, например, смешанный обход используется для вычисления функций, заданных на определенных вершинах дерева (см. рис. 7.6), а также для упорядочения массивов данных. Восходящий и нисходящий обходы используются в трансляторах операционных систем ЭВМ для получения обратной и прямой польской записи арифметических и алгебраических выражений.
При обходе дерева требуется сначала опускаться по частям дерева, а затем последовательно подниматься. Информация о возможных направлениях движения, изначально существующая в структуре дерева, обеспечивает возможность движения от корня вниз по дереву, влево или вправо. Поскольку движение вверх по дереву должно осуществляться в порядке, обратном принятому при движении вниз, то для осуществления восхождения необходимо запоминать указатели направлений. Для этого лучше всего подходит структура стека.
Наиболее важными для приложений типами логических структур данных являются m-арные деревья и сети. Однако в п. 7.1 отмечалось, что наиболее просто организуется хранение в памяти ЭВМ двоичных деревьев, и было показано, как структуры сети и произвольного дерева приводятся к двоичным деревьям. В связи с этим в настоящем параграфе основное внимание уделяется организации хранения именно двоичных деревьев.
Структуры двоичных деревьев могут реализовываться в памяти ЭВМ с использованием как последовательного, так и связанного представления данных. При использовании последовательного представления должен быть установлен порядок обхода узлов дерева, т.е. дерево должно быть упорядочено. Логический порядок следований записей, определяемый правилом обхода, поддерживается физическим размещением записей на носителе. Записи располагаются друг за другом в последовательности, соответствующей порядку обхода узлов дерева.
Для хранения дерева выделяется блок памяти под максимальный размер дерева. На рис. 7.12 изображено двоичное дерево и показано его размещение в выделенном блоке памяти. Нумерация узлов дерева соответствует установленному порядку их обхода. В каждой вершине дерева размещена определенная запись, номер которой совпадает с номером узла.
Для включения в структуру новой записи, прежде всего, определяется место этой записи в дереве в соответствии со значением ее ключа. Затем для обеспечения порядка следования узлов освобождается место для этой записи на носителе, для чего все остальные записи передвигаются внутри выделенного блока памяти и новая запись включается в массив. При исключении записи также необходима перестройка дерева и массива.
Рис. 7.12. Древовидная структура и ее последовательное размещение в памяти ЭВМ
Для включения в структуру новой записи, прежде всего, определяется место этой записи в дереве в соответствии со значением ее ключа. Затем для обеспечения порядка следования узлов освобождается место для этой записи на носителе, для чего все остальные записи передвигаются внутри выделенного блока памяти и новая запись включается в массив. При исключении записи также необходима перестройка дерева и массива.
Последовательный способ хранения не позволяет использовать все преимущества древовидных структур данных и обладает всеми недостатками, отмеченными в п. 7.4 при рассмотрении последовательного представления данных в памяти ЭВМ.
Обычно для хранения древовидных структур используется связанное представление данных. Этим обеспечивается большая гибкость структуры, так как операции добавления и удаления данных выполняются без перезаписи массива. При связанном представлении дерево может расти неограниченно.
Двоичное дерево отображается в памяти ЭВМ двусвязным списком, оба указателя которого ведут в прямом направлении. Каждый элемент двусвязного списка, имеющий формат, приведенный на рис. 7.13, состоит из информационного поля (присвоим ему имя DАТА) и двух полей (LPTR и RРТR), содержащих указатели. Поле DАТА содержит информацию, связанную с данной вершиной. Поле LРТR содержит левый указатель, поле RРТR - правый. Любой указатель может принимать значение 0, означающее, что в соответствующем направлении элементов больше нет. Если оба указателя имеют значение Ө, то данный узел является листом.
Рис. 7.13. Формат элемента двусвязного списка
Часто при построении деревьев принимают, что левый указатель задает направление к записи с меньшим значением ключа, а правый указатель — с большим. Такое дерево и структура его хранения изображены на рис. 7.14, откуда видно, что структура хранения дерева очень схожа с его логической структурой. Это свойство связанного представления дерева может быть использовано при разработке алгоритмов, обрабатывающих древовидные структуры данных. Для включения в дерево нового элемента (новой записи) из стека свободной памяти выбирается свободная ячейка и в ней размещается новая запись. В дереве ищется узел с ближайшим значением ключа и пустым указателем, ведущим в нужном направлении. В поле этого указателя заносится абсолютный или относительный адрес ячейки с новой записью. Запись оказывается включенной в список.
Рис. 7.14. Двоичное дерево и структура его хранения в виде двусвязного списка
В структуру рис. 7.14 включим новую запись с ключом 36. Узел с ключом 36 подключается к узлу с ключом 38, левый указатель которого устанавливается на ячейку с новой записью (рис. 7.15). При исключении элемента дерева возможны следующие варианты:
первый — оба указателя исключаемого элемента "пустые" (узел с ключом 180 на рис. 7.15). В этом случае у порождающего узла соответствующий указатель устанавливается в Ө и доступ к исключаемому узлу становится невозможным;
второй — исключаемый элемент имеет один "непустой" указатель (узел с ключом 63 на рис. 7.15). В этом случае соответствующий указатель порождающего заменяется "непустым" указателем исключаемого узла. В рассматриваемом примере левый указатель узла с ключом 100 заменен левым указателем узла с ключом 63;
третий — оба указателя исключаемого элемента "непустые", т.е. исключаемый узел имеет два порожденных, доступ к которым необходимо сохранить. В этом случае один из порожденных может включиться в дерево в соответствии с вторым вариантом, а "непривязавшийся" узел включается в дерево по правилу включения.
Рис. 7.15. Включение в двусвязный список и исключение из него элементов
Для реализации древовидных структур в виде двусвязного списка удобно использовать язык программирования, имеющий средства для работы со связанными данными. Но не исключена возможность использования языков программирования, не имеющих для этого специальных средств. При этом древовидные структуры моделируются с помощью структуры массива. При использовании одного из распространенных методов такого представления произвольное дерево преобразуется в двоичное, которое затем описывается тремя векторами. Так, произвольное дерево, изображенное на рис. 7.16,а, приведено к двоичному (рис. 7.16,6), которое описывается тремя векторами: RРТR, DАТА, ТОР (рис. 7. 16, в).
а) б)
в)
Рис. 7.16. Представление дерева с помощью структуры массива: а - произвольное дерево; б - соответствующее двоичное дерево; в - векторы, отображающие двоичное дерево
Основной массив DАТА состоит из всех вершин дерева, порядок следования которых соответствует нисходящему обходу. При размещении вершин в таком порядке могут быть опущены левые указатели LРТR, так как каждая левая порожденная вершина физически расположена в векторе DАТА непосредственно следом за порождающей. Вектор RРТR содержит указатели на подобную вершину. В качестве указателя используется порядковый номер (индекс) элемента массива DАТА, принадлежащего тому же уровню, что и данный. Вектор ТОР — двоичный, в котором единицы отмечают концевые вершины вектора DАТА.
Каждый элемент связанного списка может содержать более двух прямых указателей. В этом случае структура хранения называется многосвязным списком. В литературе для обозначения таких структур используют также термин "мультисвязный список".
Многосвязные списки используются для отображения в памяти структур данных, имеющих вид m-арных деревьев. На рис. 7.17 изображены m-арное дерево и многосвязный список, отображающий это дерево в машинной памяти.
Рис. 7.17. Структура хранения в памяти компьютера m-арного дерева
В виде многосвязных списков удобно представлять многие отношения, существующие между объектами предметной области. Рассмотрим, например, представление данных, позволяющее генерировать предметный указатель какой-либо книги. Основные термины, используемые во всей книге, должны быть представлены в предметном указателе в лексико-графическом порядке. Некоторые термины, имеют подтермины, которые записываются в лексико-графическом порядке сразу после основного термина. За каждым основным термином и подтермином следует набор чисел, указывающих страницы, на которых встречаются соответствующие термины. Рассмотрим в качестве примера фрагмент предметного указателя:
Дерево 32, 44, 112
- двоичное 33,45
- упорядоченное 35
Доступ …
Элементами многосвязного списка, отображающего предметный указатель, являются записи трех типов: запись основного термина с именем ТIР 1, запись подтермина ТIР 2, запись страницы ТIРЗ. На рис. 7.18 изображены форматы и структурные взаимоотношения этих записей.
Запись, соответствующая основному термину, содержит четыре поля: ТЕRМ, SUВТЕRМ РТR, РАСЕ ТЕРМ, ТЕRМ РТR. Наименование основного термина размещается в поле ТЕRМ. В поле SUВТЕRМ РТR помещен указатель на связанный линейный список подтерминов. Поле РАСЕ ТЕRМ хранит указатель на список номеров страниц, где встречается данный термин. Поле ТЕRМ РТR содержит указатель на элемент списка, содержащий следующий основной термин.
Рис. 7.18. Форматы записей многосвязного списка, представляющего предметный указатель
Рис. 7.19. Структура хранения предметного указателя
Запись подтермина содержит три поля: SUBTЕRМ, SUВТЕRМ. РАСЕ, SUBТЕRМ РТR. В этих полях содержатся соответственно следующие данные: имя подтермина, указатель на список страниц, указатель на следующий подтермин.
Запись страницы содержит поля номера страницы РАСЕ и указателя на следующую страницу РАGЕ РТR.
На рис. 7.19 показана структура хранения фрагмента предметного указателя, представляющая собой многосвязный список с переменным числом указателей. Многосвязные списки с переменным числом указателей отображают также в памяти машины произвольные несбалансированные деревья.
Во всех ранее рассмотренных структурах данных каждый элемент структуры представляет собой отдельную запись об объекте. Такой элемент структуры является неделимым и называется атомарным.
В ряде приложений элементы структуры данных сами могут быть структурированы и представлены в виде списка. Примером может служить список, отображающий процесс разборки автомобиля. Сначала автомобиль разбирается на основные агрегаты; агрегаты последовательно делятся на узлы, которые, в свою очередь, можно разобрать на отдельные детали.
Структура данных, в которой любой элемент может сам являться списком, называется списковой. В литературе встречаются также следующие термины, определяющие подобные структуры данных: ветвящиеся списки, мультисписковые файлы, ветвящиеся файлы.
Если заключить списки в круглые скобки, а элементы списков разделить запятыми, то в качестве списков можно рассматривать такие по