Инструментальное программное обеспечение, его назначение и состав

Автор: Пользователь скрыл имя, 09 Января 2012 в 23:46, реферат

Описание работы

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

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

Работа содержит 1 файл

Задание.doc

— 82.00 Кб (Скачать)

    Задание:

    Инструментальное  программное обеспечение, его назначение и состав. 
 

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

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

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

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

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

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

     Виды  инструментального  ПО:

     - Текстовые редакторы;

     - Интегрированные среды разработки;

     - SDK;

     - Компиляторы;

     - Интерпретаторы;

     - Линковщики;

     - Парсеры;

     - Ассемблеры;

     - Отладчики;

     - Профилировщики;

     - Генераторы документации;

     - Средства анализа покрытия кода;

     - Средства непрерывной интеграции;

     - Средства автоматизированного тестирования;

     - Системы управления версиями;

     - и др.  

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

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

     Другие  текстовые редакторы имеют расширенные  функции форматирования текста, внедрения в него графики и формул, таблиц и объектов. Такие редакторы часто называют текстовыми процессорами и предназначены они для создания различного рода документов, от личных писем до официальных бумаг. Классический пример — Microsoft Word.

     Ещё один класс программ этой группы - текстовые  рабочие среды. По сути, такие среды  представляют собой полноценную  рабочую среду, в которой можно решать самые разнообразные задачи: с помощью надстроек они позволяют писать и читать письма, веб-каналы, работать в вики и Вебе, вести дневник, управлять списками адресов и задач. Представители этого класса — Emacs, Archy, Vim и Acme из операционной системы Plan 9. Такие программы могут служит средами разработки программного обеспечения. В любом случае, последние всегда содержат текстовый редактор как необходимый инструмент программирования.

     Популярные  текстовые редакторы

     GridinSoft Notepad — текстовый редактор с проверкой орфографии на 7 языках.

     BDV Notepad — Заменитель Блокнота для Windows, содержит дополнительные функции для редактирования текста, бесплатен.

     EditPlus — текстовый редактор для Windows, предназначенный для программирования и веб-разработки.

     Emacs  Открытая программа. — Имеет мощный и очень гибкий настраиваемый интерфейс, поддерживает макросы.

     EmEditor — платный редактор для Windows-систем. Обеспечивает подсветку текста для разных форматов, модулей, однако интерфейс требует изучения.

     JEdit. Открытая программа. — кросс-платформенный редактор, написанный на языке Java.

     Kate. Открытая программа. — Мощный расширяемый текстовый редактор с подсветкой синтаксиса для массы языков программирования и разметки (модули подсветки можно автоматически обновлять по сети). Гибкий настраиваемый интерфейс. Входит в состав KDE.

     Notepad — входит в состав Windows.

     SciTE. Открытая программа. Редактор с подсветкой синтаксиса для многих языков программирования, фолдингом. Широкие возможности настройки и автоматизации.

     Vim. Открытая программа. Разделяет процесс редактирования на режим ввода и командный. Даёт неограниченные возможности настройки и автоматизации.

     GNU nano. Редактор для командной строки.

     Pspad Текстовый редактор с подсветкой синтаксиса, поддержкой скриптов и инструментами для работы с HTML-кодом.

     TEA. Редактор с сотням функций обработки текста и разметки в HTML, LaTeX, Docbook 
 

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

     Обычно  среда разработки включает в себя текстовый редактор, компилятор и/или интерпретатор, средства автоматизации сборки и отладчик. Иногда также содержит систему управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. Хотя и существуют среды разработки, предназначенные для нескольких языков — такие как Eclipse или Microsoft Visual Studio, обычно среда разработки предназначается для одного определенного языка программирования — как например, Visual Basic.

     Примеры сред разработки — Turbo Pascal, Borland C++, GNU toolchain, DrPython, Delphi.

     Визуальное программирование

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

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

     Основы

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

     Некоторые компиляторы (например, Java) переводят программу не в машинный код, а в программу на некотором специально созданном низкоуровневом языке. Например, для языка Java это язык Java Virtual Machine, JVM — язык виртуальной машины Java, или так называемый байт-код Java. Для языков программирования на платформе .NET Framework (C#, Managed C++, Visual Basic .NET и другие) это так называемый MSIL (Microsoft Intermediate Language), или «Промежуточный язык фирмы Майкрософт». Далее программа на этом промежуточном языке подлежит интерпретации либо ещё одной компиляции в код целевой машины непосредственно перед исполнением (для Java это делает «Just-In-Time compiler» (JIT)).

     Для каждой целевой машины (IBM, Apple и т. д.) и каждой операционной системы или семейства операционных систем, работающих на целевой машине, требуется написание своего компилятора. Существуют также так называемые «кросс-компиляторы», позволяющие на одной машине и в среде одной ОС получать код, предназначенный для выполнения на другой целевой машине или в среде другой ОС. Кроме того, компиляторы для одной и той же целевой машины могут быть оптимизированы под разные процессоры. Например, компилятор, оптимизированный под процессоры фирмы Intel, создаёт машинный код, который быстрее всего выполняется на компьютерах с этими процессорами.

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

     Структура компилятора

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

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

     Компоновка (англ. linking, linkage). Все необходимые объектные файлы собираются вместе. Далее происходит процесс разрешения ссылок — все внешние по отношению к каждому отдельному модулю ссылки должны быть разрешены, то есть для каждой из них должна быть поставлена в соответствие конкретная функция из другого модуля программы, либо из внешней библиотеки. Например, если в модуле вызывается функция операционной системы, которая рисует на экране линию, то компилятор «верит на слово», что такая функция существует. В процессе сборки этой ссылке должна быть сопоставлена конкретная функция из конкретной библиотеки (для Windows — это как правило DLL, для Linux — SO) операционной системы. Кроме того при генерации исполняемого файла (для Windows — exe-файл) должны быть соблюдены требования операционной системы к формату исполняемых файлов. Поэтому процесс сборки зависит от операционной системы, а зачастую — и от версии операционной системы.

     Примеры компиляторов: GCC, Free Pascal Compiler. 
 

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

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

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

Информация о работе Инструментальное программное обеспечение, его назначение и состав