Файл: Программные средства создания клиентских программ (Операционная система клиента).pdf
Добавлен: 01.04.2023
Просмотров: 133
Скачиваний: 2
СОДЕРЖАНИЕ
Архитектура клиент-серверных систем
Основные принципы взаимодействия компонентов системы
Программное обеспечение клиента и сервера
Средства разработки клиентских программ
Интегрированные среды разработки программ и их ключевые особенности
Основы разработки программ в Dev-C++
Таким образом, интегрированные среды разработки не относятся к числу средств отладки. Отладка является всего лишь одним из свойств современных сред разработки. Встроенный отладчик подразумевает, что интегрированные среды разработки обеспечивают способ поиска и исправления некоторых заранее определенных ошибок, зависящих от языка (например, пропущенных символов известного оператора, неопределенных переменных и т.д.) без необходимости компиляции.
Некоторые современные интегрированные среды предназначены для определенного языка программирования или набора языков, предоставляя набор функций, который согласуется с особенностями этого языка [10.]. Например, среда Xcode поддерживается только для языков Objective-C и Swift. Однако также существует много так называемых мультиязычных сред, таких как Eclipse (для языков C, C ++, Python, Perl, PHP, Java, Ruby и других), Komodo (Perl, Python, Tcl, PHP, Ruby, Javascript и других) и NetBeans (Java, JavaScript, PHP, Python, Ruby, C, C ++ и других). Поддержка альтернативных языков часто обеспечивается плагинами. Например, Flycheck является расширением проверки синтаксиса для GNU Emacs с поддержкой 39 языков.
Существует множество различных интегрированных сред, учитывающих различные способы работы разработчиков и различные типы кода, которые они создают. Существуют среды, разработанные для разработки на одном конкретным языком, облачные интегрированные среды разработки, или среды, предназначенные исключительно для разработки мобильных приложений или для HTML, а также среды, предназначенные специально для разработки для Apple или Microsoft.
Как правило, большинство современных интегрированных сред снабжены графическими интерфейсами. При этом среда может быть автономным приложением, а в некоторых случаях она может быть частью существующего и совместимого приложения. Например, язык программирования BASIC можно использовать вместе с приложениями Microsoft Office, и можно написать программу WordBasic в приложении Microsoft Word. Современные интегрированные среды стремятся обеспечить удобную среду программирования для современных языков, таких как Visual Basic, Java, C# и многих других.
Вряд ли есть какое-либо определение, которое четко проводит границу между интегрированными средами и другими более широкими средами разработки программного обеспечения. Поэтому некоторые среды могут содержать компилятор, а некоторые – интерпретатор, в то время как в некоторых случаях интегрированные среды могут использоваться как компиляторы, так и интерпретаторы [11.]. Некоторыми примерами таких сред, которые поддерживают как компилятор, так и интерпретатор, являются Microsoft Visual Basic и Eclipse, в то время как другие, такие как SharpDeveloper и Lazarus, не допускают и того, и другого. В некоторых случаях для упрощения построения графического интерфейса пользователя в среды могут быть интегрированы системы контроля версий и различные другие инструменты.
Многоязычные интегрированные среды, такие как Eclipse, NetBeans, Komodo, Aptana и Geany, поддерживают несколько языков программирования.
Eclipse: поддерживает C, C++, Python, Perl, PHP, Java, Ruby и другие. Этот бесплатный редактор с открытым исходным кодом является моделью для многих сред разработки. Eclipse начинался как среда разработки Java и расширился с помощью плагинов. В настоящее время Eclipse управляется и направляется Консорциумом Eclipse.org.
NetBeans: поддерживает Java, JavaScript, PHP, Python, Ruby, C, C++ и другие языки программирования. Эта среда также бесплатная и с открытым исходным кодом. Все ее действия определены модулями, каждый из которых обеспечивает четко определенную функцию. Поддержка других языков программирования может быть добавлена путем установки дополнительных модулей.
Komodo: поддерживает Perl, Python, Tcl, PHP, Ruby, Javascript и другие. Эта среда предназначена для промышленной разработки и имеет более высокую цену.
Aptana: поддерживает HTML, CSS, JavaScript, AJAX и другие языки программирования за счет использования специализированных плагинов. Эта среда является довольно популярным выбором для разработки веб-приложений.
Geany: поддерживает C, Java, PHP, HTML, Python, Perl, Pascal и многие другие языки программирования. Это настраиваемая среда с большим набором плагинов.
В последние годы облачные интегрированные среды разработки начинают становиться мейнстримом. Возможности этих веб-ориентированных сред быстро растут, и большинству крупных компаний-разработчиков, скорее всего, придется предлагать свою среду, чтобы быть конкурентоспособным. Облачные среды предоставляют разработчикам доступ к своему коду из любой точки мира. Например, Nitrous – это облачная платформа среды разработки, которая поддерживает Ruby, Python, Node.js и другие. Cloud9 поддерживает более 40 языков, включая PHP, Ruby, Python, JavaScript с Node.js и Go. Heroku – еще одна популярная облачная платформа разработки, поддерживающая несколько языков программирования.
Ниже перечислены среды разработки, предназначенные для тех, кто работает в средах Microsoft или Apple:
Visual Studio: поддерживает Visual C++, VB.NET, C#, F# и другие языки программирования. Visual Studio является средой компании Microsoft и предназначена для создания приложений для платформы Microsoft [12.].
MonoDevelop: поддерживает C / C++, Visual Basic, C# и другие языки .NET.
Xcode: поддерживает языки Objective-C и Swift, а также API-интерфейсы Cocoa и Cocoa Touch. Эта среда предназначена только для создания приложений для iOS и Mac и включает в себя симулятор iPhone / iPad и конструктор графического интерфейса пользователя.
Espresso: поддерживает HTML, CSS, XML, JavaScript и PHP. Это инструмент для веб-разработчиков Mac.
Coda: поддерживает PHP, JavaScript, CSS, HTML, AppleScript и API Cacao.
Учитывая цели данной курсовой работы, для дальнейшего рассмотрения был выбран язык программирования Cи как один из наиболее популярных среди современных языков программирования, предназначенных для обучения [13.]. Выбор среды разработки для реализации программного приложения основывается на том, что выбираемая среда должна быть простой в использовании, чтобы позволить сосредоточиться на изучении концепций программирования, а также многофункциональной, для того, чтобы научиться создавать простые программы для решения прикладных задач [14.].
В качестве интегрированной среды разработки была выбрана Dev-C++, написанная на языке программирования Delphi для Windows, которая является легковесной средой, бесплатной и с открытым исходным кодом, которой требуется всего пару минут для установки. Ее обзор и создание простейшего приложения выполняются в следующих подразделах.
Основы разработки программ в Dev-C++
Dev-C++ – это полнофункциональная среда для языка программирования C/C++. Как и подобные ей интегрированные среды, она предлагает программисту простой и универсальный инструмент для редактирования, компиляции, компоновки и отладки программ. Она также обеспечивает поддержку управления файлами программы в проектах, содержащих все элементы, необходимые для создания окончательной исполняемой программы.
Dev-C++ использует порт Mingw GCC (GNU Compiler Collection) в качестве компилятора. Он может создавать собственные исполняемые файлы Win32, как для консольных приложений, так и для графических, а также библиотеки DLL и статические библиотеки. Dev-C++ также можно использовать в сочетании с Cygwin или любым другим компилятором на основе GCC. В этой работе будет продемонстрировано использование Mingw, который включен в дистрибутив Dev-C++ по умолчанию, для создания консольных программ на языке Си. Dev-C++ является свободным программным обеспечением, распространяемым в соответствии с GNU General Public License (GPL).
Dev-C++ включает в себя следующие возможности:
- Поддержка компиляторов на основе GCC (включая Mingw);
- Интегрированная отладка (с GDB);
- Поддержка нескольких языков (локализация);
- Класс браузера;
- Отладка переменной браузера;
- Завершение кода;
- Список функций;
- Менеджер проектов;
- Настраиваемый редактор подсветки синтаксиса;
- Быстрое создание Windows-приложения, консольные приложения, статические библиотеки и DLL;
- Поддержка шаблонов для создания собственных типов проектов;
- Создание Makefile;
- Редактирование и компиляция файлов ресурсов;
- Менеджер инструментов;
- Менеджер пакетов для легкой установки дополнительных библиотек;
- Поддержка печати.
Кроме того, Dev-C++ имеет набор меню, которые дают возможность давать имена и сохранять файлы исходного кода, а также компилировать, компоновать, выполнять и отлаживать программы, не покидая окно среды разработки. Если компилятор обнаруживает ошибки, выполняется возврат в программу редактора (при этом указываются ошибочные строки программы и соответствующие сообщения об ошибках). Если программа содержит несколько исходных модулей, в среде создается проект, в котором указываются имена файлов, содержащих исходные модули. Это дает возможность не только компоновать все объектные модули проекта в единый загрузочный модуль, но и автоматически перекомпилировать только те модули проекта, в которых были сделаны изменения. Вызов пунктов меню, переключение окон и выход из среды выполняется таким же образом, как и в других приложениях Windows.
Документацию о языке программирования C++ и самой среде можно получить из Dev-C++, нажав «Справка», затем «Справка по Dev-C++».
Любая компьютерная программа состоит из исходного кода (спецификация данных, инструкции для интерпретации компьютером) и документации (комментарии, которые документируют код и весь процесс программирования в помощь программисту и другим людям, которые могут нуждаться в чтении или изменении кода). Если код не содержит ошибок, он передается компьютеру для компиляции. Компилятор не только преобразует исходный код в объектный код, он также проверяет ошибки в грамматике, орфографии и пунктуации. Обычно необходимо скомпилировать код несколько раз, внося исправления, прежде чем он скомпилируется правильно. Полученный объектный код связан с модулями из системной библиотеки. Опять же, существует вероятность ошибки, если все модули не линкуются (связываются) должным образом. Когда программа наконец-то линкуется правильно, она выполняется с использованием входных данных и предоставляет выходные данные, которые затем необходимо проверить. Когда правильные выходные данные с использованием всех типов входных данных удается получить на постоянной основе, программа готова к использованию. На этом этапе программист заканчивает документацию.
Исходный код должен быть написан и протестирован помодульно – каждому методу или модулю соответствует отдельная блок-схема или псевдокод. Как только исходный код написан, в него включаются комментарии, документирующие назначение модуля, входные и выходные переменные, используемые формулу и все остальное. Когда модуль закончен, его следует внимательно прочитать и проверить вручную, используя репрезентативные данные, прежде чем тестировать на компьютере.
Первым шагом в тестировании и отладке программы на компьютере является компиляция. Во время этого процесса компьютер проверяет, нет ли в программе синтаксических, пунктуальных или орфографических ошибок, то есть соответствует ли она правильным грамматическим правилам для выбранного языка. Если все в порядке, она переводится в машинный код. В процессе компиляции не выявляется неправильное написание имен библиотечных модулей или других отдельно скомпилированных модулей. Также не выявляется ошибок в описании входных и выходных данных и не обнаруживается ошибок в логике, которые приводят к неправильным ответам или исключительным ситуациям, таким как деление на ноль. Любые ошибки в определении низкоуровневых модулей сложной задачи появятся позже. Когда компилятор обнаруживает ошибку, он идентифицирует местоположение ошибки и указывает, что не так. Программист должен вернуться и исправить исходный код перед его повторной компиляцией. Конечно, если какая-либо логика программы изменяется, может потребоваться еще раз проверить исходный код, используя примеры данных. Когда программа компилируется правильно, она создает объектный код и список других необходимых модулей. Они либо сохраняются для последующего использования, либо передаются компоновщику на этапе выполнения программы. Программа, которая правильно компилируется, не требует повторной компиляции.
После того, как основная программа и любые ее подмодули были написаны и скомпилированы правильно, полученные в результате объектные модули связываются с необходимыми математическими или другими библиотечными процедурами, и создается один исполняемый модуль. Компоновщики и загрузчики операционной системы отвечают за сборку исполняемого модуля и его выполнение. Если эти системные подпрограммы обнаруживают ошибки, необходимо внести исправления в соответствующий модуль исходного кода, любые измененные модули перекомпилировать и повторить линковку. Когда программа наконец выполняется, компьютер выполняет инструкции программиста в логической последовательности, принимает назначенный ввод, выполняет необходимые вычисления и выдает вывод. Вывод включает в себя сообщения, указывающие, содержало ли исполнение ошибки, а также статистику об используемых компьютерных ресурсах. При наличии ошибок выполнения исходный код должен быть исправлен, а программа перекомпилирована, повторно пролинкована и повторно выполнена. Весь процесс программирования заканчивается только тогда, когда программа завершается нормально, выдает правильные ответы без каких-либо ошибок выполнения.