Сайт о телевидении

Сайт о телевидении

» » Программно-математическое обеспечение асу. Математическое обеспечение АСУ ТП и алгоритмизация технологических процессов. Описание организационного и правового обеспечения

Программно-математическое обеспечение асу. Математическое обеспечение АСУ ТП и алгоритмизация технологических процессов. Описание организационного и правового обеспечения

Основные понятия

Алгоритм - это предписание (приказ или система приказов), определяющее процесс преобразования исходных данных в.искомый результат к обладающее следующими свойствами:

  • определенностью, т. е. точностью и понятностью для исполнителен; благодаря этому свойству процесс выполнения алгоритма носит механический характер;
  • результативностью, т. е. способностью приводить к получению искомого результата после конечного числа достаточно простых шагов;
  • массовостью, т. е. пригодностью для решения любой задачи из некоторого класса задач.

Из определения алгоритма видно, что процесс его выполнения должен быть дискретным, состоять из отдельных шагов, алгоритмических актов. Требование простоты этих шагов связано с тем, что, допуская неограниченную сложность шагов, мы лишим понятие алгоритма всякой определенности. Свой- ство алгоритма приводить к решению за конечное число шагов называется потенциальной осуществимостью.

Естественные языки малопригодны для того, чтобы на них формулировать определенные и точные предписания. Алгоритм, следовательно, должен быть предписанием на формальном языке.

Каждая ЭВМ разрабатывается для решения в основном задач некоторого класса. В связи с этим требуется, чтобы ЭВМ обеспечивала возможность выполнения в требуемых сочетаниях некоторого набора операций, принятых за элементарные.

Элементарными машинными операциями являются ввод информации в ячейку оперативной памяти из какого-либо другого запоминающего устройства, выдача информации из ячейки, а также любая операция, которая: реализована аппаратурно; имеет исходные данные, являющиеся результатами элементарных машинных операций и фиксированные в одной или нескольких ячейках; дает результат, фиксируемый в одной отдельной ячейке и доступный, но не обязательный для использования в качестве исходного данного какой- либо элементарной операции машины; не может рассматриваться как комплекс более простых машинных операции, удовлетворяющих трем предыдущим условиям.

Системой операций называется совокупность всех машинных операций, предусмотренных в ЭВМ.

Команда представляет собой элементарное предписание, предусматривающее выполнение некоторой группы операций.

Основными операциями ЭВМ являются арифметические, логические, переносы, переходы, когда машина осуществляет переход от выполнения одной команды к выполнению другой, выборка команд из оперативной памяти и останов машины («стоп»). Основными операциями над буквенной информацией являются: определение длины слова; перенос слова с одного места оперативной памяти в другое; выделение определенной части заданного слова; включение между словами пробелов; деление строки слов на более мелкие строки; сравнение двух слов. Обычно перечисленные операции называют редактированием.

Программирование

ЭВМ обычно применяют либо для решения отдельных задач (принадлежащих к некоторому классу), либо для решения комплекса взаимосвязанных задач различных классов.

При решении на ЭВМ некоторой задачи (класса задач) работа распадается на следующие этапы:

    математическую формулировку задачи;

    разработку методики ее решения;

    разработку алгоритма ее решения и запись ее на некотором языке программирования;

    программирование;

    отладку программы на машине;

    подготовку исходных данных, решение задачи на ЭВМ.

Описанный комплекс работ называют проблемным программированием.

При разработке системы программ для решения комплекса взаимосвязанных задач, при разработке каждой программы описанная последовательность работ сохраняется. Кроме того, появляется ряд дополнительных этапов работы, связанных с необходимостью обеспечить единство системы. Комплекс работ по созданию системы программ для решения взаимосвязанных задач называют системным программированием.

Математическая формулировка задачи. Эта работа заключается в определении состава и характера исходных данных для решения задачи, в определении исходных результатов, записи условия задачи с помощью математических обозначений. Математический аппарат, применяемый при математической формулировке задачи, зависит от того, к какому классу принадлежит задача.

Разработка методики решения задачи. Методика решения считается разработанной тогда, когда установлены зависимости всех искомых результатов от исходных и указаны такие методы получения искомых результатов, которые могут быть реализованы на ЭВМ. При обнаружении непригодности выбранных методов в процессе решения задачи на ЭВМ необходимо вернуться к этапу разработки методики.

Разработка алгоритма решения задачи. Алгоритм решения задачи разрабатывается на основе методики ее решения. Алгоритм разрабатывается на языке математических описаний, а затем записывается на алгоритмическом языке из числа так называемых языков программирования. Разработка алгоритма решения задачи должна осуществляться с учетом особенностей ЭВМ.

Применяя ЭВМ для решения задачи, необходимо учитывать следующие ее особенности:

  • большое, но ограниченное количество цифр в изображениях чисел;
  • большую скорость выполнения операций над числами, хранящимися в оперативной памяти;
  • сравнительно малую скорость ввода исходных данных и вывода результатов;
  • сравнительно малую скорость обмена числами между оперативной памятью и внешними запоминающими устройствами;
  • сравнительно небольшую емкость оперативной памяти при весьма большой емкости внешних запоминающих устройств;
  • возможность случайных сбоев машины и вытекающую отсюда необходимость контроля ее работы.

Программирование. Программирование заключается в записи разработанного алгоритма на языке программирования (например, на так называемом языке АССЕМБЛЕРА или на АЛГОЛе, ФОРТРАНе, КОБОЛе, ПЛ/I), выполняемой вручную, и последующей трансляции на машинный алгоритмический язык.

Трансляцией называется процесс равносильного преобразования алгоритма, заданного на языке программирования, в алгоритм на машинном языке. Этот процесс выполняется с помощью специальной программы, называемой транслятором.

Отладка программы на машине. Отладка программы на машине преследует цель устранить в программе неправильности и включает: контроль программы; поиск и определение содержания (диагностику) ошибок; исправление обнаруженных ошибок.

Подготовка исходных данных. Решение задачи на ЭВМ. Исходные данные задачи, подлежащие вводу в ЭВМ, должны быть предварительно перенесены с бланков или документов на перфоленты или перфокарты. Этот процесс производится на специальных перфорирующих устройствах, снабженных клавиатурой. В процессе перфорации возможны ошибки как в результате случайных сбоев перфорирующих устройств, так и в результате погрешностей в работе операторов-перфораторщиков. Все ошибки, внесенные в информацию, во время перфорации и ввода должны быть устранены.

Как правило, для ввода информации в вычислительную машину используются либо 80-колонные ПК, либо бумажная ПЛ. На больших машинах имеется и то и другое. Перфокарта содержит 12 строк, и, следовательно, в каждой колонке возможно 12 пробивок; в поперечном направлении перфоленты допускаются 5, 6, 7 и 8 позиции пробивки. Таким образом, теоретически возможно использование алфавита от 2 5 =32 до 2 12 =4096 символов, но на практике в колонке перфокарты редко встречается более 3 пробивок, так что, как правило, используемый алфавит содержит от 40 до 80 символов. Среди оборудования вычислительной машины имеется самостоятельное устройство воспроизведения на бумаге информации, содержащейся на перфокартах и перфоленте в виде, удобном для чтения ее человеком. В результате мы получаем то, что обычно называется листингом, или распечаткой.

После ввода в ЭВМ программ и исходных данных решение задачи производится автоматически.

Математическое обеспечение ЭВМ

Математическое обеспечение (МО) ЭВМ можно определить как некоторое собрание программ, каждая из которых может быть практически применена пользователем одна или в совокупности с некоторыми другими программами для решения задач, либо для выполнения некоторых работ, связанных с программированием, либо для создания определенного режима работы ЭВМ.

В систему МО вычислительных машин могут входить следующие группы программ:

    операционная система программ;

    система средств программирования;

    приложения к программам;

    система программ поддержания математического обеспечения;

    система испытательных программ, предназначенных для контроля исправности ЭВМ.

Операционная система содержит в себе программы, определяющие режим работы ЭВМ и расширяющие ее операционные возможности. В состав операционной системы входит ряд программ, из которых основными являются следующие:

диспетчер - программа, обеспечивающая определенный режим работы ЭВМ;

супервизор, или монитор,- программа, обеспечивающая работу, задаваемую машине человеком-оператором в рамках установленного для нее режима;

ряд служебных программ, таких, как программы ввода исходных данных, программы редактирования и выдачи результатов, загрузчик - программа для ввода в оперативную память так называемых рабочих программ, т. е. программ решения задач, библиотекарь - программа для ввода подпрограмм по выполнению макрооперацпй и самих подпрограмм макроопераций, программа общения операционной системы с человеком-оператором.

Для работы операционной системы большое значение имеют возможности, которыми обладают современные машины (и которых не было у машин первого поколения): наличие системы прерываний, защиты памяти, защиты команд и маскирования прерываний.

Сущность работы диспетчера заключается в том, что любое прерывание в работе машины он относит либо к числу тактических и в этом случае немедленно передает управление и информацию о прерывании супервизору, либо к числу стратегических. В последнем случае он сам разрешает прерывание. Текст, соответствующий этой реакции, назовем выводом.

Супервизор планирует по требованию человека-оператора порядок выполнения программ и распределяет между ними наличное оборудование ЭВМ, организует их очередь и поддерживает в этой очереди порядок. Основные задачи, стоящие перед супервизором,- это: управление ходом работы ЭВМ; поддерживание связи с человеком-оператором.

Существуют различные режимы функционирования ЭВМ, обеспечение которых является одним из основных назначений диспетчера.

Ряд режимов связан с решением задач, представленных в виде так называемого пакета работ. При этом весь пакет снабжается информацией о входящих в него задачах и их преимуществах друг перед другом (система приоритетов).

Выполнение пакета работ производится под управлением супервизора. При этом может осуществляться однопрограммная, двухпрограммная или многопрограммная работа машины. Эффективность ее использования в значительной мере зависит от того, каким образом объединены работы в пакет. Пакет считается составленным хорошо, если центральный процессор (арифметическое устройство и устройство управления) не простаивает. Описанные режимы называют пакетными режимами. Современные ЭВМ допускают при этом одновременное выполнение до 16 работ.

Режим с разделением времени характеризуется тем, что к ЭВМ одновременно подключено большое число дистанционных устройств ввода-вывода информации, называемых терминалами. Если при пакетной работе пользователи не допускаются к пульту управления, то при режиме с разделением времени каждый из них общается с машиной без участия оператора. Диспетчер обеспечивает последовательное предоставление небольших отрезков времени всем находящимся в очереди пользователям. В течение времени, измеряемого несколькими секундами, машина понемногу обслуживает каждого пользователя. Режим разделения времени удобен в тех случаях, когда выполнение машинных работ должно протекать в виде диалога между ЭВМ и пользователем. Эго имеет место при отладке программ на ЭВМ, при решении информационных задач типа вопрос-ответ.

Система средств программирования содержит ряд трансляторов-программ для перевода алгоритмов, заданных на различных входных языках программирования, на машинный язык. Обычно система средств программирования содержит трансляторы с алгоритмических языков трех уровней.

Процесс перевода алгоритма и процесс его выполнения машиной могут сочетаться одним из двух способов.

Первый способ, получивший название компиляции, заключается в том, что процесс выполнения алгоритма машиной осуществляется после того, как процесс его перевода полностью завершен. Название «компиляция» возникло в связи с тем, что первоначально имелся в виду процесс перевода, основанный на соединении в одно целое заранее заготовленных частей (подпрограмм), соответствующих определенным частям переводимого алгоритма. Впоследствии это название распространили и на случай «динамического» перевода, не связанного с использованием заранее заготовленных текстов.

Второй способ сочетания процесса перевода и процесса выполнения алгоритма получил название интерпретации. Этот способ заключается в том, что отдельные части алгоритма сразу после перевода выполняются, после чего та же процедура осуществляется над другими частями алгоритма и т. д.

Для компиляции характерно, что осуществляющая ее программа-компилятор во время выполнения алгоритма уже не нужна и не находится поэтому в оперативной памяти ЭВМ. Применение же метода интерпретации требует присутствия программы-интерпретатора в оперативной памяти ЭВМ во время решения задачи.

Каждый из методов имеет свои достоинства, однако метод интерпретации является более гибким. Кроме того, он упрощает задачу распределении памяти, хотя и требует большого дополнительного расхода памяти для хранения самой интерпретирующей программы.

Системы средств программирования новейших ЭВМ часто основываются на так называемом принципе модульности. Модулями называют «куски» алгоритмов, заданных на языке исполнительной системы или на входном языке программирования, для которых выполнены следующие условия:

«куски» алгоритмов, заданных на языке исполнительной системы, должны быть снабжены дополнительной информацией, достаточной для того, чтобы при соответствующей их переработке из них можно было собрать программу, заданную на языке исполнительной системы;

«куски» алгоритмов, заданных на входных языках программирования, должны быть снабжены дополнительной информацией, достаточной для того, чтобы при соответствующей переработке их можно было преобразовать в модули, заданные на алгоритмическом языке исполнительной системы.

Принцип модульности заключается в том, что программы на языке исполнительной системы собирают из модулей. Модули на языке исполнительной системы могут накапливаться в библиотеке. Модульный принцип позволяет при сборке программы использовать модули, составленные на различных алгоритмических языках. Возможность накапливать модули и затем их многократно применять позволяет экономить труд программистов.

Все программы математического обеспечения должны быть элементами некоторой библиотеки. Библиотекой стандартных программ называется коллекция заранее составленных программ, в которой каждая программа снабжена дополнительной, идентифицирующей ее информацией. Данные о всех программах должны быть сведены в общую таблицу, называемую каталогом. Каталог должен позволять находить подпрограмму по ее имени и по ее назначению.

В библиотеку собирают обычно специально составленные и специально оформленные программы.

Перечисленные средства программирования целесообразно применять для решения различных задач (проблем). При этом считается, что программы отдельных задач (проблем) могут быть и не очень «хорошие», зато суммарным расход средств на программирование и решение задачи на ЭВМ бывает обычно меньше, чем при составлении более «хороших» программ.

Математическое обеспечение АСУ

Математическое обеспечение (МО) АСУ - это система методов, приемов и средств, позволяющих эффективно разрабатывать программы решения на ЭВМ конкретных задач АСУ, управлять работой ЭВМ в процессе решения этих задач, контролировать правильность работы ЭВМ.

Основными положениями, которыми необходимо руководствоваться при создании МО АСУ, являются следующие:

  • совместимость и базирование разрабатываемого МО АСУ на имеющемся МО ЭВМ;
  • ориентированность выбираемых средств МО на задачи АСУ;
  • достаточное разнообразие средств автоматизации программирования;
  • возможность эффективного внесения изменений в рабочие программы;
  • возможность однозначного и исчерпывающего описания алгоритмов;
  • возможность оптимизации работы программ частного применения;
  • модульность построения программ.

МО АСУ служит для представления пользователю широкого спектра услуг по технологии программирования. Его можно разделить на две части: составление управляющих программ и составление обрабатывающих программ.

Управляющие программы осуществляют первоначальную загрузку оперативной памяти машин и управление работой АСУП, включая обработку прерываний, распределение работы каналов, загрузку программ из библиотеки в оперативную память. Управляющие программы обеспечивают многопрограммную работу, осуществляют связь с оператором.

Обрабатывающие программы включают в себя систему автоматизации программирования и обслуживающие программы.

Функции системы автоматизации программирования следующие: запись программ на входных языках программирования; трансляции программ на внутренний язык ЭВМ; объединение (сборка) нужных конфигураций (сегментов) из стандартных подпрограмм; отладка программ на уровне входных языков; корректировка программ на уровне входных языков.

Основными задачами обслуживающих программ являются следующие: запись программ в библиотеку; исключение программ из библиотеки; перезапись программ с одного магнитного носителя на другой, печать и вывод программ на перфоносители; вызов нужных программ в процессе работы в оперативную память и настройка ее по месту размещения.

Основными компонентами МО АСУ являются системная диспетчерская программа и библиотека стандартных подпрограмм и типовых программ, предназначенных для обработки производственно-экономической информации.

Системная диспетчерская программа обеспечивает функционирование АСУП в режиме, определенном производственно-хозяйственной или административной деятельностью.

Библиотека стандартных подпрограмм, имеющаяся в МО ЭВМ, является переходной ступенью к разработке системной библиотеки, ориентированной на процессы обработки информации в АСУ. Системная библиотека должна содержать:

программы ввода и преобразования в машинную форму документов и других письменных источников исходных данных;

программы для организации машинных массивов, характеризуемых как большими объемами, так и сложностью их структуры, для эффективного поиска и извлечения требуемых данных из массивов;

программы для преобразования данных в наиболее приемлемую для человека форму (в виде графиков, схем, изображений) и вывода их на внешние устройства.

Языки программирования

Языком программирования называются знаковые системы, применяемые для описания процессов решения задач на ЭВМ. По своему характеру языки программирования делятся на три группы:

  1. формальные алгоритмические языки;
  2. формальные неалгоритмические языки программирования;
  3. не вполне формализованные знаковые системы, применяемые при программировании.

Формальные языки программирования. К этой группе языков относятся: алгоритмические языки машин и операционных систем; машинно-ориентированные алгоритмические языки; проблемно-ориентированные алгоритмические языки; универсальные машинно-независимые алгоритмические языки.

Языками операционных систем называются алгоритмические языки, воспринимаемые комплексами, образованными из ЭВМ и разработанной для них программы-диспетчера (иногда называемой также супервизором).

Составление программ непосредственно вручную на языке машины или операционной системы в настоящее время не применяется, так как требует от программиста запоминания большого количества деталей, без которых невозможно строить программу из команд.

Машинно-ориентированные алгоритмические языки содержат выразительные средства, позволяющие в записи алгоритма указать, с помощью каких технических средств должны выполняться те или иные его части и каким образом при этом должны быть использованы запоминающие устройства. К числу машинно-ориентированных языков программирования относятся автокоды и некоторые языки, приближающиеся по своим возможностям к универсальным алгоритмическим языкам, например AЛMO.

Проблемно-ориентированные алгоритмические языки это такие языки, которые специально разработаны для описания процессов решения задач некоторого узкого класса, например задач линейной алгебры, статистики, задач обработки данных и т. п. В частности, к проблемно-ориентированным языкам относится КОБОЛ.

Универсальные машинно-независимые алгоритмические языки пригодны для создания алгоритмов решения задач весьма широких классов. К числу этих языков относятся уже упомянутые АЛГОЛ, ФОРТРАН, ПЛ/1.

Из числа универсальных машинно-независимых алгоритмических языков исключение составляет ЯЛС. Назначение этого языка не сводится к тому, чтобы быть языком программирования. ЯЛС используется как первый этап описания алгоритмов при программировании на машинном языке или на языке АССЕМБЛЕРА (операторный метод программирования; записанный на ЯЛС алгоритм вручную переводится на язык машины или язык АССЕМБЛЕРА).

В таблице ниже приводятся сравнительные данные формальных языков программирования.

Не вполне формализованные знаковые системы. Эти языки обычно используются при программировании вручную или на предварительном, выполняемом вручную этапе автоматизированного программирования. Их примером является блок-схема программы. Блок-схема программы представляет собой укрупненное описание программы, при котором отдельные ее части изображаются в виде «блоков» (прямоугольников, ромбов, кружков и т. п.), внутри которых на естественном языке (например, на русском) излагается содержание этих частей. Связь между блоками (частями программы) изображается с помощью линий, обозначающих передачу управления. Линии могут быть снабжены надписями, указывающими условия, при которых происходит передача управления. Блок-схемы аналогичны алгоритмам, записанным на ЯЛС с помощью обобщенных операторов, но отличаются от них тем, что значение блоков изложено на естественном, неформальном языке, тогда как в ЯЛС обобщенные операторы снабжены расшифровкой на точном формальном языке.

В настоящее время известно более 2000 различных алгоритмических языков и более 700 областей их применения для решения соответствующих задач на ЭВМ.

Различают языки программирования следующих уровней:

    язык нулевого или низшего уровня - машинный код;

    язык первого уровня - мнемокод, или язык символического кодирования;

    язык второго уровня - автокод (макрокод);

    языки третьего уровня (высшего)-проблемно-ориентированные языки.

В качестве входных языков в зависимости от вида задач АСУП целесообразно применять проблемно-ориентированные языки различного типа

Сравнительные данные формальных алгоритмических языков программирования

Класс алгоритмических языков программирования

Учет особенностей ЭВМ

Характеристика класса задач

Способ программирования

Условная оценка качества программ

Машинные языки

Машинно-ориентированные языки

Частичный

Определяется особенностями ЭВМ

Автоматизированный

Удовлетворительная

Проблемно-ориентированные языки

Незначительный

Автоматизированный

Удовлетворительная

Универсальные машиннонезависимые языки

Отсутствует или весьма незначительный

Весьма обширный

Автоматизированный

Невысокая

(например, для анализа - АЛГОЛ, ФОРТРАН и др., для экономических задач- АЛГЭК и др., для информационных задач -КОБОЛ, СИНТОЛ и др.).

Рассмотрим некоторые из алгоритмических языков программирования.

АЛГОЛ-60. Название языка происходит от английских слов Algorithmic Language. Он был разработан группой ученых различных стран в 1960 г. и получил повсеместное распространение. Причины успеха заключаются в его близости к обычному математическому языку, в удобстве описания широкого класса задач, универсальности и полной независимости от конкретной ЭВМ, строгой формализации языка от алфавита до самых сложных конструкций.

АЛГОЛ-60 не только универсальный язык программирования, но и международный язык описания алгоритмов.

Основой записи алгоритмов на языке АЛГОЛ-60 является последовательность операторов, разделенных символом «;». К этой последовательности операторов, являющихся единичными действиями в языке, присоединяется последовательность описаний, дающих транслятору информацию о необходимых свойствах, используемых в операторах. Описания, например, дают информацию о классах чисел, используемых в качестве значений переменных, о размерности массивов чисел и т. д. Такое объединение описаний и операторов в этом языке называется блоком.

Программой в языке АЛГОЛ-60 называется блок, или составной оператор, который не содержит внутри другого оператора и не использует другой оператор, не содержащийся в нем.

Вычислительные центры, в которых ведется программирование на АЛГОЛе, должны накапливать опыт не в виде полных АЛГОЛ-программ, а в виде описаний процедур. Это связано с тем, что готовые АЛГОЛ-программы включить в новые программы практически невозможно, тогда как описания процедур для этого специально предназначены.

В СССР АЛГОЛ-60 получил распространение в виде некоторых его вариантов.

ФОРТРАН. Слово ФОРТРАН образовано из двух английских слов (Formula Translator). Одной из важнейших особенностей языка ФОРТРАН является то, что он относительно свободен от специфики конкретной вычислительной машины. ФОРТРАН является машиннонезависимым языком программирования.

Накоплены обширнейшие математические программные библиотеки на этом языке, включающие как стандартные (часто используемые) программы, так и множество специальных программ, применяемых для решения специфических задач.

Повсеместное внедрение ФОРТРАНа в практику программирования происходит благодаря его качествам, из которых следует отметить, во-первых, его простоту по сравнению с другими алгоритмическими языками (например, АЛГОЛом); во-вторых, благодаря отсутствию слишком сложных конструкций оттранслированные программы получаются более эффективными по сравнению с программами, составленными на других языках; в то же время ФОРТРАН пригоден для программирования большинства вычислительных алгоритмов;

в-третьих, в ФОРТРАНе имеются очень мощные средства для связи человека с машиной: выдаваемая ЭВМ информация представляется в виде, привычном для ученых и инженеров. И наконец, в-четвертых, ФОРТРАН хорошо приспособлен для эффективного использования внешних устройств ЭВМ.

Алгоритм решения задачи, записанный с помощью ФОРТРАНа, состоит из последовательности операторов. Эти операторы могут принадлежать к нескольким различным типам. Вместе взятые операторы, определяющие алгоритм решения задачи, составляют исходную программу. После того как исходная программа написана и отперфорирована на перфокартах, она преобразуется с помощью транслятора ФОРТРАНа в рабочую программу.

Первый оператор - оператор-заголовок, имеющий вид || PROGRAMa ||, где а -имя программы, а последний - оператор конца (оператор || END ||) и совокупность подпрограмм. Основная программа и каждая подпрограмма локализуют в себе метки операторов, а также имена переменных, массивов и других величин, позволяя тем самым использовать в разных подпрограммах и в основной программе одни и те же метки и идентификаторы. Связь между основной программой и подпрограммами осуществляется с помощью соответствующих операторов обращения.

При составлении программ на ФОРТРАНе рекомендуется придерживаться следующего порядка следования операторов: 1) оператор-заголовок основной программы (подпрограммы); 2) оператор описания файлов; 3) неявный оператор задания типа; 4) явный оператор задания типа, оператор задания размеров, оператор задания общих областей; 5) оператор задания эквивалентности; 6) оператор-функция, оператор-процедура; 7) оператор задания формата, выполняемые операторы (безусловные, условные, ввода, вывода); 8) оператор конца.

КОБОЛ. Название языка происходит от английских слов Common Business Orientated Language. КОБОЛ - проблемно-ориентированный алгоритмический язык, предназначенный для описания процессов решения задач и обработки данных. В настоящее время КОБОЛ является единственным широко распространенным языком высокого уровня для программирования экономических задач. Его широкая популярность объясняется тем, что КОБОЛ достаточно близок к естественному языку, на котором обычно формулируются и решаются экономические задачи.

Отличительные особенности языка КОБОЛ состоят в следующем:

язык в известном смысле является подмножеством английского языка; написанный на КОБОЛе текст можно понимать без предварительной подготовки;

на языке хорошо описываются данные со структурой, типичной для деловых бумаг; эти данные могут относиться к личным делам, товарам, финансам (допускаются и комбинированные данные);

в языке делается попытка решения проблемы полной совместимости, т. е. независимости от специфики конкретных вычислительных машин.

Программа на языке КОБОЛ состоит из четырех частей, называемых разделами. Эти разделы имеют следующие названия: раздел идентификации, раздел оборудования, раздел данных и раздел процедур. В разделе процедур содержится собственно программа, но она не имеет смысла (или в лучшем случае не полностью определена), если неизвестна структура подлежащих обработке данных, определяемая в третьем разделе. Раздел оборудования делится в свою очередь на секцию конфигураций и секцию ввода-вывода, а раздел данных - на секцию массивов, секцию рабочей памяти и секцию констант. В начале раздела (секции) находится название раздела (секции), за которым следует точка; название с точкой занимает отдельную строку. Содержимое раздела или секции состоит из предложений, сгруппированных в именованные параграфы.

В КОБОЛе значительно облегчено внесение в программу мелких изменений, необходимых при обработке коммерческой информации.

В КОБОЛе основной единицей ввода-вывода является файл данных. Каждый файл состоит из записей. Один и тот же файл часто используется в различных программах в зависимости от характера решаемых задач. Описание файлов является очень строгим и не допускает изменений.

Разработчики учли возможность использования для трансляции программ одной машины, а для решения задачи по составленной программе - другой машины. Кроме того, одна и та же КОБОЛ-программа допускает трансляцию на языки различных ЭВМ, имеющих различные комплекты оборудования.

СОЛ. Цифровое моделирование как эффективный метод исследования завоевывает все большую популярность среди специалистов, занимающихся анализом и проектированием сложных систем.

Очень часто специалист по системам испытывает трудности в составлении программы, моделирующей работу исследуемой им системы. Причиной этого может быть чрезвычайная сложность систем, которые практически невозможно описать математически. Задачами такого типа изобилует, в частности, практика создания контрольно-измерительных и управляющих систем. Для облегчения составления программ в настоящее время применяются языки автоматического программирования (специализированные моделирующие языки), которые позволяют при наименьших затратах времени на подготовку и реализацию задач на ЭВМ строить и исследовать программы, моделирующие работу исследуемой системы.

При этом элементы специализированного языка являются, как правило, довольно универсальными и могут быть. применены к широкому классу моделируемых явлений. Кроме того, специализированные моделирующие языки по сравнению с универсальными существенно упрощают программирование вычислительных и логических операций, характеризующих моделируемую систему. Вместе с тем упрощается и связь между постановщиком задачи и программистом. Это достигается благодаря следующим чертам специализированных моделирующих языков:

  • возможности фиксировать структуру распределения памяти машины между переменными и параметрами. Это распределение является более детализированным и совершенным, чем то, которое достигается при использовании большинства универсальных языков;
  • наличию набора инструкций, упрощающих смену состояний моделируемой системы. В большинстве случаев это осуществляется стандартной управляющей или временной подпрограммой, контролирующей последовательность реализации подпрограмм;
  • наличию набора инструкций, определяющих необходимость реализации той или иной подпрограммы в определенное время;
  • наличию команд для выполнения стандартных или часто встречающихся операций, связанных со случайными числами и вероятностными распределениями;
  • наличию команд, упрощающих получение и регистрацию статистических показателей во время прогона моделирующей программы.

Рассмотрим некоторые специализированные алгоритмические языки моделирования.

Универсальный моделирующий язык GPSS наиболее широко используется, отличается простотой и наглядностью. Он не требует знания программирования и машинных операций. Моделирующая программа представляется в виде блок-диаграммы, что особенно привлекательно для непрограммистов.

Алгоритмический язык SIMSCRIPT принято считать наиболее мощным моделирующим языком в настоящее время. Благодаря ряду своих уникальных черт он применим для самого широкого класса задач. Однако этот язык сравнительно сложен, диагностические средства для отладки программ ограничены. Кроме того, потенциальный потребитель этого языка должен знать ФОРТРАН, иметь опыт программирования.

Внимание специалистов, связанных с решением проблем моделирования, привлекают специализированные языки, разработанные для этих целей на базе АЛГОЛа. Среди таких языков автоматического программирования наиболее совершенными являютсяSIMULA и SOL (СОЛ).

Примером одного из наиболее удачных специализированных алгоритмических языков, предназначенных для моделирования дискретно изменяющихся систем, является язык СОЛ - Simulation Orientated Language.

Язык СОЛ построен на базе универсального языка программирования АЛГОЛ, имеет такую же структуру и использует основные его элементы. Для описания широкого класса процессов с дискретными событиями СОЛ представляет универсальную систему понятий, и потому он во многих отношениях очень похож на проблемно-ориентированные языки автоматического программирования, такие, как АЛГОЛ или ФОРТРАН. Однако языку СОЛ присущи основные черты, отличающие его от этих языков: СОЛ обеспечивает механизм моделирования асинхронных параллельных процессов, удобные обозначения для случайных элементов внутри арифметических выражении, автоматические средства сбора статистических данных о компонентах моделируемой системы. С другой стороны, многие черты проблемно-ориентированных универсальных языков не используются в СОЛе не потому, что они несовместимы с ним, а скорее потому, что они вносят большие усложнения в его схему, не расширяя его возможности. Принципы, положенные в основу построения языка и написания моделирующих программ на нем, позволяют строить модели сложных систем в удобной для чтения форме.

ПЛ/ I . Название языка происходит от английских слов Programming Language/One.

Язык ПЛ/I появился после создания целого ряда весьма совершенных языков, и, конечно, эти языки-предшественники оказали существенное влияние на его структуру. Так, в нем сохранены от АЛГОЛа блочная структура программы, возможность динамического распределения памяти, имеется аппарат вызова процедур, способ задания форматов, используемый в ФОРТРАНе, и т. д. Но много и новых черт. Язык удобен для моделирования, решения логических задач, исследования логических схем, решения задач в реальном масштабе времени, разработки систем математического обеспечения. Возможно использование разного типа данных (двоичных, десятичных, символьных, комплексных чисел, матриц и т. д.), однако весьма сложно организовывать эти данные в массивы, таблицы, тексты, анкеты, картотеки и т. и. Имеется большой набор стандартных функций и процедур. В языке ПЛ/I разработана удачная система операции, управляющих всеми процессами ввода, вывода и обмена информацией между основными и запоминающими устройствами. Все эти особенности производят впечатление сильной перегруженности языка. Следует иметь в виду и недостатки: описание языка неудовлетворительно, оно не формализовано.

ПЛ/I - многоцелевой язык программирования, предназначенный не только для экономического и научно-технического программирования, но также для программирования работ в реальном масштабе времени и для создания систем программирования.

Одной из основных целевых установок при разработке языка было достижение модульности, т. е. возможности использовать в главной программе уже транслированные программы в качестве отдельных модулей без повторной трансляции. Была учтена необходимость обеспечения как можно большей простоты и удобства написания программ. При этом необходимость составления общих и подробных логических схем программ все еще сохраняется, но при соответствующем опыте программирования на языке ПЛ/Iможно избежать большой и утомительной работы, связанной с написанием программы на машинном языке.

В языке ПЛ/I каждому описателю переменной, каждой уточняющей конструкции-дополнению и каждой спецификации придана «интерпретация (принцип) умолчания». Это означает, что всюду, где язык предоставляет несколько возможностей, а программист не указал никакой, компилятор применяет «интерпретацию умолчания», т. е. подразумевается некоторая из возможностей, предусмотренная в языке на этот случай. В качестве таких подразумеваемых для каждой конструкции возможностей в языке выбраны те, которые, вероятнее всего, потребуются программисту.

Программы на языке ПЛ/I пишутся в свободной форме; программист может сам разработать нужные ему формы записи программ. При этом обеспечен доступ ко всем средствам системы ЭВМ.

Операторы программы, записанной на языке ПЛ/I, объединяются в «блоки». Блоки выполняют важные функции: они определяют область действия переменных и других имен, так что одно и то же имя в разных блоках может использоваться для различных целей; они позволяют отводить ячейки памяти под переменные только на время выполнения данного блока и освобождать их для использования в других целях по прекращении работы блока.

РПГ. Язык РПГ предназначен для автоматизации программирования задач но обработке экономической информации. Содержание этих задач в основном исчерпывается следующими процессами: ведением файлов (т. е. организация, хранение, корректировка и обновление), сортировкой файлов, составлением и печатью различных бухгалтерских документов, таких, как перечни, ведомости, таблицы, сводки, отчеты и др. Как правило, расчеты занимают небольшую часть общего объема решения задач. При решении таких задач удобно использовать РПГ особенно на этапе составления и выдачи отчетов. В этом случае предполагается, что входные файлы, которые используются для подготовки отчетов, созданы и отсортированы при помощи других средств.

РПГ позволяет производить некоторые вычисления (обычно несложные и стандартные) над входными данными, сформировать отчет и выдать его на печать. Входные данные могут быть введены с устройств ввода карт, магнитных лент или устройств памяти прямого доступа. Кроме создания отчета РПГ позволяет корректировать и обновлять входные файлы, а также создавать новые файлы. В РПГ есть средства, позволяющие проводить операции с таблицами (например, поиск требуемого элемента таблицы и вывод таблицы), а также средства для организации связи программы РПГ с программами, написанными на других языках и используемыми для решения этой же задачи.

Особенностью языка является то, что программист не должен расписывать последовательность операций для решения задачи (алгоритм задачи), а должен только описать на специальных бланках входные данные, используемые для создания отчета, вычисления, производимые над этими данными, и формат отчета.

На основании этой информации транслятор РПГ формирует рабочую программу, и затем созданная программа обрабатывает входные файлы и печатает требуемый отчет.

Подготовка отчета с помощью РПГ состоит из следующих основных этапов: определения данных задачи и способа их обработки; составления исходной программы; перфорации исходной программы; получения рабочей программы; выполнения рабочей программы.

Перед написанием программы поставленной задачи требуется выполнить некоторый его анализ. Нужно определить входные данные, формат и тип записей входных данных, используемые поля записей и их положение, способ обработки данных, количество и вид итогов, которые должны быть подсчитаны, формат печатного отчета и других выходных данных.

После того как установлены входные и выходные данные задачи и способ их обработки, нужно описать эти данные на соответствующих бланках РПГ. Существует несколько типов бланков РПГ, каждый из которых предназначен Для записи определенной информации. На бланках описания входных данных перечисляются все входные файлы, описывается структура и отличительные признаки всех типов записей каждого из файлов и расположение используемых полей в записях. На бланке вычислений указывается, какую обработку входных данных нужно выполнить. На бланке описания выходных данных описывается формат требуемого отчета и других выходных файлов. На бланке описания файлов и бланке дополнительной информации указываются характеристики используемых в программе файлов (входных, выходных, табличных и т. д.). Исходной программой называется информация, указанная на бланках РПГ для решения данной задачи.

После написания программы на соответствующих бланках текст программы перфорируется на картах.

Для получения рабочей программы сначала нужно выполнить трансляцию исходной программы. Для этого к картам исходной программы добавляются некоторые управляющие карты, такие, как управляющая карта транслятора РГ1Г и карты управляющих операторов - УПРАВЛЕНИЯ ЗАДАНИЯМИ, необходимые для работы транслятора РПГ. После трансляции полученный модуль может быть отредактирован с помощью РЕДАКТОРА. В результате редактирования получается готовая для выполнения программа (загрузочный модуль), которая называется рабочей программой. Компиляция и редактирование необходимы для получения желаемого отчета.

Рабочая программа может быть выполнена непосредственно после трансляции и редактирования либо в любой другой момент времени. Рабочая программа считывает подготовительные входные файлы, обрабатывает их и в результате получает отчет и другие выходные файлы.

АЛГАМС. Алгоритмический язык АЛГАМС ориентирован на машины средней мощности; основой его стало подмножество языка АЛГОЛ-60.

Важной проблемой, которая решена в АЛГАМСе, является введение процедур ввода-вывода. В АЛГАМСе расширен набор стандартных функций, имеется также возможность использования библиотечных подпрограмм. В АЛГАМС включены средства, позволяющие дать указание о возможной сегментации программы, так называемые идентификаторы части, а также средства, дающие возможность эффективно использовать буферную память ЭВМ путем описания некоторых из массивов особыми идентификаторами.

Оператор ввода состоит из идентификатора INPUT и следующего за ним списка фактических параметров, заключенного в круглые скобки. Первый параметр определяет номер канала, через который вводят данные, остальными фактическими параметрами являются простые переменные, идентификаторы массивов или переменные с индексами.

При вводе текста последовательным элементам массива начиная с указанного объекта ввода присваиваются целые значения, соответствующие последовательным символам вводимой строки в смысле процедуры=ТЕХТ. Процедура = ТЕХТ определяется следующим образом: <оператор текст> ::=ТЕХТ (<строка>, <переменная с индексами>).

Идентификатором процедуры ввода является слово OUTPUT. Оператор имеет четыре вида: оператор вывода чисел, оператор логических значений, оператор вывода текста и оператор размещения. Оператор вывода состоит из идентификатора OUTPUT и следующего за ним списка фактических параметров, заключенного в круглые скобки. Первый фактический параметр процедуры определяет номер канала вывода, второй параметр определяет формат выводимых данных, а все остальные - объекты вывода. Имеются средства редактирования при выводе информации на печать.

БЭЙСИ К. Название языка происходит от английских слов Beginners all Purpose Symbolic Instructioncode. Он получил широкую популярность благодаря своей простоте, легкости в изучении и большим возможностям для решения самых различных задач. Во многих мини-ЭВМ этот язык принят в качестве основного разговорного языка. Язык БЭЙСИК представляет собой язык программирования. Он удобен для решения научно-технических задач небольшого объема как по количеству выполняемых операций, так и по количеству исходных и результирующих данных. Важнейшей особенностью языка является то, что он приспособлен для шаговой реализации. Это означает, что после каждого изменения исходного текста программы на языке БЭЙСИК можно перетранслировать не всю-программу, а только те ее операторы, которые были изменены. Возможность шаговой реализации языка БЭЙСИК позволяет сократить затраты машинного времени на перетрансляцию. Это в свою очередь позволяет ускорить цикл отладки настолько, что становится целесообразной отладка БЭЙСИК-программ в режиме диалога.

Помимо возможности накапливать большие программы, состоящие из перенумерованных операторов языка БЭЙСИК, предусмотрены так называемые прямые команды, т. е. такие, которые исполняются тотчас же после ввода их с пульта программиста (с телетайпа). В режиме прямых команд могут использоваться не только административные директивы типа RUN-запуск исполнения, LIST - распечатка текста, SAVE - сохранить текст программы в библиотеке, BYE - конец сеанса работы; любой оператор языка БЭЙСИК, введенный без порядкового номера, исполняется в режиме прямой команды. Это позволяет, в частности, распечатывать и изменять значения переменных в любой момент выполнения программы.

Служебное слово Выполняемое действие

PRINT Отпечатать текст сообщения, заключенный в кавычки, или значение арифметического выражения (предварительно вычислив его), или значения переменных

INPUT Ввести числа с пульта программиста и заслать их в указанные переменные

LET Присвоить переменной значение выражения

GO ТО Перейти к выполнению оператора с заданным номером

IF Если заданное условие выполнено, то необходимо выполнить действие, указанное в данном операторе, иначе - перейти к выполнению следующего оператора

DATA Данные; этот оператор не выполняется. Он описывает блок отладочных данных (чисел). Совокупность блоков отладочных данных образует массив отладочных данных

END Конец программы

Таким образом, шаговая схема компиляции в сочетании с режимом прямых команд позволяет эффективно отлаживать БЭЙСИК-программы в режиме диалога.

Программа на языке БЭЙСИК состоит из операторов, каждый из которых начинается со служебного слова. Служебное слово определяет тип оператора и характер действий, осуществляемых при его выполнении.

При решении многих задач необходимо представление данных в виде таблиц. Используя возможности некоторых операторов языка БЭЙСИК, можно формировать таблицы различных форматов.

Описание математического обеспечения АСУ

Математическое обеспечение АСУ - совокупность программ и программных комплексов, посредством которых происходит преобразование алгоритмов программы пользователя, записанных на алгоритмических языках высокого уровня, в последовательность команд, понимаемых электроникой ЭВМ, организуется автоматическое прохождение задач пользователей на ЭВМ, обеспечивается эффективное использование оборудования ЭВМ.

Характер математического обеспечения АСУ существенно меняется по мере развития возможностей технических средств. Разработчики АСУ, продолжая создавать алгоритмы и программы сложных и типовых задач, подготовка которых пользователями затруднительна, все в большей степени должны готовить программные средства поддержки для непрофессиональных программистов. Это повышает требования к разработчикам АСУ в части знания ими методов подготовки и отладки программ, автоматизации программирования.

Совершенствуются и развиваются языки программирования высокого уровня, появились непроцедурные языки, близкие к естественному. Облегчая работу пользователя, эти языки требуют развитого системного программного обеспечения, содержание которого все чаше становится различным для разных пользователей и должно определяться в процессе проектирования конкретной системы.

Математическое обеспечение принято делить на общее и специальное.

Общее математическое обеспечение обычно состоит из операционной системы, средств поддержания системы математическое обеспечение в рабочем состоянии, средств программирования и приложений. К математическому обеспечение должны быть отнесены также испытательные программы, предназначенные для контроля исправности, не применяются при программировании и не влияют на него.

Специальное математическое обеспечение (СМО) является проблемно-ориентированным и реализуется в виде комплекса программ программного обеспечения, организующих работу технических средств по выполнению решаемых в АСУ задач.

В свою очередь специальное математическое обеспечение делят на:

Общесистемное, обеспечивающее функционирование всей системы управления в заданном режиме, включая управление работой ЭВМ и других технических средств с точки зрения использования их в АСУ, решение ряда задач по типовым схемам, которые могут быть необходимы многим пользователям. Последняя часть общесистемного СМО реализуется в виде «библиотеки стандартных программ», содержащей программы сортировки, редактирования, решения часто встречающихся математических задач;

Прикладное, состоящее из прикладных программ в соответствии с индивидуальными особенностями решаемых задач.

Математическое обеспечение строится на основе типизации алгоритмов по классам задач и унификации методов решения родственных задач независимо от подсистем, в которых они находятся. Такая группировка задач позволяет удешевить их математическое обеспечение, а также создать единые модели для решения различного класса задач. Можно выделить следующие классы задач:

Задачи первичного учета, являющиеся, как правило, массовыми, и поэтому эффективность их включения в АСУ зависит от автоматизации получения машиночитаемой информации;

Учетно-статистические задачи характеризуются большим числом логических операций при небольшом объеме простых математических операций;

Бухгалтерские задачи характеризуются большим числом операций сложения, вычитания, логических операций (сортировка, группировка, сравнение) и формированием таблиц в заданной форме;

Информационно-справочные задачи;

Задачи сложных неэкстремальных расчетов. Для решения задач данного типа целесообразно применять методы математического моделирования. Это позволит сократить трудность не только самих расчетов, но и работ необходимых для сбора исходной информации;

Задачи прогнозирования. Для их решения также применяется математическое моделирование;

Оптимизационные задачи - это наиболее эффективное использование методов моделирования. В машине могут быть "разыграны" любые варианты и ситуации и получена оценка каждого варианта во всех возможных ситуациях;

Задачи топографического моделирования;

Задачи оперативного управления производственными процессами;

Логические задачи.

Для реализации математического обеспечения создают программное обеспечение.

Основой программного обеспечения НОУ ДПО «Бизнес Образование» является конфигурация 1С:Франчайзи, поэтому необходимо рассмотреть используемые в ней механизмы организующих работу технических средств по выполнению решаемых в АСУ задач. Встроенный язык программирования 1С: Франчайзи - язык программирования, который используется в семействе программ «1С:Предприятие». Данный язык является предварительно компилируемым предметно-ориентированным языком высокого уровня.

Платформой предоставляется фиксированный набор базовых классов, ориентированных на решение типовых задач прикладной области:

Константа;

Справочник;

Документ;

Журнал документов;

Перечисление;

Обработка;

План счетов и др.

На основании базовых классов средствами визуального конфигурирования можно создавать любое количество порождённых классов (возможность определить новый класс программно - отсутствует). Допускается только одна явная ступень наследования классов. Как правило, объекты порождённых классов представляют собой записи (или некоторые наборы записей) в базе данных. Такие классы образуют «Дерево метаданных». В терминах встроенного языка программирования 1С такие классы называются объектами метаданных.

Поддерживаются русский и английский синтаксис команд.

Встроенный язык имеет много общих черт с такими языками, как Pascal, Java Script, Basic, но не является прямым аналогом какого-либо из этих языков. Как уже было сказано, прикладные решения в «1С:Предприятии» не программируются (кодируются) целиком, большая их часть описывается параметрически - в виде структур метаданных, с помощью дизайнера форм, отчетов и т.д. Соответственно, встроенный язык «1С:Предприятия» является скриптовым языком, предназначенным в первую очередь для программирования бизнес-логики в контексте объектной модели «1С:Предприятия». На нем программируются обработчики различных событий, изменяющих состояние объектов системы, например, обработчики команд пользователя, обработчики проведения документов и т.д.

Очень существенным моментом является то, что особенности построения языка напрямую соответствуют модели проектирования структур данных, реализованной в «1С:Предприятии». То, что вся разработка конфигурации ведется на основе использования стандартных объектов системы, позволяет разработчику прикладных решений применять соответствующие им объекты встроенного языка, имеющие большой набор функций и высокую гибкость.

В числе наиболее значимых технологических особенностей встроенного языка:

Предварительная компиляция. Перед исполнением модули преобразуются во внутренний код;

Кэширование скомпилированных модулей в памяти;

Мягкая типизация - тип переменных может изменяться в процессе работы;

Отсутствие программного описания объектов конфигурации прикладное решение может манипулировать либо встроенными в платформу «1С:Предприятия» объектами, либо объектами, описанными разработчиком в процессе визуального конструирования системы в виде объектов метаданных.

Существует несколько дополнительных компонент, расширяющих основные классы, их свободное добавление и изменение; фирмой- разработчиком они не рекомендованы к использованию. Это означает, что фирма 1С и её Франчайзи отказываются от какой либо технической поддержки конфигураций, использующих такие компоненты.

Так компонента 1С++ расширяет язык 1С средствами полноценного объектно-ориентированного программирования. Её использование значительно расширяет возможности конфигурирования 1С. Это свободный программный продукт, распространяемый под лицензией GPL.

Более того - существует полностью свободный проект 2C, не использующий, каких либо проприетарных модулей фирмы 1С или других производителей. Это переписанное «с нуля» свободно распространяемое под лицензией GPL расширяемое ядро 1С-подобной системы, в котором даже такие «встроенные объекты» 1C как справочники и регистры - переопределяемые прикладным программистом классы.

Язык платформы 2С проектировался с целью максимальной преемственности с существующими для 1С наработками, и является расширением базового языка 1С. Путём написания соответствующих базовых классов язык 2С может быть приближен как к 1С 7.7, так и к 1С 8.0, хотя 2С: Платформа и не может обеспечить 100 % автоматическую переносимость конфигураций из той или иной версии 1С: Предприятия.

Внешний компонент.Net Bridge позволяет «прозрачно» обращаться из языка программирования 1С к сборкам и встроенным классам.Net Framework. Поддерживает работу со всеми популярными версиями 1С: 7.7/8.0/8.1/8.2 .

Описание организационного и правового обеспечения

В общем виде совокупность организационного и правового обеспечений можно представить как структуру, охватывающую правовые документы, регламентирующие и описывающие схемы функционирования предприятия, интструктивно-методические материалы по обеспечению разработки и эксплуатации АСУ, а также организационно-распорядительные и нормативные документы. К этому виду обеспечения можно также отнести систему подготовки и переподготовки персонала.

Структура организационно-правового обеспечения представлена на рисунке 2.9.

Рисунок 2.9 - Структура организационно-правового обеспечения

Выводы по главе

Проведя анализ функциональной структуры предприятия был выявлен состав функциональной части АСУ, определены задачи, решаемые каждой подсистемой.

Анализ обеспечивающей части АСУ определил проектные решения по информационному, техническому, программному, математическому, организационно-правовому обеспечениях. Определились направления, которые АСУ должна обеспечивать: автоматизированный сбор и обработку информации с использованием методов оптимизации по основным задачам управления, хранение в памяти ЭВМ и комплексное использование нормативно-справочной, оперативной и другой необходимой для принятия решения информации, организацию рационального документооборота на объекте управления, выделение прогрессивных методов планирования, учета и анализа хода производства.

В качестве основного недостатка выявленного в ходе анализ функционирующей АСУ выступило отсутствие автоматизированной подсистемы, позволившей бы сократить время сбора информации о прошедших обучение, и подготовки отчетности. Таким образом наиболее актуальным является создание автоматизированной подсистемы «1С: Центр сертифицированного образования», как составляющее автоматизированной подсистемы «Управление отношениями с клиентами».

Следует также обратить внимание на готовность предприятия к внедрению необходимой подсистемы и модернизации имеющейся АСУ.

Программные средства обеспечивают обработку данных и состоят из общего и прикладного ПО и программных документов, необходимых для эксплуатации этих программ. К общему ПО относят операционные системы (ОС), системы программирования и программы технического обслуживания, которые предоставляют сервис для эксплуатации компьютера, выявления ошибок при сбоях, восстановления испорченных программ и данных. В зависимости от функций, выполняемых ПО, его можно разделить на две большие группы: системное и прикладное ПО.

Системное программное обеспечение (СПО) -- это «программная оболочка» аппаратных средств, предназначенная для отделения остальных программ от непосредственного взаимодействия с оборудованием и организации процесса обработки информации в компьютере. К СПО относятся такие типы программ, как ОС, различные сервисные средства, функционально дополняющие возможности ОС, инструментальные средства (системы управления базами данных, программирования, оболочки экспертных систем). Прикладное ПО предназначено для решения определенных задач пользователя.

Основная компонента СПО -- ОС выполняет следующие функции:

  • * организация многоцелевой работы компьютера, при которой возможно одновременное выполнение нескольких программ;
  • * организация хранения программ и данных на носителях информации и, возможно, санкционирование доступа к этой информации;
  • * обеспечение взаимодействия с пользователем на основе графического интерфейса;
  • * обеспечение сетевых возможностей, т.е. возможности доступа к информации, хранимой в памяти другого компьютера локальной или глобальной сети.

Последняя функция в настоящее время стала стандартной для любой современной ОС. Тем не менее, проводя их классификацию, можно выделить две группы по данному признаку. Это, во-первых, системы, предназначенные для использования в узлах коммуникаций корпоративных сетей, и системы для рабочих станций сети.

Примером таких систем могут служить Microsoft Windows NT Server 4.0, Novell NetWare 4.x (для узлов коммуникаций) и Microsoft Windows NT Workstation 4.0 (для рабочих станций).

По своим функциональным возможностям все сетевые ОС делятся на два четко различимых класса: сетевые ОС масштаба отдела и корпоративные ОС. Это следует учитывать при принятии стратегического решения относительно использования ОС того или иного класса.

Выбор корпоративной сетевой ОС обусловлен, прежде всего, возможностью в широких пределах масштабирования производительности.

На сегодняшний день признанными лидерами являются фирменные версии «коробочных» продуктов Unix. Это можно отследить при увеличении числа пользователей (до 64), когда график роста производительности близок к линейному. Следует учитывать и тот факт, что выбранная ОС должна поддерживать ряд универсальных (на сегодняшний день) API, таких, которые могли бы выполняться эффективно с приложениями Windows, MS DOS и OS/2 при вытеснении многозадачности и мультиплексирования. Подробнее об этом см. подразд. 3.3.2.

Хотя существует еще ряд не менее важных характеристик, которые надо учитывать при выборе сетевой ОС, таких, например, как степень стабильности и безопасности ОС, наличие программных средств удаленного доступа, способность работать в гетерогенной среде и т.д., реальная жизнь упрощает задачу выбора. Сегодня рынок корпоративных ОС поделен между несколькими ОС: примерно по одной трети имеют NetWare и Windows NT, 10% приходится на разные версии Unix и 20 % представлены остальными типами ОС.

Модели Windows NT во многих отношениях построены на основе Unix, особенно в части сетевой деятельности и определенных механизмов управления ресурсами. В Unix добавление пользователя означает по существу создание отдельного каталога и подкаталогов, предназначенных для данного пользователя, и предоставление различных прав собственности и разрешений на доступ к файлам и процессам в этой структуре каталогов. В некоторых системах пользователи могут просматривать (но не изменять или добавлять) всю структуру каталогов машины Unix, но администратор имеет полномочия ограничить пользователям доступ лишь отдельными областями системы.

Windows 95, как, впрочем, DOS и Windows 3.x, не содержит практически никаких встроенных средств обеспечения безопасности, аналогичных имеющимся в Windows NT и Unix, поэтому мало пригодна в качестве среды для рабочих станций корпораций и организаций.

В настоящее время существует три жизнеспособные и развивающиеся промышленные технологии передачи графических интерфейсов: X-terminal многочисленных вариантов Unix (для Х-Window), Remote Desktop фирмы Microsoft (для Windows Terminal Server) и средства WEB-броузеров Netscape и Microsoft (с помощью HTML, Java и JavaScript и соответствующих интерфейсов к СУБД).

Через стандартизацию интерфейсов обеспечивается совместимость специалиста с компьютером, т.е. через стандарты интерфейса специалист может выполнять с помощью компьютера определенные действия (определенную технологию) по превращению данных в информацию. Таким образом, информационно-командная среда представляет собой совокупность программного и информационного обеспечения и определенного стандарта интерфейса.

Разнообразие технических средств и ОС привели к появлению понятия платформы. Практика показывает, что эволюция программно-аппаратного комплекса идет непрерывно по мере повышения квалификации и уровня знаний тех, кто реально использует эти средства. Модульность программно-аппаратных средств -- ключ к эволюционному развитию систем. Международные организации и крупные фирмы в области информатики предлагают различные стандарты на аппаратные и программные интерфейсы.

В традиционном понимании платформа -- это комплекс аппаратных и программных средств, на котором функционирует ПО пользователя ЭВМ. Основа аппаратной платформы {hardware-платформы) -- процессор. Тип процессора определяет тип и характеристики компьютера.

Существует несколько направлений развития аппаратных платформ -- для ПК, рабочих станций, мини-компьютеров, больших компьютеров и суперкомпьютеров. В настоящее время в обеспечении информационных технологий управления наиболее широко распространены IBM-совместимые персональные компьютеры с процессорами Intel.

Программный продукт (ПП) -- это совокупность отдельных программных средств, их документации, гарантий качества, рекламных материалов, мер по обучению пользователей, распространению и сопровождению готового ПО.

Подобно живому организму, всякий продукт (товар или услуга) имеет свой ЖЦ, который начинается с момента его «рождения» (или, возможно, с момента зарождения идеи) и заканчивается его «смертью», или изъятием из употребления. Эта концепция получила значительное развитие и оказалась весьма полезной при управлении процессом создания ПП.

Можно выделить несколько фаз существования ПП в течение его ЖЦ. Иногда они перекрываются, начало и конец каждой фазы не всегда могут быть точно определены.

Фаза исследования начинается с момента, когда руководитель разработки осознает потребность в данном продукте. Выполняемая в этой фазе работа состоит в планировании и координации, необходимых для подготовки формального перечня требований к продукту.

Фаза анализа осуществимости есть техническая часть фазы исследования. Работа заключается в исследовании предполагаемого продукта с целью получения оценки возможности реализации проекта. Рассматриваются также:

  • * эксплуатационная осуществимость -- будет ли программный продукт достаточно удобным для использования;
  • * экономическая осуществимость -- стоимость, эффективность с точки зрения пользователя;
  • * коммерческая осуществимость -- будет ли ПП привлекательным, пользующимся спросом, простым в обращении, легко устанавливаемым, приспособленным к обслуживанию.

Часто после проведения анализа осуществимости работы по разработке ПП прекращаются.

Фаза конструирования обычно начинается еще в фазе анализа осуществимости, как только оказываются определенными некоторые предварительные цели. В этой фазе разработанные алгоритмы программ фиксируются в официальных спецификациях.

Фаза программирования начинается в фазе конструирования, как только станут доступными основные спецификации на отдельные компоненты изделия, но не раньше утверждения соглашения о требованиях. Эта фаза состоит в подробном внутреннем конструировании ПО, а также составлении схем алгоритмов, документировании, кодировании и отладке программ.

Фаза оценки наступает, как только все компоненты собраны вместе и испытаны. Для оценки затрат можно использовать несколько методов. Если при этом получаются несогласованные результаты, следует добиться устранения этой несогласованности. Используются методы экспертных оценок, метод алгоритмического анализа, пошаговый анализ и т.д.

Фаза использования начинается, когда изделие передается в систему распределения, и обычно продолжается от 2 до 6 лет. В фазе использования выполняется обучение персонала, внедрение, настройка, сопровождение и, возможно, расширение ПП. Фаза заканчивается, когда изделие изымается из употребления.

Фазы ЖЦ программного продукта можно привязать к функциям управления, т.е. к организационным функциям любого предприятия. Так, группа планирования на предприятии определяет необходимость в программном продукте, устанавливает возможность его реализации и осуществляет слежение за ним до конца использования. Группа разработки составляет спецификации, конструирует, документирует программный продукт. Группа обслуживания предоставляет средства ВТ для обеспечения всех названных функций, конфигурационного управления, распространения и административной поддержки. Группа выпуска документации обеспечивает пользователей различными руководствами и справочными материалами. Группа испытаний дает независимую оценку как ПО, так и документации до передачи их пользователю. Группа поддержки обеспечивает распространение ПП и обучение пользователей, его установку на месте использования и постоянную связь между отдельными группами и пользователями. Группа сопровождения обеспечивает исправление ошибок и некоторые улучшения в фазе использования.

Все вышесказанное относится как к общему, так и к прикладному ПО. Прикладное ПО определяет разнообразие ИТ и состоит из отдельных ПП или пакетов, называемых приложениями. Некоторые приложения могут применять все пользователи, а применение других требует определенного уровня квалификации проектировщика.

Рассматривая стратегические проблемы создания корпоративных приложений, следует отметить, что чаще всего важен выбор не самого приложения, а той технологии, в соответствии с которой приложение создается, поскольку большая часть приложений создается силами сотрудников предприятия или же силами сторонней организации, но по конкретному техническому заданию для этого предприятия. Случаи использования готовых крупных приложений, настраиваемых на потребности данного предприятия, например SAPR/3, более редки по сравнению с созданием специальных приложений.

Специальные приложения часто модифицируются, добавляются, снимаются с работы, поэтому важно, чтобы технология их создания допускала быструю разработку (например, на основе объектного подхода) и быстрое внесение изменений при возникновении такой необходимости. Кроме того, важно, чтобы технология позволяла строить распределенные системы обработки информации, использующие все возможности современной корпоративной сети.

Технология Intranet удовлетворяет этим требованиям, являясь одновременно и самой перспективной технологией создания приложений. Однако и при выборе Intranet для создания корпоративных приложений остается немало проблем, которые можно отнести к стратегическим, так как существует несколько вариантов реализации этой технологии -- Microsoft, Sun, IBM, Netscape и др.

В конечном итоге свойства приложений определяют требования, предъявляемые к остальным слоям и подсистемам корпоративной сети. Объемы хранимой информации, их распределение по сети, тип и интенсивность трафика -- все эти параметры, влияющие на выбор СУБД, операционной системы и коммуникационного оборудования и т.п., являются следствием выбора приложений, работающих в сети.

Модели и алгоритмы, которые используются при функционировании АСУ. Управление любым объектом немыслимо без разработки модели, которая позволяет понять устройство оригинала, уточнить его состав, структуру, выявить основные свойства, понять законы, и взаимодействия составляющих элементов, их развитие во времени, а также взаимодействие с окружающей средой. Модель позволяет научится управлять объектом и выявить наилучшие способы управления им при заданных ограничениях для достижения поставленной цели. Варьируя внешними и внутренними факторами модели можно провести прогнозирование результатов управления строительства и реализовать оптимальные решения. Однозначная последовательность действий решения задачи называется алгоритмом. В процессе проектирования АСУ разработка алгоритма проходит несколько стадий – от самого общего описания, содержащего идею, замысел и т.д. до подробной его детализации. Начальную стадию разработки алгоритма часто называют структурной схемой решения задач. Они как правило содержат наиболее существенные блоки операций, действия и связи между ними. При решении задач на ЭВМ конечной стадией алгоритмизации является программа решения задачи в командах, выполняемых процессором. Программа и алгоритм – не одно и то же. Программа – алгоритм решения задачи, который может быть введен и реализован на ЭВМ. Для описания алгоритмов используются различные языки описания – алгоритмические языки, которые отличаются степенью детализации и классом описываемых задач. Алгоритмизация решения задач является важным этапом разработки АСУ. Этот этап тесно связан с этапом постановки задач. От того, как и на каком языке сформулирована задача, какова цель ее решения – во многом зависит алгоритм ее решения.

Наиболее часто под моделью понимается нечто подобное реальному объекту (его копия), обладающая теми, или иными сходными свойствами. Модель обычно заменяет реальный объект в тех случаях, когда это возможно и необходимо, или удобно. В условиях АСУ, основой функционирования которой является информация модели создаются для получения информации о свойствах и поведении реальных систем в определенных условиях, поэтому за основу принимается определение модели, как системы, исследование которой служит средством для получения информации о другой системе – оригинале. Кроме основного назначения модели, которое дано в определении к нему можно добавить 3 главных свойства, которые характерны для них:

1. Модель – представитель определенного оригинала

2. Модель охватывает не все свойства оригинала, а только те, которые существенны для исследователя

3. Модель однозначно соответствует оригиналу, однозначное соответствие устанавливается для определенных объектов внутри определенного промежутка времени.

Моделирование – это опосредственное практическое, или теоретическое исследование объекта, при котором непосредственно изучается не сам интересующий нас объект, а некоторое вспомогательная искусственная, или естественная модель, которая позволяет в результате ее исследования получить …

2 класса моделей:

1. Физические – представляют собой некоторую материально-физическую систему и отличаются от моделируемого оригинала размером и т.п.

2. Абстрактные – используются в АСУ, они создаются с помощью языковых, логических, математических средств описания и абстракции, поэтому они физического сходства с оригиналом не имеют, однако призваны содержать и порождать информацию оригинала.

Наиболее распространенные – математические модели.

1. Статические и динамические

2. Детерминированные и вероятностные

3. Непрерывные и дискретные

4. Модели исследования операций, игровые модели, модели массового обслуживания, имитационные модели.

Этапы создания модели, на основе которых разрабатывается алгоритм, а затем и программа – следующие:

1. Формулировка цели моделирования

2. Получение и сбор информации о структуре модели, взаимодействии между элементами системы

3. Формирование представления об объекте и условиях его функционирования

4. Математическое описание, которое включает математическую формализацию, создание математических моделей с учетом ее решаемости.

5. Методы решения математических отношений

6. Алгоритм решения

7. Решение и его анализ

8. Сопоставление полученных данных с реальными

9. Контроль результатов деятельности

10. Корректировка модели.

Наиболее часто используются модели исследования операций .

Исследование операции - это научная дисциплина, и занимается изучением способов

повышения эффективности функционирования систем в различных условиях.

1. Распределительные – задачи, связанные с оптимальным распределением ограниченных ресурсах (задачи о назначении, транспортные задачи).

2. Задачи управления запасами (минимизация сроков, частоты и т.п.)

3. Задачи замены оборудования – оптимизация срока службы оборудования, длительность его использования, время замены оборудования, выбор оптимального плана ремонта с целью уменьшения вероятности отказа.

4. Упорядочивание и согласование – упорядочивание последовательности выполнения работ в совокупности со средствами их выполнения для достижения минимального выполнения работ, минимизации сроков или стоимости, или расхода ресурсов при выполнении заданного комплекса работ.

5. Задачи выбора оптимальных режимов движения.

6. Задачи массового обслуживания.

7. Задачи поиска – минимизация затрат на поиск неисправностей и т.д.

При решении всех этих задач вначале требуется изучение реальной системы и составлении ее математической модели, применительно к выбранному математическому методу оптимизации. Затем математическая модель преобразуется к целевой функции, в явном виде, выражающей главный критерий оптимизации, а дальше устанавливаются необходимые ограничения по второстепенным критериям. Физический смысл целевой функции зависит от существа оптимизационной задачи. Целевая функция чаще всего представляет собой подлежащую максимизации прибыль, или минимизацию затрат.

Фигурирующие в математической модели ограничения представляют собой систему ограничений, который сужают ОДЗ. В число методов исследования операций обычно входят классические методы оптимизации: прямой перебор, дифференциальные и интегральные исчисления и т.д. Методы поиска – наискорейшего спуска и т.д. Методы поиска экстремума и методы различного программирования.

Методы теории игр .

Теория игр является математической теорией оптимального поведения в условиях конфликтной ситуации. Основная задача - это определение оптимальных стратегий

поведения участников.

Конфликт - определяется как наличие у элементов системы нескольких целей и

связанные с этим интересы в их поведении.

Конфликт разделяется на

антагонистический – когда два лица преследуют противоположные интересы, и

НЕ антагонистические – когда интересы хотя и разные, но не противоположны.

В каждой игре исследуются 3 вопроса:

1. В чем состоит оптимальное поведение игроков в каждой игре

2. Существуют ли соответствующие стратегии

3. Нахождение оптимальной стратегии

В результате решения вопросов определяется путь решения задачи и строится модель.

Имитационное моделирование

Структурное сходство, подражание оригиналу в большей степени, чем в предыдущих моделях.

В отличие от моделей исследования операций, которые преследуют экстремум – в рамках имитационной модели невозможно получит оптимальное решение. Обычно они (?) имеют блочную, иерархическую структуру.