О некоторых методологических
особенностях построения справочных систем приложений
А.Г. Певнева, Санкт-Петербургский Государственный Горный Университет, доцент, [email protected].
И.В. Ананченко, Санкт-Петербургский Государственный Технологический институт (технический университет), доцент,
igor@anantchenko. ru
В современном IT-образовании разработка справочных систем не выделяется в отдельную область, хотя справочная система неотъемлемая часть современного приложения, а ее качество может оказать существенное влияние на коммерческий успех разработки. Заметим, что приобретение навыка построения справочных пособий пользовательских приложений, часть общей информационной культуры.
Вопросы презентативности знаний становится все более актуальным при всевозрастающей емкости информационных ресурсов. Не менее актуальны и методы оценки информации, построения классификаций и формулирования критериев отсева для различных категорий данных. Поэтому, в процессе обучения студентов, будущая профессиональная деятельность которых связана с разработкой и продвижением на рынке новых информационных продуктов, должно уделяться достаточно времени для формирования навыков представления информации в удобном для восприятия человеком формате. В рамках читаемых студентам специализированных курсов должны обязательно рассматриваться элементы построения электронных пособий, инструкций, справочных систем. Такой подход позволит слушателям совершенствовать приемы структурного мышления, улучшиться и оценка остаточных знаний [1].
По мнению авторов, нет необходимости выделять создание справочных систем программных приложений в отдельный учебный курс, более рациональным видится непрерывный процесс формирования презента-тивности знаний на протяжении всего обучения. Можно выделить следующие направления:
• Создание презентаций разработанных студентами проектов средствами Microsoft Office PowerPoint.
• Создание пользовательской справочной системы интегрированной в проект. Часто такая система состоит из файлов двух типов: контент-ного и индексного. В качестве примера пользовательских справочных систем можно привести системы, реализованные с использованием файла формата HTMLHelp (Microsoft Compressed HTML Help, Microsoft Compiled HTML Help, .CHM) — проприетарного формата
файлов контекстной справки, разработанного корпорацией Microsoft и выпущенного в 1997 году в качестве замены формата WinHelp, а так же некоторые другие системы. • Создание комментариев кода для автоматической генерации справочного файла. Генератор документации — программа или пакет программ, позволяющая получать документацию, предназначенную для программистов (документация на API) и/или для конечных пользователей системы, по особым образом комментированному исходному коду и, в некоторых случаях, по исполняемым модулям (полученным на выходе компилятора). Обычно генератор анализирует исходный код программы, выделяя синтаксические конструкции, соответствующие значимым объектам программы (типам, классам и их членам/свойствам/методам, процедурам/функциям и т. п.). В ходе анализа также используется мета-информация об объектах программы, представленная в виде документирующих комментариев. Примеры для разных языков и сред программирования: Document! X предназначен для программ на языке VB6, языках: VB.NET/C#/Visual C++ .NET (.NET Framework 1.0, 1.1 и 2.0), COM-компонентов, баз данных Access, Microsoft SQL Server и Oracle, XML Schema и других языках описания XML; Doxygen — языках: C++, Си, Objective-C, Java, IDL, PHP, C#, Фортран, VHDL и, частично, D; Epydoc — языке Python; Javadoc — языке Java; JSDoc — языке JavaScript; и другие.
Создание презентаций доступно студентам начиная с первого курса, однако преподавателям необходимо руководить этой работой, так как при разработке презентаций студенты часто чрезмерное внимание уделяют оформлению информации с помощью мультимедиа эффектов в ущерб основной задаче - формированию методических навыков представления информации. Рекомендуется обязательно включать в презентацию организационные диаграммы визуального представления структуры проекта, системы гиперссылок обеспечения логичной навигации. Общие требования: презентация содержит до 15 слайдов, включая титульный с названием проекта и координатами разработчика, следующий слайд содержит оглавление всей презентации. Рекомендуется не более трех мультимедийных эффектов на всю презентацию, при этом каждый слайд должен содержать не более 50% текста. Используемый размер шрифта в тексте не менее 18, ключевые слова в каждом абзаце выделяются параметрами шрифта. С учетом этих требований студентами создаются рекламные описания собственных проектов в виде презентаций MS PowerPoint [2].
Даже при создании небольших учебных проектов студентам необходимо интегрировать справочный файл в одном из доступных форматов,
например, в формате chm. Разрабатываемая справочная система, как правило, состоит из двух основных разделов - «контентного», включающего в себя содержание в виде гиперссылок на текстовые файлы и «индексного раздела», содержащего набор ключевых слов, используемых для организации направленного поиска. Студентам необходимо в определенном формате создать файлы, содержащие статьи с пояснением частных случаев использования приложения, а также проанализировать частоту употребления тех или иных терминов для формирования индексного файла.
В методическом контексте, по мнению авторов, существенны две стадии - стадия создания справок в формате html и стадия сборки проекта в html help workshop, предшествующая созданию контекстно-зависимых справочных систем, так как к разработке структурно размеченного текстового документа, включающего различные макросы, большинство студентов первых курсов оказываются не готовы.
К контентному разделу предъявляются требования обеспечения возможности наиболее полного описания проекта: включение в раздел общей информации о проекте - назначение, системные требования, объем занимаемой памяти, средства исполнения. Поясняющие статьи должны содержать краткие теоретические сведения об аппарате реализации, пошаговые инструкции к интерфейсу, примеры использования. На основе опыта рекомендуем примеры использования проекта оформлять в отдельном файле, в основной статье делать ссылку на этот файл. Ряд дополнительных требований могут быть наложены на суммарный размер поясняющих статей и общий стиль справки: наличие дополнительных и/или всплывающих окон, кнопок, пиктограмм, "горячих" областей и т.д.
После создания всех поясняющих статей, студент приступает к сборке контентного файла справки. Этот процесс не представляет трудностей и подробно описан для многих систем создания справочных файлов (например, http://www.oszone.net/3789).
Студентам рекомендуется приступать к проектированию справочной системы на начальном этапе разработки интерфейса проекта. В этом случае поясняющие статьи могут создаваться одновременно с написанием кодов.
Зачастую студенты первых курсов технических вузов не владеют навыками структуризации, нуждаются в так называемом «кейсовом» подходе к передаче информации. Отметим, что данный подход, весьма распространенный в современном бизнес - образовании, заключается в обсуждении большого числа примеров использования проекта. С точки зрения авторов, в данном подходе реализуется так называемый индуктивный способ восприятия знаний «от частного к общему», неоспори-
мым преимуществом которого выступает возможность учащихся самостоятельно выделять основные закономерности на основе многочисленных примеров. Очевидный недостаток - во многих случаях слишком длительный процесс подбора и представления иллюстраций, а также вероятность неполной или даже некорректной трактовки предмета обсуждения. Однако, при проектировании «индексного» раздела электронных справочных систем наличие большого числа примеров может быть полезно для формирования базы ключевых слов или «индексов» поиска. Важным методическим элементом является и то, что в процессе подбора примеров использования проекта студенты приобретают начальные навыки тестирования программного обеспечения.
Используемые программы для создания электронных публикаций можно разбить на три категории. В первую входят редакторы, предоставляющие удобные инструменты быстрого визуального объединения текста, графики, навигационных элементов и пр. и обладающие хорошей функциональностью в плане редактирования. Как правило, программы данной группы довольно дороги, требуют значительного времени на освоение и рассчитаны на подготовленных в компьютерном плане пользователей. Среди программ этой категории можно отметить пакеты NeoBook Professional Multimedia, DeskTop Author и eBooksWriter. HTML-компиляторы составляют вторую группу программных средств, предназначенных для объединения в общую структуру предварительно подготовленных HTML-файлов. Создание публикаций с использованием ПО второй группы требует минимума времени и доступно любому пользователю, владеющими основами работы с ПК. Среди HTML-компиляторов можно отметить программы ebookGold и eBook Maestro. К третьей группе отнесем приложения, предназначенные для создания электронных книг как одного из вариантов электронных публикаций. Существует много форматов представления электронных книг, например, Adobe Pdf, Mobipocket, Palm Doc, iSilo, Microsoft Reader, Franklin eBookMan, Hiebook, Rocket и др. Многие из названных форматов большей частью ориентированы на чтение электронных книг при помощи карманных устройств. Эта специализация ограничивает сферу применения программных средств разработки, так как выбор узкоспециализированного формата — не лучший вариант для подготовки образовательных и иных информационных материалов, рассчитанных на широкую аудиторию. В процессе обучения студенты на разных курсах должны научиться пользоваться программами, относящимися к каждой из трех названных групп. Например, редакторы: NeoBook Professional Multimedia, Desktop Author, eBooksWriter, SunRav BookOffice; HTML-компиляторы: eBookGold, eBook Maestro; программы для создания электронных книг BookDesigner, Adobe Acrobat. При подборе
программ для изучения, следует выбирать самые последние версии выпущенного ПО.
С методической точки зрения в обязательном порядке необходимо выделить время для изучения программных средств, позволяющих создавать единое представление информационного контекста, первоначально представленного разными типами файлов, в виде одного файла. В качестве примера такого ПО можно привести достаточно мощное программное обеспечение Natata eBook Compiler GOLD (http://www.natata.com/ebook_products.html), позволяющее упаковать и сжать большое количество файлов, таких форматов как HTML, CSS, WAV, TXT, GIF, JPG, MID, JavaScript, DHTML, Flash, PDF и т.д., при этом преобразуя их в один компактный исполняемый файл. С помощью eBook Compiler можно создать: электронную книгу; цифровой каталог; корпоративный проект; электронный журнал; фотоальбом; off-line вебсайт; руководство пользователя; портфолио; маркетинговую презентацию; отчёт; учебно-образовательный материал и многое другое. Технические возможности данной программы: супербыстрое сжатие с повышенной компрессией данных; информация об авторе электронной книги; сохранение и открытие проектов; нет ограничений на количество файлов в проекте; встроенный поисковый движок; собственные окна-сообщения "Приветствие" и "Закрытие"; закладки (возможность открывать последнюю просмотренную страницу); задание собственных ограничений использования интерфейса; собственное всплывающее изображение при открытии; задание ограничения на использование; надёжная парольная защита; генератор паролей; собственные кнопки и подписи к ним на навигационной панели; собственный цвет навигационной панели; собственный логотип (с гиперссылкой) в навигационной панели; использование "автоматического перелистывания" (AutoPlay); поддержка Flash, PDF, DOC (MS Word) и других проблематичных форматов. Поддерживается возможность создавать файлы для автозапуска электронных книг с компакт дисков. Число недостатков незначительно, можно отметить, что программа не поддерживает доступ к pdf-файлам, выполнение ссылок на exe-файлы, выполнение ссылок в отдельных окнах.
С методической точки зрения целесообразно дать учащимся навыки работы с документами, содержащими XML-комментарии. Очень часто такие документы являются основой, используя которую с помощью XSLT генерируются страницы справки в формате HTML. Например, изучаемый в рамках курса алгоритмические языки и программирование, язык C# позволяет разработчикам встраивать XML-комментарии в исходный код, а затем с их помощью создавать документацию прямо из исходных файлов MS Visual Studio. Названная функциональность, поз-
воляющая генерировать справочную информацию, особенно полезна, когда над проектом работает коллектив, состоящий из нескольких программистов. Целесообразно ознакомить учащихся с возможностями графической оболочки Sandcastle Help File Builder интегрированной с генератором документации Sandcastle, являющимся многофункциональным и гибким в настройках генератором документации для .Net с использованием XML комментариев из исходного кода. Среди основных возможностей Sandcastle следует отметить: включение в документацию XML комментариев из исходного кода; автоматическое получение информации об элементах .Net, таких как классы, методы, свойства, перечисления с помощью reflection; возможность интегрировать свои дополнительные HTML страницы в документацию. Целесообразность выбора Sandcastle для решения методических задач учебного процесса объясняется тем, что Sandcastle не только активно использует в своей работе XML и преобразования с помощью XSLT, но все настройки могут быть реализованы максимально гибко. ПО легко настраиваемо, процесс создания документации с помощью Sandcastle — открытый, допускающий настройку и расширение на каждом этапе, полученную документацию можно выкладывать на сайт в виде HTML-документов, можно получать документацию в формате HTML Help 1.x либо 2.x. Процесс подготовки документации использует формат XML, многие задачи обработки документов решаются XSLT-преобразованиями, при необходимости можно написать XSLT-преобразования, позволяющие получать документацию и в других форматах, например, LaTeX или XSL-FO. Поддерживается возможность исправления вида генерируемых страниц - при желании можно сделать даже полностью свой шаблон справочника. Следует отметить, что Sandcastle как и Sandcastle Help File Builder [3,4,5]доступны для бесплатной загрузки, а этот критерий может иметь важное значение при выборе программ для изучения в учебном процессе.
Отметим еще один программный продукт, изучение которого в рамках учебного процесса видится более чем целесообразным - это программа Doxygen, являющаяся системой автоматического создания документации с открытым исходным кодом в соответствии с GNU General Public License [5]. При обычном создании документации Doxygen разбирает весь C++ (Си, Objective-C, Python, Java, IDL, PHP, C#, Фортран, VHDL и, частично, D) код в проекте и отображает его структуру в файле справки, удобном для навигации. Это особенно полезно для объектно-ориентированных программ, которые, как правило, имеют обширные классовые иерархии и большое количество функций - членов классов. Для полного использования возможностей Doxygen, комментарии в коде также должны быть структурированы, чтобы Doxygen смог их ин-
терпретировать и добавить информацию в генерируемый файл справки. Документация, исходный код и откомпилированные версии Doxygen для Linux x86-64, Windows XP/Vista/7, Mac OS X 10.6 (Snow Leopard), Mac OS X 10.4 (Tiger) доступны для загрузки со страницы [6], там же можно подписаться и на обновления с информацией о новых версиях программного продукта.
Подводя итоги, еще раз отметим, что приобретение навыка построения справочных пособий пользовательских приложений, часть общей информационной культуры и формированию этого навыка должно быть найдено место в существующей структуре образования. Литература
1. Певнева А.Г., Чепикова В.Н., Холоднов В.А. Html help workshop и создание электронных учебников. Учебное пособие. СПб, 2008, 48 с.
2. Стив Сагман. Эффективная работа с MS Power point. СПб, из-во Питер 2004, 409 с.
3. http://sandcastle.codeplex.com/
4. http://shfb.codeplex.com/
5. http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
6. http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc