ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 28.07.2021

Просмотров: 225

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Имеется ряд стилей взаимодействий, которые делятся на два основных вида. Первый - это использование интерфейса языка команд - ввод команд текстовыми средствами; и второй - это непосредственное манипулирование. Таким образом, имеется ряд способов, которыми пользователь мог бы связываться с компьютером:

  1. Языки команд - пользователь управляет системой, вводя соответствующие команды в тестовом режиме;

  2. Вопрос и ответ - диалог, где компьютер задает вопросы, а пользователь отвечает ему (или наоборот);

  3. Формы - пользователь заполняет формы или поля диалога, вводя данные в необходимые поля;

  4. Меню - пользователь обеспечен рядом опций и управляет системой, выбирая необходимые пункты;

  5. Прямое манипулирование - пользователь управляет объектами на экране посредством устройства манипулирования, типа мыши. Другой термин, используемый для прямого интерфейса манипулирования - Графический Интерфейс Пользователя.

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

Основные принципы создания интерфейса
1.Естественность (интуитивность)
Работа с системой не должна вызывать у пользователя сложностей в поиске необходимых директив (элементов интерфейса) для управления процессом решения поставленной задачи.
2. Непротиворечивость
Если в процессе работы с системой пользователем были использованы некоторые приемы работы с некоторой частью системы, то в другой части системы приемы работы должны быть идентичны. Также работа с системой через интерфейс должна соответствовать установленным, привычным нормам (например, использование клавиши Enter).
3. Неизбыточность
Это означает, что пользователь должен вводить только минимальную информацию для работы или управления системой. Например, пользователь не должен вводить незначимые цифры (00010 вместо 10). Аналогично, нельзя требовать от пользователя ввести информацию, которая была предварительно введена или которая может быть автоматически получена из системы. Желательно использовать значения по умолчанию где только возможно, чтобы минимизировать процесс ввода информации.
4. Непосредственный доступ к системе помощи
В процессе работы необходимо, чтобы система обеспечивала пользователя необходимыми инструкциями. Система помощи отвечает трем основным аспектам - качество и количество обеспечиваемых команд; характер сообщений об ошибках и подтверждения того, что система делает. Сообщения об ошибках должны быть полезны и понятны пользователю.
5. Гибкость
Насколько хорошо интерфейс системы может обслуживать пользователя с различными уровнями подготовки? Для неопытных пользователей интерфейс может быть организован как иерархическая структура меню, а для опытных пользователей как команды, комбинации нажатий клавиш и параметры. Количество информации, отображаемой на экране, называется экранной плотностью. Исследования показали, что, чем меньше экранная плотность, тем отображаемая информация наиболее доступна и понятна для пользователя и наоборот, если экранная плотность большая, это может вызвать затруднения в усвоении информации и ее ясном понимании. Для привлечения внимания к каким-либо элементам интерфейса можно воспользоваться выделением этих элементов большей яркостью на фоне других - более темных.
Цвет - мощный визуальный инструмент, его необходимо использовать очень осторожно, чтобы не вызвать дискомфорта у пользователя ошибочными цветовыми комбинациями.
необходимо ограничить число цветов до 4 на экране и до 7 для последовательности экранов; для неактивных элементов нужно использовать бледные цвета;


Непротиворечивость и стандартизация

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

Тексты и диалоги

Приведем некоторые принципы, которыми необходимо руководствоваться при создании текстовых диалогов и отображений: текст в нижнем регистре читается приблизительно на 13% быстрее чем текст, который напечатан полностью в верхнем регистре;

Средства управления Графического интерфейса пользователя
'Управление' - общий термин для компонентов интерфейса типа слайдеров, кнопок, кадров(фреймов), переключателей и т.д., которые служат, чтобы заместить объекты, являющимися знакомыми пользователям из реального мира.

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

Слайдеры - обычно это элемент 'полоса прокрутки', они могут быть помещены или в горизонтальную или вертикальную линейку на экране.

Метки и текстовые блоки используются для текстовой информации. Различие между ними - текстовые поля, позволяют пользователю вводить текстовые данные в поля, в то время как метки - поля нередактируемые, используемые только для отображения текста, типа подсказок, команд пользователя и т.д.

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

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


Обработка ошибок в формах ввода
Основные принципы:

  1. Обеспечить возможность посимвольного редактирования введенных записей для исправления ошибок ввода (опечаток);

  2. Если ошибка была обнаружена системой, желательно вернуть курсор в поле с ошибочными данными и каким-либо образом выделить это поле визуально;

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

  4. Обеспечьте сообщения об ошибках, которые объясняют и предлагают пути ее устранения.




  1. Многоуровневая архитектура построения распределенных программных приложений: назначение отдельных слоев, реализация, проблемы[16 с. 1117-1159].




Многоуровневая архитектура предназначена для реализации клиент-серверных многоуровневых приложений. Приложение на основе логической концепции разбивается на уровни, части программного кода одного приложения могут находиться на различных компьютерах, и в этом смысле его можно считать распределенным. Однако в многоуровневых приложениях сохраняется линейный характер взаимодействия между клиентом и сервером.

В распределенной системе все приложение представляется как набор равноправных взаимодействующих объектов, который выполняет определенную функциональность.

Каждый объект предоставляет некоторый набор сервисов и сам может использовать сервисы, предоставляемые другими объектами системы. Таким образом, роли объектов жестко не определены, и каждый объект системы может одновременно выступать и как сервер, и как клиент. Протокол взаимодействия между двумя объектами распределенной программной системы определяется интерфейсом.

Сегодня можно выделить следующие архитектурные стили/парадигмы:

  • Клиент/сервер— Система разделяется на два приложения, где клиент выполняет запросы к серверу. Во многих случаях в роли сервера выступает база данных, а логика приложения представлена процедурами хранения.

  • Компонентная архитектура— Дизайн приложения разлагается на функциональные или логические компоненты с возможностью повторного использования, предоставляющие тщательно проработанные интерфейсы связи.

  • Дизайн на основе предметной области (в некоторых источниках его так же называют проблемно-ориентированным проектированием) — Объектно-ориентированный архитектурный стиль, ориентированный на моделирование сферы деловой активности и определяющий бизнес-объекты на основании сущностей этой сферы.

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

  • Шина сообщений— программной системы, которая может принимать и отправлять сообщения по одному или более каналам связи, так что приложения получают возможность взаимодействовать, не располагая конкретными сведениями друг о друге.

  • N-уровневая / 3-уровневая— Функциональность выделяется в отдельные сегменты, во многом аналогично многослойному стилю, но в данном случае сегменты физически располагаются на разных компьютерах.

  • Объектно-ориентированная— Парадигма проектирования, основанная на распределении ответственности приложения или системы между отдельными многократно используемыми и самостоятельными объектами, содержащими данные и поведение.

  • Сервис-ориентированная архитектура (SOA) — Описывает приложения, предоставляющие и потребляющие функциональность в виде сервисов с помощью контрактов и сообщений.

N-уровневая / 3-уровневая архитектура


Характеристиками N-уровневой архитектуры приложения являются функциональная декомпозиция приложения, сервисные компоненты и их распределенное развертывание, что обеспечивает повышенную масштабируемость, доступность, управляемость и эффективность использования ресурсов. Каждый уровень абсолютно независим от всех остальных, кроме тех, с которыми он непосредственно соседствует. N-ному уровню требуется лишь знать, как обрабатывать запрос от n+1 уровня, как передавать этот запрос на n-1 уровень (если таковой имеется), и как обрабатывать результаты запроса. Для обеспечения лучшей масштабируемости связь между уровнями обычно асинхронная.

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

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

  • Сервер приложений располагается на втором уровне. На втором уровне сосредоточена бо́льшая часть бизнес-логики. Вне его остаются фрагменты, экспортируемые на терминалы (см.выше), а также погруженные в третий уровень хранимые процедуры и триггеры.

  • Сервер базы данных обеспечивает хранение данных и выносится на третий уровень. Обычно это стандартная реляционная или объектно-ориентированная СУБД. Если третий уровень представляет собой базу данных вместе с хранимыми процедурами, триггерами и схемой, описывающей приложение в терминах реляционной модели, то второй уровень строится как программный интерфейс, связывающий клиентские компоненты с прикладной логикой базы данных.

Основными преимуществами N-уровневого/3-уровневого архитектурного стиля являются:

  • Удобство поддержки. Уровни не зависят друг от друга, что позволяет выполнять обновления или изменения, не оказывая влияния на приложение в целом.

  • Масштабируемость. Уровни организовываются на основании развертывания слоев, поэтому масштабировать приложение довольно просто.

  • Гибкость. Управление и масштабирование каждого уровня может выполняться независимо, что обеспечивает повышение гибкости.

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




Практика (МОГУТ БЫТЬ СИТНАКСИЧЕСКИЕ ОШИБКИ! НЕ ЗАБУДЬТЕ МЕНЯТЬ СТРОКУ ПОДКЛЮЧЕНИЯ!)


  1. Реализовать просмотр данных таблицы базы данных из формы виндовс приложения в режиме связанного уровня


SqlConnection cnn = new SqlConnection(@"Data Source=NATALIAPC;Initial Catalog=HumanResources;Integrated Security=True");

SqlCommand cmd = new SqlCommand();

private void Formll_Load(object sender, EventArgs e)

{

cmd.Connection = cnn;

cmd.CommandText = "SELECT * FROM Employees"; cnn.Open();

SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read())

{

richTextBoxl.Text += reader["FIO"] + ”\n”;

}

cnn.Close();

}

  1. Реализовать просмотр данных из таблиц базы данных, связанных отношениями «один-ко-многим»


SqlConnection cnn =new SqlConnection(@"Data Sourсe=429-01\SQLEXPRE SS;Initial Catalog>HuaianResources; Integrated Security-True;Pooling«False");

DataSet ds = new DataSet();

SqlDataAdapter daEmp = new SqlDataAdapter();

SqlDataAdapter daSal = new SqlDataAdapter();

private void Form9 Load(object sender, EventArgs e)

{

//СОЗДАЙТЕ АДАПТЕРЫ ДАННЫХ:

daEmp.SelectCommand = new SqlCommand("select * from Employees", cnn);

daSal.SelectCommand = new SqlConmand("select * from Salaries", cnn);

//В ФОРМЕ РАЗМЕСТИТЕ ЭЛЕМЕНТЫ УПРАВЛЕНИЯ DataGridViewl и DataGridView2

//и ЭЛЕМЕНТЫ, ПОДДЕРЖИВАКЩ1Е СВЯЗИ МЕЖДУ НИМИ BindingSourcel и BindingSource2.

//УКАЖИТЕ ИСТОЧНИКИ ДАННЫХ ДЛЯ ЭТИХ ЭЛЕМЕНТОВ:

dataGridViewl.DataSource = bindingSourcel; dataGridView2.DataSource = bindingSource2;

//ВЫЗОВИТЕ МЕТОД FILLQ ДЛЯ ЗАПОЛНЕНИЯ DataSet

daEmp.Fill(ds, "Employees");

daSal.Fill(ds, "Salaries");

//УСТАНОВИТЕ СВЯЗЬ МЕЖДУ ЗАГРУЖЕННЫМИ ТАБЛИЦАМИ

ds.Relations.Add("E_S“, ds.Tables["Employees"].Columns["EmpId"], ds.Tables["Salaries"].Columns["EmpId"]); //УСТАНОВИТЕ СВЯЗИ ДЛЯ ЭЛЕМЕНТОВ Binding bindingSourcel.DataSource = ds.Tables["Employees"]; bindingSource2.0ataSource = bindingSourcel; bindingSource2.DataMember="E_S“;

}



  1. Использовать адаптер данных для обеспечения доступа к таблицам базы данных в Windows приложении.

SqlConnection cnn = new SqlConnection(@"Data Source=429-01\SQLEXPRESS;Initial Catalog=HumanResources;Integrated Security=True”);

SqlDataAdapter da;

DataSet ds = new DataSet();

private void Forml3_Load(object sender, EventArgs e)

{

da = new SqlDataAdapter("Select * from PaymentTypes", cnn); da.Fill(ds, "PaymentTypes");

dataGridViewl.DataSource = ds.Tables["PaymentTypes"];

}


  1. Реализовать вызов (запуск на исполнение и прием результатов) заданных хранимых процедур базы данных из приложения пользователя







//Вызов хранимой процедуры и передача ей значения входного параметра private void button1_Click(object sender, EventArgs e)

{

da.SelectCommand = new SqlCommand(); da.SelectCommand.Connection = cnn;

da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.CommandText = "pr1";

da.SelectCommand.Parameters.Add("@parl", SqlDbType.VarChar, 50); da.SelectCommand.Parameters["@parl"].Value = comboBox1.SelectedValue

if (ds.Tables ["EmpD"] != null)

{

ds.Tables["EmpD"].Clear(); dataGridViewl.DataSource = null;

}

da.Fill(ds, "EmpD”);

dataGridViewl.DataSource = ds.Tables["EmpD"];

}


  1. Использовать визуальный стиль программирования (готовые компоненты среды разработки) для реализации доступа к базам данных и обеспечения выполнения операций манипулирования данными (команды Select, Insert, Update, Delete) из программного приложения.

Добавьте в ваш проект форму для генерирования простой привязки. В меню Данные выберите команду «Добавить новый источник данных». Откроется диалог для формирования источника данных. В качестве источника данных укажите базу данных, пройдите все шаги мастера установок. После завершения конфигурирования источника данных должна быть доступна следующая панель:




Смотрите также файлы