Tvorba software
Z MiS
Obsah |
Softwarové inženýrství
- Vědecká disciplína, zabývá se metodikou a postupy efektivní práce a spolupráce v týmu při tvorbě SW.
Tvorba SW zahrnuje postupy
- Analýza
- Profese: analytik
- Vstup: slovní popis zadání; myšlenka, co je třeba udělat
- Výsledek: problém — formálně popsaný (matematicky přesný) popis zadání.
Slovní popis zadání formalizujeme tak, abychom získali problém. Vstupem je slovní zadání, výstupem je matematicky přesný popis problému.
- Algoritmizace
- Profese: typicky analytik + kodér (může být dále rozděleno)
- Vstup: Popis problému
- Výsledek: algoritmus (obecný postup řešení)
Návrh/nalezení algoritmu pro daný problém.
- Programování/kódování
- Profese: Kodér, tester
- Vstup: Popis algoritmu.
- Výsledek: Zdrojový kód.
Zápis algoritmu v konkrétním programovacím jazyce.
Viz také: Algoritmus.
Profese
- Informatik
- vědec
- zabývá se algoritmy (například: řadícími algoritmy,...)
- převody algoritmů, vztahy mezi nimi
- složitost algoritmů,...
- Softwarový inženýr (vývojář) ~ analytik
- Provádí analýzu úlohy.
- Komunikuje se zákazníkem.
- Řídí spolupráci v týmu
- Kodér ~ programátor
- aplikuje obecné algoritmy na konkrétní úlohu
- zapisuje v programovacím jazyce
- Tester
- Po celou dobu projektu ověřuje správnost vytvořených materiálů.
Fáze projektu
Formulace zadání
- vyřešte, které úlohy máte řešit
Analýza
- Charakteristika:
- Vědní disciplína: Softwarové inženýrství
- Profese: analytik + tester
- Výsledek: zadání
- Jaká data potřebujeme?
- Co s nimi provádíme?
- řešíme věci a akce z reálného světa
- tomu odpovídá i terminologie
Návrh
- Charakteristika:
- Vědní disciplína: Softwarové inženýrství + Informatika
- Profese:
- typicky analytik + kodér + tester
- může být dále rozděleno.
- Výsledek: Návrh struktury tříd + algoritmus
- Řešíme třídy a metody nutné pro běh programu
- okno
- tlačítka
- posluchači
- Řešíme algoritmus, který budeme potřebovat.
- Podle typu úlohy převládá jedno nebo druhé svou složitostí.
Implementace
- Charakteristika:
- Vědní disciplína: Programování
- Profese: kodér + tester
- Výsledek: Zdrojový kód
- Píšeme kód, který realizuje algoritmus.
Nasazení
- Instalujeme u zákazníka.
- Zaškolíme obsluhu.
Údržba
- aktualizace
- úpravy
Vyřazení z provozu
Proč začínat na papíře/obrázku?
- Složité věci řešíme první!
- Vymyslet strukturu tříd je složité.
- Psát spoustu klíčových slov je triviální a zdržuje.
- V počátcích zdržuje i klikání v ArgoUML či jiném modeláři.
Pojmy
- CASE
- Computer-Aided Software Engineering
- Programy pro podporu návrhu software
- metodika
- jaké pracovníky využít
- jaké činnosti vykonat
- jaké nástroje použít
- jaké produkty vyrobit