На первом этапе необходимо определить функциональность будущей системы. Это исключительно важный этап, поскольку именно функциональность будет определять весь интерфейс. Очень важно сознавать, что практически невозможно убрать из уже продающейся системы какие-либо функции. Поэтому оптимальным вариантом работы почти всегда является проектирование функциональности сразу на несколько версий вперед.
Существуют два основных способа для определения нужной функциональности - анализ целей и анализ действий пользователей. Эти способы фактически не конфликтуют друг с другом, более того, в процессе определения функциональности желательно использовать оба.
Пример
Компонент CheckBox используется для того, чтобы пользователь с помощью мыши или клавиатуры мог указать свое решение типа да/нет или да/нет/не уверен (в последнем случае флажок устанавливается, но выглядит блеклым). Это решение отражается в специальном свойстве компонента, доступном как для чтения, так и для записи. В составе диалогового окна может быть несколько компонентов CheckBox, причём состояние любого из них никак не зависит от состояния остальных. Также в компоненте должна существовать возможность определения положения текста надписи (левое или правое выравнивание). В соответствии с заданием позволяется изменять цвет и внешний вид элементов.
|
|
В отличие от компонентов CheckBox, компоненты RadioButton представляют собой переключатели, предназначенные для выбора одного из нескольких взаимоисключающих решений. Выбор осуществляется также с помощью мыши или клавиатуры. На форму (точнее, в компонент-контейнер) помещается, по меньшей мере, два таких компонента. Они могут иметь только два состояния, определяемых соответствующим свойством. Если в одном компоненте это свойство принимает значение True, во всех других компонентах, расположенных в том же контейнере, эти свойства принимают значения False. Аналогично компоненту CheckBox задаётся свойство выравнивания и свойства, позволяющие изменять цвет и внешний вид элементов.