Bazy w dresie #2.3 | Model ewolucyjny
📂 MySQL
Co to model ewolucyjny
Model ewolucyjny (ang. evolutionary model) to podejście do tworzenia oprogramowania, w tym baz danych, które zakłada stopniowy, iteracyjny rozwój projektu. Zamiast realizować cały system od początku do końca w jednej sekwencji, jak w modelu kaskadowym, system buduje się etapami — każda wersja jest rozwijana, testowana i ulepszana na podstawie opinii użytkowników oraz nowych wymagań.
W kontekście baz danych oznacza to, że projekt zaczyna się od prostego modelu danych, który z czasem jest rozszerzany i modyfikowany. Struktura tabel, relacje i zależności mogą być dostosowywane w miarę, jak rośnie zrozumienie potrzeb użytkowników. Model ewolucyjny pozwala szybciej reagować na zmiany i lepiej dopasować bazę danych do rzeczywistych zastosowań, choć wymaga częstszej refaktoryzacji i kontroli spójności danych.
Jak wygląda

Tak wygląda
- Wersji pośrednich będzie tyle, ile będzie trzeba zmieniać w drugim etapie (na życzenie klienta)
- Klient jest angażowany w prace. Jeśli wersja pośrednia będzie dla klienta wystarczająco dobra, to staje się ona wersją końcową
Zalety

✅✅✅
- Dobry dla małych systemów/projektów oraz szybki start projektu - Z powodu zazwyczaj ograniczonych wymagań oraz elementów w czasie tworzenia tej bazy, nadaje się on idealnie do małych projektów
- Niski koszt błędów - Zrobisz błąd? Szybko znajdziesz i rozwiązasz... a to mniej zmarnowanego czasu
- Tolerancja dla słabo zediniowanych wymagań - nie trzeba mocno szczegółowo opisywać co musi mieć dana baza danych
Wady

❌❌❌
- Trudności z harmonogramem - raz projekt będzie trwał 2 dni, a raz 3 miesiące. Głównie z powodu, że wersi podocznych może być legion, jak klientowi się dana baza nie spodoba i doda/usunie kolejne wymagania
- Trudności z określeniem poziomu zaawansowania projektu - znów wina leży po werjsach podobnych i od widzimi się klienta
- System może być często w złej strukturze - zazwyczaj będzie, dlatego się on idealnie nadale dla małych projektów, gdzie struktura nie gra roli