Вы здесь

Основы проектирования приложений интернета вещей. Конспект курса лекций. Введение (Алексей Корнилов)

Корректор Надежда Соболева


© Алексей Корнилов, 2018


ISBN 978-5-4490-4945-2

Создано в интеллектуальной издательской системе Ridero

Введение

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

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

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

• многие – даже талантливые – доступные для небольших команд разработчики не имеют необходимой базовой подготовки;

• привлечь профессиональных аналитиков и архитекторов для таких команд практически нет возможности;

• специалисты, работавшие в разных сферах (к примеру, в разработке автоматизированных систем или веб-приложений), с трудом адаптируются к новым моделям организации работ над проектами;

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

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

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

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

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

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


Издание адресовано прежде всего:

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

• специалистам по интеграции отраслевых решений, продакт-менеджерам для понимания потенциала IoT-технологии;

• аналитикам, архитекторам, системным инженерам, инженерам по требованиям, UX/UI-дизайнерам, которым нужно понимать специфику и особенности архитектуры и реализации данных приложений;

• технопредпринимателям и руководителям проектов данного профиля;

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

• руководителям и наставникам команд в соревнованиях «Молодые профессионалы (WorldSkills)», JuniorSkills и др. в данной компетенции.

О чем эта книга?


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

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

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

Данный «конспект» был подготовлен к курсу по интернету вещей, организованному Британской высшей школой дизайна, и содержит очень краткое описание общего подхода к разработке приложений на основе данных технологий, чтобы задать общий контекст для программ отдельных тематик (в частности, для UX-архитекторов и UI-дизайнеров, разработчиков приложений дополненной реальности и пр.).

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

Примеры выполнения реальных проектов планируется вынести в отдельное издание «Основы проектирования приложений интернета вещей: Практикум».

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

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

Общие принципы разработки приложений интернета вещей, приведенные здесь, применимы при работе с различными современными платформами (например, ThingWorx, HANA, Bluemix, Azure и др.).

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

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

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

Издание осуществлено в рамках проекта «Разумные-Системы.рф» (SmartThings. Center) при поддержке компании «Техновижн» (www.technovision.ru) и Академической программы компании PTC (www.ptc.com).


Свои отзывы, замечания, пожелания и предложения по поводу следующих версий книги присылайте по адресу smart.things.center@gmail.com для Алексея Корнилова


Автор выражает особую благодарность Анатолию

Левенчуку и Дмитрию Курило за ценные замечания,

высказанные при подготовке этого издания