Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП пособие Шишов.doc
Скачиваний:
151
Добавлен:
17.11.2018
Размер:
3.25 Mб
Скачать

10.2. Этапы разработки пользовательского интерфейса

Разработка пользовательского интерфейса включает те же основные этапы, что и разработка программного обеспечения:

• постановка задачи – определение типа интерфейса и общих требований к нему;

• анализ требований и определение спецификаций – определение сценариев использования и пользовательской модели интерфейса;

• проектирование – проектирование диалогов и их реализация в виде процессов ввода-вывода;

• реализация – программирование и тестирование интерфейсных процессов.

При проектировании пользовательских интерфейсов необходимо учитывать психофизические особенности человека, связанные с восприятием, запоминанием и обработкой информации.

Существуют три совершенно различные модели пользовательского интерфейса: модель программиста, модель пользователя и программная модель.

10.3. Критерии оценки интерфейса пользователем

Многочисленные опросы и обследования, проводимые ведущими фирмами по разработке программного обеспечения, показали, что основными критериями оценки интерфейсов пользователем являются:

• простота освоения и запоминания операций системы – конкретно оценивают время освоения и продолжительность сохранения информации в памяти;

• скорость достижения результатов при использовании системы – определяется количеством вводимых или выбираемых мышью команд и настроек;

• субъективная удовлетворенность при эксплуатации системы (удобство работы, утомляемость и т. д.).

Графические пользовательские интерфейсы поддерживаются операционными системами Windows, Apple Macintosh, OS/2 и т. д. В рамках указанных операционных систем для таких интерфейсов разработаны наборы стандартных компонентов взаимодействия с пользователем. Эти наборы не идентичны, как и основные приемы работы с интерфейсами различных операционных систем.

Пользовательские интерфейсы большинства современных программ строятся по технологии WIMP: W – Windows (окна), I – Icons (пиктограммы), М – Mouse (мышь), Р – Pop-up (всплывающие или выпадающие меню). Основными элементами графических интерфейсов, таким образом, являются: окна, пиктограммы, компоненты ввода–вывода и мышь, которую используют в качестве указующего устройства и устройства прямого манипулирования объектами на экране.

11. Порядок работы эвм при выполнении программ. Трансляторы, интерпритаторы, компиляторы

Программа – это последовательность инструкций, предназначенных для выполнения компьютером. В настоящее время программы оформляются в виде текста, который записывается в файлы. Этот текст является результатом деятельности программиста и, несмотря на специфику формального языка, остаётся программой для программиста.

Процесс создания программы предполагает несколько этапов. За этапом разработки проекта программы и алгоритма следует этап программирования. На этом этапе пишется программа.

Файл с исходным текстом программы (его также называют исходным модулем) обрабатывается транслятором, который осуществляет перевод программы с языка программирования в понятную машине последовательность кодов.

Транслятор (англ. translator – переводчик) – это программа–переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.

Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

Компилятор (англ. compiler – составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.

Интерпретатор (англ. interpreter – истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

После того, как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы.

Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.

Каждый конкретный язык ориентирован либо на компиляцию, либо на интерпретацию – в зависимости от того, для каких целей он создавался. Например, Паскаль обычно используется для решения довольно сложных задач, в которых важна скорость работы программ. Поэтому данный язык обычно реализуется с помощью компилятора.

С другой стороны, Бейсик создавался как язык для начинающих программистов, для которых построчное выполнение программы имеет неоспоримые преимущества.

Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.

Рассмотрим процесс компиляции более подробно и полно. Он разделяется на несколько этапов.

На первом этапе исходный текст (он обычно хранится в виде текстового файла) подвергается лексической обработке. Программа разделяется на предложения, предложение делится на элементарные составляющие (лексемы). Каждая лексема распознаётся (имя, ключевое слово, литерал, символ операции или разделитель) и преобразуется в соответствующее двоичное представление. Этот этап работы транслятора называют лексическим анализом.

Затем наступает этап синтаксического анализа. На этом этапе из лексем собираются выражения, а из выражений – операторы. Невозможность построить разрешенную конструкцию является признаком синтаксической ошибки в тексте исходной программы.

После синтаксического анализа наступает этап поэтапной генерации кода. На этом этапе происходит замена операторов языка высокого уровня инструкциями ассемблера, а затем последовательностями машинных команд. Но пока в результате получается файл не готовый к исполнению. Результат преобразования исходного текста программы записывается в виде двоичного файла (его называют объектным модулем) с расширением «.obj».

Объектный модуль можно выполнять лишь после специальной дополнительной обработки (компоновки), которая осуществляется специальной программой–компоновщиком.

Что же нужно скомпоновать, т. е. соединить в единое целое? Дело в том, что проектировщики трансляторов предусмотрели, что в большинстве случаев программы создаются из отдельных фрагментов (модулей). Если программа сложная, то деление ее на части упрощает работу над ней. Можно каждую часть отлаживать отдельно, а отладить короткую программу всегда легче, чем большую, можно разработку отдельных частей предоставить вести отдельным программистам и за счет этого добиться существенного сокращения сроков работы над всей программой и т. д. Можно конечно компоновать отлаженные части программы в текстовом виде, но это не всегда эффективно и возможно. Например, если Вы используете в качестве модулей библиотеку стандартных программ, то эти программы поставляются в виде объектных файлов, а не текстовых. Во всех описанных пока случаях Вы должны явно указать транслятору (программе–компоновщику) какие файлы надо скомпоновать.

Но кроме этого компоновщик также добавляет к компонуемой программе коды так называемых библиотечных функций. Во–первых, это коды стандартных программ вычисления математических функций (sin, tg, exp), которые реализованы с использованием числовых методов. Во–вторых, это коды функций отвечающих за выполнение конкретных действий, например, вывод информации на экран дисплея и т. п. Эти компоновки транслятор выполняет автоматически.

Но этим перечень задач, которые решаются на этапе компоновки не ограничивается. Программа строится из инструкций и операторов. В свою очередь, операторы включают выражения, которые состоят из операций и операндов. По крайней мере, части операндов в выражениях должны соответствовать отдельные «участки» оперативной памяти, предназначаемые, например, для сохранения результатов вычислений. В ходе трансляции устанавливается соответствие между операндами и адресами областей памяти вычислительной машины. Задача компоновщика состоит в согласовании адресов во всех фрагментах кода (объектных файлов), из которых собирается готовая к выполнению программа. Компоновщик отвечает за то, чтобы конкретному операнду выражения соответствовала определённая область (ячейка) памяти.

Программа-компоновщик устанавливает все связи между отдельными компонуемыми модулями, поэтому ее часто называют редактором связей или линкировщиком (от англ. link – связь).

Преобразованная компоновщиком программа называется загрузочным или выполнимым модулем. Файлы, содержащие загрузочные модули, называют загрузочными или выполнимыми файлами. Часто они имеют расширение (формат) «.ехе».

Таблица Этапы сборки программы

Действия

Исполнитель

Результат

Ввод исходного текста программы на языке программирования

Программист

Исходный модуль (файл с кодом программы)

Компиляция

Компилятор (программа языковой обработки)

Объектный модуль (программа в машинных кодах)

Сборка готовой программы из нескольких файлов, библиотек

Линкер (сборщик)

Исполняемый файл (загрузочный модуль)

Выполнение программы

Операционная система (выполнение) + Пользователь (загрузка исходных данных, управление)

Результаты расчета

Полученный после компиляции машинный код – это готовый исполняемый файл, он выполняется только в той операционной системе, под которую был скомпилирован. Некоторые современные среды разработки, например, Free Pascal, являются кроссплатформенными – разные версии среды устанавливаются под разные операционные системы и позволяют создавать под них программы.