В этом уроке вы узнаете, что такое программное обеспечение (ПО), каковы основные этапы его разработки и почему разрабатывать ПО лучше командой, чем в одиночку.
Помните Даню? Он решил стать системным аналитиком, поэтому устроился на стажировку в компанию Chatty.
Chatty — это детская языковая онлайн-школа. Компания решила расширяться и работает над новым проектом — веб-приложением для первого взрослого курса. Даня будет стажироваться именно на этом проекте, а наставником Дани будет Артём, ведущий системный аналитик.
Артём
Привет!
Даня
Привет, Артём, а расскажи, пожалуйста, в двух словах о проекте
Артём
Наша команда разрабатывает программное обеспечение — веб-приложение для смартфонов, чтобы пользователи Chatty могли полноценно изучать язык из любой точки мира.
Даня
Круто! С чего начнём?
Что такое программное обеспечение и зачем оно нужно
Программное обеспечение (ПО) — программа или множество программ, используемых для управления компьютером.
Программное обеспечение «оживляет» любую технику и превращает запчасти из металла и кремния в многофункциональные удобные компьютеры. В современном мире программное обеспечение есть почти у всего, что нас окружает. Расплачиваться за покупки в магазине, отслеживать свои посылки или считать пройденные шаги с фитнес-трекером можно только благодаря ПО.
Найдите в доме несколько предметов, которые можно улучшить с помощью ПО.
Если добавить программное обеспечение для электрического чайника, например, он сможет нагревать воду до температуры, которая нужна конкретному сорту чая.
Основная задача любого программного обеспечения — быть полезным пользователю. Создать полезное и надёжное ПО непросто, для этого потребуется командная работа. Может показаться, что разработка ПО — это только программирование, а значит, нужны лишь разработчики, которые напишут программный код. На самом деле это комплексный процесс, где участвуют различные специалисты, и для достижения успеха важны все этапы работы.
Основные этапы разработки ПО
Существуют разные модели разработки ПО, но последовательность действий в них примерно одинаковая:
Анализ. На этом этапе определяются цели и задачи разработки, выполняется сбор и анализ требований. В результате проектная команда понимает, что должно делать ПО.
Проектирование. На этом этапе определяется, как именно должно работать ПО, чтобы выполнять свои задачи. По итогу проектная команда понимает, как должно быть устроено ПО.
Дизайн. Если у программного обеспечения есть пользовательский интерфейс, создание его дизайн-макетов станет отдельным этапом разработки. В результате проектная команда понимает, как должно выглядеть программное обеспечение.
Разработка. На этом этапе проектная команда приступает к самой разработке ПО, то есть написанию программного кода. Результат — первая версия ПО.
Тестирование. Готовый продукт (программное обеспечение) тестируют на ошибки и недочёты, на этом же этапе их исправляют. Результат — версия ПО, в которой проектная команда уверена: ПО соответствует собранным на этапе анализа требованиям и работает корректно.
Внедрение. Наконец, готовое программное обеспечение показывают пользователям, на этом же этапе их обучают, как работать с этим ПО. Результат — пользователи могут применять программное обеспечение.
После завершения разработки программное обеспечение переходит в следующую фазу жизненного цикла — эксплуатация, поддержка и модернизация. О жизненном цикле ПО мы расскажем в одной из следующих тем.
Чтобы лучше запомнить последовательность шагов, представьте, что вы хотите приготовить к приходу гостей десерт — например, пирог. Соотнесите этапы его приготовления со стадиями разработки ПО.
Поиск рецепта пирога
Проектирование
Верно!
Деление пирога на порции
Внедрение
Верно!
Уточнение у гостей, что они хотят на десерт
Анализ
Верно!
Проверка готовности вилкой
Тестирование
Верно!
Подбор формы для пирога
Дизайн
Верно!
Замешивание теста и выкладывание начинки
Разработка
Верно!
Почему разработкой ПО лучше заниматься в команде
Один человек не может хорошо разбираться во всём, а разработка сложного ПО требует глубоких знаний в разных областях — эти знания часто называют экспертизой. В одиночку трудно качественно выполнять задачи из разных сфер: планировать работу, создавать дизайн, писать код, тестировать ПО, обучать пользователей. Эффективнее, когда за каждую из этих задач отвечает отдельный профессионал, участник проектной команды.
Если проект маленький или находится на старте, команда может быть небольшой — например, пять-шесть человек. Чем сложнее и масштабнее проект, тем больше команда, которая над ним работает. Вместе с этим усложняется и структура такой команды — растёт число участвующих в ней специалистов разных профилей. Но какого бы размера ни была команда, нацеливаться на решение общей задачи и отвечать за конечный результат должен каждый её участник.
Ещё три причины, по которым разработка ПО в команде эффективнее:
«Первая причина — это мы». В процессе работы все члены проектной команды общаются друг с другом, обмениваются опытом и экспертизой, а значит, можно обратиться к опыту коллег, специализирующихся в другой области, и не полагаться только на помощь поисковиков и форумов. В такой синергии общий результат команды превосходит тот, что показывает каждый участник по отдельности.
«А вторая — все наши мечты». В сплочённой команде растёт мотивация и снижается уровень стресса. Хороший микроклимат в команде влияет на результаты каждого сотрудника. А комфортные условия для работы — как эргономичное рабочее кресло: на первый взгляд, для выполнения обязанностей хватит любого стула, но в удобном кресле приятно спине и день заканчивается без дополнительного напряжения.
«Третья причина — это боль, придётся переделывать вновь». Вероятность допустить ошибку снижается, когда за процессом следит больше сотрудников, а мнения всех членов команды учитываются во время принятия решений.
Обратный звонок
Мы перезваниваем в течение 30 минут каждый день с 10:00 до 19:00. Если оставите заявку сейчас, то перезвоним уже в рабочее время.
Чат поддержки
Практикум
Привет! Это поддержка Практикума 👋 Если что-то не получается — постараемся помочь. Пишите в чат или выберите другой способ связи