Лекция Программное обеспечение ЭВМ. Классификация и развитие

Вид материалаЛекция

Содержание


Междупрограммный интерфейс
Классификация служебных программных средств
Средства сжатия данных
Программы инсталляции
Средства коммуникации
Средства просмотра и воспроизведения
Средства компьютерной безопасности
Классификация прикладного программного обеспечения
2. Текстовые процессоры
Векторные редакторы
Редакторы трехмерной графики
4. Системы управления базами данных
5. Электронные таблицы
6. Системы автоматизированного проектирования
7. Настольные издательские системы.
8. Редакторы HTML
10. Системы автоматизированного перевода
Программы автоматического перевода целесообразно использовать
12. Бухгалтерские системы
13. Финансовые аналитические системы
...
Полное содержание
Подобный материал:
Лекция 4. Программное обеспечение ЭВМ.
Классификация и развитие.


Программное обеспечение ЭВМ (ПО), его основные характеристики. Классификация ПО. История развития ПО. Взаимосвязь ПО и аппаратных средств ЭВМ. Современные тенденции развития ПО.


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

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

Прикладной уровень

Служебный уровень

Системный уровень

Базовый уровень

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

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

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

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

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

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

Классификация служебных программных средств


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

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

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

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

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

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

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

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


Классификация прикладного программного обеспечения


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

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

3. Графические редакторы. Широкий класс программ, предназначенных для создания и обработки графических изображений. Различают три категории:
  • растровые редакторы;
  • векторные редакторы;
  • 3-D редакторы (трехмерная графика).

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

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

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

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

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

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

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

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

Особенность CAD-систем состоит в автоматическом обеспечении на всех этапах проектирования технических условий, норм и правил. САПР являются необходимым компонентом для гибких производственных систем (ГВС) и автоматизированных систем управления технологическими процессами (АСУ ТП).

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

8. Редакторы HTML (Web-редакторы). Особый класс редакторов, объединяющих в себе возможности текстовых и графических редакторов. Предназначены для создания и редактирования Web-страниц Интернета. Программы этого класса можно использовать при подготовке электронных документов и мультимедийних изданий.

9. Браузеры (средства просмотра Web-документов). Программные средства предназначены для просмотра электронных документов, созданных в формате HTML. Восроизводят, кроме текста и графики, музыку, человеческий язык, радиопередачи, видеоконференции и разрешают работать с электронной почтой.

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

Программы автоматического перевода целесообразно использовать:

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

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

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

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

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

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

15. Геоинформационные системы (ГИС). Предназначены для автоматизации картографических и геодезических работ на основе информации, полученной топографическим или аэрографическими методами.

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

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

Трансляторы бывают двух типов:

  • интерпретаторы,
  • компиляторы.

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

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

Инструментальные языки делятся на языки низкого уровня (близкие к машинному языку) и языки высокого уровня (близкие к человеческим языкам). К языкам низкого уровня принадлежат ассемблеры, а высокого - Pascal, Basic, C/C++, языки баз данных и т.д. В систему программирования, кроме транслятора, входит текстовый редактор, компоновщик, библиотека стандартных программ, отладчик, визуальные средства автоматизации программирования. Примерами таких систем являются Delphi, Visual Basic, Visual C++, Visual FoxPro и др.

Лицензия (License) или условия использования программ. От латинского Licentia разрешение, право. ПО защищено от несанкционированного использования законами об авторских правах. Законы предусматривают сохранение за автором ПО нескольких исключительных прав, одно из которых — право на производство копий ПО. Т.о. лицензия - официальный документ (разрешение), выдаваемое одним лицом другому, в которой излагаются обязанности сторон по использованию данного программного обеспечения. Стандартные лицензии, как правило, запрещают передавать ПО во временное пользование, прокат, сдавать в аренду.

Всего имеется более 30 разных типов лицензии, вот пять самых распространенных в России:

Freeware полнофункциональное ПО, распространяется бесплатно с согласия авторов. По смыслу к этой лицензии близко и GNU;

ShareWare условно-бесплатное ПО, где авторы ограничивают его функции либо временем бесплатной работы (напр. 30 дней от даты первого включения), либо блокировкой части функций. Полнофункциональным становится после оплаты;

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

Demo version специальная бесплатная версия ПО, демонстрирующая работу программы или ее прототипа. Все главные функции программы заблокированы или убраны. Может свободно копироваться и дариться;

Commercial License платное (коммерческое) полнофункциональное ПО, без права копирования, дарения и модернизации. Действительно для количества ПК, указанных в лиценции.

Бесплатная лицензия. В середине 80-х легендарный программист Ричард Столмен основал GPL или проект GNU (Gnu Not Unix). Его целью было создание совершенно открытой OS с доступными исходными кодами, а также всех необходимых для нормальной работы приложений. И не только полностью открытых, но и с гарантией, что эти программы будут открытыми и доступными на все времена. Столмен вместе с первыми версиями своих программ разработал особое лицензионное соглашение, GNU GPL (General Public Licence). Это соглашение гарантирует, что автор программы разрешает как угодно использовать свою программу, дополнять, изменять ее, но требует всегда публиковать исходный код программы и сделанных изменений.

Существуют четыре разновидности свободы пользователей программы:
  • Свобода запускать программу в любых целях (свобода N1);
  • Свобода изучения работы программы и адаптация ее к вашим нуждам (свобода N2). Доступ к исходным текстам является необходимым условием;
  • Свобода распространять копии, так что вы можете помочь вашему товарищу (свобода N3);
  • Свобода улучшать программу и публиковать ваши улучшения, так что все общество выиграет от этого (свобода N4). Доступ к исходным текстам является необходимым условием; Но с Вас могут взять деньги за копирование программы на CD, за поддержку, за FAQ-ки. При дальнейшем распространении программы Вы не вправе вводить ограничения на свободу других.


История MS-DOS

Далеко не сразу операционные системы стали необходимыми компонентами персональных компьютеров. Первые восьмиразрядные модели 70-80-х годов содержали все необходимые средства для взаимодействия с пользователем в составе системного ПЗУ. Обычно это был интерпретатор Бейсик или другого языка, командами которого компьютер и управлялся. Теми же средствами выполнялось и управление загрузкой программ с внешнего носителя. Ни о какой многозадачности в таких системах не могло быть и речи.

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

В октябре 1980 г. менеджеры фирмы IBM занялись поисками OS для своего 16-разрядного PC, находящегося в стадии разработки. В тот период на ПЭВМ наиболее широко применялась OS CP/M (Control Program for MicroComputers) фирмы Digital Research. Не достигнув приемлимых соглашений с Digital Research фирма IBM обратилась к фирме Microsoft (Билл Гейтс).

В тот моменту Microsoft не было соответствующей OS, но ей была известна небольшая фирма (Seattle Computer Products), которая имела такую OS. За 50000$ Билл Гейтс приобрел права на эту OS. В дальнейшем эта OS послужила основой для MS DOS. В ноябре 1980 года Microsoft и IBM подписали договор на разработку OS для IBM PC.

В феврале 1981 г. появилась первая версия PC/MS-DOS, которая работала на IBM PC, в августе 1981 г. - PC DOS 1.0 (эта версия была утверждена для применения на IBM PC).

Система MS-DOS 1.0 полностью содержалась в ПЗУ компьютера и позволяла переключать режимы экрана, вызывать редактор и интерпретатор Бейсик, обслуживать внешние порты и, в частности, управлять работой внешнего дисковода. Поддерживался только односторонний формат дискет с объемом памяти 160 Кб (8 секторов,40 дорожек, размер сектора 512 байт).

Первое расширение рабочего пространства MS-DOS пришло с MS-DOS I.I, которая вышла в мае 1982 г. и поддерживала двусторонние гибкие магнитные диски, что позволило довести объем информации на носителе до 360 Кбайт.

В марте 1983 г. одновременно с выпуском новой модели компьютера IBM (PC XT) вышла и новая версия операционной системы — MS-DOS 2.0. Эта версия принципиально отличалась от предыдущей, и многие ее черты сохранились до наших дней. MS-DOS 2.0 поддерживала жесткие диски размером до 10 Мбайт и впервые ввела понятие файловой структуры. Та концепция вложенных каталогов, с которой мы работаем и сегодня, впервые была введена именно в этой версии операционной системы.

Следующая версия операционной системы (MS-DOS 3.0, август 1984 г.) расширила обслуживаемое рабочее пространство жестких дисков до 20 Мбайт и дала возможность работы с гибкими дисками высокой плотности (1,2 Мбайт), а версия MS-DOS 3.2 (январь 1986 г.) добавила поддержку гибких дисков диаметром 3,5 дюйма (720 Кбайт).

Несмотря на свой номер, скорее революционной, чем эволюционной, стала версия MS-DOS 3.3 (август 1987 г.), работа с которой у большинства пользователей продолжалась наиболее долго. Многие миновали версию MS-DOS 4.0 и перешли от MS-DOS 3.3 к MS-DOS 5.0 или сразу в операционную среду Windows. Основным достижением MS-DOS 3.3 стала возможность разбиения жестких дисков на логические разделы размером до 32 Мбайт, а также поддержка гибких дисков 3,5 дюйма высокой плотности (1,44 Мбайт).

Версия MS-DOS 4.0 (май 1988 г.) осталась почти незамеченной, хотя и ввела заметные новшества: псевдографический интерфейс DOSSHELL с возможностью управления мышью и поддержку жестких дисков размером более 32 Мбайт. По-видимому, отсутствие шумного успеха этой версии связано с тем, что к этому времени пользователи MS-DOS уже не нуждались в псевдографическом интерфейсе. Те, кому он был нужен, с успехом пользовались оболочковыми программами третьих фирм (например, Norton Commander) и не собирались от них отказываться. Многие же к этому времени уже перешли на работу с операционной средой Windows 2.0, и для них псевдографический интерфейс был бы шагом назад. Вместе с тем, четвертая версия MS-DOS стала по-своему знаменательной. В апреле 1989 г. компания Microsoft впервые выпустила локализованную версию для России — ею стала версия MS-DOS 4.01.

Значительно большие удобства пользователи получили в версии MS-DOS 5.0 (июнь 1991 г.), в которую вошел долгожданный полноэкранный редактор (EDIT) и не менее долгожданные средства восстановления информации (утилиты UNDELETE и UNFORMAT). Древнюю версию стандартного Бейсика GW-BASIC наконец-то сменил более современный вариант QBASIC (облегченная версия языка Microsoft QuickBasic). Но самым важным достижением стала возможность выноса ядра операционной системы за пределы стандартной памяти компьютера в первые 64 Кбайт расширенной памяти. Начиная с этой версии у пользователей появилась возможность эксплуатировать программы, использующие область стандартной памяти почти до верхнего предела (этим особенно отличались компьютерные игры тех лет).

Шестая версия MS-DOS (MS-DOS 6.0), вышедшая в январе 1993 г., явилась ответом на широкое распространение дисководов CD-ROM — расширение сферы действия операционной системы продолжалось. Особенностью этой версии стало также появление специального средства создания уплотненных жестких дисков — DBLSPACE (до этого пользователи применяли программу STACKER компании Stac Electronics). Патентные нарушения, обнаруженные в программе DBLSPACE, привели к выпуску версии MS-DOS 6.1, не имеющей средств для уплотнения дисков, а после урегулирования разногласий с компанией Stac Electronics — к возврату DBLSPACE в версии MS-DOS 6.2 и к замене DBLSPACE программой DRVSPACE в версии MS-DOS 6.22.

Из прочих достижений MS-DOS 6.0, повысивших эффективность и удобство работы с компьютером, надо отметить появление программ MEMMAKER (оптимизатор оперативной памяти, упростивший проблемы «обживания» области расширенного ОЗУ программами DOS) и SMARTDRV (резидентная программа, кэширующая операции с жестким диском или дисководом CD-ROM).

На этом история MS-DOS закончилась: в сентябре 1995 г. ей на смену пришла графическая операционная система Windows 95. Правда, «за кадром» MS-DOS по-прежнему работает и в Windows 95, и в Windows 98, по крайней мере, в первые секунды после включения питания компьютера.


История Windows

К работе над графической средой для персональных компьютеров IBM PC компания Microsoft приступила еще в далеком 1981 г. сразу после выпуска операционной системы MS-DOS 1.0. Тогда трудно было представить, что пройдет почти полтора десятка лет, пока графическая среда станет полноценной операционной системой.

Первый этап работы завершился к апрелю 1983 г., когда на закрытом совещании с менеджерами компании IBM была представлена программа Interface Manager. Программа демонстрировала одновременное наличие на экране нескольких перекрывающихся окон, в каждом из которых было запущено отдельное приложение. Экранный интерфейс производил впечатление одновременной работы нескольких программ, но не вдохновил представителей IBM. В последующие годы им еще дважды демонстрировалась новая среда (октябрь 1983 г. и ноябрь 1984 г.), но одобрения так и не последовало. Тем не менее в июне 1985 г. проект Interface Manager вышел в свет, но под названием Windows 1.0, а уже в июле компания Micrografx выпустила первое в мире графическое приложение Windows — программу InAVision.

Несмотря на общую неудачу первой версии, не нашедшей поддержки ни у пользователей, ни у разработчиков программного обеспечения, компания Microsoft продолжила работу над проектом, и в апреле 1987 г. была объявлена, а в октябре вышла в свет версия Windows 2.0. В ноябре того же года для нее выпущена первая версия программы Microsoft Excel. Сегодня многие считают версию Windows 2.0 столь же неудачной, как и Windows 1.0, но всего за полгода был продан первый миллион копий этой программы, а в те времена это был успех. Для Windows 2.0 был разработан ряд текстовых процессоров, в том числе Word 1.0 for Windows. Версия Windows/286 предоставила пользователям удобную возможность использования расширенной памяти, а версия Windows/386 впервые реализовала многозадачность (до этого допускалось лишь переключение между задачами, но не одновременное выполнение).

Версии Windows 2.0 заинтересовали производителей программного обеспечения, поэтому, когда в мае 1990 года вышла в свет Windows 3.0, ведущие производители программ с готовностью заявили о поддержке новой среды. Windows 3.0 понравилась и пользователям, которые благодаря ей смогли более эффективно использовать как мощь новых процессоров 80386 и передовых 80486, так и увеличенные размеры оперативной памяти.

Windows 3.0 имела не только полноценный графический интерфейс и многозадачность. Ее главным достоинством стал Диспетчер программ (Program Manager), который позволил перейти на управление компьютером с помощью мыши. Невидимым для пользователя, но неоценимым для производителей оборудования и программ стало посредничество Windows между аппаратным и программным обеспечением за счет регистрации драйверов устройств в системных файлах. Тем не менее надежность работы Windows 3.0 все-таки была недостаточной.

Этапы развития Пакетов Прикладных Программ

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

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

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

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

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

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

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

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

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

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

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

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