Файл: Разработка программ с графическим интерфейсом на C#.pdf
Добавлен: 04.04.2023
Просмотров: 986
Скачиваний: 15
СОДЕРЖАНИЕ
1. Введение в языки программирования высокого уровня
1.1. Основные понятия и определения
1.2. Классификация языков программирования
1.4. Развитие среды программирования MS Visual Studio
2. Создание графических приложений в языках программирования высокого уровня
2.1. Принципы разработки пользовательского интерфейса
2.2. Этапы проектирования пользовательского интерфейса
2.3. Язык программирования высокого уровня C#
2.4. Использование языка C# при разработке графического интерфейса
2.2. Этапы проектирования пользовательского интерфейса
Рассмотрим четыре этапа проектирования пользовательского интерфейса:
- Начало работы над проектом.
В первую очередь, на этом этапе, происходит определение объемов работ и планируемых затрат. Чтобы предложить современные интерфейсные решения, необходимо изучить предметную область. Изучение происходит через общение с опытными пользователями для выяснения всех деталей или же с помощью литературных источников информации. Проблемы, выявленные на этом этапе, должны быть решены в новом интерфейсе. Удачные решения используют и для других разработок. На этом этапе проводят юзабилити-тестирование текущей версии интерфейса.
- Постановка задачи.
Этот этап предполагает проведение анализа данных о пользователях, формализуется функциональность и определяются критерии оценки проекта. Чем больше информации будет собрано об целевой аудитории пользователей, тем успешней будет результат проектирования интерфейса. Данные о пользователях и самом проекте содержат разнообразную информацию, такую как: опыт работы пользователя с компьютером; цели и задачи пользователя; причина создания проекта; технологии и платформа, с которыми пользователи будут работать; среда, в которой будет использоваться новый проект.
- Высокоуровневое проектирование.
Данный этап включает разработку навигационной системы, справочной системы и структуры экранов. Основная задача этапа – преобразование потребностей пользователей системы в конкретные требования к функциональной составляющей проекта.
- Низкоуровневое проектирование.
Данный этап заключается в детальной проработке задач и проверке качества разработанных решений. Определяется структура, то есть, как будет работать разрабатываемый продукт. Определяется форма, которую примет эта функциональность. При проектировании экранов производится полное описание интерфейса, разрабатываются макеты с описанием каждого элемента. Здесь проводится юзабилити-тестирование, на основании данных которого интерфейс либо дорабатывается, либо считается разработанным.[23]
2.3. Язык программирования высокого уровня C#
В настоящее время язык C# является одним из самых распространенных средств разработки с помощью объектно-ориентированного подхода. Он был разработан в начале 2000-х годов компанией Microsoft, а именно группой разработчиков под руководством Андерса Хейлсберга. Платформой для данного языка служит .NET Framework.
Язык C# можно считать гибридом от нескольких языков, потому что он обладает:
- наличием таких типов данных, как структуры и перечисления, позаимствованные из языка C++;
- использованием свойств классов, как и в Visual Basic;
- возможностью использовать перегрузку операторов.
Особенности языка С#:
- обладает встроенными типами данных;
- обеспечивает доступ к WinAPI и базовым классам платформы .NET;
- позволяет создавать динамические web-страницы ASP.NET;
- возможность использовать прямой доступ к памяти и указатели;
- обеспечивает получение исполняемых файлов или библиотек путем изменения ключей компиляции;
- поддерживает автоматическую генерацию XML-документации.
Так как язык C# является объектно-ориентированным, он отвечает трем основным принципам или парадигмам [3]:
- инкапсуляция – позволяет обеспечить ограничение доступа к переменным и методам класса с помощью спецификаторов доступа public, private, protected;
- наследование – позволяет создавать новые классы на основе уже существующих, то есть новые классы, помимо свойств родительского класса, могут иметь и свои;
- полиморфизм – позволяет использовать один интерфейс (несколько похожих методов) для решения похожих задач (примером может служить перегрузка методов).
Пространство имен – совокупность различных типов или группировка уникальных идентификаторов. Большая часть таких типов для управления объектами графического интерфейса находится в пространстве имен System.Windows.Forms (здесь описываются диалоговые окна, меню и иные компоненты). Помимо этого, есть и другие пространства имен [30]:
- System.Collection позволяет работать с коллекциями, массивами, словарями и другими контейнерами;
- System.Data позволяет работать с базами данных;
- System.Drawing позволяет рисовать в окне;
- System.IO позволяет работать с файлами, обеспечивает ввод и вывод данных;
- System.XML позволяет читать и записывать файлы формата XML.
Как уже говорилось выше, язык программирования C# является объектно-ориентированным, а значит основной единицей или элементом программ на этом языке является класс. Класс – элемент, который представляет собой совокупность переменных, свойств, методов, событий, описывающих его реализацию. Описание класса начинается со служебного слова class.
Класс может содержать методы. Методы представляют собой операции, которые выполняет объект класса. Для определения метода используется следующий синтаксис:
тип_возвращаемого_значения имя метода (список_параметров)
{тело метода}
тип_возвращаемого_значения – это тип данных результата, получаемого после выполнения метода;
список_параметров – это входные данные, которые будут использоваться при выполнении метода.
К методам могут применяться модификаторы доступа [20]:
- public – открытый для других методов вне класса;
- private – закрыт для методов других классов;
- protected – дает доступ только методам связанным отношением родитель-потомок.
По умолчанию для методов применяется модификатор доступа private.
Существуют специальные методы:
- конструктор, который служит для создания и инициализации объекта класса. Для описания используется следующий синтаксис:
[модификаторы] имя_класса (список_параметров)
{тело конструктора}
Стоит заметить, что в конструкторе не указывается тип возвращаемого значения.
- деструктор, который вызывается при уничтожении объекта. Он не имеет возвращаемого значения и параметров:
~имя_класса ()
{тело деструктора}
Делегат – специальный тип данных, который используется для вызова функции путем обращения к ячейке памяти и описывается следующим способом [27]:
delegate тип_функции имя_делегата (список_параметров);
Для описания перехода объекта из одного состояния в другое используются события. Реакция объектов на изменение состояний реализуется с помощью обработчиков событий, которые вызываются автоматически при наступлении события.
Именно обработка событий является ключевым моментом при построении графических пользовательских приложений. В таких приложениях для всех кнопок панели инструментов или пунктов меню задаются события, которые наступают при нажатии на эти объекты.
Действия программы выражаются в операторах. Основные операции – это объявление переменных, присвоение значений, вызов методов, ветвление на один или другой блок кода, прохождение по коллекциям. Операторы выполняются в определенном порядке, который называется потоком выполнения.
Оператор может состоять из одной строки кода, которая заканчивается точкой с запятой, или из ряда однострочных операторов в блоке. Блок оператора заключен в скобки {} и может содержать вложенные блоки. [30]
Операторы выбора:
- if (оператор выбора с условием)
if (условие)
{
Операторы, выполняющиеся при удовлетворении условия;
}else
{
Операторы, не отвечающие условию;
}
- case (оператор выбора со списком «кандидатов»)
switch (оператор)
{
case 1: оператор1; break;
case 2: оператор2; break;
default: оператор по умолчанию; break;
}
Циклы:
- for (позволяет выполнять ряд операторов, пока условие истинно)
for (переменная с начальным значением; условие; действие шага цикла)
{
операторы;
}
- do (выполняет операторы пока условие истинно, причем проверка проходит после хотя бы одного цикла)
do
{
операторы;
} while (условие)
- while (выполняет операторы пока условие истинно, причем проверка проходит перед проходом цикла, в отличие от цикла do)
While (условие)
{
операторы;
}
- foreach (позволяет работать с коллекциями)
foreach (переменная in коллекция)
{
операторы;
}
2.4. Использование языка C# при разработке графического интерфейса
Как говорилось выше, основным пространством имен для разработки приложений с графическим интерфейсом является System.Windows.Forms. Здесь содержится большое количество типов, позволяющих визуально проектировать интерфейс пользователя.
Стоит выделить основные компоненты, в том числе те, которые будут использованы далее в практической части курсовой работы: Form, Button, Label, TextBox, ComboBox, GroupBox, DataTimePicker, DataGridView. [28]
Компонент Form (форма) описывает форму приложения, является неким контейнером для всех остальных компонентов.
Компонент Button (кнопка) в основном используется для генерации события щелчка, по которому вызывается функция - обработчик. В обработчике события можно писать код, который будет выполнен при нажатии на кнопку. [30]
Компонент Label (метка) используется для отображения не редактируемой надписи.
Компонент TextBox (текстовое поле) используется для ввода текста в одну строку или несколько строк при включенном режиме MultiLine.
Компонент ComboBox (раскрывающийся список) используется для выбора заранее добавленных элементов.
Компонент GroupBox (поле группировки) выполняет роль контейнера и используется для организации группы из компонентов, позволяет перемещать все сгруппированные компоненты.
Компонент DateTimePicker (выбор даты) визуально представляет собой календарь и позволяет пользователю выбрать нужную дату.
Компонент DataGridView (таблица базы данных) служит для отображаения данных в виде таблицы, состоящей из строк и столбцов. Связывается с таблицей базы данных, отображает выборку данных и позволяется проводить простые операции. [19]
3. Оснащение СУБД MS SQL SERVER 2012 графическим интерфейсом
3.1. Проектирование графического интерфейса пользователя в среде Visual Studio
Практическим заданием курсовой работы является создание графического приложения, а именно создание графической оболочки для базы данных на примере фирмы, занимающейся сдачей в аренду жилых помещений.
Процесс создания Windows-приложения состоит из двух этапов:
- Визуальное проектирование – создание внешнего вида приложения путем манипулирования необходимыми объектами.
- Написание программного кода, определяющего поведение приложения в ответе на действие пользователя.
Среда разработки Visual Studio позволяет разработать графический интерфейс без написания кода, просто расставляя нужные нам объекты на форме. Среда автоматически сгенерирует программный код всех этих действий. Нам останется лишь написать логику работы приложения.
Начнем с визуального проектирования приложения.
Приложение будет состоять из 4 форм:
- Главная форма называется «База данных «Недвижимость» и будет состоять из 4 кнопок (Button) и 2 таблиц (DataGridView):
- кнопка «Добавить квартиросъемщика» (поле Name зададим равным btnAddTenant). По нажатию на кнопку должно произойти событие, вызывающее форму «Карточка квартиросъемщика» в режиме добавления записи в базу данных.
- кнопка «Изменить квартиросъемщика» (поле Name зададим равным btnChangeTenant). По нажатию на кнопку должно произойти событие, вызывающее форму «Карточка квартиросъемщика» в режиме изменения выбранной записи.
- кнопка «Удалить квартиросъемщика» (поле Name зададим равным btnDeleteTenant). По нажатию на кнопку должно произойти событие, удаляющее выбранную запись из базы данных.
- кнопка «Справочник» (поле Name зададим равным btnSpravochnik). По нажатию на кнопку должно произойти событие, вызывающее форму «Справочник».
- компоненты DataGridView будут показывать данные двух таблиц из базы данных – Квартиросъемщики и Объекты недвижимости. Эти таблицы должны быть связанными, то есть при выборе объекта недвижимости в одной таблице, во вторую будет выводиться информация о квартиросъемщике данного объекта недвижимости.
Главная форма представлена на рисунке 1.