Разработка Диссертационного приложения на языке C# с использованием Windows Form

Автор работы: Пользователь скрыл имя, 16 Мая 2013 в 11:29, курсовая работа

Описание работы

C# — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.
C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML [1].

Файлы: 1 файл

КР 01 Выдыш.doc

— 6.07 Мб (Скачать файл)





Министерство образования и  науки Российской Федерации

Государственное образовательное  учреждение высшего профессионального  образования

«Алтайский государственный технический университет им. И.И. Ползунова»

 

Факультет информационных технологий

Кафедра информационных технологий

 

 

Курсовая работа защищена с оценкой

 

Руководитель работы

                                     Е. М. Патрушев 

подпись и. о. фамилия

«     » 2013 г.

 

 

Разработка Диссертационного

приложения на языке C# с

использованием Windows Form

тема  работы

Пояснительная записка

к курсовой работе

по дисциплине «ПНЯВУ»

 

КР 200100.01.000 ПЗ


обозначение документа

 

Студент группы 8ПС-21                 А. Ю. Выдыш 

и. о. фамилия

 

Руководитель работы доцент, к.т.н. Е. М. Патрушев 

должность, ученая степень  и. о. фамилия

Нормоконтролёр доцент, к.т.н. Е. М. Патрушев 

должность, ученая степень  и. о. фамилия

 

 

Барнаул 2013

 

Министерство образования и  науки Российской Федерации

Государственное образовательное  учреждение высшего профессионального 

образования

«Алтайский государственный технический университет им. И.И. Ползунова»

 

Факультет информационных технологий

Кафедра информационных технологий

 

УТВЕРЖДАЮ

Заведующий кафедрой

                       С. П. Пронин

             подпись           и. о. фамилия

«    »                        2013 г.

ЗАДАНИЕ № 01

к курсовой работе

по специальности

Приборостроение

студенту группы

8ПС-21       Выдыш Анне Юрьевне

на тему:

Разработка  диссертационного приложения на языке C# с

 

использованием Windows Form

по дисциплине

«Программирование на языке высокого уровня»


Календарный план выполнения задания

Наименование задач,

составляющих задание

Дата выполнения задачи

Подпись

руководителя

Получение задания на курсовую работу

05.02.13-10.02.13

 

Теоретический обзор языка C#

11.02.13-25.02.13

 

Практическая реализация программы

26.02.13-15.03.13

 

Защита курсовой работы

16.03.13-14.04.13

 

 

Руководитель работы преподаватель, к.т.н. Е. М. Патрушев 

должность, ученая степень подпись и. о. фамилия

Задание принял к исполнению: 

студент группы 8ПС-21  А.Ю. Выдыш 

подпись и. о. фамилия

 

Содержание

Введение

C#  — объектно-ориентированный  язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков  с C-подобным синтаксисом, из  них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML [1].

Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).

 Цель курсовой работы: изучение необходимых элементов языка высокого уровня C# и написание приложения в среде MS Visual Studio, которое будет иметь практический смысл в написании магистерской диссертации.

Для реализации поставленной цели необходимо решить следующие задачи:

– изучение теоритического материала;

– консольная реализация приложения и его проверка на корректность;

– объектно-ориентированная реализация приложения с помощью Windows Form;

– проверка финального билда.


  1. Теоретическая часть

    1. Особенности языка

C# разрабатывался как  язык программирования прикладного  уровня для CLR и, как таковой,  зависит, прежде всего, от возможностей  самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET [1].

1.1.1 Версии языка

  1. Версия 1.0 была анонсирована вместе с платформой .NET в июне 2000 года, тогда же появилась и первая общедоступная бета-версия; C# 1.0 окончательно вышел вместе с Microsoft Visual Studio .NET в феврале 2002 года. Первая версия C# напоминала по своим возможностям Java 1.4, несколько их расширяя: так, в C# имелись свойства (выглядящие в коде как поля объекта, но на деле вызывающие при обращении к ним методы класса), индексаторы (подобные свойствам, но принимающие параметр как индекс массива), события, делегаты, циклы foreach, структуры, передаваемые по значению, автоматическое преобразование встроенных типов в объекты при необходимости (boxing), атрибуты, встроенные средства взаимодействия с неуправляемым кодом (DLL, COM) и прочее. Кроме того, в C# решено было перенести некоторые возможности C++, отсутствовавшие в Java: беззнаковые типы, перегрузку операторов (с некоторыми ограничениями, в отличие от C++), передача параметров в метод по ссылке, методы с переменным числом параметров, оператор goto (с ограничениями). Также в C# оставили ограниченную возможность работы с указателями — в местах кода, специально обозначенных словом unsafe и при указании специальной опции компилятору.

2) Версия 2.0. Проект спецификации C# 2.0 впервые был опубликован Microsoft в октябре 2003 года. В 2004 году выходили бета-версии (проект с кодовым названием Whidbey). C# 2.0 окончательно вышел 7 ноября 2005 года вместе с Visual Studio 2005 и .NET 2.0.

Новые возможности в версии 2.0:

— частичные типы (разделение реализации класса более чем на один файл);

— обобщённые, или параметризованные типы (generics). В отличие от шаблонов C++, они поддерживают некоторые дополнительные возможности и работают на уровне виртуальной машины. Вместе с тем, параметрами обобщённого типа не могут быть выражения, они не могут быть полностью или частично специализированы, не поддерживают шаблонных параметров по умолчанию, от шаблонного параметра нельзя наследоваться [1];

— новая форма итератора, позволяющая создавать сопрограммы с помощью ключевого слова yield, подобно Python и Ruby;

— анонимные методы, обеспечивающие функциональность замыкания;

— обнуляемые типы-значения, представляющие собой те же самые типы-значения, способные принимать также значение null. Такие типы позволяют улучшить взаимодействие с базами данных через язык SQL;

— возможность создавать хранимые процедуры, триггеры и даже типы данных на .Net языках (в том числе и на C#);

— поддержка 64-разрядных вычислений, что кроме всего прочего, позволяет увеличить адресное пространство и использовать 64-разрядные примитивные типы данных;

3) Версия 3.0. В июне 2004 года Андерс Хейлсберг впервые рассказал на сайте Microsoft о планируемых расширениях языка в C#3.0. В сентябре 2005 года вышли проект спецификации C# 3.0 и бета-версия C# 3.0, устанавливаемая в виде дополнения к существующим Visual Studio 2005 и .NET 2.0. Окончательно эта версия языка вошла в Visual Studio 2008 и .NET 3.5 [1].

В C# 3.0 появились следующие радикальные  добавления к языку:

— ключевые слова select, from, where, позволяющие делать запросы из SQL, XML, коллекций и т. п. (запрос, интегрированный в язык, Language Integrated Query, или LINQ);

— инициализация объекта вместе с его свойствами;

— деревья выражений;

— лямбда-выражения теперь могут представляться в виде структуры данных, доступной для обхода во время выполнения, тем самым позволяя транслировать строго типизированные C#-выражения в другие домены (например, выражения SQL);

— вывод типов локальной переменной: var x = "hello"; вместо string x = "hello";

— безымянные типы: var x = new { Name = "James" };

— методы-расширения — добавление метода в существующий класс с помощью ключевого слова this при первом параметре статической функции;

— автоматические свойства: компилятор сгенерирует закрытое (private) поле и соответствующие аксессор и мутатор для кода вида.

4) Версия 4.0. Превью C# 4.0 было представлено в конце 2008 года, вместе с CTP-версией Visual Studio 2010.

Visual Basic 10.0 и C# 4.0 были выпущены  в апреле 2010 года, одновременно с выпуском Visual Studio 2010 [1].

Новые возможности в версии 4.0:

— именованные и опциональные параметры;

— новые возможности COM interop;

— ковариантность и контрвариантность;

— контракты в коде (Code Contracts).

    1. Реализации

Существует несколько реализаций C#:

1) Реализация C# в виде компилятора csc.exe включена в состав .NET Framework (включая .NET Micro Framework, .NET Compact Framework и его реализации под Silverlight и Windows Phone 7).

2) В составе проекта Rotor (Shared Source Common Language Infrastructure) компании Microsoft.

3) Проект Mono включает в себя реализацию C# с открытым исходным кодом.

4) Проект DotGNU также включает компилятор C# с открытым кодом.

5) DotNetAnywhere[15] — ориентированная на встраиваемые системы реализация CLR, поддерживает практически всю спецификацию C# 2.0. [3].

1.2.1 .NET Framework

 .NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является исполняющая среда Common Language Runtime (CLR), способная выполнять как обычные программы, так и серверные веб-приложения. .NET Framework поддерживает создание программ, написанных на разных языках программирования.

Считается, что платформа .NET Framework явилась ответом компании Microsoft на набравшую к тому времени большую популярность платформу Java компании Sun Microsystems (ныне принадлежит Oracle).

Хотя .NET является патентованной технологией  корпорации Microsoft и официально рассчитана на работу под операционными системами  семейства Microsoft Windows, существуют независимые проекты (прежде всего это Mono и Portable.NET), позволяющие запускать программы .NET на некоторых других операционных системах [4].

Программа для .NET Framework, написанная на любом поддерживаемом языке программирования, сначала переводится компилятором в единый для .NET промежуточный байт-код Common Intermediate Language (CIL) (ранее назывался Microsoft Intermediate Language, MSIL). В терминах .NET получается сборка, англ. assembly. Затем код либо исполняется виртуальной машиной Common Language Runtime (CLR), либо транслируется утилитой NGen.exe в исполняемый код для конкретного целевого процессора [3]. Использование виртуальной машины предпочтительно, так как избавляет разработчиков от необходимости заботиться об особенностях аппаратной части. В случае использования виртуальной машины CLR, встроенный в неё JIT-компилятор «на лету» (just in time) преобразует промежуточный байт-код в машинные коды нужного процессора. Современная технология динамической компиляции позволяет достигнуть высокого уровня быстродействия. Виртуальная машина CLR также сама заботится о базовой безопасности, управлении памятью и системе исключений, избавляя разработчика от части работы.

Архитектура .NET Framework описана и опубликована в спецификации Common Language Infrastructure (CLI), разработанной Microsoft и утверждённой ISO и ECMA. В CLI описаны типы данных .NET, формат метаданных о структуре программы, система исполнения байт-кода и многое другое[8].

Объектные классы .NET, доступные для всех поддерживаемых языков программирования, содержатся в библиотеке Framework Class Library (FCL). В FCL входят классы Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation и другие. Ядро FCL называется Base Class Library (BCL).

    1. Visual Studio

Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight [2].

Visual Studio включает в себя редактор  исходного кода с поддержкой  технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server) [6].

Одной из основных идей Microsoft .NET является совместимость программных частей, написанных на разных языках. Например, служба, написанная на C++ для Microsoft .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.

    1. Windows Forms

Windows Forms  – название интерфейса программирования приложений (API), отвечающего за графический интерфейс пользователя и являющегося частью Microsoft .NET Framework. Данный интерфейс упрощает доступ к элементам интерфейса Microsoft Windows за счет создания обертки для существующего Win32 API в управляемом коде. Причем управляемый код – классы, реализующие API для Windows Forms, не зависят от языка разработки. То есть программист одинаково может использовать Windows Forms как при написании ПО на C#, С++, так и на VB.Net, J# [7].

Информация о работе Разработка Диссертационного приложения на языке C# с использованием Windows Form