Tvorba software
Z MiS
(Rozdíly mezi verzemi)
(Vytvoření stránky) |
m (→Fáze projektu: Oddělena část „Proč na papíře“, podnadpisy jako kapitoly) |
||
Řádka 34: | Řádka 34: | ||
== Fáze projektu == | == 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 | |
− | Proč začínat na papíře/obrázku? | + | === Vyřazení z provozu === |
+ | |||
+ | |||
+ | == Proč začínat na papíře/obrázku? == | ||
*Složité věci řešíme první! | *Složité věci řešíme první! | ||
*Vymyslet strukturu tříd je složité. | *Vymyslet strukturu tříd je složité. | ||
− | *Psát spoustu klíčových slov je triviální a zdržuje | + | *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 | + | *V počátcích zdržuje i klikání v ArgoUML či jiném modeláři. |
− | + | ||
== Pojmy == | == Pojmy == |
Verze z 5. 9. 2014, 10:31
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.
Programování zahrnuje postupy
- Analýza
- Profese: Analytik
- Výsledek: zadání
- Algoritmizace
- Profese: typicky analytik + kodér (může být dále rozděleno)
- Výsledek: Algoritmus
- Programování / kódování
- Profese: Kodér, tester
- Výsledek: Zdrojový kód
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
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