Inhoudsopgave
H1: Levenscyclus van informatiesystemen.............................................................................................3
1.0 Inleiding........................................................................................................................................3
1.1 Predictieve levenscycli..................................................................................................................4
1.2 Adaptieve levenscycli....................................................................................................................5
1.3 Methodologieën, technieken en tools..........................................................................................9
1.4 Conclusie....................................................................................................................................10
H2: Project management......................................................................................................................10
H2.1 Projectdefinitie.........................................................................................................................11
H2.2 Projectplanning........................................................................................................................11
H2.3 Haalbaarheid............................................................................................................................12
H2.4 Creatie van teams (=bestaffing) en lancering...........................................................................13
H2.5 Conclusie..................................................................................................................................13
H3: Vereisten verzamelen....................................................................................................................14
H3.1 Informatieverzameling.............................................................................................................14
H3.2 Modelleren...............................................................................................................................18
H4: Vereisten modelleren.....................................................................................................................19
H4.1 Events.......................................................................................................................................19
H4.2 Use cases..................................................................................................................................19
H5: Gestructureerde data-analyse.......................................................................................................22
H5.1 Universum van discussie..........................................................................................................22
H5.2 Entity-Relationship methode....................................................................................................22
H5.4 Relatie met programmatie.......................................................................................................24
Opmerkingen....................................................................................................................................24
H6: Gestructureerde procesanalyse.....................................................................................................25
H6.1 Abstraheren van Data Flow Diagrams......................................................................................25
H6.2 Detailleren van Data Flow Diagrams........................................................................................27
H6.3 Kwaliteit van Data Flow Diagrams............................................................................................28
H6.4 Documentatie van Data Flow Diagrams...................................................................................28
H6.5 Samenhang gestructureerde proces- en data- analyse............................................................29
H7: Objectgeoriënteerde data-analyse.................................................................................................30
H8: Object-georiënteerde procesanalyse.............................................................................................31
H8.1 Activity diagrams......................................................................................................................31
H8.2 System sequence diagrams......................................................................................................31
H8.3 Conclusie..................................................................................................................................33
,H9: Object-georiënteerd ontwerp........................................................................................................33
H9.1 Opbouw van een drie lagen architectuur.................................................................................34
H9.3 Afleiden van design class diagrams..........................................................................................36
H9.4 UML packages..........................................................................................................................36
Conclusie..........................................................................................................................................36
,H1: Levenscyclus van informatiesystemen
1.0 Inleiding
Levenscyclus bestaat uit een aantal stappen:
- Projectplanningsfase:
o scope vastleggen
o eerste schatting van budget en timing
o inschatting van technische en bedrijfskundige haalbaarheid
o Wat moet je juist bouwen? Wat zijn de risico’s => onzekerheid? Welke dingen kan je
niet bouwen en moet je de cultuur ofzo voor aanpassen?
- Analysefase:
o Vereisten verzamelen van de belanghebbenden
o Die vereisten modelleren
- Ontwerpfase:
o Ontwerp van verschillende aspecten bekijken:
Databank
Gebruikersinterface
Netwerkaspecten
Systeeminterface
Toepassingsarchitectuur
- Implementatiefase:
o Systeem programmeren
o Testen op integratie en acceptatie (vaak meerderheid van budget, vooral bij kritische
IS, zoals medische software of in aerospace)
o Data converteren (als je alles van fysieke records moet converteren kan dit duur zijn)
o Gebruikers trainen
o Software installeren
- Onderhoudsfase
o Gebeurt vaak door andere programmeurs dan implementatiefase
o Correctief onderhoud (debuggen)
o Adaptief onderhoud (bv IOS naar Android)
o Perfectief onderhoud (extra scherm toevoegen)
o Preventief onderhoud (code terug in orde brengen)
Je moet een keuze maken tussen predictieve of adaptieve levenscycli:
- Predictief: lage onzekerheid, gekende vereisten, laag technisch risico (programmeertaal, UI
en database allemaal al eens gebruikt in jouw bedrijf/project)
o Watervalmodel en diens varianten
- Adaptief: vereisten niet volledig gekend, vaak innovatievere projecten met hoog technisch
risico
, o Iteratieve en incrementele ontwikkeling, bv scrum, agile, spiraalmodel, etc
1.1 Predictieve levenscycli
- Watervalmodel (Royce, 1970):
o
o Door ingenieur van department of defense van de VS voorgesteld
o Strikt afgedwongen sequentiële uitvoering
o Documentgebaseerd: na elke fase een document dat formeel goedgekeurd moet
worden
Specification freeze: het resultaat van een fase wordt bevroren na
goedkeuring, kan niet terugkeren naar vorige fase
Gaat uit van specialisatie van mensen: op het einde van een fase wordt het
document de muur over gegooid naar een ander team. Bij volgende fase
moet je ervanuit gaan dat vorig team al naar volgend project is
Inconsistentie of onvolledige eisen die in ontwerpfase bovenkomen,
moeten dus door de programmeurs zelf opgelost worden
o Nadelen:
Falen van acceptatietest door aanpassingen die werden gemaakt vanwege
onvolledige eisen along the way, waardoor je niet voldoet aan eisen klant
Tegen tijd van acceptatietesten is budget en tijd eigenlijk al bijna op,
dus als je dan nog veel moet aanpassen, zit je in de problemen
Veel documentatie: duur en tijdrovend
Relatief traag door strikt sequentiële aanpak, je kan fasen niet in parallel
uitvoeren
Niet realistisch dat de vereisten perfect volledig, consistent en
ondubbelzinnig zijn van de eerste keer
Geen ruimte voor feedback of terugkoppeling van voorgaande fase bij
wijzigingen in eisen klant of in bedrijfskundige wereld
Is eigenlijk de grootste kritiek van industrie, dat je niet met
verandering om kan gaan
- Gemodificeerd watervalmodel
H1: Levenscyclus van informatiesystemen.............................................................................................3
1.0 Inleiding........................................................................................................................................3
1.1 Predictieve levenscycli..................................................................................................................4
1.2 Adaptieve levenscycli....................................................................................................................5
1.3 Methodologieën, technieken en tools..........................................................................................9
1.4 Conclusie....................................................................................................................................10
H2: Project management......................................................................................................................10
H2.1 Projectdefinitie.........................................................................................................................11
H2.2 Projectplanning........................................................................................................................11
H2.3 Haalbaarheid............................................................................................................................12
H2.4 Creatie van teams (=bestaffing) en lancering...........................................................................13
H2.5 Conclusie..................................................................................................................................13
H3: Vereisten verzamelen....................................................................................................................14
H3.1 Informatieverzameling.............................................................................................................14
H3.2 Modelleren...............................................................................................................................18
H4: Vereisten modelleren.....................................................................................................................19
H4.1 Events.......................................................................................................................................19
H4.2 Use cases..................................................................................................................................19
H5: Gestructureerde data-analyse.......................................................................................................22
H5.1 Universum van discussie..........................................................................................................22
H5.2 Entity-Relationship methode....................................................................................................22
H5.4 Relatie met programmatie.......................................................................................................24
Opmerkingen....................................................................................................................................24
H6: Gestructureerde procesanalyse.....................................................................................................25
H6.1 Abstraheren van Data Flow Diagrams......................................................................................25
H6.2 Detailleren van Data Flow Diagrams........................................................................................27
H6.3 Kwaliteit van Data Flow Diagrams............................................................................................28
H6.4 Documentatie van Data Flow Diagrams...................................................................................28
H6.5 Samenhang gestructureerde proces- en data- analyse............................................................29
H7: Objectgeoriënteerde data-analyse.................................................................................................30
H8: Object-georiënteerde procesanalyse.............................................................................................31
H8.1 Activity diagrams......................................................................................................................31
H8.2 System sequence diagrams......................................................................................................31
H8.3 Conclusie..................................................................................................................................33
,H9: Object-georiënteerd ontwerp........................................................................................................33
H9.1 Opbouw van een drie lagen architectuur.................................................................................34
H9.3 Afleiden van design class diagrams..........................................................................................36
H9.4 UML packages..........................................................................................................................36
Conclusie..........................................................................................................................................36
,H1: Levenscyclus van informatiesystemen
1.0 Inleiding
Levenscyclus bestaat uit een aantal stappen:
- Projectplanningsfase:
o scope vastleggen
o eerste schatting van budget en timing
o inschatting van technische en bedrijfskundige haalbaarheid
o Wat moet je juist bouwen? Wat zijn de risico’s => onzekerheid? Welke dingen kan je
niet bouwen en moet je de cultuur ofzo voor aanpassen?
- Analysefase:
o Vereisten verzamelen van de belanghebbenden
o Die vereisten modelleren
- Ontwerpfase:
o Ontwerp van verschillende aspecten bekijken:
Databank
Gebruikersinterface
Netwerkaspecten
Systeeminterface
Toepassingsarchitectuur
- Implementatiefase:
o Systeem programmeren
o Testen op integratie en acceptatie (vaak meerderheid van budget, vooral bij kritische
IS, zoals medische software of in aerospace)
o Data converteren (als je alles van fysieke records moet converteren kan dit duur zijn)
o Gebruikers trainen
o Software installeren
- Onderhoudsfase
o Gebeurt vaak door andere programmeurs dan implementatiefase
o Correctief onderhoud (debuggen)
o Adaptief onderhoud (bv IOS naar Android)
o Perfectief onderhoud (extra scherm toevoegen)
o Preventief onderhoud (code terug in orde brengen)
Je moet een keuze maken tussen predictieve of adaptieve levenscycli:
- Predictief: lage onzekerheid, gekende vereisten, laag technisch risico (programmeertaal, UI
en database allemaal al eens gebruikt in jouw bedrijf/project)
o Watervalmodel en diens varianten
- Adaptief: vereisten niet volledig gekend, vaak innovatievere projecten met hoog technisch
risico
, o Iteratieve en incrementele ontwikkeling, bv scrum, agile, spiraalmodel, etc
1.1 Predictieve levenscycli
- Watervalmodel (Royce, 1970):
o
o Door ingenieur van department of defense van de VS voorgesteld
o Strikt afgedwongen sequentiële uitvoering
o Documentgebaseerd: na elke fase een document dat formeel goedgekeurd moet
worden
Specification freeze: het resultaat van een fase wordt bevroren na
goedkeuring, kan niet terugkeren naar vorige fase
Gaat uit van specialisatie van mensen: op het einde van een fase wordt het
document de muur over gegooid naar een ander team. Bij volgende fase
moet je ervanuit gaan dat vorig team al naar volgend project is
Inconsistentie of onvolledige eisen die in ontwerpfase bovenkomen,
moeten dus door de programmeurs zelf opgelost worden
o Nadelen:
Falen van acceptatietest door aanpassingen die werden gemaakt vanwege
onvolledige eisen along the way, waardoor je niet voldoet aan eisen klant
Tegen tijd van acceptatietesten is budget en tijd eigenlijk al bijna op,
dus als je dan nog veel moet aanpassen, zit je in de problemen
Veel documentatie: duur en tijdrovend
Relatief traag door strikt sequentiële aanpak, je kan fasen niet in parallel
uitvoeren
Niet realistisch dat de vereisten perfect volledig, consistent en
ondubbelzinnig zijn van de eerste keer
Geen ruimte voor feedback of terugkoppeling van voorgaande fase bij
wijzigingen in eisen klant of in bedrijfskundige wereld
Is eigenlijk de grootste kritiek van industrie, dat je niet met
verandering om kan gaan
- Gemodificeerd watervalmodel