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
Редакторы текстов
.
Характеристики:
формат и кодировка обрабатываемых файлов;
возможность выделения лексем в тексте;
возможность поддержки оформления текста в соответствии с парадигмами языка;
возможность вызывать процесс компиляции прямо из редактора; - возможность генерации части текста программы (чаще бывает не у редакторов, а у сред).
Отладчики
Различают два основных типа отладчиков:
отладчики пользовательского режима;
отладчики режима ядра;
,
Характеристики:
тип (режима ядра/пользовательский);
поддержка символьной отладки (способность читать исходные коды программы и работать с ними). Набор поддерживаемых языков (сред/диалектов);
набор отображаемой информации: регистры процессора, стек, память (режимы отображения содержимого памяти);
поддерживаемые режимы отладки: пошаговый, с точками останова, с реакцией на события в системе;
состав отслеживаемых событий в системе: аппаратные
прерывания, обращения к драйверу (другому модулю ядра), вызов функции и т.д.
(обычно для отладчиков режима ядра) требования к аппаратной поддержке, возможность работы на «живой» системе;
возможность анализа файлов дампа.
Представители.
Отладчики пользовательского режима: Turbo Debugger (Borland Software Corporation), Cool Debugger (Wei Bao), W32Dasm
Отладчики режима ядра: i386kd/alphakd/ia64kd и WinDbg (Microsoft Corporation) (для работы в “живую” требуют 2 машины. Для обхода этого ограничения существует надстройка LiveKd (Mark E. Russinovich)), SoftIce (NuMega).
Программы создания инсталляторов
Представители.
.
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
).
Характеристики:
.
ориентированны на использование Windows Installer или используют свои средства;
5
МДК 02.02
Лекция 1.
возможность автоматического отслеживания зависимостей исполнимых файлов и разделяемых библиотек;
наличие встроенного языка сценариев;
возможность и пределы, в которых можно изменять поведения мастера инсталляции;
возможность использования и поддержка национальных языков; - функции, поддерживаемые в процессе установки (кроме копирования файлов):
a) создание ключей реестра;
b) регистрация COM-объектов;
c) перезагрузка системы после или в процессе установки;
возможность удаления установленной программы;
возможность контроля версий устанавливаемой программы (перезапись, если необходимо) и разделяемых библиотек;
возможность и степень сжатия дистрибутива;
возможность создания дистрибутива, состоящего из одного, или заданного количества файлов;
Редакторы ресурсов
Характеристики:
.
состав поддерживаемых ресурсов;
возможность работы с нестандартными ресурсами;
возможности импорта и экспорта ресурсов.
Представители.
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.)