ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ (ГОСТ 19781-90). Также — совокупность программ, процедур и правил, а также документации, относящихся к функционированию системы обработки данных (СТ ИСО 2382/1-84).
ИНСТРУМЕНТАЛЬНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ – программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ. Обычно этот термин применяется для акцентирования отличия данного класса ПО от прикладного и системного программного обеспечения.
КОМПИЛЯТОР – транслятор, выполняющий преобразование программы, составленной на исходном языке, в объектный модуль.
ИНТЕРПРЕТАТОР – программа (иногда аппаратное средство), анализирующая команды или операторы программы и тут же выполняющая их.
ОПЕРАЦИОННАЯ СИСТЕМА — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений.
Инструментальное Програмное Обеспечение
ПРИКЛАДНАЯ ПРОГРАММА — программа, предназначенная для выполнения определенных пользовательских задач и рассчитанная на непосредственное взаимодействие с пользователем.
VISUAL BASIC — средство разработки программного обеспечения, разрабатываемое корпорацией Microsoft и включающее язык программирования и среду разработки.
VISUAL BASIC FOR APPLICATION — немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а также во многие другие программные пакеты, такие как AutoCAD, SolidWorks, CorelDRAW, WordPerfect и ESRI ArcGIS.
Цель работы – исследование видов, функций программного обеспечения, в частности, инструментального.
Классификация программного обеспечения:
a) Прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ;
b) системные программы, предназначены для управления работой вычислительной системы, выполняют различные вспомогательные функции, например:
c) инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.
Виды инструментального программного обеспечения:
1) Текстовые редакторы
2) Интегрированные среды разработки
7) Парсеры и генераторы парсеров (см. Javacc)
11) Генераторы документации
12) Средства анализа покрытия кода
13) Средства непрерывной интеграции
14) Средства автоматизированного тестирования
15) Системы управления версиями и др.
Для создания программы на выбранном языке программирования нужно иметь следующие компоненты:
1. Текстовый редактор для создания файла с исходным текстом программы.
Интерактивное учебное пособие по учебной дисциплине «Инструментальное программное обеспечение»
2. Компилятор или интерпретатор. Исходный текст с помощью программы-компилятора переводится в промежуточный объектный код.
3. Редактор связей или сборщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение — исполнимый код.
Результат работы: Рассмотрено программное обеспечение, его функции и виды, в частности инструментальное программное обеспечение, его сущность, задачи. В третьей главе рассмотрен Microsoft Visual Basic как средство разработки программного обеспечения и его диалект — Microsoft Visual Basic for Application. В курсовой работе реализован алгоритм решения финансово-экономической задачи с использованием языка программирования Pascal.
В современном мире уже не один человек, попробовавший блага цивилизации, не может представить свою жизнь без использования компьютерной техники. Ее использование происходит в любой сфере человеческой жизнедеятельности: производстве, торговле, обучении, развлечении и общении людей, их научной и культурной деятельности. Все это благодаря возможности подбора компьютерной техники для решения любой, даже самой сложной задачи.
Однако и универсальность и специализированность компьютерной техники обеспечивается использованием на базе практически любой ЭВМ различного набора программного обеспечения, обеспечивающих решение любых поставленных задач.
Все мы видим огромное многообразие компьютерных программ и ошеломляющие темпы их роста и совершенствования, и лишь малая часть из нас представляет невидимую сторону по их проектированию, разработке и созданию. Однако данная сфера компьютерных технологий является на наш взгляд наиболее важной, так как именно от ее развития будет зависеть бедующее компьютерных технологий.
А так как разработка любой компьютерной программы происходит с использованием Инструментального программного обеспечения, то в нашей курсовой работе хотелось бы подробно остановиться именно на нем, выделив его из всего программного обеспечения и раскрыв его сущность и особенности.
Для наглядности мы рассмотрим инструментальное программное обеспечение (объект исследования) на примере программного комплекса Visual Basic for Application (предмет исследования), применяемого для программирования в среде Microsoft Office – самого распространенного и популярного офисного пакета.
1. Программное обеспечение 1.1 Понятие и сущность программного обеспечения
Программное обеспечение (ПО) – неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств любого компьютера. Сфера применения конкретного компьютера определяется созданным для него ПО. Сам по себе компьютер не обладает знаниями ни в одной области применения. Все эти знания сосредоточены в выполняемых на компьютерах программах, которые имеют набор определенных функциональных возможностей и предназначены для выполнения конкретных, в большинстве случаев, узкоспециализированных функций, таких например как создание и обработка графических изображений или звуковых файлов.
Программное обеспечение в настоящее время составляет сотни тысяч программ, которые предназначены для обработки самой разнообразной информации с самыми различными целями.
К программному обеспечению (ПО) относится также вся область деятельности по проектированию и разработке ПО:
1) технология проектирования программ (например, нисходящее проектирование, структурное и объектно-ориентированное проектирование);
2) методы тестирования программ;
3) методы доказательства правильности программ;
4) анализ качества работы программ;
5) документирование программ;
6) разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения, и многое другое.
Существует множество различных определений ПО. Вообще, программное обеспечение — совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ (ГОСТ 19781-90). Также — совокупность программ, процедур и правил, а также документации, относящихся к функционированию системы обработки данных (СТ ИСО 2382/1-84).
Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением.
В компьютерном сленге часто используется слово софт от английского слова software, которое в этом смысле впервые применил в статье в American Mathematical Monthly математик из Принстонского университета Джон Тьюки (англ. John W. Tukey) в 1958 году.
1) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — это совокупность программ, позволяющих осуществить на компьютере автоматизированную обработку информации.
2) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ (математическое обеспечение электронной вычислительной машины), совокупность программ системы обработки данных и программных документов, необходимых для реализации программ на электронной вычислительной машине.
3) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — совокупность программ для управления процессом работы компьютера, автоматизации программирования.
4) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ — комплекс компьютерных программ, обеспечивающий обработку или передачу данных.
Все определения похожи и отражают суть программного обеспечения – организация взаимодействия аппаратной (технической) части, в виде различных встроенных узлов и периферических устройств, их контроль и координация общего взаимодействия компьютерной системы между собою и с пользователем.
1.2 Функции программного обеспечения
Приведенные выше понятия программного обеспечения обуславливают функции, выполняемые программным обеспечением в процессе функционирования компьютерной техники. Перечень данных функций весьма разнообразен, но условно их можно разбить на следующие пять типов:
1. Аппаратно-механические. Осуществляют сопряжение различных компонентов компьютера, обеспечивают передачу аппаратного сигнала от одного компонента к другому.
2. Машинно-Логические. Обрабатывают и интерпретируют набор электромагнитных импульсов аппаратного обеспечения в логически осознанный программный код, обладающий определенной структурой и свойствами.
3. Информационно-командные. Осуществляют проверку соответствия программного кода принципам системы и создание логической структуры информации и осуществляют его исполнение.
4. Интерфейсные. Обеспечивают обработку и интерпретацию программного кода в формат отображения доступный для восприятия пользователем. Создает благоприятную среду для взаимодействия «Компьютер-Человек, Человек-Компьютер».
5. Прикладные. Осуществляет математические, логические, физические и другие действия с набором имеющихся данных, другими словами обработку имеющейся информации для решения определенных задач.
Инструментальное программное обеспечение это программы
Инструментальное программное обеспечение-программное обеспечение,предназначенное для использования входе проектирования, разработки исопровождения программ.(например, Delphi)
Системы программирования
Это комплексы программ и прочихсредств, предназначенных дляразработки и их эксплуатации на конкретном языке программированиядля конкретного вида ЭВМ.
Система программирования включает
-текстовый редактор
текст программы, написанный на конкретномалгоритмическом языке.
-программа-отладчик
отладка исходного текста программы (поиск иустранение ошибок)
-транслятор
(программа переводчик с конкретногоалгоритмического языка на машинногоориентированный)программа намашинно-ориентированном языке
-компоновщик
(редактор связей) объединяются оттранслированныемодули в единые загрузочные, готовые к выполнению
-программа, обеспечивающая запуск программы.
По способу распространения
1) Commercial Software
-программное обеспечение, созданноекоммерческой организацией с цельюполучения прибыли от его использования другими, например путемпродажи экземпляров.(Microsoft, Adobe)
2) Freeware
-программное обеспечение, котороеможет бесплатно распространятьсявсяким желающим.
3)Shareware
-тип программного обеспечения,обусловленный особенностямираспространения таких программ.В русском языке этот термининтерпретируется как«условно-бесплатное программноеобеспечение».
4)Abandonware
-программное обеспечение (операционнаясистема, текстовый процессор, компьютернаяигра или медиа-файл), которое больше невыставляется на продажукомпанией-производителем, и от которогопроизводитель больше не получает доходов. «заброшенное ПО».Например, NeXTStep, OpenStep, WordPerfect.
5)Adware
-программное обеспечение, содержащеерекламу или при использовании которогопользователю принудительно показывается реклама.
Пример,ICQ (http://www.icq.com),программа для обмена медиа-файлами,i-mesh(http://www.imesh.com),видеоконвертер DivX (http://www.divx.com) и многие другие.
6)Careware
-вид условно-бесплатного программногообеспечения shareware. Автор данного видаПО требует, чтобы оплата за него шла на благотворительность Поль Лютус (Paul Lutus).
Пример,текстовый редактор Vim (автор Брам Моленар),Satellite Finder (находит геостационарные спутники)
7)Free Software
-программное обеспечение, в отношениикоторого пользователь обладает«четырьмя свободами»:запускать,изучать,распространять,улучшать программу.
(Ричард Столлман)
Источник: www.sites.google.com
Инструментальное программное обеспечение, его назначение и состав
Инструментальное программное обеспечение — программное обеспечение (ПО), предназначенное для использования в ходе проектирования, разработки и сопровождения программ. Обычно этот термин применяется для акцентирования отличия данного класса ПО от прикладного и системного программного обеспечения.
Программное обеспечение — наряду с аппаратными средствами, важнейшая составляющая информационных технологий, включающая компьютерные программы и данные, предназначенные для решения определённого круга задач и хранящиеся на машинных носителях. Программное обеспечение представляет собой либо данные для использования в других программах, либо алгоритм, реализованный в виде последовательности инструкций для процессора.
Работа содержит 1 файл
Инструментальное программное обеспечение, его назначение и состав.
Инструментальное программное обеспечение — программное обеспечение (ПО), предназначенное для использования в ходе проектирования, разработки и сопровождения программ. Обычно этот термин применяется для акцентирования отличия данного класса ПО от прикладного и системного программного обеспечения.
Программное обеспечение — наряду с аппаратными средствами, важнейшая составляющая информационных технологий, включающая компьютерные программы и данные, предназначенные для решения определённого круга задач и хранящиеся на машинных носителях. Программное обеспечение представляет собой либо данные для использования в других программах, либо алгоритм, реализованный в виде последовательности инструкций для процессора.
Прикладное программное обеспечение (прикладное ПО, прикладные программы) — программы, предназначенные для выполнения определенных пользовательских задач и рассчитанные на непосредственное взаимодействие с пользователем. В отличие от прикладного, системное программное обеспечение (операционная система) используется для обеспечения работы компьютера самого по себе и выполнения прикладных программ.
Системное программное обеспечение — это набор программ, которые управляют компонентами вычислительной системы, такими как процессор, коммуникационные и периферийные устройства, а также которые предназначены для обеспечения функционирования и работоспособности всей системы.
Большинство из них отвечают непосредственно за контроль и объединение в единое целое различных компонентов аппаратного оборудования вычислительной системы.
Системное программное обеспечение противопоставляется прикладному программному обеспечению, которое напрямую решает проблемы пользователя.
Виды инструментального ПО:
— Интегрированные среды разработки;
— Средства анализа покрытия кода;
— Средства непрерывной интеграции;
— Средства автоматизированного тестирования;
— Системы управления версиями;
Текстовый редактор — компьютерная программа, предназначенная для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска в них и т. п.
Некоторые текстовые редакторы обеспечивают также расширенную функциональность, такую как подсветка синтаксиса, сортировка строк, шаблоны, конвертация кодировок и т. п. Такая функциональность часто характерна для редакторов кода, предназначенных для написания исходных кодов компьютерных программ.
Другие текстовые редакторы имеют расширенные функции форматирования текста, внедрения в него графики и формул, таблиц и объектов. Такие редакторы часто называют текстовыми процессорами и предназначены они для создания различного рода документов, от личных писем до официальных бумаг. Классический пример — 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.
Интерпретатор (языка программирования) — программа для непосредственного исполнения программ (производства вычислений, предписываемых этими программами) из исходного кода на определенном языке.
Простые интерпретаторы анализируют и выполняют (интерпретируют) программу последовательно (покомандно или построчно). Синтаксические ошибки обнаруживаются такими интерпретаторами только когда интерпретатор приступает к выполнению команды (строки) содержащей ошибку, это может быть удобно начинающим.
Более сложные интерпретаторы (называемые интерпретаторами компилирующего типа) перед выполнением производят компиляцию исходного кода программы в машинный или некий «промежуточный» код, и только после этого приступают к выполнению. И поэтому все синтаксические ошибки обнаруживаются до выполнения. Такие интерпретаторы быстрее выполняют большие и циклические программы, т.к. не занимаются анализом исходного кода (в т.ч избыточным, например, в циклах) в реальном времени, но могут быть сложны для начинающих.
Источник: www.stud24.ru