Численные методы. Оценка пользовательского интерфейса разработанного пользовательского приложения методом goms
Скачать 72.77 Kb.
|
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» Д.09.03.03-ИНФ.- 16/.ЛР Кафедра искусственного интеллекта и системного анализа Лабораторная работа №4 по дисциплине «Человеко-машинное взаимодействие» Тема: «Оценка пользовательского интерфейса разработанного пользовательского приложения методом GOMS » Проверила: __________ (дата, подпись) Выполнила: __________ ст.гр. (дата, подпись) Донецк-2017 Задание и порядок выполнения работы Цель работы: получение практических навыков численной оценки разработанного пользовательского интерфейса. Реализовать на любом языке высокого уровня программу для вычисления четырех арифметических операций: сложение, вычитание, умножение и деление. В качестве аргументов использовать два десятичных числа, вводимых пользователем с клавиатуры. Предоставить пользователю возможность выбирать, результат каких операций он хочет посмотреть. Для выбранного самостоятельно наглядного примера оценить методом GOMS время требуемое пользователю для выполнения реализованных арифметических операций. Сделать выводы. Экранные формы Умножение в программе показано на рисунке 1. Рисунок 1 - Умножение Деление в программе показано на рисунке 2. Рисунок 2 - Деление Сложение в программе показано на рисунке 3. Рисунок 3 - Сложение Вычитание в программе показано на рисунке 4. Рисунок 4 - Вычитание Описание расчета среднего времени методом GOMS для выбранного примера Если пользователь решил посмотреть одну операцию Пользователь перемещает руку на мышку H Пользователь наводит указатель на поле ввода H+P Пользователь нажимает кнопкой мышки на поле ввода H+P+K Пользователь обращается к клавиатуре H+P+K+H Пользователь вводит первое число H+P+K+H+K+K Пользователь вводит второе число H+P+K+H+K+K+H+P+K+H+K+K+H Пользователь выбирает операцию H+P+K+H+K+K+H+P+K+H+K+K+H+P+K+K Расстановка операторов М H+М+P+М+K+H+М+K+М+K+H+P+М+K+H+K+М+K+H+М+P+М+K+ По правилу №3 вычеркиваем оператор М H+M+P+ H+М+P+ Результат: H+М+P+K+H+М+K+K+H+P+М+K+H+K+K+H+P+М+K+H+K+K=0,4 + 1,35 + 1,1 + 0,2 + 0,4 + 1,35 + 2*0,2 + 0,4 + 1,1 + 1,35 + 0,2 + 0,4 + 2*0,2 + 0,4 + 1,1 + 1,35 + 0,2 + 0,4 + 2*0,2= 11,15 Если пользователь решил посмотреть две операции Пользователь перемещает руку на мышку H Пользователь наводит указатель на поле ввода H+P Пользователь нажимает кнопкой мышки на поле ввода H+P+K Пользователь обращается к клавиатуре H+P+K+H Пользователь вводит первое число H+P+K+H+K+K Пользователь вводит второе число H+P+K+H+K+K+H+P+K+H+K+K+H Пользователь выбирает операции H+P+K+H+K+K+H+P+K+H+K+K+H+P+K+P+K+K Расстановка операторов М H+М+P+М+K+H+М+K+М+K+H+P+М+K+H+K+М+K+H+М+P+М+K+M+P+M+K+K По правилу №3 вычеркиваем оператор М H+M+P+ H+М+P+ Результат: H+М+P+K+H+М+K+K+H+P+М+K+H+K+K+H+P+М+K+H+K+ P+K+ K =0,4 + 1,35 + 1,1 + 0,2 + 0,4 + 1,35 + 2*0,2 + 0,4 + 1,1 + 1,35 + 0,2 + 0,4 + 2*0,2 + 0,4 + 1,1 + 1,35 + 0,2 + 0,4 + 2*0,2 +1,1+0,2= 12,45 Если пользователь решил посмотреть три операции Пользователь перемещает руку на мышку H Пользователь наводит указатель на поле ввода H+P Пользователь нажимает кнопкой мышки на поле ввода H+P+K Пользователь обращается к клавиатуре H+P+K+H Пользователь вводит первое число H+P+K+H+K+K Пользователь вводит второе число H+P+K+H+K+K+H+P+K+H+K+K+H Пользователь выбирает операцию H+P+K+H+K+K+H+P+K+H+K+K+H+P+K+P+K+P+K+K Расстановка операторов М H+М+P+М+K+H+М+K+М+K+H+P+М+K+H+K+М+K+H+М+P+М+K+M+P+M+K+P+M+K+K По правилу №3 вычеркиваем оператор М H+М+P+ Результат: H+М+P+K+H+М+K+K+H+P+М+K+H+K+K+H+М+P+K+P+K+P+K+K =0,4 + 1,35 + 1,1 + 0,2 + 0,4 + 1,35 + 2*0,2 + 0,4 + 1,1 + 1,35 + 0,2 + 0,4 + 2*0,2 + 0,4 + 1,1 + 1,35 + 0,2 + 0,4 + 2*0,2 +1,1+0,2+1,1+0,2= 13,75 Если пользователь решил посмотреть все операции Пользователь перемещает руку на мышку H Пользователь наводит указатель на поле ввода H+P Пользователь нажимает кнопкой мышки на поле ввода H+P+K Пользователь обращается к клавиатуре H+P+K+H Пользователь вводит первое число H+P+K+H+K+K Пользователь вводит второе число H+P+K+H+K+K+H+P+K+H+K+K+H Пользователь выбирает операцию H+P+K+H+K+K+H+P+K+H+K+K+H+P+K+P+K+P+K+P+K+K Расстановка операторов М H+М+P+М+K+H+М+K+М+K+H+P+М+K+H+K+М+K+H+М+P+М+K+M+P+M+K+P+M+K+P+М+K+K По правилу №3 вычеркиваем оператор М H+М+P+ Результат: H+М+P+K+H+М+K+K+H+P+М+K+H+K+K+H+М+P+K+P+K+P+K+P+K+К=0,4 + 1,35 + 1,1 + 0,2 + 0,4 + 1,35 + 2*0,2 + 0,4 + 1,1 + 1,35 + 0,2 + 0,4 + 2*0,2 + 0,4 + 1,1 + 1,35 + 0,2 + 0,4 + 2*0,2 +1,1+0,2+1,1+0,2+1,1+0,2= 15,05 Листинг #include #include using namespace std; int a, b, rez; double add; int main(){ setlocale(LC_ALL, "rus"); cout << "-----------Калькулятор-----------" << endl; cout << "Введите первое число: "; cin >> a; cout << "Введите второе число: "; cin >> b; cout << "Выберите операцию над числами: " << endl; cout << "\t 1. * \n" << "\t 2. / \n" << "\t 3. + \n" << "\t 4. - \n" << endl; cout << ">>>"; cin >> rez; switch(rez){ case 1: add = a*b;cout << "Результат = " << add << endl; system("pause"); rez = 0;add = 0;;break; case 2: add = (double)a/(double)b;cout << "Результат = " << add << endl; system("pause"); rez = 0;add = 0;;break; case 3: add = a+b;cout << "Результат = " << add << endl; system("pause"); rez = 0;add = 0;;break; case 4: add = a-b;cout << "Результат = " << add << endl; system("pause"); rez = 0;add = 0;; break; } system("cls"); main(); } На Языке java package lb1; import java.util.*; import java.lang.*; import java.io.*; import java.time.Duration; import java.time.Instant; public class strok { public static void main(String[] args) { long start = System.currentTimeMillis(); int a,b,rez; double add; System.out.println("введите первое число: \n"); Scanner num = new Scanner(System.in); a = num.nextInt(); System.out.println("введите второе число: \n"); b = num.nextInt(); System.out.println("Выберите операцию над числами: \n"); System.out.println("\t1.* \n"); System.out.println("\t2./ \n"); System.out.println("\t3.+ \n"); System.out.println("\t4.- \n"); rez = num.nextInt(); switch(rez) { case 1: add = a*b; System.out.println("Результат = "+ add); rez = 0; add = 0; break; case 2: add = a/b; System.out.println("Результат = "+ add); rez = 0; add = 0; break; case 3: add = a+b; System.out.println("Результат = "+ add); rez = 0; add = 0; break; case 4: add = a-b; System.out.println("Результат = "+ add); rez = 0; add = 0; break; } long finish = System.currentTimeMillis(); long elapsed = finish - start; System.out.println("Прошло времени, мс: " + elapsed); } } Вывод: В лабораторной работе был получен навыков численной оценки разработанного пользовательского интерфейса, произведена оценка времени по количеству операций, освоен метод GOMS. |