5. Прикладные. Осуществляет математические, логические, физические и другие действия с набором имеющихся данных, другими словами обработку имеющейся информации для решения определенных задач.
Инструментальное программное обеспечение
Прикладное ПО служит для решения задач или классов задач в определённой области применения ПК. К нему относят пакеты прикладных программ (ППП или приложения) и оригинальные программы пользователей. ППП делятся на:
· ППП общего назначения предназначены для широкого круга пользователей в различных проблемных областях. К ним относят текстовые, графические и табличные процессоры, трёхмерные аниматоры, СУБД, интегрированные ППП, САПР, оболочки экспертных систем, редакторы HTML (Web-редакторы), обозреватели (для просмотра электронных документов на локальном ПК или в Интернет), музыкальные редакторы, настольные издательские системы и др.
· Проблемно- ориентированные ППП для решения задач узкого класса (банковские, бухгалтерские ППП, ППП финансового менеджмента, справочные системы и др.).
Инструментальные средства информационных систем (ГИС-21, ПИ-21, ИТМ-21)
· Методо- ориентированные ППП, в основе которых лежат, прежде всего, метод решения задачи: математического программирования (линейного, динамического и др.), сетевого планирования и управления, теории массового обслуживания, математической статистики и др.
Инструментальные программные средства (системы программирования) используются для разработки различных программ, включая системное программное обеспечение.
Инструментальные программные средства (системы программирования)- это интегрированные инструментальные средства, обеспечивающие все основные функции по разработке программ: создание и редактирование исходного модуля, трансляция, создание загрузочного модуля и их выполнения, отладка, тестирование, сохранение и документирование и т.д. Современные системы программирования поддерживают все технологические этапы проектирования, программирования, тестирования и отладки программ, предоставляя программистам мощные и удобные средства для разработки программ.
А состав инструментальных средств входят (рисунок 5.2):
· редакторы программного кода;
· трансляторы с различных языков программирования, осуществляющие перевод текстов программ с входного языка программирования на машинный язык;
· редакторы связей, объединяющие отдельные части программ в единое целое, создающие загрузочный модуль;
· отладчики, позволяющие обнаруживать и устранять ошибки в программах;
· интегрированные среды разработчиков, объединяющие перечисленные выше компоненты е единую систему, удобную для разработчиков программ;
· системы быстрой разработки программных приложений (RAD).
Рисунок 5.2 Основные этапы обработки программ в ПК
Исходный модуль- текст алгоритма задачи, описанный средствами языка программирования. Исходный модуль переводится в последовательность команд ПК с помощью транслятора (компилятора или интерпретатора). Компилятор транслирует исходный модуль в машинный код, называемый объектным модулем, за один непрерывный процесс. А интерпретатор выполняет исходный модуль в режиме «оператор- за- оператором».
Инструментальные средства информационных систем (ГИС-21, ПИ-21, ИТМ-21)
Объектный модуль выполняться не может т.к. может содержать неразрешенные ссылки на другие модули или программы. Поэтому объектный модуль обрабатывается редактором связей. Редактор связей разрешает все внешние ссылки и создает загрузочный модуль.
Загрузчик определяет для загрузочного модуля абсолютные адреса в оперативной памяти. После этого программа может выполняться.
Иногда функции редактора связей и загрузчика выполняет одна программа- редактирующий загрузчик (Turbo Pascal).
Для отладки программ используются отладочные средства, трассировщики, тестирующие и др. средства как в системе программирования, так и автономно.
Языки программирования Fortran, Algol, Cobol, Pascal, PL/1, C — компиляторного типа. Forth, LOGO, APL — интерпретаторного типа. Basic, Lisp- трансляторы обоих типов.
Реализация любого языка может быть как компиляторного, так и интерпретаторного типа. Основное преимущество компиляторных языков- скорость выполнения программы. Но интерпретируемые языки более предпочтительны для программ диалогового типа, отладка проходит без выхода из интерпретатора, что сокращает время и упрощает отладку.
Таблица 5.1 Поколения языков программирования
Поколения ПС | Языки и системы программирования | Характерные черты ПС |
1-е поколение | Машинные | Машинно-зависимые, быстрые, сложны для освоения, требуют хорошего знания архитектуры ЭВМ |
2-е поколение | Ассемблера, макроассемблеры | В отличии от предыдущих более удобны для использования, быстрые |
3-е поколение | Языки программирования высокого уров-ня (Fortran, Algol, Cobol, Pascal, C, PL/1, Forth, LOGO, APL, Basic, Modula и др.) | Во многом мобильные, более человеко-ориентированные, проще в освоении, более медленные |
4-е поколение | Непроцедурные языки, генераторы отчетов, объектно-ориентированные языки, языки запросов, параллельные языки | Ориентированы на непрофессионала, на ЭВМ с параллельной архитектурой |
5-е поколение | Языки искусственного интеллекта, экспертных систем и баз знаний, естественные языки. | Повышение интеллектуального уровня ЭВМ и интерфейса с ними. |
Языки 1- го уровня- машинные- набор машинных команд в бинарном коде. Языки 2- го уровня- ассемблеры- вместо бинарных форматов машинных команд используют их мнемоническое символьное обозначение. Программы, составленные на языках ассемблера, затруднительны в чтении, трудоемки при отладке, требуют больших усилий для переноса на другие типы ЭВМ. Сейчас используются при создании высокоэффективных программ (минимального по времени и максимального по быстродействию), хотя ограниченно, т.к. ИПО располагает весьма эффективными ЯВУ, да и требования к оптимизации основных ресурсов ЭВМ становятся не столь жесткими.
Языки 3- го поколения носят явно выраженный процедурный характер, т.е. программы определяют не только что нужно сделать, но и как это сделать. Сейчас существуют свыше 2000 различных ЯВУ. Они составляют основу ИПО.
Языки 4- го поколения носят явно непроцедурный характер. Программы на них описывают только что, но не как надо сделать. Типичные непроцедурные языки:
1. Языки параллельного программирования ориентированы на создание СПО и ППО для ВС параллельной архитектуры (многомашинных и многопроцессорных ВС).
2. Объектно-ориентированные языки: Delphy, C++, SmallTalk, Objective C и др.
3. Языки для задач искусственного интеллекта: Prolog, Langin. Т.к. непроцедурные языки имеют минимальное количество синтаксических правил, они значительно более пригодны для использования недостаточно квалифицированными пользователями.
4. Языки запросов, позволяющие получить информацию из БД на основе запросов (SQL, QBE, Intellect, Ingress, Oracle). Генераторы отчетов по требованию пользователя выводят отчеты на основе данных, находящихся в БД (GIS, Mark IV). Языки запросов и генераторы отчетов позволяют приобщить к КТ широкие круги пользователей из сфер бизнеса, банков и т.д.
Естественные языки определяют следующий шаг развития языков программирования. Пользователь любого уровня освобождается от необходимости освоения каких- либо словарей, грамматики и синтаксиса.
Visual Basic широко распространен и интегрирован в приложения MS Office: Access, Excel, Word.
Язык гипертекстовой разметки HTML (Hyper Text Markup Language) разработан как компонент технологии WWW. Он позволяет описывать структуру электронного документа с полиграфическим уровнем оформления. Такой документ может содержать иллюстрации, аудио- и видеофрагменты.
Язык Perl предназначен для работы с Web-страницами.
Язык моделирования виртуальной реальности (Virtual Reality Modeling Language- VRML)- для описания сред, имитирующих 3-х мерное пространство, для создания Web-страниц. Является расширением языка HTML (для плоских изображений).
Язык Java- для создания программ, работающих в компьютерных сетях, например, для размещения динамической рекламы в компьютерных сетях (анимация, телетайпные ленты). Java- приложения «оживляют» статические картинки Web-страниц.
Контрольные вопросы:
1. Понятие и состав ПО ПК?
3. Назначение ИПО? Состав ИПО?
4. Понятие, состав и назначение служебных программ?
5. Поколения систем программирования?
6. Состав процедурных и непроцедурных языков программирования?
Источник: studopedia.su
Глава 4. Инструментальные системы
ИНСТРУМЕНТАЛЬНЫЕ ПРОГРАММНЫЕ СРЕДСТВА — это программы, которые используются в ходе разработки, корректировки или развития других прикладных или системных программ.
Инструментальные программные средства могут оказать помощь на всех стадиях разработки ПО. По своему назначению они близки СИСТЕМАМПРОГРАММИРОВАНИЯ.
К инструментальным программам, например, от носятся:
· средства компоновки программ;
· отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;
· вспомогательные программы, реализующие часто используемые системные действия;
· графические пакеты программ и т.п.
Система программирования
СИСТЕМА ПРОГРАММИРОВАНИЯ — это система для разработки новых программ на конкретном языке программирования.
Современные системы программирования обычно предоставляют пользователям мощные и удобные средства разработки программ. В них входят:
· компилятор или интерпретатор;
· интегрированная среда разработки;
· средства создания и редактирования текстов программ;
· обширные библиотеки стандартных программ и функций;
· отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;
· «дружественная» к пользователю диалоговая среда;
· многооконный режим работы;
· мощные графические библиотеки;
· утилиты для работы с библиотеками встроенный ассемблер;
· встроенная справочная служба;
· другие специфические особенности.
ТРАНСЛЯТОР (АНГЛ. TRANSLATOR — ПЕРЕВОДЧИК) — это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.
Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.
КОМПИЛЯТОР (АНГЛ. COMPILER — СОСТАВИТЕЛЬ, СОБИРАТЕЛЬ) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.
ИНТЕРПРЕТАТОР (АНГЛ. INTERPRETER — ИСТОЛКОВАТЕЛЬ, УСТНЫЙ ПЕРЕВОДЧИК) переводит и выполняет программу строка за строкой.
После того, как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы.
Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
Популярные системы программирования – Turbo Basic, Quick Basic, Turbo Pascal, Turbo C. Borland C++, Borland Delphi и др
Каждый конкретный язык ориентирован либо на компиляцию, либо на интерпретацию — в зависимости от того, для каких целей он создавался. Например, Pascal обычно используется для решения довольно сложных задач, в которых важна скорость работы программ. Поэтому данный язык обычно реализуется с помощью компилятора. С другой стороны, Basic создавался как язык для начинающих программистов, для которых построчное выполнение программы имеет неоспоримые преимущества.
Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.
Глава 5.Тенденции развития программного обеспечения
Бурный рост и быстрые темпы развития рынка ПО
Создание программного обеспечения для персональных компьютеров за последнее десятилетие превратилось из занятия отдельных программистов в важную и мощную сферу промышленности. Поэтому развитие программного обеспечения, предназначенного для широкого круга пользователей, происходит в процессе ожесточенной конкурентной борьбы между фирмами-производителями программного обеспечения. Доля некоммерческого программного обеспечения постоянно снижается и все более ограничивается программами, создаваемыми в процессе научных исследований или для собственного использования.
При разработке коммерческих программ основной задачей фирм-разработчиков является, естественно, обеспечение их успеха на рынке. Для этого необходимо, чтобы программы обладали следующими качествами:
· функциональность программы, т.е. полнота удовлетворения ею потребностей пользователя;
· наглядный, удобный, интуитивно понятный и привычный пользователю интерфейс (т.е. способ взаимодействия программы с пользователем);
· простота освоения программы даже начинающими пользователями, для чего используются информативные подсказки, встроенные справочники и подробная документация;
· надежность программы, т.е. устойчивость ее к ошибкам пользователя, отказам оборудования и т.д., и разумные ее действия в этих ситуациях.
Стандартизация и интеграция продуктов ПО
Во многих областях совместная работа различных производителей программного обеспечения приводит к стандартизации отдельных элементов интерфейса программ, форматов данных и т.д., что весьма удобно для пользователей. Это происходит прежде всего потому, что разработчики программ перенимают друг у друга удачные находки и приемы и стремятся обеспечить совместимость с другими наиболее популярными программами
Увеличение мощности программ
Важнейшей тенденцией развития программного обеспечения является неуклонное увеличение их мощности – программы могут обрабатывать большие количества данных, делать это быстрее, предоставляют пользователю больше выполняемых функций и т.д. Таким образом, разработчики программного обеспечения используют возможности, появляющиеся из-за увеличения мощности компьютеров. Весьма заметно и стремление к интеграции функций программного обеспечения..
Возможность дистанционного запуска ПО через Web
Сегодня большинство систем плавно перетекают в Web. Всемирная паутина затягивает все больше и больше приложений. Базы данных приобретают Web-интерфейсы пользователей, взамен имеющихся ранее настольных приложений. В конечном итоге, стоит ожидать, что конечному пользователю будет нужен лишь веб-браузер, чтобы иметь возможность удовлетворять все возможные потребности в программном обеспечении. В данном случае пользователю все равно, какая операционная система управляет локальным компьютером, главное — надежность и производительность сервера. (Например, пакет Microsoft Office может быть установлен на удаленных серверах, а не на системах конечных пользователей, но запуск приложений при этом будет происходить не менее быстро, чем на локальных ПК). Таким образом, все программы получат возможность как локального исполнения, так и дистанционного запуска через Web.13
ЗАКЛЮЧЕНИЕ
В данной работе было рассмотрено, что представляет собой программное обеспечение. Названо три основных его разновидностей, а именно: прикладное, системное и инструментальное программное обеспечение. Каждый вид ПО, его задачи, сферы применения разобраны в отдельности. Обозначили основные тенденции развития ПО
Библиографический список
Википедия ”Программное обеспечение компьютера”
Источник: zdamsam.ru