Please enable JavaScript.
Coggle requires JavaScript to display documents.
Инструментальные средства разработки ПО - Coggle Diagram
Инструментальные средства разработки ПО
Основные сведения
необходимые- те, без которых невозможно в принципе получить исполняемый код;
редакторы текстов;
компиляторы и ассемблеры;
компоновщики или редакторы связей (linkers);
часто используемые – средства, использования которых, в отличие от необходимых, можно избежать. Но без них процесс разработки весьма затрудняется и удлиняется;
утилиты автоматической сборки проекта;
отладчики;
программы создания инсталляторов;
редакторы ресурсов;
профилировщики;
программы поддержки версий;
программы создания файлов помощи (документации).
специализированные – используются в исключительных случаях, решают довольно специфичные задачи:
программы отслеживания зависимостей;
дизассемблеры;
декомпиляторы;
hex-редакторы;
программы-вериферы и контейнеры (создают виртуальную средудля отдельных классов программ, в которой можно исследовать поведение программы)
программы отслеживания активности системы и изменений, происходящих в системе;
интегрированные среды – содержат большую часть из приведенных
выше программ и позволяют осуществлять
фирма-производитель, автор (зачастую имя производителя значит больше, чем все остальное).
название продукта;
номер последней версии;
класс продукта, который установил для него производитель (например, HackersViewer, который включает в себя неплохой дизассемблер и редактор PE-файлов, поставляется просто как hex-редактор);
тип дистрибьюции программы (с открытыми кодами/бесплатная (freeware)/условно-бесплатная (shareware)/платная) и стоимость; - наличие и тип поддержки, ее стоимость;
доступность и качество документации;
простота и понятность интерфейса;
наличие пробных версий (для платных программ); - сайт программы и возможность ее скачки;
размер дистрибутива и его состав;
дополнительные (не основные) возможности, предоставляемые программой;
Обычные программы (не интегрированные среды)
Компиляторы (ассемблеры) и редакторы связей
Для компиляторов можно указать следующие характеристики: - язык, с которого производится компиляция;
диалект/стандарт языка;
аппаратные платформы и ОС, для которых может формироваться объектный и исполнимый файл;
наличие возможности и качество оптимизации кода;
форматы поддерживаемых объектных, библиотечных и исполнимых файлов;
Представители
C/C++: Intel C++ Compiler (Intel), Borland C++ Compiler, Watcom C++, GNU C.
Pascal: Free Pascal, GNU Pascal
Редакторы текстов
Характеристики:
формат и кодировка обрабатываемых файлов;
возможность выделения лексем в тексте;
возможность поддержки оформления текста в соответствии с парадигмами языка;
возможность вызывать процесс компиляции прямо из редактора; - возможность генерации части текста программы (чаще бывает не у редакторов, а у сред).
Отладчики
отладчики пользовательского режима;
отладчики режима ядра;
Характеристики:
тип (режима ядра/пользовательский);
поддержка символьной отладки (способность читать исходные коды программы и работать с ними). Набор поддерживаемых языков (сред/диалектов);
набор отображаемой информации: регистры процессора, стек, память (режимы отображения содержимого памяти);
поддерживаемые режимы отладки: пошаговый, с точками останова, с реакцией на события в системе;
состав отслеживаемых событий в системе: аппаратные прерывания, обращения к драйверу (другому модулю ядра), вызов функции и т.д.
(обычно для отладчиков режима ядра) требования к аппаратной поддержке, возможность работы на «живой» системе;
возможность анализа файлов дампа.
Представители.
Отладчики режима ядра: i386kd/alphakd/ia64kd и WinDbg (Microsoft Corporation) (для работы в “живую” требуют 2 машины. Для обхода этого ограничения существует надстройка LiveKd (Mark E. Russinovich)), SoftIce (NuMega).
Отладчики пользовательского режима: Turbo Debugger (Borland Software Corporation), Cool Debugger (Wei Bao), W32Dasm
Программы создания инсталляторов
Характеристики:
ориентированны на использование 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;
Программы создания файлов помощи
Характеристики:
форматы поддерживаемых выходных файлов (hlp, chm, html, pdf, …);
средства, необходимые для работы с файлами документации; - возможность конвертирования из других распространенных форматов;
возможность структурирования информации в файле помощи; - возможность организации поиска по документации;
возможность интеграции в существующие среды (например, для библиотеки COM – объектов возможность вызывать справку по ней при нажатии F1, если курсор стоит на объекте из этой библиотеки)
возможность автоматической генерации помощи (или заготовки) по описанию библиотеки, COM-объекта.
Представители.
RoboHelp (), Anet Help Tool, Help and Manual, Visual CHM, Adobe Acrobat (Adobe)
Дизассемблеры и декомпиляторы;
Характеристики:
поддерживаемые языки (компиляторы).
возможность использования символьной информации о файле (отладочной и др.)
возможность интерактивной работы с листингом (замены имен переменных и функций, отслеживания вызовов, модификация кода)
Представители.
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.)
Интегрированные среды
Представители.
:Microsoft Visual Studio (.Net) (Microsoft Corp.), Borland Delphi, Borland C++ Builder, Kylix (Borland Software Corporation), NuMega Driver Studio (NuMega), Eclipse (IBM).