Создание приложений C# с использованием интегрированной среды разработки Microsoft Visual Studio.NET

Первое, что необходимо сказать об интегрированной среде разработки (integrated development environment, IDE) Visual Studio.NET, - то, то эта среда теперь едина для всех языков программирования.NET от Microsoft. Таким образом, какой бы тип проекта Вы ни создавали (ATL, MFC, C#, Visual Basic.NET, FoxPro, стандартный C++ и.т.п.), Вы всё равно будете работать в одной и той же среде.

В интегрированной среде разработки Visual Studio.NET проекты логически организуются в решения (solutions). Каждое решение состоит из одного или нескольких проектов. В свою очередь, каждый проект может состоять из любого количества исходных файлов, ссылок на внешние сборки и прочих ресурсов, которые и образуют приложение.

В Visual Studio.Net предусмотрены встроенные средства для работы с XML (как и HTML). Многие из этих средств были унаследованы от прежнего VisualInterDev. После подключения (или создания) файла XML к Вашему приложению Вы сможете производить редактирование его кода при помощи множества графических средств.

В Visual Studio.NET предусмотрены встроенные средства для организации соединения с базами данных.

Ещё один немаловажный аспект работы с Visual Studio.NET - это встроенная правка. Вместо того, чтобы постоянно переключаться между окнами среды разработки и MSDN, в Visual Studio.NET можно воспользоваться предусмотренным для этих целей окном Dynamic Help. Содержание этого окна изменяется динамически в зависимости от того, какой именно элемент выделен в настоящий момент.



MySQL-сервер и возможности MySQL

Для реализации дипломного проекта была выбрана СУБД MySQL.- компактный многопоточный сервер баз данных. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании.был разработан компанией TcX для внутренних нужд, которые заключались в быстрой обработке очень больших баз данных. Компания утверждает, что использует MySQL с 1996 года на сервере с более чем 40 базами данных, которые содержат 10000 таблиц, из которых более чем 500 имеют более 7 миллионов строк.

Исходные тексты сервера компилируются на множестве платформ. Наиболее полно возможности сервера проявляются на Unix-серверах, где есть поддержка многопоточности, что дает значительный прирост производительности. В настоящий момент продолжается разработка MySQL, хотя стоит отметить, что версии 3.22 полностью работоспособны.сервер является бесплатным для некоммерческого использования. Иначе необходимо приобретение лицензии, стоимость которой составляет 190 евро.

Возможности MySQLподдерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.

Краткий перечень возможностей MySQL:

1) Поддерживается неограниченное количество пользователей, одновременно работающих с базой данных;

2) Количество строк в таблицах может достигать 50 млн.;

)   Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих;

)   Простая и эффективная система безопасности.

MySQL - очень быстрый сервер, но для достижения этого разработчикам пришлось пожертвовать некоторыми требованиями к реляционным СУБД.

В MySQL отсутствуют:

1) Не реализована поддержка транзакций. Взамен предлагается использовать LOCK/UNLOCK TABLE;

2) Нет поддержки внешних (foreign) ключей;

)   Нет поддержки триггеров и хранимых процедур.

По словам создателей именно пункты 1) и 3) дали возможность достичь высокого быстродействия. Их реализация существенно снижает скорость сервера. Эти возможности не являются критичными при создании Web-приложений, что в сочетании с высоким быстродействием и малой ценой позволило серверу приобрести большую популярность.

Этапы решения задачи на ЭВМ

Постановка задачи

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

Задание на разработку программы по форме и характеру должно быть аналогично техническому заданию (ТЗ) на разработку какого-либо технического продукта (см., например, ГОСТ 19.201-78 Единой системы программной документации).

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

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

 

Составление проекта

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

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

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

Замечание. Этапы 2.3.1. и 2.3.2. для несложных задач мало зависят от ЭВМ и операционной системы, с помощью которых предполагается решать задачу, а также от языка, на котором она будет программироваться; выбор ЭВМ и языка может быть произведен и на следующих этапах разработки.

 

Алгоритмизация

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

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

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

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

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

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

 

Программирование

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

После составления программы проводится ее проверка для обнаружения и исправления ошибок, внесенных на этом этапе. Если при проверке обнаруживаются ошибки, допущенные на предыдущем этапе 2.3.3., то соответствующие исправления вносятся и в алгоритм, поскольку к нему еще придется обращаться на следующих этапах, и тексты алгоритма и программы должны соответствовать друг другу.

 

Препарация

После составления программы производится ее перенос на машинные носители, т. е. подготовка программы к выполнению ее на ЭВМ; будем называть этот этап препарацией. Для предупреждения и сокращения ошибок препарации текст программы должен быть написан ясно и четко: чем небрежнее будет написан текст программы, тем больше ошибок возникнет в препарированной программе. Проверка правильности препарации осуществляется распечаткой программы, введенной в ЭВМ с использованных носителей, и последующей сверкой с исходным текстом.



Трансляция

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

 

Отладка

На этапе отладки производится обнаружение с помощью ЭВМ ошибок в программе и их исправление. Этап отладки можно разделить на три подэтапа:

1) Контроль правильности программы;

2) Локализация ошибок;

)   Исправление ошибок.

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

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

После выполнения двух подэтапов производится исправление ошибок, выявленных на втором подэтапе. Исправления вносятся как в программу, так и в алгоритм, если он затрагивается этими исправлениями.

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

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

 

Оформление программы

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

 

Эксплуатация

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

 

Отчет о работе

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

 

Модернизация

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

Схема решения задачи. На рис.2.1. графически представлен процесс решения задачи на ЭВМ.


Рис.2.1. Этапы решения задачи на ЭВМ.

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: