Программное обеспечение ЭВМ
Вид материала | Документы |
- Лекция Программное обеспечение ЭВМ. Классификация и развитие, 218.8kb.
- Рабочая программа по дисциплине: «Программное обеспечение сетей эвм» Для специальности, 72.13kb.
- «Программное обеспечение ЭВМ и информационные технологии» мгту им. Н. Э. Баумана, 188.85kb.
- Осрб 1-40 02 01-2007, 741.74kb.
- «Оператор эвм», 93.31kb.
- Программа дисциплины программное обеспечение ЭВМ дпп. Ф. 15 Для специальности 050202., 270.55kb.
- Лекция Соболевой, 999.06kb.
- Лекция Соболевой, 659.2kb.
- Курсовой проект по дисциплине «Структуры и организация данных в эвм» Тема, 154.84kb.
- Пояснительная записка к предмету: программное обеспечение ЭВМ, 720.37kb.
Программное обеспечение ЭВМ
Согласно принципам ДЖ Фон Неймана, ЭВМ работает под управлением программ, без вмешательства человека. Следовательно, для хорошей работы ЭВМ необходимо и хорошее программное обеспечение, которое создается специально обученными людьми - высокопрофессиональными программистами. Программное обеспечение развивается параллельно с развитием вычислительных средств.
Программы для первых ЭВМ приходилось писать на машинном языке (понятном машине). Это была очень тяжелая, малопроизводительная работа, в ходе которой можно было весьма легко ошибиться.
Для облегчения процесса программирования в начале 50-х годов были разработаны системы, позволяющие писать программы не на машинном языке, а с использованием мнемонических обозначений команд, имен точек программы и т.д (например, сложение - это SUB). Такой язык для написания программ называется автокодом, или языком ассемблера. Т.к. разные типы процессоров имеют разные системы команд, то и программы, написанные на машинном языке, или языке ассемблера, ориентированы на конкретный тип процессора. С этой точки зрения эти языки называются языками низкого уровня. С помощью языков низкого уровня создаются очень эффективные и компактные программы, т.к. разработчик получает доступ ко всем возможностям процессора. С другой стороны, при этом требуется очень хорошо понимать устройство компьютера, программа не может быть перенесена на компьютер с другим типом процессора. Подобные языки обычно применяют для написания небольших системных приложений, драйверов устройств, модулей стыковки с нестандартным оборудованием и др. Однако написание программ на языке ассемблера все-таки трудоемко. Поэтому и после появления ассемблеров многие исследователи продолжали попытки облегчить процесс написания программ. Так были созданы языки программирования высокого уровня. Эти языки значительно ближе и понятнее человеку, нежели компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому создаваемые программы на уровне исходных текстов легко переносимы на другие платформы, для которых создан транслятор этого языка. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, а ошибок при создании программ допускается гораздо меньше.
Сегодня практически все программы создаются с помощью языков программирования. Языки программирования – искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов). Совокупность подобных требований образует синтаксис языка программирования, а смысл каждой команды и других конструкций языка – его семантику. Нарушение формы записи программы приводит к тому, что транслятор не может понять назначение оператора и выдает сообщение о синтаксической ошибке, а правильно написанное, но не отвечающее алгоритму использования команд языка приводит к семантическим ошибкам (называемые еще логическими ошибками или ошибками времени выполнения). Процесс поиска ошибок в программе называется тестированием, процесс устранения ошибок - отладкой.
С помощью языка программирования создается не готовая программа, а только ее текст, описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, надо этот текст либо автоматически перевести в машинный код (для этого служат программы-компиляторы) и затем использовать отдельно от исходного текста, либо сразу выполнять команды языка, указанные в тексте программы (этим занимаются программы-интерпретаторы).
Языки программирования принято делить на пять поколений. В первое поколение входят языки, созданные в начале 50-х годов прошлого столетия, когда первые компьютеры только появились на свет. Это был первый язык ассемблера, созданный по принципу «одна инструкция – одна строка».
Второе поколение языков программирования (конец 50-х – начало 60-х) связывают с разработкой символического ассемблера, в котором появилось понятие переменной, при этом заметно возросли скорость разработки и надежность программ.
Третье поколение (60-е) годы – это создание универсальных языков высокого уровня, с их помощью удается решать задачи из любых областей. Относительная простота, независимость от конкретного компьютера, возможность использования мощных синтаксических конструкций позволили резко повысить производительность труда программистов. Понятная большинству пользователей структура этих языков привлекла к написанию небольших программ (как правило, инженерного или экономического характера) значительное число специалистов из некомпьютерных областей.
С начала 70-х по настоящее время продолжается период языков четвертого поколения. Эти языки предназначены для реализации крупных проектов. Они обычно ориентированы на специализированные области применения, где хороших результатов можно добиться, используя не универсальные, а проблемно-ориентированные языки, оперирующие конкретными понятиями узкой предметной области. Как правило, в эти языки встраиваются мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой на языках младших поколений потребовались бы тысячи строк исходного кода.
Рождение языков пятого поколения произошло в середине 90-х годов. К ним относятся также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главное в этих языках – возможность автоматического формирования результирующего текста программы на универсальных языках программирования (который потом требуется откомпилировать). Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, незнакомого с программированием.
Обзор языков программирования высокого уровня.
Fortran(Фортран). Это первый коммерчески используемый язык программирования высокого уровня Фортран был разработан в 1958 году в фирме IBM под руководством Джона Бэкуса. Этот язык был предназначен, прежде всего, для научных вычислений. Для этого языка было создано огромное количество библиотек, начиная от статистических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает активно использоваться во многих организациях, а сейчас ведутся работы над очередным стандартом языка Фортран.
Cobol(Кобол). Это компилируемый язык для применения в экономической области и решения бизнес - задач, разработанный в начале 60-х годов. Он отличается большой «многословностью» – его операторы иногда выглядят как обычные английские фразы. На этом языке создано очень много приложений, которые активно эксплуатируются и сегодня. Достаточно сказать, что наибольшую зарплату в США получают программисты на Коболе.
Algol(Алгол). Компилируемый язык, созданный в 1960 году. Он был призван заменить Фортран, но из-за более сложной структуры не получил широкого распространения и сошел «со сцены».
Pascal(Паскаль). Создан в конце 70-х годов основоположником множества идей современного программирования Никлаусом Виртом, во многом напоминает Алгол, но в нем ужесточен ряд требований к структуре программы. Был создан как язык для обучения программированию. Не нашел широкого практического применения.
Basic(Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в качестве учебного языка и очень прост в изучении.
С(Си). Был изобретен в 1972 году Денисом Ричи для использования при написании весьма ныне популярной операционной системы Unix. Язык Си соединяет свойства языка высокого уровня с возможностью эффективного использования ресурсов компьютера. Данный язык первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора. Си во многом похож на Паскаль и имеет дополнительные средства для прямой работы с памятью (указатели). Си не очень прост в обучении и требует тщательности в программировании, но позволяет писать сложные и весьма высокоэффективные программы.
С++(Си++). Это объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость, в результате чего создание сложных и надежных программ потребовало от разработчиков высокого уровня профессиональной подготовки.
Java ( Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе Cи++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность языка – компиляция не в машинный код, а в платформно-независимый байт-код (каждая команда занимает один байт). Этот байт-код может выполняться с помощью интерпретатора – виртуальной Java- машины JVM(Java Virtual Machine), версии которой созданы для любых платформ. Благодаря наличию множества Java- машин программы на Java можно переносить не только на уровне исходных текстов, но и на уровне двоичного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место в мире после Бейсика. Пока основной недостаток этого языка – невысокое быстродействие, т.к. язык Ява интерпретируемый.
Языки программирования баз данных. Первые базы данных появились очень давно, как только появилась потребность в обработке больших массивов информации и выборки групп записей по определенным признакам. Для этого был создан структурированный язык запросов SQL. Для управления большими базами данных и их эффективной обработки разработаны СУБД. Практически в каждой СУБД помимо поддержки языка SQL имеется также свой уникальный язык, ориентированный на особенности этой СУБД и не переносимый на другие системы. Сегодня в мире насчитывается пять ведущих производителей СУБД: Microsoft (SQL Server), IBM(DB2), Oracle, Software AG (Adabas), Informix и Sybase. Их продукты нацелены на поддержку одновременной работы тысяч пользователей в сети, а базы данных могут храниться в распределенном виде на нескольких серверах. С появлением персональных компьютеров были созданы так называемые настольные СУБД. Родоначальником современных языков программирования баз данных для ПК принято считать СУБД dBase||, язык которой был интерпретируемым. Затем для него были созданы компиляторы, появились СУБД FoxPro и Clipper, поддерживающие диалекты этого языка. Сегодня похожие, но несовместимые версии языков семейства dBase, реализованы в продуктах Visual FoxPro фирмы Microsoft и Visual dBase фирмы Inprise.
Языки программирования для Интернета. С активным развитием глобальной сети было создано немало реализаций популярных языков программирования, адаптированных специально для Интернета. Все они отличаются характерными особенностями: языки являются интерпретируемыми, интерпретаторы для них распространяются бесплатно, а сами программы в исходных текстах. Такие языки называются скрипт-языками. HTML - общеизвестный язык для оформления документов. Он очень прост и содержит элементарные команды форматирования текста, добавления рисунков, задания шрифтов и цветов, организации ссылок и таблиц. Все Web-страницы написаны на языке HTML или используют его расширения. Также к языкам программирования для Интернет относятся языки Perl, Tcl/Tk, VRML.
Прочие языки программирования. PL/1(ПЛ/1)-в середине 60-х годов компания IBM решила взять все лучшее из языков Фортран, Кобол и Алгол. В результате в 1964 г. на свет появился новый компилируемый язык программирования, который получил название Programming Language One. По своим возможностям ПЛ/1 значительно мощнее многих других языков (Си, Паскаля). Этот язык и сегодня продолжает поддерживаться компанией IBM.Можно также перечислить языки – Smalltalk(Смолток), LISP(Лисп), Prolog(Пролог), Ada(Ада), Forth(Форт).
Программы, работающие на компьютере, можно разделить на три категории:
- Системные программы
- Прикладные программы
- Инструментальные системы (системы программирования), обеспечивающие создание новых программ для компьютера.
Понятно, что грани между указанными тремя классами программ весьма условны.
Системные программы.
Число всех разновидностей системных программ очень велико. Перечислим основные из них:
- операционные системы;
- программы-драйверы;
- обслуживающие программы.
Операционные системы. Среди всех системных программ операционная система занимает особое место. Основные функции ОС – 1) посредническая (интерфейс пользователя, аппаратно-программный интерфейс, программный интерфейс), 2) обеспечивает свой автоматический запуск, 3)организует работу файловой системы, 4) обслуживает файловую структуру диска, 5) управляет исполнением, установкой и удалением приложений, 6) обеспечивает взаимодействия с аппаратной конфигурацией (через драйвера) и др.
Программы-драйвера. Они расширяют возможности ОС по управлению устройствами ввода-вывода компьютера. Также с помощью драйверов возможно подключение к компьютеру новых устройств или нестандартное использование имеющихся устройств.
Обслуживающие программы. Здесь можно выделить следующие виды программ:
а) программы для сохранения информации;
б) обслуживающие программы для работы с диском.
Программы для сохранения информации – программы-архиваторы, антивирусные программы и программы, позволяющие восстановить удаленную информацию.
Программы – архиваторы. Цель архивации - при эксплуатации компьютера возможна потеря информации (физическая порча магнитного диска, случайное уничтожение файлов, компьютерный вирус), поэтому желательно иметь архивные копии используемых файлов и систематически обновлять копии изменяемых файлов. Для создания архивных копий специально разработаны программы-архиваторы. С их помощью вся сохраняемая информация в сжатом виде помещается в один архивный файл, из которого она при необходимости всегда может быть восстановлена в первоначальном виде. Техника сжатия данных основана на замене повторяющихся последовательностей байтов более короткими кодами и на составлении таблицы соответствия, используемой для восстановления данных в первоначальном виде. Таким образом, если не вдаваться в подробности, архив логически делится на два компонента - таблицу соответствия и собственно сжатые данные. Дополнительный выигрыш по памяти достигается благодаря устранению пустот в «хвостах» кластеров сжимаемых файлов, поскольку все их содержимое помещается в единственный архивный файл. Текстовые файлы сжимаются намного лучше, чем программные и графические, т.к. в текстовых файлах чаще встречаются одинаковые слова. На сегодня наиболее распространены следующие программы-архиваторы – ARJ, WINZIP, WINRAR и др. Также с ОС поставляется программа для резервного копирования файлов – Backup.
Антивирусные программы. Компьютерный вирус – это специально написанная небольшая по размерам программа, которая может «приписывать » себя к другим программам (т.е. «заражать» их). Когда зараженная программа начинает работать, то сначала управление получает «вирус», который «заражает» другие программы, портит файлы или таблицу размещения файлов на диске, «засоряет» оперативную память и т.д. Как правило, каждая разновидность вируса может «заражать» только один или два типа файлов. Чаще всего встречаются вирусы, которые «заражают» только исполнимые файлы (.exe, .com). Файлы, состоящие из текста программ и документов, не «заражаются» вирусом, а только портятся. Также вирусы умеют сами себя записывать на дискеты, могут путешествовать по сетевому кабелю. Есть вирусы, которые в процессе работы могут видоизменяться. Для борьбы с вирусами используются специальные антивирусные программы, которые по характеру выполняемых ими действий подразделяются на следующие виды:
программы-фильтры, контролирующие характерные для вирусов действия и требующие от пользователя подтверждения тех или иных операций;
программы-детекторы, позволяющие обнаружить вирусы в оперативной памяти и файлах;
программы-доктора, позволяющие уничтожить вирусы;
программы-гибриды, сочетающие свойства детекторов и докторов.
Каждая антивирусная программа содержит перечень из нескольких тысяч названий вирусов, которые она умеет обнаруживать и обезвреживать. Ни один из перечисленных видов программ не позволяет полностью обеспечить защиту от вирусов. Чаще всего используют программы-доктора. Примеры антивирусных программ: Aidstest, Dr.Web и др.
Программы, позволяющие восстановить удаленную информацию. При удалении файлов в таблице FAT кластеры, занимаемые этими файлами помечаются как свободные. Физически информация остается на диске, пока не было записи новой информации после удаления файлов. Поэтому информацию можно восстановить. Раньше это была утилита Unerase, Undelete.
В ОС Windows удаленные файлы помещаются в Корзину и в ней хранятся до того момента, пока корзина не очищена, либо не наполнилась полностью.
Обслуживающие программы для работы с диском.
Проверка диска (Scan Disk) – программа обнаруживает ошибки в файлах и папках на жестком диске, кроме того проверяет его физическую поверхность.
Уплотнение диска (Drive Space) – программа уплотнения диска позволяет увеличить объем жесткого или гибкого диска (обычно в 1,5-2 раза).
Дефрагментация диска (Defrag) – Спустя некоторое время большинство файлов на жестком диске разбиваются на фрагменты, расположенные в разных областях жесткого диска. Это не нарушает целостность файлов, однако время, необходимое для их чтения или записи, может значительно увеличиться. Для устранения отдельных фрагментов файлов (дефрагментации) и используется программа Defrag.
Прикладные программы.
Одним из условий эффективного внедрения вычислительной техники в практику является создание специализированных пакетов прикладных программ (ППП). ППП поставляются отдельно от программного обеспечения вычислительных средств, имеют свою документацию и не входят в состав операционных систем. Многие пакеты имеют собственные средства генерации. Разработка пакета не должна требовать модификации операционных систем. Это относится к пакетам, влияющим на работу управляющих программ. Если пакет требует внесения изменений в управляющую программу, то это выполняется в процессе загрузки и инициализации пакета.
ППП являются наиболее динамично развивающейся частью программного обеспечения: круг решаемых с помощью ППП задач постоянно расширяется. Во многом внедрение компьютеров во все сферы деятельности стало возможным благодаря появлению новых и совершенствованию существующих ППП.
Достижения в области микроэлектроники, приводящие к появлению более мощных по своим функциональным возможностям компьютеров, также являются причиной создания новых ППП. В свою очередь, необходимость улучшения характеристик использования пакета при решении конкретных задач пользователя стимулирует совершенствование архитектуры и элементной базы компьютеров и периферийных устройств.
Структура и принципы построения ППП зависят от класса ЭВМ и операционной системы, в рамках которой этот пакет будет функционировать. Наибольшее количество разнообразных ППП создано для IBM PC – совместимых с операционными системами MS DOS и WINDOWS.
Каждая группа пакетов имеет свои проблемы организации, трудности разработки и создания. Каждый пакет в зависимости от ЭВМ и его назначения реализуется на конкретном языке программирования в соответствии с требованиями, предъявленными к пакету, и возможностями языка.
Существующие ППП охватывают почти все сферы человеческой деятельности, связанной с обработкой информации. Развитие и совершенствование ППП – поступательный процесс, поэтому следует ожидать появления новых ППП, возможности которых превзойдут достижения настоящих пакетов.
Классификация этих пакетов программ по функционально-организационному признаку представлена на рис.1.
Рис.1 Классификация ППП по функционально-организационному признаку
Проблемно-ориентированные ППП – наиболее развитая в плане реализуемых функций и многочисленная по количеству созданных пакетов часть ППП.
Текстовые процессоры. Признанными лидерами в части текстовых процессоров для ПЭВМ являются MS WORD, WordPerfect, AmiPro.
Настольные издательские системы (НИС) – программы, предназначенные для профессиональной издательской деятельности и позволяющие осуществлять электронную верстку широкого спектра основных типов документов, типа бюллетеня, краткой цветной брошюры и объемного каталога или торговой заявки, справочника. Наилучшими пакетами в этой области для ПЭВМ являются: Corel Ventura, PageMaker, QuarkXPress, FrameMaker, Microsoft Publisher, PagePlus, CompuWorkPublisher.
Графические редакторы – пакеты, предназначенные для обработки графической информации. Они делятся на ППП обработки растровой графики и изображений и векторной графики. ППП первого типа предназначены для работы с фотографиями ППП первого типа предназначены для работы с фотографиями и включают в себя набор средств по кодированию фотоизображений в цифровую форму. Признанный лидер среди пакетов данного класса – Adobe Photoshop. Известны также пакеты Aldus Photo Styler, Picture Publisher, Photo Works
Plus. Все программы ориентированы на работу в среде Windows. ППП для работы с векторной графикой предназначены для профессиональной работы, связанной с художественной и технической иллюстрацией с последующей цветной печатью (на рабочем месте дизайнеров, например), занимают промежуточное положение между пакетами для систем автоматизированного проектирования (САПР) и настольными издательскими системами. Своеобразным стандартом в этом классе является пакет CorelDraw. Можно также отметить такие пакеты, как Adobe Illustrator, Aldus Free Hand, Professional Draw.
Электронные таблицы – это пакеты программ, предназначенные для обработки дынных, организованных табличным образом. В настоящее время наиболее популярными и эффективными пакетами данного класса являются Excel, Improv, Quattro Pro и др.
Организаторы работ – это пакеты программ, предназначенные для автоматизации процедур планирования использования различных ресурсов (времени, денег, материалов) как отдельного человека, так и всей фирмы или ее структурных подразделений. Целесообразно выделить две разновидности пакетов данного класса: управления проектами и организации деятельности отдельного человека. Пакеты первого типа предназначены для сетевого планирования и управления проектами. Достаточно простые и удобные в использовании, эти программные средства позволяют быстро спланировать проект любой величины и сложности, эффективно распределить людские, финансовые и материальные ресурсы, составить оптимальный график работ и проконтролировать его исполнение. К пакетам данного типа относятся: Time Line, MS Project, CA-Super Project. Пакеты второго типа представляют собой своего рода электронных помощников делового человека. Такие пакеты, Lotus Organizer, ACTI, выполняют функции электронных секретарей и предназначены для эффективного управления деловыми контактами.
Системы управления базами данных (СУБД) предназначены для автоматизации процедур создания, хранения и извлечения электронных данных. Для различных классов компьютеров и операционных средств разработано множество СУБД, отличающихся по способу организации данных, формату данных, языку формирования запросов. Наиболее распространенными пакетами для ПЭВМ типа IBM PC являются dBase, Paradox, Microsoft Access, Oracle.
Пакеты демонстрационной графики являются конструкторами графических образов деловой информации. Работа с пакетами этого типа строится по следующей схеме: разработка общего плана представления, выбор шаблона для оформления элементов, формирование и импорт элементов, таких, как текст, графики, таблицы, диаграммы, звуковые эффекты и видеоклипы. Программы просты в работе и снабжены интерфейсом, почти не требующим дополнительного изучения. К наиболее популярным пакетам данного типа относятся PowerPoint, Harvard Graphics, WordPerfect Presentations, Freelance Graphics.
Пакеты программ мультимедиа предназначены для использования ПЭВМ для отображения и обработки аудио- и видеоинформации. Помимо программных средств компьютер при этом должен быть оборудован дополнительными платами, позволяющими осуществлять ввод-вывод аналоговой информации, ее преобразование в цифровую форму. Кроме того, распространение таких мультимедиа-приложений невозможно на традиционных магнитных дискетах, для этого необходимо использовать оптические компакт-диски (CD ROM). Среди мультимедиа программ можно выделить две небольшие группы. Первая включает пакеты для обучения и досуга. Поставляемые на CD-ROMах емкостью от 200 до 500 Мбайт каждый, они содержат аудиовизуальную информацию по определенной тематике. Разнообразие их огромно, и рынок этих программ постоянно расширяется при одновременном улучшении качества видеоматериалов. Так, созданы и продаются электронные энциклопедии по отраслям знаний; электронные учителя в области иностранных языков, бизнеса, политики; деловые и авантюрные игры. Вторая группа включает программы для подготовки видеоматериалов для создания мультимедиа представлений, демонстрационных дисков и стендовых материалов. К пакетам данного вида относятся Director for Windows, Multimedia Viewer Kit, NEC MultiSpin.
Системы автоматизированного проектирования (САПР) – другая разновидность пакетов программ, связанная с обработкой графических изображений. Они предназначены для автоматизации проектно-конструкторских работ в машиностроении, автомобилестроении, промышленном строительстве и т.п. Своеобразным стандартом среди программ данного класса являются пакеты AutoCAD фирмы Autodesk. Также отметим программы DesignCAD, Grafic CAD Professional, Drawbase, Microstation, Ultimate CAD Base и Turbo CAD. Перечисленные пакеты отличаются богатством функциональных возможностей и предназначены для функционирования в среде Windows (Windows NT) или OS/2.
Программы распознавания символов предназначены для перевода графического изображения букв и цифр в ASCII – коды этих символов. Используются, как правило, совместно со сканерами. Пакеты данного типа обычно включают разнообразные средства, облегчающие работу пользователя и повышающие вероятность правильного распознавания. Скорость сканирования современных ППП составляет 1,5 мин на страницу. К пакетам данного типа относятся Fine Reader, CunieForm, Tiger TM, OmniPage.
Финансовые программы предназначены для ведения деловых записей типа записной книжки и расчета финансовых операций (баланс денежных средств, определение процентных выплат по займам и кредитам и др.). Для расчета величины налогов можно использовать программы TurboTax for Windows, Personal Tax Edge. С помощью программ Quicken, DacEasy Accounting, Peachtree for Windows можно автоматизировать бухгалтерский учет. Эту же функцию выполняет ряд отечественных программ: «Турбобухгалтер», «1С:Бухгалтерия», «Бухгалтер» фирмы «Атлант-Информ» и др.
Статистические пакеты используются для аналитических исследований. Здесь хорошо зарекомендовали себя такие пакеты как StatGraphics или Systas, или отечественная разработка «Статистик-Консультант». Однако в коммерческих фирмах внедрение этих пакетов сдерживается отсутствием соответствующим образом подготовленных специалистов, высокой ценой пакетов и широким внедрением табличных процессоров, с помощью которых можно провести простейшие, но наиболее часто используемые статистические расчеты.
Интегрированные пакеты программ – по количеству наименований продуктов немногочисленная, но в вычислительном плане довольно мощная и активно развивающаяся часть ПО. Идея создания интегрированных программных комплексов не нова и в той или иной мере была реализована во всех поколениях ЭВМ. Полносвязанные интегрированные комплексы представляют собой многофункциональный, автономный пакет, в котором в одно целое соединены функции и возможности различных специализированных (проблемно-ориентированных) пакетов, родственных в смысле технологии обработки данных на отдельном рабочем месте. Типичными представителями таких программ являются пакеты Framework, Symphony, а также пакеты нового поколения Microsoft Works, Lotus Works. В этих программах происходит интеграция функций редактора текстов, системы управления базами данных и табличного процессора. В целом стоимость такого пакета гораздо ниже суммарной стоимости аналогичных специализированных пакетов. Однако при этом сужаются возможности каждой компоненты по сравнению с аналогичным специализированным пакетом.
В настоящее время активно реализуется другой подход интеграции программных средств: объединение специализированных пакетов в рамках единой ресурсной базы, обеспечение взаимодействия приложений (программ пакета) на уровне объектов и единого упрощенного центра переключения между приложениями. Интеграция в этом случае носит объектно-связанный характер. Типичные и наиболее мощные пакеты данного типа: Borland Office for Windows, Lotus SmartSuite for Windows, Microsoft Office. В профессиональной редакции этих пакетов присутствуют четыре приложения: текстовый редактор, СУБД, табличный процессор, программы демонстрационной графики. Целесообразность создания таких пакетов, очевидно, связана с желанием получить дополнительный эффект от интеграции по отношению к простой сумме составляющих его компонент. При традиционном подходе к интеграции этот выигрыш может быть легко сведен на нет отсутствием нужной пользователю функции, присутствующей в специализированном пакете. Особенностью нового типа интеграции пакетов является использование общих ресурсов. Здесь можно выделить четыре основных вида совместного доступа к ресурсам:
- использование утилит, общих для программ комплекса (например, утилита проверки орфографии доступна из всех программ пакета);
- применение объектов, которые могут находиться в совместном использовании нескольких программ;
- реализация простого перехода (или запуска) из одного приложения к другому;
- реализация построенных на единых принципах средств автоматизации работы с приложением (макроязыка), что позволяет организовать комплексную обработку информации при минимальных затратах на программирование.
Совместное использование объектов с несколькими приложениями – краеугольный камень современной технологии интеграции программ и манипулирования данными. Разработаны два основных стандарта в этой области:
- динамической компоновки и встраивания объектов Object Linking and Embedding OLE 2.0 фирмы Microsoft;
- open Doc (открытый документ) фирм Apple, Borland, IBM, Novell и WordPerfect.
Механизм динамической компоновки объектов дает возможность пользователю помещать информацию, созданную одной прикладной программой, в документ, формируемый в другой. При этом пользователь может редактировать информацию в новом документе средствами того продукта, с помощью которого этот объект был создан. Кроме того, данный механизм позволяет переносить OLE – объекты из окна одной прикладной программы в окно другой. В этой технологии предусмотрена также возможность общего использования функциональных ресурсов программ: например, модуль построения графиков табличного процессора может быть использован в текстовом редакторе. Недостатком данной технологии является ограничение на размер объекта размером одной страницы. OpenDoc представляет собой объектно-ориентированную систему, базирующуюся на открытых стандартах фирм - участников разработки. Предполагается совместимость между OLE и OpenDoc.
ППП для решения научно-технических задач. ППП общего назначения организованы на языке Фортран. Фортран является наиболее распространенным языком программирования вычислительных задач. Транслятор его входит в состав математического обеспечения почти всех ЭВМ. На этом языке накоплена самая большая в мире библиотека программ. Широкое распространение языка Фортран объясняется двумя преимуществами, которое он имеет по сравнению с другими алгоритмическими языками: простота операторов и модульность структуры программы. ППП представляет собой набор подпрограмм, объединяемый управляющей программой и предназначенный для решения конкретных задач в какой-либо области знаний. Имеется так называемый пакет научных подпрограмм (SSP). Он представляет собой совокупность подпрограмм, реализующих наиболее часто встречающиеся в приложениях методы численного анализа и статистики. Подпрограммы написаны на языке БАЗИСНЫЙ ФОРТРАН. Примеры: 1) подпрограмма GMADD – сложение двух матриц общего вида; 2) подпрограмма GMPRD – перемножение двух матриц общего вида; 3) подпрограмма DGELS – решение с удвоенной точностью системы линейных уравнений с симметричной матрицей коэффициентов, верхняя треугольная часть которой расположена по столбцам.
Системы программирования.
Даже при наличии десятков тысяч программ для IBM PC пользователям может потребоваться что-то такое, чего не делают имеющиеся программы. В этих случаях следует использовать системы программирования, т.е. системы для разработки новых программ. Современные системы программирования обычно предоставляют пользователю весьма мощные и удобные средства для разработки программ. В них входят:
- текстовый редактор;
- компилятор, осуществляющий преобразование программ на языке высокого уровня в программу в машинных кодах, или интерпретатор, осуществляющий непосредственное выполнение текста программы на языке программирования высокого уровня;
- редактор связей (или сборщик), который выполняет связывание объектных модулей и машинного кода стандартных функций, находя их в библиотеке, и формирует на выходе работоспособное приложение- исполняемый код для конкретной платформы;
- библиотеки подпрограмм и функций;
- различные вспомогательные программы, например, отладчики, программы для получения перекрестных ссылок и т.д.
Для наиболее популярных универсальных языков программирования (Fortran,Basic, C++) сегодня имеется немало систем программирования, выпускаемых различными фирмами и ориентированных на различные модели ПК и операционные системы: MSDEF, TurboC, Turbo C++, Turbo Pascal, Microsoft C, Microsoft Basic и др.