Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

«Применение средств создания серверного программного обеспечения»

Содержание:

ВВЕДЕНИЕ

Средства разработки программного обеспечения – совокупность приемов, методов, методик, а также набор инструментальных программ (компиляторы, прикладные/системные библиотеки и т.д.), используемых разработчиком для создания программного кода программы, отвечающего заданным требованиям.

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

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

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

Современный рынок инструментов создания ПО не ограничивается собственно средствами разработки — во многих случаях они играют в процессе разработки далеко не самую главную роль.

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

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

Для написания данной курсовой работы были использованы следующие  литературные источники:

- Рудаков А. В. «Технология разработки программных продуктов». В учебном пособии в систематизированном виде приведены необходимые теоретические сведения построения моделей программных продуктов с использованием как структурного, так и объектно-ориентированного подхода.

- Хорев П. Б. «Объектно-ориентированное программирование». В книге излагаются основные понятия технологии программирования. Большое внимание уделяется программированию для операционной системы Windows. Рассматриваются наиболее часто используемые в разработке программного обеспечения системы программирования.

- Якобсон А. «Унифицированный процесс разработки программного обеспечения». В данной книге описывается унифицированный процесс создания сложных программных систем, включающий в себя как использование средств унифицированного языка моделирования UML — стандартного способа визуализации, конструирования, документирования и пересылки артефактов программных систем, — так и все фазы подготовки и управления этим процессом.

Кроме того, использовалась и другая учебная и научная литература.

В курсовой работе были использованы методы анализа, классификации, описания.

Целью данной работы является рассмотрение методов применения средств создания серверного программного обеспечения.

Предмет исследования – средства создания серверного программного обеспечения.

Объект –  IDE – системы, применяемые для создания серверного ПО.

В соответствии с целью работы, необходимо решить ряд задач:

- ознакомиться с классификацией ПО;

- изучить средства создания современного ПО;

- провести сравнительный анализ IDE – систем.

ГЛАВА 1. СРЕДСТВА РАЗРАБОТКИ ПРОГРАММ

Какими бы «умными» не были электронно-вычислительные машины или персональные компьютеры, но они останутся бесполезным «куском железа», если в них не загружено программное обеспечение. Именно оно заставляет их работать, выполняя определённые действия: производить расчёты, выводить на экран текст, картинки и видео, издавать звуки и проигрывать музыку, а также управлять другими устройствами.

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

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

Каждый из таких шагов кодируется на специальном машинном языке и называется «командой», а совокупность таких команд - программным кодом.

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

В своём эссе «Computable numbers with an application to the Entscheidungsproblem (Decision problem)» он создал теоретическую модель, представлявшую собой абстрактную машину (автомат), способную выполнять элементарные действия и, переводившую её из одного фиксированного состояния в другое фиксированное состояние.

В результате автоматом могли выполняться простейшие, рудиментарные операции. Такой автомат, впоследствии, получил в литературе название – «машина Тьюринга». Главная идея заключалась в математическом доказательстве того, что любое, заданное наперёд состояние этого автомата можно достигнуть, выполняя конечный набор определённых команд, из всего фиксированного набора (программы).

Сегодня существует огромное количество самых разных программ, предназначенных для выполнения совершенно разных функций: арифметических или инженерных расчётов, рисования, программирования, проигрывания музыки или фильмов и т. п.

Но, в то же время, каждая из них не выполняется сама по себе на персональном компьютере, она запускается, как это принято говорить, под управлением той или иной операционной системы. [2, c. 279]

Возникает резонный вопрос: «Почему же нельзя запустить каждую из программ самостоятельно минуя эту самую операционную систему, если программа – это набор кодов, при помощи которых можно управлять компьютером?»

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

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

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

Кроме этого, есть ещё один чисто практический момент. Разрабатывая программу для ПК, которая могла бы работать самостоятельно без операционной системы, пришлось бы все функции работы с оборудованием компьютера описывать в одной программе: чтение и запись на диск, ввод-вывод с клавиатуры, работу с монитором и т. д.

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

Операционная система берёт на себя большинство подобных «рутинных» операций, обеспечивая при этом «многозадачность». То есть пользователь может запустить и выполнять на своём персональном компьютере не одну, а сразу несколько программ одновременно. [5, c. 85]

Таким образом, все программное обеспечение можно условно разделить на три вида:

  1. Системное ПО;
  2. Прикладное ПО;
  3. Инструментальное ПО.

Системное ПО – это совокупность программ, которые обеспечивает управление аппаратной частью ПК: процессором, оперативной памятью, устройствами ввода-вывода, графическими системами, сетевыми устройствами и т. д. В частности, к такому ПО относятся:

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

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

Прикладное ПО – самый обширный класс. Именно к нему и относится большинство программ, которые используются в повседневной жизни. Браузеры, проигрыватели аудио и видеофайлов, графические и текстовые редакторы, антивирусные пакеты, бухгалтерские и другие программы, выполняющие различные расчёты и вычисления – все это, как и многие программы, разработанные для выполнения конкретных действий, функций и пользовательских задач носит название прикладного программного обеспечения. [6, c. 110]

Инструментальное ПО.

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

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

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

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

Справедливости ради необходимо заметить, что файлы программ содержат машинный код не в «двоичной», а, как правило, в «шестнадцатеричной» системе исчисления. А специальная системная программа, встроенная в операционную систему – «командный процессор», «переведёт» «шестнадцатеричный» код в «двоичный». Сделано это для того, чтобы сократить размер программных файлов, так как «шестнадцатеричная» форма записи намного компактнее. [7, c. 201]

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

По способу использования и распространения все ПО условно делят на:

  1. Бесплатно распространяемые программы. Как правило, их можно свободно копировать и распространять абсолютно бесплатно. Распространитель при этом, может взимать плату, но не за само программное обеспечение, а, например, за услуги записи на носитель, канал передачи данных и т. п.;
  2. Свободно распространяемое ПО. Как и в случае с «бесплатным» денег за такие программы никто не взимает, но основным отличием от первого, является возможность вносить изменения в программный код и распространять новые версии полученного ПО вместе со своими изменениями. Таким образом, «свободное» ПО распространяется вместе с исходным кодом;
  3. Открытое ПО. ПО условиям лицензии в обязательном порядке распространяется с открытым исходным кодом;
  4. Закрытое ПО. Является частной собственностью своих авторов и распространяется строго на определённых условиях. Например, это может быть условно-бесплатное распространение. Как правило, распространяется без исходных кодов.

ГЛАВА 2. JAVA КАК ОСНОВНОЙ ЯЗЫК СОЗДАНИЯ

Java – язык программирования от компании Sun microsystems. Изначально разрабатывался как язык для программирования электронных устройств, но позже стал использоваться для написания серверного ПО.

Программы на Java - кроссплатформенные, то есть способны работать на любых операционных системах. Основы программирования на языке Java Java как язык с поддержкой объектного ориентирования отвечает основным принципам ООП:

- наследование;

- полиморфизм;

- инкапсуляция.

В центре «Джава», как и в других ООЯ, - объект и класс с конструкторами и свойствами. Код на языке программирования Java транслируется в байт-код, затем выполняется на виртуальной машине JVM. Преобразование в байт-код осуществляется на Javac, Jikes, Espresso, GCJ.

Существуют такие компиляторы, которые транслируют язык «Си» в Java байт-код. Таким образом, ПО на «Си» может работать на любых платформах.

Синтаксис «Джава» характеризуется следующим:

1. Имена классов должны начинаться с большой буквы. Если название состоит из нескольких слов, то второе должно начинаться с верхнего регистра.

2. Если для формирования метода используется несколько слов, то второе из них должно начинаться с большой буквы.

3. Обработка начинается с метода main() - он является частью каждой программы. [10, c. 178]

Язык программирования Java имеет 8 примитивных типов. Они представлены ниже.

типы в джава

Рис. 1 Примитивные типы Java

Boolean - логический тип, принимает всего два значения true и false.

Byte - наименьший целочисленный тип размером 1 байт. Он используются при работе с потоком данных или файлов, необработанными двоичными данными. Имеет диапазон от -128 до 127.

Short имеет диапазон от -32768 до 32767, используется для представления чисел. Размер переменных этого типа - 2 байта.

Int тоже обозначает числа, но его размер - 4 байта. Он чаще остальных используется для работы с целочисленными данными, а byte и short иногда повышаются до int.

Long используются для больших целых чисел. Возможные значения находятся в диапазоне от -9223372036854775808 до 9223372036854775807.

Float и double применяются для обозначения дробных. Их разница в том, что float удобен, когда не требуется высокая точность в дробной части числа. Double выводит на экран все знаки после разделителя «.», а float - только первые.

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

Классы и объекты

Класс определяет шаблон для объекта, у него обязательно есть атрибуты и методы. Для его создания применяют ключевое слово Class. Если он создается в отдельном файле, то имя класса и файла должны быть одинаковыми. Само же название состоит из двух частей: имени и расширения .Java. [10, c. 218]

В «Джава» можно создавать подкласс, который будет наследовать методы родительского.

Объектные переменные и объекты - совершенно разные сущности. Object variables являются ссылками. Они могут указывать на любые переменные непримитивного типа. В отличие от C++ их типовое преобразование жестко регламентировано.

Поля и методы

Поля - это все переменные, связанные с классом или объектом. По умолчанию они являются локальными и не могут использовать в других классах. Для доступа к полям используется оператор «.».

Переменные

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

Прежде чем манипулировать значениями, переменные объявляются. Одновременно может быть объявлено несколько переменных. Для их перечисления используется запятая.

Существует несколько типов:

- local variables (локальные);

- instance variables (переменные экземпляра);

- tatic variables (статические).

Local variables объявляют в методах и конструкторах, они создаются во время запуска последних и уничтожаются после завершения. Для них запрещено указывать access modifiers и управлять уровнем доступности. Они невидимы за пределами объявленного блока.

В Java переменные не имеют начального значения, поэтому оно в обязательном порядке присваивается перед первым использованием.

Instance variables должны быть объявлены внутри класса. Они используются как методы, но получить к ним доступ можно только после создания объекта. Переменная разрушается, когда уничтожается объект.

У экземплярных переменных, в отличе от локальных, существуют значения по умолчанию: числа - 0; логика - false; ссылки - null.

Static variables называются переменными класса. Их имена начинаются с символа в верхнем регистре, конкретизируются модификатором static. Они используются как константы, соответственно, к ним прибавляется один спецификатор из списка: final; private; public.

Запускаются в начале программы, уничтожаются после остановки выполнения. Так же, как переменные экземпляра, имеют стандартные значения, которые присваиваются пустым переменным. У чисел - значение 0, булевые переменные имеют значение false, ссылки на объект изначально имеют null.

Статические переменные вызываются в следующем виде: ClassName.VariableName.

Сборщик мусора

В Java, в отличие от языка "Си", невозможно ручное удаление объекта из памяти. Для этого реализован метод автоматического удаления - сборщик мусора. При традиционном удалении через null происходит лишь устранение ссылки на объект, а сам объект удаляется.

Существуют методы принудительной сборки мусора, хотя они не рекомендованы для использования в обычной работе. Модуль автоматического удаления неиспользуемых объектов работает в фоновом режиме, запускается при неактивности программы. [10, c. 198]

Для очистки объектов из памяти программа останавливается, после освобождения памяти прерванная операция возобновляется.

Модификаторы.

Различают разные типы модификаторов. Кроме тех, которые определяют способ доступа, существует модификаторы методов, переменных, класса. Методы, объявленные как private, доступны только в объявленном классе. Такие переменные не могут использоваться в других классах и функциях. Public открывает доступ для любого класса. Если нужно получить Public class из другого пакета, то его следует предварительно импортировать.

виды модификаторов

Рис. 2 Модификаторы Java

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

Модификатор, который применяется при создании методов, - static. Это означает, что созданный метод существует независимо от экземпляров класса.

Модификатор Final не управляет доступом, а указывает на невозможность дальнейшего манипулирования значениями объекта. Он запрещает изменение того элемента, для которого указан.

Abstract - модификатор создания абстрактных классов. Любой абстрактный класс и абстрактные методы предназначены для дальнейшего расширения в других классах и блоках. Модификатор transient указывает виртуальной машине не обрабатывать заданную переменную.

Платформы и версии

Существующие семейства языка программирования Java:

- Standard Edition.

- Enterprise Edition.

- Micro Edition.

- Card.

SE - является основным, широко используется для создания пользовательских приложений для индивидуального использования.

EE - набор спецификаций для разработки ПО уровня предприятия. Содержит больше возможностей, чем SE, поэтому используется в коммерческих масштабах на крупных и средних предприятиях.

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

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

Программы на языке программирования Java, как правило, более медлительны и занимают больше оперативной памяти. Сравнительный анализ языков Java и «Си» показал, что «Си» немного продуктивней. После многочисленных изменений и оптимизации виртуальной машины Java улучшил свои показатели. [5, c. 75]

Microsoft разработала собственную реализацию виртуальной машины Java MSJVM.

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

Microsoft выпустил язык J#, синтаксис и работа в целом которого очень напоминает Java. Он не соответствовал официальной спецификации и в итоге был исключен из стандартного инструментария разработчика Microsoft Visual Studio.

Язык программирования Java и среда

Разработка программного обеспечения осуществляется в таких IDE: JDK, NetBeans IDE, Eclipse IDE, IntelliJ IDEA, JDeveloper, Java для iOS, Geany.

JDK распространяется компанией Oracle как комплект разработчика на языке Java. Включает компилятор, стандартные библиотеки, утилиты, исполнительную систему.

Современные интегрированные среды разработки опираются именно JDK. Удобно писать код на языке программирования Java в среде Netbeans и Eclipse IDE. Это свободные интегрированные среды для разработки, они подходят под все платформы «Джава».

Также используются для программирования на Python, PHP, JavaScript, C++. IntelliJ IDE от компании Jetbrains распространяется в двух вариантах: бесплатном и коммерческом. Поддерживает написание кода на многих языках программирования, существуют сторонние плагины от разработчиков, в которых реализовано еще большее количество ЯП.

JDeveloper - еще одна разработка от компании Oracle. Полностью написана на Java, поэтому работает на всех операционных системах.

ГЛАВА 3. ОБЗОР IDE-СРЕДСТВ ДЛЯ СОЗДАНИЯ СЕРВЕРНОГО ПО

3.1 Visual Studio 2019

Visual Studio – это интегрированная среда разработки (IDE) от компании Microsoft.

С помощью Visual Studio можно разрабатывать:

  • Классические приложения для компьютера под управлением операционной системы Windows;
  • Мобильные приложения (Windows, iOS, Android);
  • Web-приложения;
  • Облачные приложения;
  • Серверное ПО;
  • Различные расширения для Office, SharePoint, а также создание собственных расширений для Visual Studio;
  • Игры;
  • Базы данных SQL Server и SQL Azure.

В Visual Studio можно использовать следующие технологии и языки программирования: .NET, Node.js, C, C#, C++, Python, Visual Basic, F#, JavaScript. [10, c. 98]

Редакции Visual Studio 2019

Актуальной на текущий момент является версия Visual Studio 2019, выпускается она в следующих редакциях:

  • Community – бесплатная версия среды разработки Visual Studio. Чтобы ее использовать, необходимо создать учетную запись Visual Studio, в противном случае она будет действовать 30 дней. Редакция имеет меньший функционал по сравнению с платными редакциями. Походит для индивидуальных разработчиков и обучения;
  • Professional – редакция содержит профессиональные инструменты для разработки приложений. Функционал в этой редакции все равно не полный, например, это заметно в части инструментов диагностики, отладки и тестирования. Подходит для небольших групп разработчиков;
  • Enterprise – полнофункциональная версия Visual Studio. Комплексное решение для разработки приложений. Подходит для групп любого размера с высокими требованиями к качеству и масштабу.

Системные требования Visual Studio 2019

Среду Visual Studio 2019 можно установить и работать в ней на следующих операционных системах (перечислены официально поддерживаемые версии):

  • Windows 7 с Service Pack 1;
  • Windows 8.1 (с обновлением 2919355);
  • Windows 10 (1703 и выше);
  • Windows Server 2012 R2 (с обновлением 2919355);
  • Windows Server 2016 (Standard и Datacenter);
  • Windows Server 2019 (Standard и Datacenter).

Минимальные требования к оборудованию:

  • Процессор с тактовой частотой не ниже 1,8 ГГц. Рекомендуется использовать как минимум двухъядерный процессор;
  • 2 ГБ оперативной памяти, рекомендуется 8 ГБ (если устанавливать на виртуальную машину, то минимум 2.5 ГБ);
  • Свободного места на жестком диске от 800 мегабайт до 210 гигабайт, в зависимости от установленных компонентов. Также Microsoft рекомендует устанавливать Visual Studio на SSD диск;
  • Видеоадаптер с минимальным разрешением 1280 на 720 пикселей (для оптимальной работы Visual Studio рекомендуется разрешение 1366 на 768 пикселей и более высокое).

Дополнительные важные моменты:

  • Для установки Visual Studio 2019 требуются права администратора;
  • Для работы Visual Studio 2019 требуется платформа .NET Framework 4.7.2, она будет установлена во время установки среды;
  • Варианты «Основные серверные компоненты» и «Минимальный серверный интерфейс» не поддерживаются при запуске на Windows Server;
  • Запуск Visual Studio 2019 (Professional, Community и Enterprise) в контейнерах Windows не поддерживается;
  • Для интеграции Team Foundation Server 2019 с Office требуется Office 2016, Office 2013 или Office 2010;
  • Для установки компоненты «Разработка мобильных приложений на C++, JavaScript или .NET» в ОС Windows 7 требуется PowerShell 3.0 или более поздняя версия;
  • Visual Studio Community 2019 требуется активировать в течение 30 дней после установки, для этого необходимо создать учетную запись.

Новых возможностей в среде Visual Studio 2019 появилось очень много, перечислим только небольшую часть:

  • Новый интерфейс создания проектов;
  • Новые возможности установки обновлений – теперь можно выбрать способ установки обновлений Visual Studio и полностью контролировать его («Сервис -> Параметры»), а также обновления Visual Studio загружаются в фоновом режиме, только когда компьютер бездействует;
  • Доступна совместная работа с другими пользователями с помощью среды Visual Studio Live Share, которая устанавливается по умолчанию;
  • Переработан интерфейс среды, в частности увеличено вертикальное пространство для кода;
  • Добавлен вид расширения: «Бесплатное», «Платное» и «Пробная версия» – теперь гораздо легче распознать версию расширения, также добавлены соответствующие теги, для более удобного поиска;
  • Система управления версиями – теперь можно временно сохранить изменения, чтобы работать над другими задачами, это возможно благодаря поддержке временного хранилища Git средствами Git в Team Explorer;
  • Очистка кода одним щелчком – теперь отреагировать на предупреждения и рекомендации среды можно одним нажатием кнопки;
  • Усовершенствованный поиск – теперь поиск выдает более точные результаты (а также поиск стал возможен в окнах отладки);
  • Индикатор хода выполнения сборки – теперь можно наблюдать более подробные сведения о ходе выполнения сборки, полезно, если проект крупный и на его сборку затрачивается много времени.

Скриншот 2

Рис. 3 Интерфейс установки Visual Studio 2019 Community

Установщик в 2019 версии Visual Studio (который появился в 2017 версии, но в 2019 он улучшен) позволяет выбрать только те компоненты, которые нужны.

Шаг 1 – Запускаем установщик

Запускаем скаченный установщик, т.е. файл vs_Community.exe.

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

После чего загрузятся и установятся необходимые файлы установщика.

После того как установщик выполнит все необходимые предварительные мероприятия, он запустится. Теперь нам нужно выбрать «Рабочие нагрузки», т.е. что мы будем создавать с помощью Visual Studio 2019 Community.

Вкладка «Отдельные компоненты» – если есть такая необходимость, можно конкретизировать компоненты, которые необходимо установить, на этой вкладке.

Вкладка «Языковые пакеты» – по умолчанию установлен язык, соответствующий языку системы, но, если нужен другой, можно изменить его на данной вкладке.

Вкладка «Расположения установки» – здесь можно изменить каталог, в который будет установлена среда Visual Studio.

Шаг 3 – Процесс установки и его завершение

После того как нажата кнопка установить, начнется процесс загрузки и установки всех выбранных компонентов. В зависимости от объема компонентов, скорости интернета и характеристик ПК продолжительность данного процесса будет различаться.

Когда появится следующее окно, установка будет завершена, нажимаем «Перезагрузить».

При первом запуске нам предлагают войти в учетную запись, если она есть, то входите, если нет, можно ее создать прямо сейчас, также возможно отложить создание учетной записи, для этого нужно просто нажать кнопку «Не сейчас! Возможно, позже.»

Затем выбираем цветовую схему оформления среды Visual Studio и нажимаем «Запуск Visual Studio».

Скриншот 12

Рис. 4 Выбор цветовой гаммы Visual Studio

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

В итоге будет создан шаблон программы, включая код, т.е. по факту шаблонная программа уже будет создана, и чтобы запустить ее, можно сразу нажать на кнопку «Локальный отладчик Windows», на панели инструментов.

Скриншот 17

Рис. 5 Вид проекта с кодом в Visual Studio

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

3.2 Xcode

Компания Apple создала мощные наборы инструментов для разработчиков ПО. Все эти инструменты объединены в одном приложении под названием Xcode, который позволяет разработчику создавать, тестировать, развертывать и распространять приложения.

Xcode – это интегрированный программный продукт компании Apple для разработки программного обеспечения для платформ: iOS, macOS, WatchOS и tvOS. Xcode уникален и поддерживает целый ряд технологий, он содержит все, что необходимо разработчику: интуитивно понятный редактор кода с подсветкой синтаксиса, расширенные возможности отладки программ, простой, но многофункциональный интерфейс и многое другое. [10, c. 68]

Xcode поддерживает языки программирования: C, C++, Objective-C, Java, AppleScript, Python, Ruby, ResEdit и Swift, с различными моделями программирования, включая, но не ограничиваясь, Cocoa, Carbon и Java. Сторонние разработчики добавили поддержку GNU Pascal, Free Pascal, Ada, C#, Perl и D.

Самая первая версия Xcode была выпущена в 2001 году, с тех пор было выпущено целых 9 версий этой программы, которая распространяется в Apple Store абсолютно бесплатно для разработчиков.

На сегодняшний день, 9 версия Xcode – это самая свежая стабильная версия. С момента выхода первой версии данной IDE в 2001 году, среда разработки менялась в положительную сторону. Внедрялись новые технологии и наборы инструментов, которые помогали разработчику в процессе создания приложений.

Interface Builder

Interface Builder – Это интерфейсный редактор, который позволяет проектировать и создавать полный пользовательский интерфейс мобильных приложений. Является составной частью IDE Xcode. Компания Apple позаботилась о том, чтобы интерфейс Xcode был дружелюбен и понятен:

1

Рис. 6 Интерфейс Xcode

На рисунке цифрами обозначены отдельные элементы программы:

В левом краю расположен Project Navigator (навигатор проекта), где отображаются все файлы проекты, которые могут содержать программный код или какие-либо настройки.

Слева в Interface Builder располагается схема документа, где можно посмотреть все визуальные элементы, добавленные в окно приложения, которые будут отображаться на экране устройств. Нажав на стрелочку рядом с «View Controller», можно увидеть иерархию элементов на текущем «экране». На рисунке всего один View Controller с одним пустым View.

Данная стрелка расположена слева от главного окна View Controller и указывает на то, что данный лист или «экран» является входным, то есть появляется при первоначальной загрузке приложения на устройстве или эмуляторе. [10, c. 118]

Внизу Interface Builder видны надписи «w Any», «h Any». Эти надписи значат, что в данный момент редактируется внешний вид приложения, которое будет работать в интерфейсе любого размера.

Наверху маленькие иконки отображают, соответственно, окно самого View Controller’а, First Responder, Exit. Внизу справа Interface Builder’а четыре иконки для Auto Layout.

Справа вверху Interface Builder’а располагается Inspectors (инспекторы) для выбранного вами элемента. Здесь легко можно настраивать атрибуты элементов интерфейса, таких как: шрифт, размер текста, цвет текста, тени и т.д.

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

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

Настройки проекта Xcode и файлы проекта

Если кликнуть по названию проекта (в данном случае “Tip Calculator”), то можно перейти к основным настройкам проекта.

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

Файл проекта «AppDelegate.swift» содержит в себе специальный программный код с функциями. Этот файл является важным и содержит следующие некоторые методы:

1) Методы, необходимые для конфигурации и загрузки приложения в память;

2) Методы, которые должны вызываться при сворачивании приложения или, например, при входящем звонке;

3) Методы, которые срабатывают при переходе в фоновый режим работы приложения;

4) Методы обновления информации приложения при переходе в активный режим работы;

5) Методы удаления приложения из памяти при закрытии его пользователем.

Файл проекта «ViewController.swift» содержит в себе основной программный код любого приложения, написанного в Xcode. 

Файл проекта «Main.storyboard» является основным при создании интерфейса приложения, ведь именно в нём содержится информация о расположении различных элементов (текстовых полей, кнопок, количества окон и др.). Из библиотеки объектов легко можно перетаскивать элементы будущего интерфейса (label, button, text field и многие др.) и помещать на экран приложения. Например, на рисунке 5 можно увидеть, что на главном экране приложения добавлены из библиотеки: два TextField, три Lable, Button и Switch.

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

http://2compa.ru/wp-content/uploads/2018/12/word-image-34.png

Рис. 7 Главный экран приложения с добавленными библиотеками

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

Файл проекта «images. xcassets» содержит в себе иконки и изображения, которые в дальнейшем будут использоваться в проекте.

Файл проекта «LaunchScreen.xib» – это то, что показывается пользователю при загрузке приложения. Здесь можно добавлять любые элементы из библиотеки объектов, которые будут создавать общий вид, являющийся, по сути, загрузочной заставкой приложений.

Создание проекта и шаблоны в Xcode

Создать проект в среде Xcode несложно. Чтобы это сделать, необходимо запустить Xcode и выбрать «Create a new Xcode project» на первоначальном экране приветствия.

Apple предоставляет по умолчанию множество различных шаблонов проектов для iOS, каждый из которых полезен для начала работы над различными проектами:

Шаблон Single View Applications самый простой и является отправной точкой для многих приложений. Создаётся совершенно пустой интерфейс, который может изменяться разработчиком по своему усмотрению.

Шаблон Master-Detail App подходит, если планируется, что приложение будет активно использовать элемент UITableView. По умолчанию Xcode создаёт проект, который имеет вид таблицы, куда пользователь может добавить строку, используя в правом углу панель навигации.

Шаблон Page-Based Application создаёт страницу-книгу, позволяя пользователю перелистывать страницы. Такой шаблон подходит, если планируется создать приложение, которое отображает информацию в книжном формате, т.е. пользователь будет просматривать страницы свайпом влево или вправо.

Шаблон Tabbed Applications создаёт панель вкладок и две готовые вкладки. При переключении вкладок происходит переход к разным частям приложения.

Шаблон Games позволяет создавать игры, используя технологии Apple OpenGL ES, GLKit, Scene Kit и Metal.

Для создания базового приложений подойдёт шаблон Single View. После того, как шаблон выбран, необходимо нажать кнопку «Next» для перехода на следующее окно:

2

Рис. 8 Выбор шаблона Single View

Далее необходимо заполнить поля:

Product Name (Название продукта) – название будущего приложения. Название проекта в будущем можно изменить во время разработки.

Team (Команда) – Название команды разработчиков, занимающихся разработкой приложений. В данном случае выбран сертификат одного человека «персональной команды».

Organization Name (Название организации) и Organization Identifier (Идентификатор организации) – поля требуются для указания компании, которая разрабатывает программное обеспечение. Необходимо для того, чтобы подать заявку в App Store для публикации приложения. Идентификатор организации в стиле обозначения обратного имени домена. Например, если название организации «togu», то идентификатор организации будет «com.togu».

Language (Язык) – поле со списком, состоящее из двух языков, на одном из которых будет происходить разработка мобильного приложения: Swift или Objective C.

После этого можно приступать к созданию проекта.

3.3 IntelliJ IDEA

IntelliJ IDEA – это интегрированная среда разработки программного обеспечения на Java от компании JetBrains. Среда с успехом используется и для других языков программирования, например, Scala. Первая версия программы появилась в 2001 г. и с тех пор программа неуклонно повышает свой рейтинг популярности. IntelliJ IDEA выпускается в двух редакциях: Community Edition и Ultimate Edition. [2, c. 67]

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

Ultimate Edition:

полнофункциональная среда разработки под JVM и разработке на различных языках: Java, PHP, JavaScript, HTML, CSS, SQL, Ruby, Python;

поддержка технологий Java EE, Spring/Hibernate и других;

внедрение и отладка с большинством серверов приложений.

Community Edition:

полнофункциональная среда разработки для Java SE, Groovy и Scala;

мощная среда для разработки под Google Android.

Программа содержит полный набор необходимых для создания полноценных приложений компонент: редактор, среда компиляции и выполнения, а также отладчик.

Инсталляция системы

Скопировать инсталляционный пакет можно с сайта разработчика компании JetBrains. Установка IntelliJ IDEA проблем не вызывает.

Стартовое окно

После установки при первоначальной загрузке IntelliJ IDEA появляется стартовое окно «Welcome to IntelliJ IDEA», позволяющее загрузить либо открыть проект, импортировать проект, выполнить его загрузку из репозитория нескольких систем контроля версий («Check out from Version Control»). При наличии в проекте файлов настройки сборки для Maven или Gradle, IntelliJ IDEA предложит вам использовать их для конфигурации.

https://www.kv.by/sites/default/files/styles/post_picture/public/pictures/userpictures/2016/09/2359/2_0.png?itok=IIUrHESA

Рис. 9 Стартовое окно IntelliJ IDEA

Основное окно

Основное окно программы в общем виде состоит из трех областей, называемых также инструментальными окнами и окна редактора. Инструментальные окна располагаются по периметру окна редактора, то есть слева, справа и внизу от него на полях главного окна, которые в дальнейшем будем называть боковыми панелями (sidebar в терминологии программы).

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

Названию некоторых вкладок инструментальных окон предваряет цифра. Используя клавишу <Alt> совместно с этой цифрой, можно быстро перейти к этой вкладке, попутно открыв ее, если она находится в свернутом положении, либо, наоборот, свернуть ее. Кроме того, любое инструментальное окно можно отобразить в основном окне командой ViewTool Windows либо воспользовавшись ее комбинацией клавиш быстрого вызова.

https://www.kv.by/sites/default/files/styles/post_picture/public/pictures/userpictures/2016/09/2359/3_0.png?itok=q3GCOrZF

Рис. 10 Рабочее окно IntelliJ IDEA

Цветовую палитру IntelliJ IDEA можно настраивать, правда, таких палитр немного. Выбор палитры осуществляется в настройках, где следует раскрыть последовательно пункты Appearance & Behavior (Внешний вид и поведение), Appearance и выбрать тему из раскрывающегося списка «Theme».

Окно редактора

Программа содержит внушительный инструментарий управления вкладками окна. Так, расположение вкладок можно произвольно изменять, располагая их, например, горизонтально, перебрасывая файлы из одной группы вкладок в другую, что достигается при помощи группы команд Windowshttps://www.kv.by/sites/default/files/styles/post_picture/public/pictures/userpictures/2016/09/2359/5.png?itok=cSQIOijUEditor Tabs либо из контекстного меню, вызываемого на вкладке окна редактирования. [10, c. 288]

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

Инструментальные окна

На левой боковой панели отображается инструментальное окно проекта. Оно содержит вкладку иерархической структуры проекта (Project) и вкладку структуры (списка метода) класса (Structure).

Выбор во вкладке структуры проекта приводит к отображению его содержимого в окне редактора. Поскольку код практически любого класса содержит множество методов, то вкладка «Structure» как раз и отображает их список.

https://www.kv.by/sites/default/files/styles/post_picture/public/pictures/userpictures/2016/09/2359/9.png?itok=F-1bjPFT

Рис. 11 Вкладка «Structure»

Информация вкладки «Structure» довольно информативна. Рядом с именем модуля выводятся также ряд его свойств, например, модификатор класса, а ее панель инструментов позволяет быстро изменить характер отображаемой информации, например.

Расширение системы

Под IntelliJ IDEA разработано множество plug-ins (расширений), позволяющих заметно расширять ее возможности и функциональность. Доступ к ним осуществляется в настройках системы в пункте Plugins.

Из списка «Show» (Показ) осуществляется фильтрация списка расширений.

Для добавления нового расширения следует выполнить такие действия:

В списке «Show» (Отображение) выбрать пункт «Custom» (Пользовательский). Щелкнуть ссылку «Browse» (Click Browse to search for non-bundied pugins.

Если щелкнуть на сообщении для отображения неустановленных plug-in), это приведет к появлению окна «Browse Repositories» со списком plug-ins с репозитория расширений JetBrains.

Выбрать из списка нужное расширение и щелкнуть кнопку «Install plugin» (Установить расширение). Подтвердить установку в окне подтверждения.

По завершению процесса установки в том же окне «Browse Repositories» щелкнуть кнопку «Restart IntelliJ IDEA» (Перезапуск IntelliJ IDEA) для перезагрузки программы.

Удаление расширений осуществляется также очень просто. Опять же в настройках в списке «Show» выбирается пункт «Custom», после чего в окне настроек отображаются только установленные расширения.

https://www.kv.by/sites/default/files/styles/post_picture/public/pictures/userpictures/2016/09/2359/23.png?itok=397pHChg

Рис. 12 Окно установленных плагинов

Щелчок кнопки «Uninstall» инициирует процесс удаления.

Настройки

Обращение к настройкам программы осуществляется командой File Setting или щелчком кнопки на главной панели инструментов.

Все настройки в окне настроек сведены по функциональному назначению в несколько групп: Appearance & Behavior (Внешний вид и поведение), Keymap («Горячие» клавиши), Editor (Редактор) и др.

ЗАКЛЮЧЕНИЕ

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

Существует также немало инструментов, относящихся к категории Open Source, в частности предназначенных для расширяемой среды Eclipse, которая в настоящее время активно поддерживается корпорацией IBM.

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

На этапе тестирования проверяется, удовлетворяет ли приложение сформулированным к нему требованиям, и в продукт вносятся изменения, устраняющие выявленные при тестировании недостатки.

Из наиболее популярных средств тестирования и оптимизации в первую очередь следует отметить набор средств тестирования компании IBM/Rational, инструмент Borland Optimizeit Profiler, интегрирующийся в различные среды разработки, средства тестирования компаний Compuware и Mercury.

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

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

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

Из средств контроля версий наиболее популярными считаются Merant PVCS Version Manager и Microsoft Visual SourceSafe, а из средств управления проектами в первую очередь следует отметить семейство продуктов Microsoft Project. Из средств конфигурационного управления прежде всего нужно назвать Borland StarTeam, а также ряд инструментов компании IBM.

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

СПИСОК ЛИТЕРАТУРЫ

1. Габалин, А. В. Вопросы оптимизации структуры распределенных систем обработки информации / А.В. Габалин. - М.: Университет, 2007. - 179 c.

2. Дробнов, Сергей Анализ ускорения распределенной обработки информации в GRID-системах / Сергей Дробнов. - М.: LAP Lambert Academic Publishing, 2012. - 860 c.

3. Дубаков А.А. Проектирование информационных систем: Учебное пособие. Томск.: Изд. ТПУ, 2011.

4. Мартин, Дж. Вычислительные сети и распределенная обработка данных: программное обеспечение, методы и архитектура / Дж. Мартин. - М.: Финансы и статистика, 2015. - 525 c.

5. Проектирование информационных систем: учеб. пособие / П. В. Минеев ; Сиб. федер. ун-т, ХТИ - филиал СФУ. - Абакан : РИСектор ХТИ - филиала СФУ, 2012

6. Петров, В.И. Информационные системы / В.Н. Петров. – СПб.: Питер, 2019. – 688 с.

7. Рудаков, А. В. Технология разработки программных продуктов / А.В. Рудаков. - М.: Академия, 2012

8. Топорков, В.В. Модели распределенных вычислений / В.В. Топорков. - М.: 2014. - 295 c.

9. Хорев, П. Б. Объектно-ориентированное программирование / П.Б. Хорев. - М.: Академия, 2012

10. Якобсон, А. Унифицированный процесс разработки программного обеспечения / А. Якобсон, Г. Буч, Дж. Рамбо. - СПб.: Питер, 2014. - 496 с.