Прикладные программы обеспечивают. Состав прикладного программного обеспечения

Что такое программное обеспечение

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

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

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

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

Типы программного обеспечения

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

Программное обеспечение компьютера делится на:

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

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

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

Системы управления базами данных (СУБД), позволяющие превратить компьютер в справочник по любой теме;

Табличные процессоры, позволяющие организовывать очень распространенные на практике табличные расчеты;

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

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

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

Системное программное обеспечение

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

Операционные системы

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

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

Существуют две группы определений ОС: «совокупность программ, управляющих оборудованием» и «совокупность программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который, однако, становится ясен только при более детальном рассмотрении вопроса о том, зачем вообще нужны операционные системы.
Есть приложения вычислительной техники, для которых ОС излишни. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, запускающуюся по включении. И простые игровые приставки - также представляющие собой специализированные микрокомпьютеры - могут обходиться без ОС, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее, некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных ОС. В большинстве случаев, это UNIX-подобные системы (последнее особенно верно в отношении программируемого коммутационного оборудования: файрволов, маршрутизаторов).

Основные идеи ОС

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

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

Встроенные программы

Встроенные программы или firmware - это программы, «зашитые» в цифровые электронные устройства. В ряде случаев (например, BIOS IBM-PC совместимых компьютеров) являются по сути частью операционной системы, хранящейся в постоянной памяти. В достаточно простых устройствах вся операционная система может быть встроенной. Многие устройства современных компьютеров имеют собственные «прошивки», осуществляющие управление этими устройствами и упрощающие взаимодействие с ними.

Утилиты

Утилиты (англ. utility или tool) - программы, предназначенные для решения узкого круга вспомогательных задач. Иногда утилиты относят к классу сервисного программного обеспечения Утилиты используются для
Мониторинга показателей датчиков и производительности оборудования - мониторинг температур процессора, видеоадаптера; чтение S.M.A.R.T. жёстких дисков;
Управления параметрами оборудования - ограничение максимальной скорости вращения CD-привода; изменение скорости вращения вентиляторов.
Контроля показателей - проверка ссылочной целостности; правильности записи данных.
Расширения возможностей - форматирование и/или переразметка диска с сохранением данных, удаление без возможности восстановления.

Типы утилит

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

Прикладное программное обеспечение

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

По типу
программные средства общего назначения
Текстовые редакторы
Системы компьютерной вёрстки
Графические редакторы
СУБД
программные средства специального назначения
Экспертные системы
Мультимедиа приложения (Медиаплееры, программы для создания/редактирования видео, звука, Text-To-Speech и пр.)
Гипертекстовые системы (Электронные словари, энциклопедии, справочные системы)
Системы управления содержимым
программные средства профессионального уровня
САПР
АРМ
АСУ
АСУ ТП
АСНИ
Геоинформационные системы
Биллинговые системы
CRM
По сфере применения
Прикладное программное обеспечение предприятий и организаций. Например, финансовое управление, система отношений с потребителями, сеть поставок. К этому типу относится также ведомственное ПО предприятий малого бизнеса, а также ПО отдельных подразделений внутри большого предприятия. (Примеры: Управление транспортными расходами, Служба IT поддержки)
Программное обеспечение обеспечивает доступ пользователя к устройствам компьютера.
Программное обеспечение инфраструктуры предприятия. Обеспечивает общие возможности для поддержки ПО предприятий. Это системы управления базами данных, серверы электронной почты, управление сетью и безопасностью.
Программное обеспечение информационного работника. Обслуживает потребности индивидуальных пользователей в создании и управлении информацией. Это, как правило, управление временем, ресурсами, документацией, например, текстовые редакторы, электронные таблицы, программы-клиенты для электронной почты и блогов, персональные информационные системы и медиа редакторы.
Программное обеспечение для доступа к контенту. Используется для доступа к тем или иным программам или ресурсам без их редактирования (однако может и включать функцию редактирования). Предназначено для групп или индивидуальных пользователей цифрового контента. Это, например, медиа-плееры, веб-браузеры, вспомогательные браузеры и др.
Образовательное программное обеспечение по содержанию близко к ПО для медиа и развлечений, однако в отличие от него имеет четкие требования по тестированию знаний пользователя и отслеживанию прогресса в изучении того или иного материала. Многие образовательные программы включают функции совместного пользования и многостороннего сотрудничества.
Имитационное программное обеспечение. Используется для симуляции физических или абстрактных систем в целях научных исследований, обучения или развлечения.
Инструментальные программные средства в области медиа. Обеспечивают потребности пользователей, которые производят печатные или электронные медиа ресурсы для других потребителей, на коммерческой или образовательной основе. Это программы полиграфической обработки, верстки, обработки мультимедиа, редакторы HTML , редакторы цифровой анимации, цифрового звука и т. п.
Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного («Железо») и программного обеспечения. Охватывают автоматизированный дизайн (computer aided design - CAD), автоматизированное проектирование (computer aided engineering - CAE), редактирование и компилирование языков программирования, программы интегрированной среды разработки (Integrated Development Environments), интерфейсы для прикладного программирования (Application Programmer Interfaces).
Ссылки на используемые ресурсы

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

Агентские программы, способные после получения задания работать самостоятельно без участия пользователя.
Аплет - небольшая программа-приложение к другой более развитой прикладной программе. Аплет может передаваться с сервера на компьютер-клиент и выполняться на нем.
Дополнительные модули (plug-ins) расширяющие возможности основного прикладного программного обеспечения. Применительно к Web-технологии, дополнительные модули часто используются для расширения возможности браузеров при работе с мультимедийными данными, со звуком и видео.
Загрузчик (loader), выполняющий загрузку объектных модулей программы в основную память ЭВМ и редактирование связей между ними.
Киллер-приложение (killer application) - прикладная программа, представляющая настолько высокий интерес для пользователей, что они приобретают компьютер специально, чтобы работать с нею. Примером может служить программа PageMaker, предназначенная для настольных издательских систем, благодаря которой компьютеры Macintosh фирмы Apple стали продаваться специально для полиграфических целей.
Компоновщик (linker) - загрузчик, выполняющий в ходе загрузки компоновку единой программы из независимо транслируемых программ.
Редактор программ (редактор текстов программ, program editor) - разновидность текстового редактора, предназначенного для создания и редактирования программ на определенном языке программирования. Часто такие редакторы встроены в операционные системы или в специализированные вспомогательные программы. Редакторы программ позволяют производить: диалоговый просмотр текста; редактирование строк программы; копирование и перенос блоков текста; копирование одной программы или ее части в указанное место другой программы; контекстный поиск и замену подстрок текста; автоматический поиск строки, содержащей ошибку; проверку синтаксиса программ; сохранение программы в виде файла; распечатку программы и ее части.
Редактор текстов, текстовый редактор (text editor, word processor) - предназначен для создания, редактирования, вывода на экран и печать, а также сохранения в виде файлов различного рода документов и данных.
Резидентная программа (memory resident) - программа, остающаяся в оперативной памяти ЭВМ после завершения своей работы. Она может быть быстро вызвана при помощи горячего ключа.
Система программирования (programming system) - комплекс программных средств, предназначенных для автоматизации процессов программирования, который включает в себя: язык программирования, редактор программ, компилятор или интерпретатор программ, а также набор вспомогательных средств (например, библиотек подпрограмм) и документации, обеспечивающих и облегчающих подготовку программных продуктов. Примерами систем программирования могут служить Turbo C, Turbo C++ и Turbo Pascal (разработки фирмы Borland), Microsoft C, Quick C и Microsoft Basic (фирмы Microsoft), VIP-BASIC v.1.5.Mainstay (для ПК серии Macintosh).
Система распознавания текстов (text recognition system) - комплекс программных средств, предназначенный для перевода сканированных текстовых материалов из графической формы в цифровую (символьную).
Табличный редактор, электронная таблица (table editor) - обобщенное наименование прикладных программ, предназначенных для решения вычислительных задач (экономических, бухгалтерских, инженерных, статистических) на больших массивах данных, представляемых в табличной форме.
Desktop Search - класс прикладных программ, предназначенных для поиска файлов и данных на дисках настольных ПК. В основу их работы заложены процессы автоиндексирования по выбору пользователя всех или части файлов, папок, отдельных документов и сообщений электронной почты, мультимедийных и других данных, находящихся в памяти компьютера, построения (а также обновления) индексных файлов и реализации поиска по ключевым словам, содержащимся в индексном файле. Примерами таких программ могут служить бесплатные - Ask Jeeves Desktop Search 1.7.0; Copernic Desktop Search 1.2; Google Desktop Search; Yahoo! Desktop Search и платные - dtDesktop Search 6.4; X1 Desktop Search 5.0.

С прикладными программами связан ряд понятий и терминов:
API (Application Programming Interface) - набор («библиотека») стандартных процедур, программных прерываний, вызовов, форматов данных и других средств, которые должны использовать прикладные программы для реализации своих функций.
Clip art (клипарт) - иллюстративная вставка, графический фрагмент, аппликация, заготовленная в «библиотеке клипартов», являющейся приложением к текстовым и графическим редакторам, настольным издательским системам.
IDE (Interactive Development Environment) - диалоговая среда разработки программного обеспечения.
Watermark (водяной знак) - код, включенный в цифровой материал с целью установления владельца. Он может быть как видимым, так и не видимым для пользователя.
Горячий ключ (hot key) - клавиша или набор последовательно нажатых клавиш, запускающих резидентную программу. Выбор горячих ключей производится таким образом, чтобы они не мешали работе при нажатии соответствующих клавиш в регулярно используемых приложениях.
Руткит (rootkit) -программный модуль, невидимый вместе со спрятанными в его папках файлами для операционной системы и пользователя ПК. Использование руткит-технологий может преследовать как полезные цели (например, защита информационного продукта от несанкционированного копирования, ускорение или более надежное резервное копирование файлов), так и враждебные функции (получение несанкционированного доступа к ПК, внедрение и распространение вредоносных программ типа «червь», «троянский конь»). Использование руткит-технологий не приветствуется информационным сообществом.

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

Пакет прикладных программ (ППП) – это комплекс программ, предназначенных для выполнения задач определённого класса.

Различают следующие типы прикладного ПО:

– ПО общего назначения

– методо-ориентированное ПО;

– проблемно-ориентированное ПО;

– ПО для глобальных сетей;

– ПО для администрирования вычислительного процесса.

К прикладному ПО общего назначения относятся следующие ППП:

Текстовые и графические редакторы, издательские системы;

Электронные таблицы;

Системы управления базами данных;

Интегрированные пакеты;

Case-технологии;

Оболочки экспертных систем и систем искусственного интеллекта.

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

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

Наибольшее распространение получили текстовые редакторы
Microsoft Word, Word Perfect, ChiWriter, MultiEdit, AmiPro, Lexicon.

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

Наиболее популярны следующие графические редакторы:

Adobe Photoshop, CorelDRAW, PaintBrush, Adobe Illustrator.

Издательские системы соединяют в себе возможности текстовых и графических редакторов. Они обладают развитыми возможностями по формированию полос с текстовыми и графическими материалами и последующим выводом на печать. Эти системы ориентированы на использование в издательском деле и называются системами верстки. Примером таких систем служат программы Adobe PageMaker и Ventura Publisher.

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

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

В зависимости от способа организации данных различают сетевые, иерархические, распределенные и реляционные СУБД. Из имеющихся СУБД наибольшее распространение получили Microsoft Access, Microsoft FoxPro, MS SQL Server, Borland Paradox, MySQL, а также СУБД компании Oracle, Informix, Ingress, Sybase, Progress и др.

Интегрированными пакетами называется совокупность функционально различных программных продуктов общего назначения, дополняющих друг друга, способных взаимодействовать между собой путем обмена данными, имеющих единый пользовательский интерфейс, реализованных на единой операционной вычислительной платформе. Обычно они включают в себя текстовый редактор, электронную таблицу, графический редактор, СУБД, несколько других программ и коммуникационный модуль. В настоящее время интеграция программных модулей носит объектно-связанный характер, особенностью которого является использование несколькими приложениями общих ресурсов. Наиболее популярными интегрированными пакетами являются Microsoft Office, Framework, Startnave, Lotus SmartSuite for Windows, Borland Office for Windows.

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

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

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

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

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

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

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

Программные средства общего назначения

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

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

Издательские системы автоматизируют процесс верстки полиграфических изданий. Они отличаются расширенными средствами управления взаимодействия текста с параметрами страницы и графическими объектами, но имеют более слабые возможности по автоматизации ввода и редактирования текста. Их целесообразно применять к документам, которые предварительно обработаны в текстовых процессорах и графических редакторах. Наиболее известными из издательских пакетов являются: Adobe PageMaker, QuarkXPress, Microsoft Publisher, Corel Ventura.

Электронные таблицы . Основное назначение электронных таблиц - обработка различных типов данных табличной формы, например, планово-финансовые, бухгалтерские документы, небольшие инженерные расчеты (Excel — разработка Microsoft, Lotus 1-2-3 — разработка Lotus). Основное преимущество электронных таблиц, в сравнении с текстовыми процессорами (где тоже могут вестись таблицы, производиться небольшие вычисления и сортировка), в том, что содержание одних ячеек может меняться автоматически в соответствии с изменением содержания других.


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

Системы управления базами данных (СУБД). Программы этого класса (например, Access - разработка Microsoft) позволяют работать с большими объемами структурированных данных - базами данных (как правило, это табличные структуры). СУБД предназначены для автоматизации процедур создания, хранения и извлечения электронных данных. Многие, существующие в различных сферах человеческой деятельности, информационно-справочные программные комплексы реализованы с использованием инструментальных средств СУБД.

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

Это обусловливает специфические особенности при работе с программными средствами данного класса. Кроме того, работа с файлами создаваемыми СУБД, несколько отличается от работы с файлами других типов, создаваемых прочими приложениями. В частности ряд операций по преобразованию файлов осуществляется в обход требований операционной системы для обеспечения целостности данных. В случае, когда БД содержит несколько таблиц, между таблицами устанавливаются специальные связи, называемые реляционными отношениями . Наиболее распространенными пакетами СУБД для ПК являются MS Access, Oracle, Paradox, dBase.

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

Графические системы . Это программы, предназначенные для работы с графическими изображениями. К ним относятся редакторы растровой и векторной графики, программы обработки трехмерной графики (ЗD-редакторы).

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

Добавление пикселей приводит к ухудшению резкости и яркости изображения, так как новым точкам приходится давать оттенки, средние между двумя и более граничащими цветами. Признанный лидер среди программ данного класса - Adobe Photoshop . Стандартным средством обработки растровых изображений в Windows является графический редактор Paint. В настоящее время распространены следующие форматы растровой графики.bmp, .pcx, .gif, .tif, jpg, .png и др. В Интернете графика представляется в одном из растровых форматов, понимаемых браузерами без установки дополнительных модулей - gif, jpg, png.

Векторные редакторы удобны для работы с чертежами и рисованными картинками. Своего рода стандартном в этом классе являются пакеты Corel Draw и Adobe Illustrator .

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

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

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

Редакторы трехмерной графики используются для создания пространственных графических композиций, позволяют проследить взаимодействия трехмерных объектов между собой и трехмерных объектов с источником света. Как правило, в таких редакторах сочетается векторный и растровый способы формирования изображений. Пакеты трехмерной графики отличаются богатыми возможностями моделирования, позволяют гибко управлять взаимодействием свойств поверхности объектов со свойствами источников освещения, включают большое число кинематографических возможностей, однако, часто, довольно требовательны к аппаратуре. Среди пакетов этого класса наиболее известны: 3D Studio Max, Maya, Softimage 3D .

Техническим развитием графических редакторов являются специальные системы машинной графики , предназначенные для автоматизации проектно-конструкторских работ в машиностроении, промышленной электронике, строительстве и т.д. Подобные пакеты включают разнообразные чертежные инструменты, и средства трехмерного моделирования, облегчающие проектирование, готовые библиотеки стандартных элементов чертежей и (или) схем, предоставляют развитые средства управления изображением. Также они часто включают в свой состав встроенные макроязыки или языки программирования, средства экспорта-импорта файлов различных форматов. Стандартом среди зарубежных программ является пакет AutoCAD фирмы Autodesk. Примеры отечественных пакетов:, CADMECH, T-Flex CAD, SprutCAD, APM Graph, bCAD, АДЕМ, КОМПАС-ГРАФИК .

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

Для совместной работы нескольких программ требуется и унификация форматов обрабатываемых файлов. Такие программные пакеты называются интегрированными программными средствами. Наиболее распространенный продукт этого класса - пакет MS Office (разработка Microsoft), который кроме текстового процессора MS Word, табличного процессора MS Excel и СУБД MS Access интегрирует в себе такие офисные программные средства, как система разработки презентаций MS Power Point, электронный организатор MS Outlook и др.

Объединение функций различных прикладных программ в единую систему приводит к созданию интегрированных пакетов программ, а далее к созданию автоматизированных рабочих мест (АРМ).

Программные средства для решения прикладных математических задач - ППП ориентированные на решение математических задач. При этом под математическойпонимается любая задача, алгоритм решения которой может быть описан в терминах того или иного раздела математики. Большинство современных систем компьютерной математики сочетают в себе возможности проведения расчетов и подготовки форматированных научно-технических документов. Наиболее популярными пакетами данного класса являются: MathCAD, Maple, Matlab, Mathematica, Statistica.

Специализированные системы математического моделирования - ППП, ориентированные на решение научно-прикладных задач в различных областях инженерных знаний (задачи механики жидкости и газа, расчеты на прочность, температурный, вибрационный анализ, моделирование магнитных полей и др.). Сюда можно отнести ряд пакетов, разрабатываемых фирмами ANSYS, Inc., MSC, SAMTECH и др.

Прикладное программное обеспечение специального назначения

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

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

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

В экспертных системах принято выделять три основных модуля:

Модуль базы знаний;

Модуль логического вывода;

Интерфейс с пользователем.

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

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

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

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

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

Информационные системы предоставляют широкие возможности:

В управлении предприятием, например, склад, документооборот офиса (1С: Предприятие);

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

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

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

Тенденции развития современных информационных технологий определяют постоянное возрастание сложности ПО информационных систем, что вызвало потребность в программно-технологических средствах специального класса - CASE-средствах, реализующих CASE-технологию создания и сопровождения ИС. Термин CASE (Computer Aided Software Engineering) имеет весьма широкое толкование. Первоначально значение термина CASE ограничивалось вопросами автоматизации разработки только лишь программного обеспечения, а в настоящее время оно приобрело новый смысл и охватывает процесс разработки сложных ИС в целом.

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

Были созданы такие CASE-системы как:

Ориентированные на этапы жизненного цикла ПО, Design/IDEF (Meta Sotfware), BPWin (LopicWorks);

Функционально полные, т.е. используемые на всех этапах жизненного цикла Designer (Oracle) Developer/2000 (Oracle);

Независимые от СУБД ODBC Sdesigner (SPD), ERWin (Logic- Works), Silverrun (Silverrun Technologies).

Прикладные программы профессионального уровня

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

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

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

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

Компьютеры в АСНИ используются в информационно-поисковых и экспертных системах, а также решают следующие задачи:

Управление экспериментом;

Подготовка отчетов и документации;

Поддержание базы экспериментальных данных и др.

В результате применения АСНИ возникают следующие положительные моменты:

В несколько раз сокращается время проведения исследования;

Увеличивается точность и достоверность результатов;

Усиливается контроль за ходом эксперимента;

Сокращается количество участников эксперимента;

Повышается качество и информативность эксперимента за счет увеличения числа контролируемых параметров и более тщательной обработки данных;

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

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

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

Такая взаимосвязь приводит к тому, что на самом деле «чистых» АСНИ и САПР не бывает: в каждой из них можно найти общие элементы. С повышением их интеллектуальности они сближаются. В конечном счете и те и другие должны представлять собой экспертную систему, ориентированную на решение задач конкретной области.

Автоматизированные системы управления .

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

В настоящее время в мировой практике для обозначения полнофункциональных интегрированных АСУ, используемых фирмами, применяют названия система управления ресурсами (англ. management resource planning, MRP) и управление ресурсами предприятия (англ. enterprise resource planning, ERP). Такие системы позволяют информационно поддерживать, обеспечивать все направления управленческой деятельности предприятия.

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

В составе АСУ выделяют:

Основную часть, в которую входят информационное, техническое и математическое обеспечение;

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

АСУ применяются в управлении производством, транспортом, строительством и многими другими экономическими объектами и процессами.

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

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 и др.

Контрольные вопросы

  1. Что принято понимать под термином "software"?
  2. На какие уровни делится программное обеспечение?
  3. Совокупность программ какого уровня образовывают ядро операционной системы?
  4. Какие функции выполняет ядро операционной системы?
  5. Для чего предназначены программы базового уровня?
  6. Какие классы программ служебного уровня вы знаете?
  7. С помощью программ какого класса можно осуществлять ввод, редактирование и оформление текстовых данных?
  8. Какие вы знаете категории графических редакторов?
  9. В каких случаях целесообразно использовать системы автоматизированного перевода?
  10. Что такое интерпретатор и компилятор? Какая между ними разница?

Лекция 9 "Сжатие данных"

Характерной особенностью большинства типов данных является их избыточность. Степень избыточности данных зависит от типа данных. Например, для видеоданных степень избыточности в несколько раз больше чем для графических данных, а степень избыточности графических данных, в свою очередь, больше чем степень избыточности текстовых данных. Другим фактором, влияющим на степень избыточности является принятая система кодирования. Примером систем кодирования могут быть обычные языки общения, которые являются ни чем другим, как системами кодирования понятий и идей для высказывания мыслей. Так, установлено, что кодирование текстовых данных с помощью средств русского языка дает в среднем избыточность на 20-25% большую чем кодирование аналогичных данных средствами английского языка.

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

В зависимости от того, в каком объекте размещены данные, подлежащие сжатию различают:

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

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

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

  • JPEG - для графических данных;
  • MPG - для для видеоданных;
  • MP3 - для аудиоданных.

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

  • GIF, TIFF - для графических данных;
  • AVI - для видеоданных;
  • ZIP, ARJ, RAR, CAB, LH - для произвольных типов данных.

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

  • алгоритм RLE (Run Length Encoding);
  • алгоритмы группы KWE(KeyWord Encoding);
  • алгоритм Хаффмана.