Hoofdstuk 7 : Systeemontwikkeling

advertisement
Vijfsporenmodel voor systeemontwikkeling
Informatiebeleid
Informatieplanning
Definitiestudie
Basisontwerp
Detailontwerp
applicatie
Organisatorische
inrichting
Handmatige
procedures
Opleiding
Voorbereiding
van
acceptatie
Voorbereiding
van
conversie
Voorbereiding
van invoering
Bouw
Integratie
en systeemtest
Proefconversie &
acceptatie
Conversie en invoering
Gebruik & beheer
PBA-positionering
Vooronderzoek/
systeemintegratie
Projectplanning
Projectuitvoering
Voorbereiden
organisatie
volgens PBA
Pakketselectie
Pakket
installeren
en testen
Maatwerk,
conversie &
raakvlakken
Pakketinvoering
Gebruik
en beheer
Voorbereiden
technologische
omgeving
Projectbeheersing
Producten van systeemontwikkeling
Systeemdocumentatie
Applicaties en testsets
(bibliotheken)
Overige producten
Systeemdocumentatie
Systeemdocumentatie
Plannen
Rapporten
Alleen tijdens
het project
Dossiers
Handleidingen
Blijven ook
na het project
Systeemontwikkeling: 3 onderdelen
Beschrijven
Construeren
Invoeren
Doel van beschrijven
het vaststellen en vastleggen van de functionele en
kwaliteitseisen die aan het te ontwikkelen systeem
gesteld worden
Beschrijven: functionele eisen
Voor het vastleggen van de functionele eisen bestaan
verschillende methoden, zoals:
• Entity-Relationship diagrammen
• Dataflow diagrammen
Beschrijven: 4 mogelijke strategieën
werkwijze
samenwerkin
g
analytisch
expert-gestuurd
participatief
experimenteel
De rol van prototyping
gebruik als:
typologie
prototyping
bereik
specificatiemethode
alleen
buitenkant
gebruikersinterface
alleen
binnenkant
cruciale
algoritmen
buiten- en
binnenkant
proeftuin
bouwmethode
Prototyping
• Geschikte gereedschappen
• Weggooi-prototype
Eenmalig gebruik in workshops
• Evolutionair prototype
Pre-release van een pilot, t.b.v. terugkoppelen van gebruikservaring
• Operationeel prototype
Toevoeging op bestaande, reeds ingevoerde pilot, t.b.v. nieuwe
iteratieslag
Constructie
het omzetten van de functionele en kwaliteitseisen naar
een werkend informatiesysteem (inclusief handmatige
procedures)
Constructie: methoden voor software-ontwikkeling
• programmeren
het ambachtelijk ontwikkelen van software m.b.v. 3e en 4e
generatie programmeertalen
• genereren
het automatisch genereren van software uit specificaties
• configureren
het configureren van generieke software (pakket) naar een
specifieke situatie
• assembleren
het assembleren van (bij voorkeur bestaande)
componenten tot één geheel
Constructie: strategieën
• one-shot:
eisen
• incrementeel:
bouwen
subset eisen
subset eisen
• evolutionair:
systeem
bouwen
bouwen
deelsysteem 1
deelsysteem n
eisen
beschrijven
bouwen
systeem
De rol van prototyping
gebruik als:
typologie
prototyping
bereik
specificatiemethode
bouwmethode
alleen
buitenkant
gebruikersinterface
aankleden:
rapporten
etc.
alleen
binnenkant
cruciale
algoritmen
verfijnen van
controles en
algoritmen
buiten- en
binnenkant
proeftuin
evolutionaire
ontwikkeling
Invoeren
het installeren en operationeel in gebruik nemen van een
informatiesysteem, met inbegrip van de
organisatorische veranderingen
Invoeren: strategieën
geografische dekking
systeemdekking
volledige
dekking
one-shot
incrementeel
evolutionair
stapsgewijze
dekking
Combinaties constructie-invoering
constructiestrategie
invoeringsstrategie
one-shot
one-shot
incrementeel
evolutionair
incrementeel
evolutionair
Ontwikkelstrategie
een manier waarop het ontwikkelen van een component
van een informatievoorzieningssysteem kan worden
aangepakt: een globale filosofie over de wijze waarop
ontwikkelactiviteiten en ontwikkelobjecten in de tijd
worden geordend
De ontwikkelstrategie is een combinatie van de strategie
voor beschrijven, de strategie voor construeren en de
strategie voor invoeren.
Het spiraalmodel van systeemontwikkeling
2
functionaliteit
3
detailontwerp en bouw
Naar: Boehm
1
doelstelling
plan van aanpak
4
beproeving
en evaluatie
radius = bestede inspanning of kosten
Invloeden op het spiraalmodel
De volgende parameters hebben invloed op de verschijning
van het spiraalmodel:
•
•
•
•
•
risico’s
afmeting van ontwikkeld object
oplevering na elke cyclus?
totale applicatie vooraf gepland?
relatie tussen opeenvolgende cycli
Ontwikkelmodel
een beschrijving van een standaardoplossing voor het
ontwikkelen van een informatiesysteem
Ontwikkelmethode
een vaste, weldoordachte manier van handelen om een
bepaald resultaat te halen
Gedegen systeemontwikkelingmethode
Een gedegen ontwikkelmethode biedt:
• Verifieerbare resultaten (producten)
• Duidelijke ontwikkelstappen (uitvoer, invoer en de relatie daartussen)
• Per ontwikkelstap en per product:
• regel/richtlijnen
• technieken
– werkwijzen
– afbeeldingswijzen
• hulpmiddelen
• Scheiding tussen projectdocumentatie en systeemdocumentatie
De keuze voor methoden en technieken
ontwikkelmodellen
keuze
bepaalt
gekozen ontwikkelstrategie
te gebruiken ontwikkelmethoden
en -technieken
ondersteunen
(geautomatiseerde)
hulpmiddelen
naar Bemelmans (1987)
Kort cyclische systeemontwikkeling
Workshops
Gebruikers èn ontwikkelaars
Ontwikkelscenario
Snelle ontwikkeling
Consensus over realistische specificatie
Pilotplan
Minder mijlpaalproducten
Minder formele validatie
Prototyping
Pilotontwerp
Workshops
Terugkoppeling
Systeemencyclopedie!
Beoordeling
& Test
Acceptatie
Beschrijven: kwaliteitseisen
Voor het bepalen van kwaliteitseisen bestaan verschillende
methoden, zoals:
• Kwaliteitsbehoefte-bepaling (KBB): het inventariseren
van kwaliteitsbehoeften bij belanghebbenden en
gebruikers, en op basis daarvan de kwaliteitseisen
afleiden
• Quality Function Deployment (QFD): het identificeren en
beschrijven van behoeften, wensen en verwachtingen van
afnemers en het relateren daarvan aan specificaties
Onderscheid behoeften/eisen/maatregelen
• behoeften:
wat de gebruiker wil
(tevreden gebruiker)
• eisen:
wat wordt er afgesproken
(beheersbare ontwikkeling)
• maatregelen:
hoe wordt het gemaakt
Kringloop productkwaliteit
Verifiëren en
valideren
BEHOEFTEN
Beschrijven
KWALITEITS-
EIGEN-
EISEN
SCHAPPEN
Verifiëren,
valideren en
bijstellen
Verifiëren
Ontwerpen
Bouwen
MAATREGELEN
Hulpmiddelen voor systeemontwikkeling
Er bestaan verschillende hulpmiddelen voor de verschillende
onderdelen van de systeemontwikkeling, zoals:
•
•
•
•
Analysis & Design tools (of upper-CASE-tools)
Development tools (of lower-CASE-tools)
GUI development tools
Repository based tools (of systeemencyclopedieën)
Bestaande tools ondersteunen vaak meerdere van deze
zaken.
Computer Aided Software Engineering (CASE)
Fasering
Technieken
Definitiestudie
Basisontwerp
upper-CASE-tools
Detailontwerp
Constructie
lower-CASE-tools
Ontwikkelen zonder systeemencyclopedie
bedrijfsinformatiemodel
informatiebeleid &
-planning
applicatie
globaal
ontwerp
initieel
ontwerp
constructie
en
invoering
bedrijfsvoering van
informatiesysteem
De rol van de systeemencyclopedie
informatiebeleid &
-planning
constructie
en
invoering
initieel
ontwerp
bedrijfsvoering van
informatiesysteem
systeemencyclopedie
alle systeemdocumentatie op één plaats
Fabrieksmatige aanpak
Analyse
Hergebruik
Assemblage
Assemblage &
constructie
Analyse &
ontwerp
Kennisbeheer
& -ontsluiting
Bedrijf
Informatievoorziening
Applicatie
Architectuurraamwerk
Realisatie
Evolutie in systeemontwikkeling
relatie:
gebruiker,
ontwikkelaar
ondersteuning:
ontwikkelomgeving/
tools
aanpak:
ontwikkelstrategie,
methode
Download