Softwarové inženýrství I

Editovat
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

  1. Specifikace — hromada požadavků a omezení

  2. Analýza a návrh — identifikace procesů, objektů, vztahů, (prototypování), …​

  3. Implementace — programování naspecifikované věci, slepá víra ve finálnost specifikace

  4. Verifikace a validace — ověření, že to nemá chyby, a ověření, že je to to, co zákazník chtěl

  5. Ú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.
  1. Iniciální vývoj

  2. Evoluce

  3. Údržba

  4. 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á.

Note
Taková specifikace neexistuje.
Formy specifikace
  • 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.

Metody
  • 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ů.

Metody
  • Jim Rumbaugh: Object Modeling Technique (OMT)

  • Kruechten et al: Rational Unified Process (RUP)

  • Booch-Jacobson-Rumbaugh: Unified Process (UP)

Unified process:

  1. Požadavky

    • use case diagram — aktéři, hranice systému, požadavky

  2. Analýza

    • diagram tříd — vztahy, dědičnost, polymorfismus

    • diagram přehledu interakcí, diagram aktivit — realizace případů užití

  3. 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