Преимущества применения протипирования: 1) уменьшение времени, стоимости рисков -- прототипирование улучшает качество спецификации; 2) вовлечение пользователя в процесс разработки (вовлекает будущих пользователей в процесс прототипирования и позволяет увидеть, как будет выглядеть программа. Недостатки прототипирования: 1) недостаточный анализ; 2) смешение прототипа и готовой системы в представлении пользователя (пользователи могут думать, что прототип, который предлагается использовать, есть их будущая система); 3) чрезмерное время на создание прототипа. Инструментальные средства для создания пользовательских интерфейсов бывают двух видов: онлайн и оффлайн. Онлайн-сервисы позволяют создавать макеты непосредственно в браузере, оффлайн -- настольные программы. Процесс разработки программного продукта, проектирование интерфейса Процесс разработки программного продукта -- это последовательность действий, из которых состоит разработка программного обеспечения. Шаги: 1) сбор и анализ информации от пользователя; 2) проектирование программного продукта; 3) разработка программного продукта; 4) тестирование программного продукта. Принцип разработки интерфейса -- это высокоуровневые концепции и преставления, которые могут использоваться при разработке программного обеспечения. Основное правило проектирования -- дать пользователю контроль над системой, т. е. решать задачи по собственному усмотрению. Наиболее важные принципы: 1) использование режима благоразумно -- безрежимность; 2) позволяет пользователю выбирать мышь или клавиатуру -- гибкость; 3) позволяет пользователю переключать внимание; 4) показывает поясняющие сообщения и тексты, демонстрирующие пользование -- полезность; 5) демонстрирует обратные связи -- снисходительность; 6) обеспечить соответствующие пути и выходы -- способность ориентировки; 7) приспособление системы к пользователю с различным уровнем подготовки -- доступность; 8) сделайте пользовательский интерфейс прозрачным; 9) дайте возможность пользователю подстроить интерфейс под собственные нужды -- приспосабливаемость; 10) разрешите пользователю напрямую манипулировать объектами интерфейса -- интерактивность. Поясняющие сообщения и тексты -- ключ к диалогу между программой и пользователем. Создание совместимого интерфейса Совместимость -- это ключевой аспект при использовании интерфейса. Одним из основных преимуществ совместимости в том, что пользователи могут перенести свои знания и навыки на работу с новыми программными продуктами. Общая совместимость всех программ Один из главных аспектов при разработке интерфейса -- возможность обучения пользователя основным концепциям системы и программного продукта. Совместимость подачи информации подразумевает, что пользователи могут воспринимать информацию и объекты в похожем визуальном и логическом виде. Совместимость поведений подразумевает, что объект одинаков везде. Совместимость техники -- сочетания быстрых клавиш должны одинаково работать в похожих программах. Разработка графических интерфейсов с помощью библиотеки Qt Qt -- библиотека, которая позволяет разрабатывать приложения с графическим интерфейсом под многие платформы, в т. ч. Microsoft Windows. Она состоит из множества файлов, написанных на C++. Включает в себя основные классы, которые могут понадобиться при разработке программного продукта, от интерфейса до работы с сетью, БД, XML. Полностью объектно-ориентирована, не является интегральной средой разработки, но разработана собственная среда разработки Qt Creator. Распространяется бесплатно, доступна для ОС MS Windows, Linux, использует производительные алгоритмы, вследствии чего отрисовка элементов в Qt происходит намного быстрее, чем в других библиотеках. Инструментарий разбит на модули, каждый из которых находится в отдельной библиотеке: базовые классы -- в QtCore, компоненты графического интерфейса -- QtGui, компоненты для работы с сетью -- QtNetwork. Начиная с 1995 года постоянно совершенствовалась и дополнялась, сейчас часто используется Qt4. Виджеты В основу построения графических приложений на Qt положено понятие виджета. Виджет -- это графический элемент, наделённый базовыми функциями, такими как реакция на события, инициирование сигналов. Виджетами являются все графические элементы Qt -- кнопки, текстовые метки, поля ввода, меню, окна. Базовым классом для всех виджетов является QWidget. Это не абстрактный класс, он может быть использован как контейнер для других виджетов или послужить основой для создания подкласса с минимальными усилиями для создания пользовательских виджетов. Этот класс часто используется для создания окон, в которых располагаются другие виджеты; имеет огромное количество свойств и методов. QWidget наследует класс QObject, поэтому может использовать сигнально-слотовый механизм. Виджеты являются одновременно и графическими элементами, и контейнерами для дочерних виджетов. Таким образом, на одних виджетах можно размещать другие. Если виджет создан без родителя, то он виден и трактуется как окно или виджет верхнего уровня. Если пользователь закрывает главный виджет приложения, то программа завершает свою работу. Если в программе не назначен главный виджет, то она продолжает исполнение в фоновом режиме. При уничтожении родительского виджета все его дочерние виджеты будут автоматически уничтожены. Создание проекта Qt Creator Для создания нового проекта мы выбираем тип проекта: CLI, Gui, C++. #include #include #include int main(){