Tvorba software

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Přidán požadavek na ověřitelnost bodů zadání.)
(Fáze projektu: Doplněno více o nasazení a údržbě.)
 
(Nejsou zobrazeny 4 mezilehlé verze od 1 uživatele.)
Řádka 49: Řádka 49:
 
* Jaké výstupy budeme po systému požadovat?
 
* Jaké výstupy budeme po systému požadovat?
 
* S jakými dalšími systémy má náš systém spolupracovat?
 
* S jakými dalšími systémy má náš systém spolupracovat?
 +
* Jaká legislativa se týká naší oblasti a jaká zákonná omezení proto musíme zohlednit?
 
; Testujeme:
 
; Testujeme:
 
* Soulad se slovním zadáním.
 
* Soulad se slovním zadáním.
Řádka 88: Řádka 89:
  
 
=== Nasazení ===
 
=== Nasazení ===
* Instalujeme u zákazníka.
+
* Instalujeme u zákazníka (deployment).
 
* Zaškolíme obsluhu.
 
* Zaškolíme obsluhu.
 +
* Sběr zpětné vazby.
  
 
=== Údržba ===
 
=== Údržba ===
*aktualizace
+
* Aktualizace, záplaty, opravy.
*úpravy
+
* Úpravy v důsledku změn požadavků či legislativy.
 +
* Migrace dat mezi verzemi.
  
 
=== Vyřazení z provozu ===
 
=== Vyřazení z provozu ===
 
* Vytvořený systém je vyřazen z provozu a dále se již nepoužívá.
 
* Vytvořený systém je vyřazen z provozu a dále se již nepoužívá.
  
 +
== Testování ==
 +
* Testování probíhá ve všech fázích počínaje analýzou a poté při každé úpravě.
 +
* V počátečních fázích (analýza, návrh) testujeme soulad jednotlivých částí dokumentace a návaznosti mezi jednotlivými fázemi.
 +
* Ve fázích implementace a údržby už probíhá klasické testování kódu (black-box testy, uživatelské testování,...), ale i zde zároveň testujeme soulad s návrhovou dokumentací a požadavky analýzy, případně aktualizujeme dokumenty vzniklé v předchozích fázích, pokud se mezitím požadavky upravily.
 +
* Testování proto neuvádíme jako samostatnou fázi. Jedná se o souvislý proces, který se prolíná všemi fázemi.
  
  
Řádka 107: Řádka 115:
 
* Každý se může svými vlastnostmi více hodit do některých rolí a pro některé může mít předpokladů méně.
 
* Každý se může svými vlastnostmi více hodit do některých rolí a pro některé může mít předpokladů méně.
  
=== Informatika jako věda ===
 
 
; Informatik
 
; Informatik
 
*vědec
 
*vědec
Řádka 117: Řádka 124:
 
** Aplikovaný výzkum: aplikuje nejnovější vědecké poznatky na praktické úlohy s využitím v průmyslu a firmách.
 
** Aplikovaný výzkum: aplikuje nejnovější vědecké poznatky na praktické úlohy s využitím v průmyslu a firmách.
  
=== Programování a věci úzce související ===
+
; Softwarový inženýr
;Softwarový inženýr (vývojář) ~ analytik
+
* Odborník zaměřený na tvorbu rozsáhlých aplikací.
* Provádí analýzu úlohy.
+
* Zná doporučení pro práci v týmu, účel a smysl jednotlivých fází vývojového cyklu.
* Komunikuje se zákazníkem.
+
* Analyzuje zadání, navrhuje řešení, zná metodiky vývoje software.
* Řídí spolupráci v týmu
+
 
 +
; Analytik
 +
* Musí být odborník v oblasti, ve které má výsledný produkt fungovat. 
 +
*: ''Například při tvorbě účetní aplikace musí rozumět účetnictví.''
 +
* Komunikuje se zákazníkem a specifikuje požadavky.
 +
* Kontroluje správnost produktu v rámci dané cílové domény (oboru).
 +
 
 +
; (Softwarový) architekt
 +
* Navrhuje rozdělení aplikace na mikroslužby, nasazení na servery.
 +
* Volí vhodné technologie: programovací jazyk, frameworky, databázové systémy, konfiguraci serverů, kontejnerizaci, ...
 +
* Navrhuje strukturu API.
 +
* Jedná se o zkušeného vývojáře s praxí.
 +
* V řešení zohledňuje požadavky na: výkon, škálovatelnost (budoucí rozšiřitelnost), bezpečnost, snadnost údržby.
 +
* Komunikuje s vývojáři a kontroluje dodržení architektonických požadavků.
  
 
; Kodér ~ programátor
 
; Kodér ~ programátor
* aplikuje obecné algoritmy na konkrétní úlohu
+
* Aplikuje obecné algoritmy na konkrétní úlohu.
* zapisuje v programovacím jazyce  
+
* Zapisuje algoritmus v programovacím jazyce.
 +
* Tyto úkoly často postupně přebírají AI agenti.
 +
 
 +
; Deployment/DevOps
 +
* Zabývá se nasazením hotového systému na servery.
 +
* Řeší kontejnerizaci, konfiguraci serverů.
 +
* Automatizaci nasazení (CI/CD).
  
=== Další role v  týmu ===
 
 
; Tester
 
; Tester
 
* Po '''celou''' dobu projektu ověřuje správnost vytvořených materiálů.
 
* Po '''celou''' dobu projektu ověřuje správnost vytvořených materiálů.
 +
* Podle povahy cílové aplikace se zaměřuje na různé oblasti:
 +
** výkonové testy u aplikací kritických na výkon
 +
** penetrační testování u aplikací kritických na bezpečnost.
 +
** ...
 +
* Připravuje testy.
 +
* Zabývá se automatizací testování.
  
 
; Projektový manažer
 
; Projektový manažer
Řádka 136: Řádka 167:
  
 
; UX specialista
 
; UX specialista
* Navrhuje uživatelské rozhraní projektu tak, aby bylo uživatelsky přívětivé.
+
* Navrhuje uživatelské rozhraní aplikace/produktu tak, aby bylo uživatelsky přívětivé.
  
 
; Grafik
 
; Grafik
Řádka 143: Řádka 174:
 
; Kreativec
 
; Kreativec
 
* Přináší nové pohledy na věc. Jeho úkolem primárně není řešit technické provedení.
 
* Přináší nové pohledy na věc. Jeho úkolem primárně není řešit technické provedení.
 
  
 
== Proč začínat na papíře/obrázku? ==
 
== Proč začínat na papíře/obrázku? ==

Aktuální verze z 23. 7. 2026, 14:56



Obsah

Fáze projektu

Formulace slovního zadání

Analýza

Charakteristika
Řešíme
Testujeme

V rámci analýzy řešíme věci a akce z reálného světa, tomu odpovídá i terminologie. Minimálně používáme specializované pojmy ze světa IT, výstupům by měl rozumět i zákazník.

Zatím se NEbavíme o:

  • softwarovém či hardwarovém způsobu řešení,
  • algoritmech,
  • způsobu ukládání dat,...

Návrh

Implementace

Nasazení

Údržba

Vyřazení z provozu

Testování


Profese

Informatik
Softwarový inženýr
Analytik
(Softwarový) architekt
Kodér ~ programátor
Deployment/DevOps
Tester
Projektový manažer
UX specialista
Grafik
Kreativec

Proč začínat na papíře/obrázku?


Pojmy

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje