Vijfsporenmodel voor systeemontwikkeling Informatiebeleid Informatieplanning Definitiestudie Basisontwerp Organisatorische inrichting Detailontwerp applicatie Voorbe- reiding van accep- tatie Voorbe- reiding van con- versie Handmatige procedures Oplei- ding Bouw Voorbereiding van invoering Integratie en systeemtest Proefconversie & acceptatie Conversie en invoering Gebruik & beheer
PBA-positionering Projectuitvoering volgens PBA Vooronderzoek/ systeem- integratie Project- planning Project- beheersing Projectuitvoering volgens PBA Pakket- selectie Pakket installeren en testen Maatwerk, conversie & raakvlakken Voorbereiden technologische omgeving Voorbereiden organisatie Pakket- invoering Gebruik en beheer
Producten van systeemontwikkeling Systeemdocumentatie Applicaties en testsets (bibliotheken) Overige producten
Systeemdocumentatie Systeemdocumentatie Plannen Dossiers Hand- leidingen Rapporten Alleen tijdens het project 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 analytisch experimenteel expert-gestuurd samenwerking participatief
De rol van prototyping gebruik als: typologie prototyping bereik specificatie- methode bouw- methode alleen buitenkant gebruikers- interface bereik alleen binnenkant cruciale algoritmen buiten- en binnenkant proeftuin
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: incrementeel: evolutionair: eisen bouwen systeem bouwen subset eisen deelsysteem 1 bouwen subset eisen deelsysteem n eisen beschrijven bouwen systeem
De rol van prototyping gebruik als: typologie prototyping bereik specificatie- methode bouw- methode aankleden: rapporten etc. alleen buitenkant gebruikers- interface bereik verfijnen van controles en algoritmen alleen binnenkant cruciale algoritmen buiten- en binnenkant evolutionaire ontwikkeling proeftuin
Invoeren het installeren en operationeel in gebruik nemen van een informatiesysteem, met inbegrip van de organisatorische veranderingen
Invoeren: strategieën geografische dekking volledige dekking stapsgewijze dekking one-shot systeemdekking incrementeel evolutionair
Combinaties constructie-invoering constructiestrategie one-shot incrementeel evolutionair one-shot invoeringsstrategie 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 1 doelstelling plan van aanpak 4 beproeving en evaluatie 3 detailontwerp en bouw Naar: Boehm 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 gekozen ontwikkel- strategie bepaalt keuze te gebruiken ontwikkel- methoden en -technieken ondersteunen (geautomatiseerde) hulpmiddelen naar Bemelmans (1987)
Kort cyclische systeemontwikkeling Workshops Gebruikers èn ontwikkelaars Snelle ontwikkeling Consensus over realistische specificatie Minder mijlpaalproducten Minder formele validatie Prototyping Systeemencyclopedie! Ontwikkel- scenario Pilotplan Terug- koppeling Pilotontwerp Workshops 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 wat de gebruiker wil (tevreden gebruiker) wat wordt er afgesproken (beheersbare ontwikkeling) hoe wordt het gemaakt
Kringloop productkwaliteit BEHOEFTEN Verifiëren en valideren Beschrijven KWALITEITS- EISEN EIGEN- SCHAPPEN Verifiëren, valideren en bijstellen Verifiëren Ontwerpen Bouwen MAAT- REGELEN
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 Definitiestudie Basisontwerp Detailontwerp Constructie Technieken upper-CASE-tools lower-CASE-tools
Ontwikkelen zonder systeemencyclopedie bedrijfs- informatie- model globaal ontwerp appli- catie informatie- beleid & -planning constructie en invoering bedrijfs- voering van informatie- systeem initieel ontwerp
De rol van de systeemencyclopedie bedrijfs- voering van informatie- systeem informatie- beleid & -planning constructie en invoering initieel ontwerp systeem- encyclo- pedie alle systeemdocumentatie op één plaats
Fabrieksmatige aanpak Analyse Hergebruik Assemblage Analyse & ontwerp Assemblage & constructie Kennisbeheer & -ontsluiting Informatie- voorziening Bedrijf Applicatie Realisatie Architectuurraamwerk
Evolutie in systeemontwikkeling relatie: gebruiker, ontwikkelaar ondersteuning: ontwikkelomgeving/ tools aanpak: ontwikkelstrategie, methode