Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы / programmirovanie1.docx
Скачиваний:
21
Добавлен:
20.05.2015
Размер:
222.18 Кб
Скачать

Основы визуального программирования

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

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

Концепция .NET Framework и Visual Studio .NET предоставляют в распоряжение программистов огромную библиотеку объектов, ускоряющую процесс разработки приложений. Многие объекты в этой библиотеке имеют визуальное представление и дают возможность назначения свойств объекта в режиме конструирования с помощью окна Properties или диалогов с мастером-построителем.

  1. Сетевое программирование: основные принципы, технологии, особенности реализации в современных языках программирования [16 с.1007-1079].

Расширяемый язык разметки (eXtensible Markup Language–XML) предоставляет способ описания структурированных данных. В отличие от HTML-тэгов, которые применяются в основном для управления отображением данных, XML-тэги используются для определения структуры и типов самих данных.

XML — это простой, независимый от платформы и широко принятый стандарт. Преимущество языка XML по сравнению с HTML заключается в том, что он отделяет интерфейс пользователя от структурированных данных.

Перечислим некоторые преимущества XML по сравнению с другими форматами в отношении хранения информации:

  • XML-форматы основываются на тексте, что облегчает их чтение, документирование и в некоторых случаях отладку.

  • Документы XML могут использовать большую часть инфраструктуры, созданной для HTML, включая протокол http, что позволяет передавать XML через брандмауэр.

  • XML-разбор хорошо описан и широко реализован, что делает возможным извлечение информации из документов XML в различных средах.

  • XML создан на основе Юникода, что упрощает создание интернациональных документов.

Однако XML подходит не в каждой ситуации.

На платформе .NET язык XML применяется для повышения производительности, совместимости с открытыми стандартами и интеграции с ADO .NET.

Язык XML является форматом устойчивого хранения объекта DataSet, то есть, при сохранении на жестком диске объекта DataSet используется универсальный формат XML, а не двоичный или какой-то другой специализированный формат. Аналогично, при обмене объектами DataSet между разными процессами или компьютерами данные передаются в потоке формата XML.

XML-схемы

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

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

  1. Организация и средства человеко-машинного интерфейса[16 с.803-858].

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

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

  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();

}

Соседние файлы в папке госы