Файл: История развития прикладного программного обеспечения (Классификация и характеристики программных средств ПК).pdf
Добавлен: 23.04.2023
Просмотров: 436
Скачиваний: 4
Проблемно-ориентированные ППП – это обширная группа пакетов программ, разработанных для автоматизации процессов решения различных функциональных задач в различных сферах деятельности. Практически нет ни одной предметной области, для которой не существует хотя бы одного ППП. Примерами проблемно-ориентированных пакетов могут служить пакеты, предназначенные для реализации информационных технологий обработки данных в конкретных областях экономики:
- в бухгалтерской области – это программы автоматизации бухгалтерского учёта «1С: Бухгалтерия», «Парус», «Интеллект-Сервис» и др.;
- в банковской деятельности – это программные продукты, предлагаемые фирмами «Диасофт», «Инверсия», «R-Style»;
- информационно-справочные системы, такие, как «Консультант Плюс», «Гарант», «Юсис» и др.
Глава 2. Этапы развития программного обеспечения
Стремление расширить возможности ЭВМ и повысить эффективность их использования привело к созданию программного обеспечения (ПО). Эволюция вычислительных машин тесно связана с развитием их программного обеспечения. В истории развития программного обеспечения можно выделить следующие поколения:
- Первое поколение – зарождение ПО.
- Второе поколение – развитие ПО: использование алгоритмических языков и библиотек стандартных программ.
- Третье поколение – широкое использование ПО, появление развитых операционных систем.
- Четвертое поколение – ПО, дающее возможность коллективного использования ЭВМ.
2.1. Первое поколение
ЭВМ первого поколения реализовывали последовательный принцип действия, обладали относительно невысокой скоростью, и программист был в состоянии достаточно полно использовать их вычислительные возможности. Программист был единственной фигурой, имевшей контакт с ЭВМ, знал все тонкости работы с аппаратурой и вел отладку своих программ непосредственно с пульта машины. Квалификация математика-программиста сопутствовала умению быстро находить и исправлять ошибки в программах, хорошо ориентироваться за пультом ЭВМ.
На первом этапе программное обеспечение было тесно связано с машинным языком. Из-за большой трудоемкости процесса программирования на машинном языке редко удавалось написать программу без ошибок. Поэтому уходило много времени на отладку написанной программы, которая велась вручную за пультом машины. В процессе накопления программ появилась возможность ускорить написание новых программ, благодаря включению в них фрагментов ранее разработанных и реализующих необходимые функции. Развитие этой идеи привело к появлению наборов стандартных программ и правил пользования ими.
Чтобы автоматизировать работу по включению стандартных программ в программу пользователя, были созданы компилирующие и интерпретирующие программы. Компилирующая программа (система) работает однократно при вводе в память основной программы. При этом, в нужных местах вызываются соответствующие стандартные программы и вставляются в общую программу вычислений. Интерпретирующая программа работает всякий раз, когда возникает необходимость обращения к стандартной программе. Существовали и смешанные программы, использующие принципы компиляции и интерпретации.
Чтобы программы, записанные на машинном языке, имели большую наглядность, было создано символическое кодирование. Затем функции символического кодирования были расширены за счет того, что в адресной части символической записи были допущены выражения – макрокоманды. Так, постепенно, входные языки стали не чисто машинными, а машинно-ориентированными. Однако в основе этих языков продолжала оставаться система команд какой-либо конкретной ЭВМ. Специальные программы-трансляторы переводили программы с символического языка в систему команд машины. Таким образом, первое поколение программного обеспечения характеризуется программированием на языке машины с использованием стандартных программ, компилирующих и интерпретирующих систем, символического программирования, макрокоманд и ручного режима отладки.
Стандартные программы и системы их использования, появившиеся на первом этапе развития ПО, до сих пор не утратили своего назначения. К концу первого поколения в цепочке ЭВМ-программист появилась фигура оператора, выполняющего посреднические функции при отладке программ. На оператора легли обязанности по учету заданий программистов, по подбору исходных материалов для программы, по установке требуемых машинных носителей, по прогону программы и передаче результатов решения для последующего анализа.
2.2. Второе поколение
Переход к ЭВМ второго поколения сопровождался частичным отходом от последовательного принципа действия ЭВМ. Появление более быстрой оперативной памяти и центрального обрабатываемого устройства сделало экономически целесообразным совместить во времени процесс вычислений и операции обмена информацией с относительно медленно действующими внешними устройствами.
Стиль использования ЭВМ второго поколения характерен тем, что математик-программист не допускается в машинный вал. Программа, написанная программистом, попадает в группу обслуживания, которая занимается дальнейшей обработкой: перфорированием и пуском на машине. Для создания более эффективных результатов этого процесса, программисту предоставляются средства автономной отладки и средства управления режимом решения задачи.
Опыт использования машин первого поколения сделал очевидной несоответствие между временем, в которое ЭВМ занята вычислением, и временем, когда она используется для отладки. Из-за этого потребовалось искать пути решения возникающих в этой области проблем. Формулы решения были найдены в создании специальных программ, которые позволили возложить на компьютер часть функций по организации и управление вычислительным процессом. В функции этих программ входило :
- Прием и подготовка к выполнению на ЭВМ потока соответствующим образом оформленных заданий на работу, выделение им необходимых ресурсов, планирование их выполнения, загрузка в память, информирование оператора о ходе вычислительного процесса и выполнение его указаний, если возникнет необходимость или оказывается желательным его вмешательство в процесс.
- Организация одновременного выполнения нескольких задач. Порядок выполнения их определяется принятой системой приоритетов. Такая организация работ способствует более полной загрузке ресурсов машины и повышает ее общую пропускную способность, выраженную в количестве задач на единицу времени.
- Организация обмена с внешними устройствами вычислительной системы. Рост номенклатуры внешних устройств, многообразие правил обращения к ним за данными, а также асинхронное выполнение ввода-вывода и процесса вычислений существенно усложнили написание программ обмена на физическом уровне. Развитая система управления данными предоставляет возможность программисту описывать обмен на логическом уровне, и сама формирует необходимые физические программы ввода-вывода в соответствии с указаниями программиста.
- Выполнение вспомогательных работ, облегчающих реализацию различных этапов вычислительного процесса.
В это время начали интенсивно развиваться языки программирования, развитие получили языки программирования, ориентированные на определенные классы задач, а не на особенности ЭВМ. Перевод записи алгоритма с такого языка на язык конкретной машины выполняет специальная программа-транслятор. На этом этапе было создано множество систем программирования на базе машинно-ориентированных, процедурно-ориентированных, универсальных и специальных языков.
В целом, для машин первого и второго поколений было характерно накопление и предоставление пользователям разрозненных наборов программ. Низкая надежность оборудования и малые объемы запоминающих устройств ставили очень жесткие рамки для развития программного обеспечения и особенно для создания сложных взаимозависимым систем, комплексно решающих задачу обеспечения работы компьютера. Те же принципы препятствовали и применению ЭВМ для достаточно полной автоматизации процессов обработки информации, оперирующих с большими наборами данных.
Прогресс в технологии, существенное повышение надежности оборудования, рост объемов оперативной памяти и появление более быстродействующих и емких запоминающих устройств – магнитных дисков – создали условия, в которых оказалось возможным комплексное решение вопросов организации работы ЭВМ. Что исключило остановки при переходах от одного этапа решения задач к другому, либо при смене задачи, практически устранило ручные действия и обеспечило высокий коэффициент использования оборудования. Характер накопленного к этому времени программного обеспечения создавал серьезные трудности для реализации такого комплексного подхода. Каждая часть создавалась отдельно, без учета взаимодействия с другими частями, что привело к сложностям при установлении связей между разными частями программного обеспечения.
2.3. Третье поколение
При попытках свести разные программные обеспечения в единую систему, с помощью создания связующих программ, стало понятно, что решение проблем таким образом не появится. Появилась идея создания общего программного комплекса, вскоре такие программы получили название — операционные системы (ОС). Операционная система — это совокупность программ для управления оборудованием, данными, вычислительным процессом и связи оператора с машиной. То есть, это организованный набор программ и данных, разработанный специально для управления ресурсами вычислительной системы облегчения создания программ и управления процессом их выполнения с помощью вычислительной системы.
Эволюция программного обеспечения компьютера привела к созданию операционных систем, которые предоставляют обычному пользователю широкий ряд разнообразных функций, при этом ОС не позволяет работать на прямую с компьютером. Пользователь уже работает не просто на компьютере, а в вычислительной среде «ЭВМ – операционная система». Операционная система представляет собой программное продолжение устройств управления.
Программное обеспечение машин второго поколения содержало 350-400 тысяч команд, а только дисковая операционная система для ЕС ЭВМ содержала порядка 1 млн. команд. В 1975 г. закончена разработка операционной системы ОС – 4.0, позволяющей подключать к ЭВМ и обслуживать многих абонентов, оснащенных алфавитно-цифровыми графическими дисплеями. В 1976 году операционные системы содержали программы, общий объем которых превышает миллион машинных слов.
Операционная система позволяет использовать наиболее распространенные языки программирования того времени: фортран, Алгол-60, Кобол, ПЛ/1, РПГ. Для каждого из них создаются трансляторы и библиотеки стандартных программ. Использование названных языков и трансляторов открывает доступ к ЭВМ непрофессиональным пользователям. Трансляторы подробно сообщают об ошибках, обнаруженных как в процессе трансляции, так и при выполнении оттранслированных программ. Они имеют также развитые средства отладки. Кроме языков высокого уровня, операционная система позволяет применять машинно-ориентированный язык Ассемблер со средствами макроязыка, а также системные макрокоманды и макрокоманды пользователя.
Программное обеспечение ЭВМ строится открытым, т.е. его состав может постоянно расширятся, включать новые компоненты (модули), обеспечивающие развитие технических средств, методов обработки информации и расширение сфер применения. Все это послужило для дальнейшего развития и расширения возможностей программного обеспечения
Можно составить вывод, что в ту пору машины из устройства обработки информации, причем заранее введённой, превращаются в автомат, работающий в различных ситуациях, которые возникли во внешней среде. Благодаря этой трансформации появились специальные программы, которые работают с событиями внешней среды, а также обрабатывают задачи, появившиеся в машине. Операционной системе были назначены функции управления решения задач, организация ввода-вывода, обработка данных. В отличие от ЭВМ первых поколений более поздние машины выпускаются уже не в виде отдельной вычислительной установки, а создаются семейства моделей разной конфигурации и производительности, снабженные соответствующей операционной системой.
2.4. Четвертое поколение
Этапы эволюции взаимоотношения «человек-машина» представляются следующими: от прямого использования ЭВМ одним программистом, в распоряжении которого представлены все ресурсы машины, – через мультипрограммирование, когда программист полностью отстранен от машины, – к системам разделения времени и разговорному режиму, когда много программистов, сидя за своими индивидуальными пультами, управляют ходом решения своих задач независимо друг от друга и одновременно используют мощности ЭВМ.
Возможности компьютеров четвертого поколения позволяют значительно расширить состав программного обеспечения и перейти к программному обеспечению, позволяющему отказаться от традиционного программирования и организовать работу с машиной в форме диалога между пользователем и ЭВМ. Что предоставляет возможность увеличить область решаемых задач, включив в него проектирование предприятий, технологических линий больших систем. При этом результаты решения выдаются в виде комплектов чертежей, технологических карт, инструкций и описаний.