Инструментальное программное обеспечение
Инструментальное ПО (средства разработки программ) используется для разработки нового программного обеспечения, как системного, так и прикладного.
Инструментарий технологии программирования включает следующие виды программ:
1) средства для создания приложений (программ):
2) средства для создания информационных систем (CASE-технологии). Позволяют поддерживать коллективную работу над проектом за счет возможности работы в локальной сети, экспорта - импорта любых фрагментов проекта, организации управления проектом.
В состав средств создания приложений входят (рис. 6.6):
· языки программирования;
· трансляторы;
· редакторы связей.
Язык программирования - формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.
Трансляторы предназначены для преобразования программ, написанных на языках программирования, в программы на машинном языке. Программа, подготовленная на каком-либо языке программирования, называется исходным модулем.
Транслятор преобразует исходный модуль в объектный модуль, являющийся входной информацией для редактора связей. Объектный модуль содержит текст программы на машинном языке и дополнительную информацию, обеспечивающую настройку модуля по месту его загрузки и объединение этого модуля с другими независимо оттранслированными модулями в единую программу. Трансляторы делятся на два класса: компиляторы и интерпретаторы.
Компилятор переводит весь исходный модуль на машинный язык.
Интерпретатор последовательно, по мере выполнения, переводит на машинный язык операторы исходного модуля.
Редактор связей - системная обрабатывающая программа, редактирующая и объединяющая объектные модули, полученные в результате работы транслятора, в единые загрузочные, готовые к выполнению программные модули, которые загружаются ОС для выполнения в основную память.
В настоящее время все выше перечисленные компоненты объединяются в единую систему программирования (например, Delphi, Microsoft Visual Studio и др.),котораявключает в себя:
1) интегрированную среду разработчика программы, состоящую, в частности, из текстового редактора, позволяющего создавать и корректировать исходные тексты программ, средств поддержки интерфейса программиста с системными средствами для выполнения различных сервисных функций (например, сохранения или открытия файла);
2) транслятор - программу, переводящую исходный текст во внутреннее представление компьютера;
3) отладчик - программу для трассировки и анализа выполнения прикладных программ. Она позволяет отслеживать выполнение программы в пооператорном режиме, идентифицировать место и вид ошибок в программе, наблюдает за изменением значений переменных, выражений и т.д.;
4) компоновщик (редактор связей) - программа для подготовки прикладной программы к работе в конкретных адресах основной памяти компьютера;
5) справочные системы;
6) средства оптимизации кода программ;
7) набор библиотек (возможно с исходными текстами программ);
8) утилиты для работы с библиотеками, текстовыми и двоичными файлами;
9) документатор исходного кода программы;
10) систему поддержки и управления проектом программного комплекса;
Средства поддержки проектов - новый класс программного обеспечения, предназначенный для:
· отслеживания изменений, выполненных разработчиками программ;
· поддержкой версий программы с автоматической разноской изменений;
· получения статистики о ходе работ проекта.
Условно, языки программирования можно разделить на следующие классы (см. рис. 6.7). Более подробно языки программирования будут рассмотрены в лекции 12.
Рис. 6.7. Классы языков программирования
Вопросы и задания для самопроверки:
1. Дайте определение программы и программного обеспечения.
2. Раскройте иерархию программного обеспечения.
3. Базовое ПО.
4. Системный уровень ПО.
5. Для чего предназначен драйвер?
6. Что включает в себя ядро операционной системы?
7. Служебный уровень ПО.
8. Классификация ПО.
9. Дайте определение операционной системы. Какие функции она выполняет?
10. Классификация ОС.
11. Виды интерфейсов пользователя.
12. Сетевое ПО.
13. Дайте определение утилиты. Приведите примеры утилит.
14. Операционная среда.
15. Операционные оболочки (файловые менеджеры).
16. Классификация прикладного ПО.
17. Проблемно-ориентированное ПО.
18. Методо-ориентированное ПО.
19. Оригинальное ПО.
20. Инструментальное ПО.
21. Дайте определение транслятора, компилятора, интерпретатора, отладчика, компоновщика, редактора связей.
22. Классы языков программирования.
23. Из предложенного списка выберите программы относящиеся к системному, базовому, прикладному и инструментальному ПО: Oracle, ACDSee, Paint, Windows NT, Windows Commander, Scandisk, WinRar, Delphi, Microsoft Office PowerPoint 2003.
24. Из предложенного списка выберите многопользовательские операционные системы: MS DOS, Windows 95, Windows 98, Windows 2000, Windows XP, Unix.
25. Из предложенного списка выберите утилиты: WinRar, Антивирус Касперского AVP, CorelDraw, Outlook Express, Netscape.
26. Из предложенного списка выберите логический и функциональный языки программирования: Prolog, Fortran, Ада, Cи, Лисп.