Реклама

Как создаются программы

Как создаются программы

В первом приближении можно сказать, что разработка программной системы разбивается на несколько этапов.

Анализ задачи

Обычно работа над проектом начинается именно с анализа.

Это работа по изучению проблемы, которую должно решить разрабатываемое ПО. Специалист, который этим занимается, называется аналитик. Главная задача аналитика - понять, что нужно заказчику, и сформулировать это на языке, понятном остальной команде разработчиков, в первую очередь архитектору.

В отечественной терминологии процессы анализа и разработки архитектуры часто называют "постановка задачи", а результат этой работы - техническим заданием (ТЗ).

Разработка архитектуры (проектирование)

Архитектор придумывает, как будет устроено программное обеспечение, отвечающее  требованиям заказчика, выявленным на этапе анализа. Результатом этой работы является конкретное задание для программистов, задействованных для работы над проектом.

Программирование

Один или, что чаще, несколько программистов, создают требуемое программное обеспечение в рамках разработанной архитектуры и держа в голове результаты анализа задачи.

Тестирование

Проверка работоспособности разработанного программного обеспечения. Выявление ошибок для последующего исправления программистами. Специалисты, занимающиеся такой работой, называются тестерами.

Внедрение

Превращение системы в реально используемую заказчиком. Очень важный, сложный этап. Про который обычно вспоминают, когда уже в общем-то поздно. Если система не внедрена, проект можно считать вполне проваленным.

Почему это только первое приближение? Потому что, если присмотреться, все не совсем так. А точнее совсем не так. В реальности каждый этап не работает изолированно от других, и их невозможно выполнять последовательно.

Проектирование выявляет недочёты в анализе и требует дальнейшего и более детального анализа. В ходе программирования обнаруживается, что требуется переделка проекта. Ну, а когда дело доходит до внедрения... Разработчики узнают много нового о задаче, а значит что-то нужно будет подправлять.

В общем, как и любой успешный процесс, разработка программной системы должна иметь обратную связь. То есть реагировать на изменившуюся ситуацию. Чем раньше и быстрее будет реакция, тем меньше проблем.

Классический и бюрократический подход к разработке программ, как правило, просто игнорирует обнаруженные на следующем этапе нестыковки. В результате получается тяжёлая, неэффективная и дорогая система.

См. также: