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

Обновлено: 04.07.2024

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

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

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

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

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

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

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

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


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


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


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

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


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


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


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

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

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

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

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

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


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


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


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

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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

Аннотация: Рассматриваются содержание понятия "технология разработки программного обеспечения", жизненный цикл, методологические подходы к управлению созданием программного обеспечения, зрелость компаний по разработке программных продуктов, общее представление о формализованных и гибких методологиях разработки программных систем. Приводится кратких обзор инструментальных решений по управлению жизненным циклом программного обеспечения.

Презентацию к данной лекции Вы можете скачать здесь.

Цель лекции:

Получить представление о назначении технологий разработки программного обеспечения и современном состоянии развития таких технологий.

Введение

В соответствии с определением, данным в Википедии [2] технология - комплекс организационных мер, операций и приемов, направленных на изготовление, обслуживание, ремонт и/или эксплуатацию изделия с номинальным качеством и оптимальными затратами, и обусловленных текущим уровнем развития науки, техники и общества в целом. Технология разработки программного обеспечения( ПО ) представляет собой комплекс организационных мер, операций и приемов, направленных на разработку программных продуктов высокого качества в рамках отведенного бюджета и в срок. Технологии включают методики, методологии, средства и процедуры разработки ПО .

Модели жизненного цикла программного обеспечения

В настоящее время существует достаточно много различных методик разработки программного обеспечения [3, 4]. Методики различаются используемой моделью жизненного цикла ПО и уровнем формализма при его создании. Жизненный цикл программного обеспечения ( ПО ) - период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.

Классический жизненный цикл определяется каскадной или водопадной моделями, в которых предполагается последовательное выполнение этапов создания ПО : анализ , проектирование, разработка, тестирование и сопровождение.

Методики, базирующиеся на каскадной модели, характеризуются тем, что переход на следующую стадию проектирования осуществляется только после того, как будет завершена работа на текущей стадии. Возврат на предыдущие стадии не предполагается. Изменения, вносимые в проект, могут сильно повлиять на время и сроки проектирования. Обычные сроки реализации проект 6 - 12 месяцев. Такие методики применимы к простым программным системам, когда неопределенность в проекте минимальна и изменений в процессе проектирования не предполагается, а используемые технологические решения проверены и хорошо известны членам команды.

Развитием и усовершенствованием каскадной модели жизненного цикла ПО является итерационная спиральная модель, в которой разработка ПО осуществляется по спирали. Каждый виток ( итерация ) спирали предполагает реализацию определенного функционала программной системы. На каждом витке разработки реализуются такие же этапы создания ПО , как и в каскадной модели, то есть: анализ , проектирование, разработка и тестирование.Количество витков в спиральной модели не регламентировано и определяется разработчиком при выделении приоритетов пользовательских или функциональных требований к программной системе. Средняя продолжительность проектов 6 - 12 месяцев, а продолжительность итерации: 3 - 6 месяцев.

Спиральная модель жизненного цикла ПО лежит в основе методологии создания ИТ-решений компании Microsoft - MSF (MicrosoftSolutionFramework). В данной методологии компания Microsoft отразила свое видение на процессы создания программных систем различного назначения.

В инкрементной итерационной модели жизненного цикла ПО разработка реализуется несколькими итерациями с постепенным наращиванием функциональности системы. Каждая итерация предполагает планирование, анализ риска, разработку и оценку результатов итерации.

К итеративным методам разработки ПО относится методология, созданная компанией RationalSoftware - RationalUnifiedProcess ( RUP ). Унифицированный процесс RUP определяет виды деятельности, необходимые для проектирования программного продукта на основе требований пользователя, которые могут изменяться в процессе разработки системы. Данный процесс может быть адаптирован для разработки различных программных систем.

По степени формализма методологии отличаются количеством используемых процессов и создаваемых артефактов (документов, отчетов), а также формальности процедур рецензирования.

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

  • управление и мониторинг деятельности команды проекта;
  • распределение работ между участниками проекта;
  • формирование перечня требований к разрабатываемым элементам проекта и документации;
  • определение набора критериев качества программного продукта.

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

Зрелость процессов разработки ПО

Американским универсумом Карнеги-Меллон (SoftwareEngineeringInstitute, SEI ) разработана модель CMMI (CapabilityMaturityModelIntegration), характеризующая уровни зрелости процесса разработки ПО [3]. Модель CMMI представляет описание идеального процесса разработки ПО . Базовым понятием модели СММI считается зрелость компании.

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

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

Следует отметить, что методологии разработки ПО , базирующиеся на модели CMMI , унифицированном процессе RUP и модели MSF компании Microsoftявляются достаточно сильно формализованными, предполагают ограничения по организационной структуре, бюрократический подход ко многим проектным процедурам, наличие большого количества сопроводительных документов, сложные процедуры согласования изменений проекта и принятия других проектных решений. Такие методологии разработки ПО оправдывают себя для крупных проектов с большим количеством исполнителей, заказчиками которых являются государственные или бюрократические организации.

Для небольших команд (до 10 участников) альтернативой строго формализованных подходов к разработке ПО являются гибкие (agile)методологии. Гибкие методологии ориентированы на профессионалов, которые мотивированы на создание качественного программного продукта в кратчайшие сроки. Основными положениями гибкого подхода к созданию ПО являются [6]:

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

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

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

ИТ-решения по управлению жизненным циклом ПО

Улучшению процессов создания программного обеспечения служит методология управления жизненным циклом приложений ( ALM - applicationlifecyclemanagement), которая представляет собой концепцию управления программным проектом на всех этапах его жизни. ALM определяет непрерывный процесс управления жизненным циклом приложения по его управлению, развитию и обслуживанию. Принципы ALM реализуются ИТ-решениями различных вендоров.

Решение HP ALM onSaaS компании Hewlett-Packard способствует ускорению процессов консолидации; в его рамках доступны услуги команды экспертов по платформе HP ALM , имеется упрощенная система управления, встроенная возможность осуществлять масштабирование по требованию, а также предоставляется поддержка , необходимая для того, чтобы сосредоточиться на инновациях.

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

Компания IBM для управления жизненным циклом приложений предлагает решение IBM ® Rational® ClearQuest®. ИТ-решение поддерживает рационализированный, динамичный процесс разработки приложений, который одновременно является ориентированным на роли и управляемым процессами. Проекты определяют контекст выполнения заданий; их безопасность можно обеспечить через определение политик безопасности и ролей. Работа может быть распределена между членами коллектива, которые находятся в одном месте или в разных местах. Кроме того, работа является трассируемой до исходного запроса и до проекта, который реализуется по этому запросу.

Компания Microsoft предлагает набор средств в Visual Studio 2012 и объединения этих средств с Visual Studio Team Foundation Server для управления жизненным циклом приложений. В основе решений Microsoft по управлению жизненным циклом приложений лежат следующие принципы: продуктивность, интеграция и расширяемость . Продуктивность достигается обеспечением командной работы над проектом и управлением сложностью. Интеграция реализуется наличием полнофункциональных возможностей в единой среде проектирования, разработки, тестировании и сопровождении программного приложения, а также прозрачностью процесса создания ПО для всех участников проекта. Расширяемость поддерживается интегрированной средой разработки ( IDE ) и открытостью платформы для расширения и создания собственных инструментов, которые интегрируются с Team Foundation Server .

Ключевые термины

Краткие итоги

Технология разработки программного обеспечения представляет собой комплекс организационных мер, операций и приемов, направленных на разработку программных продуктов высокого качества в рамках отведенного бюджета и в срок. Разработка ПО базируется на моделях жизненного цикла , которые характеризуют период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации. Классической моделью ЖЦ является каскадная или водопадная модели. В итерационной спиральной модели разработка ПО осуществляется по спирали, предполагая реализацию определенного функционала программной системы на каждом витке спирали. В инкрементной итерационной модели жизненного цикла ПО разработка реализуется несколькими итерациями с постепенным наращиванием функциональности системы. Модель CMMI характеризует уровни зрелости процесса разработки ПО и представляет описание идеального процесса разработки ПО . Гибкие методологии ориентированы на создание качественного программного продукта в кратчайшие сроки с минимумом сопроводительной документации. Методология управления жизненным циклом приложений определяет непрерывный процесс по управлению, развитию и обслуживанию программных продуктов. ИТ-решения в области ALM предлагаются различными поставщиками программных продуктов.

Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.





Одна из самых старых, подразумевает последовательное прохождение стадий, каждая из которых должна завершиться полностью до начала следующей. В модели Waterfall легко управлять проектом. Благодаря её жесткости, разработка проходит быстро, стоимость и срок заранее определены. Но это палка о двух концах. Каскадная модель будет давать отличный результат только в проектах с четко и заранее определенными требованиями и способами их реализации. Нет возможности сделать шаг назад, тестирование начинается только после того, как разработка завершена или почти завершена. Продукты, разработанные по данной модели без обоснованного ее выбора, могут иметь недочеты (список требований нельзя скорректировать в любой момент), о которых становится известно лишь в конце из-за строгой последовательности действий. Стоимость внесения изменений высока, так как для ее инициализации приходится ждать завершения всего проекта. Тем не менее, фиксированная стоимость часто перевешивает минусы подхода. Исправление осознанных в процессе создания недостатков возможно, и, по нашему опыту, требует от одного до трех дополнительных соглашений к контракту с небольшим ТЗ.

Когда использовать каскадную методологию?

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


Пример нашей работы на основе V-методологии — мобильное приложение для европейского сотового оператора, который экономит расходы на роуминг во время путешествий. Проект выполняется по четкому ТЗ, но в него включен значительный этап тестирования: удобства интерфейса, функционального, нагрузочного и в том числе интеграционного, которое должно подтверждать, что несколько компонентов от различных производителей вместе работают стабильно, невозможна кража денег и кредитов.

Когда использовать V-модель?

  • Если требуется тщательное тестирование продукта, то V-модель оправдает заложенную в себя идею: validation and verification.
  • Для малых и средних проектов, где требования четко определены и фиксированы.
  • В условиях доступности инженеров необходимой квалификации, особенно тестировщиков.


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

Как пример опишем cуть одного инкремента. Сеть электронных библиотек Vivaldi пришла на смену DefView. DefView подключалась к одному серверу документов, а теперь может подключаться ко многим. На площадку учреждения, желающего транслировать свой контент определенной аудитории, устанавливается сервер хранения, который напрямую обращается к документам и преобразует их в нужный формат. Появился корневой элемент архитектуры — центральный сервер Vivaldi, выступающий в роли единой поисковой системы по всем серверам хранения, установленным в различных учреждениях.

Когда использовать инкрементную модель?

  • Когда основные требования к системе четко определены и понятны. В то же время некоторые детали могут дорабатываться с течением времени.
  • Требуется ранний вывод продукта на рынок.
  • Есть несколько рисковых фич или целей.

RAD-модель — разновидность инкрементной модели. В RAD-модели компоненты или функции разрабатываются несколькими высококвалифицированными командами параллельно, будто несколько мини-проектов. Временные рамки одного цикла жестко ограничены. Созданные модули затем интегрируются в один рабочий прототип. Синергия позволяет очень быстро предоставить клиенту для обозрения что-то рабочее с целью получения обратной связи и внесения изменений.


Модель быстрой разработки приложений включает следующие фазы:

  • Бизнес-моделирование: определение списка информационных потоков между различными подразделениями.
  • Моделирование данных: информация, собранная на предыдущем этапе, используется для определения объектов и иных сущностей, необходимых для циркуляции информации.
  • Моделирование процесса: информационные потоки связывают объекты для достижения целей разработки.
  • Сборка приложения: используются средства автоматической сборки для преобразования моделей системы автоматического проектирования в код.
  • Тестирование: тестируются новые компоненты и интерфейсы.

Может использоваться только при наличии высококвалифицированных и узкоспециализированных архитекторов. Бюджет проекта большой, чтобы оплатить этих специалистов вместе со стоимостью готовых инструментов автоматизированной сборки. RAD-модель может быть выбрана при уверенном знании целевого бизнеса и необходимости срочного производства системы в течение 2-3 месяцев.


  • отчёт о проделанной работе с момента последнего Scrum’a;
  • список задач, которые сотрудник должен выполнить до следующего собрания;
  • затруднения, возникшие в ходе работы.

Когда использовать Agile?

  • Когда потребности пользователей постоянно меняются в динамическом бизнесе.
  • Изменения на Agile реализуются за меньшую цену из-за частых инкрементов.
  • В отличие от модели водопада, в гибкой модели для старта проекта достаточно лишь небольшого планирования.

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


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

Когда оптимально использовать итеративную модель?

  • Требования к конечной системе заранее четко определены и понятны.
  • Проект большой или очень большой.
  • Основная задача должна быть определена, но детали реализации могут эволюционировать с течением времени.


Спиральная модель предполагает 4 этапа для каждого витка:

  1. планирование;
  2. анализ рисков;
  3. конструирование;
  4. оценка результата и при удовлетворительном качестве переход к новому витку.

Подытожим


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

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

Технология разработки программного обеспечения — это набор методик формирования программного приложения.

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

Жизненный цикл программы

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

Приобретение программного продукта. Этот процесс является действиями заказчика проектирования программного продукта, и состоит в свою очередь из:

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

Поставка программного продукта. Состоит из мероприятий, осуществляемых исполнителем по поставке программного продукта.

Эксплуатация программного продукта. После окончания установки программы, начинается её эксплуатация фирмой, которая её заказывала, и её сотрудниками.

Сопровождение программного продукта. Исполнитель, как правило, выполняет поддержку заказчика программы и, если возникают какие-либо проблемы с использованием программы, а тем более ошибки, то исполнитель их устраняет.

Эксплуатация и сопровождение программы являются параллельными процессами.

Вспомогательные процессы

Технология проектирования программного продукта в границах его жизненного цикла имеет в своём составе несколько вспомогательных процессов. Это следующие процессы:

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

Управление конфигурацией. Этот процесс состоит из работ по коррекции наборов проектируемых элементов программы и версий программного продукта.

Обеспечение качественных показателей. Этот процесс служит для того, чтобы проектируемая программа отвечала всем требованиям, предъявляемым к ней, а также выдерживал стандарты компаний заказчика и исполнителя.

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

Аттестация. Целью этого процесса является подтверждение выработанных значений эталонным. Это означает, что погрешность выходных данных должна удовлетворять заложенным требованиям и необходимым стандартам.

Совместная оценка. Этот процесс требуется для выполнения проверок уровня персонала и проектируемой программы. Осуществляется совместно исполнителем и заказчиком в течение всего проекта.

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

Разрешение проблемных ситуаций. На этом процессе устраняются недочёты, которые были выявлены при процессах контроля и оценки.

Готовые работы на аналогичную тему

Организационные процессы жизненного цикла программы

Есть некоторый комплекс мер, которые направлены на улучшение организации и качественных показателей проектирования программного продукта. Их называют процессами организации жизненного цикла, и они состоят из;

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

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

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

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

Модель жизненного цикла

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

Каскадная модель жизненного цикла. Автор24 — интернет-биржа студенческих работ

Рисунок 1. Каскадная модель жизненного цикла. Автор24 — интернет-биржа студенческих работ

Читайте также: