1 added
1 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Разработка - это…</a></li>
1
<ul><li><a>Разработка - это…</a></li>
2
<li><a>Жизненные циклы</a></li>
2
<li><a>Жизненные циклы</a></li>
3
<li><a>Основные модели</a><ul><li><a>Водопад</a><ul><li><a>Преимущества и недостатки</a></li>
3
<li><a>Основные модели</a><ul><li><a>Водопад</a><ul><li><a>Преимущества и недостатки</a></li>
4
</ul></li>
4
</ul></li>
5
<li><a>V-образная</a></li>
5
<li><a>V-образная</a></li>
6
<li><a>Инкрементный подход</a></li>
6
<li><a>Инкрементный подход</a></li>
7
<li><a>Итеративный подход</a></li>
7
<li><a>Итеративный подход</a></li>
8
<li><a>Спираль</a></li>
8
<li><a>Спираль</a></li>
9
</ul></li>
9
</ul></li>
10
<li><a>Agile - это…</a></li>
10
<li><a>Agile - это…</a></li>
11
<li><a>Kanban</a></li>
11
<li><a>Kanban</a></li>
12
<li><a>Как лучше понять процесс</a></li>
12
<li><a>Как лучше понять процесс</a></li>
13
</ul><p>Создание программного обеспечения - процесс, требующий основательного подхода. В зависимости от выбранной модели поведения будет меняться успех всего проекта.</p>
13
</ul><p>Создание программного обеспечения - процесс, требующий основательного подхода. В зависимости от выбранной модели поведения будет меняться успех всего проекта.</p>
14
<p>Отличить методологии и методы создания ПО бывает проблематично. Поэтому в данной статье будут раскрыты соответствующий направления. Информация поможет разобраться, какую модель выбрать в том или ином случае.</p>
14
<p>Отличить методологии и методы создания ПО бывает проблематично. Поэтому в данной статье будут раскрыты соответствующий направления. Информация поможет разобраться, какую модель выбрать в том или ином случае.</p>
15
<h2>Разработка - это…</h2>
15
<h2>Разработка - это…</h2>
16
<p>Процесс программной разработки - некий процесс, который позволяет преобразовывать пользовательские желания и потребности в полноценный программный продукт. Это - составной элемент программной инженерии.</p>
16
<p>Процесс программной разработки - некий процесс, который позволяет преобразовывать пользовательские желания и потребности в полноценный программный продукт. Это - составной элемент программной инженерии.</p>
17
<p>Если говорить простыми словами - это процесс, в ходе которого разрабатывается техническое задание (ТЗ). Далее специалисты формируют проект и тестируют его. На выходе получается полноценное ПО, готовое к использованию.</p>
17
<p>Если говорить простыми словами - это процесс, в ходе которого разрабатывается техническое задание (ТЗ). Далее специалисты формируют проект и тестируют его. На выходе получается полноценное ПО, готовое к использованию.</p>
18
<h2>Жизненные циклы</h2>
18
<h2>Жизненные циклы</h2>
19
<p>Каждый контент имеет жизненный цикл - этапы, через которые он проходит от начала создания до окончания разработки и релиза. Обычно сюда включают:</p>
19
<p>Каждый контент имеет жизненный цикл - этапы, через которые он проходит от начала создания до окончания разработки и релиза. Обычно сюда включают:</p>
20
<ul><li>подготовку;</li>
20
<ul><li>подготовку;</li>
21
<li>проектирование;</li>
21
<li>проектирование;</li>
22
<li>поддержку;</li>
22
<li>поддержку;</li>
23
<li>создание (написание).</li>
23
<li>создание (написание).</li>
24
</ul><p>Каждый шаг может иметь различные названия, а также дробиться на более мелкие компоненты. Рассматриваемый процесс обычно предусматривает:</p>
24
</ul><p>Каждый шаг может иметь различные названия, а также дробиться на более мелкие компоненты. Рассматриваемый процесс обычно предусматривает:</p>
25
<ol><li>Приобретение. Это - действия заказчика, которые позволят сформировать требования и ограничения к обеспечению. Сюда включают заключение договора на написание проекта, анализ и аудит выполненных задач. В конце заказчик получит готовый продукт.</li>
25
<ol><li>Приобретение. Это - действия заказчика, которые позволят сформировать требования и ограничения к обеспечению. Сюда включают заключение договора на написание проекта, анализ и аудит выполненных задач. В конце заказчик получит готовый продукт.</li>
26
<li>Поставку. Это - комплекс мероприятий, которые проводятся специалистами. Они анализируют требования клиента, создают проект, подводят итоги проведенных исследований. Далее - решают вопросы, связанные с непосредственным программированием. Завершающий этап - проверка контента и его поставка.</li>
26
<li>Поставку. Это - комплекс мероприятий, которые проводятся специалистами. Они анализируют требования клиента, создают проект, подводят итоги проведенных исследований. Далее - решают вопросы, связанные с непосредственным программированием. Завершающий этап - проверка контента и его поставка.</li>
27
<li>Разработку. Так называется непосредственное программирование, а также создание дизайна.</li>
27
<li>Разработку. Так называется непосредственное программирование, а также создание дизайна.</li>
28
<li>Эксплуатацию. Это - использование готового обеспечения заказчиком.</li>
28
<li>Эксплуатацию. Это - использование готового обеспечения заказчиком.</li>
29
<li>Сопровождение. Подразумевает поддержку пользователей при необходимости. Разработчики занимаются исправлением ошибок и неполадок.</li>
29
<li>Сопровождение. Подразумевает поддержку пользователей при необходимости. Разработчики занимаются исправлением ошибок и неполадок.</li>
30
</ol><p>Эксплуатация и сопровождение обычно осуществляются одновременно.</p>
30
</ol><p>Эксплуатация и сопровождение обычно осуществляются одновременно.</p>
31
<p>Модель разработки - это описание стадий жизненного цикла. В ней отражается то, что происходит на каждом этапе.</p>
31
<p>Модель разработки - это описание стадий жизненного цикла. В ней отражается то, что происходит на каждом этапе.</p>
32
<p>Методология - набор методов по управлению процессами создания контента. Сюда относят правила, принципы и техники, которые позволяют добиться максимальной эффективности.</p>
32
<p>Методология - набор методов по управлению процессами создания контента. Сюда относят правила, принципы и техники, которые позволяют добиться максимальной эффективности.</p>
33
<h2>Основные модели</h2>
33
<h2>Основные модели</h2>
34
<p>Процесс разработки программного обеспечения предусматривает множество различных моделей. Если знать особенности каждой, программист сможет выбрать оптимальное решение для того или иного проекта.</p>
34
<p>Процесс разработки программного обеспечения предусматривает множество различных моделей. Если знать особенности каждой, программист сможет выбрать оптимальное решение для того или иного проекта.</p>
35
<p>К ключевым моделям разработки ПО относят:</p>
35
<p>К ключевым моделям разработки ПО относят:</p>
36
<ul><li>модель кодирования и устранения ошибок;</li>
36
<ul><li>модель кодирования и устранения ошибок;</li>
37
<li>"водопад";</li>
37
<li>"водопад";</li>
38
<li>разработку при помощи тестирования;</li>
38
<li>разработку при помощи тестирования;</li>
39
<li>инкрементную модель;</li>
39
<li>инкрементную модель;</li>
40
<li>итерационные модели;</li>
40
<li>итерационные модели;</li>
41
<li>спиральные модели;</li>
41
<li>спиральные модели;</li>
42
<li>"хаос";</li>
42
<li>"хаос";</li>
43
<li>разработку через прототипы.</li>
43
<li>разработку через прототипы.</li>
44
</ul><p>Далее каждый вариант будет рассмотрен более подробно.</p>
44
</ul><p>Далее каждый вариант будет рассмотрен более подробно.</p>
45
<h3>Водопад</h3>
45
<h3>Водопад</h3>
46
<p>Программная разработка здесь осуществляется шаг за шагом. Следующий этап будет начинаться только после того, как к концу подойдет предыдущий.</p>
46
<p>Программная разработка здесь осуществляется шаг за шагом. Следующий этап будет начинаться только после того, как к концу подойдет предыдущий.</p>
47
<p>Существует "водопад" с 1970-го года. Если грамотно организовать эту модель, она станет самой быстрой, простой, понятной и эффективной.</p>
47
<p>Существует "водопад" с 1970-го года. Если грамотно организовать эту модель, она станет самой быстрой, простой, понятной и эффективной.</p>
48
<h4><em>Преимущества и недостатки</em></h4>
48
<h4><em>Преимущества и недостатки</em></h4>
49
<p>К плюсам "водопада" относят:</p>
49
<p>К плюсам "водопада" относят:</p>
50
<ol><li>Простой контроль программной разработки. Заказчик будет всегда знать, чем заняты программисты. Он сможет управлять сроками и расценками на выполненные задачи.</li>
50
<ol><li>Простой контроль программной разработки. Заказчик будет всегда знать, чем заняты программисты. Он сможет управлять сроками и расценками на выполненные задачи.</li>
51
<li>Отсутствие необходимости найма тестировщиков с хорошей квалификацией. Можно просто обойтись подробной технической документацией при проверке контента.</li>
51
<li>Отсутствие необходимости найма тестировщиков с хорошей квалификацией. Можно просто обойтись подробной технической документацией при проверке контента.</li>
52
<li>Возможность определения итоговой стоимости предстоящих работ. Этому способствует тщательное поэтапное планирование и согласование договора.</li>
52
<li>Возможность определения итоговой стоимости предстоящих работ. Этому способствует тщательное поэтапное планирование и согласование договора.</li>
53
</ol><p>Недостатки модели:</p>
53
</ol><p>Недостатки модели:</p>
54
<ol><li>Тестирование на поздних этапах написания контента. Если в требованиях будет ошибка, ее корректировка дорого обойдется. Обнаруживаются неполадки после того, как разработчики сформировали полноценный код проекта.</li>
54
<ol><li>Тестирование на поздних этапах написания контента. Если в требованиях будет ошибка, ее корректировка дорого обойдется. Обнаруживаются неполадки после того, как разработчики сформировали полноценный код проекта.</li>
55
<li>Возможность увидеть итог только в конце процесса. Может получиться так, что заказчику не понравится результат. Проект придется переделывать.</li>
55
<li>Возможность увидеть итог только в конце процесса. Может получиться так, что заказчику не понравится результат. Проект придется переделывать.</li>
56
<li>Огромное количество технической документации. Данный момент задерживает процесс написания исходного кода программного обеспечения.</li>
56
<li>Огромное количество технической документации. Данный момент задерживает процесс написания исходного кода программного обеспечения.</li>
57
</ol><p>Самое лучшее решение здесь - это формирование грамотного, тщательно продуманного и детализированного технического задания. Когда оно подробное, вероятность возникновения ошибок стремится к нулю.</p>
57
</ol><p>Самое лучшее решение здесь - это формирование грамотного, тщательно продуманного и детализированного технического задания. Когда оно подробное, вероятность возникновения ошибок стремится к нулю.</p>
58
<h3>V-образная</h3>
58
<h3>V-образная</h3>
59
<p>V-образный подход написания программ - это усовершенствованный "водопад". В нем заказчик будет вместе с программистами одновременно выдвигать требования к итоговому проекту, описывать его. Далее следует тестирование. Оно осуществляется на каждом этапе.</p>
59
<p>V-образный подход написания программ - это усовершенствованный "водопад". В нем заказчик будет вместе с программистами одновременно выдвигать требования к итоговому проекту, описывать его. Далее следует тестирование. Оно осуществляется на каждом этапе.</p>
60
<p>Такой подход сводит к минимуму количество архитектурных ошибок. Только при наличии неполадок в работе исправление обойдется дорого во всех смыслах. Хорошо подойдет для контента, где основополагающую играет надежность.</p>
60
<p>Такой подход сводит к минимуму количество архитектурных ошибок. Только при наличии неполадок в работе исправление обойдется дорого во всех смыслах. Хорошо подойдет для контента, где основополагающую играет надежность.</p>
61
<h3>Инкрементный подход</h3>
61
<h3>Инкрементный подход</h3>
62
<p>Появился в 1930-х годах. Предусматривает написание ПО "по частям". Вот пример с социальной сетью, который поможет лучше разобраться в подходе:</p>
62
<p>Появился в 1930-х годах. Предусматривает написание ПО "по частям". Вот пример с социальной сетью, который поможет лучше разобраться в подходе:</p>
63
<ol><li>Клиент захотел сформировать социальную сеть. Он написал детализированное техническое задание. Программисты предложили реализовать основной функционал - личную страничку с данными и чат. После - протестировать процесс на целевой аудитории.</li>
63
<ol><li>Клиент захотел сформировать социальную сеть. Он написал детализированное техническое задание. Программисты предложили реализовать основной функционал - личную страничку с данными и чат. После - протестировать процесс на целевой аудитории.</li>
64
<li>Команда демонстрирует готовое ПО и реализовывает его. Если всех все устраивает, работа продолжается. Это происходит "по частям".</li>
64
<li>Команда демонстрирует готовое ПО и реализовывает его. Если всех все устраивает, работа продолжается. Это происходит "по частям".</li>
65
<li>Параллельно разработчики создают функциональные инструменты для обмена фото, аудио и документами, прослушивания музыки и так далее. Все это согласовывается с клиентом заранее.</li>
65
<li>Параллельно разработчики создают функциональные инструменты для обмена фото, аудио и документами, прослушивания музыки и так далее. Все это согласовывается с клиентом заранее.</li>
66
</ol><p>К преимуществам подхода относят:</p>
66
</ol><p>К преимуществам подхода относят:</p>
67
<ol><li>Отсутствие больших финансовых вложений на первых порах. Задание оплачивается частично: сначала - ключевые моменты, если идея удалась - дополнительные функции.</li>
67
<ol><li>Отсутствие больших финансовых вложений на первых порах. Задание оплачивается частично: сначала - ключевые моменты, если идея удалась - дополнительные функции.</li>
68
<li>Отличную обратную связь. Она помогает понять целесообразность задумки, а также оперативно реагировать на обновления технического задания.</li>
68
<li>Отличную обратную связь. Она помогает понять целесообразность задумки, а также оперативно реагировать на обновления технического задания.</li>
69
<li>Относительно недорогое исправление ошибок.</li>
69
<li>Относительно недорогое исправление ошибок.</li>
70
</ol><p>Недостатки:</p>
70
</ol><p>Недостатки:</p>
71
<ol><li>Вероятность возникновения недопонимания в команде. Это связано с тем, что каждая группа программистов работает на "своей" задачей.</li>
71
<ol><li>Вероятность возникновения недопонимания в команде. Это связано с тем, что каждая группа программистов работает на "своей" задачей.</li>
72
<li>Разработчики могут откладывать в долгий ящик релиз основного функционала, уделяя много времени "мелочевке".</li>
72
<li>Разработчики могут откладывать в долгий ящик релиз основного функционала, уделяя много времени "мелочевке".</li>
73
</ol><p>Этот подход целесообразен для ПО с детализированным ТЗ. Используется тогда, когда сервис должен появиться на рынке быстро.</p>
73
</ol><p>Этот подход целесообразен для ПО с детализированным ТЗ. Используется тогда, когда сервис должен появиться на рынке быстро.</p>
74
<h3>Итеративный подход</h3>
74
<h3>Итеративный подход</h3>
75
<p>Рассматривая основы программной разработки, нужно обратить внимание на итеративный подход. В нем заказчик не имеет четкого представления о том, что он хочет получить "на выходе". Есть первоначальная задумка, а вот ее реализация не детализирована.</p>
75
<p>Рассматривая основы программной разработки, нужно обратить внимание на итеративный подход. В нем заказчик не имеет четкого представления о том, что он хочет получить "на выходе". Есть первоначальная задумка, а вот ее реализация не детализирована.</p>
76
<p>Преимущества:</p>
76
<p>Преимущества:</p>
77
<ol><li>Быстрый старт с минимальным набором функций. Это позволит оперативно получать обратную связь от потенциальной целевой аудитории.</li>
77
<ol><li>Быстрый старт с минимальным набором функций. Это позволит оперативно получать обратную связь от потенциальной целевой аудитории.</li>
78
<li>Постоянное пользовательское тестирование. Избавляет от дополнительных расходов на тестировщиков.</li>
78
<li>Постоянное пользовательское тестирование. Избавляет от дополнительных расходов на тестировщиков.</li>
79
</ol><p>Недостатки:</p>
79
</ol><p>Недостатки:</p>
80
<ol><li>Проблемы при использовании баз данных и серверов. Встречается проблема на первых порах создания контента.</li>
80
<ol><li>Проблемы при использовании баз данных и серверов. Встречается проблема на первых порах создания контента.</li>
81
<li>Отсутствие фиксированных сроков и бюджета.</li>
81
<li>Отсутствие фиксированных сроков и бюджета.</li>
82
</ol><p>Это - идеальное решение для масштабных трудов с неопределенными четкими требованиями. Вариант для инновационных сервисов - таких, где в результатах никто не уверен.</p>
82
</ol><p>Это - идеальное решение для масштабных трудов с неопределенными четкими требованиями. Вариант для инновационных сервисов - таких, где в результатах никто не уверен.</p>
83
<h3>Спираль</h3>
83
<h3>Спираль</h3>
84
<p>В основы программной разработки включен подход, который называется "Спираль". Заказчики и программисты в ней занимаются тщательным анализом рисков. Написание продукта осуществляется итерационно.</p>
84
<p>В основы программной разработки включен подход, который называется "Спираль". Заказчики и программисты в ней занимаются тщательным анализом рисков. Написание продукта осуществляется итерационно.</p>
85
-
<p>Здесь каждая следующая стадия опирается на предыдущую. Каждый "виток" завершается - тогда принимается решение относ��тельно дальнейшей судьбы первоначальной идеи. Рискам уделяется достаточное количество времени, но реализация долгая и дорогая.</p>
85
+
<p>Здесь каждая следующая стадия опирается на предыдущую. Каждый "виток" завершается - тогда принимается решение относительно дальнейшей судьбы первоначальной идеи. Рискам уделяется достаточное количество времени, но реализация долгая и дорогая.</p>
86
<h2>Agile - это…</h2>
86
<h2>Agile - это…</h2>
87
<p>Изучая основы создания ПО, нужно обратить внимание на эджайл. Это - практики и подходы, а также методологии, которые позволяют получать на выходе более эффективный итог.</p>
87
<p>Изучая основы создания ПО, нужно обратить внимание на эджайл. Это - практики и подходы, а также методологии, которые позволяют получать на выходе более эффективный итог.</p>
88
<p>В Agile process включают:</p>
88
<p>В Agile process включают:</p>
89
<ul><li>экстремальное программирование;</li>
89
<ul><li>экстремальное программирование;</li>
90
<li>Scrum;</li>
90
<li>Scrum;</li>
91
<li>бережливую разработку;</li>
91
<li>бережливую разработку;</li>
92
<li>создание "через тестирование";</li>
92
<li>создание "через тестирование";</li>
93
<li>функционально управляемый подход;</li>
93
<li>функционально управляемый подход;</li>
94
<li>методологии "чистой комнаты";</li>
94
<li>методологии "чистой комнаты";</li>
95
<li>итеративно-инкрементальный подход;</li>
95
<li>итеративно-инкрементальный подход;</li>
96
<li>MSF;</li>
96
<li>MSF;</li>
97
<li>написание динамических систем.</li>
97
<li>написание динамических систем.</li>
98
</ul><p>А еще здесь встречается метод управления Kanban. Ниже - таблица, которая поможет отличить Agile от "классических" приемов написания программного продукта.</p>
98
</ul><p>А еще здесь встречается метод управления Kanban. Ниже - таблица, которая поможет отличить Agile от "классических" приемов написания программного продукта.</p>
99
<p>Scrum - это не методология. Его обычно называют фреймворком. Связано это с тем, что у него присутствуют более строгие правила и принципы применения. Здесь роли и операции четко определены.</p>
99
<p>Scrum - это не методология. Его обычно называют фреймворком. Связано это с тем, что у него присутствуют более строгие правила и принципы применения. Здесь роли и операции четко определены.</p>
100
<h2>Kanban</h2>
100
<h2>Kanban</h2>
101
<p>Изучая модели и процесс разработки того или иного программного обеспечения, стоит обратить внимание на Kanban. Это один из самых популярных приемов.</p>
101
<p>Изучая модели и процесс разработки того или иного программного обеспечения, стоит обратить внимание на Kanban. Это один из самых популярных приемов.</p>
102
<p>Здесь команда будет работать через виртуальные доски. Они отражают принципы разбиения будущего сервиса на шаги. Каждый участник видит, какие задачи сейчас выполняются, какие - приторможены (и где), с какими удалось справиться.</p>
102
<p>Здесь команда будет работать через виртуальные доски. Они отражают принципы разбиения будущего сервиса на шаги. Каждый участник видит, какие задачи сейчас выполняются, какие - приторможены (и где), с какими удалось справиться.</p>
103
<p>Kanban дает возможность заниматься срочными задачами. Следующий спринт здесь ждать не придется. Такая модель идеальна не только для работы, но и для достижения личных целей.</p>
103
<p>Kanban дает возможность заниматься срочными задачами. Следующий спринт здесь ждать не придется. Такая модель идеальна не только для работы, но и для достижения личных целей.</p>
104
<h2>Как лучше понять процесс</h2>
104
<h2>Как лучше понять процесс</h2>
105
<p>Чтобы быстрее научиться грамотно подходить к вопросам формирования ПО, рекомендуется закончить специализированные компьютерные дистанционные курсы. Пример - от OTUS. Это образовательный центр в Москве, обучающий пользователей инновационным IT-профессиям.</p>
105
<p>Чтобы быстрее научиться грамотно подходить к вопросам формирования ПО, рекомендуется закончить специализированные компьютерные дистанционные курсы. Пример - от OTUS. Это образовательный центр в Москве, обучающий пользователей инновационным IT-профессиям.</p>
106
<p>Занятия полностью проходят онлайн. Можно смотреть уроки тогда, когда это удобно конкретному пользователю. Курсы рассчитаны на срок до 12 месяцев. Клиент может получить:</p>
106
<p>Занятия полностью проходят онлайн. Можно смотреть уроки тогда, когда это удобно конкретному пользователю. Курсы рассчитаны на срок до 12 месяцев. Клиент может получить:</p>
107
<ul><li>тщательно сформированную программу;</li>
107
<ul><li>тщательно сформированную программу;</li>
108
<li>интересные домашние задания;</li>
108
<li>интересные домашние задания;</li>
109
<li>кураторство опытными специалистами;</li>
109
<li>кураторство опытными специалистами;</li>
110
<li>собственное первое портфолио;</li>
110
<li>собственное первое портфолио;</li>
111
<li>богатую и интересную практику.</li>
111
<li>богатую и интересную практику.</li>
112
</ul><p>В конце выдается онлайн-сертификат, который подтвердит навыки и знания в выбранном направлении. Разобраться с моделями разработки при помощи курсов - самое быстрое и верное решение.</p>
112
</ul><p>В конце выдается онлайн-сертификат, который подтвердит навыки и знания в выбранном направлении. Разобраться с моделями разработки при помощи курсов - самое быстрое и верное решение.</p>
113
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
113
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
114
114