HTML Diff
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