ZSI / Pochopenie zadania

Pochopenie zadania

Základy softvérového inžinierstva

Sergej Chodarev (sergejx.net)

Účel softvéru

Našim produktom nie je kód,
ale riešenie

Pochopenie problému

Zákazník nám všetko povie?

No One Knows Exactly What They Want

They might know a general direction, but they won’t know the twists and turns.

The Pragmatic Programmer, tip #75

Programmers Help People Understand What They Want

Software development is an act of co-creation between users and programmers.

The Pragmatic Programmer, tip #76

Analýza

Pýtajte sa prečo?

Príklad

Systém pre organizáciu diplomoviek

Vytvoriť systém pre priebežné odovzdávanie diplomoviek cez GitLab.

Systém pre organizáciu diplomoviek

Chceme motivovať študentov k priebežnému vypracovávaniu záverečnej práce počas celého semestra.

Študenti budú menej odkladať prácu a dostanú skôr spätnú väzbu od školiteľa. Školiteľ bude vedieť jednoduchšie sledovať prácu študentov.

Študenti by mali používať štandardné nástroje používané v ich odbore, preto využijeme GitLab. Pre nahrávanie nových verzií teda využijeme Git a pre plánovanie odovzdaní – GitLab Issues.

Typické chyby

Správne

  1. Pochopenie potrieb a cieľov používateľov
  2. Návrh funkcionality
  3. Spôsob implementácie

Opakovať!

Requirements Are Learned in a Feedback Loop

Understanding requirements requires exploration and feedback, so the consequences of decisions can be used to refine the initial ideas.

The Pragmatic Programmer, tip #77

Analýza domény problému

doména -ny domén ž. ⟨fr.⟩ 1. ▶ hlavná, rozhodujúca oblasť pôsobenia

Work with a User to Think Like a User

It’s the best way to gain insight into how the system will really be used.

The Pragmatic Programmer, tip #78

Use a Project Glossary

Create and maintain a single source of all the specific terms and vocabulary for a project.

The Pragmatic Programmer, tip #80

Slovník pojmov

Pochopenie zadania