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

Программные средства создания клиентских программ (Средства разработки программ)

Содержание:

ВВЕДЕНИЕ

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

С учетом данного определения термин «Разработка программ» будет звучать следующим образом:

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

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

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

1. Средства разработки программ

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

  1. Проектирование приложения.
  2. Реализация программного кода приложения.
  3. Тестирование приложения.

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

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

На этапе проектирования приложения в зависимости от сложности разрабатываемого программного продукта, напрямую зависящего от предъявляемых требований, выполняются следующие задачи проектирования:

  1. Анализ требований.
  2. Разработка архитектуры будущего программного обеспечения.
  3. Разработка устройств основных компонент программного обеспечения.
  4. Разработка макетов Пользовательских интерфейсов.

Результатом проектирования обычно является «Эскизный проект» (Software Design Document) или «Технический проект» (Software Architecture Document). [1, с. 193]

Задача «Анализ требований» обычно выполняется с использованием методов системологии (анализа и синтеза) с учетом экспертного опыта проектировщика.

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

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

  • BPMN (Vision + BPMN, AcuaLogic BPMN, Eclipse, Sybase Power Designer).
  • Блок-схемы (Vision и многие другие).
  • ER-диаграмы (Visio, ERWin, Sybase Power Designer и многие другие).
  • UML-диаграмы (Sybase Power Designer, Rational Rose и многие другие).
  • макеты, мат-модели и т.д.

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

Более того, иногда получается так, что по результатам анализа первоначальные цели и задачи автоматизации кардинально меняются или по результатам оценки эффективности разработки и внедрения принимается решение продукт не разрабатывать. [10, с. 28]

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

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

В качестве примера основных парадигм необходимо привести следующее:

  • Функциональное программирование;
  • Структурное программирование;
  • Императивное программирование;
  • Логическое программирование;
  • Объектно-ориентированное программирование (прототипирование; использование классов; субъективно-ориентированное программирование).

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

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

  • диаграмма классов и т. д. (Ration Rose, Sybase PowerDisigner и многие другие).
  • описание модулей структур и их программного интерфейса (например, Sybase PowerDisigner и многие другие).

Разработка макетов пользовательских интерфейсов подразумевает создание наглядного представления того, как будут выглядеть те или иные видеоформы, окна в разрабатываемом приложении. Решение данной задачи основывается на применение средств дизайнера. [7, с. 89]

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

• методы и методики алгоритмирования.

  • языки программирования (C++,Си, Java, C#, php и многие другие);
  • средства создания пользовательского интерфейса (MFC, WPF, QT, GTK+ и т.д.)
  • средства управления версиями программного кода (cvs, svn, VSS).
  • средства получения исполняемого кода (MS Visual Studio, gcc и многие другие).
  • средства управления базами данных (Оracle, MS SQL, FireBird, MySQL и многие другие).
  • отладчики (MS Visual Studio, gdb и т.д.).

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

  • Тестирование на отказ и восстановление.
  • Функциональное тестирование.
  • Тестирование безопасности.
  • Тестирование взаимодействия.
  • Тестирование процесса установки.
  • Тестирование удобства пользования.
  • Конфигурационное тестирование.
  • Нагрузочное тестирование.

Среди основных видов средств, которые могут быть применены для выполнения поставленных работ можно привести следующие:

  • средства анализа кода, профилирования (Code Wizard – ParaSoft, Purify – Rational Softawre. Test Coverage – Semantic и т.д.);
  • средства для тестирования функциональности (TEST – Parasoft, QACenter – Compuware, Borland SilkTest и т.д.);
  • средства для тестирования производительности (QACenter Performance – Compuware и т.д).

Процесс разработки программ является сложным процессом и то, какие средства необходимо применять во многом зависит от задач, поставленным перед разработчиками. [5, с. 178]

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

2. Классификация средств разработки приложений

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

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

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

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

Средства разработки, ориентированные на конкретные СУБД

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

Однако достаточно быстро разработчикам СУБД стало ясно, что трудозатраты, связанные с написанием подобного кода, можно существенно сократить, собрав в библиотеки наиболее типичные фрагменты кода и наиболее часто встречающиеся элементы пользовательского интерфейса (пусть даже и для алфавитно-цифровых терминалов), оформив эти библиотеки в виде отдельного продукта и добавив к нему среду разработки и утилиты проектирования пользовательских форм для просмотра и редактирования данных, а также отчетов. [2, с. 192]

Именно так и появились первые средства разработки, ориентированные на конкретные СУБД, такие, например, как Oracle*Forms (предшественник нынешнего Oracle Forms Developer).

Продукты этого класса на рынке средств разработки имеются и сегодня. Почти все производители серверных СУБД производят и средства разработки приложений.

В подавляющем большинстве случаев современные версии этих средств разработки поддерживают доступ к СУБД других производителей как минимум с помощью одного из универсальных механизмов доступа к данным (ODBC, OLE DB, BDE).

Однако доступ к "своей" СУБД обычно осуществляется максимально эффективным способом, то есть с помощью клиентских API, объектов, содержащихся в библиотеках клиентской части серверных СУБД, специальных классов для доступа к данным этой СУБД либо за счет реализации драйверов для универсальных механизмов доступа к данным, способной учитывать специфические особенности данной СУБД.

В отдельную категорию можно выделить среды разработки настольных СУБД. В статье данного цикла, посвященной настольным СУБД, мы уже отмечали, что подавляющее большинство настольных СУБД, доживших до сегодняшнего дня, таких как Microsoft Visual FoxPro, Microsoft Access, Corel Paradox, Visual dBase, поддерживают доступ к серверным СУБД, как минимум, с помощью универсальных механизмов доступа к данным, что позволяет условно отнести их и к категории средств разработки. Отметим, однако, что в настоящее время создание приложений в архитектуре "клиент-сервер" с их помощью - явление нечастое.

Исключение, пожалуй, составляют пары Microsoft Access - MSDE, Microsoft Access - Microsoft SQL Server и Microsoft Visual FoxPro - Microsoft SQL Server. Здесь налицо результат грамотной политики Microsoft, стремящейся к максимальной совместимости своих продуктов и обеспечивающей наиболее безболезненную для пользователей замену своих настольных СУБД собственными же серверами баз данных (Access->MSDE->Microsoft SQL Server, FoxPro->Visual FoxPro->Microsoft SQL Server).

Средства разработки, универсальные по отношению к СУБД

Средства разработки, универсальные по отношению к СУБД (или претендующие на подобную универсальность), как правило, являются последователями обычных средств разработки приложений, не имеющих прямого отношения к базам данных. [7, с. 69]

Типичные примеры таких средств разработки - Borland Pascal, Borland C++, Microsoft QuickC. Способные использовать библиотеки сторонних производителей, эти средства позволяли обращаться к функциям клиентских API, а с развитием универсальных механизмов доступа к данным (таких как ODBC) - и к функциям API библиотек, реализующих такие механизмы. Отметим, что нередко с помощью этих средств разработки создавались среды настольных СУБД (таких как dBase, FoxBase) или псевдокомпиляторы для языков семейства xBase (например, Clipper).

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

К первой категории относятся средства разработки, обладающие обширными библиотеками классов, большим количеством "мастеров" и кодогенераторов, но ориентированные на "ручное" создание кода и довольно редко применяемые для создания "стандартных" приложений для работы с базами данных (здесь под словосочетанием "стандартное приложение" мы подразумеваем приложение, имеющее непосредственный доступ к базе данных, с которым взаимодействует пользователь, то есть являющееся "классическим" клиентом серверной СУБД).

Типичным (и единственным действительно популярным на рынке программного обеспечения) представителем этого класса продуктов является Microsoft Visual C++.

С помощью Microsoft Visual C++ и библиотеки MFC (Microsoft Foundation Classes) можно создавать любые приложения, если вы обладаете навыком, знаниями, умением и временем.

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

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

Ко второй категории относятся средства разработки с развитыми визуальными инструментами, позволяющие буквально "рисовать" пользовательский интерфейс, частично стирая различия между работой программиста и пользователя и удешевляя конечный продукт за счет привлечения к проектированию интерфейса разработчиков, обладающих не самой высокой квалификацией. [8, с. 172]

Именно эта категория средств разработки наиболее часто применяется при создании клиентских приложений. К наиболее популярным продуктам подобного класса следует отнести Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder и Borland C++ Builder.

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

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

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

Наиболее типичным и практически единственным популярным представителем средств разработки этой категории является Visual Basic for Applications, сходный с перечисленными выше визуальными средствами разработки и отличающийся от них тем, что созданные с его помощью приложения содержатся внутри документов Microsoft Office и не отчуждаются от них.

Приложения в архитектуре "клиент-сервер"

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

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

Для создания клиентских приложений в этом случае чаще всего применяются средства разработки, обладающие развитыми визуальными инструментами, такие как Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder, Borland C++Builder.

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

Распределенные приложения

Распределенные (или многозвенные) приложения обычно состоят из презентационных сервисов (или "тонких" клиентов, с которыми обычно взаимодействуют конечные пользователи), сервисов бизнес-логики, реализуемых в виде бизнес-объектов (или сервисов промежуточного слоя - middle tier; нередко для описания совокупности таких сервисов применяется термин middleware), и сервисов данных (обычно состоящих из сервера баз данных и механизмов доступа к данным).

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

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

Некоторые из бизнес-объектов могут обращаться к сервисам данных, используя те или иные механизмы доступа к данным. Поскольку конечный пользователь не взаимодействует непосредственно с бизнес-объектами, последние обычно не обладают пользовательским интерфейсом в привычном понимании. [5, с. 130]

Физически бизнес-объекты могут быть реализованы в виде сервисов операционной системы, консольных приложений либо Windows-приложений, а также в виде библиотек, загружаемых в адресное пространство специально предназначенного для этой цели серверного приложения (Web-сервера, сервера приложений, монитора транзакций и др.). Нередко один бизнес-объект обслуживает множество клиентов.

Для создания бизнес-объектов применяются как средства разработки с развитыми визуальными инструментами, так и средства разработки, ориентированные на "ручное" создание кода приложений (такие как Visual C++). Нередко для этой цели используются и средства создания Java-приложений (такие как Borland JBuilder). [7, с. 271]

Отметим, что, кроме перечисленных выше "универсальных" средств создания как приложений в архитектуре "клиент-сервер", так и бизнес-объектов для распределенных систем, на рынке средств разработки имеются и специализированные средства, предназначенные именно для создания бизнес-объектов (как правило, Web-приложений).

Из средств разработки такого класса для платформы Windows наиболее популярен Microsoft Visual InterDev, первая версия которого появилась в 1998 году. Можно также упомянуть еще один интересный продукт, относящийся к той же категории средств разработки, - Borland IntraBuilder, появившийся двумя годами раньше, но почему-то, несмотря на растущую потребность в продуктах такого класса, не получивший дальнейшего развития.

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

3. Средства разработки клиентского ПО

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.

Редакции 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

Рис. 1 Интерфейс установки 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

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

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

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

Скриншот 17

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

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

3.2 Обзор IDE Xcode

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

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

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

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

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

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

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

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

Внизу 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

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

Так как в 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

Рис. 6 Выбор шаблона 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.

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

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

Рис. 7 Стартовое окно 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

Рис. 8 Рабочее окно 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 либо из контекстного меню, вызываемого на вкладке окна редактирования.

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

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

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

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

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

Рис. 9 Вкладка «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

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

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

Настройки

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

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

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

Рис. 11 Окно настроек IntelliJ IDEA

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

Таковы вкратце процедуры первого запуска IntelliJ IDEA

ЗАКЛЮЧЕНИЕ

Средства разработки приложений подразделяются на средства создания Java/J2EE-приложений, средства создания Windows-приложений, средства создания .NET-приложений, инструменты создания приложений для операционных систем, применяющихся в мобильных устройствах, а также на средства создания приложений для различных версий UNIX/Linux и других платформ.

Из компаний, лидирующих на рынке средств разработки Java-приложений, следует отметить Borland, IBM, Oracle, а к наиболее популярным средствам создания приложений для платформ Windows и Microsoft .NET можно отнести Visual Studio .NET и Borland Delphi.

Существует также немало инструментов, относящихся к категории 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. Петров, В.И. Информационные системы / В.Н. Петров. – СПб.: Питер, 2013. – 688 с.

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

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

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

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