pátek 8. října 2004

Jak správně bastlit software

Tento spot nemusíte brát vážně, ale berte na vědomí, že vychází z mé frustrace nad vývojem software v jedné..., ale to je jedno.

Analýza

První a základní předpoklad je nemít v ruce žádnou a nebo chabou analýzu problému. Analýzu musíme zásadně posuzovat podle počtu stránek a počtu cizích slov nebo odstavců či kapitol, kterým nerozumíme. Úplně nejlepší je vytvořit analýzu bez klienta neboť mi sami nejlépe víme co si klient představuje. Takto připravenou analýzu je potřeba během vývojového procesu nejméně dvakrát až třikrát pozměnit.

Datový model

Rozhodně nenavrhovat domain model a nemodelovat vztah jednotlivých entit, začít se přece musí od databáze. Takže podle první verze analýzy, databázové tabulky a sloupečky můžeme přece dropnout, takzvaně "nastřelíme". Slovo nastřelíme společně se slovem překlopíme si zařaďte do vývojářského slovníku, budete jej často slyšet. Takto připravený datový model je potřeba s každou změnou analýzy upravit, chtěl jsem říci nastřelit.

Domain model

Domain model je třeba přišít na datový model tj. vytvořte domain objekty přesně podle datového modelu. Pokud datový model neobsahuje velké množství složených klíčů je to špatně. Surrogate klíčů se vyvarujte neb hlásat tuto viru rovná se kacířství. Vytvořte pro všechny domain objekty testy, jejichž úprava ruku v ruce se změnami datového modelu bude milým zpestřením vašich desetihodinových šicht.

Protože jdete ruku v ruce s moderními technologiemi použijte nějaký, pro vás neokoukaný, persistence framework. Nebojte, všemi zaludnotsmi mapování domain modelu na databázový, si dvakrát až třikrát projdete společně se změnou analýzy.

Service a DAO vrstva

Připravte rozhraní service a DAO vrstvy podle nejlepšího svědomí a vědomí, jeho změnu společně s implementací si ještě několikrát vyzkoušíte. Nastřelte si pro tyto vrstvy testovací objekty.

Co dodat závěrem?Vítejte v éře bastlení software, kde jakákoliv koncepce postrádá smysl. Má cenu se snažit o progresivní metody vývoje softwaru? Ne nemá, jediné co by nepostrádalo smysl, je zvážení další participace na neoddalitelného harakiri chlebodárného software house.