Графический интерфейс пользователя
Графический интерфейс пользователя (Graphics User Interface – GUI) – ГИП является обязательным компонентом большинства современных программных продуктов, ориентированных на работу конечного пользователя. К графическому интерфейсу пользователя предъявляются высокие требования как с чисто инженерной, так и с художественной стороны разработки, при его разработке ориентируются на возможности человека. Наиболее часто графический интерфейс реализуется в интерактивном режиме работы пользователя для программных продуктов, функционирующих в среде Windows, и строится в виде системы спускающихся меню с использованием в качестве средства манипуляции мыши и клавиатуры. Работа пользователя осуществляется с экранными формами, содержащими объекты управления, панели инструментов с пиктограммами режимов и команд обработки.
Пример 18.3.Средствами редактора диалогов Microsoft Word Dialog Editor построено диалоговое окно, обеспечивающее графический интерфейс пользователя. К числу типовых объектов управления графического интерфейса относятся:
метка (label) – постоянный текст, не подлежащий изменению при работе пользователя с экранной формой (например, слова Фамилия Имя Отчество);
текстовое окно (text box) – используется для ввода информации произвольного вида, отображения хранимой информации в базе данных (например, для ввода фамилии студента);
рамка (frame) – объединение объектов управления в группу по функциональному или другому принципу (например, для изменения их параметров);
командная кнопка (command button) – обеспечивает передачу управляющего воздействия, например, кнопки <Cancel>, <ОК>, <Отмена>; выбор режима обработки типа <Ввод>, <Удаление>, <Редактирование>, <Выход> и др.;
кнопка-переключатель <option button> – для альтернативного выбора кнопки из группы однотипных кнопок (например, семейное положение);
помечаемая кнопка <check button> – для аддитивного выбора несколько кнопок из группы однотипных кнопок (например, факультатив для посещения);
окно-список (list box) – содержит список альтернативных значений для выбора (например, «Спортивная секция»);
комбинированное окно (combo box) – объединяет возможности окна-списка и текстового окна (например, «Предметы по выбору» – можно указать новый предмет или выбрать один из предлагаемого списка);
линейка горизонтальной прокрутки – для быстрого перемещения внутри длинного списка или текста по горизонтали;
линейка вертикальной прокрутки – для быстрого перемещения внутри длинного списка или текста по вертикали;
окно-список каталогов;
окно-список накопителей;
окно-список файлов и др.
Стандартный графический интерфейс пользователя должен отвечать ряду требований:
поддерживать информационную технологию работы пользователя с программным продуктом – содержать привычные и понятные пользователю пункты меню, соответствующие функциям обработки, расположенные в естественной последовательности использования;
ориентироваться на конечного пользователя, который общается с программой на внешнем уровне взаимодействия;
удовлетворять правилу "шести" – в одну линейку меню включать не более 6 понятий, каждое из которых содержит не более 6 опций;
графические объекты сохраняют свое стандартизованное назначение и по возможности местоположение на экране.
СТРУКТУРНОЕ ПРОЕКТИРОВАНИЕ И ПРОГРАММИРОВАНИЕ
Нисходящее проектирование
Модульное программирование
Структурное программирование
НИСХОДЯЩЕЕ ПРОЕКТИРОВАНИЕ
Метод нисходящего проектирования предполагает последовательное разложение общей функции обработки данных на простые функциональные элементы ("сверху-вниз").
В результате строится иерархическая схема, отражающая состав и взаимоподчиненность отдельных функций, которая носит название функциональная структура алгоритма (ФСА) приложения.
Последовательность действий по разработке функциональной структуры алгоритма приложения:
определяются цели автоматизации предметной области и их иерархия (цель-подцель);
устанавливается состав приложений (задач обработки), обеспечивающих реализацию поставленных целей;
уточняется характер взаимосвязи приложений и их основные характеристики (информация для решения задач, время и периодичность решения, условия выполнения и др.);
определяются необходимые для решения задач функции обработки данных;
выполняется декомпозиция функций обработки до необходимой структурной сложности, реализуемой предполагаемым инструментарием.
Подобная структура приложения (рис. 18.2) отражает наиболее важное – состав и взаимосвязь функций обработки информации для реализации приложений, хотя и не раскрывает логику выполнения каждой отдельной функции, условия или периодичность их вызовов.
Разложение должно носить строго функциональный характер, т.е. отдельный элемент ФСА описывает законченную содержательную функцию обработки информации, которая предполагает определенный способ реализации на программном уровне.
Функции ввода-вывода информации рекомендуется отделять от функций вычислительной или логической обработки данных.
По частоте использования функции делятся на:
однократно выполняемые;
повторяющиеся.
Степень детализации функций может быть различной, но иерархическая схема должна давать представление о составе и структуре взаимосвязанных функций и общем алгоритме обработки данных. Широко используемые функции приобретают ранг стандартных (встроенных) функций при проектировании внутренней структуры программного продукта.
Пример 18.4.Некоторые функции, например Ф2, далее неразложимы на составляющие: они предполагают непосредственную программную реализацию. Другие функции, например Ф1, Фm, могут быть представлены в виде структурного объединения более простых функций, например Ф11, Ф12 и т.д. Для всех функций-компонентов осуществляется самостоятельная программная реализация; составные функции (типа Ф1, Фm) реализуются как программные модули, управляющие функциями-компонентами, например, в виде программ-меню.
Рис. 18.2.Функциональная структура приложения:
Ц – цель; пЦ – подцель; П – приложение; Ф – функция
МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ
Свойства модуля
Модульное программupовоние основано на понятии модуля – логически взаимосвязанной совокупности функциональных элементов, оформленных в виде отдельных программных модулей.
Модуль характеризуют:
один вход и один выход – на входе программный модуль получает определенный набор исходных данных, выполняет содержательную обработку и возвращает один набор результатных данных, т.е. реализуется стандартный принцип IPO (Input – Process – Output) – вход-процесс-выход;
функциональная завершенность – модуль выполняет перечень регламентированных операций для реализации каждой отдельной функции в полном составе, достаточных для завершения начатой обработки;
логическая независимость – результат работы программного модуля зависит только от исходных данных, но не зависит от работы других модулей;
слабые информационные связи с другими программными модулями – обмен информацией между модулями должен быть по возможности минимизирован;
обозримый по размеру и сложности программный элемент.
Таким образом, модули содержат определение доступных для обработки данных, операции обработки данных, схемы взаимосвязи с другими модулями.
Каждый модуль состоит из спецификации и тела. Спецификации определяют правила использования модуля, а тело – способ реализации процесса обработки.