Информатика и компьютерные технологии 2006. Программа международной студенческой научно-технической конференции. ДонНТУ, ФВТИ, 13.12.2006.
Анискин С.В., Мальчева Р.В.
Донецкий национальный технический университет
В работе рассматриваются наиболее известные и популярные инструментальные средства в области документирования программного кода. Анализ средств осуществляется с точки зрения конечного пользователя.
Введение
Вопросы документирования программного кода рассматриваются в большом
количестве источников, среди которых можно выделить: анализ использования
документации в Open Source проектах с приведением примером и рассмотрением
конкретных систем документирования [1]; рассмотрение вопросов
самодокументирующегося кода в рамках анализа вопросов конструирования
программного кода [2]; рассмотрение вопросов создания самодокументирующегося
кода как принципа построения программного обеспечения [3].
1. Постановка задачи
Данная работа выполняется в рамках разработки имитационной модели
документирования программного кода и является частью разработки методологии
использования имитационных моделей – основание для анализа инструментальных
средств в рамках разработки методологии в [4] и их внедрения в учебный курс.
Целью написания данной статьи является обобщение материала, полученного
при сравнительном анализе существующих инструментальных средств. Предметом
анализа является внутренняя документация [3].
2. Анализ существующих инструментальных средств
На рынке инструментальных средств представлено большое количество
продуктов для внутреннего документирования программного кода (часть из них
рассмотрена в [1]). Для сравнительного анализа выбран ряд инструментальных средств,
краткое описание которых приведено в таблице 1.
Таблица 1 Инструментальные средства для внутреннего документирования
Средство | Краткое описание | Поддержка |
CppDoc | редактор (простой); Open Source; HTML | http://www.cppdoc.com/ |
Doc++ | командная строка; Open Source; HTML |
http://docpp.sourceforge.net/ |
Javadoc | интегрирован; Java; HTML | http://www.sun.com/ |
NaturalDocs | командная строка; Open Source; HTML | http://www.naturaldocs.org/ |
Doxygen | frontend; OpenSource; система тегов; различные форматы | http://www.doxygen.org/ |
CoolDOC | редактор; платный; различные форматы | http://www.cooldocteam.com/ |
Doc-O-Matic | редактор; платный; система тегов; различные форматы | http://www.doc-o-matic.com/ |
NDoc | командная строка; Open Source; различные форматы | http://ndoc.sourceforge.net/ |
Выбор данных среди всего спектра обусловлен следующими факторами:
· известность средств (определена по рейтингам поисковых систем);
· мощность средств (определена по предоставляемой функциональности).
Анализ производился относительно программиста (пункты 1, 2, 4, 7) и
конечного пользователя (пункты 3, 5, 6) по следующим факторам:
· поддержка языков платформы Java и .NET;
· интеграция среды документирования и среды разработки;
· генерация моделей – в частности структурных диаграмм;
· поддержка встроенных форматов для платформ Java и .NET;
· наличие редактора, дифференцированная обработка;
· поддержка различных форматов генерации документации.
Заключение
Ни одно из рассмотренных средств не ориентировано на принцип
самодокументирующегося кода (понятие в [3], пример в [5]), так как изначально все
средства ориентированы на теги, которые релевантны во время конструирования. Ни
одно из средств не решает проблемы интеграции документации и программного кода.
Направления будущей работы
Данная работа является базовой для решения следующего круга задач:
разработка имитационной модели документирования программного кода;
проектирование и реализация инструментальных средств в рамках разрабатываемой
имитационной модели; внедрение имитационной модели в учебный процесс.
Литература
[1] Спинеллис Д. Анализ программного кода на примере проектов Open Source. : Пер. с
англ. - М. : Издательский дом «Вильямс», 2004. - 528 с. : ил. - С. 267-294.
[2] Макконелл С. Совершенный код. Мастер-класс / Пер. с англ. - М. : Издательско-
торговый дом «Русская редакция»; Спб. : Питер, 2005. - С. 760-799.
[3] Мейер Б. Объектно-ориентированное конструирование программных систем / Пер. с
англ. - М. : Издательско-торговый дом «Русская редакция», 2005. - С.54-56.
[4] Broy M. The ‘Grand Challenge’ in Informatics: Engineering Software-Intensive Systems
// Computer. - October 2006 - Volume 39 Number 10, - P. 77.
[5] Мейер Б. Объектно-ориентированное конструирование программных систем / Пер. с
англ. - М. : Издательско-торговый дом «Русская редакция», 2005. - С. 179-180.