В этом модуле вы узнаете, из каких этапов состоит разработка современного программного обеспечения, каковы задачи системного аналитика в этом процессе и какова его роль в команде.
Также вы узнаете, чем отличается системный аналитик от продуктового аналитика, аналитика данных и бизнес-аналитика. В конце модуля вы познакомитесь с ключевыми навыками системного аналитика, достаточными для трудоустройства и работы, а также со структурой курса.
В этом модуле вы узнаете, каких видов бывает программное обеспечение и на каких языках программирования и технологиях оно создаётся.
На практических примерах вы увидите, как программисты создают веб-сайты и веб-приложения. Также вы узнаете, из чего веб-приложения состоят, что такое frontend и backend, а также что такое CMS и фреймворки, для чего они нужны и когда применяются.
По итогам модуля вы научитесь определять перечень (стэк) языков и технологий для создания любого веб-приложения.
Из этого модуля вы узнаете, при помощи каких технологий создаются мобильные, desktop- и консольные приложения, а также системное и встроенное программное обеспечение.
Вы увидите в деталях, как создаются такие приложения, и поймёте, как это делают программисты. Вы научитесь определять стэк технологий для создания таких приложений.
В этом модуле вы узнаете, из каких этапов состоит проектирование программного обеспечения. Также вы познакомитесь с основными принципами первого такого этапа — проектирования интерфейсов — страниц сайтов, экранов мобильных и окон desktop-приложений.
Вы подробно узнаете, как проектируются интерфейсы одностраничных (лендингов) и многостраничных сайтов. Вы увидите, как это делается в редакторе Figma, и научитесь это делать самостоятельно на практических задачах.
В этом модуле вы увидите, по каким принципам проектируются интерфейсы веб- и мобильных приложений, познакомитесь с этим процессом на практических примерах, а также научитесь делать это самостоятельно.
Вы узнаете об основных принципах и правилах проектирования интерфейсов desktop- и консольных приложений, а также системного и встроенного программного обеспечения.
В этом модуле вы познакомитесь с понятием базы данных, а также изучите форматы XML и JSON, которые часто используются для хранения и передачи данных.
Вы научитесь структурировать данные в формате JSON, узнаете о принципах и правилах такого проектирования. Также вы узнаете, что базы данных бывают реляционными и нереляционными, чем они отличаются, в каких структурах хранят данные и для чего используются.
В этом модуле вы детально познакомитесь со структурой реляционных баз данных, с типами полей и связей, которые в них встречаются и используются. Также в уроках модуля будет детально разобрана структура реальной базы данных. Вы узнаете, как такую структуру можно описать, и увидите сам процесс описания.
Вы изучите принципы и шаги проектирования структуры новой базы данных, а также увидите на реальном примере, как происходит такое проектирование.
В этом модуле вы познакомитесь с основными понятиями клиент-серверного взаимодействия — взаимодействия приложений между собой через Интернет.
Вы изучите принципы адресации ресурсов в сети Интернет, узнаете, из каких компонентов состоят URL-адреса и как они кодируются.
Вы детально изучите основной протокол клиент-серверного взаимодействия HTTP, познакомитесь с методами HTTP-запросов и кодами HTTP-ответов.
В этом модуле вы продолжите изучение принципов клиент-серверного взаимодействия, познакомитесь с широко используемым в настоящее время стандартом REST, а также принципами и инструментами проектирования API. Вы научитесь проектировать API по стандарту REST.
Вы также узнаете, что из себя представляют куки и сессии и как они работают, чем отличается аутентификация от авторизации, а также познакомитесь с такими технологиями как SOAP, GraphQL, RPC, gRPC и WebSocket.
В этом модуле вы изучите общепринятые способы проектирования и описания логики работы программного обеспечения.
В частности, вы освоите основы языка моделирования UML и научитесь проектировать логику с его использованием, а также познакомитесь с нотациями BPMN, IDEF0 и IDEF3, которые используются при проектировании логики работы приложений.
В этом модуле вы детально познакомитесь с понятием архитектуры программного обеспечения и с её уровнями, изучите классическую модель архитектуры C4.
Вы узнаете, какой бывает архитектура систем целиком и архитектура frontend- и backend-составляющих веб-приложений. Также вы изучите связь архитектуры приложений с инфраструктурой, на которой они работают — серверами и так называемым программным окружением.
В этом модуле вы изучите два подхода к разделению backend-составляющей веб-приложений на отдельные компоненты — принципы сервис-ориентированной (SOA) и микросервисной архитектуры.
Вы познакомитесь с основными принципами организации архитектуры на уровне кода приложений, с архитектурным паттерном MVC и принципами интеграции компонентов архитектуры.
В этом модуле вы изучите основные подходы к организации процесса разработки программного обеспечения в командах — жёсткой моделью (waterfall) и гибкими методологиями Scrum и Kanban.
Вы узнаете, как выглядят и используются системы управления задачами (таск-трекеры), какие в командах разработки бывают специалисты и какие роли они выполняют. Также вы познакомитесь с системой контроля версий Git, которой пользуются во всех командах, и принципами автоматизации процессов разработки, прежде всего, CI/CD.
В этом модуле вы изучите основные методики оценки сроков разработки программного обеспечения, ознакомитесь с инструментами и принципами планирования разработки, научитесь планировать разработку с использованием диаграмм Ганта.
Вы узнаете о том, как ставить задачи IT-специалистам и контролировать их выполнение. Также вы познакомитесь с основами и способами тестирования программного обеспечения. Вы изучите методики и принципы контроля эффективности (качества и скорости) работы IT-специалистов.