# Vízesés modell
- hagyományos szoftverfejlesztési modell
- lineáris és szekvenciális megközelítés
- egyszerű és idealisztikus megközelítés
- olyan projektek esetében használható jól, ahol a követelmények jól meghatározottak és a célok világosak, ezek általában olyan hosszútávú projektek, ahol kicsi a hibázás lehetősége
## Fázisai
```mermaid
graph TD
Követelmények --> Tervezés --> Fejlesztés --> Tesztelés --> Telepítés --> Karbantartás
```
### Követelmények meghatározása / Specifikáció
- a megrendelő igényeinek pontos megértése és dokumentálása
- a szoftverre vonatkozó követelmények összegyűjtése és elemzése
- az elemzés célja a hiányosságok és az ellentmondások feltárása
- a kielemzett követelményeket egy dokumentumban (szoftver követelmény specifikációban) rögzítjük
### Tervezés
- az összegyűjtött követelmények átalakítása számítógépes programozási nyelvvel kódolható formátumúra
- magas- és alacsony szintű tervezést is magában foglal
- a magas szintű terv megmutatja, hogyan néz ki a rendszer "madártávlatból", rávilágít melyek a kulcskomponensek, és ezek hogyan kommunikálnak egymással
- az alacsony szintű terv a részletekre fókuszál, minden komponenst lebont kisebb egységekre; megmondja, hogy az egyes részek hogyan működnek
### Fejlesztés
- az elkészült tervek alapján tényleges kódírás egy alkalmas programozási nyelven
### Tesztelés
- annak megállapítása, hogy a szoftver a specifikációnak megfelelően működik
### Telepítés
- az elkészült szoftver használatra kész
- a felhasználók támogatása a szoftver használatában
### Karbantartás
- az egyik legfontosabb fázis a szoftver életében
- hibák javítása, szoftver kiegészítése további funkciókkal
## Tulajdonságai
- szekvenciális megközelítés
- jól dokumentált
- minőség orientált
- alapos tervezést igényel
## Jelentősége
- átláthatóság és egyszerűség
- jól definiált fázisok
- dokumentáció
- a követelmények stabilitása
- az erőforrások optimalizálása
- kis projekteknél is alkalmazható
# Agilis módszertan
```mermaid
flowchart TD
A(Tervkészítés) --> B(Követelmények elemzése) --> C(Tervezés) --> D(Fejlesztés) --> E(Tesztelés) --> F(Telepítés) --> A
```
# Források
- https://www.geeksforgeeks.org/software-engineering/waterfall-model/ (utolsó hozzáférés dátuma: 2025. 09. 03.)
- https://www.geeksforgeeks.org/software-testing/what-is-agile-methodology/ (utolsó hozzáférés dátuma: 2025. 09. 03.)