Файл: Разработка программ с графическим интерфейсом на C#.pdf
Добавлен: 04.04.2023
Просмотров: 977
Скачиваний: 15
СОДЕРЖАНИЕ
1. Введение в языки программирования высокого уровня
1.1. Основные понятия и определения
1.2. Классификация языков программирования
1.4. Развитие среды программирования MS Visual Studio
2. Создание графических приложений в языках программирования высокого уровня
2.1. Принципы разработки пользовательского интерфейса
2.2. Этапы проектирования пользовательского интерфейса
2.3. Язык программирования высокого уровня C#
2.4. Использование языка C# при разработке графического интерфейса
- языки прикладного программирования (позволяют разработать программы, которые помогают пользователю решать задачи в разных сферах деятельности).
1.3. Типы данных
Вид информации, представленный каждым словом данных в памяти ЭВМ, может быть различен. Например, некоторые слова могут содержать целые числа, в то время как другие могут содержать символы. Программирование на машинном уровне требует точного знания того, как эти данные представлены в виде последовательности битов и какие машинные команды должны применяться для реализации требуемых операций. Это трудоемкий и чреватый ошибками процесс, обойтись без которого можно путем применения языка высокого уровня, дающего программисту абстрактную модель, в которой данные и операции над ними можно специфицировать в проблемно-ориентированных, а не в машинно-ориентированных терминах. [1]
Основой любого языка программирования является система его типов данных. Тип данных специфицирует структуру объектов, область значений, которые могут принимать элементы объектов этого типа, и множество операций, применимых к элементам объектов этого типа. Поэтому тип данных определяет, что представляет собой объект, и накладывает ограничения на то, как он может использоваться.
Простыми словами, тип данных – это допустимое множество значений.
Встроенные – типы данных, которые заранее определены в конкретном языке программирования. Помимо значений этих типов обычно описываются и операции над ними. Сюда можно отнести целые числа (int), числа с плавающей точкой (float), логический тип (bool) и другие.
Уточняемые – типы данных, позволяющие ограничить значения базового типа в пределах диапазона. Суть состоит в том, что для любого значения любого встроенного (и перечисляемого) типа существует его внешнее литеральное представление. Более того, по литеральному представлению константы можно однозначно определить тип, к которому она относится. Если к тому же на множестве значений типа задано отношение порядка (определены операции сравнения), то иногда возникает потребность сказать, что в данном приложении нас интересует подмножество значений такого типа, ограниченное некоторым специфицированным диапазоном. Сюда относят тип поддиапазона целых чисел в языках линии Паскаль. [17]
Перечисляемые – типы данных, представляющие собой конечное число значений, которые задаются перечислением. Обычно для любого перечисляемого типа предопределяются операции получения значения по его номеру и получения номера по значению. Кроме того, для перечисляемого типа предопределяются операции сравнения и получения следующего и предыдущего значения. По причине однозначного сопоставления значению перечисляемого типа натурального числа, возможно неявное преобразование этих значений к значению любого числового типа данных. Сюда можно отнести, например, тип Color = (red, blue, green).
Конструируемые (составные) – типы данных, которые состоят из значений одного или нескольких других типов. Сюда можно отнести массивы и списки. В сильно типизированных языках для любого значения типа массива известно число элементов базового типа. Поэтому в принципе всегда возможен контроль значения индекса, хотя на практике такой контроль обычно отменяется при использовании программы в производственном режиме. Типы массивов позволяют работать с регулярными структурами данных, каждый элемент которых относится к одному и тому же базовому типу. Существует другая разновидность составных конструируемых типов данных, которые позволяют определять и использовать нерегулярные структуры данных, элементы которых могут относиться к разным встроенным или явно определенным типам данных. Собирательно типы этой разновидности называются типами записи. [17]
1.4. Развитие среды программирования MS Visual Studio
Среда разработки MS Visual Studio начинает свое развитие с 1995 года, когда была выпущена первая версия продукта под таким названием. До этого в начале 1990-х гг. компанией Microsoft были выпущены отдельные продукты для программирования на языках высокого уровня – это MS Visual C++, MS Visual Basic, MS Visual FoxPro, MS Visual SourceSafe. И уже с 1995 г. все эти продукты были объединены под одним названием – Visual Studio. Эта среда программирования была выпущена в версии 4.0, видимо, потому, что в отдельном виде описанные выше компоненты среды уже выпускались до этого в течение нескольких лет.
Среда программирования Visual Studio довольно быстро стала популярной. Компания Sun Microsystems, которая в то время работала над собственной технологией – Java, использовала именно среду Visual Studio и реализованный в ней язык Visual C++ как основу для реализации своих Java-библиотек Abstract Windows Toolkit (AWT) под платформу Windows. [22]
Важную роль в широком распространении среды Visual Studio внесла подписка на MSDN (Microsoft Developers' Network), благодаря которой стало возможным получать новейшие программные разработки Microsoft.
В 1997 году была выпущена новая версия Visual Studio 5.0 под кодовым названием Boston. Именно в этой версии появились такие инструменты как:
- Visual Studio InterDev – инструмент разработки интерактивных Web-сайтов на основе технологии ASP (Active Server Pages);
- Visual Java++ - среда программирования на Java "от Microsoft".
Именно технология ASP до сих пор используется на многих сайтах. Она была предназначена для разработки WEB-страниц, и позже на ее основе разработана технология ASP.NET.
В 1998 году вышла версия Visual Studio 6.0. (под кодовым названием Aspen). В нее вошли следующие новые компоненты для поддержки визуального моделирования и анализа производительности программ:
- система проектирования распределенных приложений (Application Performance Explorer);
- инструмент для создания моделей из классов и настройки взаимосвязей между ними (MS Visual Modeler);
- инструмент авто-подключения удаленного доступа (Remote Auto Connection Manager);
- система визуального представления структуры создаваемой программы (Visual Studio Analyzer). [22]
В 2002 году была выпущена новая версия Visual Studio 7.0 (кодовое название - Rainier), или просто Visual Studio.NET. Главным нововведением этой версии является реализация многоязыковой платформы .NET Framework, обеспечивающей надежное и безопасное программирование с полным контролем типов и безопасности на базе управляемого кода (managed code), общей инфраструктуры языков (Common Language Infrastructure - CLI), единого промежуточного языка (Common Intermediate Language - CIL), общей системы типов (Common Type System - CTS). В этой версии был разработан и реализован новый мощный и современный язык программирования – C#.
В 2003 году была выпущена версия Visual Studio.NET под кодовым названием Everett. Данная версия не внесла каких-либо существенных изменений, а главной целью выпуска новой версии было обеспечение обновления до версии .NET Framework 1.1. Хотя можно выделить реализацию версии .NET для мобильных устройств – .NET Compact Framework. А это значит – поддержка разработки приложений для мобильных устройств средствами Visual Studio.
Следующая версия интегрированной среды Visual Studio 2005 (под кодовым названием Whidbey) вышла в 2005 году. Основными нововведениями версии являются параметризованные типы данных и развитие технологии ASP, предназначенной для реализации активных Web-страниц, в сочетании с надежностью и безопасностью кода, присущими платформе .NET.
В 2008 году была выпущена следующая версия Visual Studio - Visual Studio.NET 2008 (Orcas). Целевой операционной системой была ОС Windows Vista. Эта версия содержит развитые средства поддержки Web-программирования.
Особенности версии Visual Studio 2008:
- новый визуальный дизайнер приложений, использующих Windows Presentation Foundation (WPF) – API для поддержки GUI;
- поддержка отладки многопоточных приложений.
В апреле 2010 г. была выпущена версия Visual Studio 2010 (кодовое название Dev10) особенностями которой стали:
- появление нового функционального языка F#, сочетающего в себе возможности чисто функционального программирования со средствами объектно-ориентированного программирования, параллельного программирования и средствами интеграции со всеми остальными возможностями .NET Framework и Visual Studio; [22]
- поддержка облачных технологий средствами Microsoft Azure, а именно возможность разработки и запуска приложений на распределенных серверах. Для этого был разработан специальный инструмент – Microsoft Azure SDK.
В августе 2012 года вышла версия Visual Studio 2012 под кодовым названием Metro Theme, особенностями которого стали:
- улучшение пользовательского интерфейса;
- разработка инструмента просмотра проектов (Solution explorer);
- улучшена поддержка цветов для выделения фрагментов кода.
Как отмечает Microsoft, общий размер исходного кода для Visual Studio 2012 достиг 50 миллионов строк. [22]
Сделаем некоторые выводы:
- компьютерные технологии постоянно развиваются, а это в свою очередь является почвой для появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования.
- язык программирования – это формальная знаковая система, которая предназначена для описания алгоритмов в форме, наиболее удобной для программиста.
- целью появления таких языков является упрощение разработки программного кода.
- одним из основных в программировании является понятие алгоритма. Алгоритм – это совокупность команд или инструкций, которые описывают порядок действий, а результатом их выполнения является решение поставленной задачи.
- основой любого языка программирования является система его типов данных. Тип данных специфицирует структуру объектов, область значений, которые могут принимать элементы объектов этого типа
2. Создание графических приложений в языках программирования высокого уровня
2.1. Принципы разработки пользовательского интерфейса
В настоящее время часто используют два вида интерфейса: программный и пользовательский. Исследования показывают, что пользовательский интерфейс должен обеспечить выполнение следующих функций:
- управление компьютером пользователем: инициация, прерывание, отмена компьютерных процессов и т.д.
- ввод данных пользователем с последующим откликом системы.
- отображение данных, включаю те, что ввел пользователь.
- получение пользователем информации об ошибках и иных действиях через каналы обратной связи.
Пользовательский интерфейс – это совокупность средств и способов передачи информации между пользователем и программно-аппаратными средствами информационной системы. Основой взаимодействия пользователя с программно-аппаратными средствами являются диалоги, то есть вариант обмена информацией в реальном времени с целью решения задачи. Диалоги свою очередь состоят из нескольких процессов ввода и вывода информации.
Пользовательский интерфейс состоит из следующих частей:
- визуальное представление.
- набор функций для выполнения деятельности.
- техники взаимодействия пользователя с информационной системой. [23]
Любое современное программное обеспечение должно отвечать определенным требованиям, одним их которых является наличие качественного интерфейса. Независимо от уровня сложности программного обеспечения, пользователь не должен быстро уставать, раздражаться и вообще чувствовать дискомфорт при работе с программой. Именно качественный, дружелюбный интерфейс позволяет обеспечить удобство пользователя. Создание такого интерфейса подкрепляется несколькими принципами:
- Простота – все действия должны выполнятся достаточно просто, буквально в пару нажатий. Интерфейс должен обеспечивать легкость его изучения и использования. Кроме того, он должен предоставлять быстрый доступ IIO всему перечню функциональных возможностей, предусмотренных данным приложением. Один из возможных путей обеспечения простоты - представление на экране информации, минимально необходимой для выполнения пользователем очередного шага задания.
- Дружественность – так как пользователи способны допускать ошибки, интерфейс должен предупреждать о вводе неправильных данных, а также давать возможность отменить ошибочные действия, совершенные пользователем.
- Обратная связь – каждое действие пользователя должно сопровождаться визуальным или же звуковым подтверждением того, что программное обеспечение восприняло введенную команду; при этом вид реакции, по возможности, должен учитывать природу выполненного действия. Обратная связь эффективна в том случае, если она реализуется своевременно, то есть как можно ближе к точке последнего взаимодействия пользователя с системой. Когда компьютер обрабатывает поступившее задание, полезно предоставить пользователю информацию относительно состояния процесса, а также возможность прервать этот процесс в случае необходимости. [8]
- Гибкость – возможность изменять структуру интерфейса в зависимости от уровня подготовки пользователя. Если «новичку» порой достаточно стандартных возможностей программы, то «администратору» необходима более тонкая настройка ввода данных и администрирования. Гибкий (адаптивный) интерфейс - это еще одна форма проявления изучаемости программы, которая обеспечивает постепенное продвижение пользователя по классическому маршруту от простого к сложному. Другим аспектом гибкости интерфейса является возможность настройки пользователем элементов управления и дизайна рабочей среды приложения.
- Естественность интерфейса. Этот принцип предполагает, что интерфейс не вынуждает пользователя существенно изменять привычные для него способы решения задачи. Это, в частности, означает, что сообщения и результаты, выдаваемые приложением, не должны требовать дополнительных пояснений. Скажем, если в ходе работы бухгалтерской программы на экране появляется сообщение «Проводка завершена успешно», это будет значительно понятнее пользователю, чем сообщение «Обновление полей в базе данных выполнено».
- Согласованность означает возможность переносить имеющиеся у пользователя знания и навыки в работе с программой на новые задания, быстрее и легче осваивать новые функции и компоненты программы. Другими словами, согласованность делает интерфейс узнаваемым и предсказуемым.
- Терпимость интерфейса. Обычно пользователи изучают особенности работы с новым программным продуктом методом проб и ошибок. Не застрахованы от ошибок и достаточно опытные пользователи. Ошибки могут быть как физического типа (случайный выбор неправильной команды или данных), так и логического (принятие неправильного решения на выбор команды или данных). Интерфейс, обладающий свойством терпимости, должен предотвращать ситуации, которые могут привести к появлению ошибок. Он также должен уметь адаптироваться к потенциальным ошибкам пользователя и облегчать ему процесс устранения последствий таких ошибок.[8]