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:

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, timeboksach, 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

edytuj
  1. Ken Schwaber, Jeff Sutherland, Tworzenie oprogramowania w 30 dni. Programuj zwinnie i szybko!, Helion, 11 października 2013, s. 18,24,29,56, ISBN 978-83-246-7533-3 [dostęp 2024-10-03] (pol.).
  2. a b Bogdan Wit, Technologie informacyjno-komunikacyjne – założenia oprogramowania. Zintegrowany system zarządzania unieszkodliwianiem azbestu w ujęciu systemowym: Technologie informacyjno-komunikacyjne, Bogdan Wit, 2013, s. 159, ISBN 978-83-7285-736-1 [dostęp 2024-10-03] (pol.).
  3. a b What Is Software Development? | IBM [online], www.ibm.com, 14 lipca 2021 [dostęp 2024-10-03] (ang.).
  4. a b John F. Dooley, Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring, wyd. 2nd ed. 2017, Berkeley, CA: Apress : Imprint: Apress, 2017, s. 1, ISBN 978-1-4842-3153-1 [dostęp 2024-10-03].

📚 Artikel Terkait di Wikipedia

Framework

Craig Larman: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. Prentice Hall, 2001. ISBN 0-13-092569-1

Rosja

Shugart: Semi-Presidential Systems: Dual Executive and Mixed Authority Patterns. 2005. s. 21. [dostęp 2012-11-02]. (ang.). Население России: численность

Christopher Alexander

Murrayem Silversteinem (1968) Houses Generated by Patterns (1969) The Grass Roots Housing Process (1973) The Center for Environmental Structure Series

Ofiary II wojny światowej

consequences of regular and irregular changes. in Demographic Trends and Patterns in the Soviet Union Before 1991. Routledge. 1993; ISBN 0-415-10194-8. Polska

Sztuczna inteligencja

networks learn? A mathematical formula explains how they detect relevant patterns [online], phys.org, 12 marca 2024 [dostęp 2024-04-11] . Deep Learning [online]

Homoseksualność

Turner, C. F., Klassen, A. D., & Gagnon, J.H. (1989). Prevalence and patterns of same-gender sexual contact among men. Science, 243, 338–348. Johnson

Józef Pajestka

kapitałowe, zatrudnienie i rozwój ekonomiczny) i „Studies on Development Patterns of Developing Countries” (Badania nad modelami rozwoju krajów rozwijających

Data Access Object

programowania oraz platform (np. Java EE, Ruby on Rails). W katalogu Core J2EE Patterns DAO jest opisywany jako wzorzec warstwy integracji (integration tier):