Ez a lista a szoftverfejlesztésben használt megközelítéseket, elveket és technikákat sorolja fel. Tartalmaz programozási paradigmákat, szoftverfejlesztési módszertanokat, szoftverfejlesztési folyamatokat és egyéb gyakorlatokat.

Szoftverfejlesztési filozófia Nagyléptékű programozási stílusok: Viselkedésvezérelt fejlesztés Designvezérelt fejlesztés (D3) Tartományvezérelt tervezés Tervezett biztonság Tesztvezérelt fejlesztés Elfogadási teszt által vezérelt fejlesztés Folyamatos teszt által vezérelt fejlesztés Példa általi specifikáció

Specifikációval kapcsolatos paradigmák: Iteratív és fokozatos fejlesztés Vízesésmodell Formális módszerek

Átfogó rendszerek: Agilis szoftverfejlesztés Lean szoftverfejlesztés Lightweight módszertanok – ezek vagy kevés szabályból állnak, vagy csak olyanokból, amiket könnyű betartani Adaptív szoftverfejlesztés Extrém programozás Funkcióközpontú fejlesztés (FDD) ICONIX Kanban Cowboykódolás – a rendszer ellentéte: a cowboykódolásban a programozók autonómiát élveznek

Szabályok: KISS Minimalizmus Nyílt/zárt elv Release early, release often (Korai és gyakori kiadás) Rule of least power There's more than one way to do it (Több mint egy módon lehet csinálni) Unix filozófia Worse is better (A rosszabb jobb) YAGNI (You aren't gonna need it – Nem fog kelleni) Ne ismételd önmagad (DRY) SOLID Single source of truth (SSOT, az igazság egyetlen forrása) Single version of the truth (SVOT, az igazság egyetlen változata)

Egyéb: A katedrális és a bazár – Eric S. Raymond esszéje a szoftverfejlesztés módszereiről

Programozási paradigmák Megbízóorientált programozás Aspektusorientált programozás (AOP) Komponensalapú fejlesztés Funkcionális programozás (FP) Moduláris programozás Objektumorientált programozás (OOP) Reaktív programozás

Szoftverfejlesztési módszertan Agilis egységes folyamat (AUP) Építőjellegű design módszertan (CDM) Dinamikus rendszerfejlesztés (DSDM) Extrém programozás (XP) Iteratív és fokozatos fejlesztés Kanban Lean szoftverfejlesztés Nyílt egységes fejlesztés (OpenUP) Páros programozás Gyors alkalmazásfejlesztés (RAD) Egységesített racionális fejlesztés (RUP) Scrum SSADM (Structured Systems Analysis and Design Method) Egységesített szoftverfejlesztési folyamat (UP)

Szoftverfejlesztés folyamata Aktívadmin-vezérelt fejlesztés (AADD) Viselkedésvezérelt fejlesztés (BDD) Bugvezérelt fejlesztés (BgDD) Konfigurációvezérelt fejlesztés (CDD) Designvezérelt fejlesztés (D3) Tartományvezérelt tervezés (DDD) Funkcióközpontú fejlesztés (FDD) Tesztvezérelt fejlesztés (TDD) Felhasználóközéppontú fejlesztés (UCD) Értékvezérelt fejlesztés (VDD)

Lásd még Programtervezési minta Antiminta Programozási paradigma Szoftverfejlesztési módszertanok Szoftverfejlesztési folyamat

Források

Don't Make Me Think (könyv az emberi számítógépes interakcióról – Steve Krug)