informatiesystemen-h1-samenvatting-1

advertisement
HOOFDSTUK
1
Informatie, Informatiesystemen en ICT : samenvatting
ICT -> op primaire/secundaire activiteiten van een organisatie.
In het verleden : vooral secundaire activiteiten/inzet in functionele deelgebieden die het
productieproces ondersteunen.
H1 : ICT neemt aansluiting bij bedrijfskundige beslissingen
1.1 informatie
1 : rol van informatie bij bedrijfskundige beslissingen
nemen van beslissingen : afhankelijk van beschikken over juiste informatie
rol van informatie bij het nemen van beslissingen : DIKAR model
data
informatie
kennis
actie
resultaat
Bv. Hoe marktaandeel van en bepaald product verhogen met het nemen van beslissingen
2 : wat is informatie
data = ruwe feiten die een bepaald fenomeen, concept of gebeurtenis beschrijven. Heeft geen
verdere betekenis of interpretatie.
Informatie = data die een specifieke betekenis heeft in een specifieke context.
 onderscheid tussen deze twee is relatief en subjectief
Kennis = begrijpen van een bepaald onderwerp, onder meer door gebruik van bepaalde
hoeveelheden informatie, ervaring en expertise ; een soort “know how”.
3: informatie als een model van de reële wereld
informatiesysteem = soort informatie-spiegel van de reële wereld waarin we leven. = d.m.v.
data en informatie. Partiële afspiegeling die we voorstellen met symbolen of tekens.
Informatie en IS maken een model van de reële wereld = abstract = bepaalde aspecten wel
opgenomen en beschouwd / bepaald niet. = minder partieel en complex = uitgedrukt in tekens
en symbolen
+ sneller/ efficiëntere berekening op basis van informatie-spiegel ipv reële wereld bv. voorraad
VW= als model correct is, anders geen voordeel.
Zie figuur 1.2
4 : data representatie
Reële wereld voorstellen door middel van symbolen of tekens = model leesbaar voor mensen en
computers.
Categorie 1
Gericht op mensen en verwerking door mensen. Bv getallen van de voorraad, clouds (= visuele
weergaven van de inhoud van bv. een website, tekst, waarbij termen die meer voorkomen op de
pagina of tekst groter worden weergegeven dan andere)
Categorie 2
Gericht op verwerking door machines of computers.
Werken met binaire data representaties, of tegenwoordig QR codes.
Hier wordt onderscheid gemaakt tussen gestructureerde data, semi -gestructureerde data en
ongestructureerde data
 Gestructureerde data : enkelvoudige datatypes( getallen en strings ) of geaggregeerde
datatypes (arrays en records).
 Enkelvoudige datatypes : bevatten een enkel stuk data. Bv prijs van
product.
Veel voorkomende zijn :
Integer : een geheel getal. Aantal bytes bepaald hoe groot het getal is.
Real : rationeel/komma- getal. Intern voorgesteld als geheel getal met
exponent.
Datum : een datatype met specifieke syntax om datum op te slaan:
( YYYY-DD-MM)
String : tekenreeks of stuk tekst

Structuren van data
- relationele tabellen
- Boomstructuur
Geaggregeerde datatypes :
lijst of arrays = geeft meerdere enkelvoudige waarden weer. Zijn van
hetzelfde enkelvoudige datatype.
Om te verwijzen naar een plaats in de lijst worden indices gebruikt.
records : gegevens opslaan die niet van hetzelfde enkelvoudige datatype
zijn. Bv. personeelsfiche = array van records
Welke gegevens in welk record : attributen
( kan enkelvoudige waarden hebben / verwijzen naar record in andere
tabel)
Combinatie om naar bepaald record te verwijzen : sleutel
: homogene informatie
Horizontale homogeniteit : elk record bevat dezelfde attributen.
Verticale homogeniteit : elk veld voor alle records bevat hetzelfde type
informatie.
: gegevens op hiërarchische manier weergeven.
Productie-omgevingen, om bijvoorbeeld een Bill-of-Material (BOM) weer
te geven
+ Voor bepaalde types verwerking zeer goede en performante algoritmes
gekend => zo worden data efficiënt gesorteerd , en zo zoekopdrachten
makkelijk uitvoeren.
Verschillende elementen = knopen
knoop die op het hiërarchisch bovenliggend niveau ligt dan een andere
knoop = de ouder van die andere knoop genoemd. Elke knoop heeft
één ouder. Begint bij een wortelknoop. Enkel deze knoop heeft geen
ouder. Elke knoop kan verschillende kind-knopen hebben = lagergelegen knopen die een relatie (of tak) hebben met de bovenliggende knoop.
Alle knopen die dezelfde ouderknoop hebben = broers of zussen
genoemd. Knopen die geen kind-knopen hebben = bladeren genoemd.
Structuur van data niet altijd met relationele tabellen of boomstructuren.
 ongestructureerde data
audio, video,… = een lange rij bits gerepresenteerd in computer.
= BLOB ( binary large object)
 semi -gestructureerde data
teksten, documenten en e-mails.
Bij e-mails wel enige structuur ( afzender, ontvanger , onderwerp), tekst geen.
eXtensible Markup Language ( XML) = taal leesbaar door mensen + computers.
Opmaaktaal = voegt tags toe aan data. Zo is er structuur en betekenis bij de data.
Document met veel tekst = XML document
 bestaat uit boomstructuur van elementen, die uit andere elementen bestaan.
Indien data zeer fijn geschreven wordt = gestructureerd
Hoeveelheid structuur = bepaald mogelijke verwerking van de data.
Bij weinig structuur – additionele verwerking afgeleid en toegevoegd bovenop de initiële data
representatie.
- toevoegen van gestructureerde data aan ongestructureerde data. Bv
tags bij MP3 bestand.
Door data representatie = enorme waaier van informatie tegenwoordig beschikbaar.
Veel aandacht voor interne en externe transacties.
Intern : voorraadbewegingen
Extern : verkoop aan externe leverancier.
 hierbij veel gedragsgerelateerde informatie beschikbaar door aanwezigheid ICT in
smartphones, auto’s , etc…
beperkingen :
bv: ongestructureerde data. ( pc kan niet alle gele auto’s weergeven want herkent geen
voorwerpen)
bv:tactic knowledge ( ontastbare kennis = moeilijk of niet expliciteerbaar of communiceerbaar/
overdraagbaar) opgebouwd door ervaring.
5 : verwerking
verwerking van data = informatie.
Vaak geen moeilijke verwerkingen, wel grote hoeveelheden!
1.
2.
3.
4.
Uit grote hoeveelheid data, precies het relevante stuk selecteren.
Aggregeren van data. Bv bedrag aan verkopen, per verkoper.
Sorteren van data op één of meerdere criteria.
Recent : business intelligence/ data mining = moeilijker
6. kwaliteit van data en informatie
Kwaliteit van informatie en data wordt beschreven adhv volgende kenmerken.
Correctheid : fouten-vrij zijn van data en informatie. Bij complexe en grotere hoeveelheid data is
die moeilijker.
Accuraatheid : Data heeft verschillende graden van nauwkeurigheid afhv van de toepassing.
Volledigheid : 1. Bepaald stuk informatie kan ontbreken bij sommige records.
2. Niet alle records die nodig zijn, zijn aanwezig.
Relevantie : Informatie relevant voor eindgebruiker? Voldoet informatie aan noden?
Beknoptheid : Voor overzicht en bruikbaarheid. Er is veel informatie beschikbaar, men moet
juiste informatie kunnen lokaliseren.
Beschikbaarheid : Is er toegang tot de informatie wanneer het nodig is, waar ze nodig is, van op”
bepaalde locatie.
Up-to-date : werkelijkheid evolueert, dus soms kan informatie verouderd zijn.
Frequentie :beschrijft de informatie de juiste tijdsperiode? Soms bv informatie over dagelijks,
soms maandelijkse aankopen nodig..
Vorm : manier waarop gepresenteerd wordt. Grafische weergave is bijvoorbeeld duidelijker.
7. Syntax en semantiek
twee aspecten van informatie die behoren tot semiotiek (= bestudeert tekens en tekensystemen)
focus : tekens in natuurlijke taal weergeven.
Soms ook tekensysteem : daarom semiotiek.
Syntax : beschrijft formalisme om een boodschap weer te geven.
Fout in de syntax in een computerprogramma = niet uitvoeren van het programma.
Soms correcte syntax, maar geen betekenis !
Semantiek : beschrijft de betekenis van een boodschap overgebracht tijdens een
communicatieve daad.
Bij informatie : betekenis van informatie bv. concept klant.
Momenteel : toekomstige eindgebruikers van het informatiesysteem bepalen de semantiek.
+ definities sluiten aan bij noden en wensen van de eindgebruiker
- definities van deze concepten kunnen verschillen tussen verschillende informatiesystemen
- als twee systemen met elkaar worden geïntegreerd, kunnen bepaalde producten niet
overeenkomen door verschillende definities.
- interpretatieproblemen waardoor foutieve conclusies worden genomen.
1.2 definitie informatiesystemen
definitie + typologieën van informatiesystemen.
Typologieën = classificeren IS’ en op basis van karakteristieken qua beslissingsondersteuning.
Doel van typologieën is :
- diversiteit IS illustreren
- bedrijfskundige doen inzien ; heeft een bedrijf alle IS die nodig zijn,
moeten er bijgebouwd worden?
In praktijk : IS niet van 1 soort in 1 classificatie.
Bevatten aspecten van meerdere IS’en .
1. Definitie Informatiesystemen
Enge, technische definitie
“nformatiesystemen systemen zijn die informatie produceren als output door data te verzamelen, te
verwerken, op te slaan, te analyseren en te verspreiden voor een bepaald doel”
IS slaat input uit reële wereld op en verwerkt tot output voor een doel van een gebruiker.
2 functies.
1. opslaan van gegevens ( statisch)
2. verwerken van gegevens via processen. ( dynamisch)
Gebruiker is onderdeel van, en neemt beslissingen die reële wereld impacteren : feedback van
het systeem.
Hoe meer IS worden ingevoerd, hoe meer beslissingen worden genomen op basis van hun
output => digitalisering neemt toe. = gebruiker wordt automatische beslisser.
Zie afbeelding 1.9
Brede socio-technische definitie
“een informatiesysteem is een combinatie van mensen, hardware, software, communicatietechnologie,
databronnen, procedures en bedrijfsprocessen die instaat voor het verzamelen, opslaan, verwerken en
verspreiden van communicatie voor een bepaald doel”
Nadruk op de omgeving van software en hardware.
Vult de enge definitie aan met organisatorische en menselijke aspecten.
Een informatiesysteem bevat :
- hardware ( pc’s, servers , smartphones, netwerken, ..)
- software ( programma’s)
- data
- bedrijfsprocessen/ procedures
- mensen
bepaalde acties worden manueel uitgevoerd. = geautomatiseerde+ manuele delen van IS.
Eind jaren 90 : eiland-automatisering = elk departement beschikt over eigen IS maar
onvoldoende integratie tussen IS van andere departementen.
OPLOSSING : bedrijfsprocessen
 een sequentie, selectie/iteratie van activiteiten over departementen heen.
 Zeer gestructureerd ; elke stap vooraf bepaald, ontworpen en neergeschreven in
stroomschema’s of BPMN-modellen.
 Manueel of geautomatiseerd
Voordelen
+ zorgen voor integratie over de departementen heen. Optimaliseren werking van het ganse
proces.
+ Leidt tot hogere transparantie. Men moet informatie hebben over andere departementen.
Door invoering bedrijfsprocessen : Business Process Re-engineering ( BPR)
Nieuwe manier van denken over organisaties = grotere efficiëntiewinsten.
2. typologie op basis van de informatie-regel
Eerste typologie : betrekking op de tol die IS spelen in opslag van data + verwerking tot
informatie.
Invoer en opslag van gestructureerde data = in Transaction Processing Systems TPS.
Invoer en opslag van semi- en ongestructureerde data = Enterprise Collaboration Systems ECS.
Verwerking van data = Management Information Systems MIS en Decision Support Systems DSS.
Presentatie met gebruik van portalen.
Transaction Processing Systems TPS
 gericht op opslaan, verwerken en rapporteren van repetitieve transacties van
organisatie. (bv. verkopen, betaling, aankoop)
 aggregatieniveau van data in TPS : niveau van 1 transactie. Dus zéér gedetailleerde
informatie werking van organisatie.
 Werking van TPS = CRUDS ( create, reade, update , delete, search)
 Zeer hoge performantie vereisten TPS: veel transacties.
Real time verwerking : van zodra in reële wereld = onmiddellijk in IS
Op piekmomenten : soms te weinig verwerkingscapaciteit.
 Vroeger : Batch-verwerking. ( niet in real time, maar opgespaard in groepen)
Nadeel: tijdspiegel niet actueel.
 Bedrijfskritisch : zonder TPS geen functionering van organisatie.
 Vooral voor werknemers die rechtstreeks zijn betrokken met transacties.
 TPS data aanleveren aan andere IS, die hogere aggregatieniveaus van data manipuleren.
 Qua ICT : TPS ondersteund door een database voor gestructureerde date, voor semiwordt verwerkt in CMS.
Enterprise Collaboration Systems (ECS) / Office Automation Systems ( OAS)
 inter-departementele IS die communicatie en samenwerking tussen teams
ondersteunen.
 Gericht op semi- gestructureerde informatie en recent ongestructureerde informatie.
 Veel internet-gebaseerde IS. ; e-mail, blogs,…
 Verwerking ECS = netrekking op creëren, lezen, updaten en verwijderen, zoeken van
documenten.
 Voorbeeld ECS : intranet.
= netwerk binnen organisatie waarbij data, documenten,… worden gedeeld.
Indien klanten hiertoe toegang hebben = extranet
 Qua ICT = gebaseerd op Content Management System : CMS en Document Management
System : DMS.
Management Informatiesystemen ( MIS )
 groter beslissingsondersteundend karakter dan TPS
 produceren vooraf gedefinieerde rapporten bv. op periodieke basis, of ad hoc basis.
 Vooraf gedefinieerde rapporten = vooraf bepaald welke data geaggregeerd word en hoe
gepresenteerd in rapport.
MIS is gericht op ondersteuningen van beslissingen = gestructureerde beslissingen.
In geval van ad hoc ( eenmalig rapport) =/= MIS maar OLAP.
 Aggregatieniveau : van laag naar hoog.
verwerkingscapaciteit minder hoog dan ->IS. Veel in realtime, sommige in Batch.
Timing varieert : periodiek, bij bepaalde status, …
 Invoer : Data uit TPS = aggregeren en presenteren.
 lezen, zoeken, aggregeren en sorteren van data.
 Minder bedrijfskritisch dan TPS = vooral voor middenmanagement.
 Qua ICT : MIS = rapport of formulier in database met gestructureerde informatie evt
grafiek.
Decision Support Systemen ( DSS)
 ondersteunt complexe niet routinematige bedrijfskundige beslissingen.
 Ad hoc karakter : informatieverwerking die moeilijker te definiëren is qua timing/info.
 Meer interactief : tussen gebruiker en systeem: probleem bekijken vanuit verschillende
hoeken en oplossing vinden.
 Verwerking niet beperkt tot een relatief eenvoudige aggregatie.
Model gebaseerde verwerking : verschillende scenario’s met elkaar vergelijken.
Sensitiviteitsanalyse : analyseren van impact op wijziging variabele op doelvariabele.
 Verwerkingscapaciteit : eenvoudige modellen : realtime ( interactief karakter!)
Meer geavanceerde berekeningen : limiet beschikbare rekencapaciteit hardware
 Informatie van TPS en MIS + gegevens andere bronnen.
 Qua ICT : vroeger : gegevens TPS en MIS kopiëren naar rekenblad of databank.
Recent : gebruik maken van data warehouses.
Portalen
 IS dat onderdeel is van intranet en extranet van organisatie + gepersonaliseerde en
geïntegreerde toegang biedt tot achterliggende IS binnen en buiten organisatie.
 Gepersonaliseerd : vorm van authenticatie ( bv wachtwoord).
Informatie wordt afgestemd op gebruiker : enkel wat relevant is voor gebruiker.
 gebruiker kan portalen zelf aanpassen of informatie plaatsen op het portaal.
 Biedt geïntegreerde toegang tot andere IS.
Louter tonen van achterliggende data op hetzelfde scherm.
 veel voorkomend portaal : dashboard.
Key performance indicators (KPIs) worden grafisch voorgesteld.
3.Typologie qua impact : strategische informatiesystemen
Informatiesystemen die competitieve positie organisatie beïnvloeden.
Sterkere positie op markt door het bezit van een informatiesysteem .
4. Typologie qua integratie : departementeel tot inter-organisatorisch.
Betrekking op context of omvang van IS.
1. Eilanden van indormatiesystemen
enkel data en informatie met betrekking op 1 departement. ( bv HRM)
Beperkte integratie hier = moeilijk integreren.
2. informatiesysteem is bedrijfsomspannend
bevat data en informatie of meerdere/alle departementen van organisatie =
inter-organisatorisch.
Bv. Enterprise Resource Planning (ERP) : bevatten alle processen en data van een
(deel)bedrijf.
3. Inter-organisatorische informatiesystemen
Werken tussen meerdere organisaties. Bv. elektronische veiling.
5. Andere soorten informatiesystemen
Embedded systems : ICT/software zit in fysiek product. ( bv. software in auto)
Process control systems : systemen/software die industriële processen aansturen en
beheren. ( bv. software in robots.)
 veel soorten typologieën besproken = overlappend !
1.3 ICT
Databanken aan basis van TPS. = opslaan gestructureerde data ( minder voor semi- en on-..)
= antwoord op beperkingen van het opslaan van data in bestanden of files.
= door besturingssyteem gegevens wegschrijven in extern geheugen in vorm van bestand of file.
= functionaliteit op gebied van beveiliging.
= verwerking : CRUDS operaties, geen complexe algoritmische verwerking.
2 Beperkingen :
Integratie
Elke applicatie slaat data op in specifiek bestand voor dat programma.
Vaak dezelfde gegevens ( redundant).
Naarmate redundantie stijgt = update anomalieën. ( men vergeet in een kopie een verandering
te wijzigen waardoor de data in inconsistente status komt).
Gelijktijdigheid
Veel gebruikers tegelijkertijd. Als meerdere tegelijk gegevens willen taanpassen kan het zijn dat
men de wijzigingen van de vorige overschrijft.
Men kan niet toelaten dat 1 iemand maar tegelijk in een bestand schrijft want tabel vaak voor
100000 gebruikers.
Meerdere applicaties moeten data opslaan in dezelfde databank en zo kan men redundantie
vermijden.
Relationele databanken : data opslaan in tabellen. => meest gebruikte type database.
Rij = record
Kolommen = attributen/eigenschappen van de klant
Elke rij heeft unieke sleutel die de rij uniek identificeert. ( bv. klantennummer)
Verbanden leggen door sleutel van een rij op te slagen in een kolom van een andere tabel.
Vroeger : Hiërarchische databanken = gestructureerde data in vorm van bomen opslagen
Daarna : Netwerk databanken= data in de vorm van netwerk opslagen ( knooppunt)
Hierna : Relationele databanken.
Nieuwe types = geografische semantiek, multimedia databanken,..
Databank :
 data zelf
 programmatuur die toelaat dat er gecentraliseerde en geïntegreerde toegang tot de data
is que lezen, schrijven, opvragen en verwijdering van gegevens = Databank management
system DBMS
Zie figuur 1.1
2. Data warehousing
jaren 70’ :
vanaf onstaan DSS = veel performantie nodig op op dit model te verwerken.
Verwerking in real time niet mogelijk op databanken die TPS ondersteunen.
Begin jaren 90’ :
Databank warehouses aanmaken om probleem op te lossen.
Soort databank gericht op beslissingsondersteuning waarin gegevens van TPS worden
gekopieerd. Vele soorten verwerking zonder de performantie van de TPS te impacteren.
Kopiëren van gegevens van databanken van TPS naar data warehouse in batch : Extraction,
transformation and load. ( ETL)
Extraction : ophalen van gegevens uit de databanken van de TPS.
Houdt aspecten van technische integratie in want gegevens van verschillende databanken.
Ook worden hier foutencontroles gedaan; sommige manueel of automatisch eruit gehaald,
sommige wordt niet verder gekopieerd naar data warehouse.
Transformation : Data wordt geconverteerd + men kijkt naar het aggregatieniveau van data.
Load : Kopiëren van getransformeerde gegevens naar het eigenlijke data warehouse.
Zo actueel mogelijk om beslissingen te maken.
Men kan 1 centraal warehouse hebben, of specifieke “data marts”.
Het bevat meestal historische en actuele data.
Na aanmaakt van warehouse : verschillende vormen van verwerking mogelijk.
-Data mining
Toepassen van geavanceerde statische of wiskundige technieken op data. Verborgen verbanden
ontdekken.
-online analytical processing OLAP
Grote hoeveelheid data wordt interactief ondervraagt vanuit verschillende perspectieven.
Data moet worden opgeslagen in een soort multi-dimensionale kubus.
Ondervraging moet in real time gebeuren en het gaat over ad hoc ondervragingen.
Technieken zijn :
 consolidatie : aggregatie. Data wordt opgerold op 1 of meerdere dimensies.
 Drill down : desaggregeren van data. Geaggregeerde data wordt gedetailleerder op 1 of
meerdere dimensies.
 Slicing and dicing : analyseren van data vanuit verschillende perspectieven. Mogelijkheid
om een gekozen perspectief te creëren en in isolatie van andere perspectieven te
analyseren.
4. Reflectie
 informatiesystemen : beslissingsondersteunend perspectief.
“ hoe bestudeerd men data, informatie en informatiesystemen op zinvolle wijze op een
abstract, niet-technisch niveau.”
 informatiesystemen : informatiespiegel.
IS is een digitale gespiegelde afbeelding van reële wereld waarop verwerking kunnen
worden toegepast.
Enorm gegroeid qua nieuwe soorten data, als niveau van frequentie en detail.
Ook nadelen verbonden aan informatiesystemen.
 privacy : is het wenselijk dat zoveel aspecten van het gedrag van het gedrag en
transacties van mensen worden gedigitaliseerd en voor verdere bewerking beschikbaar
zijn ?
 Information overload : moeilijk om uit grote hoeveelheden informatie, de juiste te
selecteren.
Is brengen grote complexiteit met zich mee.
Enterprise architectuur : integratieaspecten van al deze verschillende informatiesystemen,
alsook beheerding van de aanzienlijke complexiteit die ermee samenhangt.
 een van de belangrijkste problemen van bedrijfsinformatica.
(semantische integratie van informatie en data ook een aspect van integratie)
5. Informatie, modellen en wetenschap
We zagen toepassingen van ICT in bedrijfskundige context. Maar ook economie en bedrijfskunde
heeft grote invloed.
Men kan steeds actuelere en preciezere modellen maken door de toegenomen
verwerkingscapaciteit en de grotere hoeveelheid data en informatie die beschikbaar is.
HOOFDSTUK
2
Bouwblokken van Infomatiesystemen : samenvatting
2 soorten bouwblokken.
1. de technologie (ICT) waarmee geautomatiseerde informatiesystemen worden gebouwd.
: samenhang hardware, software en netwerken in verschillende tijdsperioden.
2. Methodologieën die in de systeemontwikkeling worden gebruikt.
: Combinaties van processen, technieken en andere items.
2.1 Deel systeemontwikkeling
1. Methodologieën
Vroeger : elke programmeur gebruikten andere manieren om systemen te bouwen, en vaak
werd een probleem meerdere malen opgelost.
 Men moest manier vinden om systemen te bouwen die wetenschappelijk bewezen tot
goede resultaten zou leiden = Methodologie
Systeemontwikkeling : gebied dat zich richt op bouwen van informatiesystemen.
2. Enkele definities
Processen : Gaat in hoofdzaak over de volgorde waarin bepaalde activiteiten of fases moeten
worden uitgevoerd. Vb. Watervalmodel, iteratieve processen.
Sofware producten : resultaten van zo’n activiteit. Bv document met vereisten en modellen,
software.
Techniek : beschrijft hoe een activiteit moet worden uitgevoerd.
Bv. Interviewtechnieken : vereisten bepalen.
Technieken voor datamodellering : hoe een goed model maken van data?
Procesmodellering : Hoe een goed model maken van een proces?
Model : product van een activiteit, qua vorm vaak een semi-formeel grafisch model.
Bv. Bij data-modellering wordt gebruik gemaakt van Entity Relationship-model. (ER)
Proces modellering : BPMN model.
Semi formele modellen : weergegeven in grafische notaties en niet in natuurlijke taal.
Bij software : UML ( unified modeling language) : standaard in theorie en praktijk.
Tools : Voor het uitvoeren van alle activiteiten.
Geautomatiseerde hulpmiddelen/software om activiteit doen uitvoeren.
Bv. tekenprogramma’s
Methodologieën kunnen uit alle bovenstaande elementen bestaan.
3. Watervalmodel
= procesmodel dat rond 1970 werd voorgesteld door Royce maar nog steeds veel wordt
gebruikt.
= Sequentieel uitvoeren van de fasen project managment, analyse, ontwerp, programmeren,
testen en onderhoud.
Kenmerken
sequentieel uitvoeren van 6 activiteiten : strict volgen de fasen na elkaar.
Document gebaseerd : Op het einde van elke fase wordt een product gemaakt dat een
formeel akkoord moet krijgen van alle belanghebbende. Bv document met handtekening.
Lange tijd tussen begin en einde van project : Weinig/ geen feedback van eindgebruiker
aan ontwikkelaar.
Project management
Bouwen van een IS : project. Het is in zeker mate uniek.
Hierdoor altijd bepaalde risico’s mee verbonden die door project management onder controle
moeten worden gehouden. -> bedrijfskundige aard ( geld, tijd..) of technische ( beveiliging, …)
Men plant en volgt projecten op.
3 indicatoren : Kost, tijd en kwaliteit (enerzijds omvang, anderzijds kwaliteitsfactoren.)
Analyse fase : met document !
Bepalen wat het IS moet doen : de vereisten volledig, consistent en ondubbelzinnig in kaart
brengen en neerschrijven in document : vereistenspecificatie.
Hét sleutelmoment/kantelpunt waar bedrijfskundige(informatie) en ICT (technologie) elkaar
raken = Men vertrekt vanuit de vereiste om het IS op te bouwen.
Stap 1
Alles vereisten verzamelen.
Bv : interviews, vragenlijsten brainstormsessies bij belanghebbende, eindgebruikers.
MAAR belanghebbende kennen soms de mogelijkheden van ICT niet waardoor ze suboptimale
eisen hebben. DUS analist denkt mee en krijgt actievere rol want ken wel genoeg van ICT
= Co creatie.
2 soorten vereisten
 functionele = proces vereisten : Bij welke gebeurtenissen moet het IS iets doen.
Data vereisten : Over welke dingen moeten gegevens worden bijgehouden.
 Niet functionele = Performantie : Met welke snelheid moet het IS werken.
Onderhoudbaarheid : Hoe flexibel moet het IS zijn.
Herbuikbaarheid : Hoe worden delen van het IS herbruikt in andere IS
Stap 2
De vereisten worden gemodelleerd in semi-formele, grafische notaties. Voordelen hiervan:
- complexiteitsreductie : Complexiteit wordt verdeeld in kleinere stukken waardoor het stapvoor-stap kan worden aangepakt.
- Fouten elimineren : Notatie van modellen zorgen ervoor dat bepaalde fouten niet worden
gemaakt.
- communicatie met eindgebruiker : grafische voorstelling zorgt voor vereenvoudigde en
compactere weergave.
Ontwerp
Bouw van IS dat voldoet aan de vereisten die vastgelegd werden in de analysefase.
-hoog ontwerp niveau : welke subsystemen kunnen we onderscheiden.
- laag niveau ontwerp van software : welke algoritmes, hoe benoem ik variabelen hoe goed
onderhoudbaar/herbruikbaar, ...
Er bestaan technieken en principes voor ontwerpen van een IS, maar geen optimaal ontwerp.
Men moet dus zelf het meest geschikte kieze.
Op het einde ook document dat ondertekend moet worden door de belanghebbende.
Programmeren / implementatiefase
Ontwerp zodanig programmeren in een programmeertaal dat software van hoge kwaliteit
ontstaat. ( denk aan niet functionele vereisten! )
- keuze programmeertaal : meestgebruikte zijn .NET-programmeertalen.
- Technische vragen : welke instructies, declarering variabelen.
Bouwen van software is een manuele aangelegenheid : vaak niet geautomatiseerd.
Het gebruiken van tools en hergebruik van bibliotheken die bepaalde standaard
fucntionaliteiten bevatten kan het wel vergemakkelijken.
Kloof ICT en bedrijfskundige in deze fase.
Testen
Zeer belangrijk!
Verificatie : Correspondeert het systeem met de vereistenspecificatie zoals deze in de
analysefase werd opgesteld. “werkt het systeem correct”.
Validatie : beantwoordt het systeem aan de informatiebehoeften van de eindgebruiker in de
realiteit.
Onderhoud
Alle wijzigingen aan het systeem nadat het in gebruik is genomen.
4 soorten onderhoud :
1. Perfectief onderhoud : nieuwe functionaliteit toevoegen.
2. Adaptief onderhoud : wijzigingen om software naar een ander platform te brengen.
3. Correctief onderhoud : corrigeren van fouten tijdens programmeren.
4. Preventief onderhoud : wijzigt de functionaliteit van de software niet, maar herstelt de
structuurdegradatie.
2 Wetten ivm onderhoud.
- Law of continuing change/ wet van de voortdurende verandering :
Het nut van de software over tijd daalt, tenzij er in antwoord op de wijzigende
gebruikersvereiste onderhoud wordt gevoerd.
- Law of increasing complexity/ wet van toenemende complexiteit :
Bij vele wijzigingen zal de structuur van een programma achteruit gaan. Men moet regelmatig
software herstructureren ( preventief onderhoud ! )
Watervalmodel : nuancering
- De fasen volgen elkaar in sequentie op door het document gebaseerde karakter :
=> doorlooptijd is zeer lang zo
mogelijkheid om soms overlappingen toe te staan.
- Bij kleine projecten is het niet nodig om alle vereisten op papier te zetten, en steeds formeel
een handtekening te vragen.
-Men kan niet steeds alle behoeften in het begin van het project vaststellen.
=> systeem in verschillende cycli bouwen = iteratief ontwikkelingsmodel ( Boehm)
risico’s worden teruggedrongen door de tussentijdse feedback voorkomt men dat men een
systeem bouwt dat niet overeen stemt met wat de eindgebruiker wil.
2.2 Deel ICT
1. Periode 1 : jaren ’60-‘70
pioniersjaren van de beleidsinformatica.
IBM 360, UNIVAC I , ARPA-net …
Toepassingen in organisaties waren eerder een bijproduct van technologische ontwikkelingen.
Informatiesysteemarchitectuur
Ontwikkeld in isolatie, geen integratie met andere systemen.
Centralisatie : alles gebeurd van uit 1 machine.
= één laag of one tier architectuur.
Hardware
Main frame computers : alle taken van het IS worden hierdoor uitgevoerd.
Eindgebruikers gebruikten thin clients of dumb terminals.
Men kon iets doorgeven en het mainframe zorgde voor de verwerking en de opmaak van de
output.
Naarmate het gebruik toenam : kleine, goedkopere mini-computers.
Software
 Gebruikte programmeertaal : COBOL ( Common Business Oriented Language)
Specifiek voor zakelijke omgevingen ; makkelijk te lezen en schrijven.
 Software ook zeer gecentraliseerd : Alle functionaliteiten bevond zich in 1 programma. 1
laag architectuur.
 Gegevens worden rechtstreeks opgeslagen op de harde schijf. Men kon geen informatie
uitwisselen. Na introductie databank wel..
 Programma’s vooral voor specifieke organisaties ontworpen en niet aangeboden.
Netwerken
 Weinig spraken van een netwerk.
 Men begon met het ARPAnet, maar deze kon slechts op enkele mainframes worden
aangesloten.
 Netwerken waren steeds bekabeld.
Informatie
 Nog niet digitaal beschikbaar dus moest telkens manueel worden verzameld en
ingegeven worden achteraf : batch verwerking.
 Vaak in gestructureerde vorm.
Informatiesystemen
 Transaction Processing Systems : gestructureerde informatie
 Management Information Systems : steeds manueel, dus enkel voor zeer
gestandaardiseerde rapporten.
 Systemen enkel binnen de grens van de afdeling/organisatie.
Standaardisatie
 De verschillende mainframes waren niet compatibel en software was enkel te gebruiken
op 1 mainframe.
 Ook netwerkprotocollen verschilden van elkaar.
Integratie-systemen
 Bij introductie van databank konden applicaties op eenzelfde mainframe gegevens delen.
 ARPAnet : enkel in onderzoek. Niet tussen organisaties.
Integratie- business/IT
 Grote kloof tussen programmeurs en bedrijfskundige
2. Periode 2 : jaren ‘80
Meer en meer computers in organisaties door meer opportuniteiten en lagere kosten.
Informatiesysteemarchitectuur
 Decentralisatie : verspreiden van verwerkingscapaciteit over verschillende machines.
Vaak nog wel in combinatie met gecentraliseerde PCs.
 Client server architectuur : server beschikt over bepaalde diensten die gebruikt worden
door clients die communiceren over een computernetwerk.
Client stuur sevice request naar server, waarop deze luister.
 Fat/thick client : client voert zelf relatief veel taken uit.
Thin client : client voert zelf relatief weinig taken uit.
 Two tier architectuur.
Hardware
 Wet van Moore : Jaarlijk een verdubbeling van het aantal transistoren = sneller !
 Betaalbaarder : PC met persoonlijke werkzaamheden.
Software
 Object georiënteerde talen : derde generatie programmeertaal.
 Object : digitale representatie van iets in de reële wereld : antropomorfisme.
Deze bevatten data/attributen en procedures/methoden.
 Klasse : beschrijft algemene kenmerken(attributen) van een object. Objecten zijn
instanties van een bepaalde klasse
 Instanties : concreet maken van de kenmerken ve klasse door bepaalde waarden toe te
kennen aan attributen.
 Communicatie tussen objecten : messages /berichten.
ontvanger reageert door methode uit te voeren met de naam vh bericht.
Resultaat wordt teruggezonden. => enige manier om data te verkrijgen.
 Encapsulatie : attributen zijn niet rechtstreeks toegankelijk.
 Vb. Java, .NET
 Meer en meer relationele databanken gebruiken
 Maatwerk en Pakketten.
Netwerken
 ARPAnet verbond vele universiteiten
 Andere netwerken naar zelfde model : CSNET, BITNET, NSFNET ( 5 supercomputers)
Informatie
 Data verzameling wordt uitgebreider
 Men kon data verzamelen voor eigen gebruik; hierdoor vernieuwde presentatie bv
streepjescode
 Vorm informatie verbeterde
numerieke data : grafieken
Tekstuele data : WYSIWYG
 Steeds meer semi-gestructureerde data
Informatiesystemen
 Toename : in real-time verwerking
 Grafische mogelijkheden. Bv bij MIS WYSIWYG.
 Enterprise collaboration systems ECS en Decision Support systems DSS.
 Efficiënter maken van interne bedrijfsprocessen door automatisering
Standaardisatie
 Weinig : steeds verschillende netwerkprotocollen en specifieke hardware en software.
 Automatiseringseilanden : initiatieven voor automatisering waren niet op elkaar
afgestemd.
Verdieping : hardware
Computer bestaat uit verschillende componenten
Moederbord : basis van computer waaraan men verschillende componenten kan aansluiten.
Het bied communicatiepaden/bussen tussen de verschillende componenten.
Het type aansluiting(sockets) bepalen welk type componenten gebruikt kunnen worden.
Componenten kunnen apart toegevoegd worden maar zijn vaak geïntegreerd.
Invoer apparaten : gegevens en instructies toevoegen en omzetten in een formaat dat
computer kan begrijpen. (Bv. muis, toetsenbord)
Uitvoer apparaten : verwerkte gegevens weergeven in een formaat dat voor de eindgebruiker
te begrijpen is ( Bv. Scherm, printer)
Processor of central processing Unit CPU :Verwerking van instructies vervat in een
programma. Bestaat uit een
control unit : zorgt ervoor dat data die verwerkt moet worde en de instructie om op de data uit
te voeren in de registers van de processor geladen wordt.
artithmetic-logic unit ALU : voert basisberekeningen uit zoals optellen, aftrekken,…
geheugenregisters: kleine snelle geheugeneenheden. Nodig om de miljoenen bewerkingen uit te
voeren.
Snelheid van de processor wordt door een aantal factoren bepaald:
Kloksnelheid : hoeveel keer per seconde kan een stuk data verzet worden of een instructie
worden uitgevoerd. Uitgedrukt in GHz(Gigahertz)
Woordlengte: het aantal bits dat tegelijkertijd door de processor kan verwerkt worden.
Aantal kernen : processor met meerde kernen ( multi-core) worden meer processoren op 1 chip
verwerkt om meer te kunnen verwerken zonder de individuele snelheid van kernen te moeten
verhogen.
Primair geheugen on Random Access Memory (RAM-geheugen) : gegevens die de processor
nodig heeft voor verwerkingen op te slagen. Gebruikt voor tijdelijke instructies van actieve
programma’s met daar bijhorende gegevens op te slaan.
Secundair geheugen : gegevens die bewaard moeten worden voor de toekomst. Bv. Harde
schijft. Trager dan het primair geheugen maar wel goedkoper.
Servers : computers die worden gebruikt om aan cliënten aan te bieden. Komen niet
rechtstreeks in contact met eindgebruiker, en daarom worden componenten geminimaliseerd of
weggelaten. Ze worden in klein formaat gebouwd en samen gestoken in 1 server rek.
Het samen plaatsen van serverekken: Data centers.
Zo kan bv de nood aan specifieke infrastructuur (koeling) om servers draaiende te houden
gecentraliseerd worden. ( betere schaalbaarheid en minder kosten)
Blade servers: zeer smalle computers met enkel hoogstnoodzakelijke componenten om
schaalbaarheid nog beter te verbeteren. ( IBM, HP)
Bits : weergave van beide soorten geheugen : kan waarde hebben van 0 tot 1.
Op een computerchip worden bits opgeslagen in miljoenen transistoren.
Zo kunnen computers veel kleiner worden gemaakt.
Byte : groepering van een afgesproken aantal bits.
vaak 8, er kunnen 2^8 combinaties uit gevormd worden.
Belangrijke tekensets zijn :
ASCII : American national Standard Code for Information Interchange.
Gebruikt slechts 7 bits. Later Exntended ASCII die 8 bits per byte voorschreef.
EBCDIC: Extented Binary Code Decimal Interchange Code.
Ontwikkeld door IBM voor gebruikt op mainframe computers. Gebruikt 8 bits-bytes.
Unicode : doel is alle gebruikte schriften te kunnen weergeven. Telt 32 bits.
Ook afbeeldingen worden opgeslagen met bits : bitmap met rasters van pixels.
Verdieping software
Eerste generatie programmeertaal : machinetaal.
Beschrijft welke instructies op welke data uitgevoerd moeten worden door de CRY.
Programmeur moet alle instructies voor ALU en control unit ingeven in numerieke vorm.
Programma’s voor een machinetaal moeten specifiek voor een bepaald type processor worden
geschreven. => deze worden niet meer gebruikt want teveel fouten.
Tweede generatie : assembly talen.
Korte tekstcodes ter vervanging van numerieke instructies. Zo makkelijker instructies
onthouden en vorige programma’s begrijpen.
Nog wel zeer complex en processor afhankelijk.
Assembly broncode wordt door een assembler vertaald naar machinecode. Zo kunnen de
computers de instructies nog wel begrijpen .
Derde generatie: procedurele talen
Niet langer meer per processor-instructie een programmeer-instructie.
Een programmeerinstructie vertaald zich in verschillende proces-instructies.
Ze zijn dus een abstractie van de individuele processor-instructies.
De instructies zijn broncode die worden opgeslagen in een bronbestand. De vertaalde code
wordt opgeslagen in een object file.
Deze object file wordt ij het uitvoeren van het programma in primair geheugen opgeslagen en
bevat instructies voor de processor.
Vertaling broncode naar object file: complexer dan bij een assembler.
Twee types vertalers.
1. Compiler : zelfde manier als assembler. Hele broncode wordt ingelezen en vertaald naar
machine taal in object file.
2.Interpreter : zet instructie per instructie om in machinetaal. Geen object file, maar het
bronbestand word als programma verspreid.
Vierde generatie : niet –procedurele talen
Enkel het gewenste resultaat moet worden opgegeven. Men moet niet langer de procedure
volgen.
Vijfde generatie : Natuurlijke taal programmeertalen
Trachten de programmeur in natuurlijke taal de functie van een programma op te laten geven.
Vertaalprogramma’s zeer complex, dus nog niet doorbroken.
Verdieping : Modilariteit
Vanuit modulariteitsperspectief bestaat software uit modules.
Module : deel van het systeem die een duidelijke rand of interface heeft met de rest van het
systeem.
Interface : ingang-uitgaan model waarbij invloeden van de omgeving op de module leiden tot
bepaalde effecten die door de module in de omgeving veroorzaakt worden.
In software is module : afgescheiden deel met de naam van de module, die de functie of
verantwoordelijkheid beschrijft en gebruikt wordt om de module aan te roepen.
Applicatie of programma : bestaat uit modules.
Hiervoor programmeertaal die constructen bevat.
Construct : instructie in die programmeertaal waarbij een module wordt aangemaakt.
Bv. pascal, procedures, units.
Met deze constructen wordt een artefact opgebouwd. Bestaat uit een modulaire structuur met
aantal modules en interacties ertussen.
Blackbox, white box perspectief
Black box : kan worden aangeroepen zonder dat de aanroeper kennis heeft van de binnenkant
van de module. Het is complex reducerend .
White box : als module een foutief resultaat produceert moeten de instructies worden worden
nagekeken.
Bij het oproepen in een taal zoals Pascal systeemnetwerkdiagram : boom van functies.
Artefacts die minder modulair zijn : lage granulariteit of bestaat uit 1 grote module (
monolithische structuur)
Voordelen modulariteit
 Hergebruik : ze kunnen in andere apps gebruikt worden zonder opnieuw te ontwikkelen
( soms Not invented here-syndrome)
 Evolueerbaarheid : flexibiliteit en aanpasbaar tijdens de onderhoudsfase.
Periode 3 : jaren ‘90
Informatiesysteemarchitectuur
 Meer gedecentraliseerde architecturen : gedistribueerde verwerking op meerdere
hardware en software.
 Hardware : servers en clients. Servers : krachtige toestellen waar bv databanken op
draaien. Clients zijn laptops, … toestellen die diensten vragen.
 Software : systemen die allemaal via het internet met elkaar verbonden zijn. 4 lagen
architectuur.
Laag 1 : databank laag. Biedt toegang tot opgeslagen gegevens en dat applicaties deze
gegevens kunnen lezen wanneer dit nodig is. Vaak relationele databanken met SQL als
taal.
Laag 2 : bevat de applicaties. Hier worden bewerkingen uitgevoerd die specifiek voor de
applicatie op het toepassingsdomein zijn.
Laag 3 : bevat user interface. Zo kunnen eindgebruikers toegang krijgen tot de applicatie
op de applicatie-server. Het bevat verschillende elementen die door servers worden
geleverd. Ze zorgen vaak enkel voor de weergave. THIN CLIENT.
 Veel applicaties worden via het web aangeboden.
 Toenemende automatisatie.
 Verschillende software objecten kunnen over hardware machines worden verdeeld.
Hardware
 Performantie van bestaande systemen verbeterd.
 PC’s worden kleiner (laptops, PDA’s)
 GSM wordt in gebruik genomen.
Software
 Grote nadruk op software pakketten.
ERP pakketten ( enterprise resource planning) : planning voor de aankoop van
grondstoffen aanmaken op basis van de productieplanning.
=> hield geen rekening met capaciteit van machines of personeel.
MRP II (manufacturing Resource Planning II)
Houden ook de kosten en opbrengsten bij.
grootste voordeel : integratie = modules uit elke afdeling van een organisatie.
 Internt ERP vaak zeer grote relationele databanken.
 Best ‘vanilla’ gebruikt : zonder aanpassingen want deze zijn duur.
 Programmeertalen : meer en meer object-geörienteerde programmeertalen.
Jave en .NET
 Complexiteit : informatiesystemen integreren ( Y2K bug)
Netwerken
 Internet : men kon op computers met elkaar communiceren vanuit gescheiden netwerk
 GSM netwerk met masten.
Informatie
 Veel semi-gestructureerde data : e-mails, smsen, websites.
 Content Managment Systems CMS.
 Ongestructureerde data kan worden opgeslagen dor verwerkingssnelheid en
opslagscapaciteit.
 Meer en meer gedrags-georiënteerde data. ( bv locatie, laatst bezocht)
Informatiesystemen
 Veel meer in real-time en grote volumes bij bestaande IS.
 DDS : naast alle operationele databanken
 ECS: electronische documenten steeds belangrijker => DMS ( document management
systems) richten zich specifiek op websites.
 Inter-organisatorische informatiesystemen. Onderling meer conctact met andere.
 Invloed op strategische positie en outsourcing.
Standaardisatie
 Van tekst gebaseerde interface naar vensters in user interfaces.
 2 dominante programmeertalen : JAVA en .NET.
 specifieke talen voor bepaalde lagen.
HyperText Markup Language ( HTML): data representeren als een netwerk van knopen
door links.
WWW geeft hypertext aan door een URL ( uniform resource locator)
UML (unified modeling language) : documenteren en visualiseren.
Manier om gemeenschappelijke concepten van object-georiënteerde systemen te
modelleren.
Unified process : methodologie voor ontwikkelen van software.
Periode 4: jaren 2000
Informatiesysteemarchitectuur
 ubiquitous computing : op elk moment en overal kan verwerking gebeuren
 toekomst : internet of things ( bv espresso apparaten aansluiten)
 centraal : zoekmachines
 veel automatisatie maar manueel werk blijft bestaan
Hardware
 grote variatie van mobiele hardware met geavanceerde user interfaces en eigen
processoren.
 Servers : toename verwerkingscapaciteit door krachtigere processoren die wereldwijd
aan elkaar gekoppeld zijn voor complexe berekeningen te doen.
 Big data = enorme hoeveelheid gegevens die geproduceerd worden bij data warehousing
en steeds grondigere analyse.
Software
 SOA ( service-Oriented Architecturen) bestaande uit web services : modules die
wereldwijd met andere webs over het internet kunnen communiceren.
modulaire bouwblokjes voor software die een beeld suggereren van software op basis
van hergebruik geassembleerd wordt uit web services tegen lage kost en aan hoge
snelheid.
 Opkomst web services : alternatief voor pakketten ( leesbaarder! )
 Relationele databanken spelen nog steeds grote rol maar er ontstaan nieuwe types.
 Open software : broncode is publiek beschikbaar.
 Uitbesteding : cloud computing. Deel van een informatiesysteem wordt verkocht.
Iaas / infrastructure as a service : toegang tot hardware
Paas / platform as service : servers die worden gebruikt en up to date gehouden
Saas / software as service : google docs, …
Netwerken
 Mobiel netwerk: altijd en overal internet
Informatie
 Nieuwe presentaties bv QR codes
 Meer en meer ongestructureerde informatie waar structuur aan word herkent.
 Steeds meer gedrag georiënteerde informatie.
 Semantiek toevoegen aan informatie : HR/XML ..
Informatiesystemen
 DSS : toename rekencapaciteit
 TPS : in real time beursacties verwerken
 ECS: meer functionaliteit in tekstverwerkers, rekenbladen …
 Soorten beginnen te versmelten. Bv DSS en TPS.
 Steeds meer inter-organisatorische systemen
 Commoditizatie : hardware en netwerkverbindingen worden zo goedkoop dat ze quase
alomtegenwoordig beschikbaar zijn.
2.3 Conclusies
1. Informatiesysteemarchitectuur
 Gecentraliseerde architecturen => gedecentraliseerde architectuur
 Te weinig informatie digitaal beschikbaar => information overload
 1 soort, op 1 plaats => draagbare en niet-draagbare op elk moment en overal
 manueel => digitalisatie en automatisatie
2.



Hardware en netwerken
Enorme toename van performantie, vandaag nog steeds uitdagingen
Periode 1,2 : mainframes en PC
Periode 3,4 : vooruitgang netwerken
3.




Software
Veel minder technische vooruitgang dan die van hardware en netwerken
1. Programmeertalen : nog veel kenmerken van vroeger
2. Relationele databanken nog steeds dominant
3. Pakketten vereisen dat de eindgebruiker zich moet aanpassen aan het pakket.
Hiervoor vaak niet flexibel genoeg.
Momenteel opkomst : SOA ( service-oriented architecturen) : optimale compromis
Y2K probleem en wet van toenemende complexiteit : toename vraag naar flexibiliteit en
hoe complexer, hoe moeilijker men hier dus aan kan beantwoorden.


4. Informatie
 Verbreding van alle soorten informatie ( gestructureerde /ongestructureerde /semi/
transactie-gerelateerde / gedrags-gerelateerde )
 Vorm : tekstuele maar ook grafische presentatie
 Information overload, sommige informatie nog steeds niet digitaal beschikbaar
 Semantiek van data- en procesmodellen nog steeds bepaald door eindgebruikers in de
analyse fase van het watervalmodel : laatste jaren opkomst semantische standaarden
XBRL en HR XLM( niet in op alle domeinen zijn er standaarden : vaak
integratieproblemen hierdoor)
5.Informatiesystemen
 Toegenomen performantie : vebreding TPS en MIS, ECS en DSS( vooral bij DSS “big data”
of “data warehousing”)
 Batch verwerking => real time verwerking door toegenomen performantie van
hardware en netwerken
 Informatie systemen per departemens => organisatie-brede informatiesystemen ( bv
ERP of inter-organisatorische informatiesystemen)
 Strategische aard :
1st : IS verhoogde efficiëntie interne bedrijfsprocessen
2 : IS voor competitief voordeel te behalen : voor extern belanghebbende
3: ICT = commodity
6.Intergratie
 jaren ’60 : alle applicaties binnen een organisatie op zelfde mainframe, maar niet
geïntegreerd (geen eigen bestanden, niet dezelfde gegevens tegelijkertijd bewerken)
 Opkomst databank : eerste stap naar integratie
 Belangrijker : opkomst bedrijfsprocessen, ERP
 Incompatibele eilandapplicaties => 1 bedrijf omspannend standaardpakket
 Internet speelt grote rol : door web services communiceren de bouwblokjes van
software
 Toch nog steeds niet doel bereikt
7.Standaardistie
 Hardware en netwerken : duidelijke standaardisatie
 Internet :alle soorten en merken hardware kunnen gekoppeld worden.
 Software : programmeertalen beperkt , standaardnotatie voor object-georiënteerde
programmeertalen en modelleren van processen.
 Opkomst pakketten
 Web services en opkomst SOA’s = niet noodzakelijk tegenvb van standaardisatie maar
opkomst nieuwe technische standaarden
 Semantiek : minder gestandaardiseerd
 Gevolg standaardisatie = commoditizatie
( omdat die verschillen tussen hardware,software,netwerken en IS wegwerken, is het
niet meer een alomtegenwoordig/gratis goed) ??
HOOFDSTUK
3
Practicum : SQL
1.Introductie
SQL : structured query language
= taal om data in relationele databanken aan te maken ,bewerken en opvragen
= declaratieve taal voor DataBase Management Systems ( DBMS)
vb: Micrososft Acces
1. Onderdelen van SQL
Data definition language DDL
Commando’s die toelaten om de tabellen in een database aan te maken en aan te passen.
Vb : CREATE TABLE, ALTER TABLE, DROP TABLE
Data manipulation language DML
Commando’s die zorgen voor de invoer en bewerking van data in de database.
Vb : INSERT, UPDATE, DELETE
Data Query language DQL
Om bepaalde data op te vragen
SELECT ( enige commando in DQL)
Data Control Language DCL
Om toegangsrechten van gebruikers tot de data vast te leggen.
Transaction Control Commands TCL
Om groepen van commando’s die samen uitgevoerd moeten worden op te slaan.
2. Verklaring Syntax
Bij het verklaren van de syntax van SQL commando’s worden volgende afspraken gevolgd :
 Commando’s in hoofdletters; letterlijk overnemen
 Naam van variabele in kleine letters ; invullen om zo concrete en uitvoerbare
opdrachten te verkrijgen.
 Optionele delen van de syntax tussen vierkante haakjes plaatsen
 Op het einde van elk commando : punt komma schrijven om aan te tonen dat het
commando beëindigd is.
2. Data Definition Language
= gedeelte van SQL dat gebruikt wordt om de structuur van data in de database aan te maken.
De structuur van data wordt op drie manieren beschreven:
1.Definiëren van tabellen.
Per tabel het commando : CREATE TABLE gebruiken.
In dit commando wordt de tabelnaam vastgelegd die beschrijft welke data de tabel bevat en de
lijst van attributen die elk record van de tabel moet bevatten.
CREATE TABLE tabelnaam
(attributenlijst) ;
2. Het definiëren van datatype dat voor een bepaald attribuut moet worden gebruikt.
Vb :
Type
Verklaring
Int ( lengte)
Een Integer (geheel getal) Lengte geeft aantal
bytes weer die in het geheugen gereserveerd
worden voor 1 waarde van dit attribuut.
Varchar ( lengte)
String
Double ( lengte, decimalen)
Kommagetal, met het aantal gereserveerde
bytes en het aantal decimalen.
Date
Datum in het formaat YYYY-MM-DD
Blob
Een Binary Large Object
3. Per attribuut bijkomende constrains of beperkingen opleggen. Deze beperken de waarde die
aan het attribuut gegeven kan worden.
Primary key: welk attribuut van een record zorgt voor de identificatie.
2 records kunnen niet dezelfde waarde voor een attribuut hebben.
Ofwel apart id-attribuut aanmaken.
Bestaan attribuut gebruiken.
Combinatie van verschillende attributen gebruiken.
Elke tabel moet 1 primary key constraint hebben.
Aangegeven door PRIMARY KEY achter het datatype van de parameter/lijst attributen te
plaatsen.
Foreign key : Om naar records van een andere tabel te verwijzen. Verbanden tussen tabellen
maken.
Een attribuut dat een foreign key is verwijst naar primary key van andere tabel.
Weergegeven door toe te voegen achter attributenlijst :
FOREIGN KEY (attribuut) REFERENCES tabelnaam (primary key)
Beperking opleggen aan dat attribuut :
enkel verwijzen naar bestaande waarden van de primarykey.
NOT NULL : parameter mag niet worden leeggelaten
UNIQUE : moet uniek zijn, geen twee records met dezelfde waarde.
Zie voorbeeld pg 74.
3. Manipulation language
Commando’s worden gebruikt om data in te voeren (INSERT) , aan te passen (UPDATE) en te
verwijderen (DELETE).
De definitie van een tabel moet gekend zijn bij het ingeven van de data. Vb blz 75.1.
INSERT INTO tabelnaam ( attributenlijst)
VALUES (waardenlijst)
Om gegevens te verwijderen : DELETE commando. Rijen opgeven die verwijderd moeten
worden. Vb blz 75.2.
DELETE FROM tabelnaam
WHERE voorwaarde ;
Gegevens aanpassen : UPDATE. Alle rijen die aan de voorwaarde voldoen worden aangepast en
krijgen de nieuwe waarden die in het commando worden opgegeven. Vb blza 76.1
UPDATE tabelnaam
SET attribuut = waarde
WHERE voorwaarde;
4. Data query Language
Bevat SELECT commando om gegevens uit de tabellen op te vragen. Specifiek gebruik hiervan is
Query. : opzetten van queries is nodig om juist die data te selecteren die bruikbaar is om een
bepaalde bedrijfskundige vraag te beantwoorden.
1. Selectie en projectie
met welke verschillende opties kunnen gegevens uit een tabel worden opgevraagd.
Meest eenvoudige commando
SELECT * FROM tabelnaam ;
Resultaat : geeft alle records in de tabel (rijen) alle attributen (kolommen) weer.
Via projectie kan het aantal attributen beperkt worden.
Attribuutnamen die getoond worden, worden expliciet opgenomen in de query.
SELECT klantNaam FROM verkopen ;
Geeft enkel de klantennamen uit de tabel verkopen weer.
Via selectie kunnen resultaten ook beperkt worden.
Door toevoeging van een WHERE-zin wordt voorwaarde gespecifieerd.
Uitkomst is TRUE of FALSE.
Voor elke rij die weergegeven kan worden, wordt de VW getest.
Indien het de conditie TRUE oplevert, wordt het resultaat opgenomen.
Meeste voorwaarde met vergelijkingsoperatoren : =,>,<,=<,=> en <>.
Zie BLZ 77!
IS NULL = records selecteren waar een bepaald attribuut leeg is.
IS NOT NULL = records selecteren waarvan een bepaald attribuut niet leeg is.
IN = selecteert waar de waarde van attribuut voorkomt in een bepaalde groep waarden.
LIKE = geen exacte string vergelijken, maar een patroon. Patroon wordt uitgedrukt door % te
gebruiken.
BETWEEN = waarden binnen een bepaald bereik selecteren.
AND, OR en NOT kunnen gebruikt worden om combinaties van condities te maken.
2. Sorteren van resultaten
door toevoeging ORDER BY + attribuut : laat de volgorde van de records bepalen.
ASC / DESC : records in oplopende of aflopende waarden rangschikken.
Meerdere attributen kunnen worden opgegeven om binnen een set van records met dezelfde
waarden nogmaals een sortering uit te voeren.
Bv eerst op klanten naam en die met dezelfde klantennaam op productnaam.
Zie vb 1 BLZ 78.
3. Aggregaat functies
informatie van verschillende records samen vatten.
COUNT : Telt het aantal records waarvan het opgegeven attribuut niet leeg is.
Vaak weergegeven met * om alle attributen van een record aan te duiden.
DISTINCT : aantal verschillende waarden voor dat attribuut tellen.
Bij kolommen met numerieke functies kan men volgende aggregaat-functies gebruiken:
SUM(attribuut) : som van de opgegeven waarden van een attribuut
AVG(attribuut) : gemiddelde van de opgegeven waarden van het attribuut
MAX(attribuut) : retourneert de maximale waarden van het attribuut.
MIN(attribuut): retourneert de minimale waarde van het attribuut.
4. Groeperen van records
GROUP BY : records groeperen op basis van hun attribuut-waarden.
GROUP BY : alle records met dezelfde waarde voor alle attributen.
SELECT ProductNaam , SUM ( aantal) FROM verkopen GROUP BY productNaam ;
 een samenvatting van de waarden van een bepaalde groep records bekomen worden.
Hier groepeert men de records per productnaam en berekend men per groep het aantal
verkochte goederen.
HAVING : restricties opleggen aan groepen.
Enkel in combinatie met GROUP BY en moet er net achter geplaats worden.
Als resultaat ook FALSE of TRUE. Bij de conditie HAVING wordt het best getest na het groeperen.
Bij WHERE gebeurd de conditie getest voor het groeperen. VB blza 79.2
5. Joining
Alle voorgaande commando’s worden uitgevoerd op 1 tabel.
Nadelig want : data redundantie : heel vaak dezelfde data opgeslagen, bij update moet men op
verschillende plaatsen updaten.
Oplossing = gegevens splitsen over meerdere tabellen.
Om informatie over gegevens uit verschillende tabellen op te vragen voegt men meerdere
tabellen samen door “join”.
Equi join : records uit meerdere tabellen worden samengevoegd op basis van gelijke waarden
tussen een of meerdere velden in beide tabellen. = Als primaire key van een bepaalde tabel
wordt gebruikt als foreign key in een andere tabel.
SELECT kolomnamen
FRIL tabel1, tabel2
WHERE tabel1.kolom1 = tabel2.kolom 2
Indien attribuutnaam in verschillende kolommen voorkomt, moet men verduidelijken welke
men juist bedoeld. Hiervoor kan de naam van de tabel worden toegevoegd, gescheiden door een
punt.
6. Methode voor het opstellen van Queries
 welke tabellen zijn nodig?
 Welke joins moeten worden uitgevoerd?
 Welke records zijn er nodig? (selectie)
 Is een groepering van records nodig?
 Welke restricties gelden op groepsniveau?
 Welke attributen zijn gevraagd? ( projectie)
 Moet een bepaalde sortering toegepast worden?
Zie voorbeeld oefening.
Download