
- •Технология программирования
- •Содержание
- •1. Курсовой проект по технологии программирования
- •1.1. Цели и задачи дисциплины
- •1.2. Тематика курсовых проектов
- •1.3. Сроки выполнения отдельных этапов
- •1.4. Порядок защиты курсового проекта
- •2. Содержание пояснительной записки
- •3. Разработка технического задания
- •3.1. Соглашение между заказчиком и исполнителем
- •3.2. Правила оформления технического задания
- •4. Анализ и методы решения задачи
- •5. Анализ потоков данных. Организация структур данных программы
- •5.1. Диаграммы потоков данных
- •5.2. Представление потоков данных
- •5.3. Структуры данных
- •5.4. Диаграмма Джексона
- •6. Разработка структуры программы
- •6.1. Декомпозиция программной системы
- •6.2. Методы проектирования
- •6.3. Модульное программирование
- •6.4. Драйвера и заглушки
- •Разработка алгоритмов решения задачи
- •7.1. Описание алгоритмов
- •7.2. Методы разработки алгоритмов
- •8. Разработка пользовательского интерфейса
- •9. Текст программы
- •9.1. Структура листинга
- •9.2. Количество операторов в строке
- •9.3. Отступы
- •9.4. Операторные скобки
- •9.5. Пробелы
- •9.6. Пустые строки
- •9.7. Имена
- •9.8. Комментарии
- •10. Тестирование и отладка программы
- •11. Разработка программных документов
- •11.1. Единая система программной документации
- •11.2. Руководство пользователя
- •11.3. Руководство системного администратора
- •12. Требования по оформлению пояснительной записки
- •Библиографический список
- •Приложения
- •4. Требования к программной документации
- •Федеральное агентство по образованию рф Омский государственный технический университет Кафедра «Автоматизированные системы обработки информации и управления»
- •Пояснительная записка к курсовому проекту на тему: Система учета текущей успеваемости студентов
8. Разработка пользовательского интерфейса
Интерфейсом пользователя — далее интерфейсом — будем называть совокупность способов и правил взаимодействия программы с пользователем.
В большинстве современных программных продуктов проектированию интерфейса уделяется огромное внимание. Даже такие программы, которые должны работать без вмешательства человека, например, управляя искусственным спутником Земли, снабжаются интерфейсом пользователя для обеспечения возможностей их установки, контроля и настройки. Исключением, пожалуй, являются встраиваемые микропрограммы, которые функционируют полностью автономно.
Можно без преувеличения сказать, что прекрасный во всех отношениях программный продукт, снабженный скверным интерфейсом, не будет востребован на рынке ПО. Исключение составляют случаи естественного или искусственного монополизма, при котором у пользователей нет выбора. Однако в настоящее время в любой сфере применения ПО монополизм любой программы ограничен весьма небольшим промежутком времени.
Этот раздел содержит обзор различных способов и форм взаимодействия пользователя с системой и обоснование выбора определенной формы диалога (лежащего в основе любого взаимодействия) для общения с разрабатываемым программным продуктом. Проводится разработка структуры диалога и приводится граф диалога интерфейса, отражающий эту структуру. В случае табличной формы диалога дается описание всех оконных форм и меню (рис. 12 и 13). В случае использования директивной или фразовой формы описываются основные команды.
Рис. 12. Иерархии меню
Рис. 13. Экранная форма
При использовании событийного программирования необходимо разработать и описать граф состояний интерфейса (рис. 14), на основе которого затем проектируются обработчики задействованных событий.
Рис. 14. Граф состояний интерфейса (при событийном программировании)
Существует весьма небольшое количество видов организации взаимодействия программы с пользователем. Рассмотрим основные из них.
По типу выводимой на экран информации отличают символьный интерфейс пользователя (character user interface — CUI) и графический интерфейс пользователя (graphical user interface — GUI).
По типу устройства ввода выделяют системы с клавиатурным вводом, с использованием манипулятора «мышь» и т.д.
По активной стороне рассматривают диалог, инициируемый пользователем и диалог, инициируемый системой.
По типу управления диалогом отличают командный интерфейс (предполагающий ввод произвольных команд) и визуальный интерфейс (предполагающий выбор из меню, списков и т.д.).
Практически все рассмотренные подходы не исключают друг друга, а используются в том или ином сочетании.
При проектировании интерфейса необходимо в первую очередь выбрать необходимые виды организации взаимодействия из перечисленных выше. При этом необходимо руководствоваться следующими факторами. Во-первых, требование обеспечения развиваемости программы предполагает отказ от жестко заданных примитивных схем диалога. Необходимо предусматривать возможности дальнейшего развития и усовершенствования продукта, что предполагает определенную гибкость в построении интерфейса. Во-вторых, финансовые и временные затраты на проектирование и разработку интерфейса должны быть обоснованы. Это означает, что в ряде случаев разрабатывать сложный и «продвинутый» интерфейс, затрачивая на это значительные ресурсы, нет реальной необходимости.
Для визуального интерфейса существует ряд общепринятых требований. Среди них можно выделить требования предсказуемости (интуитивной понятности), привлекательности, максимальной независимости от конкретных характеристик устройств ввода-вывода, настраиваемости и целостности.