Softwarové inženýrství I
| 
 Note 
 | 
 Životní cyklus SW a související aktivity. Specifikace požadavků a jejich typy. Strukturované vs. objektově orientované metody analýzy a návrhu. PB007  | 
Životní cyklus software
- 
Specifikace — hromada požadavků a omezení
 - 
Analýza a návrh — identifikace procesů, objektů, vztahů, (prototypování), …
 - 
Implementace — programování naspecifikované věci, slepá víra ve finálnost specifikace
 - 
Verifikace a validace — ověření, že to nemá chyby, a ověření, že je to to, co zákazník chtěl
 - 
Údržba — oprava chyb, tech support pro uživatele, přidávání fíčur
 
Fáze života software
| 
 Note 
 | 
To samé v méně bodech. | 
- 
Iniciální vývoj
 - 
Evoluce
 - 
Údržba
 - 
Phase-out
 
Specifikace požadavků
Popis služeb, kterými má software nabízet, a omezení na tyto služby uvalené.
- Funkční požadavek
 - 
Jak by se měl systém v konkrétní situaci chovat.
,,Tadyhle bude obrázek!''
 - Nefunkční požadavek
 - 
Požadavek na kvalitu nebo splnění omezení. Obvykle se pojí s konkrétním, či méně konkrétním číslem.
,,Musí to zvládnout milión requestů za minutu!''
 - Ideální specifikace
 - 
Specifikace, která je konzistentní, kompletní, přesná, verifikovatelná, reálná.
NoteTaková specifikace neexistuje.  
- 
Běžný jazyk
 - 
Unified Modeling Language (UML)
 - 
Automaty
 - 
…
 
Strukturovaná analýza
- 
Dívá se na systém jako na množiny funkcí a dat.
 - 
Rozděluje systém na malé, přesně definované aktivity a určí jejich pořadí.
 - 
Využívá hierarchické grafické techniky.
 
- 
DeMarco: Structured Analysis and System Specification (SASS)
 - 
Gane Sorson: Logical Modelling (LM) (kontext, ERD, DFD)
 - 
Yourdon: Modern Structured Analysis (YMSA)
 - 
Structured System Analysis and Design Methods (SSADM)
 
Objektově orientovaná analýza
- 
Systém je množina interagujících OOP objektů.
 
- 
Jim Rumbaugh: Object Modeling Technique (OMT)
 - 
Kruechten et al: Rational Unified Process (RUP)
 - 
Booch-Jacobson-Rumbaugh: Unified Process (UP)
 
Unified process:
- 
Požadavky
- 
use case diagram — aktéři, hranice systému, požadavky
 
 - 
 - 
Analýza
- 
diagram tříd — vztahy, dědičnost, polymorfismus
 - 
diagram přehledu interakcí, diagram aktivit — realizace případů užití
 
 - 
 - 
Design
- 
diagram tříd, diagram komponent — třídy, rozhraní a komponenty
 - 
diagram přehledu interakcí, stavový diagram — detailní realizace případů užití
 
 - 
 
Přehled diagramů podle analýzy
| Modeluje | Strukturovaná analýza | Objektově orientovaná | 
|---|---|---|
Hranice systému  | 
kontextový diagram  | 
diagram případů užití  | 
Funkcionalitu  | 
data flow diagram  | 
diagramy aktivit a interakcí  | 
Data  | 
ERD  | 
diagram tříd a objektů  | 
Control flow  | 
stavový diagram  | 
stavový diagram  |