- •153003, Г. Иваново, ул. Рабфаковская, 34
- •Цель лабораторного практикума
- •Содержание лабораторного практикума
- •Тема 1 (2 часа). Постановка задачи
- •Формализация контекста использования
- •Формализация объективных критериев успеха
- •Определение необходимой функциональности системы
- •Анализ целей
- •Анализ действий пользователей
- •Низкоуровневые и высокоуровневые функции
- •Формализация бизнес-ролей пользователей
- •Формализация функциональности
- •Формализация сценариев действий пользователей
- •Обзор интерфейса конкурирующих систем
- •Формализация привычек и ожиданий пользователей
- •Тема 2 (6 часа). Проектирование интерфейса
- •Проектирование структуры экранов системы
- •Выделение независимых блоков
- •Проектирование навигационной системы
- •Низкоуровневое проектирование
- •Проектирование основных экранов
- •Проектирование второстепенных экранов
- •Проектирование компонентов
- •Тема 3 (2 часа). Тестирование интерфейса. Постановка экспериментов в целях выявления качества дизайна исследуемого продукта
- •Тема 4 (2 часа). Разработка системы помощи и документации. Зачет по системе
- •Классификация систем помощи
- •Классификация инструментов по созданию систем помощи
- •Использование инструментов по созданию систем помощи
- •Варианты заданий
- •Библиографический список
- •1. Цель лабораторного практикума 3
- •2. Содержание лабораторного практикума 3
- •2.1. Тема 1 (2 часа). Постановка задачи 3
- •2.2. Тема 2 (6 часа). Проектирование интерфейса 14
Проектирование навигационной системы
На основе разработанной ранее структуры экранов на этом этапе выбирается наиболее адекватная навигационная система и разрабатывается её детальный интерфейс.
Навигационная система показывает механизм распределения функций и задач между окнами программы. Навигационная система определяет, каким образом пользователи смогут перемещаться как между различными задачами, так и внутри отдельной задачи. Например, можно ли будет оставить частично завершенную задачу и начать другую.
Как правило, на этом этапе не создается отдельного отчета; разработанный интерфейс в дальнейшем описывается в отчете, посвященном низкоуровневому проектированию.
На входе – структура экранов.
На выходе – описание навигации по системе.
Низкоуровневое проектирование
Разрабатываются интерфейсы конкретных экранов системы (состав, взаимное расположение и поддерживающие тексты интерфейсных элементов).
Проектирование основных экранов
На данном этапе разрабатываются интерфейсы основных экранов системы.
На входе – информация их предыдущих этапов.
На выходе – полное описание интерфейса главных экранов системы (без обработки исключительных ситуаций).
К отчету прилагаются макеты экранов с описаниями функциональности каждого интерфейсного элемента.
Проектирование второстепенных экранов
На данном этапе разрабатываются интерфейсы второстепенных экранов системы. К ним относятся диалоговые окно и всевозможные сообщения.
На входе: информация из предыдущих этапов.
На выходе: полное описание интерфейса оставшихся экранов системы и описание обработки исключительных ситуаций, влияющих на интерфейс.
К отчету прилагаются макеты экранов с описаниями функциональности каждого интерфейсного элемента.
Проектирование компонентов
В том случае, если выполняется задание по проектированию конкретных компонентов, проектировать экраны и связи между ними не надо, а необходимо выполнить следующее (с учетом того, что функциональность компонента и требования к его внешнему виду уже определены):
определить базовые компоненты (компоненты, от которых будет производиться наследование);
определить доступные для изменения свойства компонента (какие средства будут предоставлены программисту, какие свойства будут доступны конечному пользователю);
определить методы (перекрываемые и вновь создаваемые).
Пример
Определяем те визуальные части компонентов, вид которых можно изменять с помощью используемых файлов ресурсов; цвет некоторых из них также можно менять из окна инспектора объектов.
Для компонента TMyCheckBox:
CB_BORDER – вид рамки, возникающей при наведении мыши на компонент;
CB_DISFLAG – вид флага компонента в том случае, если последний неактивен и возможны только два его состояния;
CB_DISGRAYED – вид флага компонента в том случае, если последний неактивен и возможны все три его состояния;
CB_FLAG – вид флага активного компонента в состоянии Checked;
CB_GRAYED – вид флага активного компонента в состоянии Grayed;
CB_PRESS – вид самой флаговой кнопки в то время, когда пользователь нажимает на нее, чтобы ее выбрать;
CB_UNPRESS – вид самой флаговой кнопки в течение всего того времени, когда пользователь на нее не нажимает.
Для компонента TMyRadioButton:
RD_BORDER – вид рамки, возникающей при наведении мыши на компонент;
RD_DISABLED – вид переключателя в том случае, если он неактивен, т.е. свойство Enabled имеет значение False;
RD_DISFLAG – вид флага переключателя в том случае, если последний неактивен;
RD_FLAG – вид флага активного переключателя;
RD_PRESS – вид самого переключателя в то время, когда пользователь нажимает на него, чтобы его выбрать;
RD_UNPRESS – вид самого переключателя в течение всего того времени, когда пользователь на него не нажимает.
Определяем необходимые свойства компонентов, с помощью которых можно изменять их внешний вид. Для компонента TMyCheckBox такими свойствами являются:
BackgroundColor – определяет цвет фона флаговой кнопки;
GrayedColor – определяет цвет флаговой кнопки в состоянии Grayed (не уверен);
BorderColor – определяет цвет рамки, возникающей вокруг флаговой кнопки при наведении на нее мыши;
ApplyColor – определяет, требуется ли применять вышеупомянутые настройки цвета к компоненту.
Для компонента TMyRadioButton имеются следующие аналогичные свойства:
BackgroundColor – определяет цвет фона переключателя;
FlagColor – определяет цвет флага переключателя;
BorderColor – определяет цвет рамки, возникающей вокруг переключателя при наведении на него мыши;
ApplyColor – определяет, требуется ли применять вышеупомянутые настройки цвета к компоненту.
Определяем методы, применяющиеся при использовании данных компонентов для изменения их внешнего вида. Для TmyCheckBox – это следующие процедуры, изменяющие указанные свойства:
SetBackgroundColor;
SetGrayedColor;
SetBorderColor;
SetApplyColor.
Для TMyRadioButton:
SetBackgroundColor;
SetFlagColor;
SetBorderColor;
SetApplyColor.