Обработка и хранение информации
Сферы применения информационных технологий
Более полувека тому назад Норберт Винер опубликовал книгу "Кибернетика, или управление и связь в животном и машине", возвестившую о становлении новой науки - кибернетики, в которой информационно-управленческая связь в явлениях материального мира выступает как его фундаментальное свойство. Это понимание дало мощный толчок развитию вычислительных систем и их применению во многих отраслях знания и бизнеса.
Сферы применения информационных технологий в современном обществе чрезвычайно велики. В таблице 2.1 приведены основные и производные сферы использования ИТ.
В современном обществе основным технологическим средством накопления, переработки и защиты информации служит корпоративный и/или персональный компьютер и программная среда, которые существенно повлияли как на концепцию построения и использования технологических процессов, так и на качество результата. Внедрение персонального компьютера в информационную сферу и применение телекоммуникационных средств связи определили новый этап развития ИТ и, как следствие, изменение названия технологии за счет присоединения одного из символов: "новая", "компьютерная" или "современная" (таблица 2.2).
Экономика | Политика | Культура | Наука |
---|---|---|---|
Производственные отношения | Государство | Эпохи | Теория |
Производство | Власть | Уклады | Методы |
Финансы | Общество | Традиции | Средства |
Бизнес-правила | Международные и региональные организации и отношения | Религия | Систематизация |
Взаимодействие | Партии | Национальные ценности | Научно-технические революции |
Продукт | Общественные организации | Этика | Применение |
Услуга | Искусство | Результаты | |
Система | Образование | Последствия | |
Качество | Спорт | ||
Потребитель |
Таким образом, понятие информационная технология является емким понятием, отражающим современное представление о процессах преобразования и потребления информации в информационном обществе.
Обработка информации
Понятие обработки информации является весьма широким. Ведя речь об обработке информации, следует дать понятие инварианта обработки. Обычно им является смысл сообщения (смысл информации, заключенной в сообщении). При автоматизированной обработке информации объектом обработки служит сообщение, и здесь важно провести обработку таким образом, чтобы инварианты преобразований сообщения соответствовали инвариантам преобразования информации.
Цель обработки информации в целом определяется целью функционирования некоторой системы, с которой связан рассматриваемый информационный процесс. Однако для достижения цели всегда приходится решать ряд взаимосвязанных задач.
К примеру, начальная стадия информационного процесса - рецепция. В различных информационных системах рецепция выражается в таких конкретных процессах, как сбор и/или отбор информации (в системах научно-технической информации), преобразование физических величин в измерительный сигнал (в информационно-измерительных системах), раздражимость и ощущения (в биологических системах) и т. п.
Процесс рецепции начинается на границе, отделяющей информационную систему от внешнего мира. Здесь, на границе, сигнал внешнего мира преобразуется в форму, удобную для дальнейшей обработки. Для биологических систем и многих технических систем, например читающих автоматов, эта граница более или менее четко выражена. В остальных случаях она в значительной степени условна и даже расплывчата. Что касается внутренней границы процесса рецепции, то она практически всегда условна и выбирается в каждом конкретном случае исходя из удобства исследования информационного процесса.
Следует отметить, что, независимо от того, как "глубоко" будет отодвинута внутренняя граница, рецепцию всегда можно рассматривать как процесс классификации.
Формализованная модель обработки информации
Обратимся теперь к вопросу о том, в чем сходство и различие процессов обработки информации, связанных с различными составляющими информационного процесса, используя при этом формализованную модель обработки. Прежде всего, нельзя отрывать этот вопрос от потребителя информации (адресата), а также от семантического и прагматического аспектов информации. Наличие адресата, для которого предназначено сообщение (сигнал), определяет невозможность установления однозначного соответствия между сообщением и содержащейся в нем информацией. Совершенно очевидно, что одно и то же сообщение может иметь различный смысл для разных адресатов и различное прагматическое значение.
Используемые в производственной сфере такие технологические понятия, как "технологический процесс", "технологическая операция", "метрика", "норматив" и т. п. могут применяться и в ИТ. Для этого нужно начинать с определения цели. Затем следует попытаться провести структурирование всех предполагаемых действий, приводящих к намеченной цели, и выбрать необходимый программный инструментарий ( рис. 2.1).
1-й уровень - этапы, где реализуются базовые технологические процессы, состоящие из операций и действий последующих уровней.
2-й уровень - операции, в результате выполнения которых будет создан конкретный объект в выбранной на 1-м уровне программной среде.
3-й уровень - действия, совокупность стандартных для каждой программной среды приемов работы, приводящих к выполнению поставленной в соответствующей операции цели.
4-й уровень - элементарные операции по управлению элементарными действиями объектов.
ИТ, как и другие технологии, должны отвечать следующим требованиям:
- обеспечивать высокую степень расчленения всего процесса обработки информации на этапы, операции, действия;
- включать весь набор элементов, необходимых для достижения поставленной цели;
- иметь регулярный и масштабируемый характер;
- этапы, действия, операции технологического процесса должны быть стандартизированы и унифицированы, что позволит более эффективно осуществлять целенаправленное управление информационными процессами.
Традиционно в процессе обработки информации используются как измерительная аппаратура, обеспечивающая входные данные, так и собственно обрабатывающие (вычислительные) системы. И те и другие прошли длинную дорогу развития вместе с человеческой цивилизацией. В следующем пункте будут перечислены основные вехи их истории.
Если раньше обрабатывающей системой был человек или какие-то механические приспособления, то для проведения процесса обработки было достаточно сформулировать набор правил (инструкций). Давно подметили, что повторяющиеся операции целесообразно автоматизировать в первую очередь и желательно перепоручить машинам. При этом человек, задавая циклическое правило работы машине, колоссально выигрывает в трудозатратах.
Предположим, вам надо сложить 1000 последовательных данных измерений. Заводим специальный счетчик-сумматор и присваиваем ему значение 0. Для каждого из данных надо получить результат измерений и добавить его к счетчику, то есть вам надо сделать 2001 операцию при "ручном" счете. Другой вариант - написать шесть инструкций для машины:
- завести счетчик-сумматор и присвоить ему значение 0;
- завести индекс (номер) текущей операции и присвоить ему значение 0;
- получить новый результат измерений;
- добавить его к счетчику-сумматору;
- увеличить на 1 индекс текущей операции;
- если он меньше 1000, то перейти к шагу 3.
За прошедшее время существенно усложнились задачи обработки информации, развились способы формулировки и записи правил работы машин (программ работы). Вычислительные устройства превратились в компьютеры, а правила работы - в компьютерные программы.
Программирование - процесс создания компьютерных программ с помощью языков программирования. Программирование сочетает в себе элементы искусства, науки, математики и инженерии.
В узком смысле слова программирование рассматривается как кодирование - реализация одного или нескольких взаимосвязанных алгоритмов на некотором языке программирования. Под программированием также может пониматься разработка логической схемы для интегральной микросхемы, а также процесс записи информации в микросхему ПЗУ (Постоянного Запоминающего Устройства) некоторой электронной системы. В более широком смысле программирование - процесс создания программ, то есть разработка программного обеспечения.
Составителями программ являются программисты. Большая часть работы программиста связана с написанием и отладкой исходного кода на одном из языков программирования.
Различные языки программирования поддерживают различные стили программирования (или парадигмы программирования). Отчасти искусство программирования состоит в том, чтобы на одном из языков эффективно реализовать алгоритм, наиболее полно подходящий для решения имеющейся задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между временем программиста и временем пользователя).
Единственный язык, напрямую выполняемый процессором, - это машинный язык (также называемый машинным кодом). Изначально все программисты прорабатывали весь алгоритм в машинном коде, но сейчас эта трудная работа уже не делается. Вместо этого программисты пишут исходный код на языке высокого уровня (например, С, С++, С#, Java), а компьютер, используя компилятор или интерпретатор и уточняя все детали, транслирует его за один или несколько этапов в машинный код, готовый к исполнению на целевом процессоре. Если требуется полный низкоуровневый контроль над системой, программисты пишут программу на языке ассемблера, мнемонические инструкции которого преобразуются один к одному в соответствующие инструкции машинного языка целевого процессора.
В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код "виртуальной машины", также называемый байт-кодом (byte-code). Такой подход применяется в языке Forth, некоторых реализациях языков Lisp, Java, Perl, Python, а также в языках платформы Microsoft .NET.
Типичный процесс разработки программ состоит, в общем, из семи этапов:
- постановка задачи;
- формализация и специфицирование;
- выбор или составление алгоритма;
- программирование;
- компиляция (трансляция);
- отладка и тестирование;
- запуск в эксплуатацию.
Эксплуатируемая программа имеет дело с данными различных типов, предназначенных для решения конкретных задач.