169
правок
AE (обсуждение | вклад) (Тестирование изображений) |
AE (обсуждение | вклад) мНет описания правки |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
Разработка программного обеспечения — это производство [[Компьютерная программа|программ]] для [[Компьютер|компьютеров]] как продуктов полностью готовых к использованию. Могут предназначаться для внутреннего использования или для внешнего заказчика, для перепродажи или для бесплатного распространения. | |||
Разработка программного обеспечения — это производство программ для | |||
== Объясните простыми словами, пожалуйста == | == Объясните простыми словами, пожалуйста == | ||
[[Файл:The Caxton Celebration - William Caxton showing specimens of his printing to King Edward IV and his Queen.jpg|мини|200px|Разработчики выкатывают приложение в продакшн]] | |||
Почему программистов называют разработчиками? 🤔 | Почему программистов называют разработчиками? 🤔 | ||
Это слова часто используют вместе, но это не совсем одно и то же. В разработке '''современных''' качественных приложений только программирования '''недостаточно'''. Это сложный процесс и со стороны упрощенно выглядит так: несколько человек собираются вместе, начинают спорить и ругаться, а в перерывах стучат по клавиатурам. Это может длиться месяцами и годами. И в '''результате''' всего этого компьютеры начинают делать то, что раньше не делали, или начинают делать что-то '''лучше'''. | Это слова часто используют вместе, но это не совсем одно и то же. В разработке '''современных''' качественных приложений только [[Программирование|программирования]] '''недостаточно'''. Это сложный процесс и со стороны упрощенно выглядит так: несколько человек собираются вместе, начинают спорить и ругаться, а в перерывах стучат по клавиатурам. Это может длиться месяцами и годами. И в '''результате''' всего этого компьютеры начинают делать то, что раньше не делали, или начинают делать что-то '''лучше'''. | ||
Название для этого '''странного''' процесса искали долго и по всему миру. В итоге нашлось хорошее, изначально французское слово «'''разворот'''», давно позаимствованное в английский и дополненное смыслами. '''Development''' — это рост и развитие, '''раскрытие''' потенциала. В русском языке слово девелопмент уже заняли за собой строители, поэтому довольствуемся скромным «разработка» 🤷 | Название для этого '''странного''' процесса искали долго и по всему миру. В итоге нашлось хорошее, изначально французское слово «'''разворот'''», давно позаимствованное в английский и дополненное смыслами. '''Development''' — это рост и развитие, '''раскрытие''' потенциала. В русском языке слово девелопмент уже заняли за собой строители, поэтому довольствуемся скромным «разработка» 🤷 | ||
Строка 21: | Строка 21: | ||
*🫡 Они должны выполнять требования ''редактора'' (руководителя проекта). | *🫡 Они должны выполнять требования ''редактора'' (руководителя проекта). | ||
Разработка '''больших''' и важных приложений требует участия большого количество людей и все они заняты '''не только''' программированием. Менеджеры, дизайнеры, аналитики, тестировщики, системные администраторы и другие специалисты вносят '''огромный''' вклад в конечный результат. К сожалению, про них часто и несправедливо забывают, называя разработчиками только программистов | Разработка '''больших''' и важных приложений требует участия большого количество людей и все они заняты '''не только''' программированием. Менеджеры, дизайнеры, аналитики, тестировщики, системные администраторы и другие специалисты вносят '''огромный''' вклад в конечный результат. К сожалению, про них часто и несправедливо забывают, называя разработчиками только программистов 😒 | ||
Но никто не обижается 😅 | |||
==А если серьезно== | ==А если серьезно== | ||
===Из чего состоит разработка ПО === | ===Из чего состоит разработка ПО === | ||
Программирование — только одна из составляющих частей процесса разработки ПО, наряду со сбором требований, проектированием, тестированием, документированием и сопровождением | |||
[[Файл:Software development projects, wmcon14 berlin.jpg|мини|200px|Разработчики на совещании]] | |||
Программирование — только одна из составляющих частей процесса разработки ПО, наряду со сбором требований, проектированием, тестированием, документированием и сопровождением: | |||
*Идея — с чего всё начинается. Обычно это предложение по решению конкретной проблемы. | *Идея — с чего всё начинается. Обычно это предложение по решению конкретной проблемы. | ||
*Продуктовый анализ — | *Продуктовый анализ — создание концепта: определение характеристик, анализ конкурентов, опросы пользователей. | ||
*Системный анализ — сбор требований и их документирование в виде технического задания. | *Финансовый анализ — оценка экономических показателей: расходов, доходов, период окупаемости, оценка рисков. | ||
*Проектирование — | *Системный анализ — сбор всех требований и их документирование в виде технического задания. | ||
*Планирование — оценка трудозатрат и календарных сроков. | *Проектирование — создание проекта: проработка дизайна, выбор технологий и инструментов. Для сложных проектов прорабатываются модели процессов и модели данных. | ||
*Программирование — написание исходного кода программ на определенных языках программирования. | *Планирование — финальная оценка трудозатрат и календарных сроков. | ||
*[[Программирование]] — написание исходного кода программ на определенных языках программирования. | |||
*Код-ревью (code review) — проверка исходного кода программы другим более опытным разработчиком. | *Код-ревью (code review) — проверка исходного кода программы другим более опытным разработчиком. | ||
*Тестирование — проверка, что программа удовлетворяет требованиям. В крупных компаниях, тестирование является частью отдельного направления контроля качества (QA) | *Тестирование — проверка, что программа удовлетворяет требованиям. В крупных компаниях, тестирование является частью отдельного направления контроля качества (QA). | ||
*Документирование — состоит из документирования исходного кода, документирования API (описания того как программа будет взаимодействовать с другими программами), подготовки документации для пользователей | *Документирование — состоит из документирования исходного кода, документирования API (описания того как программа будет взаимодействовать с другими программами), подготовки документации для пользователей. | ||
*Релиз (release) — «запуск в печать». Доставка приложения или результатов его работы конечным пользователям. | *Релиз (release) — «запуск в печать». Доставка приложения или результатов его работы конечным пользователям. | ||
*Сопровождение — исправление багов и доработки. | *Маркетинговые мероприятия и запуск рекламы. | ||
*Продажи и внедрения. | |||
*Сопровождение — техническая поддержка, обслуживание, исправление багов и доработки. | |||
===Кто участвует в разработке ПО=== | ===Кто участвует в разработке ПО=== | ||
Строка 64: | Строка 72: | ||
**Другие отделы, отвечающие за стратегические партнерства, планирования, анализ процессов внутри компании | **Другие отделы, отвечающие за стратегические партнерства, планирования, анализ процессов внутри компании | ||
***'''Бизнес аналитики, координаторы и прочие менеджеры''' — делают компанию лучше и эффективнее | ***'''Бизнес аналитики, координаторы и прочие менеджеры''' — делают компанию лучше и эффективнее | ||
*Коммерческий отдел (Commercial department) | *Коммерческий отдел (Commercial department) — увеличение доходов, работа с клиентами | ||
**Обслуживание клиентов (Customer Service) — работа на удержание клиентов | **Обслуживание клиентов (Customer Service) — работа на удержание клиентов | ||
***'''Аккаунт менеджер''' (Account manager) — индивидуальная работа с ключевыми клиентами | ***'''Аккаунт менеджер''' (Account manager) — индивидуальная работа с ключевыми клиентами | ||
**Отдел продаж (Sales)— поиск новых клиентов | **Отдел продаж (Sales)— поиск новых клиентов | ||
**Маркетинг (Marketing) — продвижение бренда компании и его IT продуктов | **Маркетинг (Marketing) — продвижение бренда компании и его IT продуктов, реклама | ||
*Продуктовый отдел (Product Management) — рост компании через улучшение выпускаемых IT продуктов и разработку новых | *Продуктовый отдел (Product Management) — рост компании через улучшение выпускаемых IT продуктов и разработку новых | ||
**'''Менеджер продукта''' (Product Manager) — отвечает за работу продуктовой команды и определяет стратегию развития продукта | **'''Менеджер продукта''' (Product Manager) — отвечает за работу продуктовой команды и определяет стратегию развития продукта |