16a. Softwarevereisten

2021-04-16
slides.com/jod/pt_16a

Docent: Jo Devriendt

Assistent: Ann Philips

Coördinator: Joost Vennekens

voornaam.achternaam@kuleuven.be

Programmeertechnieken [B-KUL-YI0855]

De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021

Programmeertechnieken [B-KUL-YI0855]

De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021

Programmeerloop

Analyseer probleem

Kies onopgelost deel van probleem

Programmeer simpel algoritme dat deelprobleem oplost

Nog deel probleem onopgelost?

Verbeter code:

  • Sneller
  • Betrouwbaarder
  • Uitbreidbaarder
  • Leesbaarder
  • ...

Evalueer correctheid

Stapsgewijs verfijnen

Voldoet de software aan de vereisten?

Wat zijn de vereisten voor de software?

Programmeertechnieken [B-KUL-YI0855]

De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021

Vereisten

Functionele vereisten: wat moet de software doen?

  • een examenrooster uitrekenen
  • een zelfrijdende auto besturen
  • vrienden en familie met elkaar in contact brengen (een sociaal netwerk)

Programmeertechnieken [B-KUL-YI0855]

De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021

Vereisten

Niet-functionele vereisten: wat moet de software zijn?

  • performantie: snel genoeg om 200 examens in een uur in te plannen
  • betrouwbaarheid: geen bugs bevatten die de auto laten crashen
  • stabiliteit: 99% up-time hebben
  • privacy: geen data van de gebruikers op straat gooien
  • veiligheid: niet makkelijk te hacken
  • uitbreidbaarheid: gedesigned voor toekomstige uitbreidingen
  • ...

Programmeertechnieken [B-KUL-YI0855]

De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021

Programmeerloop

Analyseer probleem

Kies onopgelost deel van probleem

Programmeer simpel algoritme dat deelprobleem oplost

Verbeter code

Evalueer correctheid

Voldoet de software aan de vereisten?

Wat zijn de vereisten voor de software?

Vaak wijzigen vereisten doorheen de tijd.

  • Verificatie: testen of de huidige vereisten voldaan zijn.
  • Validatie: testen of de huidige vereisten de juiste zijn.

Implementeren

Testen

Debuggen

Programmeertechnieken [B-KUL-YI0855]

De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021

Tijdsbesteding

1/3 van de tijd, 90% van de cursus

Programmeertechnieken [B-KUL-YI0855]

De Nayer, IIW, E-ICT, 2Ba + schakel, 2020-2021

Samenvatting

  • Functionele en niet-functionele vereisten voor software
  • Testen zorgt ervoor dat de code gevalideerd en geverifieerd wordt
  • Testen en debuggen nemen elk ongeveer evenveel tijd in beslag als het programmeren van de code zelf