Please enable JavaScript.
Coggle requires JavaScript to display documents.
Инструментальные средства разработки ПО. - Coggle Diagram
Инструментальные средства разработки ПО.
Основные сведения
необходимые
те, без которых невозможно в принципе получить
исполняемый код;
К необходимым можно отнести:
редакторы текстов;
компиляторы и ассемблеры;
компоновщики или редакторы связей (linkers);
часто используемые
средства, использования которых, в отличие
от необходимых, можно избежать. Но без них процесс разработки
весьма затрудняется и удлиняется;
Из часто используемых средств стоит назвать:
утилиты автоматической сборки проекта;
отладчики;
программы создания инсталляторов;
редакторы ресурсов;
профилировщики;
программы поддержки версий;
программы создания файлов помощи (документации).
специализированные
используются в исключительных случаях,
решают довольно специфичные задачи:
программы отслеживания зависимостей;
дизассемблеры;
декомпиляторы;
hex-редакторы;
программы отслеживания активности системы и изменений,
происходящих в системе;
программы-вериферы и контейнеры (создают виртуальную среду
для отдельных классов программ, в которой можно исследовать
поведение программы)
и т.д.
интегрированные среды
содержат большую часть из приведенных
выше программ и позволяют осуществлять
В каждом классе существуют огромное число продуктов, каждый со
своими особенностями, достоинствами и недостатками.
Дадим краткую характеристику названным классам программ и приведем
некоторые критерии оценки, по которым можно сравнивать программы из
одного класса.
1.1.Обычные программы (не интегрированные среды)
Компиляторы
Для компиляторов можно указать следующие характеристики:
язык, с которого производится компиляция;
диалект/стандарт языка;
аппаратные платформы и ОС, для которых может формироваться
объектный и исполнимый файл;
наличие возможности и качество оптимизации кода;
форматы поддерживаемых объектных, библиотечных и
исполнимых файлов;
Представители.
C/C++: Intel C++ Compiler (Intel), Borland C++ Compiler, Watcom C++,
GNU C.
Pascal: Free Pascal, GNU Pascal
Редакторы текстов
Характеристики:
формат и кодировка обрабатываемых файлов;
возможность выделения лексем в тексте;
возможность поддержки оформления текста в соответствии с
парадигмами языка;
возможность вызывать процесс компиляции прямо из редактора;
возможность генерации части текста программы (чаще бывает не
у редакторов, а у сред).
Отладчики
Предназначены для пошагового отслеживания работы программы,
слежения за изменением ее и системных переменных, изменением состояния
процессора во время работы программы и т.д.
Различают два основных типа отладчиков:
отладчики пользовательского режима;
отладчики режима ядра;
Программы создания инсталляторов
Характеристики:
ориентированны на использование Windows Installer или
используют свои средства;
возможность автоматического отслеживания зависимостей
исполнимых файлов и разделяемых библиотек;
наличие встроенного языка сценариев;
возможность и пределы, в которых можно изменять поведения
мастера инсталляции;
возможность использования и поддержка национальных языков;
функции, поддерживаемые в процессе установки (кроме
копирования файлов):
a) создание ключей реестра;
b) регистрация COM-объектов;
c) перезагрузка системы после или в процессе установки;
возможность удаления установленной программы;
возможность контроля версий устанавливаемой программы
(перезапись, если необходимо) и разделяемых библиотек;
возможность и степень сжатия дистрибутива;
возможность создания дистрибутива, состоящего из одного, или
заданного количества файлов;
Представители.
InstallShield (Install Shield Corp.), Wise InstallMaster Setup (Wise Solutions),
Factory (Indigo Rose Corp.), Ghost Installer Studio;
GkSetup (Gero Kuehn), Nullsoft Install System (Nullsoft), GP-Install (Quality
Software Components), Little Setup Builder (
http://www.ammasw.eboard.com
),
Inno Setup (
http://www.gentee.com
), Setup Generator
(
http://www.jrsoftware.org
), Ghost Installer (
http://www.ginstall.com
).
Редакторы ресурсов
Характеристики:
состав поддерживаемых ресурсов;
возможность работы с нестандартными ресурсами;
возможности импорта и экспорта ресурсов.
Представители.
Borland Resource Workshop, eXe Scope, Resource Builder (SiComponents),
Resource Explorer (
http://batry.hypermart.net
).
Профилировщики
Характеристики:
поддерживаемые платформы;
возможности кросс-профилировки (эмуляции системы);
вид выдаваемых данных (графики, гистограммы, таблицы);
Представители.
Intel VTune (Intel), AMD Code Analyst (AMD).
Программы поддержки версий
Представители.Представители.
Visual Source Safe (Microsoft Cor.), Nexus Safe Source;
Дизассемблеры и декомпиляторы;
Характеристики:
поддерживаемые языки (компиляторы).
возможность использования символьной информации о файле
(отладочной и др.)
возможность интерактивной работы с листингом (замены имен
переменных и функций, отслеживания вызовов, модификация
кода)
Представители.
Interactive DisAssembler (Data Resource), Sourcer, Decafe Pro, DeDe,
Программы отслеживания активности системы и
изменений, происходящих в системе;
Характеристики
тип отслеживаемых изменений/активности;
возможность протоколирования (логирования);
возможность фильтрации получаемой информации;
возможность уведомления;
Представители.
Microsoft: Spy++, Process Viewer, ApiMon, SysMon (для Win2000/XP –
ActiveX компонент для mmc).
Winternals Systems (Mark E. Russinovich): RegMon, FileMon, HandleEx.
Программы-вериферы и контейнеры.
Создают виртуальную среду для отдельных классов программ, в которой
можно исследовать поведение программы):
Представители.
Driver Verifier, ActiveX Control Test Container (Microsoft Corp.)
Программы создания файлов помощи (документации).
Характеристики:
форматы поддерживаемых выходных файлов (hlp, chm, html, pdf,
...);
средства, необходимые для работы с файлами документации;
возможность конвертирования из других распространенных
форматов;
возможность структурирования информации в файле помощи;
возможность организации поиска по документации;
возможность интеграции в существующие среды (например, для
библиотеки COM – объектов возможность вызывать справку по
ней при нажатии F1, если курсор стоит на объекте из этой
библиотеки)
возможность автоматической генерации помощи (или заготовки)
по описанию библиотеки, COM-объекта.
Представители.
RoboHelp (), Anet Help Tool, Help and Manual, Visual CHM, Adobe Acrobat
(Adobe)
1.2.Интегрированные среды
Microsoft Visual Studio (.Net) (Microsoft Corp.), Borland Delphi, Borland C++
Builder, Kylix (Borland Software Corporation), NuMega Driver Studio (NuMega),
Eclipse (IBM).