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