Informatiesysteemontwikkeling Flashcards

1
Q

Welke 3 golven kennen we?

A
  1. Maatwerk: zelf programmeren in veel verschillende programmeertalen.
  2. Pakketten: ontwikkelkosten verdelen
  3. Webservices: modules over internet laten communiceren via het aanroepen van API’s.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Welke programmeertalen kennen we?

A
1GL: machinetalen
2GL: assembleertalen
3GL: proceduretalen
4GL: declaratieve, niet-procedurele talen
5GL: natuurlijke taal programmeertalen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wat zijn machinetalen?

A

1GL: numerieke instructies. Programmeren volgens instructieboekje van de processor. Moeilijk leesbaar, veel ruimte voor fouten. Nog weinig gebruikt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wat zijn assembleertalen?

A

2GL: tekst-codes = makkelijker leesbaar. Blijft 1 programmeerinstructie per processorinstructie en dus veel en complex én nog steeds processorafhankelijk. Assembler vertaald broncode naar machinecode.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wat zijn proceduretalen?

A

3GL: programmeur kan niet meer elk van de 10^9 instructies zelf bepalen maar is makkelijker leesbaar en minder werk. Ook ruimte voor “commentaarlijnen” die computer zal negeren. Niet meer processor-afhankelijk.

Twee types vertalers:

  1. Compiler zet bronbestand met broncode om in object file = telkens wachten maar fouten opsporen door foutmelding.
  2. Interpreter zet telkens bij uitvoeren de broncode om naar machinecode, instructie per instructie = snel starten en flexibel maar vindt fouten pas als hij aankomt.

Twee subtypes:
1. gestructureerde talen: hiërarchie van functies en procedures. Pascal, Python, COBOL (Common Business Oriented Language).
2. object-georiënteerde talen: antropomorfisme (object = digitale representatie van iets in reële wereld)
Objecten bevatten data of attributen (naam, adres, …)
en procedures of methoden (bereken leeftijd, …).
Objecten zijn instanties van klassen (klanten, leveranciers, …).
Berichten tussen objecten met als naam een methode voor opvragen van attributen die anders niet toegankelijk zijn. = encapsulatie of information hiding.
Java, .NET, Python

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wat zijn declaratieve talen?

A

4GL: niet-procedurele talen. Noteren welk resultaat je wil zien ipv de instructies uit te schrijven. Zeer goed leesbaar.
SQL (Structured Query Language) om gegevens uit relationele databanken te halen zoals uit SystemR van IBM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wat zijn natuurlijke taal programmeertalen?

A

5GL: menselijke talen. Technologie die teksten kan verwerken. Nog niet helemaal doorgebroken omdat de nodige vertalers moeilijk te bouwen zijn.
WEL: codegeneratoren (Low Code platformen); GPT-3; Normalized Systems (onderzoek UA naar codegenerator met focus op flexibiliteit)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wat betekent modulariteit bij programmeren?

A

Module = deel van systeem met duidelijke grens of interface = ingang-uitgang-model.
Naam beschrijft functie of verantwoordelijkheid v/d module en dient om de module aan te roepen.
Input-parameters en Return-waarden.
Modules aanroepen volgens black box (minder complexiteit) of white box (foutopsporing).
Hoge of lage granulariteit of fijnmazigheid.
Hergebruik en evolueerbaarheid (= plug-and-play = aanpasbaarheid).
Geen ripple-effects bij aanpassingen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wat is een applicatie?

A

applicatie = programma = artefact
Een hoeveelheid modules en constructen (functies; procedures en units; klassen (records en functies); componenten en services) of ook modules en interacties.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wat is een systeemnetwerkdiagram?

A

In talen zoals Python ontstaan door aanroepen een hiërarchie of boom aan functies. De applicatie roept één of meer functies aan die op hun beurt andere functies aanroepen. VB abonnement TAC: module voor prijs berekenen, voor gegevens opslaan en voor abo afdrukken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wat is een wicked problem?

A

?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wat zijn relationele databanken? Wat zijn de voordelen? (software)

A

Geïntegreerde gegevensverzamelingen los van applicaties als antwoord op beperkingen opslaan data in bestanden of files die horen bij applicaties.
- integratie: voorkomen update anomalieën nav redundantie in opslag gegevens.
- gelijktijdigheid: bestand slaagt gelijktijdige wijzigingen niet op, enkel de laatste overschrijft de vorige.
- beveiliging: welke gebruiker welke toegang
VB: adres klant voor leveringen, voor marketing, voor contracten, voor …

Zeer geschikt als basis voor TPS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wat is RDBMS?

A

Relational Database Management System

= CRUDS software deel van Databank (ander deel = de data zelf).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Waarom start golf 2: pakketten? Wat is het? Welke evolutie binnen golf 2?

A

PitL (Programming in the Large): ontwikkelingskosten spreiden over organisaties.

eind ‘80: departementale IS waartussen weinig tot geen integratie bestond = eilandautomatisatie.

  1. Standaardpakketten: de facto standaardisatie van functionaliteiten, opslagwijze en workflows.
  2. ERP-systemen: bedrijfsbrede standaardpakketten. Configuratie is vaak mogelijk.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Waar komen ERP-pakketten vandaan?

A
  1. MRP (Material Requirements Planning)
  2. MRP II (Manufacturing Resource Planning)
  3. ERP (Enterprise Resource Planning): naast volledige structuur ook bedrijfsprocessen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wat is een vanilla-implementatie en waarom hiervoor kiezen?

A

Implementatie zonder customisaties: wegens complex en duur. Het is vaak handiger om de organisatie aan te passen dan de software.

Dit gaat in tegen het ondersteunend perspectief.

17
Q

Wat is UML?

A
Unified Modeling Language
Gestandaardiseerde OO (Object Oriented) taal.
Taal voor het weergeven van Software Modellen.
18
Q

Wat bedoelen we met meerlagige architecturen bij de bouw van IS? Welke kennen we?

A

Het bepalen van welke software (en/of hardware) verantwoordelijk is voor welke functionaliteit.

1-lagig: zeer gecentraliseerd, alle kerntaken (invoer, verwerking, uitvoer) uitgevoerd door één hard- en software platform.

2-lagig: PC (personal computer) vooral input en output (laag 1) en mainframe gespecialiseerde verwerking (laag 2). Client-Server architectuur. Thick client vs Thin client afhankelijk van hoeveel de PC zelf doet.

n-lagig: gedistribueerde verwerking. Lagen: databank, applicaties, user interface, webtechnologie, …

19
Q

Wat zijn de voordelen van meerlagige architectuur?

A
  1. performantie
  2. schaalbaarheid
  3. aanpasbaarheid
  4. centrale berekeningen op data uit verschillende toepassingen
  5. complexiteitsreductie
  6. specialisatie
20
Q

Wat zijn Web Services?

A

Functionele modules, geïmplementeerd volgens meerlagige architectuur.
We kunnen ze
- samenstellen (aggregeren)
- vervangen (loose coupling)
- hergebruiken
Ze kunnen zelf andere services aanroepen en door andere services aangeroepen worden.
Integratie en evolueerbaarheid!

21
Q

Welke 3 architecturen hangen samen met web services?

A
  1. Service Oriented Architecture (SOA)
  2. REST (Representational State Transfer)
  3. micro-services
22
Q

Hoe web services aanroepen in SOA?

A

Standaard netwerkprotocollen zoals SOAP (Simple Object Access Protocol) en WSDL (Web Services Definition Language).
Interface in XML-formaat in WSDL-document gepubliceerd zodat aanroepende modules weten hoe ze adhv een XML-document een SOAP-boodschap kunnen sturen naar de aangeroepen service met de naam en alle parameters.

23
Q

Wat is UDDI?

A

Universal Description, Discovery and Integration

Catalogi van beschikbare web services.

24
Q

Wat is REST? Wat zijn de kernbegrippen?

A

Representational State Transfer
Geen netwerkprotocol maar een architectuur voor web services, gebaseerd op standaard netwerkprotocol van het internet: HTTP.
Uitwisselen van bestanden en media in plaats van XML-documenten: ook JSON (JavaScript Object Notation) wordt ondersteund.
Gebruik van URI (Uniform Resource Identifiers) om resources te identificeren.

  • Client/server
  • Stateless: server houdt geen info of status bij van gedane aanvragen
  • Cacheable: antwoorden op vorige vragen tijdelijk bijhouden aan kant van client
25
Q

Wat zijn micro-services?

A

Fijnmazige architecturale stijl.

  • flexibiliteit: geen ripple-effect
  • betrouwbaarheid: bij falen automatisch andere web service aanspreken
  • testbaarheid: makkelijker testen dan grote complexe monolithen
  • kleine teams: micro-services kunnen gebouwd worden door kleine teams