Процесс разработки программного обеспечения


В программной инженерии процесс разработки программного обеспечения представляет собой процесс разделения работы по разработке программного обеспечения на более мелкие, параллельные или последовательные шаги или подпроцессы для улучшения дизайна и управления продуктом . Он также известен как жизненный цикл разработки программного обеспечения ( SDLC ). Методология может включать в себя предварительное определение конкретных результатов и артефактов, которые создаются и дополняются проектной группой для разработки или поддержки приложения. [1]

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

«Модель» жизненного цикла иногда считается более общим термином для категории методологий, а «процесс» разработки программного обеспечения — более конкретным термином для обозначения конкретного процесса, выбранного конкретной организацией. [ нужна цитата ] Например, существует много специфических процессов разработки программного обеспечения, которые соответствуют модели спирального жизненного цикла. Поле часто считается подмножеством жизненного цикла разработки систем .

Структура методологии разработки программного обеспечения (также известная как SDM) не появлялась до 1960-х годов. Согласно Эллиотту (2004), жизненный цикл разработки систем (SDLC) можно считать старейшей формализованной методологией построения информационных систем . Основная идея SDLC заключалась в том, чтобы «продолжать разработку информационных систем очень продуманным, структурированным и методичным образом, требуя каждого этапа жизненного цикла — от зарождения идеи до поставки конечной системы — до осуществляться жестко и последовательно» [2] в контексте применяемой системы. Основной целью этой методологии в 1960-х годах была «разработка крупномасштабных функциональных бизнес-систем ».в эпоху крупных бизнес-конгломератов. Действия информационных систем вращались вокруг тяжелой обработки данных и процедур обработки чисел ». [2]

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

Примечательно, что после DSDM в 1994 году все методологии из приведенного выше списка, за исключением RUP, были гибкими методологиями, однако многие организации, особенно правительства, все еще используют предварительные гибкие процессы (часто каскадные или подобные). Программный процесс и качество программного обеспечения тесно взаимосвязаны; на практике наблюдались некоторые неожиданные аспекты и эффекты [3]


Модель быстрой разработки приложений (RAD)
Деятельность процесса разработки программного обеспечения представлена ​​в водопадной модели . Есть несколько других моделей для представления этого процесса.
Спиральная модель (Бем, 1988 г.)
Три основных подхода применяются к основам методологии разработки программного обеспечения.
Жизненный цикл разработки программного обеспечения (SDLC)