Informatiesysteemontwikkeling Flashcards
Welke 3 golven kennen we?
- Maatwerk: zelf programmeren in veel verschillende programmeertalen.
- Pakketten: ontwikkelkosten verdelen
- Webservices: modules over internet laten communiceren via het aanroepen van API’s.
Welke programmeertalen kennen we?
1GL: machinetalen 2GL: assembleertalen 3GL: proceduretalen 4GL: declaratieve, niet-procedurele talen 5GL: natuurlijke taal programmeertalen
Wat zijn machinetalen?
1GL: numerieke instructies. Programmeren volgens instructieboekje van de processor. Moeilijk leesbaar, veel ruimte voor fouten. Nog weinig gebruikt.
Wat zijn assembleertalen?
2GL: tekst-codes = makkelijker leesbaar. Blijft 1 programmeerinstructie per processorinstructie en dus veel en complex én nog steeds processorafhankelijk. Assembler vertaald broncode naar machinecode.
Wat zijn proceduretalen?
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:
- Compiler zet bronbestand met broncode om in object file = telkens wachten maar fouten opsporen door foutmelding.
- 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
Wat zijn declaratieve talen?
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.
Wat zijn natuurlijke taal programmeertalen?
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)
Wat betekent modulariteit bij programmeren?
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.
Wat is een applicatie?
applicatie = programma = artefact
Een hoeveelheid modules en constructen (functies; procedures en units; klassen (records en functies); componenten en services) of ook modules en interacties.
Wat is een systeemnetwerkdiagram?
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.
Wat is een wicked problem?
?
Wat zijn relationele databanken? Wat zijn de voordelen? (software)
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.
Wat is RDBMS?
Relational Database Management System
= CRUDS software deel van Databank (ander deel = de data zelf).
Waarom start golf 2: pakketten? Wat is het? Welke evolutie binnen golf 2?
PitL (Programming in the Large): ontwikkelingskosten spreiden over organisaties.
eind ‘80: departementale IS waartussen weinig tot geen integratie bestond = eilandautomatisatie.
- Standaardpakketten: de facto standaardisatie van functionaliteiten, opslagwijze en workflows.
- ERP-systemen: bedrijfsbrede standaardpakketten. Configuratie is vaak mogelijk.
Waar komen ERP-pakketten vandaan?
- MRP (Material Requirements Planning)
- MRP II (Manufacturing Resource Planning)
- ERP (Enterprise Resource Planning): naast volledige structuur ook bedrijfsprocessen.