Wytwarzanie oprogramowania (ang. software development) / Proces wytwórczy oprogramowania (ang. software development proces) – proces mający na celu utworzenie oprogramowania[1][2]. Zestawu działań z dziedziny informatyki, które są poświęcone procesowi powstawania oprogramowania[3]. Część inżynierii oprogramowania[2], która dodatkowo obejmuje zarządzanie projektem[4]. Zasadniczą częścią procesu jest programowanie i utrzymanie kodu źródłowego, ale obejmuje on także prace koncepcyjne, ocenę wykonalności, analizę wymagań biznesowych, projektowanie oprogramowania, testowanie oraz publikację lub wdrażanie[3][4].

Oprogramowanie wytwarzane jest od stosunkowo niedawna, dlatego procesy wytwórcze oprogramowania szybko się zmieniają w czasie, zmienia się też często opinia na temat jakości i efektywności poszczególnych procesów. Istnieje wiele szkół mówiących o tym, jak należy wytwarzać oprogramowanie – podają one najczęściej wariacje dwóch głównych – i skrajnie różnych w stosunku do siebie procesów:

Metodyki tradycyjne:

  • Rational Unified Process (ang. Rational Unified Process) – proces wytwarzania oprogramowania opracowany przez firmę Rational Software(inne języki) (która jest również twórcą języka UML). Proces dostosowany jest do prowadzenia większych przedsięwzięć programistycznych.
  • Open Unified Process – metodyka wytwarzania oparta na metodyce RUP. Szablon do tworzenia procesu zaimplementowany jest w produkcje Eclipse Process Framework rozwijanym przez Eclipse Foundation.
  • OpenUP/basic – metodyka Open Unified Process przystosowana do małych przedsięwzięć programistycznych. Zawiera zarówno elementy RUP, jak również elementy z metodyk zwinnych Agile.

Metodyki nurtu zwinnego:

  • XP (ang. Extreme Programming) – proces lżejszy od metodyki RUP, obarczony jednak większym ryzykiem – jest znacznie mniej sformalizowany.
  • Scrum – jest bardziej sformalizowany od XP, ale wciąż przyjemny i przyjazny dla programistów. Oprogramowanie jest tworzone w wyszczególnionych odstępach czasowych, tzw. sprintach, timebox'ach, w czasie których zespół ma za zadanie wykonać z góry określone wymogami zadania. Nad zespołem czuwa Scrum Master, który jest raczej pomocnikiem niż liderem zespołu.

Przypisy

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.