1. Inleiding
Informatiesystemen zorgen voor nieuwe businessmodellen, innovaties, verhoogde efficiëntie,
communicatie, automatisatie → Big Five: Facebook, google, Apple, Amazon, Windows
Digitalisatie zorgt dat de data die we hebben dat dat leesbaar is voor informatiesystemen, en dat we
daar extra informatie uit kunnen halen.
Risico’s: duur, complex, meerderheid mislukt (door nastreven eigenbelangen), afhankelijkheid van
Informatie systemen
52% van de investeringen hebben betrekking tot IT
Return on IT vs. IT investment paradox: hoge investeringen in It ≠ altijd hogere productiviteit
→ het is niet omdat je investeert in IT, dat je productie of productiviteit automatisch of op magische
wijze zal verbeteren
Het belang van coordinatie: als de klant zelf al niet weet wat hij wilt, zal het project niet juist worden
uitgevoerd
Business/IT alignment: business geeft de richting waar het bedrijf naartoe moet, IT beheert de
technische tools die worden geïmplementeerd om de visie te vervullen → visie ≠ implementatie
2. Basisbegrippen
A. Informatiesystemen
Hardware: apparatuur of machines die programma's kunnen uitvoeren
Hardware overal bv. nanochips in auto's
Moderne IS vereisen soms grote hardware investeringen bv. datacenters (van google) / GPU
(grafische kaart om computaties te doen)
Software: programma's en de algoritmes die ze voorstellen (een programma hoeft geen grafische
weergave te hebben, bv. het prgramma dat je computer opstart of een virus)
Ook data (bv. word, android, …)
Omzetting in machinetaal
Database: collectie data in een computer systeem georganiseerd voor makkelijke opslag, toegang en
beheerd (bv. controle dat er geen dubbels zijn, dat er efficiënt wordt opgeslagen) bv. relationele
databank
Communicatie: verbinden van meerder computers om te communiceren en data uit te wisselen bv.
grootste netwerk: Internet
Mensen
--> deze componenten zijn de informatie technologie en bouwen samen aan het informatie systeem
1
,Hardware + software + databases + communicatie + mensen = informatie technologie
Informatie = data + nut
Informatiesysteem: een set van onderling gerlateerde componenten die informatie verzamelen,
verwerken, opslaan en verspreiden om de besluitvorming in een organisatie te ondersteunen,
gebruik makende van informatietechnologie
Bv. gebruik van tweets om sentimenten van hastaggebruikers over nieuwe producten te ontdekken
Relevantie IS
Informatietechnologie en informatiesystemen zijn dikwijls de belangrijkste tools die ondernemingen
voorhanden hebben om hun operationale en strategische decsion making processen te
ondersteunen en zo efficiënter en effectiever te maken
• Om kosten te besparen
• Maar ook om extra inkomsten te verwerven
Bv. amazonbooks en netflix: ooit begonnen als fysieke winkels en met postpakketjes te versturen
Zowel grote multinationals kleine tot middelgrote bedrijven gebruiken informatiesystem om
informatie te bewaren, verwerken en rapporteren en zo processen te ondersteunen.
• Verandering in verwachtingen van klanten. Mensen verwachten dat It en Is gebruikt worden
door ondernemeingen en overheden om betere, real-time diensten te voorzien
• E.g: 24/7 klantendienst, tracking van pakketjes en treinen, cashless betalen in winkels,
efficiënte winkelbezoeken
B. Informatica
Informatica is de wetenschap van de informatieverwerking (met computers)
Wetenschapellijk onderbouwen van zaken als:
• Het programmeren van computers en ontwerp van programmeertalen
• Opslag van informatie
• Algoritmes voor het oplossen van computationele problemen
• De complexiteit en schaalbaarheid van algoritmes zelf
Programmeren: het maken van een programma, het structureren van instructies zodat een machine
die kan uitvoeren - in een programmeertaal
Het schrijven van een programma
1. Probleem definiëren
2. Ontwerpen van de oplossing → oplossing is dikwijls een algoritme
3. Programmeeren
4. Testen
5. Documenteren
6. Onderhoud
--> in moderen ontwikkelingsprojecten gebeuren deze stappen door elkaar: iteratief, flexibel,
modulair
3. Algoritmes
Een reeks stappen die bepaalt hoe een taak wordt uitgevoerd, hoe tot een oplossing wordt
gekomen:
• Stappen: elementaire handelingen
• Hoe een taak wordt uitgevoerd: hoe een doel wordt bereikt vanuit een beginsituatie
Bv. Netflix, maar ook recepten, partituur
2
,Een algoritme is een geordende reeks ondubbelzinnige, uitvoerbare stappen die een eindig proces
beschrijven
• Geordend: de volgorde van de stappen moet elkaar opvolgen, het moet duidelijk zijn
wanneer die stappen volgen, ≠ 1 lange sequentie
• Ondubbelzinnig: niet interpreteerbaar, voor wiskundig of computer algoritme moet alles
uitvoerbaar zijn door een machine
• Uitvoerbaar: het moet mogelijk zijn
•
• Eindig: er moet tot een oplossing worden gekomen en het algoritme moet stoppen,
stopconditie nodig!
Een Programma stelt een algoritme voor, is een representatie van een algoritme.
Een Proces is de activiteit waarbij een programma/algoritme wordt uitgevoerd.
Een algoritme 'vangt' intelligentie en laat toe deze over te dragen
Een oplossingsmethode als antwoord op een probleem → dit is de essentie van computationeel
denken
Bedrijfsvoering ondersteund door oplossingsmethodes geënt op data geënt op informatiesystemen -
-> dus ook belangrijk binnen een bedrijf, data moet op een gestandaardiseerde manier worden
omgezet in informatie
Algoritme representaties --> implementatie
Gezien abstracte aard van algoritmes moeten we een manier vinden om deze concreet weer te
geven
Algoritme representatie vereis precies gedefinieerde primitieven:
• Bouwstenen waarmee representaties van algoritmes kunnen worden samengesteld
• Precies gedefinieerd:
o Ondubbelzinnige instructies: voldoende nauwkeurig en gedetailleerd
o Vermijden communicatieproblemen
o Doel van definiëren in de wetenschappen
Primitief bestaat uit twee delen:
• Syntax: symbolische representatie
• Semantiek: betekenis
Bv. syntax: lucht - semantiek: gas dat overal rondom aanwezig is dat we inademen om te overleven
Syntax: beelden - semantiek: achterliggende betekenis op basis waarvan wij kunnen weten
hoe te vouwen
Programmeertaal
= Een verzameling primitieven + een verzameling regels om die primitieven op een gestructureerde
manier te programmeren (voor de manier waarop primitieven kunnen worden gecombineerd
(grammatica))
Het uitdrukken van algoritmes op niveau van individuele machine-instructies is inefficiënt. Daarom
gebruikt men typisch 'hogere' primitieven, die elk een meer abstract hulmiddel zijn om instructes te
programmeren → 'higher level' programmeertalen (bv. python) --> verder weg van de machine-
instructies, gemakkelijker te verstaan door mensen
3
, <-> machine code/assembly, weinig abstractie --> 'lower level' programmeertalen --> dichter bij de
machine-instructietaal
Algoritme representatie
Pseudocdes en flowchart
--> meer abstracte manier om programma/algoritme voor te stelllen
--> Vergemakkelijkt begrijpbaarheid/objectiviteit
--> Meest voorkomende manier om algoritmes neer te schrijven
Een programma stelt een algoritme voor, is een representatie van een algoritme (niet-eindigende
stappenreeks)
Een proces is de activiteit waarbij een programma/algoritme word uitgevoerd.
De primitieven van pseudocode en flowcharts
Hulpmiddel om algoritmen informeel en leesbaar voor te stellen
• Tijdens ontwikkeling van algoritme
• Voor communicatie (vb: wetenschappelijke artikels)
Notatiesysteem om ideeën uit te drukken, zonder belemmerd teworden door formele, rigide regels
Kan afwijken, uitbreidbaar naar believen
Bouwstenen:
• Toekenning: waardes toekennen aan variabelen
• Sequentie
• Selectie
• Iteratie
Variabelen
Een variabele is een symbolische naam die verwijst naar een
waarde.
• Deze waarde kan veranderen (‘variabel’) → toekenning
• Tijdelijke opslagplaats voor informatie die gebruikt wordt tijdens het uitvoeren van het
programma.
• Voorbeeld:
o z=x+y
• x, y, z zijn variabelen
• Variabelen kunnen verschillende data types voorstellen (numerieke
waardes, individuele tekens, strings (tekst), ...)
Toekenning
Toekenning: toekennen van een waarde aan een variabele
FC Name expression
PC Name = expression Name expression
Tekst: string: ‘’
- Bv. print/output/schrijf(‘het totaal van de som is:’ totaal)
- zin = ‘het totaal van de som is:’ -> print(zin, totaal)
Print(‘count’) vs print(count)
4