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