Технологии разработки программного обеспечения:

 

Существуют 2 основные модели процесса разработки программного обеспечения:

 

1. Каскадная (англ. waterfall) - стандартная модель разработки

 

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

 

Такая модель включает следующие этапы процесса разработки ПО:

{ Определение требований                                                                                 

                    ​ Проектирование                                                                       

                               Воплощение                                                            

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

                                                   Установка                                         

                                                             Поддержка }                              

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

 

После полного завершения проектирования  программистами выполняется реализация  (конструирование) проекта. На стадии воплощения происходит интеграция всех компонентов проекта.  Только после полного завершения этих стадий производится тестирование и отладка готового продукта. Далее программный продукт можно внедрять и после внедрения осуществлять поддержку – вносить новый функционал и устранять ошибки.

 

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

 

Основные плюсы каскадной разработки: 

 

     четкая документация процесса;

 

     точное определение бюджета;

 

     определение сроков сдачи проекта;

 

     низкая степень зависимости от человеческого фактора

 

Минусы каскадной разработки: 

     длительные сроки от старта проекта до предоставления первого результата;

 

     большой объем документов; 

 

     длительные согласования требований и промежуточных документов;

 

     невозможность внесения изменений в динамическом режиме.

 

2. Гибкая методология разработки программного обеспечения (Agile software development)

 

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

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

Методов гибкой разработки несколько, из наиболее известных  -  Scrum, экстремальное программирование, DSDM.  

 

Основные плюсы гибкой разработки: 

     минимизация рисков;

 

     постепенное наращивание функционала программного продукта;

 

     небольшой объем письменной документации;

 

     запуск базовой версии программы в кратчайшие сроки.

 

Существуют и минусы: 

     невозможность точного определения бюджета проекта;

 

     невозможность определения точных сроков готовности проекта;

 

     не подходит для государственных и бюджетных организаций;

 

     требует мотивации от ответственных представителей заказчика.

Agile-манифест разработки программного обеспечения

 

Мы постоянно открываем для себя более совершенные методы разработки программного обеспечения, занимаясь разработкой непосредственно и помогая в этом другим. Благодаря проделанной работе мы смогли осознать, что:

 

Люди и взаимодействие важнее процессов и инструментов

Работающий продукт важнее исчерпывающей документации

Сотрудничество с заказчиком важнее согласования условий контракта

Готовность к изменениям важнее следования первоначальному плану

 

То есть, не отрицая важности того, что справа, мы всё-таки больше ценим то, что слева.

(источник)

 

Принципы гибкой разработки:

     удовлетворение клиента за счёт быстрой и бесперебойной поставки необходимого программного обеспечения;
     приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
     частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);
     тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
     проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
     рекомендуемый метод передачи информации — личный разговор (лицом к лицу);
     работающее программное обеспечение — лучший измеритель прогресса;
     спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;
     постоянное внимание улучшению технического мастерства и удобному дизайну;
     простота — искусство не делать лишней работы;
     лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;
     ​постоянная адаптация к изменяющимся обстоятельствам.

 

(источник)

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

Обратитесь к нашим специалистам и мы предложим оптимальное сочетание качества, сроков и финансовых затрат.

Задать вопрос