Средства обучения • общая «понятность» системы • обучающие материалы. Понятность системы • Ментальная модель. • Метафора. • Аффорданс. • Стандарт. Обучающие материалы 1. Базовая справка 2. Обзорная справка 3. Справка предметной области 4. Процедурная справка 5. Контекстная справка 6. Справка состояния 7. Сообщения об ошибках. 8. Бумажная книга. 9. Справочная карта. 10. Структурированная электронная документация. 11. Фрагменты пространства интерфейса, показывающие справочную информацию. 12. Всплывающие подсказки. 13. Обучение работе с системой Виды справок Руководства и инструкции пользователя Quick start Getting started Online help, WebHelp Wiki Статьи «How to...» FAQ EULA Terms of Service Privacy Policy В зависимости от вида справки и места её размещения выбирается один или несколько форматов: DOC (RTF) HTML CHM PDF EXE HXS (MSHC) ePUB Создание документированного компонента включает несколько шагов: 1. Создание компонента 2. Создание XML файла 3. Тестирование компонента в сценарии развертывания using System; namespace XMLDeploy1 { public class Temperature { public static int CelsiusToFahrenheit(int degreesCelsius) { return ((int)((9/5)*degreesCelsius) + 32); } public static int FahrenheitToCelsius(int degressFahrenheit) { return ((int)((5/9)*(degressFahrenheit - 32))); } } } using System; namespace XMLDeploy1 { /// <summary> /// Класс temperature предоставляет функции для преобразования /// показаний различных шкал температур. /// </summary> public class Temperature { /// <summary> /// Преобразовывает градусы Цельсия в градусы по Фаренгейту /// </summary> /// Degrees Celsius /// <returns> Возвращает градусы по Фаренгейту </returns> public static int CelsiusToFahrenheit(int degreesCelsius) { return ((int)((9/5)*degreesCelsius) + 32); } /// <summary> /// Преобразовывает градусы по Фаренгейту в градусы Цельсия /// </summary> /// Degrees Fahrenheit /// <returns> Возвращает градусы Цельсия</returns> public static int FahrenheitToCelsius(int degressFahrenheit) { return ((int)((5/9)*(degressFahrenheit - 32))); } } } Рисунок 1. Solution Explorer Tag <c> <code> <example> <exception> <list><li> <para> <param> <paramref> <permission> <remarks> <returns> <see> <seealso> <summary> <value> Назначение Устанавливает шрифт текста таким же, как и шрифт кода Устанавливает одну или более строк исходного кода или выходных данных программы Обозначает пример Определяет исключительные ситуации, которые может формировать метод Создает список или таблицу Разрешает добавить структуру к тексту Описывает параметр метода или конструктора Показывает, что слово является именем параметра Документирует возможность безопасного доступа члена Описывает тип Описывает значение, возвращаемое методом Определяет связь Генерирует раздел See Also Описывает член типа Описывает свойство Тег: <c> Синтаксис: <c>текст который будет отформатирован так же как и код</c> /// <remarks>Класс <c>Point</c> моделирует координаты точки в 2-х /// мерном пространстве.</remarks> public class Point { // ... } Тег: <example> Синтаксис: <example>описание</example> Тег: <code> Синтаксис: <code>исходный код или программный вывод</code> /// <summary>Этот метод изменяет положение точки /// на x- и y-смещения. /// <example>Например: /// <code> /// Point p = new Point(3,5); /// p.Translate(-1,3); /// </code> /// результат в <c>p</c>будем иметь значения (2,8). /// </example> /// </summary> public void Translate(int xor, int yor) { X += xor; Y += yor; } Тег: <exception> Синтаксис: <exception cref="member">description</exception> public class DataBaseOperations { /// <exception cref="MasterFileFormatCorruptException"> /// </exception> /// <exception cref="MasterFileLockedOpenException"> /// </exception> public static void ReadRecord(int flag) { if (flag == 1) throw new MasterFileFormatCorruptException(); else if (flag == 2) throw new MasterFileLockedOpenException(); // ... } } Тег: <list><li> Синтаксис: <term>term</term> <description>description</description> <term>term</term> <description>description</description> ... <term>term</term> <description>description</description> public class MyClass { /// <remarks>Пример маркированного списка: /// [li] /// [i] /// <description>Item 1.</description> /// [/i] /// [i] /// <description>Item 2.</description> /// [/i] /// [/li] /// </remarks> public static void Main () { // ... } } Тег: <para> Синтаксис: <para>content</para> // compile with: /doc:DocFileName.xml /// text for class TestClass public class TestClass { /// <summary>DoWork is a method in the TestClass class. /// <para>Here's how you could make a second paragraph in a description. <see cref="System.Console.WriteLine(System.String)"/> for information about output statements.</para> /// <seealso cref="TestClass.Main"/> /// </summary> public static void DoWork(int Int1) { } /// text for Main static void Main() { } } Тег: <remarks> Синтаксис: <remarks>description</remarks> /// <remarks>Class <c>Point</c> models a point in a two-dimensional /// plane.</remarks> public class Point { // ... } Тег: <returns> Синтаксис: <returns>description</returns> /// <summary>Report a point's location as a string.</summary> /// <returns>A string representing a point's location, in the form /// (x,y), without any leading, training, or embedded /// whitespace.</returns> public override string ToString() { return "(" + X + "," + Y + ")"; } Тег: <see> Синтаксис: <see cref="member"/> /// <summary>This method changes the point's location to /// the given coordinates.</summary> /// <see cref="Translate"/> public void Move(int xor, int yor) { X = xor; Y = yor; } /// <summary>This method changes the point's location by /// the given x- and y-offsets. /// </summary> /// <see cref="Move"/> public void Translate(int xor, int yor) { X += xor; Y += yor; } Тег: <seealso> Синтаксис: <seealso cref="member"/> /// <summary>This method determines whether two Points have the /// same location. </summary> /// <seealso cref="operator=="/> /// <seealso cref="operator!="/> public override bool Equals(object o) { // ... } Тег: <summary> Синтаксис: <summary>description</summary> /// <summary>This constructor initializes the new Point to /// (0,0).</summary> public Point() : this(0,0) { } Тег: <value> Синтаксис: <value>property description</value> /// <value>Property <c>X</c> represents the point's x/// coordinate.</value> public int X { get { return x; } set { x = value; } } Окно выбора объекта в HTML Help Workshop Таблица содержания в HTML Help Workshop Рис. 28.8. Разделы Таблицы содержания Добавление раздела в Таблицу содержания Разделы Таблицы содержания Окно мастера создания проекта - указание существующих объектов Окно мастера создания проекта - указание существующих HTML-файлов Окно добавления ключевого слова Окно изменения параметров проекта Включение вкладки Избранное Отчет о компиляции Работающая справочная система