![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/a7c8a49a6daba5d6703a295153761ec4.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/a7c8a49a6daba5d6703a295153761ec4.jpeg)
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/cabd2ec8e42d22aa2edef2a23cab0b47.jpeg)
COLOFON
BoomBeroepsonderwijs
info@boomberoepsonderwijs.nl www.boomberoepsonderwijs.nl
Auteur:HansvanRheenen
Omslagfoto:DajaFotografie
Metdankaan:studentenendocentenvandeopleidingSoftwareDeveloper,mboRijnlandGouda
Titel:Softwaredeveloper
ISBN:9789037267426
Bronvermelding:AgentschapvandeEUvoorcyberbeveiliging(gegevensvanjuli2021-juli2022)
Eerstedruk
©2024BoomBeroepsonderwijs|Boom
BehoudensdeinofkrachtensdeAuteurswetgesteldeuitzonderingenmagnietsuitdezeuitgaveworden verveelvoudigd,opgeslagenineengeautomatiseerdgegevensbestand,ofopenbaargemaakt,inenigevormof openigewijze,hetzijelektronisch,mechanisch,doorfotokopieën,opnamenofenigeanderemanier,zonder voorafgaandeschriftelijketoestemmingvandeuitgever.
Voorzoverhetmakenvanreprografischeverveelvoudigingenuitdezeuitgaveistoegestaanopgrondvanartikel 16hAuteurswetdientmendedaarvoorwettelijkverschuldigdevergoedingentevoldoenaandeStichtingReprorecht (www.reprorecht.nl).Voorhetovernemenvaneen(ofmeerdere)gedeelte(n)uitdezeuitgaveinbijvoorbeeldeen (digitale)leeromgevingofeenreaderinhetonderwijs(opgrondvanartikel16,Auteurswet1912)kanmenzich wendentotStichtingUitgeversorganisatievoorOnderwijslicenties(Postbus3060,2130KBHoofddorp, www.stichting-uvo.nl).
CONCEPT
Deuitgeverheefternaargestreefddeauteursrechtenteregelenvolgensdewettelijkebepalingen.Degenendie desondanksmenenzekererechtentekunnendoengelden,kunnenzichalsnogtotdeuitgeverwenden.
Doorhetgebruikvandezeuitgaveverklaartukennistehebbengenomenvanenakkoordtegaanmetdespecifieke productvoorwaardenenalgemenevoorwaardenvanBoomBeroepsonderwijs,tevindenop www.boomberoepsonderwijs.nl
INLEIDING
Omeendiplomatekunnenkrijgenmoetjeaaneenhelereeksvoorwaardenvoldoen.Dezezijnopgesteldin samenwerkingmethetbedrijfslevenenvastgestelddoordeministervanOnderwijs,CultuurenWetenschap. Hieronderstaandekennisenvaardighedenwaaraanjemoetvoldoenomalsbeginnendberoepsbeoefenaaraan deslagtekunnenalsSoftwaredeveloper(Crebonr.25998).Hetvolledigekwalificatiedossieristevindenopde sitevandeStichtingSamenwerkingBeroepsonderwijsBedrijfsleven,oftewelS-BB: (https://www.s-bb.nl/onderwijs/kwalificatiestructuur/).
Metdezeleeromgevingwerkjeaandevolgendewerkprocessenenleerdoelen: Waarditboeknietovergaatishetfeitelijkprogrammerenencoderen.Daarvoorzijnverschillendeandermethode beschikbaar.
Kerntakenenwerkprocessen:
B1-K1:Realiseertsoftware
• B1-K1-W1:Stemtopdrachtaf,plantwerkzaamhedenenbewaaktdevoortgang
• B1-K1-W2:Maakteentechnischontwerpvoorsoftware
• B1-K1-W3:Realiseert(onderdelenvan)software
• B1-K1-W4:Testsoftware
• B1-K1-W5:Doetverbetervoorstellenvoordesoftware
B1-K2:VoertICT-projectenuit
• B1-K2-W1:Werktsamenineenprojectteam
• B1-K2-W2:Presenteerthetopgeleverdewerk
• B1-K2-W3:Evalueertdesamenwerking
CONCEPT
Programmerenencoderenzijndebelangrijkstebezighedenvaneendeveloper.Ditboekgaatdaarnietover.Dit boekgaatoverallezakendieomhetmakenvancodeheenvanbelangzijn.Inwelkeomgevingjeietsontwikkelt zalsterkafhangenvanhetbedrijfen/ofdetoepassing.OpdesitevanBoomBeroepsonderwijskunjevoorde verschillendeomgevingenlesmateriaalvinden.VoordevolgendeleerdoelenuitdekerntaakB1-K1:Realiseert softwarezijnandereleeromgevingenbeschikbaar.
Vakkennisenvaardighedendieindezeleeromgevingnietuitgebreidwordenbehandeld:
B1K1Realiseertsoftware
Debeginnendberoepsbeoefenaar:
• Heeftspecialistischekennisvanprogrammeertalen(syntaxensemantiek)
• Heeftbredekennisvanontwikkelingenophetgebiedvansoftware-development-tools,zoalsartificial intelligence,DevOpsenmetadata
• Heeftspecialistischekennisvanversiebeheertools,zoalsGIT,GIThub,PlasticSCM,SVNenAzureDevOps
• Heeftspecialistischekennisvansoftwareontwikkelingsprogramma’sen-tools,zoalsIDE’senAI-tools
• HeeftkennisvanontwikkelingenophetvlakvanICT-infrastructuurendevices,zoals'...asaservice'(SaaS, IaaS,PaaS),cloud,endeconsequentieshiervanvoorsoftwaredevelopment
• Heeftspecialistischekennisvandeprincipesvanobjectorientedprogramming(OOP),waaronderencapsulation, modularity,inheritance,polymorphism
• Heeftspecialistischekennisvansoftwareontwikkelingstechnieken,zoalsOOP,ECSenfunctioneelprogrammeren
• Kanrelevanteprogrammeertalenvoorsoftwareontwikkelingtoepassen(syntaxensemantiek)
• Kanrelevantesoftwareontwikkelingsmethodiekentoepassen,zoalsiteratiefofincrementeel
• Kanrelevantesoftwareontwikkelingsprogramma’sen-toolstoepassen,zoalsIDE’senAI-tools
• Kanrelevantesoftwareontwikkelingstechniekentoepassen,zoalsobjectgeoriënteerdprogrammeren,ECS enfunctioneelprogrammeren
Vakkennisenvaardighedendieindezeleeromgevingweluitgebreidwordenbehandeld:
B1K1 Realiseert software
Debeginnendberoepsbeoefenaar:
• Heeftbredekennisvanderelevanterisico’svanhetmakenvansoftwareindecontextvanhetvakgebied
• Heeftbredekennisvancybersecurityenbedreigingenvannetwerkenensystemen
• Heeftbredekennisvanrelevantewetgevingophetgebiedvanprivacy,copyrightenauteursrecht, toegankelijkheidencomputercriminaliteit
• Heeftkennisvanlicentiesengebruiksrechten
• Kandiagrammenlezen,interpreterenenmaken,zoalsUMLenERD
• Kangegevensverzamelingenomzetteninanderestructuren
• Kanontwerpeiseninterpreterenentoepassen
• Kantechniekenvoorinformatiebeveiligingtoepassen,zoalsS-SDLC.
• Kanversiebeheertoepassen
• Kanconformwetgevingengeldendebedrijfsnormenwerkenophetgebiedvanprivacy,intellectueel eigendomsrecht,toegankelijkheidencomputercriminaliteit
B1-K2: Werkt in een ontwikkelteam
Debeginnendberoepsbeoefenaar:
• Heeftbredekennisvaneenprojectmethodiek
• Heeftbredekennisvandeverschillenderollenwaarmeeeenprojectteamwerkt
• Kanduidelijkenbondigformuleren
• Kanverschillenderollenbinneneenprojectteaminnemen
• Kanvaktaalhanterenenverduidelijken(voortoehoorders)
• Kanmetbetrokkenencommunicerenoverwerkzaamhedenenontwikkelingeninhetwerkveld
• Kangesprekstechniekenhanteren
• Kanpresentatietechniekenhanteren
CONCEPT
• Kanprojectmatigwerkenvolgenseenprojectmethodiek
• Kaneenkeuzeonderbouwenmetinachtnamevandebelangenvaneindgebruikers
• Kanwerkenvolgensafgesprokensoftwareontwikkelingsmethodieken
• Kanreflecterenopkennisenhandelenvanzichzelfenhetteam
• Kanproblemensignalerenenoplossingsgerichtdaarophandelen
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/61427bba537ac8a5b62549cceb692b94.jpeg)
Blok1 Projectmatigwerken
CONCEPT
Leerdoelen
1. Jekuntdebelangrijkstekenmerkenvaneenprojectenhuneigenschappenbenoemen.
2. Jekunthetlinking-pin-principeendebelangrijkstekenmerkendaarvanbenoemen.
3. Jekunteenprojectplanlezenentoepassenenweetwelkeonderdelenineenprojectplanhorentestaan.
4. Jekuntdesterkteen/ofzwaktevaneenteammetbehulpvandeBelbinTeamCircleinbeeldbrengen.
5. Jekunteenplanningmaken.
Alsontwikkelaarvansoftwarezuljebijnaaltijdaanprojectenwerken.Somsietsheelkleins,datjealleenoplost, somsalsonderdeelvaneenheelgrootproject,metveeldeelprojecten.Maarmeestalietsdatdaartusseninzit quaomvang.Hetoverlegdatjemoetvoerenheeftdanookvaaktemakenmetjouwrolbinnenhetproject.Binnen eenprojectzalersprakezijnvaneenbepaaldevormvanprojectorganisatie Hoeenwathangtvandegebruikte methodiekaf.
Opdracht1 OriëntatieopdrachtProjectmatigwerken
Jewerktineengroepjevandrieofvierstudentenenbeantwoordtdevolgendevragen.
Jehebtinje(voor)opleidingvastweleensmeegewerktaaneenproject.Bespreekdebelangrijksteaspectenvan deprojectorganisatie.
• Watmoestjeregelen?
• Waarliepjetegenaan?
• Watginggoed?
• Watgingmindergoed?
• Watzoujeeenvolgendekeerandersdoen?
1.1 Project
Andersdaneenorganisatieiseenprojecteindig.Eenprojectheefteenduidelijkeindpuntdatvantevorenis gedefinieerd.Eenprojectiseeneenmaligeactiviteitmeteenduidelijkresultaat.Hetwordtmeestalvastgelegd ineenprojectplanengeregelddoorhetprojectmanagement.Binneneenprojectisdeinzetvanmensengeregeld envastgelegd.Eenvandedefinitiesvaneenprojectis:
Een project is een unieke opgave, begrensd in tijd en middelen en afgesloten met een projectresultaat.
Dekenmerkenvaneenprojectzijn:tijd,middelen,productenmanagement.
Tijd
CONCEPT
Eenprojectiseentijdelijkgegeven.Eenprojectkaneenweekdurenofeenaantaljaren,maarzalnooitoneindig doorlopen.Eenprojectheefteenvantevorenbeoogdeindpunt.Hetkomtvoordatbijdeeersteplanningvaneen projectdeeinddatumnognietisvastgesteld.Ditishetgevalalsdeduurvandetussenliggendestappennog onduidelijkis.
Middelen
Binneneenprojectspreektmenvan resources.Resourceszijnallemiddelendiebinnenhetprojectingezetworden. Ditzijnzowelmenselijkeinspanningenalsmaterialen.Beidevormenvanresourcesbrengenkostenmetzichmee enbepalendetotalekostprijsvanhetproject.Menstreefternaaromdeintezettenresourcesbijaanvangvan hetprojectvastteleggeneninteschatten.
Product
Opdeeinddatummoethetprojectuitmondenineeneindproduct.Erwordteenprojectopgezetomiets uitzonderlijksterealiseren.Denormaleorganisatiegaatgewoondoor.
Hetisheelbelangrijkeenduidelijkedoelstellingentehebbenbijeenproject.Dedoelstellingverschaftrichting enfocusvoorhetprojectteamenzalhelpenbijhetmetenvansucces.Daarbijvoorkomthetverwarringoverwat ermoetwordenbereikt.
Hetsuccesvaneenprojectkanwordenbeoordeeldaandehandvanhetbereikenvandedoelstellingen.Ookis belangrijkofhetbinnenhetbudgetendeplanningisuitgevoerd.Alshetgoedis,isersprakevanklanttevredenheid entevredenstakeholders.Eengoeduitgevoerdprojectheefteenpositieveimpactopdeorganisatie.Dedeelnemers zullenleerpuntenuithetprojectmeenemennaareeneventueelvolgendproject.
Management
Eenprojectheefteeneigenprojectmanagement.Hetprojectmanagementmoetervoorzorgendathetproject metdebeschikbaremiddelenbinnendeafgesprokentijdtoteengoedeindewordtgebracht.
Belangrijkeprojectstappen
Eenkenmerkvaneenprojectiseenduidelijkbegineneind.Vanbegintoteindwordenoverhetalgemeende volgendestappengezet:projectinitiatie,planning,uitvoering,monitoringencontroleenafsluiting.
Linkingpin
Veelgebruiktishetlinking-pin-principe Bijhetopzettenvaneenprojectwordtereenstuurgroepingericht.Die stuurgroeprichtéénofmeerprojectgroepeninendierichteniederweeréénofmeerwerkgroepenin.
Hetlinkingpin-principeverwijstnaardepersoondiefungeertalsdeverbindingtussenhetprojectteamenhet hogeremanagementineenorganisatie.Dezelinkingpinspeelteencrucialerolinhetoverbrengenvaninformatie, besluitvormingenhetwaarborgenvanhetsuccesvanhetproject.Hetlinkingpin-principezorgtvooreengoede communicatie,besluitvormingencoördinatietussenhetprojectteamenhetmanagement.Ditdraagtbijaanhet begripvandedoelstellingenenhetbehalenvandegewensteresultaten.Vaakisdeprojectmanagerofeen aangewezenleidinggevendedelinkingpin.Tochhoeftdatnietaltijdzotezijn.Eenervarenmedewerkerkanprima alslinkingpinfunctioneren.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/1a85b21c61c01b11f3a1215fb79a1747.jpeg)
Stuurgroep
Destuurgroepheeftdeleidingoverhetgeheleproject.Destuurgroepledenhoudenzichnietbezigmetdedagelijkse werkzaamhedenvoorhetproject.Zijkomenafentoebijeen,meestaléén-oftweemaalpermaand.Aande stuurgroepwordtgerapporteerddoordelinking-pin-ledenvandeprojectgroepoverdevoortgangvanelkproject. Destuurgroepscheptdevoorwaardenwatbetrefttijdengeldomdezevoortgangterealiseren.
Destuurgroepbestaatuitslechtseenkleinaantalpersonen.Desamenstellingkanbestaanuiteendirectielid,de accountant,deICT-managerendeprojectleider.
Figuur 1.1 Netwerk projectteam met linking pinsProjectgroep
Deprojectgroepheeftdedagelijkseleidingoverhetproject.Deprojectgroepkomtvaak,minimaaleensperweek, bijelkaar.Devoorzittervandeprojectgroepismeestaldeprojectleiderenindiehoedanigheidooklidvande stuurgroep.Deandereprojectgroepledenzijnverantwoordelijkvoordeproductendiehetprojectmoetopleveren.
Naastdeprojectleiderkunnenindeprojectgroepdevolgendefunctionarissenzitten:
• applicatiebeheerders
• automatiseerders
• controlefunctionarissen
• materiedeskundigen(eindgebruikers)
• organisatieadviseurs
• personeelsfunctionarissen
• technischesysteembeheerders
Desamenstellingisafhankelijkvandeaardvanhetproject.
Werkgroep
Omervoortezorgendatiederstalentengoedtothunrechtkomenennietiedereenzichmetallesgaatofhoeft tebemoeien,wordenerwerkgroepeningericht.Eenwerkgroepheefteenspecifieketaakbinnenhetproject.Elke werkgroepisbelastmetéénaspectvanhetproject.
Dezewerkgroepenzijnverantwoordelijkvoorhuneigenresultaten.Dewerkgroepleiderisdelinkingpinnaarde projectgroepenlegtverantwoordingafaandeprojectgroep.
Mogelijkewerkgroepen:
• Administratieveorganisatie
• Conversie
• Invoering
• Juridischeaspecten(Algemeneverordeninggegevensbescherming)
• Nazorg
• Ontwikkelingvandeverschillendedeelsystemen
CONCEPT
• Opleiding
• Testwerkgroep
Degebruikersvanhetproductzijnindewerkgroepeenbelangrijkonderdeel.Zijwetenwaarhetovergaaten kunnenvanuithunprofessieeenbelangrijkebijdrageleverenaaneenwerkgroep.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/0852c47ad82c83281b3601178365998e.jpeg)
Waarjeookineenprojectwordtingezet,vaakzaljedeelnameaanhetprojectmaareendeelvanjetijdbeslaan. Daaromishetbelangrijkdaterduidelijkeafsprakenwordengemaakt,ookoverjouwinzet.Wanneer,waarenmet welkebevoegdheidneemjedeelaanhetproject?Zelfsalsallesgoedisafgesproken,kunjenoginmoeilijke situatiesterechtkomen.Jehebtnamelijktemakenmettweeverschillendeleidinggevenden.Jehebteenfunctioneel leidinggevendeindevormvanjedirectechef.Maarindewerkgroephebjetemakenmeteenoperationeel leidinggevendeindevormvandewerkgroepleiderofdeprojectgroepleider.Watgajedoenalsjebaaszegt:‘We hebbeneenspoedklus,vandaagmagjeevennietaanhetprojectwerken’?Alsjehetgoeddoet,laatjedatdoor detweeleidinggevendenzelfuitzoeken.Brengzemetelkaarincontactenlaatzeeenoplossingbedenken.Wijs naardeafsprakenzoalszezijngemaaktbijdeinrichtingvanhetproject.
Opdracht2 HetProject
RaadpleegzonodigdetheoriebijHetproject.
a. Watiseenprojectenhoeverschilthetvandedagelijkseoperationeleactiviteitenbinneneenorganisatie?
b. Waaromishetbelangrijkomduidelijkedoelstellingentedefiniërenbijhetstartenvaneenproject?
c. Watzijnenkeleveelvoorkomendestappeninhetprojectmanagementproces?
CONCEPT
d. Hoeevalueerjehetsuccesvaneenprojectnadathetisafgerond,enwelkefactorenspelendaarbijeenrol?
e. Wathoudthetlinkingpin-principeinprojectmanagementin?
f. Waaromishetlinkingpin-principebelangrijkvoorhetsuccesvaneenproject?
g. Wiefungeertmeestalalsdelinkingpintussenhetprojectteamenhethogeremanagementineenorganisatie?
h. Watiseenrolindecontextvaneenproject?
i. Jewerktineengroepjevandrieofvierstudentenaandevolgendeopdracht:
Maakeenprojectvoorstelvooreenbedrijfdateennieuweproductwillanceren. Inditvoorstelgeefjeinvullingaandevolgendeonderdelen:
• DoelstellingenvanhetProject
• VerwachteResultaten
• TeBereikenMijlpalen
Hetgaatomeenproductdatkattenuitdetuinverjaagt.Ditmoetnatuurlijkopeendiervriendelijkemanier.
1.2 Projectplan
Softwarekanopbasisvanveelverschillendemethodiekenwordenontwikkeld.Maarinbijnaallegevallenligter eenvraagvaneenklantaantengrondslagenopbasisdaarvaneenprojectplan.Devraagvandeklantzalvaak resulterenineenPakketvanEisen(PvE)waaraandeontwikkelaarmoetvoldoen.Hetprojectplanzalinveel gevalleneenPlanvanAanpak(PvA)bevatten.Weonderscheidendrie‘hoofdmanieren’ophetgebiedvan software-ontwikkeling:dewatervalmethode,prototypingofdeiteratievemethode
CONCEPT
Inallegevallenzalersprakezijnvandebehoeftevaneenklant,waaraanvoldaanmoetworden.Eenklantwil graagwetenwaarhijaantoeis:‘Wanneerbeginnenwe?’,‘Wanneerishetklaar?’,‘Watgaathetkosten?’,‘Wat wordtervanmijverwacht?’,‘Wiezijnernogmeerbijbetrokken?’–enmogelijkzijnernogmeervragen.Dooreen projectplanteschrijvenwordthetvooreenklanttastbaarderenkrijgthijeenbelangrijkdeelvandeantwoorden opzijnvragen.
Wanneermetdeklantovereengekomenisdaterietsgemaaktgaatworden,moetereenplangemaaktworden vandeaanpak.Eenprojectplanwordtgebruiktomdeuitvoeringvanhetprojecttebegeleiden.Hetbelangrijkste doelvanhetprojectplanishetdocumenterenvandeplanningsaannamesenbeslissingen.Opbasisvanhet projectplanwordtdangemonitordofmijlpalengehaaldwordenenofermoetwordenbijgesteld.Hetprojectplan kanbestaanuitdevolgendeonderdelen:
• Inleiding
• Projectomschrijving
– Aanleiding
– Doelen
– Resultaat
– Afbakening
– Risico’s
– Effecten
– Randvoorwaarden
• Faseringenplanning
• Projectbeheersing(vantijd,geld,kwaliteit,informatieenorganisatie)
Takenenrollen
Taken
Ineengoedprojectteamzijndetakenslimverdeeld.Hetteambestaatuitspecialistenmetkennisenervaring. Dezekennisenervaringmoetenzoveelmogelijkbenutworden.Dewebdeveloperkanbesteensite-ontwerp maken,maarmisschienisereenmediadeveloperdiehetnogbeterkan.
Naastgespecialiseerdwerkmoetenerineenprojectooktakenwordenuitgevoerddienietexclusiefvoor specialistenzijn.Deprojectleiderzalindemeestegevallendevergaderingenvoorzitten.Maarwatalsde projectleidereenberoerdegespreksleideris?Kijkeenshoeeenanderhetalsgespreksleiderschapervanafbrengt. Zozijnerveelzakendiemoetengebeuren.Inallegevallenishetbelangrijkdatdepersoondiehetgeschiktstis vooreentaakdezeookkrijgttoegewezen.Jemoethierbijdenkenaan:
• Bijhoudenvanhetprojectarchief
• Documenteren
• Eindredactievanrapporten
• Makenvandeverslagen
• Onderhandelenmetopdrachtgevers
• Uittestenvaneersteversies
Jewiltgraaginhetprojectteamspelvreugdeencreativiteitontwikkelenenervoorzorgendatiedereengoed functioneert.
BelbinTeamrolmodel
Ineenteamzijnernietalleentaken,maarookrollen.Eenroliseenafspraakoverwelkgedragmenpersituatie vertoont.Hetisniethetgedragwatmenaltijdvertoont,maargedragdatisafgesproken.Jeweetprecieswatje aanelkaarhebt:‘AlsjijeenvoorstelhebtomaftewijkenvanhetPvAdangaikzeurendathettochnietkan.Samen zoekenwedaneenhaalbaarcompromis.’‘AlsHansweereensbegintmet‘Maar’danvraagjijhemnietalleenzijn bezwaartenoemen,maarookeenoplossingvoordatbezwaar.’
CONCEPT
Eenstrikterolverdelingkandecreativiteitendynamiekbinnenhetteambelemmeren.Tochishetbelangrijk afsprakentemakenomoverderolverdeling;duidelijkheidgaatbovenalles!Mogelijkkunnenafsprakenworden gemaaktoververschillenderollendieteamledenkunnenvervullen.
DebelangrijksteteamrollenzijndoordeBritseonderzoekerMeredithBelbinonderzochteninhetBelbin
Teamrolmodelalsvolgtomschreven:
Completer Finisher (Afronder)
DerolvanCompleterFinisherinhetBelbinTeamRoleModelverwijstnaareenteamliddatzichrichtophet perfectionerenenvoltooienvantaken.CompleterFinisherszijnvaaknauwgezet,zorgvuldigenkritischinhun werk.Zehebbenoogvoordetailenstrevennaarperfectiebijhetafrondenvanprojecten.
EnkelekenmerkenvaneenCompleterFinisherzijn:
1. Nauwgezetheid:CompleterFinishershebbendeneigingomzorgvuldigtewerkenenfoutenoptemerken. Zezijnvaakperfectionistischinhunstrevennaareenhoogniveauvankwaliteitinhetwerkdatzeleveren.
2. Punctualiteit:Zezijnzichbewustvandeadlinesenstrevenernaartakenoptijdafteronden.Zevoelenvaak eensterkeverantwoordelijkheidomervoortezorgendatallesvolgensplanverloopt.
3. Angstvoorcompromisinkwaliteit:Zekunnenaarzelenomtakenalsvoltooidtebeschouwenalszeniet aanhunhogenormenvoldoen.Ditkanervoorzorgendatzesomswatlangeraantakenwerkendananderen.
Resource Investigator (Brononderzoeker)
EenResourceInvestigatorisiemandinhetteamdieuitblinktinhetverkennenvanexternemogelijkheden,het leggenvancontactenenhetvindenvanbruikbareinformatiebuitenhetteam.Dezerolwordtbeschouwdals iemanddieenthousiast,communicatiefennieuwsgierigis.
EnkelekenmerkenvaneenResourceInvestigatorzijn:
1. Netwerken:ResourceInvestigatorszijngoedinhetleggenvancontactenenhetopbouwenvanrelaties buitenhetteam.Zezijnvaakinstaatominformatieenmiddelenvanexternebronnenaanteboren.
2. Enthousiasme:Zezijnvaakenthousiastenoptimistisch,waardoorzeandereninhetteamkunneninspireren. Ditenthousiasmekanookhandigzijnbijhetovertuigenvanmensenbuitenhetteamomsamentewerken ofmiddelentedelen.
3. Nieuwsgierigheid:ResourceInvestigatorshebbeneennatuurlijkenieuwsgierigheidenzijnbereidomnieuwe ideeënenbenaderingenteverkennen.Zezijnvaakproactiefbijhetzoekennaarkansen.
4. Flexibiliteit:Zekunnenzichsnelaanpassenaanveranderingenenonverwachtekansenbenutten.
Coordinator (Coördinator)
EenCoordinatorisiemandinhetteamdieuitblinktinhetcoördinerenvandeinspanningenvanhetteam,het delegerenvantakenenhetzorgenvooreengoedecommunicatietussenteamleden.Dezerolwordtvaak geassocieerdmetleiderschapenorganisatorischevaardigheden.
EnkelekenmerkenvaneenCoordinatorzijn:
1. Leiderschap:Coordinatorshebbenvaaknatuurlijkeleiderschapskwaliteiten.Zezijninstaatomhetteam testuren,doelentestellenentakenteverdelenopeeneffectievemanier.
2. Delenvanverantwoordelijkheid:Zezijnbereidomverantwoordelijkheidtenemenenzijncomfortabel methetdelegerenvantakenaanteamledenopbasisvanhunsterkepuntenenvaardigheden.
3. Goedecommunicatie:Coordinatorshebbensterkecommunicatievevaardighedenenkunneneffectief informatiedelenbinnenhetteam.Zefungerenvaakalshetverbindingspunttussenverschillendeteamleden.
4. Conflictbeheer:Zezijninstaatomconflictentebeherenendeharmoniebinnenhetteamtehandhaven.
Teamworker (Groepswerker)
CONCEPT
EenTeamworkerisiemandinhetteamdiegerichtisophetbevorderenvaneenpositieveteamdynamiek,het opbouwenvanrelatiesenhetcreërenvaneenharmonieuzewerkomgeving.Dezerolwordtgeassocieerdmet samenwerkingsvaardighedenenhetvermogenomgoedmetanderenomtegaan.
EnkelekenmerkenvaneenTeamworkerzijn:
1. Samenwerking:Teamworkersgedijenineenteamomgevingendragenbijaaneenpositievesfeer.Zezijn bereidomsamentewerkenenbijtedragenaanhetgroepsproces.
2. Empathie:Zehebbeneengoedbegripvandeemotiesenbehoeftenvanandereteamledenenzijninstaat omempathischtereagerenopverschillendesituaties.
3. Flexibiliteit:Teamworkerszijnvaakflexibelenbereidomzichaantepassenaandebehoeftenvanhetteam. Zevermijdenvaakconflictenenstrevennaarharmonie.
4. Socialevaardigheden:Zehebbensterkesocialevaardighedenenzijninstaatomeffectieftecommuniceren enrelatiesoptebouwenbinnenhetteam.
Monitor Evaluator (Monitor)
EenMonitorEvaluatorisiemandinhetteamdieuitblinktinhetanalyserenvaninformatie,hetnemenvan weloverwogenbeslissingenenhetbiedenvaneenobjectievekijkopdesituatie.Dezerolwordtgeassocieerdmet kritischdenkenenevaluatievaardigheden.
EnkelekenmerkenvaneenMonitorEvaluatorzijn:
1. Analytischdenken:MonitorEvaluatorshebbeneensterkanalytischvermogenenzijngoedinhetonderzoeken vancomplexevraagstukken.Zezijninstaatominformatiezorgvuldigteevalueren.
2. Objectiviteit:Zehebbendeneigingomobjectiefenonbevooroordeeldtezijnbijhetnemenvanbeslissingen. Zebaserenhunconclusiesopfeitenengegevens.
3. Weinigemotionelebetrokkenheid:MonitorEvaluatorskunneneenzekereafstandelijkheidhebbenten opzichtevanemotioneleaspectenvanbesluitvorming.Zezijnechterwaardevolvoorhetteamomdatze objectieveenrationaleperspectievenbieden.
4. Zorgvuldigheid:Zezijnvaakzorgvuldigennauwgezetbijhetnemenvanbeslissingen,enzevermijden overhaasteconclusies.
Plant (Plant)
EenPlantinditmodelisiemandinhetteamdiebekendstaatomzijnofhaarcreativiteit,innovatiefdenkenen vermogenomorigineleoplossingenvoorproblementebedenken.Dezerolisvaakgerichtophetgenererenvan nieuweideeënenhetverkennenvanalternatievebenaderingen.
EnkelekenmerkenvaneenPlantzijn:
1. Creativiteit:Plantszijnvaakzeercreatiefeninstaatombuitendegebaandepadentedenken.Zekomen vaakmetvernieuwendeenorigineleideeën.
2. Onconventioneeldenken:Zehebbendeneigingomconventioneledenkwijzentedoorbrekenenalternatieve perspectieventeverkennen.
3. Onvoorspelbaarheid:Plantskunnensomsonvoorspelbaarzijninhundenkprocessenenbenaderingen.Ze brengenvariatieenfrisheidinhetteam.
4. Zelfstandigheid:Zekunnengeneigdzijnomonafhankelijktewerkenenhebbenvaakbehoefteaanruimte omhuncreatievedenkprocessentedoorlopen.
Specialist (Specialist)
EenSpecialistisiemandinhetteamdiebeschiktoverdiepgaandekennisenexpertiseopeenspecifiekvakgebied. Dezerolwordtgeassocieerdmettechnischebekwaamheidenhetleverenvangespecialiseerdekennisdierelevant isvoordetaakofhetdoelvanhetteam.
CONCEPT
EnkelekenmerkenvaneenSpecialistzijn:
1. Diepgaandekennis:Specialistshebbeneengrondigekennisvaneenspecifiekvakgebiedenzijnvaakexperts opeenbepaaldgebied.
2. Focusopexpertise:Zeconcentrerenzichvaakophetleverenvangespecialiseerdebijdragenaanhetteam opbasisvanhunspecifiekevaardighedenenkennis.
3. Onafhankelijkheid:Specialistskunnenzelfstandigwerkenenhebbenvaakdeverantwoordelijkheidvoor specifieketakendieverbandhoudenmethunexpertise.
4. Beperktebetrokkenheidbuitenexpertisegebied:Zekunnenminderbetrokkenzijnbijbredere teamactiviteitendiebuitenhunspecifiekespecialismevallen.
Implementer (Uitvoerder)
EenImplementerisiemandinhetteamdieuitblinktinhetomzettenvanideeënenplanneninconcreteacties.
Dezerolisvaakgerelateerdaanpraktischeenorganisatorischevaardigheden,enImplementerszijngoedinhet vertalenvanconceptennaaruitvoerbarestappen.
EnkelekenmerkenvaneenImplementerzijn:
1. Praktischeoriëntatie:Implementershebbeneensterkepraktischeoriëntatieenzijngerichtophetvertalen vanabstracteplannennaartastbareresultaten.
2. Organisatievaardigheden:Zezijnvaakgeorganiseerdenefficiëntbijhetplannenenuitvoerenvantaken. Zehoudenrekeningmetdetailsenzorgenvooreensystematischeaanpak.
3. Betrouwbaarheid:Implementersstaanbekendomhunbetrouwbaarheidenvastberadenheidbijhet voltooienvantaken.Zewerkenvaakgestaagaanhetbehalenvandoelen.
4. Voorzichtigheid:Zekunnensomswatvoorzichtigzijnenvermijdenvaakonnodigerisico's.Zezorgenervoor datalleszorgvuldigwordtoverwogenvoordatactiewordtondernomen.
Shaper (Vormer)
EenShaperisiemandinhetteamdieuitblinktinhetvormgevenvandeactiesenbeslissingenvanhetteam.Deze rolisvaakgerelateerdaanleiderschap,dynamiek,enhetvermogenomuitdagingenaantegaan.Shaperszijn doorgaansassertiefenhebbeneensterkedrangomresultatentebehalen.
EnkelekenmerkenvaneenShaperzijn:
1. Assertiviteit:Shaperszijnvaakassertiefentonenvastberadenheidbijhetnastrevenvandoelen.Zezijnniet bangomstandpuntenintenemenenbeslissingentenemen.
2. Uitdaging:Zedagenanderenuitenstimulerenhetteamomdoelentebereiken.Shapersflorereninsituaties waarinactieenbesluitvaardigheidvereistzijn.
3. Ondernemend:Shapershebbenvaakeenondernemendeinstellingenzijnbereidrisico'stenemenom doelentebereiken.Zekunnenhoudenvanhetoverwinnenvanuitdagingen.
4. Resultaatgericht:Zezijnsterkgerichtopresultatenenhebbendeneigingomtestrevennaarefficiëntieen effectiviteitinteamactiviteiten.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/98aad31ad455132ce6404cad53f2c748.jpeg)
Blok1
Alseenteamuiteengrootaantalpersonenbestaat,moetomtebeginnenwordenbepaaldwelkerollenervan natureaanwezigzijn.Desterkteen/ofzwaktevaneenteamkunjemetbehulpvandeBelbinTeamCircleinbeeld brengen.Alsjeeengrotegroephebt,deeljedeelnemersin‘teams’vanongeveerviertotzesin.Alsjemeteen kleineregroepwerkt,hoefjedegroepnatuurlijknietoptesplitsen.
1. Vraagelkedeelnemerzichzelfdrierollentoetewijzendiehetbestbijhempassen.Laatditvoorelkteamlid ookdoortweecollega’sdoen.Vergelijkdeuitkomstenbepaalsameninwelkevolgordederollenhetbeste bijdiepersoonpassen.
2. ElkteamtekenteenBelbincirkelmetnegensecties,eenvoorelkvandeteamrollenvanBelbin.Vanelk teamlidwordendenamenindesegmentengezetdieovereenkomenmethunbovenstetweerollen.
3. Laathetteamvijfhoofdgebiedenbenoemenwaarvanzijdenkendatdaarhunsterkeenzwakkepunten liggen.
4. Hetteammoetdrieactiepuntenbedenkenopbasisvandebevindingen.Ditmoetenactiepuntenzijndie ervoorzorgendathetteambetergaatpresteren.
Faseringenplanning
Defaseringenplanningishetbelangrijksteonderdeeluithetprojectplan.Deprojectleiderzalditcontinugebruiken omdevoortgangtemonitorenendaarwaarnodigactieteondernemeneneenenanderbijtestellen.
Planning
Eenplanningis‘hetvoordetoekomstsystematischvoorbereiden’.Ditdoejedoorafstemmingenhetnemenvan beslissingendienodigzijnomeenbepaalddoeltebereiken.
Decomplexiteitvaneenplanningheeftnauwesamenhangmetdeomvangendecomplexiteitvanhetproject. Ofjeergensinjeeentjeaanwerktofdatjemeteenteamaaneenopdrachtwerkt,heefteendirecterelatietot hoedeplanningmoetwordenopgezet.
CONCEPT
Eriseenveelheidaanplanningssoftwarebeschikbaar,zowelgratisalscommercieel.Dekeuzevoorhetgebruik vanbepaaldesoftwarezalafhangenvangeldenervaring,maarvooralvandeaardvanhetproject.Vaakwordt ergebruikgemaaktvaneenspreadsheetenbouwtmeneeneigenplanningsomgeving.Vaakwordtergebruik gemaaktvaneenstrokenplanning.Aandehandvanwatvoorbeeldenwerkenwedezeuit.Devolgordewaarin takenmoetenwordenuitgevoerdnoemenweeentaakafhankelijkheidineenprojectplanning.Dieisinonderstaande planningduidelijkzichtbaar.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f035454ee240bfca407921c13702e547.jpeg)
Figuur 1.4 Planning Voorbeeld 1
Wanneerjealleenwerktvooreenklantenbijvoorbeeldeenappmoetgaanmaken,iseeneenvoudige strokenplanningvaakgenoeg.Indeplanningstaatwatjewanneergaatopleveren.Voorjouenjeklantisdit waarschijnlijkvoldoende.
InhetschemauitVoorbeeld1isteziendatdevoorbereidingenvoordeimplementatiealbeginnenvoordatde realisatieisafgesloten.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/341b1913d75a2db89dc1fb147d691f4d.jpeg)
Figuur 1.5 Planning Voorbeeld 2
Hetkanzijndaterwatmeerdetailleringnodigisindeplanning.AlsvoorbeeldziejeinVoorbeeld2demijlpaal Ontwerp,dieuittweesubdelenbestaan,demijlpaalFunctioneelontwerpendemijlpaalTechnischontwerp. Hetisookmogelijkdatermeerderepersonenbijhetprojectbetrokkenzijn,elkmethuneigen verantwoordelijkheden.Miekeweetdatzijinweek4hetFunctioneelontwerpmoetopleverenwilAhmadinweek 5kunnenstartenmethetTechnischontwerp Perfaseiserduidelijkwieereenrolheeft(actoren).
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/8ce4d694713dbf60a9ae73d6b7b542cf.jpeg)
Figuur 1.6 Planning Voorbeeld 3
CONCEPT
Hoegrotereenprojectwordt,hoenauwkeurigerdeplanningmoetwordenuitgewerkt.InVoorbeeld3ziejeeen uitwerkingvandemijlpaalFunctioneelontwerp.Dezebestaatuitdeactiviteiten:Vaststellenrequirements, Prioriteitrequirements,MakenusecaseenOpleverenfunctioneelontwerp. Eennogverdereuitwerkingvandeplanningzoukunnenbestaanuithetaantalurendatnodigis.Voordevoortgang zouerbijgehoudenkunnenwordenhoeveelprocentvaneenbepaaldeactiviteitofmijlpaalalgerealiseerdis.
Projectbeheersing
OnderprojectbeheersingziejevooreendeelprincipesvanPRINCE2terugkomenincombinatiemetdepunten diezijnbehandeldbijdeprojectomschrijvingendeprojectplanning.PRINCE2isdeopvolgervandemethode PRINCE,dieindejaren80isontwikkeldvoorICT-projecten.Hetbundelenvanpraktijkervaringen,zogenaamde bestpractices,ishierbijdekern.PRINCEisdoordeBritsesemi-overheidsinstellingdeOfficeofGovernment Commerce(OGC)ontwikkeldenwordtindeversiePRINCE2inbedrijveninEuropeselandengebruikt.Hetgaat omzakenals:
• beheersingvanhetbestaansrecht
• beheersingprojectscope
• beheersingtijdengeld
• beheersingkwaliteit
• beheersingoverigerandvoorwaarden
• beheersingvandeprojectrisico’s
• beheersingvandeprojectaanpak
Vanbelangisdatjehieraangeefthoe,doorwieenwanneerdeprojectvoortgangindegatenwordtgehouden.
Hetzouheelgoedkunnenzijndatdeopleveringvanelkemijlpaalofactiviteiteenmomentisomeventekijken ofenhoedevolgendestapmoetwordengezet.IndepraktijkwordtPRINCEinsteedsminderontwikkelomgevingen toegepast.
Opdracht3 Hetprojectplan
RaadpleegzonodigdetheoriebijHetprojectplan.
a. Watisdebelangrijksteinputvoorhetprojectplan?
b. Watzijndebelangrijkstetakenineenprojectteamsoftware-ontwikkeling?
c. OverwelkeeigenschappenmoeteenGroepswerkerbeschikken?
d. OverwelkeeigenschappenmoeteenUitvoerderbeschikken?
CONCEPT
e. Werksamenmeteengroepjevanviertotzesstudentenenvormeenteam.VulmethetteamdeBelbinTeam Circlein.Bepaaleerstoverwelkeeigenschappenelkteamlidbeschikt.Neemvoorbeschrijvingvanderollen detheoriedoor.
Gaalsvolgttewerk:
• Elkedeelnemermeetzichzelfdrierollentoediehetdichtstbijhemindebuurtzitten.
• Vergelijkdeuitkomstenbepaalalsteaminwelkevolgordederollenhetbestebijdiepersoonpassen.
• TekenteenBelbin-cirkelmetnegensecties,eenvoorelkvandeteamrollenvanBelbin.
• Zetvanelkteamliddenamenindesegmentendieovereenkomenmethunbovenstetweerollen.
f. Watishetbelangvanhetbenoemenvanrisico’sindeprojectomschrijving?
g. Uitwelkeonderdelenkaneenprojectplanbestaan?
h. Geefeendefinitievan'planning'.
1.3 Projectomschrijvingprojectplan
Deprojectomschrijvingkanbestaanuitdevolgendeonderdelen:
• aanleiding
• doelen
• resultaat
• afbakening
• planning
• risico’s
• randvoorwaarden
Aanleiding
Onderditkopjegeefjeaanwatdeaanleidingisomhetprojecttestarten.Vaakisdateenprobleemdatopgelost moetworden.
Doelen
CONCEPT
Hiergeefjeaanwathetdoelisdatmetdeuitvoeringvanhetprojectmoetwordenbereikt.Omdateenproject meestalbestaatuiteenaantalelkaaropvolgendefasenzuljeperfasededoelenomschrijven.Ditwordenook weldemijlpalengenoemd.
Resultaat
Bijhetresultaatmoetexactwordenaangegevenwateropgeleverdmoetworden.Hierbijmoetjezoconcreet mogelijkelkopteleverenproductbenoemen.Benoemdecrucialesuccesfactoren,deonderdelenwaarop geconcludeerdkanwordenofhetprojectisgeslaagdofjuistismislukt.Hetisverstandigomeenduidelijke afbakeningtemakendoorookdezakentebenoemendienietdoorhetprojectwordenopgeleverdofdoorde beperkingentenoemen.Ditnoemenweookweldemijlpaalproducten
Afbakening
Heelbelangrijkishetmanagenvanverwachtingen.Datdoejedoorduidelijkaantegevenwaterwelenwater nietwordtgedaan.Hoeduidelijkerjeditdoet,hoeminder‘gezeur’jehoeftteverwachten.Deafbakeningkanje halenuitdeMoSCoW-methodedieinhetProgrammavaneisenisopgesteld.ZiehiervoorookBlok3Veiligen betrouwbaarsoftwareontwikkelen.
Planning
Eenplanningishetvoordetoekomstsystematischvoorbereiden.Ditdoejedoorhetopelkaarafstemmenenhet nemenvanbesluitendienoodzakelijkzijnomeenbepaalddoeltebereiken.Dedetailleringzalafhangenvande aardendeomvangvanhetproject.Hettoepassenvaneenstrokenplanningismeestalbehulpzaam.
Risico’s
Aanelkprojectzijnrisico’stekoppelendieeensuccesvolafsluitenvanhetprojectindewegkunnenstaan.Vaak zijndiealineenvroegstadiumzichtbaar.Doorzeduidelijktebenoemen,zijnzegoedinbeeldenkaneropgestuurd wordenomzezoveelmogelijktevermijden.Eenrisicowordtbepaalddoordekansopfouten.Maarbedenkdat hetrisicovaneentaalfoutopdewebsitevaneenandereordeisdanbijvoorbeeldhetrisicovanhetnietoptijd afrondenvandewebsite.Hetisbelangrijkomrisico'stewegenenrekeningtehoudenmetdeimpactervan.Daar kandeprojectleideropsturen.
Randvoorwaarden
Methetbenoemenvanderandvoorwaarden(ookweldeuitgangspuntenwaaronderhetprojectuitgevoerdmoet worden),kunjeeendeelvanderisico’sverkleinen.Debeschikbaarheidvanmensenenmiddelenishierbijeen belangrijkonderdeel,zoalswieverantwoordelijkisvoorderealisatie.Ditmaakthetdeprojectleidermakkelijk ommensenaantesprekenalserproblemendreigenteontstaan.
CONCEPT
1.4 Begrippenlijst
BelbinTeamCircle
EenvisueleweergavevanhetBelbinTeamrolmodel.
BelbinTeamrolmodel
Eenmodeldatnegenverschillendeteamrollendieindividuenkunnenaannemenineenteamidentificeert,op basisvanhunnatuurlijkeneigingenengedrag.
CompleterFinisher
EenBelbinteamroldiebekendstaatomhetzorgvuldigafrondenvantakenenervoorzorgendatallestotinde puntjesisvoltooidvoordathetprojectwordtafgerond.
Coordinator
EenBelbinteamroldiegekenmerktwordtdoorleiderschap,organisatievaardigheden,enhetvermogenomhet teamtecoördinerenentesturennaarhetbehalenvandoelstellingen.Coördinatorenzijninstaatomteamleden tebeïnvloeden,beslissingentenemenwanneerdatnodigis,eneenpositieveteamomgevingtebevorderen.
Functioneelleidinggevende
Ookwelbekendalseenlijnmanager,eenmanagerbinneneenorganisatiedieverantwoordelijkisvoorhetbeheer vaneenspecifiekefunctieofafdeling.
Functioneelontwerp
Eendocumentdatgedetailleerdeinformatiebevatoverdefunctiesenhetgedragvaneensysteem, softwaretoepassingofproduct.
Implementer
EenBelbinteamroldiewordtgekenmerktdoorpraktischdenken,organisatorischevaardighedeneneen systematischeaanpakvantaken.
CONCEPT
Iteratievemethode
Eenontwikkelingsbenaderingwaarbijhetontwikkelingsproceswordtopgesplitstinherhaaldecycliofiteraties.
Linking-pin-principe
Eenprincipedatverwijstnaarhetideedatleidersopverschillendehiërarchischeniveausineenorganisatieals schakels(linkingpins)fungerentussenbovenliggendeenondergeschikteniveaus.
Mijlpaal
Eenspecifiekenbelangrijkpuntindetijdbinneneenproject,datvaakwordtgemarkeerddoorhetbereikenvan eenbepaalddoelofhetvoltooienvaneenspecifiekefasevanhetproject.
Mijlpaalproducten
Ookweleendeliverablegenoemd,eentastbaarresultaatofeenspecifiekproductdatwordtgeproduceerden geleverdalsonderdeelvaneenprojectopeenspecifiekpuntindetijd
MonitorEvaluator
EenBelbinteamroldiewordtgekenmerktdooranalytischdenken,objectiviteitenhetvermogenomstrategische beslissingentenemen.
Operationeelleidinggevende
Ookweloperationeelmanagergenoemd,isverantwoordelijkvoorhetdagelijksebeheerendeuitvoeringvan operationeleactiviteitenbinneneenorganisatie.Dezeleidinggevenderichtzichophetwaarborgenvanefficiëntie, effectiviteitensoepelebedrijfsprocessenomdeoperationeledoelstellingentebereiken.
PRINCE2
PRINCE2staatvoorProjectsINControlledEnvironments,eengestructureerdeprojectmanagementmethode.Het biedteenduidelijkkadervoorhetorganiseren,beherenenuitvoerenvanprojecten.
PakketvanEisen(PvE)
Eendocumentwaarindefunctioneleentechnischeeisenwordenbeschrevendieeenopdrachtgeverheeftvoor eenbepaaldproject.
PlanvanAanpak(PvA)
Eengestructureerddocumentdatdeaanpak,methodologieenplanningbeschrijftvoorhetsuccesvoluitvoeren vaneenproject,taakofactiviteit.
Plant
EenBelbinteamroldiewordtgekenmerktdoorcreativiteit,originaliteitenvernieuwenddenken.Plantszijnvaak visionairenhebbendeneigingomuniekeideeënenconceptentegenereren.
Project
Eenuniekeopgave,begrensdintijdenmiddelenenafgeslotenmeteenprojectresultaat.
Projectgroep
Eentijdelijkegroepvanindividuendiezijnsamengebrachtomgezamenlijkaaneenspecifiekprojecttewerken.
Projectmanagement
Hetteamdatervoormoetzorgendathetprojectmetdebeschikbaremiddelenbinnendeafgesprokentijdtot eengoedeindewordtgebracht.
CONCEPT
Projectorganisatie
Eentijdelijkestructuurdiewordtopgezetomeenspecifiekprojectuittevoeren,hetomvatdemensen,rollen, verantwoordelijkhedenencommunicatielijnendienodigzijnomhetprojectsuccesvoltevoltooien.
Projectplan
Eendocumentdatdescope,doelstellingen,activiteiten,resources,planning,risico'senandererelevanteaspecten vaneenprojectbeschrijft.
Prototyping
Eenontwikkelingsbenaderingwaarbijeenvoorlopige,representatieveversievaneensysteemofproductwordt gemaaktomideeëntevisualiseren,functionaliteittedemonstrerenenfeedbackteverzamelen.
Requirements
Gedetailleerdebeschrijvingenvanwateensysteem,productofdienstmoetkunnendoenomtevoldoenaande verwachtingenenbehoeftenvanbelanghebbenden.
ResourceInvestigator
EenBelbinteamrolbekendomhetverkennenvanexternebronnen,hetleggenvancontactenenhetaantrekken vannieuweideeënenmogelijkhedenvoorhetteam.
Shaper
EenBelbinteamroldiewordtgekenmerktdoordynamiek,vastberadenheidendewilomdoelentebereiken. Shaperszijnvaakassertief,energiekenhebbeneensterkefocusopresultaten.
Specialist
EenBelbinteamroldiewordtgekenmerktdooreendiepgaandekennisenexpertiseopeenspecifiekgebied. Specialistenbeschikkenoveruniekevaardighedenentechnischeknowhowdieessentieelzijnvoorhetteam.
Stakeholders
Eenpersoon,groepoforganisatiediebelangheeftbijofbeïnvloedwordtdooreenbepaaldproject.
Stuurgroep
Eengroeppersonenbinneneenorganisatiedieverantwoordelijkisvoorhetsturenenbewakenvaneenproject ofprogramma.
Teamworker
EenBelbinteamroldiewordtgekenmerktdoorsociaalgedrag,empathieenhetvermogenomharmoniebinnen hetteamtebevorderen.Teamworkerszijngoedeluisteraars,ondersteunend,endragenbijaaneenpositieve teamdynamiek.
Technischontwerp
Eengedetailleerddocumentdatspecifieketechnischeaspectenvaneensysteem,softwaretoepassingofproduct beschrijft.
Watervalmethode
Eentraditionelebenaderingvansoftwareontwikkeling.Indezemethodewordthetontwikkelingsprocesopgedeeld inverschillendefasenenelkefasemoetvolledigwordenvoltooidvoordatdevolgendebegint.
Werkgroep
CONCEPT
Eenkleinegroepmensenbinneneenorganisatiedieissamengekomenomaaneenspecifieketaak,projectof doeltewerken.
1.5 Praktijkopdrachten
Opdracht4 Projectplanning
a. VormmeteengroepjevanviertotzesstudenteneenteamenvuldeBelbinTeamCirclein.Bepaaleerstover welkeeigenschappenelkteamlidbeschikt.Neemvoorbeschrijvingvanderollendetheoriedoor.
Gaalsvolgttewerk:
• Elkedeelnemerkiestdrierollendiegoedbijzichzelfpassen.
• Elkteamlidlaatzichookdrieteamrollentoebedelendoorminimaaltweeandereteamleden.
• Vergelijkdeuitkomstenbepaalalsteaminwelkevolgordederollenhetbestebijdiepersoonpassen.
• TekeneenBelbin-cirkelmetnegensecties,eenvoorelkvandeteamrollenvanBelbin.
• Zetvanelkteamliddenamenindesegmentendieovereenkomenmethunbovenstetweerollen.
• Beoordeel,opbasisvandeingevuldecirkel,ofjullieeengoedprojectteamzoudenzijnenbenoemaan welkekwaliteitjulliebehoeftehebbenomhetprojectkansvanslagentegeven.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/98aad31ad455132ce6404cad53f2c748.jpeg)
b.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/341b1913d75a2db89dc1fb147d691f4d.jpeg)
Bovenstaandeplanningiseenplanningophoofdlijnen.Daarmeeisdeplanningnognietaf;eengoedeplanning vraagtmeerdetail.Zozaleringeschatmoetenwordenhoeveeltijdeenbepaaldonderdeelkostenermoet kunnenwordenbijgehoudeninhoeverreeenonderdeelisafgerond(inpercentages).Alshetfunctioneel ontwerpklaaris,valterookeengoedeinschattingtemakenvanhetvervolg.Maakdeplanningverderafvanaf hettechnischontwerp.Gebruikhierbijdevolgendegegevens.
• Voegnadekolomverantwoordelijkeeenkolom"Urennodig"eneenkolom"%voltooid"toe.
• StappenTechnischontwerp:
– VertaalhetFunctioneelontwerpnaartechnischespecificaties.
– Maakeengrafischontwerpvandeuserinterface.
– Ontwerpeenrelationeeldatamodel.
– LeverhetTechnischontwerp.
• StappenInrichtenontwikkelomgeving:
– Inventariseerdebenodigdeonderdelenvoorderealisatie.
– Installeerenconfigureerdeontwikkelomgeving.
– Testdeontwikkelomgeving.
– Documenteerdeinstellingenenwijzigingen.
• StappenRealisatie:
– Opleverendeelproduct1.
– Opleverendeelproduct2.
– Opleverendeelproduct3.
CONCEPT
– Opleverendeelproduct4.
• StappenImplementatie:
– Steleenacceptatietestopvoordeapplicatie.
– Begeleidenvandeacceptatietest.
– Beschrijfeventueleaanpassingen.
– Werkdedocumentatievandeapplicatiebij.
– Evalueerhetproductmetdebetrokkenen.
– Evalueerhetprocesmetdebetrokkenen.
– Legditvastineenevaluatieverslag.
– Laathetevaluatieverslagaccorderen.
1.6 Terugblik
Opdracht5 Terugblik
Zeteenkruisjeindekolomdievoorjouvantoepassingis.
Beoordelingscriteria
Jekuntdebelangrijkstekenmerkenvaneenprojectenhuneigenschappenbenoemen.
Jekunthetlinking-pin-principeendebelangrijkstekenmerkendaarvanbenoemen.
Jekunteenprojectplanlezenentoepassenenweetwelkeonderdelenineenprojectplan horentestaan.
Jekuntdesterkteen/ofzwaktevaneenteammetbehulpvandeBelbinTeamCirclein beeldbrengen.
Jekunteenplanningmaken.
Opdracht6 Terugblik
Denknaoverwatjehebtgedaaninditblok.
a. Noemtweedingenwaaroverjetevredenbent. 1.
b. Noemtweedingendiejedevolgendekeeranderswiltdoen.
CONCEPT
c. Vraagjedocenten/ofleermeesteromfeedback.
Tops:
Tips:
Nee JaCONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/9e7bb0c317d06f2eef8291ea104b1550.jpeg)
Blok2 Ontwikkelmethode
CONCEPT
Leerdoelen
• Jekuntdeverschillendeontwikkelmethodiekenonderscheiden.
• Jekuntdebelangrijkstevoorennadelenvandeverschillendeontwikkelmethodiekentegenelkaarafwegen.
• Jekuntalsdeveloperfunctionerenineenrolbinnenéénvandeontwikkelmethodieken.
Erzijnveelverschillendemethodenomsoftwareteontwikkelen.Debedoelingvanhetgebruikvaneen software-ontwikkelmethodiekisomhetsoftware-ontwikkeltrajectbinnendevastgesteldetijdenhetbudgetaf teronden.Alvanafhetbeginvansoftware-ontwikkelingismenopzoeknaardeidealemethode.Indepraktijk blijktdatdienietbestaat.Deomvangendeaardvaneentraject,demensenenbeschikbaremiddelenzijnallemaal factorendiemeespelen.Injouwpraktijkzuljemetverschillendemethodentemakenkrijgen.Daaromishet belangrijkdatjeopdehoogtebentvandebelangrijkstekenmerken.
Opdracht1 OriëntatieopdrachtOntwikkelmethode
Dezeopdrachtvoerjeuitineengroepjevandrieofvierstudenten.
Bekijkdeuitlegvideo Scrum: waterval vs. agile inBoomDigitaal.
DezevideoprobeerthetverschiltussendeAgile-endeWatervalmethodeteduiden.Ditfilmpjeisduidelijkgemaakt doorvoorstandersvandeAgile-methodiek.Bedenkmetjegroepjeeenaantalargumentenvoorhettoepassen vandeWatervalmethode(hetgrotekanon).
2.1 Watervalmethode
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/687d8bc61940c72129cc70ad7329042a.jpeg)
Figuur 2.1 Watervalmethode
DeWatervalmethodevraagtveelervaring.Zelijktergopwaterindebouwgebeurteniszogenoemdomdathet ontwikkelprojectineenaantalduidelijkefasenalseenwatervalvloeiendnaarbenedenloopt.Omtebeginnen laateenbedrijfoforganisatieonderzoekdoennaardebehoefte.Ditismeteendebelangrijkstefase.Alshetlukt omduidelijkvastteleggenwatdebehoefteis,danisdekansreëeldathetprojectgaatslagen.Vervolgenskomt ereentrajectvanontwerp,realisatie,implementatieengebruikenbeheer.DebekendsteWatervalmethodeis SDM.
SDM
SDMkentzevenfasendieineenvastgesteldevolgordewordenafgewerkt.Heteindevaneenfasewordteen mijlpaalproductgenoemd.Voorelkefasewordendanookmijlpaalproductenbeschreven,dezakendieopgeleverd wordenaanheteindevandezefase.Jekuntpasmetdevolgendefasebeginnenalsdemijlpaalproductenzijn goedgekeurddoordeopdrachtgever.Wanneereenmijlpaalproductisgoedgekeurd,isditvastgesteldenkanhet nietmeerwordenaangepast.
Debelangrijkstevoordelenhiervanzijndatdevoortganggoedkanwordengevolgd.Omdatereenplanningmet deadlineswordtgebruikt,kangecontroleerdwordenofdevoortgangvanhetprojectopschemaligt.
FasenvanSDM
Fase0–Informatieplanning
Indeeerstefasewordteenanalysegemaaktvandehuidigesituatieenvanmogelijkeoplossingenvoorhet probleem.Demijlpaalproductenzijn:
• Hetidentificerenenvaststellenvandeinformatiebehoeftenvandeorganisatie.
• AnalysevanBedrijfsprocessen,hetbegrijpenvandebestaandebedrijfsprocessenbinnendeorganisatie.
• Stakeholderbetrokkenheid,betrekkenvanbelanghebbendenbinnendeorganisatie,waarondermanagers, medewerkersenandererelevantepartijen,omervoortezorgendatdeinformatiebehoeftenvolledigworden begrepenengeïntegreerd.
• DefiniërenvanInformatie-architectuurdoorhetopstellenvaneenblauwdrukofarchitectuurvoorhoeinformatie wordtgeorganiseerd,opgeslagen,verwerktenuitgewisseldbinnendeorganisatie.
• InformatiebeveiligingenPrivacyvandeinformatie.
• TechnologischeVereistendoorhetbepalenvandetechnologischeinfrastructuurdienodigisomde informatiebehoeftenvandeorganisatieteondersteunen.
• OntwikkelenvaneenInformatiestrategievoorhetbeherenengebruikenvaninformatiebinnendeorganisatie.
Deinformatiebehoefteisbijalleswaterverderwordtgedaanhetuitgangspunt.Datiswatdeklantnodigheeft.
Fase1–Definitiestudie
CONCEPT
Indezefasewordtonderzochtofhetrealiserenvanhetprojecthaalbaaris.Hetgaatomzakenals:kanhet,ishet betaalbaar,leverthetmeeropdanhetkost?Demijlpaalproductenzijn:
• hetRapportdefinitiestudie:eenomschrijvingvandesysteemeisen;
• hetSysteemconcept:eenomschrijvingvandehoofdfunctiesvanhetsysteem;
• Kosten-batenanalyse:hierinwordtbeschrevenhoemenhetsysteemgaatbouwenenwelkevoorwaardenen kostenaanhetsysteemverbondenzijn.
Fase2–Basisontwerp
HetBasisontwerpbeschrijftwathetsysteemzaldoen.Demijlpaalproductenzijn:
• deBasisgegevensstructuur:metwelkegegevenswordtinhetnieuwesysteemgewerktenhoewordende gegevensvanhetoudenaarhetnieuwesysteemgeconverteerd?
• deBasisfunctiestructuur:defunctiesvanhetsysteem;
• deTechnischesysteemstructuur:welkeapparatuur,programmatuurenbestandsstructuurzijnnodig?
Fase3–Detailontwerp
HetBasisontwerpwordtverderindetailuitgewerktdoorspecifiekertebeschrijvenwatelkonderdeelvanhet systeemdoet.HetresultaathiervanishetFunctioneelontwerp.Demijlpaalproductenzijn:
• hetRapportfunctioneelontwerp:hierinstaatdebeschrijvingvandefuncties,vandegegevensstructuuren vandeinterface;
• hetRapporttechnischontwerp:hierinstaandeformulierenenprocedures,interfaces,opslagstructuuren welkehardwarecomponentennodigzijn;
• Planvoorsysteemtest:ditisdebeschrijvingvandeuittevoerentest;
• Planvooracceptatietest,ofteweldetestvoordegebruiker;deopdrachtgeverkanopbasisvandezetesthet systeemwelofnietaccepteren.
Fase4–Realisatie
IndezefasewordthetsysteemgebouwdopbasisvanhetFunctioneelontwerpenhetTechnischontwerp.De mijlpaalproductenzijn:
• hetRapportsysteemtest,ofteweldeuitslagvandeSysteemtest;
• hetRapportacceptatietest,ofteweldeuitslagvandeAcceptatietest.
Fase5–Invoering
Hetinstallerenvanhetsysteemenhetbegeleidenvandegebruikersbijhetgebruik,eventueeldoorhetverzorgen vantrainingen.Demijlpaalproductenzijn:
• conversieeninvoeringsplanhoeeenenandermoetplaatsvinden;
• afgeslotenprojectdocumentatie:alledocumentatiewordtnagekekenenbijgewerktopgeleverdaande beheerder;
• overdrachtsrapport:ditisheteindrapportwaarmeehetsysteemovergedragenwordtaandeorganisatie.
Fase6–Gebruikenbeheer
Belangrijkzijnderegelsdieervoorzorgendathetsysteemblijftvoldoenaandegesteldeeisen.Verderwordtin dezefaseaangegevenhoedefectenenstoringenverholpenmoetenworden.Zolanghetsysteemwordtgebruikt zaldezefasenieteindigen.Demijlpaalproductenzijn:
• organisatievangebruikenonderhoud;
• verschillendegebruiks-enbeheersplannen;
• systeembeschrijving;
• periodiekbeoordelingsrapport.
NadelenvandeWatervalmethode
CONCEPT
DeWatervalmethodeiseenlangetijddemeestgebruiktemethodegeweest.Deomvangvandesoftwareende snelheidwaarmeesoftwaremoetwordenontwikkeldzijntweevandeveranderingendiehebbenplaatsgevonden. MetdezeveranderingenisookdebehoefteontstaanaaneenandereontwikkelmethodiekdandeWatervalmethode. Voordeontwikkelingvansoftwarezijndebelangrijkstebezwaren:
• dekansopmislukkingisgroot;
• dezemethodekostveeltijdendusgeld;
• indedefinitiestudiemoethetsysteemalvolledigwordenbeschreven;
• erisweiniggebruikersparticipatie;
• hetiseeninefficiëntemaniervanwerken,omdaterveeltijdgaatzitteninwachtenopdevolledigeafronding vandevoorafgaandefase.
Opdracht2 Watervalmethode
RaadpleegzonodigdetheorieoverdeWatervalmethode.
a. WatishetbelangrijksteargumentomSDMtoetepassen?
b. UitwelkefasenbestaatSDM?
c. WatzijnmijlpaalproductenbijSDM?
d. WatzijndemijlpaalproductenvandefaseInformatieplanningbijSDM?
e. WatishetbelangvandefaseDefinitiestudiebijSDM?
f. WatzijndemijlpaalproductenvandefaseDefinitiestudiebijSDM?
CONCEPT
g. WatgebeurterindefaseBasisontwerpbijSDM?
h. WatzijndemijlpaalproductenvandefaseBasisontwerpbijSDM?
i. WatgebeurterindefaseDetailontwerpbijSDM?
j. WatzijndemijlpaalproductenvandefaseDetailontwerpbijSDM?
k. WatgebeurterindefaseRealisatiebijSDM?
l. WatzijndemijlpaalproductenvandefaseRealisatiebijSDM?
m. WatgebeurterindefaseInvoeringbijSDM?
n. WatzijndemijlpaalproductenvandefaseInvoeringbijSDM?
CONCEPT
o. Waaromisfase6,Gebruikenbeheer,feitelijkgeenfasebijSDM?
p. WatzijndenadelenvandeWatervalmethode?
2.2 Spiraalmethode
Agile
Agilewerkenkomjeinsteedsmeerorganisatiestegen.Washetinhetbeginnogvoorbehoudenaan automatiseerders,opditmomentkomjeAgilewerkeninallerleiorganisatiestegen. AlsjeAgilevertaaltuithetEngelsdankrijgjeinhetNederlands:behendig,lenig,rapenvlug.Datisprecieswaar determnaarverwijst.
ErzijnverschillendeAgile-methoden.Agilestaatvoorsoftware-ontwikkelinginkorteoverzichtelijkeperiodesdie zichherhalen,zogenoemdeiteraties.Elkeperiodeiseenprojectopzichenleverteenwerkendproductop.Een periodekaneendag,eenweekmaarzekernietmeerdaneenmaandduren.Hetbehendige,lenige,rappeen vluggevanAgilekomttotuitingdoordatelkeiteratie(herhaling)eenwerkendproductoplevert.Ditwordtgetest, getoondengeëvalueerd,zodatduidelijkwordtofdekoersjuistis.Hetregelmatigzienvantastbareresultaten maakthetproceszeerconcreet.Opbasisvandeuitkomstkaneennieuwecycluswordengestartwaarinnieuwe ideeënwordengerealiseerd.
Despiraal-enAgileSoftwareDevelopmentLifeCycle(SDLC)-methodologieënzijnzoweliteratiefalsincrementeel, watbetekentdatzeherhaaldecyclivanplanning,uitvoeringenevaluatieomvatten.Erzijnechterenkelebelangrijke verschillentussendetwee.Despiraalmethodeisgerichtophetbeherenvanrisico'senwordtmeestalgebruikt voorgrotereprojecten.Hethoudtindatdeuitvoeringindecyclusvoornamelijkbestaatuitrisicoanalyse.Agile legtdenadrukopflexibiliteit,samenwerkingensnelleiteratie.Hetwordtvaakgebruiktvoorkleineretot middelgroteprojectenmetveelonzekerheidenveranderendeeisen.Hoewelrisicoanalysenogsteedsbelangrijk isinAgile,komthetinminderemateterugdanbijdespiraalmethode,omdatAgilemeergerichtisophetreageren opveranderingenenhetaanpassenvanhetprocesopbasisvanfeedbackgedurendedeontwikkeling.
IneenAgile-organisatieisersprakevanzelforganiserendeteamsdiedeklantwaardealtijdalsuitgangspunt hebben.Hetwerkwordtgedaanopeenherhalendemanier(iteratie)waarbijmetregelmaatsprakeisvaninteractie mettoekomstigegebruikers.Deorganisatiekanhierdoorhetteontwikkelenproductvooriederegebruikercontinu verbeteren.
CONCEPT
Agile-methodenzijnsterkgerichtopcommunicatie.Defocusligtopdirectpersoonlijkcontactinplaatsvan schriftelijkeverslaglegging.Erwordtdanookweinigtijdbesteedaangeschrevendocumentatie.EenAgile-team bevatverschillendespecialisteneneenvertegenwoordigingvandeopdrachtgever.Bijvoorkeurwerkenzij gedurendehetprojectinéénruimte.Dezeruimtewordtookweldebullpengenoemd.Devoortgangwordt gemeteninprototypeneneenwerkendproduct.
Agile-ontwikkelaarszettenzichvaakaftegenhetWaterval-ontwikkelmodel.DeWatervalmethodenzijntelogen tebureaucratisch(veelpapierwerk!).MaardatisdanookmeteendezwakkeplekvandeAgile-methode.Plannen, telkensveranderenenweinigofnietdocumenterenkanleidentotchaos.DaarstaattegenoverdatAgilevaak kostenbesparendisenveeleerderwerkendeproductenoplevert.
DebelangrijksteredenenomAgiletoetepassenzijn:
• Snelleaanpassingaanverandering:
– Agilesteltteamsinstaatomsneltereagerenopveranderendeeisenenprioriteiten.Deflexibeleaardvan Agilemaakthetmogelijkomsnelaanpassingenaantebrengeninhetproject,zelfsalsdezealisgestart.
• Continueleveringvanwaarde:
– Doortewerkeninkorteiteraties,bekendalssprints,kanAgileregelmatigwerkendedelenvanhetproduct opleveren.Ditbetekentdatklantenenbelanghebbendenregelmatigtastbareresultatenzienenwaarde ontvangen.
• Klantbetrokkenheidenfeedback:
– Agilemoedigtnauwesamenwerkingaantussenhetontwikkelteamendeklantofbelanghebbenden.Dit zorgtvoorfrequentefeedback,waardoorhetteamsnelkanreagerenopdebehoeftenenverwachtingen vandeklant.
• Verbeterdekwaliteit:
– Doorregelmatigeinspectieenaanpassingindevormvansprintreviewsenretrospectives,kaneenAgile teamvoortdurenddekwaliteitvanhetwerkverbeteren.Problemenwordeneerdergeïdentificeerden opgelost.
• Efficiëntgebruikvanmiddelen:
– Agileverdeelthetwerkinkleine,behapbareeenheden,waardoorteamshunmiddeleneffectieverkunnen beherenenprioriteitenkunnenstellenopbasisvanklantwaarde.
• Betrokkenheidenempowermentvanhetteam:
– Agilebenadruktzelfsturingenteamempowerment.Teamledenhebbenmeerinvloedophetplannenen uitvoerenvanhetwerk,watvaakleidttotmeergemotiveerdeenbetrokkenteamleden.
• Transparantieencommunicatie:
– Agilemethodologieën,zoalsScrum,bevorderentransparantiebinnenhetteamenmetbelanghebbenden. Dagelijksestand-ups,sprintreviewsenandereceremonieszorgenvooropencommunicatieovervoortgang, uitdagingenenvolgendestappen.
• Risicobeheer:
– Doorregelmatigeinspectievanhetwerkenvoortdurendeaanpassingvanprioriteiten,kunnenAgileteams risico'sbeterbeherenensnelinspelenoponverwachteuitdagingen.
Maardanmoetmenwelinhetvolgendekunnenvoorzien:
• Decontinuebeschikbaarheidvanklantofgebruikers.
• Goedoverwegkunnenmetveranderingen.
Scrum
EenvoorbeeldvandeAgile-methodeisScrum.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/fb0799fcee4a67961915308ac0253175.jpeg)
HoeScrumwerkt–hetbegin
Hetbegintmeteenidee.
Deideeënmoetenviadiscussiewordenvertaaldnaareenverhaalendatwordtinstukjesopgedeeld.Elkstukje noemenweeensprint.HetScrumteamisverantwoordelijkvoorhetresultaatendaarmeevoordeplanning,de werkverdelingendevoortgangsbewaking.
Elkvandiestukjesiseenstukjeapplicatie(sprint)datwordtuitgewerkt.ErwordteenScrumMasteraangesteld, diezorgtdatdeteamledenzichaandeScrumregelshouden,maardenadrukligtvooralophetondersteunenvan hetteam,zelfsalsditbetekentdatervanderegelsmoetwordenafgeweken.
Erwordteenproductbackloggemaakt,ditiseengeprioriteerdewerklijstvoorhetontwikkelteam.enerwordt bepaaldwatdeprioriteitisvandeverschillendesprints.Hetopdelenvanhetwerkinkleine,overzichtelijketaken isvanbelangomoverzichttehoudenendevoortganggoedinbeeldtehebben.DeProductOwnerneemtde beslissingenoverwelkesprintshetbelangrijkstzijnenalseerstewordenuitgevoerd.
ProfessionalsineenScrum
DebelangrijkstesuccesfactorvanScrumishetvermogenvanprofessionalsomzelforganiserendtezijn.Daarvoor ishetnoodzakelijkdatmenelkaarindekrachtzet:‘Laatmensendoenwaarzegoedinzijn.’
HetScrumteam
HetScrumteamiszelfgrotendeelsverantwoordelijkvoorhetrealiserenvanprojectdoelstellingen,ookalshet eventegenzit.BijgroteobstakelsspringtdeScrumMasterin.
Deteamledenmoetenzelfwerkuitkiezenwatbijzepastendituitsplitsentottaakniveau.HetScrumteamisook verantwoordelijkvoordeplanning,dewerkverdelingendevoortgangsbewaking.Dedagelijksewerkverdeling wordtdoordeteamledenbepaaldopbasisvanprioriteitenencompetenties.OpeenScrumbordwordende sprintsbijgehoudendoorhetScrumteam:
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/6f188c33a10cf61ec85c8429fc4c997b.jpeg)
Figuur 2.3 Scrumbord
DeScrumMaster
EenScrumteamwordtbegeleiddooreenScrumMaster.Diegeneisvooralnieteenhiërarchischeprojectleider. DeScrumMasterzethetteaminzijnkracht.Nietiedereenisoveralevengoedin,maariedereenheeftzijneigen sterkepunten.HetisaandeScrumMasteromhetteammaximaaltefaciliteren,zodatdeteamledenkunnendoen waarzegoedinzijn.
HoeweldeScrumMasterervoormoetzorgendatalletakenwordenvoltooid,ishetaandeindividueleteamleden omhuneigenwerktekiezen.DeScrumMasterzorgtervoordatereenrealistischewerklastisenhelpteventuele obstakelsuitdewegteruimen.
DeScrumMasterrapporteertnietoverdevoortgang,datdoethetontwikkelteamindereviewmeeting.DeScrum MasterfaciliteertweldevoortgangdoorScrummeetingsgoedtelatenverlopenendaarwaarmogelijkobstakels wegtenemen.DoortefaciliterenencoachenhelptdeScrumMasterhetteamomsuccesvoltezijn.
Productowner
DeProductownerisverantwoordelijkvooriteratiefprojectmanagementenwordthierbijondersteunddoorde ScrumMaster.Dithoudtindatdescopeincompleetkanzijnenvoortdurendkanwijzigen.
Deverantwoordelijkheidvoorhetbudget,descopeendetijdlijnligtdanookbijdeProductowner.
DeProductownerisaltijdéénpersoon,bijvoorkeurdeklantofdeopdrachtgever.Debelangrijkstetaakisde belangenvandeklantgoedtevertegenwoordigen.DeProductownermoetindejuistefrequentiecontact onderhoudenmetallebetrokkenen.
InhetsprintplanzaldeProductownerbelangrijkeinzichtenmetbetrekkingtothetproductdelenmetderest vanhetScrumteam.DesamenwerkingencommunicatiemetdeScrumMasterenhetScrumteamisvangroot belang.DeProductownerbepaalt wat ermoetwordengedaan,maarlaathetontwikkelteamvolledigvrijin hoe ditwordtgerealiseerd.DeProductownerkanhetbestonderdeelzijnvanhetScrumteam(developmentteam).
CONCEPT
DeProductownerbepaaltdevolgordewaarindeitemsmoetenwordenopgepaktenprioriteertdeproduct backlog.Debelangrijkstewensenstaanbovenaan,omdatdezedegrootstewaardeopleverenvoordeuiteindelijke gebruikersvanheteindproduct.Ookhetduidelijkomschrijvenvandeonderdeleniseenbelangrijketaak.Een goedeomschrijvingvandeitemsopdeproductbacklogzorgtervoordathetprojectteamzebegrijptenkan oppakken.Hiervoorwordenuserstoriesgeschreven.Eenuserstoryiseenbeschrijvingvanhoeeengebruikereen productgaatgebruiken.Voorhetschrijvenvanuserstorieszijnregels,dezekomeninblok4Functioneelontwerp aandeorde.
HetisdeProductownerdiedebeslissingenneemt.Hierdoorisermeerfocusenraaktmennietverlorenin eindelozediscussiesoverwiewatbelangrijkvindtenwatdevervolgkeuzeszijn.Hiervoorzoumeneen MoSCoW-analysekunnengebruiken.InhethoofdstukProgrammavaneisenvanblok3Veiligenbetrouwbaar softwareontwikkelenkomthetmakenvaneenMoSCoW-analyseaandeorde.
HoeScrumwerkt–hetvervolg
DebelangrijksteuserstoriesstaanbovenaanenwordendooreenScrumteamineensprintbacklogopgenomen (sprintbacklogiseenbeschrijvingvanwatmengaatdoenindesprint).IndesprintplanningzaldeProductowner debelangrijkeinzichtenmetbetrekkingtothetproductdelenmetderestvanhetScrumteam.Ophetscrumbord wordtnudoorhetteamdeproductbacklogindejuistevolgordegezet.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/27901f07cbe060a6ce6c0706ffea1c21.jpeg)
CONCEPT
UserstorieswordendoorhetScrumteamomgezetnaareenkant-en-klaarproduct,inclusieftestendocumentatie.
Dagelijks(dailycycle)wordterdoordeScrumMastergestuurdopdevoortgangaandehandvandevolgende drievragen:
a.Wathebjegisterengedaan?
b.Watgajevandaagdoen?
c.Zijnerergensproblemenontstaan?(Enhoekunnenwejehelpen?)
TijdenseensprintstaanalletakenduidelijkzichtbaarophetScrumbordenbepalendeteamledenzelfwelke takenopeenbepaaldmomentuitgevoerdwordenenwieditdoet.
Iederesprintwordtafgeslotenmeteenevaluatieenvastleggingvanleerpunten(retrospective)zodathetteam devolgendesprintnogbeterkanuitvoeren.
Figuur 2.4 Backlog in juiste volgorde op Scrumbord![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e299b67af66f98ca79a7e3319c20f713.jpeg)
Figuur 2.5 Scrumbord
Hetopdelenvanhetwerkinkleineworkitems, to do’s,geeftdeontwikkelaarszelfdemogelijkheidomdevoortgang tebewaken.HiervoorwordtdeBurndownchartingevuld.Ditgeeftelkestand-upmeeting(zieverderop)voldoening overbereikteresultaten.
De nieuwe functionaliteit wordt getoond.
CONCEPT
DereviewmeetingaanheteindevanelkesprintisergbelangrijkvoordeProductowner,omdatdaarwordt getoondwaterisgemaaktenwaaropfeedbackmoetwordengegeven.Tijdensdereviewmeetingwerkthet Scrumteamsamenmetallebetrokkenen.Erwordtfeedbackverzameldophetopgeleverdewerkenmenkijkt vooruitnaarwaterkomengaat.
Er wordt bepaald welke sprint er gaat volgen.
HetScrumteamiszelfgrotendeelsverantwoordelijkvoorhetrealiserenvanprojectdoelstellingen,maarhetisde Productownerdiedebeslissingenneemt.
ErzijnookdigitaleomgevingenwaarinmeneenScrumbordbijkanhouden.EenvoorbeelddaarvanisTrello.Toch kiezenveelScrumteamservooromeenanaloogScrumbordaandemuurtehangen.Iedereenkaninéénoogopslag zienwiewaarmeebezigisenwatdeactuelestandvanzakenis.Datwerktnatuurlijkalleenalsmetmetgrote regelmaatopdeplekkomtwaarhetScrumbordhangt.Wanneermenervoorkiestomveelthuistewerken,zal ereerdervooreendigitaleSrumomgevinggekozenworden.
Retrospective
AanheteindevanelkesprintvolgtdeRetrospective HetdoelvandeRetrospectiveisomhetteamproceste reflecteren.Ditommogelijkeverbeteringenteidentificeren.TijdensdeRetrospectivekijkendeteamledenterug opdeafgelopensprintomtebesprekenwatergoedging,watmindergoedgingenwelkestappenerkunnen wordengenomenomhetprocesteoptimaliseren.Hetiseengelegenheidvoorhetteamomtelerenvande
successenenuitdagingenvandeafgelopensprint,enompositieveveranderingenaantebrengenindemanier waaropzewerken.Hetisdebedoelingomdeefficiëntie,effectiviteitenteamdynamiekteverbeterenintoekomstige sprints.
eXtremeProgramming(XP)
eXtremeProgrammingiseen‘humanistischedisciplinevansoftware-ontwikkeling,gebaseerdopprincipesvan eenvoud,communicatie,feedbackenmoed’.HetsuccesvaneXtremeProgramminghangtafvandefeedback, eencontinuproces,gedeeldekennisenhetwelzijnvandeontwikkelaars.
eXtremeProgrammingisvooralgeschiktvoorprojectenwaarbijdeexacteapplicatie-eisennietbijvoorbaat vastliggen.
BijeXtremeProgrammingwordtdesoftware-ontwikkelingintweetallenuitgevoerd–tweeontwikkelaarsachter éénsysteem.Hierbijishetbelangrijkdatdeteamsregelmatigvansamenstellingwisselen.Erontstaatdaardoor eencollectief‘eigendomsgevoel’enwordenpeer-reviewencode-inspectiealsvannatureonderdeelvanhet normalesoftware-ontwikkelproces.Decodevanverschillendeonderdelenzalbeterenmeeropelkaarzijn afgestemdenbeterteonderhoudenzijn.
Eenandervoordeelvandezemaniervanwerkenisdateraltijdminstenstweemensenelkstukcodevolledig doorgronden.Daarnaastgaathetinwerkenvannieuwemensenalsvanzelfomdatereenvoortdurende training-on-the-jobplaatsvindt.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/cb93308f48c884fc272a518a9ae117da.jpeg)
Allesbegintbijdeplanningdiewekelijksplaatsvindtenbestaatuitdereleaseplanningendeiteratieplanning.
Release-planning
Omeenrelease-plantemakenwordtereenrelease-planningsbijeenkomstgeorganiseerdwaarinhettotale projectwordtbekeken.Hetrelease-plandientalsbasisvoordeiteratieplannen.Hetisbelangrijkdattechnische mensendetechnischebeslissingenenzakenmensendezakelijkebeslissingennemen.Derelease-planning,die uitdriefasenbestaat,bepaaltwelkefunctionaliteitinwelkereleasegerealiseerdwordt.Deessentievande release-planningsbijeenkomstisdathetontwikkelteamvoorelkeuserstoryinschathoeveelprogrammeerweken ervoornodigzijn.Deklantbepaaltvervolgenswelkeuserstoryhetbelangrijksteisendehoogsteprioriteitkrijgt.
Exploration phase
Indeonderzoeksfasemakendegebruikersuserstorieswaarindebelangrijksteeisenvoorhetnieuwesysteem zijnverwerkt.Dezemoetenkortenoverzichtelijkzijn.
Figuur 2.6 Figuur 2.7 - Schema eXtreme ProgrammingCommitment phase
Indeconceptbesluitvormingwordtbesloteninwelkevolgordedeuserstorieswordenuitgewerkt.
Steering phase
Indewijzigingsfasekanhetplannogwordenaangepast.Erkunnennieuweuserstorieswordentoegevoegden bestaandeuserstorieswordenverwijderd.
EnkelebelangrijkekenmerkenvaneXtremeProgrammingzijn:
1. Korteontwikkelingscycli:eXtremeProgrammingbenadrukthetwerkeninzeerkorteontwikkelingscycli, meestalvanééntottweeweken.Elkecyclusresulteertineenpotentiëleopleveringvansoftware.
2. Frequentfeedback:hetteamverzameltvoortdurendfeedbackvanklanten,gebruikersenstakeholdersom desoftwarevoortdurendaantepassenaanveranderendevereistenenprioriteiten.
3. Pairprogramming:developerswerkenvaakinparen,waarbijéénpersooncodeertendeanderedecode controleert.Ditbevordertkennisdelingenhelptbijhetverbeterenvancodekwaliteit.
4. Test-drivendevelopment(TDD):bijTDDschrijvenontwikkelaarseersttestsenbouwenzevervolgensde codeomaandieteststevoldoen.Dithelptbijhetgaranderenvandekwaliteitenfunctionaliteitvande software.
5. Klantbetrokkenheid:klantenzijnactiefbetrokkenbijhetprojectenwerkensamenmethetontwikkelingsteam omprioriteitentestellenenvereistenteverduidelijken.
6. Kleinereleases:eXtremeProgrammingmoedigtfrequentekleinereleasesaanomwaardesnelaangebruikers televerenenhetrisicovanlangeontwikkelingscycliteverminderen.
7. Collectievecode-eigendom:elkteamlidisverantwoordelijkvoordekwaliteitvandegehelecodebaseen kanwijzigingenaanbrengenwaardatnodigis.
8. Eenvoud:eXtremeProgrammingpleitvoorhethandhavenvaneenvoudinhetontwerpendecodeom complexiteitteminimaliseren.
9. Continuintegreren:hetteamintegreertvoortdurendnieuwecodeindehoofdcodebase,waardoorproblemen snelkunnenwordengeïdentificeerdenopgelost.
10. Planninggame:inde"planninggame"komenklantenenhetontwikkelingsteamsamenomprioriteitente stellenenteplannenvoordekomendeontwikkelingscycli.
CONCEPT
Userstory
Userstorieswordengebruiktomtijdschattingentemakenvoorderelease-planning.Userstoriesworden geschrevendoordeklanten/ofeindgebruikeralsdingendiehetsysteemvoorhenmoetdoen.Zebestaanuiteen paarzinnentekstgeschrevendoordeklantindeterminologievandeklantzondertechnischeinformatie.Deuser storywordtookgebruiktvoorhetmakenvandeacceptatietests.Ermoetenéénofmeergeautomatiseerde acceptatietestswordengemaaktomtecontrolerenofdeuserstory,‘hetgebruikersverhaal’,correctis geïmplementeerd.Deuserstoriesmogennietteveelindetailgaan,maarzemoetenwelvoldoendedetails bevattenomeenredelijkeschattingtekunnenmakenvandetijddiehetgaatkostenomdeuserstoryte implementeren.Tijdensdeimplementatiekrijgendeontwikkelaarseengedetailleerdebeschrijvingvande vereistenvandeklant.
Deontwikkelaarsschattenperuserstoryinhoelanghetzaldurenomdezeteimplementeren.Deideale ontwikkeltijdis1,2of3weken.Langerdan3wekenwilzeggendatdeuserstoryverdermoetwordenopgedeeld. Bijminderdan1weekismenbezigopeentegedetailleerdniveau.Indatgevalmoetenuserstoriesgecombineerd worden.
Drievoorbeeldenvanuserstories:
• Alsledenadministrateurvandetennisverenigingwilikdeonlineinschrijfformulierenkunnenbekijkenen accorderen,zodatikcontroleheboverwieerlidwordt.
• Alsvoorzittervandetennisverenigingwiliktoeganghebbentotdelidmaatschapgegevens,zodatikkanzien hoehetverloopis.
• Alslidvandetennisverenigingwilikkunnenzienwanneerwelketennisbaanbeschikbaarisomeentennisbaan tekunnenreserveren.
ArchitectualSpikeenSpike
Hetideehiervanis‘beperkjetothetprobleemdatnuspeelt’.Ontwerpdeeloplossingenomantwoordentevinden oplastigetechnischeofontwerpproblemen.
EenSpike-oplossingiseenheeleenvoudigprogrammaommogelijkeoplossingenteverkennen.Kernhiervanis: bouwdeoplossingomalleenhetprobleemaantepakkendatwordtonderzochtennegeeralleanderezorgen. DemeesteSpikeszijnnietgoedgenoegomtebehoudenenzullenwordenweggegooid.Hetdoelvan Spike-oplossingenishetrisicovaneentechnischprobleemteverminderenofdebetrouwbaarheidvaneenuser storytevergroten.
Acceptancetest(Acceptatietests)
Acceptatietestswordengemaaktopbasisvandeuserstories.Tijdenseeniteratiewordendeuserstoriesdie tijdensdeiteratieplanningsbijeenkomstzijngeselecteerdvertaaldinacceptatietests.Deklantlevertdescenario’s omtetesten.Eenuserstorykanéénofmeerdereacceptatietestshebbenomervoortezorgendatdefunctionaliteit werkt.
Acceptatietestszijnblack-box-systeemtests,ditkomtinhetdeel‘Testenvansoftware’nogaandeorde.Elke acceptatietestvertegenwoordigteenverwachtresultaatvanhetsysteem.Klantenzijnverantwoordelijkvoorhet verifiërenvandejuistheidvandeacceptatietestsenhetbeoordelenvantestscoresomtebeslissenwelkemislukte testsdehoogsteprioriteithebben.Eenuserstoryisnietvoltooidtotdathetdeacceptatietestsheeftdoorstaan.
Kwaliteitswaarborging(qualityassurance,QA)iseenessentieelonderdeelvanhetproces.Hetkanzijndatde kwaliteitwordtgewaarborgddooreenafzonderlijkegroep.Zomoetenacceptatietestswordengeautomatiseerd, zodatzevaakkunnenwordenuitgevoerd.Deacceptatietestscorewordtgedeeldmethetteam.Hetisde verantwoordelijkheidvanhetteamombinnenelkeiteratietijdinteplannenommislukteteststeverhelpen. Vaakwordendezetestsfunctioneletestsgenoemd.Ditomschrijftdeintentiebeter,namelijkgaranderendataan devereistenvaneenklantwordtvoldaanenhetsysteemaanvaardbaaris.
Iteration
CONCEPT
Eeniterationiseenherhaling.Inditgevalgaathetomdeherhalingonderzoeken,verdelen,ontwikkelen, onderzoeken,verdelen,ontwikkelen,onderzoekenenzovoort.
Iteratiefontwikkelenmaakthetontwikkelingsprocesflexibel.Hetisbelangrijkdelengtevandeiteratieconstant tehoudengedurendehetheleproject.Ditisdehartslagvanhetproject.Hierdoorwordthetmetenvanvoortgang enplanningeenvoudigenbetrouwbaar.Deprogrammeerwerkzaamhedenwordennietvantevorengepland.In eeniteratieplanningsbijeenkomstaanhetbeginvanelkeiteratieishetzaakduidelijktekrijgenwatergaat gebeuren.Dezejust-in-time-planningiseeneenvoudigemanieromopdehoogteteblijvenvanveranderende gebruikersvereisten.
Deinspanningenmoetengerichtzijnophetvoltooienvandebelangrijkstetakenzoalsdiedoordeklantzijn aangegeven.
Deiterationplanningbestaatuitdriefasen.Deontwikkelaarshalendetakenuitdeuserstories,dieindesprint zijnopgenomen.
Exploration phase
Indeonderzoeksfasewordendeuserstoriesnaartakenvertaaldenoptaakkaartengeschreven.
Commitment phase
Indetoewijzingsfasewordtvanelkvandezetakeningeschathoelanghetduurtomdezeterealiseren,om vervolgensaandeontwikkelaars,bijvoorkeurparen,toegewezen.
Steering phase
Indeontwikkelfasewordendetakenuitgevoerd.Hetresultaatwordtvergelekenmetdeorigineletijdsplanning vandeuserstory.
Stand-upmeeting
Destand-upmeetingiseendagelijksgebeurenwaarinallebetrokkenenoverleggenoverdeuittevoerenzaken.
Deklanten/ofgebruikerisonderdeelvanhetontwikkelteamenisdaaromcontinuvoorvragenbeschikbaar. eXtremeProgramminggaatervanuitdatdecodeklantspecifiekisendatdaaromdeklantzodichtmogelijkbij hetontwikkeltrajectmoetstaan.Eentoekomstigegebruikermoetaanwezigzijnomervoortezorgendatde applicatiewordtwatdeklantwenst.DaaromwerkteXtremeProgrammingmetkorteontwikkelcycliwaarinsteeds eenaantalgeselecteerdetestcaseswordtgeïmplementeerdtoteenwerkendsysteem.Aanheteindvaniedere cycluskandeklanthetsysteembeoordelenenzonodigdeontwikkelingbijsturen.
Opdracht3 Spiraalmethode
RaadpleegzonodigdetheorieoverdeSpiraalmethode.
a. WaarstaatAgilevoor?
b. WatzijndebelangrijksteredenenomAgiletoetepassen?
c. WaarinmoetwordenvoorzienomAgilesuccesvoltoetepassen?
CONCEPT
d. ZetdeEngelsebenamingachterdeScrum-begrippenindevolgendetabel.
Nederlandsebenaming
Dagelijksecyclus
Deelapplicatie
Idee
Makensprintplan
Sprintcyclus
Sprintplan
Terugkoppeling
Engelsebenaming
e. Kijknaardevolgendefiguur.Plaatsdebegrippen Dagelijkse cyclus, Deelapplicatie, Idee, Maken sprintplan, Sprintcyclus, Sprintplan en Terugkoppeling achterhetjuistegetalindetabel.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/3e270f54f299396d5d31d18cc7db492a.jpeg)
f. DagelijkswordterdoordeScrumMastergestuurdopdevoortgang.Aandehandvanwelkevragen?
g. WatisdebelangrijkesuccesfactorvanScrum?
h. WatisdeScrumMastervooralniet?
i. Watofwieisdeproductowner?
j. Schrijfeendrietaluserstoriesvoortoepassingenbijjouopschool.Datmagzijnalsstudent,maarookalseen medewerkeropschool.
k. OpwelkeprincipesiseXtremeProgramminggebaseerd?
l. WanneeriseXtremeProgrammingeengeschikteontwikkelmethodiek?
m. WatisArchitectualspikeenSpike?
CONCEPT
n. UitwelkedriefasenbestaatdeIterationplanning?
o. Watiseenstand-upmeeting?
2.3 Prototyping
Erzijnverschillendemethodenvanprototypingendezemethodiekwordtookvaaktoegepastbuitende software-ontwikkeling.Denkmaaraaneenprototypevooreenauto,eenmodeldatnoghelemaalnietinproductie is.Waarschijnlijkontbrekeneressentiëleonderdelen,maarvanbuitenzietheteralheelechtuit.
Indesoftware-ontwikkelingishetwerkenmetprototypingnietanders.Erwordteenmodelvaneenapplicatie
gemaaktwaarinbepaaldefunctionaliteitnoghelemaalnietwerktofgesimuleerdwordt.Tochkanditde klant/opdrachtgeveraleenduidelijkbeeldgevenvanhoeeenenandereruitgaatzien.Hieropkandanfeedback wordengegevenendezekaninhetuiteindelijkeproductwordenverwerkt.
Waaromprototyping?
Eenprototypemaakjeomeengoedbeeldtekunnenkrijgenvaneenproduct.Indemeestegevallenzaldatzijn:
Gebruiker
Voordeuiteindelijkegebruikervanhetsysteemiseenduidelijkbeeldvanwathijgaatkrijgenergbelangrijk.Als jemetdeuiteindelijkegebruikervanhetsysteemingesprekgaatoverwatdezenodigheeftaandehandvaneen prototype,isdekansopgoedefeedbackhetgrootst.Jehoeftdannogniethetheleproducttebouwen,maar krijgtwelalleinformatiediejenodighebt.
Opdrachtgeverenontwikkelteam
Alserveelverschillendemensenbetrokkenzijnbijdeontwikkelingvaneensysteemzijnerookveelinterpretaties. Iedereenheeftzijneigenwerkelijkheid.Alsjetegeneengroepvriendenzegt:‘Ikhebeenheelmooieboominmijn tuingeplant,’aanwelkeboomdenkenzedan?
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e405ded7a16b93de0fd27e99675ee69e.jpeg)
Figuur 2.7 Aan welke boom denk jij?
Voorhetontwikkelteamishetvanbelangdatiederebetrokkeneeenzelfdebeeldheeft.Hetprototypekaneen belangrijkebijdrageleverenaandespecificatievaneensysteem.
Jezelf
CONCEPT
Doortewerkenmetprototypingkanookjijzelfeengoedbeeldkrijgenvandeschermopbouwofvandebeoogde navigatiedoorhetsysteem.Isalleslogisch,vallendejuistezakenop?Daarommoetjeookproberenindenatuurlijke contextteontwerpen.Ishetbedoeldvooreensmartphone,zorgdanookdatjeeenprototypemaaktvoorde smartphone.Ishetbedoeldvooreenscherm,ontwerpdanookopeenscherm.
Wanneerprototyping?
Belangrijkekenmerkenvanprototypingzijnonderandere:
1. SnelleVisualisatie:
– Prototypesbiedeneenvisuelerepresentatievanhetbeoogdesysteem.Ditkanvariërenvanschetsenop papiertotinteractievedigitalemodellen.
2. Interactiviteit:
– Interactieveprototypenkunnengebruikerslatenervarenhoehetsysteemzouwerken.Ditkanhelpenbij hetidentificerenvanvereisten,hetvaliderenvanontwerpaspectenenhetverzamelenvanfeedback.
3. VroegtijdigeFeedback:
– Prototypingsteltbelanghebbendeninstaatomvroeginhetontwikkelingsprocesfeedbacktegeven.Dit kanleidentotaanpassingenenverbeteringenvoordathetdefinitieveproductwordtontwikkeld.
4. VerduidelijkingvanVereisten:
– Dooreentastbaarmodeltecreëren,kunnenontwikkelaarsenbelanghebbendenbeterbegrijpenwater nodigisintermenvanfunctionaliteitenontwerp.
5. Risicovermindering:
– Hetgebruikvanprototypeskanhelpenbijhetidentificerenenbeperkenvanrisico'sineenvroegstadium. Ditkanvariërenvantechnischeuitdagingentotproblemenmetgebruikersacceptatie.
Prototypingkunjealtoepassenophetmomentdatdeklantzijnvraagnognietduidelijkheeft.Jekunthetonder anderegebruikenomdevraagduidelijkerteformuleren,helemaalalsjehetoverontwerpenhebtdienogal moeilijkzijnvoortestellen.Welbeperkjejetotdehoognodigedetails.Ditomtevoorkomendathetmakenvan hetprototypemeerwerkisdanhetuiteindelijkeproduct.
Hoeprototyping?
Erzijnverschillendesoortenprototypes,waaronder:
• Papierenprototypen:schetsenoftekeningenoppapierdiedegebruikersinterfaceofworkflowillustreren.
• Wireframes:eenvoudigedigitalemodellendiedestructuurenlay-outvaneenapplicatieofwebsiteweergeven.
• Interactieveprototypen:digitalemodellendieinteractiessimuleren,vaakontwikkeldmetprototypingtools.
Bijvoorkeurgebruikjetoolswaarmeejealoverwegkunt.Jekuntookgebruikmakenvan:
• moodboard,ommetdeopdrachtgeverkleurenuiterlijktebepalen;
• animaties,omtelatenzienhoeeenenanderopelkaarvolgt;
• interactie-flows,alsersprakeisvanmatrixnavigatiewaargebruikerssnelvanpaginakunnenwisselen.
Letwel:detoolsdiejekiest,moetenjeniettegenhoudenbijhetbedenkenvancreatieveoplossingen.
Opdracht4 Prototyping
Raadpleegzonodigdetheorieoverprototyping.
a. Waaromzoujeprototypinggebruiken?
b. Watvoorbaatheefteengebruiker/klantbijprototyping?
CONCEPT
c. Voorwie,andersdandegebruiker,kanprototypingvanbelangzijn?
d. Wanneerkunjeprototypingtoepassen?
e. Welketoolsmoetjegebruikenbijprototyping?
f. Maakeenmoodboardvoordesitevaneenvereniging.Jemagzelfkiezenwatvoorvereniginghetbetreft.
2.4 Begrippenlijst
Acceptatietests
Eenfaseinhetsoftwareontwikkelingsproceswaarbijeensysteemwordtgetestopbasisvandeacceptatiecriteria omtebepalenofhetvoldoetaandevoorafgedefinieerdevereisten.
Agile
Eenbenaderingvanprojectmanagementensoftwareontwikkelingdiezichrichtopflexibiliteit,samenwerking enklanttevredenheid.Inplaatsvanhetvolgenvaneenstriktlineairproces,zoalsbijtraditionelemethoden, moedigtAgileiteratieveontwikkelingaan.
Black-box-systeemtests
Eenvormvansoftwaretestenwaarbijdeinternestructuur,logicaenimplementatievanhetsysteemnietbekend zijnvoordetester.
Bullpen
Eenspecifiekeruimteinkantoren,vaakinsoftwareontwikkeling,waarontwikkelaarssamenwerken.
Dailycycle
Dedagelijksestand-upmeeting,ookwelbekendalsdeDailyScrum.Ditiseencruciaalenregelmatigterugkerend evenementinhetScrum-framework,ontworpenomdecommunicatie,samenwerkingentransparantiebinnen hetontwikkelingsteamtebevorderen.
EXtremeProgramming(XP)
EenAgilesoftwareontwikkelingsmethodologiedieisontworpenomdekwaliteitendeflexibiliteitvan softwareontwikkelingteverbeteren.
Iteraties
Eenanderwoordvoorherhaling.
Iteration
CONCEPT
Eenherhaling.
Kwaliteitswaarborging
Hetgeheelvangeplandeensystematischeactiviteitendiebinneneenorganisatiewordenuitgevoerdomervoor tezorgendatproductenofdienstenvoldoenaanbepaaldekwaliteitsnormenendeverwachtingenvanklanten.
Mijlpaalproduct
Eentastbaarresultaatofeenspecifiekproductdatwordtopgeleverdopeencruciaalpuntindevoortgangvan eenproject.
Peer-review
Hetproceswaarbijledenvanhetontwikkelingsteamelkaarswerkevaluerenenbeoordelen.
Productowner
EencrucialerolbinnenhetScrum-frameworkvoorAgileprojectmanagement.Dezepersoonisverantwoordelijk voorhetvertegenwoordigendebelangenvandeklantenzorgtervoordathetScrum-teamwerktaanfunctiesen takendiedemeestewaardetoevoegenaanhetproduct.
Prototyping
Eenontwikkelingsbenaderingwaarbijeenvoorlopige,representatieveversievaneensysteemofproductwordt gemaaktomideeëntevisualiseren,functionaliteittedemonstrerenenfeedbackteverzamelen.
Release-plan
Eenroadmapdieaangeeftwanneerspecifiekefuncties,verbeteringenofwijzigingenaaneenproductbeschikbaar zullenzijnvoorgebruikersofklanten.
Retrospective
EenbijeenkomstbinnenhetScrum-frameworkdieplaatsvindtaanheteindevanelkesprint.Hetiseengelegenheid voorhetScrum-teamomtereflecterenopdeafgelopensprintennatedenkenoverwatgoedging,watbeterkan enwelkespecifiekeactieskunnenwordenondernomenomverbeteringenaantebrengen.
Reviewmeeting
EengebeurtenisbinnenhetScrum-frameworkwaarinhetontwikkelingsteamdevoltooidewerkzaamheden presenteertaandebelanghebbenden.
SDM
DeafkortingvoorSoftwareDevelopmentMethodology,watverwijstnaardemethodenenprocessendieworden gevolgdbijhetontwikkelenvansoftware.
Scrum
EenpopulaireAgile-projectmanagementmethodologiediewordtgebruiktvoorhetbeherenenontwikkelenvan complexeproducten.
ScrumMaster
EenbelangrijkerolbinnenhetScrum-framework.DeScrumMasterisverantwoordelijkvoorhetfaciliterenen ondersteunenvanhetScrum-procesbinnenhetontwikkelingsteamendebredereorganisatie.
Scrumteam
CONCEPT
Eenzelforganiserendenmultidisciplinairteamdatsamenwerktomdedoelenvaneenprojecttebereiken.
Spike-oplossing
Eenheeleenvoudigprogrammaommogelijkeoplossingenteverkennen.
Sprintplan
EendocumentdatwordtopgesteldaanhetbeginvanelkesprintineenScrum-project.Hetbevatdetailsover wathetontwikkelingsteamvanplanistebereikentijdensdesprint.
Stand-upmeeting
Eendagelijksgebeurenwaarinallebetrokkenenoverleggenoverdeuittevoerenzaken.
Training-on-the-job
Eenleermethodewaarbijindividuenlerendoordaadwerkelijktakenuittevoerenenpraktischeervaringopte doenindewerkomgeving.
Userstory
Eenkorte,eenvoudigebeschrijvingvaneenfunctieofstukfunctionaliteitvanuithetperspectiefvande eindgebruiker.
Userstory
Eenkorte,eenvoudigebeschrijvingvaneenfunctieofstukfunctionaliteitvanuithetperspectiefvande eindgebruiker.
Watervalmethode
Eentraditionelebenaderingvansoftwareontwikkeling.Indezemethodewordthetontwikkelingsprocesopgedeeld inverschillendefasenenelkefasemoetvolledigwordenvoltooidvoordatdevolgendebegint.
CONCEPT
2.5 Praktijkopdrachten
Opdracht5 Tijdlijnprojectwebomgeving
Dezeopdrachtvoerjeuitineengroepjevandrieofvierstudenten.
FirmaWatermanwileenwebomgevingmetdevolgendefunctionaliteiten:
• Informatie
• Webshop
• Contactpagina
• Reactie/referentiepagina
CONCEPT
Maakvoorditprojectmetjegroepjeeentijdlijnvan15wekenwaarinjegebruikmaaktvandefasenvanSDM.Zorg ervoordatjeelkefasedetijdtoekentdierechtdoetaandehoeveelheidwerkindefase.
2.6 Terugblik
Opdracht6 Terugblik
Zeteenkruisjeindekolomdievoorjouvantoepassingis.
Beoordelingscriteria
Jekuntdeverschillendeontwikkelmethodiekenonderscheiden.
Ja
Jekuntdebelangrijkstevoorennadelenvandeverschillendeontwikkelmethodieken tegenelkaarafwegen.
Jekuntalsdeveloperfunctionerenineenrolbinnenéénvandeontwikkelmethodieken.
Opdracht7 Terugblik
Denknaoverwatjehebtgedaaninditblok.
a. Noemtweedingenwaaroverjetevredenbent.
1.
2.
b. Noemtweedingendiejedevolgendekeeranderswiltdoen.
1. 2.
c. Vraagjedocenten/ofleermeesteromfeedback.
Tops:
Tips:
CONCEPT
NeeCONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/bde63e99aa5b444a0707d4157e124e49.jpeg)
Blok3
CONCEPT
Veiligenbetrouwbaarsoftware ontwikkelen
Leerdoelen
• JekuntdebelangrijksteprincipesuitS-SDLCtoepassen.
• Jekunteenopdrachtopadequatewijzevaststellen.
• JekuntdeLSD-techniektoepassen.
• Jekunteenprogrammavaneisenopstellen.
Wanneerjeonderdeelvaneenteambentdatsoftwaregaatontwikkelen,zullenerafsprakenzijnoverdemethodiek diejullievolgen.SecureSoftwareDevelopmentLifeCycle(vanafnuS-SDLC)wordtsteedspopulairder.Inveel organisatiesishetdestandaarddiegebruiktmoetworden.S-SDLCishetlogischvervolgopSDLC(Software DevelopmentLifeCycle).InditblokwordendebelangrijksteonderdelenvanSDLCenS-SDLCbehandeld.Inde blokkendiehieropvolgenkomendanverschillendemethodenentechniekenaandeordediejenodighebtom eengoedeapplicatieteontwikkelen.
Opdracht1 OriëntatieopdrachtVeiligenbetrouwbaarsoftwareontwikkelen
Bijnaelkestudentheefteenmobieletelefoon.Dezezalalleenwerkenalsdejuistesoftwareisgeladen.Diesoftware heeftmaareenbeperktelevensduur.Onderzoekhoevaakereennieuweversievandebesturingssoftwarevan jouwmobieletelefoonbeschikbaarkomt.
Maakvoordelaatstevijfjaareenoverzichtvandeverschenenversies.
3.1 SoftwareDevelopmentLifeCycle(SDLC)
SoftwareDevelopmentLifeCycle(SDLC)isopgebouwduitvijffasendieelkaarcontinuopvolgen.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/2012759bf141741dabc5e3c8720e6fd0.jpeg)
Figuur 3.1 Cyclus SDLC
Wanneerjeeenapplicatiegaatontwikkelen,ligthetvoordehanddatjeSDLCtoepast.Hetiseengestructureerde manieromsoftwaretoepassingentebouwendiedoorveelorganisatieswordtgebruiktvoorhetontwikkelenvan software.Somswordthetproceswataangepast,maardebasisblijftgelijk.Delevenscyclusvan software-ontwikkeling,devijffasen,wordthierverderuitgewerkt.
Requirements
EenPakketvanEisen(SoftwareRequirementSpecificationofSRS)iseendocumentwaarinstaatwatde verwachtingenzijnvanhetsysteemofdesoftwarediemoetwordenontwikkeld.DeMoSCoW-methodekanhier alshulpmiddeldienen.Hetontwikkelingsteamverzameltinputvanverschillendestakeholders(belanghebbenden),
zoalsklanten,sales,interneenexterneexpertsenontwikkelaars,omhetPakketvanEisenoptestellen.Hetteam steltvastwaternodigisomaandievereistentevoldoenenberekentdeverwachtekosten.Belangrijkisdathet teamnietalleenbeschrijftwatzeindesoftwarewillen,maarookwatzenietwillen.Wanneerhetgaatovereen upgradeofvervangingvanbestaandesoftwareisdithaastnogbelangrijkerdanwanneerhetomnieuwesoftware gaat.
Design
Hetsoftware-ontwerpisdeblauwdrukdieontwikkelaarskrijgenvoorhetmakenvandecode.Omeen software-ontwerpophoogniveautekunnenmaken,moetendeontwerpersrekeninghoudenmetdeeerder opgesteldevereisten(PvE).Hettebouwensysteemendesoftwarezullenmedeafhangenvandetegebruiken technologieën,demogelijkhedenvanhetteamenprojectbeperkingenalstijdengeld.Hetontworpen softwaresysteemwordtdanvertaaldinsoftwaremodules,functies,bibliothekenenzovoort.Hetontwerpwordt meestalbeschrevenineenontwerpspecificatiedocument.
Coding
Decoderingsfasewordtookweldeimplementatiefasegenoemd.Tijdensdezefasewordtdeblauwdrukvande softwareomgezetincode.Debroncodevandeheleapplicatieontwikkelenneemtmeestaldemeestetijdin beslag.Detijddienodigisomdeontwikkelingtevoltooien,isafhankelijkvandegroottevandeapplicatieenhet aantalprogrammeurs.
Testing
Nadatdeapplicatieisgebouwd,moetdezewordengetestomtebeoordelenofdezeaanhetPakketvanEisen voldoet.Detestersvoerendeafgesprokentestenuit.Alszeeenfoutontdekken,informerenzedeontwikkelaars. Deontwikkelaarkijktoferechtsprakeisvaneendefect.Alsdatzois,moetdatdefectopgelostworden.Erkomt daneennieuweversievandesoftware,dieopnieuwgetestmoetworden.Ditwordtvoorelkvandeonderdelen gedaanennetzolangherhaaldtotdathetontwikkelingsteamalleontdektedefectenheeftverholpenende softwaregereedisvoorimplementatieindeproductieomgeving.
Deployment
CONCEPT
DeploymentwordtookwelRelease-faseofImplementatiefasegenoemd.Indezefaseisdeapplicatieklaarom livetegaan.
Zodradeapplicatieklaarisomlivetegaan,wordtdezeindezefaseopeenproductieservergeïmplementeerd. Alsdezeisontwikkeldvooreencliënt,vindtdeimplementatieplaatsopeencliënt-locatieofdatacenterwaarde cliëntdeapplicatiewilinstalleren.Hetvrijgevenvandevoltooidesoftwareindeproductieomgevingmaakthet mogelijkompost-productieactiviteitenuittevoeren,zoalsmonitoring.Indezeomgevingwordenaanvullende testsuitgevoerd,endedefinitieveimplementatievindtplaatsnadatallebugszijnontdektenopgelost.
Opdracht2 SoftwareDevelopmentLifeCycle
RaadpleegzonodigdetheorieoverdeSoftwareDevelopmentLifeCycle(SDLC).
a. WaarvoorstaatdeafkortingSDLC?
b. WaarvoorstaatdeafkortingS-SDLC?
c. WatisdeSoftwareRequirementSpecification?
d. Hetontwerpwordtmeestalbeschrevenineenontwerpspecificatiedocument(DSD).Watisdebelangrijkste bronvoorhetontwerp?
e. Watgebeurtertijdensdecoderingsfase?
f. Hoevaakwordtdefasetestinguitgevoerd?
g. Watisdefasedeployment?
3.2 Informatiebeveiliging
Dehedendaagserealiteitisdatermensen(oforganisaties)zijndiealsenigdoelhebbenintebrekeninsystemen. Vaakzijndithackersdieopzoekzijnnaarroemdooreroveroptescheppenopinternet.Maarhetkanookeen groepgeorganiseerdecriminelenzijndieinallestilteinformatiestelen.Ditkaneenenormverliesvoordeorganisatie inkwestiebetekenen.
CONCEPT
Inmei2018verscheenhetvolgendeartikelinhet Algemeen Dagblad:
Verandernujewachtwoord:3,3miljoenNederlandsewachtwoordeneenvoudigtevinden
Eengrotehoeveelheide-mailadressenen3,3miljoenwachtwoordenvanNederlandersliggenopstraat.Ze blijkensindseindvorigjaarbetrekkelijkeenvoudigintezieninlijstendieonlinecirculeren.Eenhacker maaktzevandaagviaeenspecialezoekmachinezelfsnogtoegankelijker:een'Google'voorwachtwoorden.
UitonderzoekvandezekrantblijktdatmedewerkersvanveelgroteNederlandse(overheids)organisatiesen bedrijvenmassaalindelijstenvoorkomen,waaronderorganisatiesdievitalefunctiesvervullen.Ookstaaner parlementariërsen bekendeNederlandersindelijst.,,Schrikken,wantdezewachtwoordengebruikteikvoor andereaccountsnogsteeds”,zegtex-TweedeKamerlidSharonGesthuizen.
Degegevenszijnwaarschijnlijkafkomstiguittientallengrotedatalekkenvandeafgelopenjaren.Ondermeervan LinkedIn,Dropbox,Playstation,Uber(bijUberginghetnietomwachtwoorden)eneBayisbekenddatgegevens zijngelekt,endaaroverisalveelgepubliceerd.Maarwaardieenormelijsteneerstvooralindekrochtenvanhet internetentegen(forse)betalingbeschikbaarwaren,wordenzenusteedsmakkelijkerenopenbaarbeschikbaar.
Naar: THOMAS BOESSCHOTEN en CYRIL ROSMAN, Verander nu je wachtwoord: 3,3 miljoen Nederlandse wachtwoorden eenvoudig te vinden, Algemeen Dagblad, 30 maart 2018
Decriminelenofhackerskunnenopverschillendemaniereninbreken.Naasthetlekkenvanwachtwoordenishet betredenviadeapplicatiehosteenbekendemethode.Alsdeapplicatiesdieopeenapplicatieserverstaankwetsbaar zijn,kanditernstigegevolgenhebben.Hierdoorzijnbedrijvenindeproblemengekomen.Slechteberichtenin deperskunneneenaandelencrashtotgevolghebben.Alle,maarvooralfinanciëleorganisatieszoalsbanken, lopengevaar.Bedrijvenenparticulierenkunnentemakenkrijgenmetbedreigingenafpersing,bijvoorbeelddoor gijzelingvansoftwareendata.Hoemenookwordtlastiggevallen,hetisnaarenzalindemeestegevallengeld kosten.Eenvoordehandliggendemanierdiedoorcriminelenwordengebruiktisphishing.
Phishingiseenvormvancyberaanvalwaarbijaanvallerszichvoordoenalslegitiemepersonenof bedrijven/organisaties.Ditdoenzeomgebruikerstemisleidenenpersoonlijkeinformatie,zoalswachtwoorden, creditcardgegevensenanderegevoeligegegevens,testelen.Dezeaanvallenwordenmeestaluitgevoerdvia e-mails,valsewebsitesenberichtendieeruitzienalsofzeafkomstigzijnvanvertrouwdebronnen.
Enkelemaatregelenomtegenphishingtebeschermenzijn:
1. Kritischnadenken:weesaltijdvoorzichtigbijhetopenenvane-mailsenkliknietopverdachtelinksof bijlagen.Controleerdeafzenderzorgvuldig,vooralalsdee-mailonverwachtis.
2. ControleerdeURL's:controleerdeURLvaneenwebsitevoordatjepersoonlijkeinformatieinvoert.Letop spelfoutenofverdachtedomeinnamen.
3. Gebruiktweefactorauthenticatie(2FA):schakel2FAinwanneerbeschikbaar.Ditvoegteenextra beveiligingslaagtoedoornaasteenwachtwoordeentweedevormvanidentificatietevereisen.
4. Trainingenbewustwording:educeermedewerkersengebruikersoverderisico'svanphishingenleerze hoezeverdachtee-mailskunnenherkennen.
5. Antiphishing-software:maakgebruikvanantiphishing-softwareen-toolsdiekunnenhelpenbijhet identificerenvanverdachtee-mailsenwebsites.
6. Rapporteerverdachteactiviteiten:alsjeeenphishing-pogingherkent,meldditdanaanderelevante autoriteitenenaandeorganisatiediemogelijkwordtnagebootst.
CONCEPT
Informatiebeveiligingvraagtsteedsmeeraandacht,aangezienzelfs'veilige'applicatiesregelmatigkwetsbaarheden vertonen.Naarmateeenapplicatieomvangrijkeris,zullenermeerbugsen/ofbeveiligingslekkeninzitten.Het feitdatapplicatiessteedsomvangrijkerworden,benadrukthetbelangvoorbedrijvenomconstantmetbeveiliging bezigtezijn,veelmeerdanvoorheen.Ookin2023ishetlekkenvandatanogeenveelvoorkomendprobleem.
DatalekNederlandsebedrijvensteedsgroter:zeker2miljoenklantengetroffen
Zeker2miljoenNederlandseklantgegevensblijkenbetrokkenbijeengrootNederlandsdatalek.Naastonder meerdeNSenVodafoneZiggozijnernógdriebedrijvengeraakt:ookklantgegevensvandeNederlandseGolf Federatie,ArboNedenvervoersbedrijfTrevvelblijkentezijngelekt.
DeAutoriteitPersoonsgegevensheeftnoggeentotaalbeeldkunnenmaken.Detoezichthouderstarteenonderzoek. Hetkanoverigenszijndatmensenmeerderekerenvoorkomenindedata.
EerderwasalduidelijkdatnaastdeNSenVodafoneZiggozorgverzekeraarCZendeVriendenvanAmstelLive warengetroffen.OokdeRijksdienstvoorOndernemendNederlandenwoningcorporatieStadgenootbleken gedupeerd.
Naar: NANDO KASTELEIJN en JULIUS MOORMAN, Datalek Nederlandse bedrijven steeds groter: zeker 2 miljoen klanten getroffen, NOS, 30 maart 2023
Alswedegebruikerevenbuitenbeeldhouden,kunnenveiligheidsrisco’sbinneneensysteemzichopverschillende plaatsenvoordoen.HetAgentschapvandeEUvoorcyberbeveiligingheeftvoorjuli2021totjuli2022inkaart gebrachtwaarbeveiligingsproblemenzichvoordoen(zieonderstaandfiguur).
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/a36830e408f741e6bf676ae7b7da4c26.jpeg)
CONCEPT
Figuur 3.2 Grootste cyberdreigingen in de EU juli 2021 tot juli 2022
Hetisdanookbelangrijkdatontwikkelingsteamsgedetailleerdeendiepgaandekennisvanbeveiligingsprocedures en-techniekenhebbenéndezekennistoepassen.Eenbedrijfdatserieusomgaatmetbeveiligingheefttenminste zijnsoftwareachtereenfirewallgeplaatst.Eenfirewalliseenstuksoftwaredathelptbijhetidentificerenen blokkerenvanongeautoriseerdnetwerkverkeer.Daarnaastisereengoedwachtwoordbeleid.Enkelebelangrijke aspectendaarvanzijn:
1. Complexiteit:wachtwoordenmoetencomplexenmoeilijkteradenzijn.Ditbetekenthetgebruikvaneen combinatievanhoofdletters,kleineletters,cijfersenspecialetekens.
2. Lengte:langerewachtwoordenzijnoverhetalgemeenveiliger.Eenwachtwoordmoetminimaal12tekens bevatten.
3. Uniciteit:gebruikvoorelkonlineaccounteenuniekwachtwoord.Hergebruikvanwachtwoordenvergroot hetrisicoalséénaccountwordtaangetast.
4. Regelmatigwijzigen:hetisgoedomwachtwoordenregelmatigtewijzigen,bijvoorbeeldelkedriemaanden, omdebeveiligingtebehouden.
5. Tweefactorauthenticatie(2FA):activeer2FAwanneerbeschikbaar.Ditvoegteenextrabeveiligingslaagtoe doornaasteenwachtwoordeentweedevormvanidentificatietevereisen.
6. Geenpersoonlijkeinformatie:vermijdhetgebruikvanpersoonlijkeinformatiezoalsnamen,geboortedata ofeenvoudigteradenwoordenals"wachtwoord".
7. Wachtwoordbeheerder:overweeghetgebruikvaneenwachtwoordbeheerderomcomplexe,unieke wachtwoordentegenererenenopteslaan.
8. Bewustwording:maakmedewerkersengebruikersbewustoverhetbelangvaneensterkwachtwoordbeleid enleerzehoezeveiligewachtwoordenkunnenmaken.
9. Beleidshandhaving:zorgervoordathetwachtwoordbeleidwordtgehandhaafdendatergevolgenzijnvoor hetnietnalevenervan.
Alsontwikkelaarvansoftwarekanhetnietandersdandatjeencryptietoepast.Encryptieishetomzettenvan leesbaregegevensinonleesbarevormomzetebeschermentegenongeautoriseerdetoegang.Mochtendata gestolenwordenkunnenze,zonderdesleutel,nietgelezenwordenendanooknietmisbruikt.
InhetPakketvanEisenmoetendevereistenstaanwaaraaneenapplicatiemoetvoldoenophetgebiedvan veiligheid.Debeveiligingsprincipes,zoalsinformatiebeveiliging,integriteit,privacy,vertrouwelijkheiden beschikbaarheidvaninformatiezijnhierbijvangrootbelang.
Beveiligingsprincipes
Rondhetjaar2000haddenbeveiligingsproblemenvooraltemakenmetdenetwerkinfrastructuur.Maardoor cloud-computing,internetconceptenenhetgebruikvannetwerkenkomthetsteedsvakervoordatapplicaties gebruiktwordenomineensysteemintebreken.
HetNIST,hetNationalInstituteofStandardsandTechnology,heefteenstandaardopgesteld,deFederal InformationProcessingStandard(FIPS),waarindriekernbeschermingsprincipesophetgebiedvan informatiebeveiligingzijnopgenomen.Ditzijn:confidentiality(vertrouwelijkheid),integrity(integriteit)en availability(beschikbaarheid).
Vertrouwelijkheid
Vertrouwelijkheidwaarborgtdatderegelsmetbetrekkingtotpersoonlijkeprivacyenbedrijfseigeninformatie wordennageleefd,zodatniemandongeoorloofdtoegangheefttotdezegegevens.Daarbijzijndetoegangscontrole enopenbaarmakingsbeperkingenopinformatiedebelangrijksteonderdelen.
Integriteit
CONCEPT
Hiervanishetdoelervoortezorgendatongepasteofongeoorloofdewijzigingenaandedata,netalsdevernietiging ervan,wordenvoorkomen.Deinformatiemoetbetrouwbaarzijn.
Beschikbaarheid
Aangegevenswaarjenietbijkunt,hebjeniets.Deinformatiemoetaltijdbeschikbaarzijn.Natuurlijkalleenvoor diepersonendiegeautoriseerdzijn.
Voordeveiligheidnuenindetoekomstishetvanbelangbijtehoudenwanneerenhoevaakdezeprincipes wordenovertreden.Deimpactvanhetincidentisdaarbijvangrootbelang,Daaromwordenincidenten geclassificeerd.
• Laag:genereerteenbeperktnadeligeffect.
• Matig:genereerteenernstigofkritischnadeligeffect.
• Hoog:genereerteencatastrofaalnadeligeffect.
Veiligheidenbeveiligingzijnessentiëleonderdelengewordenvansoftware-ontwikkeling,daaromishetnoodzakelijk veiligheidseisentoetepasseninSDLC.Vangrootvanbelanghierbijis:
• Identificeer:laatgebruikersaandeapplicatievertellenwiezezijn.
• Verifiëren:verifieerdeinloggegevensvangebruikers.
• Autoriseren:definieerderechtenenmachtigingenvoorgebruikers.
• Audit:evalueeropgebruikersvriendelijkheid.
Opdracht3 Informatiebeveiliging
RaadpleegzonodigdetheorieoverInformatiebeveiliging.
a. Watiseenveelgebruikteingangbijhethackenvansoftware?
b. InhoeveelprocentvandehacksindeVerenigdeStatenin2018spelenapplicatieseenrolalszwakkeschakel?
c. Watzijndedriekernbeschermingsprincipesophetgebiedvaninformatiebeveiliging?
3.3 SecureSoftwareDevelopmentLifeCycle(S-SDLC)
Inhetverledenkwamhetvoordatontwikkelaarsalleengeïnteresseerdwareninhetontwikkelenenverkopen vaneenapplicatieaandeklant.Maareenbelangrijkonderdeelalsbeveiligingwerdvergeten.Omdatermensen (oforganisaties)zijndiealsenigdoelhebbenintebrekeninsystemen,ofsystemenproberenplatteleggen,is beveiligingeenbelangrijkonderdeelvandesoftware-ontwikkelinggeworden.
DeredendatS-SDLCisontstaan,isdanookheellogisch:‘Hetdreigingslandschapisdrastischveranderd.’
Denoodzaakvanbeveiligingmaaktdateraltijdensdeontwikkelingvaneenapplicatieaandebeveiligingmoet wordengedacht.S-SDLCiseenvanzelfsprekendvervolgopSDLC:hetintegrerenvanbeveiligingindelevenscyclus vansoftware-ontwikkeling.BijelkefasevanS-SDLCligtdenadrukopveiligheid.Ditkomtbovenopdebestaande activiteiteninSDLC.
Hetkannuttigzijnomeenteamvanethischehackersintezetten,maargestructureerdeprocessen,zoalsdievan S-SDLC,dragenbijaaneenkostenefficiëntereaanpakvanbeveiligingsproblemen.Doorbeveiligingsproblemen eerderindeontwikkelingscyclusteidentificeren,kunnenkostenflinkwordenverlaagd.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f2fee4d6c1045d56134b432b9051fffb.jpeg)
Zoalseerderopgemerkt,wordenerbijS-SDLCbeveiligingsactiviteitentoegevoegdinelkefasevandecyclus.Om softwareteontwikkelendiebestandistegenaanvallenvanbuitenaf,moetenbeveiligingsvraagstukkenvoorelke fasewordenopgelost.
Requirements
1.Beveiligingsvereisten
SDLCiseenfeed-forwardproces.Datwilzeggendatfasenelkaaropvolgen.Foutendiegemaaktzijninfase1 wordenmeegenomenenverspreidinfase2.Daaromishetbelangrijkombeveiligingsrisico’sineenzeervroeg stadiumteanalyseren.Hetgaathieromniet-functionelebeveiligingsbehoeften.Demeestebetrokkenenbijde applicatie(stakeholders)hebbendeneigingomniet-functionelebeveiligingsbehoeftenalsvanzelfsprekendte beschouwen.Ditkaneenvoudigwegkomenomdatzenietopdehoogtezijnvanmogelijkerisico’s.Destakeholders denkennaoverwathunsysteemmoetdoen,inplaatsvanwathetnietzoumoetendoen.Datisderedendater gebruikmoetwordengemaaktvaneenSecurityRequirementsSpecification(SecRS).Ditdoeteen ‘beveiligingsteam’,eengroepmetkennisvanbeveiligingdiespecifieknaarbeveiligingseisenkijkt.Zijmakende SecRSomhetalsonderdeelvanfunctionelevereistenaanhetPakketvanEisentoetevoegen.InhetSecRSmoeten minimaaldevolgendeonderdelenwordenopgenomen:
Onderdelen
Omschrijvingvandeapplicatie
Verwachtebeveiligingsomgeving
Beschrijving
Wettelijkevereisten
CONCEPT
Beschrijfthetproduct-ofsysteemtypeendescope.Hetdefinieertde productgrenzeninalgemenetermen,zowelfysiekalslogisch.
Deverwachtebeveiligingsomgevingmoetwordenomschrevenopbasisvan veronderstellingenoverhetbeoogdegebruik. Deanalistmoethierinnagaanofhetgebruikersgedragdebeveiligingvanhet productingevaarkanbrengen.
Ermoetaandewettelijkevereistenzijnvoldaan.Alsersprakeisvanwettelijke vereistenmoetenzeopgenomenwordenindeSecRS.Denkhierbijaande eisenzoalszestaanindeAVG(Algemeneverordeninggegevensbeveiliging, dezewordtinhoofdstuk10behandeld).
Omdestakeholders,dieweinigkennishebbenvanbeveiliging,tehelpen,kunnendevolgendevragenworden gebruikt:
• Waarvoorbeveiligd?
• Veiligtegenwie?
• Watmoetveiligzijn?
• Wieofwatmoetdebeveiligingbieden?
• Opwelkemanierwordtdebeveiliginggeboden?
APonderzoektschendingprivacyviaEPDinHagaZiekenhuis
DeAutoriteitPersoonsgegevens(AP)gaateenonderzoekinstellennaarmogelijkeprivacyschendinginhet HagaZiekenhuis(DenHaag).Detoezichthouderwilwetenoferongeoorloofddoormedewerkersvanhet ziekenhuisisgekekeninhetmedischdossiervanreality-sterSamanthadeJong(Barbie).Daterviahet elektronischpatiëntendossier(EPD)vanChipsoftinzageisgeweestinhetdossiervandevrouw,bleekal uitonderzoekvanhetziekenhuiszelf,zoschrijftdeVolkskrant.
DeAPspreektbijmondevaneenwoordvoerdervaneen‘ernstigezaak’.Ziekenhuizenmoetenalletechnischeen organisatorischemaatregelennemendiemogelijkzijnomdeprivacyvanpatiëntentewaarborgen,zosteltde woordvoerder.“Eencomplexemaargeenonmogelijkezaak.”Indepraktijkhebbenalle2.800artsenen
verpleegkundigenvanhetziekenhuistoegangtotallegegevensvanelkepatiëntdieooitisopgenomenof behandeld.Privacywetgeving(ookdehuidigeWetbeschermingpersoonsgegevens)bepaaltechterdatmedische professionalsalleengegevensmogeninziendierelevantzijnvoordebehandelingvanhuneigenpatiënten.
Naar: AP onderzoekt schending privacy via EPD in Haga Ziekenhuis, ICT&health, 6 april 2018
2.Risicobeoordeling
Hetkennenvandebeveiligingsrisico’svandeapplicatieendeimpacthiervanophetbedrijfkanhetwerk eenvoudigermaken.Debelangrijksterisico’sstaanindetabelhierna.
Risicocategorie
Beschrijvingrisicocategorie
Diefstalvaninformatie
CONCEPT
Schendingprivacy
Schade
Serviceonderbreking
Fraudekanopveelverschillendemanierenvoorkomen, vanbuitendeorganisatiemaarookbinnende organisatie.Desoftwaremoethieropontworpenzijn zodatdekansopfraudeminimaalwordt.Jekunt denkenaanhetaanpassenvaneencijferdooreen student,ofhetovermakenvangeldnaareen privérekening.
Stelenvangevoeligeinformatie.Indemeestegevallen betrefthethiereenbedreigingvanbuitenaf.Deze informatiekangebruiktwordenvoorallerlei doeleinden.Hetkrantenartikelinhet AlgemeenDagblad ‘3,3miljoenNederlandsewachtwoordenmakkelijkte vinden’uitdevorigeparagraafishetgevolgvaneen dergelijkeactie.Maarookbedrijfsspionagekomtveel voor.
Stelenvanprivé-informatiediehetimagovandeklant kanbeschadigenkanomveelredenengedaanworden. Eenveelvoorkomenderedenisnieuwsgierigheid.Het artikeloverhetHAGAziekenhuisisdaareenvoorbeeld van.
Hack-pogingenkunnenleidentotvernietigingvan gevoeligeinformatie.Hackersdiemaarwatdoen kunnengroteschadeveroorzaken.
Impact
Klantvertrouwen/ Inkomsten
Inkomsten
Klantvertrouwen/ Inkomsten
Klantvertrouwen/ Inkomsten
Inkomsten Wanneer,doorwelkeredendanook,debedrijfsservice wordtonderbroken,kostditinveelgevallengeld.Is eenwebwinkelnietbeschikbaardanzullenmogelijke klantennietgaanwachten.Zijzoekengewooneen anderewebwinkel.
Fraude(interneenexterne)![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e98f4c9b647f79c61068a3dcd692bab7.jpeg)
Figuur 3.4 Redenen van dataverlies of down time van systemen in 2022
Ineenonderzoekdatin2022isuitgevoerddoorDellEMCwerdendevolgenderedenengenoemdvoordataverlies ofdowntime.Hetgaathierompercentagevanhetaantalondervraagdedatdebetreffenderedenopgaf.Omdat meerdanéénredenkonwordenopgegevenkomthettotaalverbovende100%.
• Beveiligingsacties
Alsderisico’szijnbeoordeeldishettijdomdejuisteactiesingangtezettenomeenoptimalebeveiligingte realiseren.Indeonderstaandetabelstaanmogelijkeactiesvoordeverschillendebeveiligingsitems.
CONCEPT
Onderdeel
Integriteit
Acties
Ermoetbepaaldwordenwelkegegevensmoetenwordenbeschermden gevalideerdwanneerdezeinhetsysteemaanwezigzijnofwordengebruiktbij communicatiemetexternesystemen.Deintegriteitvandedatamoetworden bewaard,zoweltijdensdeontwikkelingvandesoftwarealstijdenshetingebruik nemenenzijnvandesoftware.Desoftwaremoetwordenbeschermdtegen vernietiging,geknoei,overschrijvenenverwijderenvandata.
Vertrouwelijkheid/privacy
Omervoortezorgendatalleenaangewezenpersonentoeganghebbentothet systeemendeapplicatiemoetenprocedureswordenvastgesteld.Hettoepassen vanreverseengineeringkanhierbijhelpen.Bijreverseengineeringkansoftware onderzochtwordenzonderexacttewetenhoehetontwerperuitziet.Hierbij kijkjewatdesoftwaredoetenwatdezezoumoetendoenomzodewerking eneventuelefoutenteachterhalen.Dezemethodewordtookvaakgebruikt omeenconcluderendproducttemaken.
Onderdeel
Beschikbaarheid
Accountbeheer
Verificatie/autorisatie
Acties
Allegeautoriseerdegebruikers(mensenenprocessen)moetentoeganghebben. Hetbeschermenvanhetsysteemendeapplicatieisnodigomtevoorkomen dateenindringerdeserviceafbreekt.Kwaadwillendenmoetenmet DoS-aanvallen(DenialofService)ofDDOS-aanvallen(DistributedDenialof Service)hetsysteemnietonbereikbaarmogenmaken.
Ermoeteenaccountcontrolemechanismezijndataccounttypenhelpt identificeren.Devoorwaardenvoorgroepenmoetenvastgesteldkunnenworden enlidmaatschapenmachtigingenmoetentoegewezenkunnenworden.Het moetmogelijkzijnomonnodigeaccountsteverwijderen,uitteschakelenof anderszinstebeveiligen.
Design
Hetprocesomdeaanmeldingsgegevensvaneengebruikertevaliderenmoet zijningerichtenwordentoegepast.Ditomdetoegangtothetbeperktegebied tebeheren.
Hetneutraliserenvanallemogelijkebedreigingenisnatuurlijkwishfulthinking.AlserineenPakketvanEisen staatdathetsysteemhonderdkeerveiligermoetzijn,danisdateenonmogelijkeeis.Ditkandanooknietalseen vereistewordengenoemd.Veiligheidsbedreigingenwordenzeldenvollediggeneutraliseerddoorbeperkende maatregelen.Hackerskomeninsystemenbinnenviademeestonverwachtetoegangspaden.Maardoortijdens hetontwerprekeningtehoudenmetmogelijkebedreigingenisdeveiligheidwelaanzienlijktevergroten. Erzijneengrootaantalbeveiligingsmodellendiekunnenwordengebruikt.Demeestvoorkomendeonderdelen uitdeverschillendemodellenwordenhieronderbehandeld.Uiteindelijkgaatheternietomwelkmodeljegebruikt, maardaterbijhetontwerpopdejuistemanieraandachtwordtbesteedaandebeveiliging.
Debelangrijkebeveiligingsmodellenzijn:
• Comprehensive,LightweightApplicationSecurityProcess(CLASP),OWASPFoundation
• SecureDevelopmentLifecycle(SDL)(MicrosoftCorporation,nd)
CONCEPT
• SecureRequirementsEngineeringProcess(SREP),Mellado,Fernandez-Medina&Piattini
• SecurityQualityRequirementsEngineering(SQUARE),Mead,Hough&StehneyII
Globaalzijndestappendievolgensdezemodellen,bijhetontwerpenvan‘veilige’software,gezetmoetenworden:
1. Beschrijvingontwerpvereistenvanuitbeveiligingsperspectief
2. Documentatievanarchitectuurendesignmetbetrekkingtotveiligheid
3. Dreigingsmodellering(beschrijfwelkebedreigingenerzijn)
Beschrijvingontwerpvereistenvanuitbeveiligingsperspectief
• Beschrijfdeoperationeleomgeving.
Omeenveiligsysteemtekunnenbouwenmoetduidelijkzijnhoehetsysteemgebruiktgaatworden.‘De bedrijfsomgevingmoetinkaartwordengebracht’.
Daarvoormoetwordengekekennaar:
– ofhetsysteemgebruikmaaktvansysteemcomponentenofbibliotheken;
– devereistenmetbetrekkingtotnetwerkarchitectuur;
– detegebruiken(gegevens)bronnenzoalsdatabasesendatabasetabellen,ACL’s,cryptografische sleutelarchieven,auditlogboeken,configuratiebestanden,webpagina’s,registersleutelsenzovoort
• Beschrijfdenetwerkomgeving.
Desoftwareonderdelendieafhankelijkzijnvandenetwerkomgevingmoetenhierbijbenoemdworden,zoals firewalls.
• Beschrijfde(gebruikers)rollen.
Elkehandelingvaneenindividuelegebruikervanhetsysteemkaneenmogelijkebedreiginginhouden.Deze moeteninhetontwerpdanookmeteenopveiligheidwordenbeoordeeld.Ditkandoorinhetontwerpgebruik temakenvan‘rollen’(gebruikersofsysteemfuncties).Perrolkandanaangegevenwordenwatwelofniet mag/kan,resource-mogelijkheden.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/60548d2b0c1686a027e591dc3a3ca5a1.jpeg)
Figuur 3.5 Cybersecuritybeeld Nederland 2023
Documentatievanarchitectuurendesignmetbetrekkingtotveiligheid
CONCEPT
Hetisbelangrijkdatdebeveiligingenbeveiligingsrisico’sgoedwordengedocumenteerd.Hoelangerdete verwachtelevensduurvaneensysteem,hoebelangrijkerditis.Systemendielangmeegaan,zullenvakermoeten wordenonderhouden.Bijelkonderhoudgeldenweerallebeveiligingsaspecten.Alsdedocumentatiegoedop ordeis,doorbijvoorbeeldgegevensstroomdiagrammen,danzijndebeveiligingsaspectenookduidelijkinbeeld enkunnendezegoedwordenonderhouden.
Dreigingsmodellering(beschrijfwelkebedreigingenerzijn)
Eengevalvanmisbruikishetomgekeerdevaneengevalvangebruik!Hetgaatdanomfunctionaliteitdiehet systeemnietzoumoetentoestaan.Doormogelijkebedreigingengoedtebeschrijven,heeftmenhierzichtopen kunnenmogelijkebedreigingenvoorkomenworden.Hetisbelangrijkomdebeveiligingvanafhetontwerpstadium directoptenemenindeusecases.Eenvisueleweergavevanmogelijkebedreigingenzorgtdatbedreigingenvoor allebetrokkenenhelderenduidelijkzichtbaarzijn.
Coding
Coderenzaleengrootdeelvanjeopleidingstijdinbeslagnemen.Eenbelangrijkonderdeeldaarinishetschrijven vanveiligecode.DaarzijnanderemethodenvoordieBoomBeroepsonderwijsuitgeeft.Hiergaathetomhet administratievedeeldattijdenshetcoderenmoetplaatsvinden.
Delenvankennisenervaringisaltijdbelangrijk,zoookbijdeontwikkelingvancode.Doorsamenmetjecollega’s eenlijstvanbestpracticesbijtehouden,kunnenervaringenwordengedeeldwatdekwaliteitendaarmeede veiligheidtengoedekomt.Daarnaastzijnerverschillendecommunity’swaarjealsprogrammeurlidvankunt wordenenjebestpracticeskuntdelen.
Demaniervanwerkenvandeprogrammeurisvangroteinvloedopdeveiligheidvandeomgeving,zekeralser verschillendeprogrammeursaaneencode/productmoetenwerken.
Stelcoderingsrichtlijnenop(Codingconventions)
Hierbijgaathetomrichtlijnenvooreenspecifiekeprogrammeertaaldieprogrammeerstijl,programmeerpraktijken enprogrammeermethodenaanbevelen.Zehebbenbetrekkingopbestandsorganisatie,inspringen,opmerkingen, verklaringen,witruimte,naamgevingsconventies,programmeermethoden,programmeerprincipes,vuistregels, architecturalebestpracticesenzovoort.Dezerichtlijnenstaanvoorstructurelesoftwarekwaliteitendaarmeeook voorbetereveiligheid.
Coderingsrichtlijnenkunnenvoorverschillendeprogrammeertalenverschillendzijn.Hetkancontraproductief zijnomdezelfderichtlijneninverschillendetalentoetepassen.
Vanwegetijdsbeperkingenofenthousiasteprogrammeursdieonmiddellijkeresultatenvanhuncodewillenzien, neemtdeaandachtvoorcommentaarindecodevaakaf.Tochmoetenprogrammeursopmerkingenachterlaten indecodediedezetoelichtenenverduidelijken.Datisvoorhetonderhoudvandecodevangrootbelang,zeker alserineenteamwordtgewerkt.
Daaromishetbelangrijkdatelkemoduleisvoorzienvaneennaam,hetdoel,eenbeschrijvingendeoorspronkelijke auteur.Debeschrijvingvandemodulemoetzokortmogelijkzijn,zonderinteboetenaanduidelijkheiden volledigheid.
Alsergecompliceerdelogicawordtgebruikt,isheteengoedegewoonteomeencommentaarblokbijdatdeel achtertelaten,zodateenandereprogrammeurkanbegrijpenwaterpreciesgebeurt.
Houddecodeeenvoudig!Ingewikkeldelogicaomietseenvoudigstebereiken,moettoteenminimumworden beperkt.Decodemoetindetoekomstdooreenandereprogrammeurgewijzigdkunnenworden.
Testing
Testentijdensdeontwikkelingvansoftwareisheelergbelangrijk.Blok6,Realiserenentestenvansoftwaregaat uitgebreidinoptestenenalleswatdaarbijkomtkijken.
Bijtestengaatheteromdatsoftware;
• voldoetaandevereistenvoorontwerpenontwikkeling;
• correctreageertopallerleiacties;
• zijnfunctiesuitvoertbinneneenacceptabeletijd;
• voldoendebruikbaaris;
• geïnstalleerdenuitgevoerdkanwordenindebeoogdeomgevingen;
CONCEPT
• destakeholderstevredenstelt.
Deveiligheidisdanookeenintegraaldeelvanhettestprogramma.Hetaantalmogelijketestsvoorzelfseenvoudige softwarecomponentenisoneindiggroot.Debeschikbaretijdenmiddelenzijnvaakbepalendvoordeuitgebreidheid vanhettestprogramma.Softwaretestszijnbijnaaltijdbedoeldomsoftwarefoutenofanderedefectentevinden, waaronderdeveiligheid.Testeniseeniteratief(herhalend)proces.Alsereenbugisopgelost,kunnenerandere bugsopduikenofzelfsnieuwewordenaangemaakt.
IneenAgilebenaderingwordenprogrammerenentestenbijnaaltijdgelijktijdiguitgevoerd.
Bijtestenopveiligheidgaathetvaakomkwetsbaarheidsbeoordelingenfuzzing Fuzz-testenoffuzzingiseen techniekdiedesoftwarevaneenapparaattestdoorwillekeurigedata(fuzz)inhetsysteemtesturen.Hetdoel hiervanishetsysteemtelatencrashenomzotekijkenoferkwetsbaarhedenzijn.Alseenkwetsbaarheidis gevonden,zaldefuzz-testdemogelijkeoorzaaktonenenkanerietsaangedaanworden.
Deployment
Bijdeimplementatievansoftwareofeensoftwaremoduleishetvoordeveiligheidvanbelangdatde serverconfiguratieendenetwerkconfiguratieveiligzijn.Zemoetenaansluitenbijdevereistenzoalsdiezijn opgesteldbijhetvaststellenvanderequirements.Serverconfiguratieennetwerkconfiguratiezijnzakenvan specialisten,meestalnietdesoftware-ontwikkelaars.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/56c43fcfa58ab5d5fa9dbed046626a9a.jpeg)
Figuur 3.6 Stroomschema veiligheid server- en netwerkconfiguratie
S-SDLCisnogsteedsinvolleontwikkelingenzaldatookblijven;hetzalnooitalsvolledigafwordengezien. Mogelijkzullenbepaaldeactiviteiten,zoalstrainingenreactieopincidentenwordentoegevoegd.OfS-SDLC geheelofgedeeltelijkgebruiktwordt,hangtafvandereikwijdtevanhetprogrammaenhetdoelwaarmeehet wordtuitgevoerd.AlsS-SDLCvooreengroteorganisatiewordtuitgerold,ishetzinvolomalleactiviteitenuitte voeren.Bijafdelingenofkleineorganisatieszaleenaantalactiviteitenmogelijknietrelevantofnodigzijn. Programma’szoalsS-SDLCkunnenmeerderestakeholdershebben,zoalshetmanagementen software-ontwikkelaars.Omsuccesvoltezijn,moetendezestakeholdersgoedcommuniceren.Wiedestakeholders zijn,hangtafvandeteontwikkelensoftwareenverschiltvanorganisatietotorganisatie.
NSwaarschuwthonderdduizendenklantenvanwegedatalek
CONCEPT
DeNederlandseSpoorwegenhebben780.000klantenpermaillatenwetendathunpersoonsgegevensmogelijk inverkeerdehandenzijngevallendooreendatalek.
HetdatalekisnietontstaanbijNSzelf,maarbijeensoftwareleveranciervanmarktonderzoeksbureauBlauw.Dat bureaudoetklanttevredenheidsonderzoekvoordeNS.Vantreinreizigersdiehebbenmeegedaanaanzo'n tevredenheidsonderzoekkunnene-mailadressen,telefoonnummersofnamenzijngelekt.
Gegevensgestolen
Blauwzegtdathetvrijdagtehorenkreegdatonbevoegdenzichtoeganghaddenverschafttothetnetwerkvan desoftwareleverancier.Gisterenlietdeleverancierwetendaterdaadwerkelijkgegevenszijngestolen.Hetisnog nietduidelijkomwelkedatahetgaat.
Naar: NS waarschuwt honderdduizenden klanten vanwege datalek, NOS Nieuws, 28 maart 2023
Opdracht4 SecureSoftwareDevelopmentLifeCycle(S-SDLC)
RaadpleegzonodigdetheorieOverSecureSoftwareDevelopmentLifeCycle(S-SDLC).
a. WatishetverschiltussenSDLCenS-SDLC?
b. WatzijndebelangrijkstebeveiligingsaspectenvanS-SDLCbijderequirements?
c. WaaromishetbelangrijkeenSecurityRequirementsSpecification(SRS)optestellen?
d. Welkewetisvangroteinvloedopbeveiligingseisenvangegevens?
e. Opwelkebeveiligingsrisico’svandeapplicatiemoetjeletten?
f. Eendatalekkomtregelmatigvoor.Daarmeeliggenookwachtwoordenen/ofmailadressenopstraat.Vaakis heteenhackerofeenspambotenzokomenookcriminelenbijjeaccountgegevens.Controleerdanook regelmatigofjegegevensonderdeelvanuitmakenvaneenhack.Diecontrolekanjeuitvoerenmet: haveibeenpwnd.com.Desiteheefteenwatvreemdenaam,maariswelbetrouwbaar.
CONCEPT
Controleerzoofjeaccountgegevensgelektzijn:Ganaardesitehaveibeenpwned.com.
• KlikopEmailorphone(internationalformat).
– Vuljemailadresin.
– Klikopdeknoppwned.
Zietjeeenrodeachtergrondmetdetekst'Ohno-pwned!'?Slechtnieuws:jee-mailadresstaatineenlijstmet gelektegegevens.Volgdevolgendestappen:
Scrolnaarbenedenenbekijkonder'Breachesyouwerepwnedin'eerderelekkenwaarinuwgegevenszijn verspreid.Bijallelekkenstaateenjaartal.Hebtjehetwachtwoordnadatjaartalnoggewijzigd?Danishet accountveiligenjehoeftnietstedoen.Gebruikjehetwachtwoordallangerveranderdanhetwachtwoord vanjee-mailaccount.
Gebruiktjedecombinatievane-mailadresenwachtwoordopmeerderesites/accounts?Veranderookopdie plekkenhetwachtwoord.
g. WatzijndebelangrijkstebeveiligingsaspectenvanS-SDLCbijhetdesign?
h. WatzijndebelangrijkstebeveiligingsaspectenvanS-SDLCbijhetrealiserenvandecode?
i. Kijknaardevolgendefiguur.Plaatsdebegrippen Autorisatietesten, Beveiligingsorganisatietest, Risicoanalyse, Misbruikcases, Security testen, Beveiligingseisen en Code testtools achterdejuisteletterindetabel.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/0721977c46b214beb9fcc80df8aa0bbb.jpeg)
3.4 Deopdrachtvaststellen
Jewordtnietopgeleidtotkunstenaardiekanmakenwathijzelfmooivindt.Jewordteenontwikkelaardiein opdrachtvaneenklantwerkt.Hetisdanookbelangrijkdatdieopdrachtduidelijkwordtvastgesteld.Uiteindelijk zaldatresulterenineenProgrammavaneisen.Omeenopdrachtgoedvasttekunnenstellenzuljeonderzoek moetendoeneneen‘goed’gesprekmoetenhebbenmetjeklant.Hetlastigevanjouwberoepisdatjevaakmet klantentemakenhebtdienietwetenwaterprecieskanendenkendatallesmogelijkis.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/3192bb296b3b20e1f0582518ec894dbb.jpeg)
Indecommunicatieishetbelangrijkomteachterhalenwaarhetvoordeanderechtomgaatzodat:
• jebeterebeslissingenkuntnemen;
• jebeterkuntaansluitenopdeander;
• jeeenoplossingzoektbijhetéchteprobleem.
Veelvoorkomendesituatieszijn:
• Mensenwillenvaakietsvaneenanderzonderhuneigenbelangerbijtevertellen;mendenktdatdeanderdat tochwelbegrijptofweet.
• Alseenanderonseenprobleemvoorlegt,komenwevaakdirectmeteenoplossingomdatwedenkendatwe begrijpenwathetprobleemechtis.
Omhetechteprobleemenbelangteachterhalen,ishetgoedomteluisteren.Jesteltvragenenluistertnaarhet antwoord.Daarnavraagjedoorenvatjetussentijdsdeantwoordenkortsamenomtecheckenofjehetgoed begrepenhebt.Kortom:luisteren,samenvattenendoorvragen.
3.5 Luisteren,samenvattenendoorvragen(LSD)
Jijmoetjerichtenopdewensvandeopdrachtgever.Daarkomteenaantalvaardighedenbijkijkendievoorde eenwatmoeilijkerzijnaantelerendanvoordeander.OmtebeginnenmoetjedetechniekLSDkunnentoepassen. Nee,nietdedrug,maardeafkortingvoorluisteren,samenvattenendoorvragen.
Bekijkdeuitlegvideo LSD - Humor company inBoomDigitaal.
Luisteren
Luisterenwordtvaakverwardmethoren.Luisterendoejemetjehelelichaamennietalleenmetjeoren.Luisteren vraagtveelaandachtenconcentratieenisdaardoorergmoeilijk.
Dekunstvanhetvragenstellenbegintmetluisteren.Doorjelichaamshoudinglaatjedeanderziendatje geïnteresseerdbentinwathijtezeggenheeft.Eengoedeluisteraarletaandachtigopwatdeandertezeggen heeft.Hijletopdewoorden,wathijletterlijkzegt,opdemanierwaaropdeanderdewoordenuitspreekt,opde toon,hetvolumeofdekrachtdiewordtgebruikt.
CONCEPT
Veelinformatieoverhoeiemandactiefluisterthaaljeuit:
• lichaamstaal,houding,gebaren,afstandverkleinen,afstandnemen,gebarenspiegelen;
• gezichtsuitdrukking,oogcontact;
• geluidenals‘o?’,‘ja’,‘hm’;
• hetmakenvanaantekeningen.
Bovenstaandepuntenlatenzienofiemandmeedoet,erbijis,geraaktisdoorwaterwordtverteld.
Voordeelvanactiefluisterenisdatmenookmeervoormeningenopenstaat.Wanneerjeechtaandachtvoorde anderhebt,zaldieanderookaandachthebbenvoorjouwstandpunt. Eengoedeluisteraarwordjedoornietalleentehorenwatdeanderzegt,maarookdoorteproberentebegrijpen watdeanderzegt.Luistervaardighedenstellenjeinstaatdeandertelatenwetendatjeluistert,deanderzijn verhaaltelatenvertellenentelatenverduidelijken. Beginmetderuisinjeeigenhoofduitteschakelen.Richtjegedachtenalleenopdeanderenhebgeenoordeel overdiensverhaal.Laatdeanderuitspreken,vulnietzelfalhetverhaalaanenjaagdiegenenietop.Houdcontact metdesprekerdoordiegeneaantekijkenensignalentegeven,zowelingebaaralsingeluid.Doorstiltestelaten vallengeefjedeanderdegelegenheidrustignatedenkenoverwatdiegeneheeftgezegdenereventueelnog ietsaantoetevoegen.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/bb950d1567549004c1849b9fd2b7b237.jpeg)
Figuur 3.8 Wie heeft er een actieve en wie heeft er een passieve houding?
Samenvatten
Samenvattensteltjeinstaatomtetoetsenofjijenjegesprekspartnerhetzelfdebeeldhebbenbijwatjullie bespreken.Vergeetjeietsinjesamenvatting,dankanjegesprekspartnerditaanvullen.Samenvattingengeven eengesprekstructuur.Voorbeeldsamenvatting:
‘Jezegtdusdat...’
‘Alsikjegoedhebbegrepen,bedoeljedat...’
‘Alsikjegoedhebbegrepen,vindjedat...’
CONCEPT
Tijdenshetsamenvattengeefjejezelfdetijdomdevolgendestapinhetgesprekvoortebereiden.Eensamenvatting iseenrustpuntinhetgesprek.Wanneerjijenjegesprekspartnerheteenszijnoverdesamenvattingkunjede belangrijkstepuntennoteren.Samenvattendoejeeenaantalkerentijdenshetgesprekomdelijnvanhetgesprek vasttehouden.Aanheteindvanhetgesprekmaakjeeensamenvattingomdeconclusietekunnentrekkenen afsprakentetoetsenbijjegesprekspartner.Incommunicatieismaareenheelkleindeelvandeboodschapverbaal. Hetgrootstedeelvandeboodschapwordtdoornon-verbalesignalengegeven.Dezemoetjeookmeenemenin jesamenvatting.Alsiemandheftigbeweegtmetdearmenkunjenaastdesamenvattinginwoordenookaangeven: ‘Ikziedathetjeraakt.’Belangrijkinjesamenvattingisdatjehetverhaalvandeanderweergeeftenjeeigen meningnietmeeneemt.Danheeftdeanderhetgevoeldatjenietgeluisterdhebt. Herhaalhetverhaalvandeandernietletterlijk.Eengoedesamenvattingbetekentkortdeessentieweergeven vanhetverhaalvandeander,vandediscussiedieisgevoerdendeafsprakendiezijngemaakt.Checkbijje gesprekspartnerofdieakkoordismetdesamenvatting.
Doorvragen
Ineenzakelijkeomgevingishetverstandigomdoortevragenalsdeandereenverzoekheeftofeenprobleem voorlegt.Vaaktrekkenweeenconclusieengevenmeteeneenoplossingzonderechttewetenwateraandehand is.Hetresultaatis:‘zohebikdatnietbedoeld’,‘zohebikdatnietbegrepen’.Eendoorvraagtechniekiseen gesprekstechniekdiejealsontvangerkanhelpenomdebedoeldeboodschapvandezenderduidelijktekrijgen. Speurnaaraanknopingspuntenomdoortevragen.Weesalertopvaagheden,subjectieveuitlatingen,aannames, algemenewaarhedenenformuleringenmet‘moeten’of‘kunnen’.Gebruikvandezewoordenverhultvaak waardevolleinformatie.Letopwatdeanderzegtenopwathijníetzegt.Zokrijgjemeerinformatielos.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/016f742420eb31effeadc942d56f380c.jpeg)
Figuur 3.9 Vragen
Halvevergelijking
Voorbeeld:HetisbeteromWordPresstegebruiken.
Uitdaging:WaarmeevergelekenishetbeteromWordPresstegebruiken?
Vragennaardeanderehelftvandevergelijking:Waarmeevergeleken?
Generalisatie(groepsaanduiding)
Voorbeeld:ICT-gebruikerszijngeweldig!
Uitdaging:WelkeICT-gebruikerszijnmetnamegeweldig?
Vragenomspecificatie:Wie,wat,welke?
Weglating(informatiewordtweggelaten)
CONCEPT
Voorbeeld:Ikbaal.
Uitdaging:Waaroverofoverwiebaalje?
Vragenomspecificatie:Waarvoor?Waarover?Overwie?Overwat?Enzovoort.
Vaagwerkwoord
Voorbeeld:Wegaandewebsitereorganiseren.
Uitdaging:Hoegaanwedewebsitepreciesreorganiseren?
Vragenomspecificatie:Hoemetname?Hoeprecies?
Uitspraakvannoodzakelijkheid
Voorbeeld:Ditmoetaf.
Uitdaging:Watgebeurteralshetnietafkomt?
Vragennaardeconsequenties:Vanwie?Waarom?
Alles-of-niets-uitspraak
Voorbeeld:Niemandvindtdesitegoed.
Uitdaging:Absoluuthelemaalniemand?
Vragennaartegenvoorbeeld:Kunjenietniemandbedenkendiehemwelgoedvindt?
Uitspraakvanmogelijkheidenonmogelijkheid
Voorbeeld:Ikkannietzomaarbeslissen.
Uitdaging:Wathoudtjetegenomtebeslissen?
Vragennaardereden/oorzaak:Watofwiehoudtjetegen?
Eeuwigewaarheid(meningwordtgepresenteerdalsfeit)
Voorbeeld:Roodiseenfoutekleur.
Uitdaging:Wievindtroodeenfoutekleur?
Vragennaardegenediedemeninghuldigt:Wievindtdat?Wiezegtdat?Wiebeweertdat?
Gedachtenlezen
Voorbeeld:Mijnopdrachtgeverwilhetzelfde.
Uitdaging:Hoeweetjedat?
Vragennaardeervaringenwaardeconclusieopgebaseerdis:Waarleidjedatuitaf?
Oorzaak-gevolguitspraak
Voorbeeld:Zijnaanwezigheidondermijntmijnmotivatie.
Uitdaging:Hoepreciesleidtzijnaanwezigheidtotverminderingvanjouwmotivatie?
Vragennaardesamenhangtussenoorzaakengevolg.
Opdracht5 Luisteren,samenvattenendoorvragen(LSD)
RaadpleegzonodigdetheorieoverLuisteren,samenvattenendoorvragen(LSD).
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/bb950d1567549004c1849b9fd2b7b237.jpeg)
a. Schrijfineenaantalkernwoordenopwatjezietbijdemeestlinkselijnfiguuralshetgaatomluisteren.
b. Schrijfineenaantalkernwoordenopwatjezietbijdemiddelstelijnfiguuralshetgaatomluisteren.
c. Schrijfineenaantalkernwoordenopwatjezietbijdemeestrechtselijnfiguuralshetgaatomluisteren.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/13c621435dc7ef83e3b40fcbf0c7743a.jpeg)
d. Schrijfineenaantalkernwoordenopwatjezietbijdebovenstefiguuralshetgaatomluisteren.
e. Schrijfineenaantalkernwoordenopwatjezietbijdeonderstefiguuralshetgaatomluisteren.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f291d032df7b432ee7eb7566a964792f.jpeg)
f. Schrijfineenaantalkernwoordenopwatjezietbijdemeestlinkselijnfiguuralshetgaatomluisteren.
g. Schrijfineenaantalkernwoordenopwatjezietbijdemiddelstelijnfiguuralshetgaatomluisteren.
h. Schrijfineenaantalkernwoordenopwatjezietbijdemeestrechtselijnfiguuralshetgaatomluisteren.
Blok3 Veiligenbetrouwbaarsoftwareontwikkelen
i. Bespreekjewaarnemingenmetbetrekkingtotvraagat/mhmeteenmedeleerling.Watzijndeovereenkomsten endeverschilleninjulliewaarnemingen?
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/18c5cd0cfad1abd29bd8416cfcf297c7.jpeg)
j. Beschrijfwatdehoudingvandebovenstaandefigurenuitdrukt.
CONCEPT
k. Welkevoordelenlevertsamenvattenjeop?
l. Hetgrootstedeelvandeboodschapwordtdoornon-verbalesignalengegeven.Hoekunjedieinjesamenvatting teruglatenkomen?
m. Watisheteerstewatjeprobeertduidelijktekrijgenalsjemeteenopdrachtgeveringesprekgaat?
n. Welkevragensteljeomhetdoelendedoelgroeptebepalenalsjeopdrachtkrijgtomeenwebomgevingte ontwikkelen?
o. Jezalmoetenwetenhoeeenenandereruitgaatzien,dezogenoemde‘lookandfeel’.Metwelkevragenkan jedaarachterkomen?
p. Jezalmoetenwetenwelkefunctionaliteitermoetzijn.Welkevragenkanjeaandeopdrachtgeverstellenom daarachtertekomen?
CONCEPT
q. Alsjeweethoeallesmoetfunctionerenenhoeheteruitmoetzienisdevraaghoehetonderhoudgeregeld moetworden.Welkevragenkanjehieroveraandeopdrachtgeverstellen?
Opdracht6 Uitsprakenverbeteren
RaadpleegzonodigdetheorieoverLuisteren,SamenvattenenDoorvragen(LSD).
Hieronderstaateenaantaluitspraken.Noteerperuitspraak:
• Watvoorsoortbeweringbetrefthet?
• Watisdeuitdagingbijdoorvragen?
• Welkevraagzougesteldkunnenworden?
a. Opaisbeterafinzijneigenflat.
b. Duitseauto’szijngeweldig!
c. Wegaandezaakreorganiseren.
d. Iedereenvindtgroenmooi.
CONCEPT
e. Ikkannietzomaarweggaan.
f. Ditmoetdoorallegebruikerswordengetest.
g. Ikdenkdatdeklantditmooivindt.
h. C#iseenmoeilijketaal.
3.6 Vragendiegesteldmoetenworden
Hieronderstaateenaantalvoorbeeldvragen,onderverdeeldingroepen.Zoweldevragenalsdegroepenzijnniet absoluut.Hetgaateromdatjenajegesprekeenduidelijkbeeldhebtvandevraagvandeklant.
Algemenevragen
Hetishandigtebeginnenmetwatalgemenevragen.
• Watisdeaanleiding?
• Wanneermoethetafzijn?
• Noemvijftottientermen/woordendievantoepassingmoeten/kunnenzijnopdetoekomstige applicatie/website.
Natuurlijkwiljewetenwathetdoelisenwiededoelgroepis.
• Watwiltumetdeapplicatiebereiken?(Nieuweklantenaantrekken,productenverkopen,imagoversterking, bepaaldeomzethalen.)
• Welkeboodschapmoetdewebsitevertellen?
• Wanneerisdewebsiteeensucces?
• Welketakenwiltudateenwebsitebezoekeruitvoert?
CONCEPT
Vervolgensmoetjewetenhoeeenenandereruitgaatzien,dezogenoemde‘lookandfeel’.
• Watvoorgevoelmoetdegebruikerkrijgen?
• Beschrijfdegewensteuitstraling.
• Moetereenbepaaldehuisstijlgebruiktworden?
• Werkmetvoorbeeldenvanbestaandeapplicaties/websitesenlaatercommentaaropgeven.
Ookwiljewetenwelkefunctionaliteitermoetzijn.
• Welkeinformatiemoetdeapplicatie/websitebieden?
• Welkeinformatiemoetengebruikerskrijgen?
• Moetenerberichtenwordengetoond?Omwatvoorsoortberichtengaathetenhoevaakkomenzevoor?
• Moetdegebruikerkunnenzoeken?
• Wiebeheertdecontentenwielevertdezeaan?
• Wieisverantwoordelijkvoorderedactie?
• Isereenkoppelingmetsocialemediaenwieishierverantwoordelijkvoor?
Vragenoveronderhoud
• Wieisverantwoordelijkvoorhetonderhoud?
• MoetergebruikgemaaktwordenvaneenContentManagementSysteem,zoja,welk?
• IserervaringmeteenContentManagementSysteem?
• Hoemoethetonderhoud(internofextern)geregeldworden?
Alsallevragengesteldzijn,moeterduidelijkwordengeformuleerdwatdeklantwil.
3.7 Programmavaneisen
Hetisheelbelangrijkallesexactvastteleggen.Ditdoejeomtevoorkomendat:
• ersteedsnieuwevragenbijkomen;
• jeachteraftehorenkrijgtdatwatjegemaakthebtnietiswatmenbedoelde;
• eronderdelenontbrekendiewarenafgesproken.
EenveelgebruiktemanieromdeafsprakenmetdeklantzeerduidelijkvastteleggenisviadeMoSCoW-methode. Ditiseenmaniervanprioriteitenstellendiejekuntgebruikenalsjesoftwareontwikkeld.Deletters‘o’hebben feitelijkgeenbetekenis,diedienenalleenomdemethodemakkelijktekunnenonthouden.Delettersstaanvoor:
M-musthaves:dezeeisen(requirements) moeten indesoftwareterugkomen;zonderdezeeisenisdesoftware nietbruikbaar;
S-shouldhaves:dezeeisenzijnzeergewenst;zonderdezeeisenisdesoftwarewelbruikbaar,maarwedoen altijdonzebestzeterealiseren;
C-couldhaves:dezeeisenzullenalleenkunnenwordengerealiseerdalsertijdengeldgenoegis;vaakrealiseren wezeopeenlatertijdstip,indeonderhoudsfase;
W-won’thavesofwouldhaveszulleninditprojectnietaanbodkomen,maarkunnenindetoekomst,bijeen vervolgproject,mogelijkinteressantzijn.
AlswedeMoSCoW-methodegebruiken,wordendeafsprakeneenstukduidelijker.Eenprojectisgeluktalsalle must-have-eiseninheteindproductverwerktzitten.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/cbdc3a1e06d9c95510ca63451ec28c2f.jpeg)
3.8 RapportProgrammavaneisen
Wanneerjealleeisenenwensenhebtgeïnventariseerdengeanalyseerd,moethetwordenopgeschreven.Hetis verstandigeenstandaardindelingen-opmaaktegebruiken.Hetisbelangrijkdateenrapportergoeduitziet.Het iseendeelvandeindrukdiejeopeenklantmaakt.
Eenvoorbeeldvaneenindelingis:voorblad,inhoudsopgave,samenvatting,inhoudvanhetrapport.
Voorblad
Ophetvoorbladstaatdetitel,somseensubtitel,wiehetgemaaktheeftenhetversienummer.
Inhoudsopgave
Natuurlijkzorgjevooreeninhoudsopgaveendedaarbijbehorendepaginanummering.Elketekstverwerker beschiktovereenfunctieomdezeautomatischtegenereren.AlsICT’ergebruikjedienatuurlijkengajeditniet handmatigdoen.
Figuur 3.10 MoSCoW-methodeSamenvatting
Opbasisvaneen(management)samenvattingmoetdeprojectmanageren/ofopdrachtgeverbesluitenofhet projectdoorkangaan.Desamenvattingiscompactenbevatconcretefeitendiebelangrijkzijnvoorde besluitvorming.
Eisen
Hetisheelbelangrijkallesexactvastteleggen.Ditdoejeom:
• tevoorkomendatersteedsnieuwevragenbijkomen;
• datjeachteraftehorenkrijgtdatwatjegemaakthebtnietiswatmenbedoelde;
• dateronderdelenontbrekendiewarenafgesproken.
CONCEPT
AlswedeMoSCoW-methodegebruikenwordendeafsprakeneenstukduidelijker.Eenprojectisgeluktalsalle must-have-eiseninheteindproductverwerktzijn.Inallegevallenishetbelangrijkeenduidelijkverslagopte leveren.Schroomnietomgebruiktemakenvantekeningenenschema’s.
3.9 Begrippenlijst
Actiefluisteren
Eenluistervaardigheidwaarbijdeluisteraarzichactiefinzetomnietalleendewoordenvandesprekertehoren, maarooktebegrijpenwatdesprekerbedoeltenwelkeemotiesofintentieserachterschuilgaan.
Agile
Eenbenaderingvanprojectmanagementensoftwareontwikkelingdiezichrichtopflexibiliteit,samenwerking enklanttevredenheid.Inplaatsvanhetvolgenvaneenstriktlineairproces,zoalsbijtraditionelemethoden, moedigtAgileiteratieveontwikkelingaan.
Availability
Ermoeteenwaarborgvaninformatie-encommunicatiedienstenzijn.
Bestpractices
Gevestigdemethoden,techniekenofbenaderingendiealgemeenwordenerkendalseffectiefenefficiëntvoor hetbereikenvanbepaaldedoelen.
Bug
Eenfout,defect,ofonverwachtgedragineencomputerprogrammaofsysteem.Bugsontstaanmeestalalsgevolg vanprogrammeerfouten,logischefouten,ontwerpproblemen,ofonvoorzieneomstandighedentijdensde ontwikkelingvansoftware.
Cloudcomputing
Onlinewerkenmetprogramma'sdieopserversvanbijvoorbeeldMicrosoftofGooglestaan.
Coderingsrichtlijnen
Eensetvanregelsenconventiesdiewordenvastgesteldomconsistente,leesbareengestandaardiseerdecode teschrijvenineenprogrammeertaal.
CONCEPT
Confidentiality
Vertrouwelijkheid,gaateromdatergegarandeerdkanwordendatniemandderegelsvanpersoonlijkeprivacy enbedrijfseigeninformatiezalovertreden.
Deployment
OokwelRelease-faseofImplementatiefasegenoemd.Hetkomterindezefaseopneerdatdeapplicatieklaaris omlivetegaan.
Encryptie
Hetversleutelenvanbestandenofverbindingen.
Firewall
Software(somsookhardware)omin-enuitgaandverkeertefilterenopgevaarlijkebedoelingen.
Fuzzing
Eentechniekbinnensoftwareontwikkelingdiewordtgebruiktvoorhettestenenidentificerenvankwetsbaarheden insoftwaretoepassingen.Hetdoelvanfuzzingisomonverwachteinputsaaneenprogrammategevenomzo potentiëlefouten,crashes,ofbeveiligingslekkenoptesporen.
Integrity
Integriteitwilzeggendatongepasteofongeoorloofdewijzigingvandedataofvernietigingvandatanietkan.
MoSCoW-methode
Eenprioriteringstechniekdiewordtgebruiktinprojectmanagementensoftwareontwikkelingomtaken,functies ofvereistentecategoriserenopbasisvanhunrelatievebelangrijkheid.
PakketvanEisen(PvE)
Eendocumentwaarindefunctioneleentechnischeeisenwordenbeschrevendieeenopdrachtgeverheeftvoor eenbepaaldproject.
Phishing
Eenmaildieverstuurdwordtmethetdoelomdegebruikerergenszijnwachtwoordofanderegegevensachter laten.
Requirements
Gedetailleerdebeschrijvingenvanwateensysteem,productofdienstmoetkunnendoenomtevoldoenaande verwachtingenenbehoeftenvanbelanghebbenden.
S-SDLC
SecureSoftwareDevelopmentLifeCycle(S-SDLC),eenbenaderingvansoftwareontwikkelingdiedeintegratie vanbeveiligingspraktijkeninelkefasevandelevenscyclusvandesoftwarebevordert.
SecurityRequirementsSpecification(SRS)
Eendocumentwaarindebeveiligingsvereistenvooreensoftwaretoepassingofsysteemwordenbeschreven.
SoftwareDevelopmentLifeCycle(SDLC)
Eengestructureerdprocesdatwordtgebruiktbijhetontwikkelenvansoftwaretoepassingen.Hetomvateenreeks fasendiesystematischwordendoorlopenomsoftwareteplannen,ontwerpen,ontwikkelen,testen,implementeren enonderhouden.
SoftwareRequirementSpecification(SRS)
Eendocumentwaarinstaatwatmenverwachtvanhetsysteemofdesoftwarediemoetwordenontwikkeld.
CONCEPT
Tweefactorauthenticatie
Tweefactorauthenticatievoegteenextrabeveiligingslaagtoedoornaasteenwachtwoordeentweedevormvan identificatietevereisen.
3.10 Praktijkopdrachten
Opdracht7 Luisteren,samenvatten,doorvragen
Steljevoordatjeeenvriendhebtdiewatproblemenheeftopschool.Diegenewilmetjepratenenzijn/haar zorgendelen.Pasdeprincipesvanluisteren,samenvattenendoorvragentoeomjevriendtehelpenenomde volgendesituatieaftehandelen:
Jevriendbeginttepratenoverzijn/haarproblemenopschool,maaristerughoudend,enzegt:"Schoolisecht moeilijkdelaatstetijd.Ikbengestrest."
Beschrijfhoejedezesituatiezouaanpakkendoordeprincipesvanluisteren,samenvattenendoorvragentoete passen.
Opdracht8 Voor-ennadelenLSD
Dezeopdrachtvoerjeuitineengroepvandrieofvierstudenten.
Bespreekdevolgendevragen:
CONCEPT
• Watzijnenkelevoordelenvanhetactieftoepassenvanluisteren,samenvattenendoorvrageningesprekken encommunicatie?
• Hoekanhetgebruikvandezeprincipesdecommunicatieverbeterenenmisverstandenverminderen?
Elkegroepstudentenmoetdeantwoordenpresenterenaandeklaseneenalgemenediscussieoverhetonderwerp starten.
3.11 Terugblik
Opdracht9 Terugblik
Zeteenkruisjeindekolomdievoorjouvantoepassingis.
Beoordelingscriteria
JekuntdebelangrijksteprincipesuitS-SDLCtoepassen.
Jekunteenopdrachtopadequatewijzevaststellen.
JekuntdeLSDtechniektoepassen.
Jekunteenprogrammavaneisenopstellen.
Opdracht10 Terugblik
Denknaoverwatjehebtgedaaninditblok.
a. Noemtweedingenwaaroverjetevredenbent.
1.
2.
b. Noemtweedingendiejedevolgendekeeranderswiltdoen.
1. 2.
c. Vraagjedocenten/ofleermeesteromfeedback.
Tops:
Tips:
Nee Ja![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/cffd0205b8afe2b4ab03630c5e3ae437.jpeg)
Blok4 Functioneelontwerp
CONCEPT
Leerdoelen
• Jekuntrequirementsvaststellen.
• Jekunteenuse-case-diagrammaken.
• Jekunteenusecasemaken.
• Jekunteenklassendiagrammaken.
• Jekunteenfunctioneelontwerpopstellen.
BijdeontwikkelingvanapplicatieswordtervoorhetontwerpbijnaaltijdgebruikgemaaktvaneenFunctioneel eneenTechnischontwerp.HetFunctioneelontwerpbeschrijftwatdetebouwenapplicatieofwebsiteaan functionaliteitmoetbieden,enisdeblauwdrukvandeapplicatie/website.Hetmoetzoomschrevenzijndateen klanthetdocumentgoedkanbegrijpen,endeinformatiemoetnuttigzijnvooriemanddiedesitegaatbouwen. HetFunctioneelontwerpmagdusniettetechnischzijn.
Opdracht1 OriëntatieopdrachtFunctioneelontwerp
Ditdeelgaatoverhetfunctioneelontwerp.Ditiseendocumentdatdefunctionelevereistenenspecificatiesvan eensysteem,applicatieofsoftwareproductbeschrijft.Hetbevateengedetailleerdebeschrijvingvanwathet systeemmoetdoen,welkefunctieshetmoethebben,enhoedezefunctiesmetelkaarmoetensamenwerken. Hetgaatdanomdegebruikerservaringendefunctionaliteitvanhetsysteem,zonderintegaanoptechnische details.
Dezeopdrachtvoerjeuitineengroepjevandrieofvierstudenten.Alsgroepgajedefunctionaliteitvanéénvan devolgendeobjectenbeschrijven.Vervolgensbespreekjedezemeteenanderegroepderesultatenenbekijkje oferonderdelenzijngemist.
• Elektrischetandenborstel
• Airfryer
4.1 Functioneelontwerp
WiljehetFunctioneelontwerpgoedkunnenopzetten,danmoetjeeenscherpzichthebbenopderequirements. Derequirementsbeschrijvenwelkeelementenenfunctiesbenodigdzijnvooreenspecifiekproject.
CONCEPT
Requirements
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/cefa973e91459eacaae8464afd814f8f.jpeg)
Figuur 4.1 Woordweb requirements
Weonderscheidenverschillendesoortenrequirements.
Businessrequirements
Businessrequirementszijndeverbeteringendiedeondernemingwilrealiserenineennieuwofbestaandproces, bijvoorbeeld:
• grotermarktaandeel
• hogereefficiëntie
• hogereomzet
• hogeretevredenheidvanklanten
• lagerekosten
• meerwinst
• korteredoorlooptijd
• minderrisico’s
• kortereinwerktijd
Businessrequirementszijnbelangrijk,omdathiermeehettemakensysteemwordtafgebakend.Erwordteen gemeenschappelijkbeeldgedefinieerdvanwathetsysteemmoetkunnen.
Userrequirements
DitzijndeactiviteitenofprocessendiedegebruikersmethetICT-systeemgaanuitvoeren.Omdezeinbeeldte brengenwordtvaakdetechniekvanuse-casesgebruikt.Userrequirementshetenookwelproces-requirements. Zemoetennietteglobaal,maarookniettegedetailleerdzijn.
Functionelerequirements
Functionelerequirementsbeschrijvendefunctiesdiehetsysteemmoetvervullen.Functionelerequirements werkenwevaakuitineenuse-case-diagram.Hiermeekunnenwegrafischweergevenwathetsysteemmoetgaan doenenwieervanwelkefunctiegebruikgaatmaken.
Niet-functionelerequirements
CONCEPT
Niet-functionelerequirementsgevencriteriaaanomhetfunctionerenvanhetsysteemtebeoordelen,maar beschrijvenniethetspecifiekegedragzelf.Hetgaatmeestaloverbetrouwbaarheid,onderhoud,performanceen veiligheid.
UnifiedModelingLanguage(UML)
UnifiedModelingLanguage(UML)iseengestandaardiseerdemodellerings-endiagrammataaldiewordtgebruikt insoftwareontwikkelingensysteemanalyse.UMLisontworpendoorGradyBooch,JamesRumbaughenIvar Jacobsonindejaren'90enissinds1997destandaardvoorhetgrafischweergevenvansoftware.UMLstaatonder toezichtvandeObjectManagementGroup(OMG).
HetdoelvanUMLisomeengemeenschappelijkevisueletaaltebiedendieontwikkelaars,analistenenandere belanghebbendenkunnengebruiken.DoorhetgebruikvanUMLzijnsoftwareontwerpenensysteemstructuren doordeverschillendegroepentebegrijpenenkunnenzeonderlingcommuniceren. UMLisgeenontwikkelmethode!UMLverteltniethoejeeensysteemmoetontwerpen.Hetverteltooknietwatje eerstmoetdoenenwatdaarna.WatUMLweldoet,isjehelpenhetsysteemtevisualisereneneroverte communicerenmetanderen.Hetiseenvisuelemodelleertaaldiebegrippenendiagrammenstandaardiseert. UMLbiedtverschillendesoortendiagrammenomverschillendeaspectenvaneensysteemofsoftwaretoepassing temodelleren.
Structuur-engedragsdiagrammen
UMLbiedtdevolgendeverzamelingvanstructuur-engedragsdiagrammen:
• Statischediagrammen
– klassendiagram(classdiagram)
– objectendiagram(objectdiagram)
– componentendiagram(componentdiagram)
– gebruiksdiagram(deploymentdiagram)
• Dynamischediagrammen
– use-case-diagram
– collaboratiediagram(collaborationdiagram/communicatiediagram)
– sequentiediagram/volgordediagram(sequencediagram)
– activiteitendiagram(activitydiagram)
– correlatiediagram
– toestanddiagram(statediagram)
UMLbestaatuitsymbolenwaaruitdemodellenwordensamengesteld.Daarnaastisereenverzamelingregels voorhetgebruikvandezesymbolen.Dezeregelsgevenaanhoedesymboleneruitzienenhoezegecombineerd worden.Ookgevenderegelsmetbetrekkingtotdebetekenisvanelksymboolafzonderlijkaanhoedezeincontext staantotanderesymbolen.Eenmodelelementdatinverschillendediagrammenwordtgebruiktheeftaltijd dezelfdebetekenisinelkdiagram.
Nietallediagrammenwordenaltijdgebruikt,datisaandeontwikkelaar.Diagrammendievaakwordengebruikt zijn:
• Statischediagrammen
– klassendiagram(classdiagram)
• Dynamischediagrammen
– use-case-diagram
– sequentiediagram/volgordediagram(sequencediagram)
– Activiteitendiagram(activitydiagram)
Dezediagrammenkomenindevolgendeparagrafenafzonderlijkaandeorde.
CONCEPT
Use-case-diagram
InhetrapportFunctioneelontwerpzorgenweervoordatdeactiviteitenofprocessendiedegebruikersmethet ICT-systeemgaanuitvoerenduidelijkzijnomschreven.WatisermooierdaneenvolledigoverzichtopéénA4’tje?
Ditkunnenwebereikenmetbehulpvaneenuse-case-diagram,opzicheeneenvoudigetechniekdieeenvoudig isaanteleren.Hiervoorzijnheelveelverschillendetoolsbeschikbaar,zowelgratisalscommercieel.Bekende ontwikkelomgevingenzijnVisio,ArgoUMLendraw.io.Ditzijndrietotaalverschillendevoorbeeldenuiteenveel groterassortiment.Erbestaatnieteenbesteofslechtste.Wanneerjijvindtdateentooldoetwatjijnodighebt, danisdateengoedetoolvoorjou.
Eenuse-case-diagramisopgebouwduiteenpaarstandaardelementen,teweten:
Actor:eengebruiker(enheelsomseeniets)dieeenactieingangzet.
Usecase:deactiedieonderdeelvormtvanhetsysteem.
Verbinding:derelatietussendegebruikerendeactie.
Systeemgrens:hetkaderwaarmeeaangegeveniswaardegrenzenvanhetsysteemliggen.
Blok4 Functioneelontwerp
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/c5692b441364232c9ad3743f51a6a0f0.jpeg)
Figuur 4.2
Use-case-diagram
Voorbeeldvaneenwebshop
Jehebtvastweleensietsbijeenwebshopgekocht.Hetuse-case-diagramvandewebwinkelzouerzouitkunnen zien:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/1f579d98825c541145e05bfdddd59434.jpeg)
Figuur 4.3
Use-case-diagram van een webwinkel
Onzeklantkanindewebshoptweeverschillendedingen:hijkanartikelenbekijkenenartikelenkopen. Wilonzeklantechtereenartikelkunnenkopen,danmoetenzijngegevensbijonsbekendzijn.Daaromgaanwe hetuse-case-diagramaanpassen.Weeisendatdeklantinlogt.Datlatenweinonzeuse-case-diagramziendoor middelvaneen‘include’-pijltje.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f0786671dca0835d4add927f64b4a979.jpeg)
Figuur 4.4
Use-case-diagram van een webwinkel met log in
Include iseenverplichtehandeling.Alsdeklanteenartikelwilkopen,dan moet hijookinloggen.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/5e7a14e82f01d99879229b464b18104f.jpeg)
Figuur 4.5
Use-case-diagram met kader
Vaakkaderenwehetsysteeminenzettenwedeactorenbuitenhetsysteem.Hetsysteemisdewebshop, aangegevenofbegrensddoorhetkader.
Hetkannatuurlijkdateenklantopzijngemakwilwinkelenenpasovergaattotafrekenen(kopen)alshijhelemaal klaaris.Inhetvoorbeeldkandeklantkiezenalleenartikelentebekijkenoftewinkelen.Wanneerhijkiestvoor winkelen,krijgtdeklantdemogelijkheidtekiezenvoorWinkelwagenofAfrekenen.BijdekeusvoordeWinkelwagen zijnerweerdrieopties,namelijk:Artikeltoevoegen,ArtikelverwijderenenArtikelaanpassen.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/999fa7b2a54390e39084ffd7e3b64dad.jpeg)
Figuur 4.6
Use-case-diagram met keuzes
Hetfeitdatdeklanteen keus heeftennietietsmoet,gevenweaanmeteenextend Alseenkantingelogdmoetzijnomtekunnenafrekenen,danmoetenwedatopnemen.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/b6277f8b09d80624d4d10939ae274591.jpeg)
Figuur 4.7 Use-case-diagram met keuzen en log in
Eenuse-case-diagrambestaatuitdevolgendeelementen:systeemgrens,actor,usecaseenverbinding(inclusion, extension).
Deuse-case-tabel
Omallescompleettemakenmoetenwedeusecaseverderuitwerken.Eenuse-case-diagramishethelediagram, deusecaseiseenellipsinhetuse-case-diagram.Deuse-case-tabelisdeuitwerkingvanéénellipsinhetdiagram. Use-case-diagrammentonenactoren,datzijnmensenofandereonderdelenvanhetsysteem.Deuse-case-tabellen zijndescenario’swanneeractorenhetsysteemgebruikenenhunrelaties.Indeuse-case-tabellenbeschrijven wehetscenariozovolledigmogelijk(userstories).
CONCEPT
Alsvoorbeeldgebruikenweeengeldautomaat.Ditomdatiedereenweethoezo’napparaatwerktenherkent waarhetovergaat.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/feb5f028c123db4db836199d9e654a56.jpeg)
Figuur 4.8 Use-case-diagram geldautomaat
Actor
Nadenaamendeversiegevenweaanwiedebetrokkenactorenzijn.Vaakisersprakevanéénactor,maarmeer danéénactorisookmogelijk.
Precondities
Vervolgensgevenweaanwatdepreconditieszijn.Preconditieszijnvoorwaardenwaaraanvoldaanmoetzijn.Je kuntbedenkendatjeeenbankpasmoethebbenalsjegelduiteengeldautomaatwilthalen.Hierkanhetookom meerdanéénvoorwaardegaan.
Scenario(beschrijving)
Bijhetscenarioomschrijfjezovolledigenbeeldendmogelijkwatergebeurt.Bijdebetaalautomaatzoudat kunnenzijn:
• voerpasinautomaatin
• voerpincodein
• voerbedragin
• bevestigbedrag
• geefantwoordopwel/geenkwitantie
• neempasuit
• neemgelduit
• (neembonuit)
Uitzondering
Vervolgensbeschrijvenwedeuitzonderingen.Voordegeldautomaatzoudatkunnenzijn:
• foutepincode
• onvoldoendesaldo
• onvoldoendegeldinkas
• geenpapierindeprinter
Inelkvandebovenstaandesituatieszalereenanderscenariogaanspelen.
Niet-functioneleeisen
Bijdeniet-functioneleeisenkomeneisentestaandienietdirectdefunctionaliteitbetreffenmaarzaken daaromheen.Alsdegeldautomaater10minutenoverdoetoméénklantaftehandelen,danfunctioneerthijnog steeds.Eenniet-functioneleeiszoukunnenzijndateentransactiebinnen40secondenafgerondis.
CONCEPT
Postconditie
Bijdepostconditieisdesituatiebeschrevennadatdehandelingzichheeftvoltrokken.Inhetvoorbeeldvande geldautomaat:deklantheeftzijngeld,deautomaatwachtopinvoervaneennieuwepas.
Allesbijelkaargaatheteralsvolgtuitzien.
Klantisinbezitvanbankrekeningenbankpas Preconditie
Scenario
1.Klantneemtgeldop
a.Voerpasinautomaatin
b.Voerpincodein
c.Voerbedragin
d.Bevestigbedrag
e.Geefantwoordopwel/geenkwitantie
f.Neempasuit
g.Neemgelduit
h.Neembonuit
Naam
Uitzonderingen
Geldautomaat
2.Klantheeftonvoldoendesaldo
a.Voerpasinautomaatin b.Voerpincodein c.Voerbedragin d.Bevestigbedrag
e.Meldingonvoldoendesaldo
f.Anderbedrag
g.Geefja-nee(jascenario1)
h.Nee:neempasuit
3.Geenpapierinprinter
a.Voerpasinautomaatin b.Voerpincodein c.Voerbedragin
d.Bevestigbedrag
e.Meldinggeenkwitantiemogelijk
f.Neempasuit
g.Neemgelduit
4.Onvoldoendegeldinautomaat
a.Voerpasinautomaatin
b.Voerpincodein c.Voerbedragin
Niet-functioneleeisen
Postconditie
CONCEPT
d.Melding,onvoldoendegeldinkas,kiesanderbedrag
e.Scenario1
Eentransactiemoetbinnen40secondenafgerondkunnenzijn
Klantheeftzijngeld,automaatwachtopinvoervaneennieuwepas
Opdracht2 Functioneelontwerp
RaadpleegzonodigdetheorieoverhetFunctioneelontwerp.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/b6277f8b09d80624d4d10939ae274591.jpeg)
a. Maakdeuse-case-tabelvoordeactieArtikeltoevoegenuithetuse-case-diagramWebshop.
b. Maakdeuse-case-tabelvoordeactieArtikelverwijderenuithetuse-case-diagramWebshop.
c. Maakdeuse-case-tabelvoordeactieArtikelaanpassenuithetuse-case-diagramWebshop.
d. Maakdeuse-case-tabelvoordeactieAfrekenenuithetuse-case-diagramWebshop.
e. Watzijnrequirements?
f. Noemeenaantalvoorbeeldenvanbusinessrequirements.
g. Watzijnfunctionelerequirements?
CONCEPT
h. Maakeenuse-case-diagramvooreensnoepautomaat.Desnoepautomaatbevatverschillendesoortensnoep. Eenklantheefteenpaswaarmeedeautomaatinwerkingkanwordengesteld.Opdezepasstaateentegoed. Deautomaatzalalsafrondingvandetransactiehettegoedaanpassen.Hetismogelijkomindeautomaathet tegoedopdepasteverhogen.Hiervoorzalookeenbankpasaandeautomaatmoetenwordenaangeboden.
i. Maakdeuse-case-tabelvoorhetophogenvanhetsaldoopdesnoepautomaatpas.
j. Maakdeuse-case-tabelvoorhetkopenvansnoep.
k. Maakeenuse-case-diagramvoortennisverenigingTopSpin.
DeledenvandetennisverenigingTopSpintennissenwekelijksopwoensdagavond.Zijhoudeneenranglijst bij.Deranglijstiseenvoudig.Jemagaltijdiemanduitdagendiemaximaalvijfpositieshogeropderanglijst staat.Alsjewintvaniemandhogerinderanglijst,wisseljevanpositieopderanglijst.Peravondwordener dooreenlidmaximaaltweewedstrijdengespeeld.
Eenspelermagmaximaaltweespelersdiehogerinderanglijststaanuitdagen,waarbijereenvoorkeurmoet wordenopgeven.Natuurlijkkaneenspelerookuitgedaagdwordendoormeerderespelers.
Hetuitdagenkantotmaximaal24uurvoordeaanvangvandespeelavond.Detennisverenigingwilhiervoor eenapplatenontwikkelendiedeclubledenkunnengebruikenomdeeltenemen.Daarbijmoetrekening wordengehoudenmethetvolgende.
• Omtekunneninloggenmaakteenlidgebruikvanzijnlidnummereneenzelfverzonnenwachtwoord.
• Hetsysteembepaaltvierentwintiguurvoordeaanvangvandespeelavondautomatischwietegenwie speelt.Hetkanzijndateenspelerdoormeerdanéénspelerwordtuitgedaagd.Zekeralsjebedenktdat deuitgedaagdezelfookanderenkanuitdagen.Deuitdagerdiehethoogstopderanglijststaatheeftindat gevalvoorrang.Hetsysteembepaaltvolgenseenbepaaldalgoritmeeengoedrooster.Deledenkunnen ditroostervervolgensinhetsysteemraadplegen.
• Eensindevierwekenmagjejeafmeldenvoordespeelavond.Indienjejeeenkeertevaakafmeldt(ofniet optijdaanwezigbent),zakjeautomatischtweepositiesopderanglijst.
• Dewedstrijduitslagenwordenverwerktdoordewedstrijdleiding.Dewedstrijdleidingzorgtookvoorhet beheervandeleden.Hetisookdewedstrijdleidingdievastlegtdatiemandtelaatis.
• Hetsysteemzorgtervoordatnahetinvoerenvaneenwedstrijduitslagderanglijstautomatischwordt bijgewerkt.Declubledenkunnenderanglijstmetbehulpvanhetsysteeminzien.
4.2 Klasseenklassendiagram
Alsweeenapplicatiewillenbouwendiesuccesvolisendoetwatdiemoetdoen,danzullenweordemoeten aanbrengenindegegevensdiewevanuitdetebouwenapplicatiewillengebruiken.Dieordekunnenweaanbrengen metbehulpvaneenklassendiagram(classdiagram).
Ordeaanbrengenisietswatwevannatureookdoen.Trekjeeenbestekladeopendanisdekansgrootdater ordeisaangebracht.Dedingenindelahebbeneennaamenindemeestegevallenookeeneigenplaats.Maar ookbuitendelahebbendedingenomonsheeneennaam.Indemeestegevallenbehoorteendingtoteengroep, enalshetevenkan,eensubgroep.
Indebestekladeishetnietondenkbaardatweeendriedelinghebbengemaakt.
Bestek—>Lepel,Vork,Mes
Opeenofanderemanierwetenwewatbestekisenwetenwehetverschiltusseneenmes,eenlepeleneenvork. Datkomtomdatwevoorelkobjecteenspecificatiehebben,eenomschrijvingdiespecifiekekenmerkenvanhet objectbeschrijft.Diespecificatiehebbenwevaakongemerktaangenomen.Maarwanneerweeenapplicatiegaan bouwenkunnenwenietvolstaanmet‘ongemerktaannemen’.Wegaanobjectenclassificerenenhunonderlinge relatieinbeeldbrengen.Wegaaneenklassendiagrammaken.
CONCEPT
Alsvoorbeeldnogevendebesteklade:indebestekladeliggendingen(objecten)diewebesteknoemen.Die objectenkunnenwealsgroepomschrijven.Zo’nomschrijvingnoemenwevanafnueenklasse.Dieobjecten,het bestekzijndanweernadertespecifiserenalsmes,lepelenvork
KlassendiagrammenwordengebruiktindeUnifiedModelingLanguage(UML),welkeprincipeswevaaktoepassen binnendesoftware-ontwikkeling.Eenklassewordtgetekendalseenrechthoek,dieisopgebouwduitdrie rechthoeken.
classname attributen methods
• Debovensterechthoekbevatde‘classname’(naamvandeklasse).
• Demiddelsterechthoekbevatde‘attributen’(attributenvandeklasse).
• Hetonderstedeelbevatde‘methods’(functiesofhandelingendiemenkanuitvoerenopdezeobjecten).
Name
Denaamvandeklasseisbelangrijkomdathiermeewordtbepaaldoverwelkobjectjehethebt.Aandenaam wordendevolgendeeisengesteld:
• hijisuniekinhetdiagram;
• hijisaltijdinenkelvoud.
Attributen
Deattributen(fields)beschrijveninfeitehetobject.ZozaleenobjectAutobestaanuitdeattributenMotor,Wielen, Carrosserie,Stuurennogeenaantalattributen.
Attributenkunnendevolgendespecificatiehebben:
• schrijfwijze:zichtbaarheidnaam:type=startwaarde
• (privateaangeradenvoorattributen)
• zichtbaarheden
• +:publiek
• -:privaat
• x:protected
Methods
Hetonderstedeelbevatdemethoden,methods Methodenzijnfunctiesofhandelingendiemenkanuitvoeren opdezeobjecten.Methodenkunnenbewerkingenuitvoerenopdeattributenenzodenodigegegevensophalen ofwijzigen.
• schrijfwijze:zichtbaarheidnaam(parameter:type):teruggeeftype
• zoveelmogelijkprotectedaangeraden
• bijvoorbeeldLeesNaam()
• WijzigNaam(‘Nieuwenaam’)
• +maakTekst(naam:String):String
Relatiesineenklassendiagram
Deverschillendeklassenineenklassendiagramkunnenallerleirelatieshebben.Deverschillenderelatiesende consequentiesdaarvanwordenhieruitgelegd.
Alsvoorbeeldgebruikenwedecursusinschrijvingopeenschool.
Association(associatie)
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/89862e5025afae2a5282b1b318b39f27.jpeg)
Inditklassendiagramzijnertweeklassen:StudentenAdres.DeklasseStudentwordtgekenmerktdoorde attributen(fields)Naam,GeboortedatumenNummer.DeklasseAdreswordtgekenmerktdoordeattributen Postcode,Plaats,WoonplaatsenHuisnummer.
Erissprakevaneenassociatie(association)tussenStudentenAdres.Inditvoorbeeldwoonteréénstudentop éénadres.
Hetzouzomaarkunnendateropeenbepaaldadres geen studentenwonen.Hetbijbehorendeklassendiagram gaaterdanzouitzien.Eenstudentwoontopéénadres,maaropeenadreswonennuloféénstudenten.
Figuur 4.9 Klassendiagram cursusinschrijving op een schoolIndepraktijkkomthetvoordatermeerstudentenopéénadreswonen.Indatgevalmoethetklassendiagram erzouitzien.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/1bd1a3f2848d3eb9a0c3dd8e3998df6e.jpeg)
Figuur 4.10 Klassendiagram nul of één studenten op adres
Eenstudentleeftopéénadres,maaropeenadreslevennulofmeerstudentengeeftdevolgendeassociatie:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/0ea3d6278a0557935201d51d7aa674db.jpeg)
Figuur 4.11 Klassendiagram meer dan één studenten op adres
Wekennendevolgendeassociaties:
Multipliciteit
CONCEPT
Betekenis
Enkel1 1
Nulof1
Nulofmeer
Eenofmeer
n(alsn>1)
Nultotn(alsn>1)
Eéntotn(alsn>1)
Inheritancerelationships(overerving)
Hetkomtvaakvoordattweeverschillendeklasseneengedeeltelijkeovereenkomsthebben.Ineendegelijkgeval makenwegebruikvaninheritancerelationships(overerving).
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/a616c4a4585ee95a0e499981b1c6d397.jpeg)
Figuur 4.12 Klassendiagram met inheritance relationships
CONCEPT
StudentenDocentzijnbeideneenpersoon.AlleeigenschappenvanPersoongeldenvoorbeiden.Zehebben allebeieenNaam,Adres,E-mailenTelefoon.DeStudentheeftspecifieknogeeninschrijving,deDocenteen BevoegdheideneenSalaris.
Ditwordtookwelgeneralisatieofspecialisatiegenoemd.Destudentheeftallesvaneenpersoonenmogelijk meer.
• Eenstudentiseenspecialisatievanpersoon.
• Eenpersooniseengeneralisatievanstudent.
Deassociatiegeeftaandateropeenadresnulofmeerpersonenwonenendatelkpersoonopéénadreswoont. DocentenStudentwordenookwelsubklassevandeklassePersoongenoemd.
Compositieenaggregaties
Aggregaties
Aggregatieswordengebruiktvoorklassendiebestaanuittweeofmeerkleinere,opzichzelfstaandeklassen. Aggregatieswordengetekendmeteenwitteruitvormigepijlpuntdiewijstnaarhetdoelofdebovenliggende klasse.Debovenliggendeklassekandeonderliggendeklassebevatten.
Compositie
Compositieiseenspeciaaltypeaggregatiedatsterkerelatiesheeft.Debovenliggendeklassemoetdeonderliggende klassebevatten.Compositiewordtgetekendmeteengevulderuitvormigepijlpuntdiewijstnaarhetdoelofde bovenliggendeklasse.
Wenemenalsvoorbeeldeenboterham.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/1b3de07e3e1e68d58410d30165fd983d.jpeg)
Figuur 4.13 Klassendiagram met composities
EenboterhamismetbroodverbondendooreenCompositie.Deboterham moet broodbevatten.
EenboterhamismetboterenbelegverbondendooreenAggregatie.Deboterham kan boterenbelegbevatten.
Ontwerpenvaneenklassendiagram
Eenklassendiagramwordtontworpenopbasisvandebeschrijvingvaneensysteem.Eenmanieromtoteen klassendiagramtekomenisdatjedeinformatiebehoeftegoedontleedt.Omtebeginnenaccentueerjealle zelfstandigenaamwoordenindetekst.
Zelfstandigenaamwoordenzijnwoordendie‘eenzelfstandigheid’aanduiden.Datkunnenmensen,dierenen dingenzijn.Maarhetkunnenookplaatsenenabstractezakenalsgevoelens,eigenschappen,gebeurtenissen, tijdsruimtenendenkbeeldigepersonenofzakenzijn.
CONCEPT
Zelfstandigenaamwoordenkunnenmeestalgecombineerdwordenmeteenvandelidwoorden de, het of een.In veelzinnenstaatergeenlidwoordbijhetzelfstandignaamwoord:
‘Hijheeftboteropzijnhoofd’ deboter—>boteriseenzelfstandignaamwoord hethoofd—>hoofdiseenzelfstandignaamwoord
‘Erzitmuziekin’ demuziek—>muziekiseenzelfstandignaamwoord
VoorbeeldontwerpenvaneenklassendiagramvoorTopSpin
TennisverenigingTopSpinwileenapplatenontwikkelenvoordevolgendesituatie.Deledenvantennisvereniging TopSpintennissenwekelijksopwoensdagavond.Zijhoudeneenranglijstbij.Deranglijstiseenvoudig.Jemag altijdiemanduitdagendiemaximaalvijfpositieshogeropderanglijststaat.Alsjewintvaniemandhogeropde ranglijst,danwisseljevanpositie.Peravondspeelteenlidmaximaaltweewedstrijden.
Indeaangeleverdetekstwordendezelfstandigenaamwoordengemarkeerd. DeledenvantennisverenigingTopSpintennissenwekelijksopwoensdagavond Zijhoudeneenranglijstbij. Deranglijstiseenvoudig.Jemagaltijdiemanduitdagendiemaximaalvijfpositieshogeropderanglijststaat. Alsjewintvaniemandhogeropderanglijst,danwisseljevanpositie.Peravondspeelteenlidmaximaaltwee wedstrijden
Dezelfstandigenaamwoordenwordengeordend,dubbelewordenweggelaten.
• Leden
• TennisverenigingOpdrachtgeverTopSpin
• Woensdagavond
• Ranglijst
• Iemand
• Positie
• Avond
• Lid
• Wedstrijden
Vervolgensgaanwezeordenenenkunnenweproberengroepentemaken.
• Leden
• Tennisvereniging
• Woensdagavond
LID
OpdrachtgeverTopSpin
AGENDA
• Ranglijst LID
RANGLIJST
• Iemand
• Positie
RANGLIJST
• Avond LID
AGENDA
• Lid
• Wedstrijden
AGENDA
LID:Leden,IemandenLidbehorenallemaaltotdezelfdeklasseLID
AGENDA:Woensdag,AvondenWedstrijdenzijnaanduidingenvoordeplanningenzettenweindeklasseAGENDA.
RANGLIJST:RanglijstenPositiezijnbeidebedoeldomordeningaantebrengenenkomensamenindeklasse
CONCEPT
RANGLIJST
Feitelijkkrijgenwenutemakenmetdrieklassen:
• LID
• AGENDA
• RANGLIJST
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/99de170942fb5ea9443a06de494b47a9.jpeg)
Figuur 4.14 Klassendiagram TopSpin
Wehebbennudeklassenbenoemdenmoetendeonderlingerelatieaangeven.
• EenLIDkaneenvermeldinghebbenopdeRANGLIJSTmaarnietmeerdanéén(0..1).OpdeRANGLIJSTkunnen 0totveelledengeranktzijn(0..*).
• VooreenLIDkunnenéénofmeerspeeldatawordengepland(1..*).OpdeAGENDAstaan0ofmeerleden gepland(0..*).
Ditzouhetbijbehorendeklassendiagramkunnenzijn:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/4e73a5e5ffc8803df6a1e2359e5a0bd3.jpeg)
Figuur 4.15 Klassendiagram TopSpin met onderlinge relatie
VoorbeeldontwerpenvanklassendiagramAir-concepts
Air-conceptsiseenluchtvaartmaatschappijdieeenheldereplanningvoorelkevluchthanteert.Ruimvoorde vertrekdatumwordenhetvluchtnummerendevertrektijdvastgesteld.Devliegtuigen,pilotenenoverigebemanning zijnvoorAir-conceptsbelangrijkeresources.Allewerknemers,pilotenenoverigebemanninghebbeneenvliegveld alsthuisbasis.Air-conceptswerktmetverschillendetypenvliegtuigenenafhankelijkvanhettypezijnertweeof driepiloten.Voorelktoestelgeldtdatereenvliegveldalsthuisbasisis.
Vandepilotenenoverigebemanningwordennaam,adresenwoonplaatsvastgelegd.Daarnaastwordtvooreen piloothetaantaljarenervaringvastgelegd.Voordeoverigebemanningligtvastinwelkerolzijhuntaakuitoefenen. Dethuisbasisvanvliegtuig,pilootenoverigebemanningheefteencodeeneennaam.Devluchtvanvliegtuig, pilootenoverigebemanningwordtruimvantevorengepland.
Omtebeginnenzoekjeallezelfstandigenaamwoorden.Dezehebbendepotentieominhetklassendiagramte wordenopgenomen.
Air-conceptsiseenluchtvaartmaatschappijdieeenheldereplanningvoorelkevluchthanteert.Ruimvoorde vertrekdatumwordenhetvluchtnummerendevertrektijdvastgesteld.Devliegtuigen,pilotenenoverige bemanningzijnvoorAir-conceptsbelangrijkeresources.Allewerknemers,pilotenenoverigebemanning hebbeneenvliegveldalsthuisbasis Air-conceptswerktmetverschillendetypenvliegtuigenenafhankelijkvan hettypezijnertweeofdriepiloten Voorelktoestelgeldtdatereenvliegveldalsthuisbasisis.
CONCEPT
Vandepilotenenoverigebemanningwordennaam,adresenwoonplaatsvastgelegd.Daarnaastwordtvoor eenpiloothetaantaljarenervaringvastgelegd.
Voordeoverigebemanningligtvastinwelkerolzijhuntaakuitoefenen.
Dethuisbasisvanvliegtuig,pilootenoverigebemanningheefteencodeeneennaam.Devluchtvanvliegtuig, pilootenoverigebemanningwordtruimvantevorengepland.
Wemakeneenoverzichtvandezelfstandignaamwoordenwaarbijwe redundante gegevensweglaten.Redundant isdedureICT-uitvoeringvanhetwoord‘dubbele’.
• Luchtvaartmaatschappij
• Heldereplanning
• Vlucht
• Vertrekdatum
• Vluchtnummer
• Vertrektijd
• Vliegtuigen
• Piloten
• Overigebemanning
• Resources
• Werknemers
• Thuisbasis
• Verschillendetypenvliegtuigen
• Type
• Vliegveld
• Naam
• Adres
• Woonplaats
• Aantaljarenervaring
• Rol
• Taak
• Code
• NaamThuisbasis
gaanweeengroeperingaanbrengen:
• Luchtvaartmaatschappij
• Heldereplanning
• Vlucht
• Vertrekdatum
• Vluchtnummer
• Vertrektijd
• Vliegtuigen
• Piloten
• Overigebemanning
• Resources
• Werknemers
• Thuisbasis
• Verschillendetypenvliegtuigen
CONCEPT
Daargaathetover
Planningvlucht
Planningvlucht
Planningvlucht
Planningvlucht
Planningvlucht
Vliegtuig
Werknemer
Werknemer
Werknemer
Werknemer
Basis
Vliegtuig
• Type Basis
Vliegtuig
• Vliegveld
• Naam
• Adres
• Woonplaats
• Aantaljarenervaring
• Rol
• Taak
Werknemer
Werknemer
Werknemer
Werknemer(specifiekpiloot)
Werknemer(specifiekoverigebemanning)
Werknemer(specifiekoverigebemanning)
Basis
• NaamThuisbasis
• Code Basis
WezieneengrotegroepgerelateerdaanWerknemer.
• Piloten
• Overigebemanning
• Resources
• Werknemers
• Naam
• Adres
• Woonplaats
• Aantaljarenervaring
• Rol
• Taak
Werknemer
Werknemer
Werknemer
Werknemer
Werknemer
Werknemer
Werknemer
Werknemer(specifiekpiloot)
Werknemer(specifiekoverigebemanning)
Werknemer(specifiekoverigebemanning)
Hierbijvaltopdatersynoniemenwordengebruikt,dieweverwijderen.
• Piloten
• Overigebemanning
• Werknemers
• Naam
• Adres
• Woonplaats
• Aantaljarenervaring
• Rol
CONCEPT
Werknemer
Werknemer
Werknemer
Werknemer
Werknemer
Werknemer
Werknemer(specifiekpiloot)
Werknemer(specifiekoverigebemanning)
WatopvaltisdatzowelPilotenalsOverigebemanningWerknemerzijnmaardatzijelkeenspecifiekkenmerk hebben.Datkanresulterenineenvolgendklassendiagram.
InditgevalmakenwegebruikvanInheritancerelationships(overerving).
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/878f469879372f33176d3d86d8937ac3.jpeg)
Figuur 4.16 Klassendiagram Air-concepts met Inheritance relationships
• Heldereplanning
• Vlucht
• Vertrekdatum
• Vluchtnummer
CONCEPT
• Vertrektijd
• Vliegtuigen
• Verschillendetypenvliegtuigen
• Type
• Thuisbasis
• Code
• NaamThuisbasis
Planningvlucht
Planningvlucht
Planningvlucht
Planningvlucht
Planningvlucht
Vliegtuig
Vliegtuig
Vliegtuig
Basis
Basis
Basis
Dezetabellengevenweeenadequatenaamenwehalendesynoniemenweg.Danhoudenwedevolgendeklassen over:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/1aca57d8fc8fb218dfa7539e4d4a0fef.jpeg)
Figuur 4.17 Klassendiagram Air-concepts zonder synoniemen
Depilootendebemanningzijngeplandopeenbepaaldevlucht.Hieraanisnatuurlijkookeenvliegtuiggekoppeld. Datzouerzouitkunnenzien:
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/98871c897d8035e6d1cb7043f72ff54f.jpeg)
Figuur 4.18 Klassendiagram Air-concepts met vliegtuigen
Zoweldebemanningalseenvliegtuigheefteenspecifiekvliegveldalsthuisbasis.Datkanwordenvertaaldinhet volgendediagram:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/10419e9d5d295cf522b1d938f19e022f.jpeg)
CONCEPT
Figuur 4.19 Klassendiagram Air-concepts vliegvelden
Watnunogmoetgebeuren,ishetleggenvandedesbetreffenderelaties.
• Eenpilootkanmeerverschillendevluchtendoen,maaropeenvluchtzittentweeofdriepiloten.
• Bemanningkanmeerverschillendevluchtendoen,maaropeenvluchtzitéénofmeerbemanningsleden.
• Eenvliegtuigmaaktmeerderevluchten,maareenbepaaldevluchtwordtslechtsdooréénvliegtuiguitgevoerd.
• Opeenbasis(vliegveld)zijnmeerderevliegtuigengestationeerd.
• Opeenbasis(vliegveld)zijnmeerderewerknemersgestationeerd.
Hetgeheleklassendiagramzieterdanzouit:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/d55d997fc7738983115d3c1b20fd7a00.jpeg)
CONCEPT
Opdracht3 Klasseenklassendiagram
RaadpleegzonodigdetheorieoverKlasseenklassendiagram.
a. Tekenhetklassendiagrambehorendebijdevolgendetekst:
• Elkestudentdoetmeeaantweesporten.
• Aanelkesportwordtdoorveelstudentendeelgenomen.
b. Tekenhetklassendiagrambehorendebijdevolgendetekst:
• Eenauteurheeftéénofmeerboekenuitgegeven.
• Eenboekwordtgeschrevendooréénofmeerauteurs.
• Eenboekwordtuitgegevendoorprecieséénuitgever.
• Eenuitgevergeeftéénofmeerboekenuit.
c. Hetrapportvaneenleerlingbestaatuitdenaamvandieleerlingeneenaantalresultaten.Elkresultaatis opgebouwduitdenaamvaneenbepaaldvakenhetcijfer.Tekenhetklassendiagramdatbijdezecasehoort.
d. Deonderstaandefiguurisdevisuelerepresentatievaneen inUML.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e1af72a6a3e82675e9a6518b4d72f89a.jpeg)
Opdeinvullijnhoorttestaan: generalisatie associatie aggregatie compositie
e. Deonderstaandefiguurisdevisuelerepresentatievaneen inUML.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e4397262a8f1d95c11316f46007a8e40.jpeg)
Opdeinvullijnhoorttestaan: generalisatie associatie aggregatie compositie
f. Deonderstaandefiguurisdevisuelerepresentatievaneen inUML.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/91b9b6988166fe13ee2c71e7241834b8.jpeg)
Opdeinvullijnhoorttestaan: generalisatie associatie aggregatie compositie
g. Attributenenmethodenkunnenwordengetoondmethunzichtbaarheid.Watisdefunctievan+?
+staatvoorpublicattributen
+staatvoorprotectedattributen
+staatvoorprivateattributen
+wordtnietgebruiktbijzichtbaarheid
CONCEPT
h. Attributenenmethodenkunnenwordengetoondmethunzichtbaarheid.Watisdefunctievan-?
-staatvoorpublicattributen
-staatvoorprotectedattributen
-staatvoorprivateattributen -wordtnietgebruiktbijzichtbaarheid
i. Welkevandeonderstaandeafbeeldingengeeftdegeneralisatietussenvogelsendierenweer?
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/68eac7146a18aa0a894122e58384d097.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/1d5232d36b592a20b540ee117011b502.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/7d88e0e20f93131e6392b1724bc92e4f.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f77273547c359293de9951255829c176.jpeg)
j. Welkevandeonderstaandeafbeeldingengeeftdecompositietussenhuisenkamerweer?
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/59c25182f56254904a68aa6667e7830d.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/786b1fc25cd3a812c58726ef0a27a846.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/d6007c9823f53f4b6de73717fa491074.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/c4f9982ec06c7172dbdf00fe652f9c7f.jpeg)
k. Welkevandeonderstaandeafbeeldingenbeeldtuit:geenautozondereenwiel?
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/4a141392502ece95a2a1fe8f3a6f7650.jpeg)
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/9fc4a8d5c9cafa417f8683530ea1765c.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/0c17640473699238e30b86c5f811453e.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/4f47cf6ec8c4e0797a3c1a48bb078f88.jpeg)
l. Welkevandeonderstaandeafbeeldingenbeeldtuit:eenviskanvinnenhebben?
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/a6cb8ca7b5616a71287e54d7c3f3b606.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/7734dc7f49869f1b54c10e72c853c00e.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/b9ac1a0835dda2fd5d06b4ce96983891.jpeg)
m. Welkebeweringoveronderstaandefiguurisjuist?
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/c447ce99501d2408607d1969b72420c1.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/c64b19b9f3bfdc039b310f0fefb2b7e9.jpeg)
eenautoheefteenmotor eenautoheeftminimaaléénwiel eenautoheeftéénchassis eenautokaneencarrosseriehebben
n. BoomBeroepsonderwijsgeeftboekenuitvanverschillendeauteurs.Erzijnauteursdieéénboekhebben geschreven,maarerzijnookauteursdiemeerdereboekenhebbengeschreven.Ookkomthetvoordateen collectiefvanschrijversaanéénboekheeftgewerkt. Boomberoeponderwijswerktmetverschillendedrukkerijen,afhankelijkvandeaardvanhetboek.Iederboek
wordtechterbijmaarééndrukkerijgedrukt.EenredacteurvanBoomBeroepsonderwijswerktmetmeerdere auteurs.Deredacteurverzorgtvoorelkvanhenderedactieendeproductie. Maakhiervaneenklassendiagram.
o. BijtennisclubTopSpinwordteenoverzichtbijgehoudenvandeleden.Vanalleledenzijnpersoonlijkegegevens bekendalsnaamenadresgegevens.Eenlidheefteenunieklidnummer.Verderisbekendwatvoorsoortspeler hetlidis.Eenlidkanjunior,seniorofrecreatiespelerzijn.Ookisdejaarlijksecontributievastgesteld,dieper soortspelervaststaat.Tenslotteisbekendvoorwelkteameenspeleruitkomtindecompetitie.Vaneenteam wordtdeklassegenoteerd.Recreantenzijnnietingedeeldineenteam,wantzijspelengeencompetitie. Maakhiervaneenklassendiagram.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/64c6fe896cfaea0a8bcf6760d5351196.jpeg)
CONCEPT
p. MuziekStimulatieSquarePanda MuziekStimulatieSquarePandawilinformatieopslaanoverdemuzikantendieoptredenopalleuitgebrachte albums.Devolgendegegevenszijnvanbelang:
• VanelkemuzikantdieopnamesmaaktbijSquarePandaishetburgerservicenummer,denaam,hetadres enhettelefoonnummerbekend.
• Erwordtbijgehoudenwelkeinstrumentenwordengebruikt.
• Elkinstrumentheefteennaam(gitaar,synthesizer,fluitenzovoort)eneentype(datkanalleenblaas,snaar ofslagzijn).Alshetinstrumenteenblaasinstrumentis,moetdetoonsoort(bijvoorbeeldC,Bes,Es)worden bijgehouden.
• ElkalbumdatwordtopgenomenonderhetSquare-Panda-labelheefteentitel,eencopyright-datum,een formaat(cdofdvd)eneenalbum-id.
• ElknummerdatwordtopgenomenbijSquarePandaheefteen(unieke)titeleneenauteur.
• Elkemuzikantkanéénofmeerinstrumentenbespeleneneeninstrumentkandoormeerderemuzikanten bespeeldworden.
• Opelkalbumstaateenaantalnummers,maargeenenkelnummermagopmeerderealbumsvoorkomen.
• Elknummerwordtgespeelddooréénofmeermuzikanteneneenmuzikantkanéénofmeernummers spelen.HierbijwilSquarePandabijhoudenwelkinstrumentdemuzikantopditspecifiekenummerspeelt (datkanerslechtséénzijn).
• Opelkalbumiserprecieséénmuzikantdieoptreedtalsproducer.Eenmuzikantkanuiteraardmeerdere albumsproduceren.
Stelaandehandvanbovengenoemdegegevenseenklassendiagramopwaarinditalleswordtweergegeven.
4.3 Functioneel-ontwerp-rapport
Hetfunctioneel-ontwerp-rapportiseendocumentdatbedoeldisvoordeklant/opdrachtgever.Bijhetschrijven vanditrapportmoetjehierookconstantrekeningmeehouden.Zorgdatalleswatjeopschrijftbegrepenkan worden!
Indelingfunctioneel-ontwerp-rapport
Voorblad
Voorwoord
Inhoudsopgave
Samenvatting
Analysehuidigesituatie
Informatieverwerking
Applicaties
Infrastructuur
Analysegewenstesituatie
Requirements
Informatieverwerking
Applicaties
Infrastructuur
Consequenties
Organisatorischeconsequenties
Technischeconsequenties
Kosten
Planning
CONCEPT
Voorwoord
Inhetvoorwoordschrijfjewaaromjeditdocumenthebtgemaakt.Jebeschrijfthetbedrijfwaarvoorjewerkt,het bedrijfvandeklantenhetdoelvanhetproject.Zijnernoganderezakendiegenoemdmoetenworden,maardie buitenhetdocumentvallen,danisditdeplaatsomzealsnogtevermelden.Hierbijkunjedenkenaandedank diejewiltuitsprekenvoordehulpdiejegekregenhebtvaniemand.
Inhoudsopgave
Deinhoudsopgavewordtzelfnietgenoemdindeinhoudsopgavemaarisweleenbelangrijkonderdeel.Elke tekstverwerkerkaneeninhoudsopgaveautomatischgenereren,natuurlijkgebruikjediefunctie.
Samenvatting
Opbasisvaneen(management)samenvattingmoetdeprojectmanageren/ofopdrachtgeverbesluitenofhet projectkandoorgaan.Desamenvattingiscompactenbevatconcretefeitendiebelangrijkzijnvoorde besluitvorming.
Analysehuidigesituatie
Omhetverschiltekunnenzientussendesituatiezoalsdienuisendetoekomstigesituatieishetbelangrijkde huidigesituatienauwkeuriginkaarttebrengen.
Informatieverwerking
Hierbeschrijfjedebestaandesituatie.Jegeeftdebedrijfsstructuurweerbijvoorkeurmeteenorganogram,omdat jedaninéénoogopslageenbeeldhebtvandeorganisatievaneenbedrijf.Tevensgeefjemetbehulpvaneen use-case-diagramdefunctionaliteitvandeverschillendeprocessenweer.Deverschillendeusecaseswordenhier uitgewerkt.Zomogelijkgeefjederelatietotdeverschillendebedrijfsonderdelenweer.
Applicaties
Jegeefthiereenopsommingvanapplicatiesdieopditmomentwordengebruikt,bijvoorkeurgekoppeldaande daaraanverbondenbedrijfsonderdelenenusecases.
Infrastructuur
Alsersprakeisvaneennetwerkinfrastructuurwordtdezehiergrafischweergegeven.
Analysegewenstesituatie
Nadatdebestaandesituatieinkaartisgebrachtishetzaakomdegewenstesituatieduidelijktekrijgen.Lastigis hierbijdatdegebruikersvaaknietexactwetenwatzewillenofnietwetenwatmogelijkis.
Requirements
DeMoSCoW-methodeishetbelangrijksteinstrumentvoordithoofdstuk.Jekuntderesultatenhetbesteconform dezemethoderangschikken.
• Musthaves
• Shouldhaves
• Couldhaves
• Won’thaves
Informatieverwerking
Hierbeschrijfjedenieuwesituatie,bijvoorkeurmetbehulpvaneenuse-case-diagram.Vervolgenswerkjede verschillendeusecasesuitineenuse-case-tabel.
Applicaties
CONCEPT
Hiergeefjeeenopsommingvandeapplicatiesdieopditmomentwordengebruikt,bijvoorkeurgekoppeldaan dedaaraanverbondenusecasesenuse-case-tabellenvandenieuwesituatie.Hetkanzijndatjehierwireframes opneemtvandenieuweapplicatie/situatie.Eenwireframeiseenschematischeweergavevaneenwebsiteof webpagina.Bijhetontwikkelenvaneenwebsiteishetverstandiggebruiktemakenvanwireframesvoorde websiteinzijngeheelenvoorelkepagina.Hetkanookdaterdevoorkeuraanwordtgegevendewireframesin hetTechnischontwerpoptenemen.
Infrastructuur
Alsersprakeisvaneenwijzigingindenetwerkinfrastructuurmoetdezehiergrafischwordenweergegeven.
Consequenties
Alsdenieuwesituatieveranderingentotgevolgheeftdanishetbelangrijkdezevooraftebenoemen.
Organisatorische consequenties
Hiermoetalleswordenbeschrevendatinvloedheeftopdeorganisatie.Alsbedrijfsprocessenandersgaanverlopen, danzouerweleenseentraininggegevenmoetenworden.Detijddiehiervoormoetwordenvrijgemaaktzal benoemdmoetenworden.Hetzouzelfszokunnenzijndatpersoneelsledenhunhuidigewerkverliezenofer anderwerkbijkrijgen.Dezepersoneelsledenzullenzonodigmoetenwordenomgeschoold.
4 Functioneelontwerp
Technische consequenties
Allewijzigingenaandeinfrastructuur,allematerialen/apparatuurdieextramoetenwordenaangeschaftmoeten hierwordenvermeld.
Kosten
Indezefaseishetalleenmogelijkeenglobalebeschrijvingvandekostentemaken.Hetisonmogelijkomnual voorhetheleprojectallestotopdeeurotespecificeren.Tochishetbelangrijkdekostenvoorhardware,software envoorontwikkelingtenoemen.Deurenvoordefaseontwerpzijnnatuurlijkwelgespecificeerd.
Planning
HierneemjedebijgesteldeplanninguithetProjectplanover.
CONCEPT
4.4 Begrippenlijst
Activitydiagram
EentypeUML-diagramdatdedynamischeaspectenvaneensysteemmodelliseert,metdenadrukopdeworkflow endestroomvanactiviteiten.Hettoontdestappenofactiesdiewordenuitgevoerdbinneneenprocesofsysteem, evenalsdebeslissingendietijdenshetproceswordengenomen.
Aggregaties
Derelatietussentweeobjectenwaarbijheteneobjecteendeel(component)isvanhetandereobject.
Association
IndecontextvanUML(UnifiedModelingLanguage)enobjectgeoriënteerdeanalyseenontwerp,verwijsteen associationnaarderelatietussentweeofmeerklassen.
Attributen
Indatabaseswordenattributengebruiktomdekenmerkenvaneenentiteitofobjecttebeschrijven.
Compositie
Eensterkerevormvanaggregatieinobjectgeoriënteerdprogrammerenenontwerp.Ineencompositierelatieis heteneobject,hetdeelobject,striktverbondenmethetandereobject,hetgeheelobject.
Extend
Geeftaandatdegedragsvolgordevandebasisusecase(extension)optioneelwordtuitgebreidmethetgedrag vandeuitgebreideusecase(extension).Metanderewoorden,deextend"-relatiewordtgebruiktomeenoptionele, conditioneleuitbreidingvanhetgedragvandebasisusecasetemodelleren."
Functioneelontwerp
Eendocumentdatgedetailleerdeinformatiebevatoverdefunctiesenhetgedragvaneensysteem, softwaretoepassingofproduct.
Include
CONCEPT
Eenassociatierelatiedieaangeeftdathetgedragvaneenusecase(inclusieveusecase)altijdhetgedragvaneen andereusecase(inclusie-usecase)bevat.Metanderewoorden,deinclusion-relatiegeeftaandatdefunctionaliteit vandeinclusieveusecasewordtopgenomenindeuitvoeringvandebasisusecase.
Inheritancerelationships
Inheritance(erfelijkheid)verwijstnaarhetconceptwaarbijeennieuweklasse(deafgeleideklasseofsubklasse) eigenschappenengedragerftvaneenbestaandeklasse(debasis-ofbovenliggendeklasse).
Klasse
Wordtgebruiktomdestructuurvaneensysteemofsoftwaretoepassingtemodelleren.Eenklasseiseenblauwdruk ofsjabloonvoorhetmakenvanobjecten,enhetbeschrijftdeeigenschappen(attributen)engedragingen (methoden)vanobjectendiebehorentotdieklasse.
Klassendiagram
EentypeUML-diagramdatwordtgebruiktindesoftwareontwikkelingomdestatischestructuurvaneensysteem weertegeven.Hetbeschrijftdeklasseninhetsysteem,deeigenschappen(attributen)vandieklassenende relatiestussendeklassen.
Methods
Functiesofhandelingendiemenkanuitvoerenopobjecten.
Postconditie
Desituatiebeschrevennadatdehandelingzichheeftvoltrokken.
Precondities
Voorwaardenwaaraanvoldaanmoetzijn.
Redundant
Twee-ofdriedubbelbewaard.
Requirements
Gedetailleerdebeschrijvingenvanwateensysteem,productofdienstmoetkunnendoenomtevoldoenaande verwachtingenenbehoeftenvanbelanghebbenden.
Scenario
Enreeksstappenofinteractiestussengebruikerseneensysteemomeenspecifiekefunctionaliteitofusecasete illustreren.
Sequentiediagram
EentypeUML-diagramdatdeinteractiesencommunicatietussenverschillendeobjectenineensysteemweergeeft. Hetlegtdesequentiëlevolgordevanberichtenofoproepentussenobjectenvastenbiedteenvisueleweergave vanhoeeenspecifiekscenarioofproceszichontvouwtbinneneensysteem.
UnifiedModelingLanguage(UML)
Eengestandaardiseerdevisueletaaldiewordtgebruiktvoorhetmodellerenendocumenterenvansoftware-en systeemontwerpen.
Use-case-diagram
EentypeUML-diagramdatwordtgebruiktomdeinteractiestussenverschillendeactoren(gebruikersofexterne systemen)eneensysteemtemodelleren.Hetbiedteenoverzichtvandefunctionelevereistenvaneensysteem vanuithetperspectiefvandegebruikerentoonthoedegebruikersmethetsysteemzulleninteracteren.
CONCEPT
Use-case-tabel
Deuitwerkingvanéénellipsinhetdiagram.
Userstory
Eenkorte,eenvoudigebeschrijvingvaneenfunctieofstukfunctionaliteitvanuithetperspectiefvande eindgebruiker.
Wireframes
Gestructureerdevisuelerepresentatiesvandegebruikersinterfacevaneenwebsite,mobieleappofanderdigitaal product.Zewordengebruiktomdelay-outenstructuurvaneeninterfaceopeeneenvoudigeenschematische manierweertegeven,zondergedetailleerdegrafischeelementenofvisueleopmaak.
4.5 Praktijkopdrachten
Opdracht4 Usecasetakenlijst
Jewerktalsjuniorsoftwareontwikkelaarbijeenbedrijfdateeneenvoudigetakenlijstapplicatiewilontwikkelen.
Voordezeopdrachtmoetjeeenusecasemakenvoorhettoevoegenvaneennieuwetaakaandetakenlijst.Maak deusecasedoorhetzettenvandevolgendestappen.
Stappen:
1. Identificeerdeactoren:
2. Identificeerdeusecase:
3. Beschrijfdeprecondities:
4. Beschrijfdestappen:
5. Beschrijfdepostcondities:
6. Identificeeralternatievepaden:
7. Maakeengrafischerepresentatie:
8. Documenteerdeusecase:
9. Presenteerjeusecase:
Opdracht5 Klassediagramboekenwinkelsysteem
Jebentaangenomenalsjuniorsoftwareontwikkelaarbijeenbedrijfdateeneenvoudigeonlineboekwinkelwil ontwikkelen.Voordezeopdrachtmoetjeeenklassediagrammakenomdebasisstructuurvanhet boekwinkelsysteemtemodelleren.
Stappen:
1. Identificeerdeklassen:
– Identificeerdebelangrijksteklassendiebetrokkenzijnbijhetboekwinkelsysteem.
2. Definieerdeattributen:
– Voorelkeklasse,definieerdeattributen(eigenschappen)diebijdieklassehoren.
3. Definieerdemethoden:
CONCEPT
– Voorelkeklasse,definieerdemethoden(functies)diekunnenwordenuitgevoerddoorobjectenvandie klasse.
4. Definieerderelaties:
– Bepaalderelatiestussendeklassen.
5. Overweegabstracteklasseneninterfaces:
– Overweegoferabstracteklassenofinterfacesnodigzijninjeklassediagram.Misschienwiljeeenabstracte klasse"Betaalbaar"hebbenmeteenmethode"Betalen,"diewordtgeïmplementeerddoor"Bestelling" en"Winkelwagentje."
6. Documenteerjeklassediagram:
– Documenteerjeklassediagramineenduidelijkformaat,zoalseendigitaaldocumentofeentekening. Zorgervoordatalleklassen,attributen,methodenenrelatieswordenbeschreven.
7. Verduidelijkjeontwerp:
– Geefeenkortetoelichtingoverdekeuzesdiejehebtgemaaktbijhetontwerpenvanhetklassediagram enhoedeverschillendeklassensamenwerkeninhetboekwinkelsysteem.
4.6 Terugblik
Opdracht6 Terugblik
Zeteenkruisjeindekolomdievoorjouvantoepassingis.
Beoordelingscriteria
Jekuntrequirementsvaststellen.
Jekunteenuse-case-diagrammaken.
Jekunteenusecasemaken.
Jekunteenklassendiagrammaken.
Jekunteenfunctioneelontwerpopstellen.
Opdracht7 Terugblik
Denknaoverwatjehebtgedaaninditblok.
a. Noemtweedingenwaaroverjetevredenbent.
1. 2.
b. Noemtweedingendiejedevolgendekeeranderswiltdoen.
1. 2.
CONCEPT
c. Vraagjedocenten/ofleermeesteromfeedback.
Tops:
Tips:
Nee JaCONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/4d34255956e6bf8e2cb659b90af448eb.jpeg)
Blok5 Technischontwerp
CONCEPT
BijdeontwikkelingvanapplicatieswordtervoorhetontwerpbijnaaltijdgebruikgemaaktvaneenFunctioneel eneenTechnischontwerp.InhetTechnischontwerpwordtbepaaldhoedesoftwaregemaaktgaatworden.Welke techniekenwordengekozen?Hoeenwaarwordendedataopgeslagen?Hoewordengegevensverwerkt?Het Technischontwerpisnietbedoeldvoordeklantenhoeftdanookniet‘eenvoudig’tezijnintaalgebruik.Inhet Technischontwerpstaatvaktaal.
Leerdoelen
• Jekunteenactiviteitendiagrammaken.
• Jekunteensequentiediagrammaken.
• Jekunteenrelationeeldatamodelmaken.
• Jekunteentechnischontwerpopstellen.
Opdracht1 OriëntatieopdrachtTechnischontwerp
Dezeopdrachtmaakjeineengroepjevandrieofvierstudenten.
Maakeentechnischontwerpvooreenroodkleurpotlood.Ditontwerpmoetzovolledigzijndathetpotlooddirect inproductiekanwordengenomen.Hetpotloodmoetkunnenwordenvoorzienvanmerknaamoflogovande klantomzotedienenalspromotiemateriaal.
Presenteerjeontwerpaanderestvandegroepenbespreekmogelijkeaanpassingen.
5.1 Technischontwerp
Wanneerdefunctionaliteiteninkaartzijngebrachtengoedzijnbevondendoordeprojectgroepen/ofstuurgroep, kunnenookdetechnischerandvoorwaardeninkaartwordengebracht.DatdoenwedoormiddelvaneenTechnisch ontwerp.Hettechnisch-ontwerp-rapportishetoverdrachtsdocumentvoordeprogrammeursdiedeapplicaties gaanrealiseren.
BijhetTechnischontwerpwordtbepaaldhoewedesoftwaregaanmaken.
• Welketechniekenkiezenwe?
• Waarwordendedataopgeslagen?
• Hoewordeningevoerdegegevensverwerkt?
Daarnaastmoetrekeningwordengehoudenmetzakenals:
• dehoeveelheidgegevens;
• toegankelijkheidvandegegevens(gegevensvanexternebronnen);
• detoegangssnelheid/deresponsetijden;
• deverwerkingssnelheid;
• deonderhoudbaarheid.
DevolgenderandvoorwaardenmoetenwordenvastgelegdinhetTechnischontwerp:
• beveiligingvandewebsite;
• deontwikkelomgeving/programmeertalen;
• randvoorwaardenvoordekoppelingaandebestaandesystemen;
CONCEPT
• destructuurvandegehanteerdedatabasesmetdebeschrijvingvandedatabasevelden;
• detechnischeinfrastructuur.
OmditallesgoeduittevoerenkanjedeUML-diagrammenactiviteitendiagramensequentiediagramgebruiken dieindithoofdstukwordenbehandeld.
5.2 Activiteitendiagram(activitydiagram)
Omdetechnischeinfrastructuurduidelijkinbeeldtekunnenbrengenkangebruikwordengemaaktvaneen activiteitendiagram Ditiseenflowchartdiedeopvolgingvanactiesweergeeft.Eenactiviteitendiagramkomt uitdewereldvansoftware-ontwikkelingenhelptomeensysteemtevisualiserenenhierovertecommuniceren metanderen.
Jekunteenuserstoryomzettenineenactiviteitendiagram.Elkestapiseenactiviteitinhetproces.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/3d47131ef1eb6733c7767bf2b5365383.jpeg)
Figuur 5.1 Activiteitendiagram
CONCEPT
Hetactiviteitendiagramlaatdetoestandenvanhetsysteemziengedurendehetgebruikervanenlaatookzien hoedeverschillendetoestandeninelkaaroverlopen.
Symbolenineenactiviteitendiagram
Swimlane(zwembaan)waarinvooreenbepaaldeactordeactiviteitenzijnweergegeven:
elkactiviteitendiagramheefteenstartpunt start deactiviteitdieopdatmomentwordtuitgevoerd(doordebetreffendeactor) activity eenkeuzediebeantwoordwordtmeteenjaofnee decision balkwaarindestromennaeenbeslissingsamenkomen merge voorparallelleverwerking fork samenkomstvanparallelleverwerking join elkactiviteitendiagramheefteeneindpunt end
Deactiviteitenwordenmetelkaarverbondendoorpijlen(transitie).
Hetmakenvaneenactiviteitendiagramdoejeopdevolgendemanier:
• Bepaalwelkegedetailleerdeusecasejewiltuitwerken.
• Tekeneenswimlanevoorelkvandeactorenengeefelkeswimlanedenaamvandeactor.
• Tekenvoorelkeinteractietussendeactorenenhetsysteemdeactiviteitindeswimlanevandegenediede activiteituitvoert.
• Plaatsdecision,merge,forkenjoins.
• Tekendetransitie(pijlen)tussenalleelementen.
Voorbeeldwebshop
Wegebruikenweerhetvoorbeeldvandewebshop.
Hetkopenvaneenartikelineenwebshopzouerzouitkunnenzien:
a.Kiesartikel.
b.Geefspecificatiesop(maat,kleurenzovoort).
c.Kiesaantal.
d.Kiestoevoegenwinkelwagen.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/08f49cd0f7ee31c215c86cc17034ac8c.jpeg)
CONCEPT
Figuur 5.2 Activiteitendiagram webshop
Demogelijkheidbestaatdatervaneenbepaaldartikelonvoldoendeopvoorraadis.Indatgevalzaldeklanteen anderaantalmoetenkiezen.Dewinkelwagenmoetdanaangeven:Kiesanderaantal.
Heteerderbesprokenuse-case-diagramendedaarbijbesprokenusecasestaanhiernogeenkeerafgebeeld.
Hetuse-case-diagramzieteralsvolgtuit:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/8cc8db6b5246dd2b72a1073be7d88d55.jpeg)
Figuur 5.3 Use-case-diagram webshop
DeusecaseArtikeltoevoegen–Winkelwagenzieteralsvolgtuit:
Artikeltoevoegen–Winkelwagen
CONCEPT
Versie
Actor
Preconditie
Scenario
Uitzonderingen
Niet-functioneleeisen
Postconditie
Klant
Webshopisonline
17.Klantkiestartikel
a.Kiesartikel
b.Geefspecificatiesop(maat,kleurenzovoort)
c.Kiesaantal
d.Kiestoevoegenwinkelwagen
18.Klantkiestartikelwaarvanonvoldoendeinvoorraadis
a.Kiesartikel
b.Geefspecificatiesop(maat,kleurenzovoort)
c.Kiesaantal
d.Kiestoevoegenwinkelwagen
e.Systeemmeldtonvoldoendevoorraad,kiesaantal
f.Scenariovanafc
Eentransactiemoetookopeensmartphonezijnuittevoeren
Klantheeftzijnbestellinggeplaatstenkanovergaantotafrekenen
Hetbijbehorendeactiviteitendiagramzieterdanalsvolgtuit:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/29f2b3170c48e1912f6566fe73d6326c.jpeg)
Figuur 5.4 Activiteitendiagram artikel toevoegen
Erishiersprakevaneenbeslissing:‘Iservoldoendevoorraadja/nee’.Ineendergelijkgevalgebruikenwehet decision-symbool.Ditsymboolkentééningangentweeuitgangen:eenJAeneenNEE.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/18ad265e168e66a71b4c6803acbe5547.jpeg)
Figuur 5.5 Decision-symbool in verschillende vormen
Detransitiekanookwordengesplitstintwee(ofmeerstromen)dooreenfork.Ineendergelijkgevalzalde verwerkingintweeswimlanesnaastelkaarplaatsvinden.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/5823fa2c456937ccce158fc6b963f843.jpeg)
Figuur 5.6 Swimlanes
DeuitslagverwerkingvantennisverenigingTopSpinkanerdanzouitzien:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e75da9792c3c4efdb571856aa24c9f63.jpeg)
5.7 Uitslagverwerking van tennisvereniging
Voorbeeldbestellingmetparallelleverwerking:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/3a398033fd82e779ff6897150daa883f.jpeg)
CONCEPT
Figuur TopSpinOpdracht2 Activiteitendiagram
RaadpleegzonodigdetheorieoverdeActiviteitendiagram.
a. Maakeenactiviteitendiagramvoordevolgendesituatie.
Om7.00uurstapikindeautoenrijdiknaarmijnwerk.Alsikweinigfilehebonderweg,dankomikoptijd.Ik neemeenkopkoffieindekantineenneemeentweedekopmeenaarmijnbureau.Alsiklaatarriveer,neem ikalleeneenkopkoffiemeenaarmijnbureau.
b. Maakeenactiviteitendiagramvoordevolgendesituatie.
Om7.00uurstapikindeautoenrijdnaarmijnwerk,tenzijmijnautonietstart,danneemikdetreinenben iklaatopmijnwerk.Alsikmetdeautogaenikhebweinigfileonderweg,dankomikoptijd.Ikneemeenkop koffieindekantineenneemeentweedekopmeenaarmijnbureau.Wanneeriklaatarriveerneemikalleen eenkopkoffiemeenaarmijnbureau.
c. Maakeenactiviteitendiagramvoordevolgendesituatie.
Erkomteennieuwecliëntbijhetgezondheidscentrum.Dezelaatzichregistrerendoordebaliemedewerker inhetpatiëntvolgsysteem(PVS).Hiervoorverstrektdecliëntdenodigegegevens.Nadatdebaliemedewerker dezeheeftingevoerd,wordenzedoordecliëntgecontroleerdenslaatdebaliemedewerkerdegegevensop inhetPVS.
Vervolgensmeldtdecliëntzichbijdebehandelaarenmaaktzichkenbaar.Debehandelaarvraagtdegegevens vandebetreffendecliëntopuithetPVSenbespreektdebehandelingmetdecliënt.Nabehandelinglegtde behandelaardebehandelgegevensvastinhetPVS.Eenkopievandevastgelegdebehandelgegevensinclusief defactuurwordenviademailservernaardecliëntgestuurd.Eenanderekopievandevastgelegde behandelgegevensinclusiefdefactuurgaannaardezorgverzekeraarvandecliënt.Dezorgverzekeraarbetaalt defactuur.Definancieelmedewerkervanhetzorgcentrumverwerktdebetalingsgegevensindefinanciële modulevanhetPVS.
CONCEPT
d. Maakeenactiviteitendiagramvoordevolgendesituatie.
Degegevensvaneencliëntbijhetgezondheidscentrumkomen,alsdecliëntdatgoedkeurt,ineencentrale databasemetmedischegegevens(database-PVS).Debedoelingvandezedatabaseisdatdeverschillende medischspecialistenbijdegegevenskunnenenopdezemanieradequaatkunnenhandelen. Wanneereenpatiëntzichmeldt,danlogtdespecialistinophetPVS.Despecialistgeeftde‘patientkey’op. DePVS-applicatiehaaltdegegevensopuitdedatabaseendanzijnertweemogelijkheden:erzijnwelofgeen patiëntgegevens.
Alsergeenpatiëntgegevenszijn,vraagtdespecialistaandecliënttoestemmingomeennieuwaccountaan temakenindePVS-database.DePVS-applicatiezaldanindedatabasenieuwerecordsaanmaken.Deze wordenophetschermgetoondendecliëntmoetaangevenofallesklopt.Alsdathetgevalis,zaldespecialist viadePVS-applicatiederecordsactiefmaken.
e. Maakeenactiviteitendiagramvoordevolgendesituatie.
Degegevensvaneencliëntbijhetgezondheidscentrumkomen,alsdecliëntdatgoedkeurt,ineencentrale databasemetmedischegegevens(PVS-database).DebedoelingvandezePVS-databaseisdatdeverschillende medischspecialistenbijdegegevenskunnenenopdezemanieradequaatkunnenhandelen.
Wanneereenpatiëntzichmeldt,logtdespecialistinophetsysteem.Despecialistgeeftdepatientkeyop.De PVS-applicatiehaaltdegegevensopuitdePVS-databaseendanzijnertweemogelijkheden:welofgeen
patiëntgegevens.
Alserwelpatiëntgegevenszijnkandespecialistdezeophalen,zijnbevindingentoevoegenendezegegevens aandePVS-databasetoevoegen.
f. Ontwerpeenactiviteitendiagramvoorhetindienenvaneenaangiftebijdepolitie.
Procedure
Aandehandvanuwaangiftewordtgekekenofervoldoendeaanknopingspuntenzijnomeenonderzoekin testellen.Alseronvoldoendeaanknopingspuntenzijn,zaldeaangiftewordenopgeslageninonzeadministratie. Dithoeftniettebetekenendatervanafdatmomentnooitmeernaaruwzaakwordtomgekeken.Alserlater bijvoorbeeldeenverbandlijkttezijntussenuwzaakeneenanderezaak,wordtuwaangifteweerinbehandeling genomen.Hiervankrijgtudanbericht.
Mochtenermeteenvoldoendeaanknopingspuntenzijn,danwordteenafweginggemaaktoverdeernstvan hetstrafbarefeitomdezaakverderteonderzoeken.Alsdeaangiftenietverderwordtbehandeld,wordtu daaroveringelicht.Bentuhethiernietmeeeens,dankuntueenbriefschrijvenaandeofficiervanjustitie waarinuaangeeftwaaromuhetnieteensbentmetdegenomenbeslissing.DemedewerkersvanhetBureau Slachtofferhulpkunnenueventueeldaarmeehelpen.Dezaakwordtdoorofnamensdeofficiervanjustitie overwogenenukrijgtdaarvanbericht.
Alsuwaangiftewelwordtonderzocht,kanhetenigetijddurenvoordaterresultatenbekendzijn.Alsubijuw aangiftehebtaangegevendatuopdehoogtewiltwordengehoudenvanhetverloopvandezaak,krijgtu berichtalseréénofmeerdereverdachtenzijnaangehoudenenereenproces-verbaalisopgemaakt.Dit proces-verbaalwordtdoordepolitievoorgelegdaandeofficiervanjustitie.Dezebeslistofdeverdachtewel ofnietwordtvervolgd.Hijkanbesluitenomniettevervolgen(seponeren),deverdachteeenschikking(boete) aantebiedenofdezaakvoorderechtertebrengen.Bijdezittingvandestrafrechtervraagthijomdeverdachte eenbepaaldestrafopteleggen.Inhetgevaldatuaangafschadevergoedingtewensen,zalookdeofficiervan justitieproberenuwschadevergoedtekrijgen.Ookdeofficiervanjustitiezalu,alsudataangegevenheeft, informerenoverhetverloopvanuwzaak.
5.3 Sequentiediagram(sequencediagram)
CONCEPT
Hetsequentiediagramisnetalshetactiviteitendiagrameenstroomdiagram.Eensequentiediagramlaatzienhoe interactietussenonderdelenvanhetsysteemindetijdverlopen.Debasisinformatievoorhetmakenvaneen sequentiediagramkomtuitdeusecase.Eenvoorbeeldvandewerkingvaneensnoepautomaatzouerzouit kunnenzien.Bijnaaltijdbestaateensequentiediagramuitéénactorenéénofmeersysteemonderdelen.
Voorbeeldsnoepautomaat
Hetvolgendevoorbeeldlaatzienhoedeinteractietusseneensnoepautomaateneenklantverloopt.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/c7650ef627f923b3d36f0ed2a6258479.jpeg)
Figuur 5.9 Sequentiediagram snoepautomaat en klant
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/04a3353a8e746754362a298ec3dba084.jpeg)
Figuur 5.10
Bijhetopzettenvaneensequentiediagramwordendeactorendesysteemonderdelenmeestalaandebovenkant vanhetdiagram,naastelkaar,gezet.Detijdlooptdanvanbovennaarbeneden.Vanelkeactorofelkobjectwordt eenlijngetrokkenvanbovennaarbeneden,de‘lifeline’.Demeestetoolslatendelifelineactiefofinactiefworden ophetaangegevenmoment,meestaldoorhembredertetekenen.
Hetisgebruikelijkommetdeactorvanhetprocestebeginnen,diewordtmeestallinksgeplaatst.Vervolgens wordende messages geplaatst,conformhetverloopindetijd.Demessageisdeboodschapdiewordtgegeven aaneenandereactorofobject.Hetantwoord,eenreturnmessage,wordtmeteenstippellijngetekend.
Voorbeeldaanmeldprocedure
Onderstaandeenvoorbeeldvaneensequentiediagramvooreenaanmeldprocedure.
Wewilleneenaanmeldproceduredieaandevolgendeeisenvoldoet:
• Ermoeteenuniekegebruikersnaamzijn.
• Ermoeteenveiligwachtwoordzijnenhetwachtwoordmoettweekeerwordenopgegevenomschrijffouten tevoorkomen.
• Ermoeteencontrolevraagkomenmeteendaarbijbehorendantwoordzodateenvergetenwachtwoordkan wordengemaildnaareenopgegevene-mailadres.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/2eee7f3ad8f0a39e5db9930f8a9cd141.jpeg)
Figuur 5.11 Sequentiediagram aanmeldprocedure
Inbovenstaandvoorbeeldisersprakenvantweeiteraties.Datwordtaangegevendooreenkader.Inditkader wordtdevoorwaardevandeiteratiegeplaatst.
Opdracht3 Sequentiediagram
Raadpleegzonodigdetheorieoverhetsequentiediagram.
a. Maakeensequentiediagramvooreeninlogprocedure.
Inlogprocedure
• Gebruikersnaamenwachtwoordwordengevraagd.Wanneerdriemaaleenfoutwachtwoordwordt opgegeven,wordthetaccountgeblokkeerd.
• Wanneeriemandzijnwachtwoordisvergeten,kanditwordenaangegeven.Dezepersoonkrijgtdaneen nieuwwachtwoord.Hetgaathieromeentijdelijkwachtwoord(Wachtwoord12345)datbijdeeersteinlog moetwordenvervangen.
• Hetmoeteenveiligwachtwoordzijn.Hetwachtwoordmoettweekeerwordenopgegevenomschrijffouten tevoorkomen.
b. Maakeensequentiediagramvoordevolgendeusecase.
Naam
Versie
Actor
Preconditie
Scenario
Nieuwboekinbibliotheek
1.0
Bibliothecaris
Gegevensvanboekenzijnreedsaanweziginsysteem
Debibliothecarismoetregisterendateenbepaaldebestellingisontvangenendater eennieuwexemplaarvaneenboekistoegevoegdaanhetaanbodvandebibliotheek. Degegevensvanboekendiezijnbesteldzijnalaanweziginhetsysteem.
• Ontvangstvanboek,inclusiefontvangstbewijsmetvermeldingvanbestelcode
• Registratievaneennieuwexemplaarvaneenbestaandboekaandehandvanhet ISBNvanhetboek;hetnieuwgekozenexemplaarnummerwordteveneensingevoerd
• Systeempastdatabaseaan
• Printerdruktstickerafmetplaatskenmerk
• Fysiekboekexemplaarvoorzienvanstickerdoorbibliothecaris
c. Maakeensequentiediagramvoordevolgendeusecase.
Naam
Versie
Actor
CONCEPT
Uitschrijvingbekeuring
1.0
Politieagent
Preconditie
Scenario
Debestuurderbestaat
Depolitieagentbestaat
• Depolitieagentgeeftzijncodeenhetrijbewijsnummervandebestuurderop
• Depolitieagentgeeftderedenvandebekeuringop
• Systeemverwerktboeteindatabase
• Printerdruktboeteaf
• Agentkrijgtuitgeschrevenboeteenoverhandigtdieaandebe-stuurder
5.4 Relationeeldatamodel
Eendatabase,gegevensbankofdatabankiseendigitaalopgeslagenarchief.Degegevenszijnopgeslagenopeen dusdanigemanierdatflexibelraadplegenengebruikeenvoudigis.Databasesspeleneenbelangrijkerolbijhet archiverenenactueelhoudenvangegevens.Zezijneenessentieelonderdeelvandeinformatiemaatschappij, steedsmeergegevenswordenineendatabaseopgeslagen.Hetfunctionerenvandeoverheid,financiële instellingen,bedrijvenenwetenschapistegenwoordigzonderdatabasesondenkbaar.
Steedsmeergegevenswordenookviainternetbereikbaargemaakt.Zowelcommercieelalsindewetenschap wordendatabasesveelgebruikt.Indewetenschapgebeurtdatommeetgegevensofexperimentelegegevensin
opteslaan.Commercieelgaathetvaakomklant-enbetalingsgegevens.
‘AWorldofInternetofThings’iseennieuwerealiteitdiehetvergarenenbeherenvangegevensnogintenser maakt.Devolgendeclipgeefteenideevanwaarwevolgensfuturistenkunnenzijnin2050.
Bekijkdevideo The World In 2050 inBoomDigitaal.
Databaseswordensteedsbelangrijker.EengoededatabasemoetaandevolgendeminimaleCRUD-eisenvoldoen omalszodanigtewordengezien:
• Create:gegevensmoeteneenvoudigduurzaamkunnenwordenopgeslagen.
• Read:gegevensmoeteneenvoudigkunnenwordenopgezochtendoorzocht.
• Update:gegevensmoetenonderhoudenkunnenworden.
• Delete:gegevensmoetenverwijderdkunnenwordenzonderdatditdewerkingvanhetsysteemnadelig beïnvloedt.
Metanderewoorden: de database moet integer zijn Datwilzeggendat:
• gegevensnietdubbelmogenwordenopgeslagen(redundant);
• desamenhangofrelatiemetanderegegevensmoetkloppen(consistent).
Relationeledatabase
Eenrelationeledatabaseiseendatabasedieisopgebouwdvolgenseenrelationeelmodel.Degegevensworden opgeslagenintabellenwaarinderijendesoortgelijkegroepeninformatie(derecords)vormenendekolommen deinformatiedievoorelkrecordmoetwordenopgeslagen.
Alsvoorbeeldgebruikenwedeinkoopvaneenelektronicawinkel.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/135e2eab9bd0cf1655de99a494b1beef.jpeg)
Figuur 5.12 Relationele database elektronicawinkel
Verschillendetabellenkunnenmetelkaarwordenverbondendooreenkolomtoetevoegenwaarineenverwijzing naareenrecordineenanderetabelwordtopgenomen.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/10d81e743912419fab1dc35a3c702fc4.jpeg)
Figuur 5.13 Relationele database elektronicawinkel met verwijzingen
Wanneerdegegevensineenrelationeledatabasegoedgestructureerdzijn,wordtduplicatievangegevenstot eenminimumbeperktenfoutenindegegevensverwerkingwordenvoorkomen.
Normaliseren
Waaromnormaliseren?
Eendatabaseiseenverzamelinggegevens.Zonderstructuurishetnietmeerdaneenopeenhopingvandata. Zonderstructuurzalhetbijnazekerzozijndatdezelfdegegevensmeerderekerenindedatabaseopgenomen zijn.Hierdoorzullenfoutenontstaantijdensinvoegen,updatenofverwijderenvangegevens.Dedatabaseisdan niet integer.Datisnietwatwewillen.Hetkanookwordenvoorkomendoorrelatiesindedatabaseaantebrengen enervoortezorgendatgegevensnietredundant,maareenmaligwordenopgenomen.Eendatabasegoed ontwerpendoenweviaeennormalisatieproces.
Attributenenentiteiten
Ineendatabasegebruikenweeenaantalbenamingenvoordeverschillendeonderdelen.Ommetberoepsgenoten opgelijkniveautekunnensprekenishetbelangrijkdatjijdietermenookbegrijptengebruikt.Redundanten consistentzijnnetallangsgekomen.Eenobjectwordtbeschrevendoorzijnkenmerken.Eenmeszouuitde volgendekenmerkenkunnenbestaan:
Merk:Sola
Type:Broodmes
Lemmetlengte:32cm
CONCEPT
Attribuutenattribuuttype
• Merkishetattribuuttype
• Solaishetattribuut.
Entiteitenenentiteittype
• Degroep:Merk,TypeenLemmetlengtenoemenwehetentiteittype.
• Sola,Broodmes,32cmzijndeentiteiten.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f9efaa92f120b634490c4147d6eae69d.jpeg)
5.14
Primaireenexternesleutels
Verschillendeentiteiten(tabellen)kunneneenrelatiemetelkaarhebben.Dezerelatiewordtviaeensleutel aangegeven.Omelkeentiteittekunnenaanwijzeniseenprimairesleutelnodig.Elkeentiteitheeftprecieséén primairesleutel.Eenprimairesleutelkanbestaanuiteenspeciaalattribuut,hetsleutelattribuut,ofuiteen verzamelingsleutelattributen.Kijkenwenaarderelatietussendeapparatuurendeleverancierdanziejedatde leveranciercodePHinhetArtikeloverzichttweekeervoorkomt.InhetleveranciersoverzichtisPHechteruniek.
InhetleveranciersoverzichtisdeCodeeenprimairesleutel.DeLev_codeinhetartikeloverzichtwijstnaarde sleutelinhetleveranciersoverzichtenwordtexternesleutelgenoemd.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/715b8f760bbba408fdfa99d6317caeac.jpeg)
Figuur 5.15 Relationele database elektronicawinkel met verwijzingen
Eenexternesleuteliseenattribuutuiteenentiteitdiezelfnieteensleutelattribuutis,maarwelverwijstnaareen sleutelattribuutineenandereentiteit.Eenexternesleutelkoppeltdusalleenentiteitenaanelkaar.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f7b3a21eddc4dd271e3b19f95e7d8c0b.jpeg)
Figuur 5.16 Primaire en externe sleutels
CONCEPT
Eenexternesleutelwordtookwelvreemdesleutelofforeignkeygenoemd.HetveldLev_codeindetabelArtikel wijstnaardeprimairesleutelindetabelLeverancierenheetdaaromexternesleutel.
NormaliserenvolgensCodd
EdgarF.Coddkwamin1970meteenmethodeomrelationeledatabasesteontwerpen.DemethodevanCodd voorhetnormaliserenvangegevensiseenstandaardgeworden.Demethodebestaatuiteenvoorbereidende fase,dezogenaamde‘nuldenormaalvorm’,endriestappenomuiteindelijktotde‘derdenormaalvorm’tekomen. Samengevatzijndevolgendenormaalvormenteonderscheiden:
• Nuldenormaalvorm(0NV):inventariseerdeattributen.
• Eerstenormaalvorm(1NV):splitsrepeterendegroepaf.
• Tweedenormaalvorm(2NV):splitsgroepenmetgedeeltelijkafhankelijkeattributenaf.
• Derdenormaalvorm(3NV):splitsdegroepenmetonafhankelijkeattributenaf.
Aandehandvaneenvoorbeeldvoordeinschrijvingopeencursusdooreencursistnemenwedestappendoor.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e3743939e47b4e21051b0a6fc250a6ce.jpeg)
Figuur 5.17 Voorbeeld inschrijving cursist
Ditformuliergeeftdeinformatiediewemoetenontleden.
Nuldenormaalvorm(0NV)
Denuldenormaalvormkrijgjedooralleattributenopteschrijven(inventariseren)dieuitdeanalysevande informatiebehoeftekomt.Detenemenstappenzijn:
• Inventariseerallemogelijkeattribuuttypen.
• Bepaaldeconstantenenprocesgegevens,streepdeprocesgegevensweg.
• Geefaanhetentiteittypeeenbetekenisvollenaam.
• Bepaalhetsleutelattribuut.
• Bepaalofereenrepeterendegroepvoorkomt.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f111232acc26d293f90a436f6dcdb10d.jpeg)
Figuur 5.18 Inschrijving cursist
(ATVsch701) (14FEB16)
STUDENTNR
Naam
Adres
Woonplaats
CURSUSCODE
CURSUSNAAM
STARTDATUM
GEBOUW
LOCATIE
GEBOUWNAAM
Bepaaldeconstantenenprocesgegevens,streepdeprocesgegevensweg
Indebovenstaandelijstzijn(ATVsch701)en(14FEB16)tussenkaakjesgeplaatst.Deschoolcodezalvoorgedrukt zijnophetformulierennietindedatabasestaan.Dedatumzaldoorhetsysteemwordengegenereerdenisin diehoedanigheideenprocesgegeven.Dezegegevensdoenverderooknietmeermee.
Geef aan het entiteittype een betekenisvolle naam
HetgaatomeenStudentmetzijninschrijvingvoorcursussen.DenaamStudentligtvoordehand.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/0089939fd9327658dc855241ee9d7d34.jpeg)
Figuur 5.19 Inschrijving student
Bepaal het sleutelattribuut
Hetsleutelattribuutmaakteenentiteituniek.Hetgegevendatditformulieruniekmaaktindestapelformulieren ishetstudentnummer.DaaromishetStudentnraangeduidalssleuteldoorhetteonderstrepen.
Bepaal of er een repeterende groep voorkomt
CONCEPT
WeziendatstudentVanRheenenmeerderecursussenvolgt.Dezestartenopverschillendedageninverschillende gebouwen.DeAttribuuttypenCURSUSCODE,CURSUSNAAM,STARTDATUM,GEBOUW,LOCATIEenGEBOUWNAAM wordenbijherhalinggebruikt.Daaromnoemenwediteenrepeterendegroep.Dieduidenweaandoorhemte lateninspringen.
Denuldenormaalvormzieterdanalsvolgtuit:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/b89ae6bb58754c095d4e680a159fc944.jpeg)
Figuur 5.20 Nulde normaalvorm inschrijving student
Eerstenormaalvorm(1NV)
Detenemenstappenzijn:
• Bepaalofdeattribuuttypennogverderopgesplitstmoetenworden.
• Splitsderepeterendegroepaf.
• Geefaanhetafgesplitsteentiteittypeeenbetekenisvollenaam.
• Maakvandesleuteleenuniekesleutel.
Bepaal of de attribuuttypen nog verder opgesplitst moeten worden
Alswenaardenuldenormaalvormkijken,zoudenwedeattribuuttypenadres,woonplaatsendatumnogkunnen splitseninadres+huisnummer,postcode+woonplaatsendag+maand+jaar.Ishetnuttigomdezeattribuuttypen verdertesplitsenomdatwedeverschillendeonderdelengaangebruiken?Zoja,dankunnenwehetattribuuttype verderopdelen.
Inonsinschrijvingsformulierleverthetverdersplitsenvandezeattribuuttypengeenvoordeelop.Daaromlaten wezestaanzoalszezijn.
Splits de repeterende groep af
Wesplitsenderepeterendegroepafineeneigenentiteittype.Omdatindeoorspronkelijkeentiteitdesleutel doorhetsleutelattribuutStudentnrbepaaldwordt,nemenwedezeover.Denieuweentiteitisopdezemanier gekoppeldaandeeerste.Hiermeeverzekerenwedeintegriteitvandedatabase.Allegegevenszijndoorde koppelingnogsteedstebereiken.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/a3785c71d679dc52a8de215bfeda6b04.jpeg)
CONCEPT
Figuur 5.21 Repeterende groep afgesplitst
Geef aan het entiteittype een betekenisvolle naam
Webedenkenvoordezerepeterendegroepeengoedenaam.Omdathetdegegevensbevatdieoverdetevolgen cursussengaangevenwedezeentiteitdenaamOpleiding.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f505c5adc97ce4ece351c12292fc2ea2.jpeg)
Figuur 5.22 Goede naam voor repeterende groep
Maak van de sleutel een unieke sleutel
Deovergenomensleuteluitdeeersteentiteitisnietvoldoendeomalsprimairesleuteltedienen.Eenstudent kanimmersmeerderecursussenvolgen.Indatgevalzalbijelkecursushetzelfdestudentnummerstaaneniser geensprakemeervaneenuniekesleutel.
Deprimairesleutelzaleensamengesteldesleutelmoetenzijndiebestaatuitmeerdereattribuuttypen.Wekiezen hetattribuuttypeCursuscodealstweedesleutelattribuut.Dezegeeftsamenmethetstudentnummerunieke attribuutwaarden.Weonderstrependezedanook.
Deeerstenormaalvormzieterdanalsvolgtuit:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e64293547d9d701c4a1ad5f3cecfcddc.jpeg)
Figuur 5.23 Eerste normaalvorm
Tweedenormaalvorm(2NV)
Detenemenstappen:
• Bepaalhetattribuuttypedatmaarvooreendeelvandesleutelafhangt.
• Splitshetattribuuttypeafineeneigenentiteittypemetsleutel.
• Geefhetentiteittypeeenbetekenisvollenaam.
Bepaal het attribuuttype dat maar voor een deel van de sleutel afhangt
CONCEPT
Binnendeeerstenormaalvormkunnenattribuuttypenzittendiemaaraaneendeelvande(primaire)sleutel gekoppeldzijn.Dezegroepenzijndusnietuniekbepaalddoordegekozencombinatievansleutelattributen.Zo ishetattribuuttypeCursusnaamnietafhankelijkvanStudentnrmaarwelweervanhetsleutelattribuutCursuscode. HetattribuuttypeCursuscodeenCursusnaamvormenhiermeeeenapartentiteittype.
Splits de attributen af in een eigen entiteit
DeattribuuttypenCursuscodeenCursusnaamvormeneeneigenentiteittype.HetsleutelattribuutCursuscode datindeoorspronkelijkeentiteitgeenprimairesleutelwas,isdatindenieuwewel.Omdekoppelingmethet oorspronkelijkeentiteittypetebehouden,latenweeenkopievanhetsleutelattribuuttypeCursuscodeachter.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/77def309b97d41df28fc997736301d4a.jpeg)
Figuur 5.24 Eerste normaalvorm met kopie van sleutelattribuut
Geef het entiteittype een betekenisvolle naam
WegevendezenieuweentiteitookdebetekenisvollenaamCursus.Detweedenormaalvormzieterdanalsvolgt uit:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/21ad62e4090c3eb95854b5c4b5d28643.jpeg)
Figuur 5.25 Tweede normaalvorm
Derdenormaalvorm(3NV)
Detenemenstappenzijn:
• Bepaaldeattribuuttypendienietafhankelijkzijnvaneensleutelattribuuttype.
• Splitshetattribuuttypeafineeneigenentiteittype.
• Bepaalhetsleutelattribuut.
• Geefaanhetentiteittypeeenbetekenisvollenaam.
• Geefdeexternesleutelaan.
Bepaal de attribuuttypen die niet afhankelijk zijn van een sleutelattribuuttype
CONCEPT
Erkunnenattribuuttypenbestaandienietafhankelijkzijnvaneensleutelattribuuttypemaarvananderegewone attribuuttypen.ZozijninonsvoorbeelddeattribuuttypenGebouw,GebouwnaamenLocatienietafhankelijkvan StudentnrofCursuscode.Dezevormendaarmeeeenafzonderlijkentiteittype.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/ea13c0f079da37d2f91f71b7509413b6.jpeg)
Figuur 5.26 Tweede normaalvorm met afzonderlijk entiteittype
Blok5 Technischontwerp
Splits de attribuuttypen af in een eigen entiteittype
Dezeonafhankelijkeattributenwordenafgesplitstineeneigenentiteit.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/b2842ad60d5c2073e76e018e50f153b7.jpeg)
Figuur 5.27 Afzonderlijk entiteittype als afgesplitste entiteiten
Bepaal het sleutelattribuuttype
Alswenaardeattributenenhunattribuutwaardenkijken,danishetattribuutGebouwuniek.Ditkunnenwe gebruikenalsprimairesleutelindenieuweentiteit.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f55d8bbd9dd7e4d0c815c33385671550.jpeg)
Figuur 5.28 Primaire sleutel in nieuwe entiteit
Geef aan het entiteittype een betekenisvolle naam
Ooknumoetenweeenbetekenisvollenaambedenkenvoorhetnieuweentiteittype.Omdathierbijgehouden wordtinwelkgebouwdecursusplaatsvindtgevenwehetentiteittypedenaamLesgebouw.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/df99e961dc44aa7429fee642e27e11de.jpeg)
Figuur 5.29 Betekenisvolle naam nieuwe entiteittype
Geef de externe sleutel aan
DekoppelingtussenhetoorspronkelijkeentiteittypeendenieuwelooptviahetattribuuttypeGebouw.Maarhet attribuuttypeGebouwisindezeentiteitgeensleutelattribuut.Omdekoppelingaantegevenmakenwevan Gebouweenexternesleutel.Dezegevenweaandoorhetattribuuttypeteonderstrepenmeteenstippellijn.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/5abefec32ce902439a0e83ebc8300601.jpeg)
Figuur 5.30 Gedeelde sleutel
Dederdenormaalvormzieterdanalsvolgtuit:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/b7bcf28302072ff355b19e96d432e632.jpeg)
Figuur 5.31 Derde normaalvorm
Diagrammen
IneenstrokendiagrameneenBachman-diagrambeschrijfjederelatiestussendeentiteittypenopeengrafische manier.Wekennendevolgenderelaties:
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/a11db810d032dd12f1fa77b7eaedcc42.jpeg)
Figuur 5.32 Relaties op een grafische manier
Derelatieséén-op-veelenveel-op-éénzijnspiegelbeeldenvanelkaar.
Strokendiagram
Ineenstrokendiagramwordendeverschillenderelatiesmetpijlengrafischaangegeven:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/049ff99a9252798b03cac94f482eb2a7.jpeg)
Figuur 5.33 Relaties in een strokendiagram - 1
Of:
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/779c542001d3b08658a9b308ace738e3.jpeg)
Figuur 5.34 Relaties in een strokendiagram - 2
• Eénstudentkanvelecursussenvolgen.
• Elkecursusheeftmaarééncursuscode,maarerkunnenvelecursussenzijn.
• Opeencursuskunnenmeerderestudenteninschrijven.
• Erzijnvelegebouwenwaarinkanwordenlesgegeven,maarslechtsééngebouwwaarjeeenbepaaldecursus kuntvolgen.
HetBachman-diagramofEntity-relationshipdiagram(ERD)
IneenBachman-diagramwordenderelatiestussendeentiteittypenweergegeven.Vanhetvoorbeeldvande normalisatievanhetcursusformulierkunjehetvolgendeBachman-diagrammaken:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/2750f1e6f32f54e53e06254a4b0e6945.jpeg)
Figuur 5.35 Bachman-diagram
• Eénstudentkanvelecursussenvolgen.
• Elkecursusheeftmaarééncursuscode,maarerkunnenvelecursussenzijn.
• Opeencursuskunnenmeerderestudenteninschrijven.
• Erzijnvelegebouwenwaarinkanwordenlesgegeven,maarslechtsééngebouwwaarjeeenbepaaldecursus kuntvolgen.
Opdracht4 Normaalvormen,strokendiagramenERD
CONCEPT
RaadpleegzonodigdetheorieoverhetRelationeeldatamodel.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/348b675d08ac3e2ccd5b38e8ad5f6493.jpeg)
a. BepaaldeeerstenormaalvormvolgensdemethodevanCodd.
b. BepaaldetweedenormaalvormvolgensdemethodevanCodd.
c. BepaaldederdenormaalvormvolgensdemethodevanCodd.
d. Tekenhetstrokendiagram.
e. TekenhetERD.
Opdracht5 Normaalvormen,strokendiagramenERD
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/aff15989be40149e1fcccf5d2f4e3321.jpeg)
CONCEPT
a. BepaaldeeerstenormaalvormvolgensdemethodevanCodd.
b. BepaaldetweedenormaalvormvolgensdemethodevanCodd.
c. BepaaldederdenormaalvormvolgensdemethodevanCodd.
d. Tekenhetstrokendiagram.
e. TekenhetERD.
Opdracht6 Normaalvormen,strokendiagramenERD
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/d3166b922f24d3eea72f23458b16a4af.jpeg)
a. BepaaldeeerstenormaalvormvolgensdemethodevanCodd.
b. BepaaldetweedenormaalvormvolgensdemethodevanCodd.
c. BepaaldederdenormaalvormvolgensdemethodevanCodd.
d. Tekenhetstrokendiagram.
e. TekenhetERD.
Opdracht7 Normaalvormen,strokendiagramenERD
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/428dfb5fe80c655c4811b2c190ede298.jpeg)
a. BepaaldeeerstenormaalvormvolgensdemethodevanCodd.
CONCEPT
b. BepaaldetweedenormaalvormvolgensdemethodevanCodd.
c. BepaaldederdenormaalvormvolgensdemethodevanCodd.
d. Tekenhetstrokendiagram.
e. TekenhetERD.
Opdracht8 Normaalvormen,strokendiagramenERD
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/9dac4f1ca5bf1599b2aaf8651091a4cd.jpeg)
a. BepaaldeeerstenormaalvormvolgensdemethodevanCodd.
b. BepaaldetweedenormaalvormvolgensdemethodevanCodd.
c. BepaaldederdenormaalvormvolgensdemethodevanCodd.
d. Tekenhetstrokendiagram.
CONCEPT
e. TekenhetERD.
Opdracht9 Normaalvormen,strokendiagramenERD
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/4432c3c68d5f11fcc2fbf084442aa0c7.jpeg)
a. BepaaldeeerstenormaalvormvolgensdemethodevanCodd.
b. BepaaldetweedenormaalvormvolgensdemethodevanCodd.
CONCEPT
c. BepaaldederdenormaalvormvolgensdemethodevanCodd.
d. Tekenhetstrokendiagram.
e. TekenhetERD.
Opdracht10 Normaalvormen,strokendiagramenERD
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/efc1da8c68e8a9a86333703ab7e068f2.jpeg)
a. BepaaldeeerstenormaalvormvolgensdemethodevanCodd.
b. BepaaldetweedenormaalvormvolgensdemethodevanCodd.
c. BepaaldederdenormaalvormvolgensdemethodevanCodd.
CONCEPT
d. Tekenhetstrokendiagram.
e. TekenhetERD.
Opdracht11 Normaalvormen,strokendiagramenERD
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/8bc0cfa9be55eddaa8f749fec8de5ad3.jpeg)
a. BepaaldeeerstenormaalvormvolgensdemethodevanCodd.
b. BepaaldetweedenormaalvormvolgensdemethodevanCodd.
c. BepaaldederdenormaalvormvolgensdemethodevanCodd.
CONCEPT
d. Tekenhetstrokendiagram.
e. TekenhetERD.
Opdracht12 Normaalvormen,strokendiagramenERD
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e5bd72ba5c95527b4daa450ed2d50e81.jpeg)
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/493a9401c4b62fd63cd2873e6a8e5a2a.jpeg)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/3a1ebc27e6a353353c5adc8f8790e6d0.jpeg)
a. BepaaldeeerstenormaalvormvolgensdemethodevanCodd.
b. BepaaldetweedenormaalvormvolgensdemethodevanCodd.
c. BepaaldederdenormaalvormvolgensdemethodevanCodd.
d. Tekenhetstrokendiagram.
e. TekenhetERD.
f. VoegdeERD’ssamenzodatallekledinginééntabelpast.
5.5 Technisch-ontwerp-rapport
Deindelingvanhettechnisch-ontwerp-rapportkaneralsvolgtuitzien:
Voorblad
Voorwoord
Inhoudsopgave
Samenvatting
Planvanaanpak
• Opteleverenproducten
• Planning Interfaces
Ontwikkelomgeving
• Technischeinfrastructuur
– Schema’s
– Database-ontwerp
• Ontwikkeltools
Beveiliging
• Autorisatie
CONCEPT
• Ongewenstgebruikvandeapplicatie
Beheer
• Back-up
• Content
Voorwoord
EenvoorwoordisineenTechnischontwerpalleennodigalsjedeprogrammeursnogeenaantalbelangrijkezaken meewiltgeven.Jezoubijvoorbeeldkunnenaangevenhoezejekunnenbereikenenopwelkemanierzeaan aanvullendeinformatiekunnenkomen.Isdatnietnodig,laatdanhetvoorwoordweg.
Inhoudsopgave
Deinhoudsopgavewordtzelfnietgenoemdindeinhoudsopgavemaarisweleenheelbelangrijkonderdeel.Elke tekstverwerkerkentdeoptieautomatischgenereren,natuurlijkgebruikjedie.
Samenvatting
Opbasisvaneen(management)samenvattingmoetdeprojectmanageren/ofopdrachtgeverbesluitenofhet projectkandoorgaan.Desamenvattingiscompactenbevatconcretefeitendiebelangrijkzijnvoorde besluitvorming.
Planvanaanpak
Op te leveren producten: hierkomteenopsommingvandemijlpaalproductenzoalsdieinhetprojectplanzijn genoemd.
Planning: deplanninguithetprojectplanwordteventueelbijgesteldopbasisvandelaatsteinzichtenenwordt hieropgenomen.
Interfaces
AlleschermendiejeinhetFunctioneelontwerphebtgedefinieerdwordenhiergedetailleerdbeschreven.
• Watdoendeknoppenalsjeeropklikt?
• Watmoeterwordengeregeldvoorhetschermwordtgeopend?
• Hoegrootzijndeschermendiewordengeopend?
• Welklettertypeenandereeigenschappenhebbenze?
Leteropdathethiergaatomeenoverdrachtnaardeprogrammeurs.Hierkomendiagrammenzoals klassendiagram,activiteitendiagramensequentiediagram.Ookandereschema’sendiagrammendieinzicht gevenindetechnischewerkingvandeapplicatiekunnenhierwordenopgenomen.
Ontwikkelomgeving
Technische infrastructuur
Infrastructuur: Deinfrastructuurwordtweergegevenindeeerderbehandeldeschema’s.Nietaltijdwordenalle onderdelenopgenomen.Datheeftmedetemakenmetdecomplexiteitvandeomgeving.EenERDopnemenals ergeensprakeisvandedatabaseisnietzinvol.
Sequentiediagram: Dittoontdeinteractiestussenobjectenindetijdsequentie.Sequentiediagrammenzijn gekoppeldaandeuse-case-diagrammenzoalsdieinhetFunctioneelontwerpzijnbeschreven.
Activiteitendiagrammen: Dezezijnbedoeldomdeworkflows(werkstromen)endegegevensstromeninrelatietot deactiviteitenduidelijkinbeeldtekrijgen.
CONCEPT
Klassendiagram: Ditgeeftdestructuurvaneensysteemweerdoordesysteemklassen,deattributen,de bewerkingen(ofmethoden)enderelatiestussendeobjectentetonen.Eenklassendiagramisdeconceptuele modelleringdiegebruiktwordtomdesysteemcodeoptezetten.
Entity-Relationship Diagram (ERD):Ditbeschrijfthetdatabasemodel.Eriseenbelangrijkerelatiemethet klassendiagram.Tochzijnerverschillen.ZobestaathetERDuitentiteittypen.Ditzijnzakendieeenbedrijfmoet onthoudenomdebedrijfsprocessengoeduittekunnenvoeren.HetERDzalbijderealisatieresulterenineen relationeledatabase.
User interface (gebruikersinterfaceofUI):Ditgaatmeestaloverdeinteractiestussenmensenmachine.Hetgaat eruiteindelijkomdemachineeffectieftelatenbedienenenwerken.Hetdoelvanhetontwerpvande gebruikersinterfaceisomeengebruikersinterfacetemakendiegemakkelijk,efficiëntenplezierig (gebruikersvriendelijk)isomtebedienen.
Ontwikkeltools
Hiergaathetomhetkoppelenenintegrerenvandewebsiteaandebestaandebedrijfsprocessen.
Beveiliging
DebeveiligingvaneenapplicatieiseenbelangrijkonderdeelvanhetTechnischontwerp.Vooreendeelzitdatin detoegepastecode,vooreenanderdeelingedrag.Beveiligingkomtopverschillendemanierenaandeorde.Er moetbeveiligdwordentegenongeoorloofdofonverantwoordelijkgebruikenbeveiligdtegenverlies.
Autorisatie
WiewatmagisalbeschreveninhetFunctioneelontwerp.Zomogelijkwordthierbeschrevenhoedatmoetworden afgedwongen.
Ongewenst gebruik van de applicatie
Jewilteenveiligeomgeving.Eenapplicatiekanopverschillendemanierengehacktworden,waarvande zogenaamdeSQL-injectiondemeestvoorkomendeis.Applicatiesdieinformatieineendatabaseopslaanmaken vaakgebruikvanSQLommetdedatabasetecommuniceren.SQL-injectionkangebeurenalsinvoervangebruikers oponvoldoendegecontroleerdewijzewordtverwerktineenSQL-statement.
Preventiekanbestaanuithetgevenvandeminimaalnoodzakelijkerechtenaandegebruiker.Verderishetafwijzen vanverkeerdeinvoervanbelang.DeinjectiemetSQL-codekaneenvoudigwordentegengegaandoorhetjuist verwerkenvaninformatiediedooreengebruikerwordtaangeleverd.Belangrijkisdathierwordtaangegeven hoedebeveiligingisgeregeld.
Beheer
Back-up
Omverliestegentegaanmoetdeback-upgoedzijngeregeld.Hierbeschrijfjewiewatwanneerdoet.Natuurlijk moetallesookdoorgaanalseriemandeenkeernietis.
Content
Hierbeschrijfjedoorwelkefunctionarisenopwelkemanierdecontentmoetwordenonderhouden.
CONCEPT
5.6 Begrippenlijst
Activitydiagram
EentypeUML-diagramdatdedynamischeaspectenvaneensysteemmodelliseert,metdenadrukopdeworkflow endestroomvanactiviteiten.Hettoontdestappenofactiesdiewordenuitgevoerdbinneneenprocesofsysteem, evenalsdebeslissingendietijdenshetproceswordengenomen.
Attribuut
Indecontextvandatabaseseninformatiesystemenverwijsthetbegripattribuut"naareeneigenschapofkenmerk vaneenentiteit."
Attribuuttype
Hetattribuuttypebepaaltwelksoortgegevensindatattribuutkanwordenopgeslagen.
Bachman-diagram
Eengrafischevoorstellingvaneendatabaseontwerp.
Consistent
Consistentzijnvangegevenswilzeggendatdesamenhangofrelatiemetanderegegevensklopt.
Databases
Programma'svoorhetwerkenmeteenverzamelinggegevens.
Externesleutel
OokwelForeignKey,eenkolomofeensetkolommenineentabeldieverwijzennaardeprimairesleutelvaneen anderetabel.Deexternesleutelfungeertalseenmechanismeomrelatiestussentabellentotstandtebrengen.
Integer
Inrelatietoteendatabasegaathetombetrouwbaarheidvandegegevens.Degegevensmogennietdubbelworden opgeslagenenelkaarniettegenspreken.
CONCEPT
InternetofThings
Eennetwerkvanslimmeapparatendiemetelkaarcommunicerenengegevensverzamelenendelenviainternet.
Lifeline
Ineensequentiediagramvertegenwoordigteenlifelinedelevensduurvaneenentiteit(meestaleenobjectofeen actor)gedurendeeenbepaaldeperiodevantijd.Eenlifelinewordtweergegevenalseenverticalelijndiedoorgaans vanbovennaarbenedendoorhetsequentiediagramloopt.
Normaliseren
Hetprocesvanhetoptimaliserenvandedatabasestructuuromredundantieteverminderenende gegevensintegriteitteverbeteren.
Primairesleutel
OokwelPrimaryKey,eenuniekeidentificatorvooreenrijineentabel.
Redundant
Hetverschijnselwaarindezelfdeinformatiemeerderekerenwordtopgeslagenineendatabase,dataset,of systeem.
Relationeledatabase
Eendatabasedieisopgebouwdvolgenseenrelationeelmodel.
SQL
StructuredQueryLanguage,eencodeomgegevensuiteendatabasetehalen.
SQL-injection
EenvormvanaanvalopdatabaseswaarbijeenaanvallerkwaadaardigeSQL-codeinvoegtindeinvoerveldenvan eenapplicatie.
Sequentiediagram
EentypeUML-diagramdatdeinteractiesencommunicatietussenverschillendeobjectenineensysteemweergeeft. Hetlegtdesequentiëlevolgordevanberichtenofoproepentussenobjectenvastenbiedteenvisueleweergave vanhoeeenspecifiekscenarioofproceszichontvouwtbinneneensysteem.
Swimlane
Wordtweergegevenalseenverticaleofhorizontalezoneineenactiviteitendiagramwaarbinnenactiviteiten wordengetoondendedeelnemendeentiteitenwordengeïdentificeerd.Wordtgebruiktomde verantwoordelijkhedenofbetrokkenheidvanverschillendeentiteitenofactorenbijhetuitvoerenvanactiviteiten weertegeven.
Technischontwerp
Eengedetailleerddocumentdatspecifieketechnischeaspectenvaneensysteem,softwaretoepassingofproduct beschrijft.
Technisch-ontwerp-rapport
Hetoverdrachtsdocumentvoordeprogrammeursdiedeapplicatiesgaanrealiseren.
CONCEPT
5.7 Praktijkopdrachten
Opdracht13 Relationeledatabasefactuur
InNederlandwordenereisengesteldaaneenfactuur.Dezeeisenhebbenconsequentiesvoordegeautomatiseerde omgeving.Hieriseenvoorbeeldvaneisen:
1. Jouwbedrijfsgegevens:naam,adres,btw-nummer,kvk-nummer.Daarnaastishethandigomje telefoonnummerene-mailadresopjefactuurtevermelden.Zokandeafnemereenvoudigbijvragencontact metjeopnemen.
2. Degegevensvanjeafnemer:naamenadresgegevens.
3. Factuurnummer:gebruikeenuniekopvolgendfactuurnummer.
4. Factuurdatum:dedatumwaaropdefactuurwordtgestuurd
5. Deomschrijvingvandegeleverdedienstenofproducten.
6. Hetaantalvandegeleverdedienstenofproducten.
7. Hetbtw-tariefvandegeleverdedienstenofproducten.
8. Dedatumvanleveringvandedienstenofproducten.
9. Hetbedragexclusiefbtw,hetbtw-bedragenhettotaalbedraginclusiefbtw.
10. Debetalingstermijn,ditkanvariërenvanstandaardtussende14en30dagen.
11. Debankgegevens,hetIBAN-nummerwaarophetbedragkanwordenovergemaakt.
12. Eventuelekortingen.
13. Eventuelevooruitbetalingen.
14. AlsjeexporteertnaareenanderEU-land,moetnaastbovenstaandegegevensookhetbtw-nummervande afnemeropdefactuurstaan.Ditisookhetgevalalsdebtwverlegdwordt.
Enditiseenvoorbeeldvaneenmogelijkelayoutvaneenfactuur:
CONCEPT
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/8a948a133392776b160618305ed647af.jpeg)
Opdracht:
1. Bepaalde0e normaalvormvandezefactuur.
2. Bepaalde1e normaalvormvandezefactuur.
3. Bepaalde2e normaalvormvandezefactuur
4. Bepaalde3e normaalvormvandezefactuur.
5. Tekenhetstrokendiagram.
6. TekenhetBachman-diagram.
5.8 Terugblik
Opdracht14 Terugblik
Zeteenkruisjeindekolomdievoorjouvantoepassingis.
Beoordelingscriteria
Jekunteenactiviteitendiagrammaken.
Jekunteensequentiediagrammaken.
Jekunteenrelationeeldatamodelmaken.
Jekunteentechnischontwerpopstellen.
Opdracht15 Terugblik
Denknaoverwatjehebtgedaaninditblok.
a. Noemtweedingenwaaroverjetevredenbent.
1.
2.
b. Noemtweedingendiejedevolgendekeeranderswiltdoen.
1. 2.
c. Vraagjedocenten/ofleermeesteromfeedback.
Tops:
Tips:
Nee JaCONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/b50df85136bb769539e8c676bfab7579.jpeg)
Blok6 Realiserenentestenvansoftware
CONCEPT
Leerdoelen
• Jekunthetrealiserenentestenvansoftwarevoorbereidendoordejuistetoolstekiezen.
• Jekunteenontwikkelomgevinginstallerenentesten.
• Jekuntsoftwarefunctioneeltestenendaarverslagvandoen.
• Jekuntversiebeheeropeencorrectewijzetoepassen.
Erzijnverschillendeomgevingenvoorhetontwerpen,programmerenentestenvansoftware.Afhankelijkvanje rolbinnenhetontwikkeltrajectzuljealsontwikkelaaréénofmeervandezeaspectenopnemeninje software-ontwikkelomgeving.Inhetverledenwaseenontwikkelomgevingeenverzamelingvanverschillende tools.Tegenwoordigzijnergeïntegreerdesoftware-ontwikkelomgevingendieelkvolstaanvoorhetvolledige ontwikkeltraject.
Opdracht1 OriëntatieopdrachtRealiserenentestenvansoftware
a. Erzijntallozeprogrammeertalendiewordengebruiktbijsoftwareontwikkelingendekeuzevandetaalhangt afvanhettypeproject,devereistenendevoorkeurvanontwikkelaars.Ditzijneenpaarvandemeest gebruikteprogrammeertalenindesoftwareontwikkelingsindustrie.
• C#:C#isontwikkelddoorMicrosoftenwordtveelgebruiktvoordeontwikkelingvan Windows-desktoptoepassingen,webtoepassingen(metASP.NET),engame-ontwikkelingmetUnity.
• C++:C++wordtvaakgebruiktvoorsysteemprogrammering,game-ontwikkeling,enanderetoepassingen waarprestatiesencontroleoversysteembronnenbelangrijkzijn.
• Go(Golang):GoisontwikkelddoorGoogleenwordtgewaardeerdomzijnprestatieseneenvoud.Het wordtvaakgebruiktvoorserver-sideontwikkelingensysteemprogrammering.
• Java:Javawordtvaakgebruiktvoordeontwikkelingvangrote,schaalbaretoepassingen,waaronder Android-apps,bedrijfssystemenenwebtoepassingen.
• JavaScript:JavaScriptisdemeestgebruikteprogrammeertaalvoorwebontwikkeling.Hetwordtgebruikt voorhetontwikkelenvaninteractievewebsitesenwebtoepassingen,enhetheeftookaanpopulariteit gewonneninserver-sideontwikkelingmetbehulpvanNode.js.
• Kotlin:KotliniseenmoderneprogrammeertaaldiewordtgebruiktvoorAndroid-app-ontwikkeling.Het iseenalternatiefvoorJava.
• Perl:Perlwordtvaakgebruiktvoortekstverwerking,scriptingensysteembeheertaken.
• PHP:PHPiseenserver-sidescripttaaldiewordtgebruiktvoorwebontwikkelingenhetbouwenvan dynamischewebsites.HetispopulairincombinatiemetdatabaseszoalsMySQL.
• Python:Pythoniseenveelzijdigetaaldiewordtgebruiktvoorwebontwikkeling,data-analyse,machine learning,automatisering,ennogveelmeer.Hetstaatbekendomzijneenvoudenleesbaarheid.
• Ruby:RubywordtvaakgeassocieerdmethetRubyonRails-frameworkenwordtgebruiktvoorde ontwikkelingvanwebtoepassingen.
• Rust:Rustiseentaaldieisontworpenvoorsysteemprogrammeringmeteenfocusopgeheugenveiligheid. Hetwordtsteedspopulairdervoorhetontwikkelenvanveiligeenrobuustesoftware.
• SQL:SQL(StructuredQueryLanguage)iseentaalvoorhetbeherenenbevragenvanrelationeledatabases.
CONCEPT
• Swift:SwiftisdeprogrammeertaaldiewordtgebruiktvooriOS-enmacOS-applicatieontwikkeling.Hetis ontwikkelddoorApple.
• TypeScript:TypeScriptiseendoorMicrosoftontwikkeldetaaldieeensupersetisvanJavaScript.Hetvoegt typetypingenanderefunctiestoeomgrootschaligeJavaScript-appsteontwikkelen.
Geefindekolom"Beheersik",opeenschaalvan0tot5,aaninhoeverrejedezetaalbeheerst.Geefinde kolom"Wilikleren"aanhoegraagjedetaalzouwillenbeheersen.
Beheersik Schaal0tot5
Wilikleren
Schaal0tot5
Taal
PHP
Python
Ruby
Rust
SQL
Swift
TypeScript
Beheersik
Schaal0tot5
Wilikleren
Schaal0tot5
BoomBeroepsonderwijsheeftvooreenaantalvandezeprogrammeertaleneenmooieleermethode.Kijkeens opdesitevanBoomBeroepsonderwijs.
b. Erzijnzijnveelontwikkelomgevingenbeschikbaarvoorsoftwareontwikkeling.Dekeuzehangtvaakafvande programmeertaaldiealsbasisdientenhettypeproject.Ookhierinisdevoorkeurvandeontwikkelaarseen belangrijkefactor.Enkelevandemeestgebruikteontwikkelomgevingenzijn:
• AndroidStudio:SpecifiekontworpenvoorAndroid-app-ontwikkeling,biedtAndroidStudioeenuitgebreide omgevingvoorhetbouwenentestenvanAndroid-apps.
• CLion(JetBrains):CLioniseenIDEvoorC-enC++-ontwikkeling.
• Eclipse:EclipseiseenopensourceIDEdieveelwordtgebruiktvoorJava-ontwikkeling,maarhetondersteunt ookanderetalenviaplug-ins.HetwordtvaakgebruiktvoorhetontwikkelenvanAndroid-apps.
• IntelliJIDEA(JetBrains):IntelliJIDEAiseenkrachtigeIDEvoorJava-ontwikkelingenondersteuntook anderetalenzoalsKotlin,ScalaenGroovy.
• NetBeans:NetBeansiseenopensourceIDEdieondersteuningbiedtvooreenverscheidenheidaantalen, waaronderJava,PHP,C++,enmeer.
CONCEPT
• PHPStorm(JetBrains):PHPStormiseenIDEdieisgeoptimaliseerdvoorPHP-ontwikkelingenbevat krachtigetoolsvoorwebontwikkeling.
• PyCharm(JetBrains):PyCharmiseenIDEvoorPython-ontwikkelingenwordtveelgebruiktdoor Python-ontwikkelaarsvanwegezijnkrachtigetoolsenfuncties.
• RubyMine(JetBrains):RubyMineiseenIDEvoorRuby-enRubyonRails-ontwikkeling.
• SublimeText:HoewelgeentraditioneleIDE,isSublimeTexteenpopulairelichtgewichtcode-editormet eenbreedscalaaanplug-insvoorverschillendetalen.
• VisualStudioCode(Microsoft):VisualStudioCode,vaakafgekortalsVSCode,iseengratis,opensource code-editordiepopulairisvanwegezijnaanpasbaarheidenondersteuningvoortalenviaextensies.
• WebStorm(JetBrains):WebStormisgerichtopwebontwikkelingenondersteuntJavaScript,HTML,CSS enanderewebtechnologieën.
• Xcode(Apple):XcodeisdeIDEvoorhetontwikkelenvaniOS-enmacOS-apps.Hetbevateensimulator voorhettestenvaniOS-appsopMac-systemen.
Veelontwikkelaarsgebruikenmeerdereontwikkelomgevingen,afhankelijkvanhetsoortprojectwaaraanze werken.
Geefindekolom"Beheersik",opeenschaalvan0tot5,aaninhoeverrejedezeontwikkelomgevingbeheerst. Geefindekolom"Wilikleren"aanhoegraagjedeontwikkelomgevingzouwillenbeheersen.
Ontwikkelomgeving
AndroidStudio
CLion
Eclipse
IntelliJIDEA
NetBeans
PHPStorm
PyCharm
RubyMine
SublimeText
VisualStudioCode
WebStorm
Xcode
Beheersik
Schaal1tot5
6.1 Realiserenvansoftware Voorbereidenvanderealisatie
Wilikleren
Schaal1tot5
CONCEPT
Derealisatiebestaatuitprogrammerenentesten.Voorbeidezulleneigentoolswordengebruikt.
Programmeren
Eenprogrammeurkanoververschillendetoolsbeschikkenvoorhetcreërenvansoftware,zoals:
• teksteditor;
• broncode-editorvoorhetinvoerenvanprogrammeercode;
• compiler;
• linker;
• debugger;
• documentatiegenerator;
• toolsdiehetcreërenvancodevergemakkelijken,zoalsautomatischeaanmaakvancodeendocumenten.
Teksteditor
Eenteksteditoriseencomputerprogrammawaarmeeonopgemaaktedigitaletekstgemaaktenbewerktkan worden.Eenteksteditorwordtgebruiktvoor:
• bewerkenvanbestandenmetsysteeminstellingen;
• eenvoudigeaantekeningen;
• hetmakenvaninternetbestandeninHTML;
• programmeren.
Voorhetprogrammerenzijngespecialiseerdeteksteditorsbeschikbaar.Dezeeditorsbevattenfunctiesdiegericht zijnophetschrijvenenbewerkenvanbroncodeinéénofmeerprogrammeertalen.Dezeteksteditorshebben mogelijkhedenzoals:
• automatischeregelnummering;
• gebruikvanhetFileTransferProtocol(FTP)omonlinetekstaantepassen;
• gebruikvanmacro’s;
• meerderebestandentegelijkertijdgeopendhebben;
• splitsenvanhetscherminmeerderedelen;
• syntaxiskleuring;
• zeergrotetekstbestandenbewerken;
• zoekenenvervangenmetspecialemogelijkheden.
Populaireteksteditors:
• Emacs
• Gedit
Unix/Linux
Unix/Linux/Windows
• jEdit Windows
• Kladblok
• TextEdit
Broncode-editor
Unix/Linux/MacOSX/Windows(wordtnietmeeronderhouden)
• Notepad++ macOS
Windows
CONCEPT
Eenbroncode-editoriseenteksteditordieisontworpenvoorhetbewerkenvandebroncodevan computerprogramma’s.Ineenbroncode-editorzittenoptiesdieontworpenzijnomhetinvoerenvanbroncode tevereenvoudigenenteversnellen,zoalssyntaxiskleuringofautomatischeaanvulling.Broncode-editorsbeschikken meestalovereeneenvoudigemaniervoorhetstartenvaneencompiler,interpreter,debuggerofandereexterne programma’sdienodigzijnbijdeontwikkelingvanapplicaties.
Compiler
Eencompileriseenprogrammadateeninbrontaalgeschrevenprogrammavertaaltnaareendoeltaal.Debrontaal iseenhogere-generatie-taaldiewijbegrijpenenkunneninterpreteren.Dedoeltaaliseenassembleertaalof machinecode,eenuitvoerbarecodevoorhetsysteem.Decompilercontroleertookofdeinvoergoedisenofer eencorrectevertalinggemaaktkanworden.Wanneerditnietzois,wordenerfoutmeldingengegeven.Meestal isditinteractiefenstoptdecompilerbijdeeerstefoutmelding.Inhetverledenwasersprakevanbatchverwerking (stapelverwerking)waarbijdecompilerhetheleprogrammaopfoutendoorzochtendaarnapasdefoutmeldingen teruggaf.
Hetvertalenofomzettenwordtcompilatieofcompilerengenoemd.Vertaalteenprogrammavaneenlagere programmeertaalnaareenhogere,danspreektmenvaneendecompiler.
Linker
Eenlinkerofeenlinkeditoriseenprogrammadatdooreencompilergegenereerdeobjectbestandencombineert totéénuitvoerbaarbestand.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/ac9fc9245ddc9a00b31a291265293dd4.jpeg)
Eenbugiseenkever,maarookeenfoutindewerkingvaneencomputer(programma).Ditkomtnoguitdetijd datcomputersenormgrootwarenendeonderdelenevenrediggroot.Hetkwammetenigeregelmaatvoordat erkeversofandereinsectentussendeverschillendeonderdelenzatenendankortsluitingveroorzaakten.Het gevolgwasdatdecomputernietwerkte.Daaromkoosmenervoorhetsysteemeersttedebuggen(ontkeveren) voordatmendecomputeraanzette.Ditbegripisvervolgensgekoppeldaanhetoplossenvanfoutenenblijven bestaan.
Eendebuggerisdanookeenprogrammadatgebruiktwordtomfoutenuitandereprogramma’stehalenofde oorzaakvaneenbugteachterhalen.
Documentatiegenerator
CONCEPT
Eendocumentatiegeneratoriseenprogrammawaarmeeautomatischdocumentatiegegenereerdkanworden uitcommentaarindecode.Dezedocumentatieisbedoeldvoorprogrammeurs.Demeeste documentatiegeneratorengenererendedocumentatiealsHTML,maarookandereformatenwordenondersteund. Documentatiegeneratorenkunnendedocumentatiegenererenopbasisvancommentaarregelsindebroncode. Metnameinobjectgeoriënteerdeprogrammeertalenwordtveelgebruikgemaaktvandocumentatiegeneratoren. Menkanervoorkiezenvoorelkeklasseeenpaginategenererenmetdedocumentatievandemethodenende velden.
Software-ontwikkeltools
Eensoftware-ontwikkeltoolofsoftwaredevelopmenttooliseenprogrammadatsoftware-ontwikkelaarsgebruiken voorhetmaken,debuggenofonderhoudenvanprogramma’sentoepassingen.Ditzijnvaakrelatiefeenvoudige programma’s.Eenervarensoftware-engineerisinstaateengroteverscheidenheidaantoolstoetepassen. Demeestelementairetoolszijneenbroncode-editoreneencompiler.Hetonderscheidtussentoolsenapplicaties isnietduidelijk.Deverzamelinghulpmiddelendiesamengebruiktworden,wordtvaakeentoolchaingenoemd. Deprogrammeerhulpmiddelenzijnsteedsmeergeïntegreerdenafgestemdopelkaar.ZozijnIntegrated DevelopmentEnvironments(IDE’s)ontstaan.Ditzijnomgevingenwaarverschillendevandezefunctiesen hulpmiddelengeïntegreerdzijnineenintuïtievegrafischewerkomgeving.IDE’szijnindeloopvandejarensteeds verderuitgebreidmetnieuwefunctiesenaanvullendeprogramma’s.Ookdeverschillendeonderdelenzijnsteeds meerondersteuninggaanbiedenaandesoftware-ontwikkelaar.
Figuur 6.1 DebuggerDeontwikkelomgevingtesten
Testdeontwikkelomgevingvoordatjedieingebruikneemt.Dathoeftnietergcomplextezijn.Jetestalle functionaliteitendiejenodighebt.Hetishandigomeeneenvoudigtestplantemaken,omtevoorkomendatje onverhooptietsvergeettetesten.
Vragendiejezekermoetstellen:
• Werktdewebservernaarbehoren?
– bekijken
– opslaan
– aanpassen
– verwijderen
• Werktdedatabaseservernaarbehoren?
– bekijken
– opslaan
– aanpassen
– verwijderen
• WerktPhPMyAdminvoorhetgrafischbeherenvandedatabase?
• Werkendeverschillendetoolsnaarbehoren?
Deontwikkelomgevinginstallerenenconfigureren
Lokaleontwikkelomgeving
Wijzigingenmeteenaanbrengenopeenlivewebsiteisnietverstandig.Zelfsdekleinstewijzigingenkunnen onverwachtgrotegevolgenhebben.Hetisdanookbelangrijkomwijzigingenuitteproberenineenafgeschermde omgeving.
Deafgeschermdeomgevingwaaropjewerktzoueengedeeltevandewebruimtekunnenzijnwaaropookdelive sitestaat.Jezouervoorkunnenkiezeneensubdomeintest.site-url.nlaantemaken.Hetnadeelhiervanisdatje elkekeeralsjeeenaanpassingwilttestendebestandenmetFTPnaardeservermoetoverzetten.Zekeralser nogveelisaantepassenenteonderhoudengaatditextratijdkosten.Voordeelisechterdatjeanderen(elders) kuntlatenmeekijkenenlatenmeedenken.Zijkunneninrealtimezienwaarjebentenwatjehebtgedaan.
CONCEPT
Eenandereoptieisomeenkopievanjewebsiteopjelokalemachinetedraaien.Desitedraaitdandirectvanaf debestandenopjecomputerenwijzigingenzijndirectzichtbaar.Hetisdannodigdatjehetsysteemwaaropje werkthiervoormoetinrichten.DewebsitebenaderjedanmeestalviaeenURLdiebegintmethttp://localhost/
Voordelenvaneenontwikkelomgevingonline:
• Jekuntdirecttestenhoesneljewebapplicatieophetwebis.
• Jekuntanderendirectfeedbacklatengevenopdewebsite.
• Jekuntzienhoenieuweaanpassingendelaadtijdvanjewebapplicatiebeïnvloeden.
Nadelenvaneenonlineontwikkelomgeving:
• Jemoeteeninternetverbindinghebben.
• Jebentafhankelijkvandesnelheidvandeinternetverbinding.
• Jebentafhankelijkvandeuploadtijddiedeservernodigheeft.
Voordelenvaneenontwikkelomgevingopjeeigencomputer:
• Jehebtgeeninternetnodig.
• Hetgaatsnellerdanontwikkelenophetweb.
• Niemandkanmeekijken.
• Opelkedenkbareplekkunjewerken.
Benodigdheden
Jezultdevolgendecomponentenmoeteninstallerenomopjelokalemachinetekunnendraaien:
• eenwebserver
• eendatabase-server
• PhP
• PhPMyAdmin,voorhetgrafischbeherenvandedatabase
Installeren
Voorhetinstallerenvaneenvandezepakkettenmoetjedeinstallatie-instructiesvanhetbetreffendepakket volgen.Overhetalgemeenishetzosimpelalshetinstallerenvaneenwillekeuriganderpakket.Loopjeergens bijvast,kijkdanofernietiemandismeteenvergelijkbaarprobleem,waarvooropeenforumaleenoplossingis geformuleerd.Erisaltijdwelsupportbeschikbaarvoorjegekozenpakket.
Instellingenenwijzigingendocumenteren
Veelapplicatie-enmediaontwikkelaarszullen‘geentijdhebben’omhunontwikkelomgevingtedocumenteren. Vaakgaathetomeenvoorhenbekendeomgeving.Tochishetvanbelangvoordeorganisatie."Jehoeftmaar vandetraptevallen,"enniemandweethoeallesinelkaarsteekt.Hetisnietaltijdonderjouwcontroleomkennis overtedragenaancollega's.Metbehulpvandocumentatiekunnendewerkzaamhedenechterononderbroken doorgaan.
Erisgeenstandaardsjabloontevindenvoordedocumentatiemetbetrekkingtotdeinrichtingvande ontwikkelomgeving.Eenmethodedierelatiefweinigwerkkostenduidelijkisvoorallebetrokkenen,isdevolgende. Beginmethetinrichtenvandeomgevingenmaaktijdenshetuitvoerenscreenshots.Plakaldezescreenshotsin eendocumentenjehebteenbeginvanjewerkinstructie.Alsjedithebtgedaan,kunjehetverhaalbijdeplaatjes gaanzetten.Veeltekstismeestalnietnodig,éénplaatjezegtmeerdaneenstuktekst,alzalerwelietsvan begeleidendetekstbijdescreenshotsmoetenkomen.
CONCEPT
Alsjededocumentatieeenmaalhebtopgezet,ishetnetzobelangrijkomdezeookbijtehouden.Upgrades, aanpassingenennieuweinstallatieszijnredenenomdebestaandedocumentatiewaarnodigbijtewerken.Als ditstructureelgebeurt,ishetbijhoudenvandocumentatieeenkwestievanevendoen.Vooreventueleoverdracht isbijgewerktedocumentatienoodzakelijk.
Versiesenversienummers
Hoeweldemeestemoderneontwikkelomgevingeningebouwdeversiebeheerfunctionaliteitbieden,kunnen sommigeteamsexterneversiebeheertoolsgebruikendienietautomatischversienummeringbijhouden.Hetniet automatischbijhoudenvanversienummeringmaaktdatmenselijkefouteneninconsistentieskunnenoptreden. Omdieredenwordtoverhetalgemeenaanbevolenomgebruiktemakenvangeautomatiseerde versiebeheerhulpmiddelenbinnenmoderneontwikkelomgevingen.Deversienummeringvansoftwaredieopde marktverschijnt,zalinveelgevallenautomatischwordentoegekendzodatvoordegebruikernieteenonduidelijk verhaalvannummersensubnummersverschijnt.
Wanneereenbedrijfeennieuwprogrammauitbrengt,krijgtdithetversienummer1.0(release1.0).Integenstelling totdemeestepublicaties,zoalseenroman,veranderteenprogrammadoorlopend:erwordenfoutengecorrigeerd ennieuwefunctiestoegevoegdomhetpakketteverbeteren.Eenverbeterdprogrammawordtmeteenvolgend versienummeropdemarktgebracht.Zijndewijzigingenbetrekkelijkgering,danwordthetcijferachterdepunt verhoogd.Eenkleinewijziginginversie1.0levertversie1.1op.Ditnoemenweeenupdate.Eenupdateisduseen kleineaanpassingdiejetegenwoordigvaakviainternetkuntdownloaden.EenvoorbeeldvaneenupdateisMAC OSX10.1,datalsnelheteerdereMACOSX10.0opvolgde.
Blok
Wanneereengrootaantalfoutenisgecorrigeerdofalserveelnieuwemogelijkhedenaanhetpakketzijn toegevoegd,wordtditaangegevendoorhetheleversienummermetéénteverhogen.Ditnoemenweeenupgrade. Eenwezenlijkeverbeteringvanversie1.1wordtdanversie2.0.Eenupgradeisduseenechtnieuweversie.
Eenvoorbeeld:MicrosoftWindows7.0wasnietgeschiktvoormobieleplatformen.Nadatextrafunctieswaren toegevoegdenheteenomgevingvoormobieleplatformenwasgeworden,kreeghetversienummer8.0.Windows 8wasechterniethetsucceswaarMicrosoftophoopteendaaromwerdzosnelmogelijkWindows10geïntroduceerd, waarbijversienummer9werdovergeslagen.HiervoorisdoorMicrosoftnooiteenofficiëleredengegeven.Mogelijk isderedendaterverwarringzoukunnenontstaanmetWindows95enWindows98.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e66097b1fbf2c4f043c86ddf2e731dcf.jpeg)
Figuur 6.2 Versieopvolging van Zabbix monitoring software
Demeestesoftwarebedrijvenverkopenupgradesmeteenaanzienlijkekortingaandegebruikersdieeen registratiekaartvaneeneerdereversiehebbenopgestuurd.Programmaversiesdieopeen0eindigen(OSX10.0), biedenbijnaaltijdveelnieuwefunctiesenmogelijkheden.Tochkanhetsomsverstandigzijnzo’nversieniette kopenmaartewachtenopeenvolgendeversie(OSX10.1).Demakershebbendandegelegenheidgehadeventuele kinderziektesuithetprogrammatehalen.
Somskomenweeensubversietegen.Hieruitzijndanwatkleinefoutengehaald.VoorbeeldenzijnMS-DOS4.01a enWindows98dateenaangepasteversiekreegmetdetoevoegingSE(secondedition).
Hetkomtookvoordatsoftwaremakersverbeteringenaanbrengenineenpakketdatalinomloopis.Zijstellen daneenservicepackbeschikbaar.Wanneerjedatinstalleert,zijndeverbeteringendiedesoftwaremakerinhet nieuwepakketheeftaangebrachtookbijjoudoorgevoerd.Meestalkunjeopdewebsitevandesoftwaremaker delaatsteservicepacksofupdatesvinden.Dezekunjedandownloadenenvervolgensinstalleren.
Compatibel
Nieuweversiesvanbestaandesoftwaremoetenkunnenwerkenmetbestanden(zoalsdocumentenofspreadsheets) diemeteeneerdereversievanhetprogrammazijngemaakt.Kortom,zemoetencompatibelzijnmeteerdere versies.Stel,eenbepaalddocumentisineenoudereversieaangemaakt(bijvoorbeeldmetMicrosoftOffice2010). Ditdocumentkunjezonderproblemenbinnenhalenineennieuwere(hogere)versie(zoalsMicrosoftOffice2016).
Dehogereversieherkentdecommando’sendestructuurvandeoudereversienog.Andersomwerktditechter nietaltijd.Eenhogereversieheeftnieuwemogelijkhedenendusvaaknieuwecommando’s.
Hetgevolgisdateenlagere(dusoudere)versiedezenieuwecommando’snietzomaarkanlezen.Hiervoormoet jehetbestandeerstconverteren(wegschrijvenineenanderformaat).Deoudereversievanhetprogrammakan hetbestanddaarnawellezen.Nadeelhiervankanzijndateenaantalvandenieuwemogelijkheden(bijvoorbeeld opmaakkenmerken)verlorengaat.
Opdracht2 Realiserenvansoftware
Raadpleegzonodigdetheorieoverhetvoorbereidenvanderealisatie.
a. Watiseenbroncode-editor?
b. Watdoeteencompiler?
c. Watdoeteenlinker?
d. Watiseendebugger?
CONCEPT
e. Welknutheefteendocumentatiegenerator?
f. Watzijndevoordelenvaneenonlineontwikkelomgeving?
g. Watzijndenadelenvaneenonlineontwikkelomgeving?
h. Watzijndevoordelenvaneenontwikkelomgevingopjeeigencomputer?
i. Alshetversienummervansoftware4.5isenerwordteennieuwereleaseuitgebrachtomeenpaarkleinebugs optelossen,welkversienummerzaldezereleasedankrijgen?
j. Alshetversienummervansoftware7.3isenerwordteennieuwereleaseuitgebrachtwaarinnieuwe functionaliteitaandesoftwarewordttoegevoegd,welkversienummerzaldezereleasedankrijgen?
k. Watiseenservicepack?
l. Watiscompatibel?
CONCEPT
6.2 Testenvansoftware Versiebeheer
Applicatieswordengebouwdinversiesvaneenbepaaldedatumentijd.Alsallesgoedisgegaan,iseennieuwe versieeenverbeterdeversievandeoude.Hetkomtregelmatigvoordateenbepaaldefunctieineennieuwere versienietmeerwerkt.Alsjedanterugkuntvallenopeeneerdereversiekandathetuitzoekenvereenvoudigen enversnellen.Bijgoeduitgevoerdversiebeheerkunjealtijdterugnaareeneerdere,werkendesituatie.Eengoede versiehistorieopzettenkanindevolgendestappen:
1. Stelvastwatjeondereenversieverstaat.Ditkanzijneenmodule,eensysteem,maarookeenheledirectory.
2. Maakeenkopievandelopendeversie.
3. Sladezekopieopmeteenherkenbarenaam.Doordedatumindenaamoptenemen,daarzelfsmeete beginnen,wordthetoverzichtergduidelijk.Eennaamzoudankunnenzijn20160315-WebshopKoopIT.Een nieuwereversieheeftdandenaam20160319-WebshopKoopIT.
4. Documenteeriedereversie.Zorgdatineenversielogboekvaniedereversiedenaam,hetonderdeel,de datum/tijdendeverantwoordelijkepersoon/personenzijnvastgelegd.
5. Spreekregelsafbetreffendeversiebeheerenzorgervoordatiedereenzichaandezespelregelshoudt.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/94aff1c92ba47f194eb89475b8e12c2d.jpeg)
Figuur 6.3 Versiebeheer
Versiebeheeriseenzaakvaneengoedeorganisatie,veelmeerdaneentechnischprobleem.
Hierbijgaathetvoornamelijkomhetopcorrectewijzetoepassenvandeprogrammeerregelsinverschillende omgevingen.Perontwikkelomgevingzijnhiervooréénofmeerboekenbeschikbaar.
Functioneeltesten
Hetbelangvantesten
Wanneerjesoftwarebouwt,moetenwiljewetenofhetnaarbehorenwerkt.Detestenzijnbedoeldomeventuele bugsofanderegebrekentevindenvoordatdesoftwarewordtopgeleverd.Hettestenkanopeenaantal verschillendecriteria.Devolgendezakenzijndaarbijvanbelang.Degebouwdesoftware:
• voorzietinderequirementsuithetontwerp;
• reageertcorrectopallemogelijkeinput;
CONCEPT
• voertdefunctiesbinneneenacceptabeletijduit;
• kanwordengeïnstalleerdengebruiktindebedoeldeomgevingopdeaanwezigeapparatuur;
• voldoetaandewensenvanalleverschillendegebruikers.
Zelfsvoorheeleenvoudigesoftwareishetaantalmogelijketestsdatkanwordenuitgevoerdzeergroot.Daarom ishetvanbelangeengoedeteststrategietehebben.Testeniseenproceswaarmeejefeitelijknooitklaarbent. Hetvindenenoplossenvaneenbugmaaktdaterweereennieuwetestnodigis.Eenoplossingkanmakendatje nieuwe,dieperebugsvindt.Hetoplossenvaneenprobleemkannieuwebugstotgevolghebben.Tochhebjeniet oneindigdetijdomtetesten.Eriseenmomentwaaropdesoftwareinhetproductieprocesmoetworden opgenomen,desoftwarewordtdangeïmplementeerd.Erzaldanookvooreenhaalbaarenbetaalbaar testprogrammagekozenmoetenworden.Hetmomentvantestenisdaarbijookvanbelang.Wordteenproduct inéénkeer,aanheteindevanhettraject,opgeleverd?Indatgevalzalhetvaakookinzijngeheelwordengetest. BijeenontwikkelmethodiekalsAgile,waardesoftwareinstukjeswordtopgeleverd,looptookhettestenhieraan parallel.Programmerenentestenwordendanvaakgelijktijdiggedaan.
Bijhettestenopdejuistheidvandesoftwaremoetenweaccepterendatnietallesgetestkanworden.Zelfsgoed testenkannietallefoutenindesoftwareidentificeren.Detestkwaliteitenvandetesterzijnbelangrijk.Detester moetinstaatzijneenprobleemteherkennen.
Hetprimairedoelvantestenisomsoftwarefoutenoptesporen,zodatfoutengecorrigeerdkunnenworden.De omvang(scope)vandetestenzalnietallefunctiesonderalleomstandighedenbevatten.Wekunnenopzijnhoogst vaststellendatdesoftwaregoedfunctioneertonderbepaaldecondities.Waarvroegerdeprogrammeurzelfalle testenuitvoerde,ishettegenwoordignormaalbinnendesoftware-ontwikkelingdatereentestorganisatieis,los vanhetontwikkelteam.Ineentestteamkunnendeledenvanhettestteamverschillenderollenaannemen.De informatieafkomstigvansoftwaretestenzalwordengebruiktomeventuelebugsoptelossen,maarkanook wordengebruiktomhetproceswaarbijsoftwarewordtontwikkeldtecorrigeren.Ookdaaromiseenevaluatie vandetestresultatenvanbelang.
EenstudieuitgevoerddoorNIST(NationalInstituteofStandardsandTechnology)in2002laatziendatsoftwarebugs deAmerikaanseeconomieopdatmoment59,5miljarddollar($59.500.000.000!)perjaarkostten.Veelvandeze kostenkunnenwordenvermedenalssoftwarebeterwordtgetest.Doorhetsteedsmeergebruikenvan geautomatiseerdesystemenwordtervanuitgegaandathetbedragnuveelhogerligt. Dezekostenkunnenbetrekkinghebbenopzakenals:
• Verlorenproductiviteit:Werknemerskunnentijdverspillenaanhetoplossenvanproblemenveroorzaaktdoor softwarefouten.
• Verliesvaninkomsten:Bedrijvenkunneninkomstenverliezenalsgevolgvansysteemuitval,verkeerde berekeningenofandereproblemendiewordenveroorzaaktdoorsoftwarefouten.
• Herstel-enreparatiekosten:Hetoplossenvanbugsenhetimplementerenvanpatchesofupdatesomproblemen optelossen,kankostbaarzijn.
• Reputatieschade:Alssoftwarefoutenleidentotnegatievegebruikerservaringenofdatalekken,kanditde reputatievaneenbedrijfschaden,watoplangetermijnfinanciëlegevolgenkanhebben.
• Juridischekosten:Insommigegevallenkunnensoftwarefoutenleidentotjuridischegeschillen,watextra kostenmetzichmeebrengt.
Inhetalgemeengeldt:hoeeerdereendefectwordtgevonden,hoegoedkoperhetisomhetterepareren.
Testplan
CONCEPT
Eensystematischebenaderingvanhettestenvaneensysteemmaaktdekansopfoutenkleiner,hettestplan Bij hettestenvansoftwaregeefteentestplangedetailleerdetestinformatiemetbetrekkingtoteenaanstaande testinspanning,waaronder:
• Scopevantesten–Watwordtergetestenwatniet?
• Planning–Wietestwatwanneer?
• Testdeliverables–Watmoetdetestopleveren?
• Criteriavrijgeven–Wanneerisdetestsuccesvolafgeslotenenkandesoftwareingebruikwordengenomen?
• Risico’senonvoorzieneuitgaven–Welkrisico’szijnerenhoeveelruimteiseromdezeoptevangen?
Testdocumentatie
Eriseengoedeverantwoordingvandetestnodig.Daarommoetdetestdocumentatiegoedopordezijn.Uitde documentatiemoetenkunnenwordennagegaanhoeerisgetest:doorwieenonderwelkeomstandighedenis welkdeelvandetestuitgevoerd?
Eenbelangrijkonderdeelvandedocumentatieisdeuitkomstvandeuitgevoerdetesten.Eentestscriptvoorde softwarekangemaaktwordenopbasisvandesequence-diagrammen.Alsvoorbeelddealeerdergebruikte aanmeldprocedure.
Hetsequence-diagramvandeaanmeldprocedurezieteralsvolgtuit:
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/84c846c4222c98c1bb6ab320105e54fd.jpeg)
Figuur 6.4 Sequence-diagram van de aanmeldprocedure
Wanneerwevoorditsequence-diagrameentestscenariomakendanzoudateralsvolgtuitkunnenzien:
CONCEPT
Blok6 Realiserenentestenvansoftware
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/b1cb6919630bc299107f4c218a971145.jpeg)
CONCEPT
Figuur 6.5 Testscenario sequence-diagram
Afhankelijkvandecomplexiteitendenauwkeurigheidwaarmeemoetwordengetest,wordtditonderdeel uitgebreider.
Beperkingenbijhettesten
Elksoftwareproductheefteeneigendoelgroep.Zozaldedoelgroepvoorvideogameserandersuitziendan beurshandelarendiesoftwaregebruiken.Bijhettestenishetvanbelangjedoelgroeptebetrekken.Dezekanhet bestebeoordelenofdesoftwareacceptabelis.
Defectenenfouten
Nietallesoftwaregebrekenzijnhetgevolgvanhetcoderenvanfouten.Eenredenvanduregebrekenaansoftware isvaakhetontbrekenvanbepaaldefunctionaliteiten.Datzoukunnengebeurenomdaterinhetontwerpietsis vergeten.Vaakzijndithiatenophetgebiedvanniet-functionelevereisten,zoalstestbaarheid,schaalbaarheid, onderhoudbaarheid,bruikbaarheid,prestatiesensecurity.
Nietelkesoftwarefoutzal(onmiddellijk)resulterenineenzichtbarebug.Zozaleenfoutineendodecode,een codedienietaangeroepenkanwordenendusooknietkanwordenuitgevoerd,nooitleidentotstoringen.Deze
bugszullendanookmoeilijkteontdekkenzijn.Eendergelijkefoutkanveranderenineenzichtbarebugwanneer deomgevingverandert.Bijvoorbeeldalsopeenbepaaldmomenteeninteractiemetanderesoftwarewordt gerealiseerd.
Input-combinaties
Eenfundamenteelprobleembijhettestenvansoftwareisdathettestenvanallecombinatiesvandeinputen (begin)toestandniethaalbaaris.Zelfsnietmeteeneenvoudigproduct.Gebrekendiezeldenvoorkomenzijn moeilijktevindenbijhettesten.Eenkeuzeuittweediealsuitkomstheefteenkeuzeuitzesmaaktaldatertwaalf padenmoetenwordengetest,AtotenmetL.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/2a3b97b5f24e2a8d03c044385df3761c.jpeg)
Figuur 6.6 Keuzes die leiden tot keuzes
Enalselkevervolgkeuzeopzichweerverschillendeoptiesheeft,danwordthetaantalpadenmeteenheelveel groter.Gaanweervanuitdatergemiddeldvieroptieszijninelkvervolg,danmoeteneral2x6x4=48verschillende padenwordengetest.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e9131b48e3e1ddcd31561d39233c1a3f.jpeg)
Figuur 6.7 Keuzes die leiden tot keuzes die leiden tot keuzes
Hierbijzijnwealleenuitgegaanvanéénbeginsituatie.Jekuntbedenkendaterverschillendebeginsituatieszijn. Zoudenerdriebeginsituatieszijndanwordthetaantaltesten:
2x6x4x3=144
Elketestkosttijdentijdisweertevertaleningeld.Daaromishetefficiënténeffectiefopzettenvaneentestheel ergbelangrijk.
Blok6 Realiserenentestenvansoftware
Randvoorwaarden
Usability,schaalbaarheid,prestaties,compatibiliteitenbetrouwbaarheidkunnenzeersubjectiefzijn.Ietswat éénpersoonacceptabelvindt,kanvooreenanderjuistonacceptabelzijn.Ditsoortaspectenwordtvaakinde acceptatietestmeegenomen.
Manierenvantesten
Statischversusdynamischtesten
Erzijnverschillendebenaderingenmogelijkvoorhettestenvansoftware.Beoordelingen,‘walkthroughs’en inspectieswordenaangeduidalsstatischetesten Hetfeitelijkuitvoerenvandegeprogrammeerdecodemeteen bepaaldesettestgevallenwordtaangeduidalsdynamischtesten
Statischetestenwordenvaakuitgevoerdtijdensdeontwikkeling.Voorbeeldenvanstatischtestenzijnproeflezen enhetbijhetprogrammerengebruikmakenvantools/tekstverwerkersdiedebroncodecontrolerenopstructuur. Gebruikmakenvancompilerskanookalsstatischtestenwordengezien.Compilerscheckenvaakdesyntaxvan decodeengeveneenmeldingalserietsnietinordeis(codereview).
Dynamischtestenvindtplaatswanneerhetprogrammazelfwordtuitgevoerd.Dynamischtestenkanbeginnen voordathetprogramma100%afis.Alsermetmodulesoffunctieswordtgewerkt,kunnendezeafzonderlijkgetest worden.
Bijstatischetestenisersprakenvannalopen,controlerenenverifiëren.Bijdynamischtestengaathetomnalopen, controlerenenvalideren.Inbeidegevallengaathetomhetverbeterenvandekwaliteitvandesoftware.Het verschilisdatverifiërenstaatvoorcontroleren,zondereeneindoordeel.Validerenisaangevendatallesinorde is,hetgevenvaneenoordeel.
White-box-testenenblack-box-testen
Softwaretestmethodenzijntraditioneelverdeeldinwhite-enblack-box-testen.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/3bea3add5792db650834020ec5a50872.jpeg)
6.8
White-box-testen
en black-box-testen
White-box-testen(ookwelclear-box-testen)dienenomdeinternestructuurofwerkingvaneenprogrammate testen.Black-box-testengaanomdefunctionaliteitenwordenvaakdoordeeindgebruikergedaan.
Omdateenwhite-box-testhetinternedeelvanhetsysteemtest,zijnerprogrammeerskillsnodigomtestcases teontwerpen.Detesterkiestinputompadendoordecodetetestenenomtebepalenofdejuisteoutputuithet systeemkomt.
White-box-testengebeurtmeestalopmodule-niveauentestdekoppelingopsysteemniveau.Metwhite-box-testen kunjepadenbinneneenmoduleenpadentussenmodulestesten.Metdezemaniervantestenkunjeveelfouten
Figuur White-box-ofproblemenontdekken.Watnietkan,isonuitgewerktedelenvandesoftwaretesten.Requirementsofontbrekende eisendienietinhetontwerpzijnmeegenomen,zijnopdezemanierniettevinden.
Methodesdiewordengebruiktbijwhite-box-testenzijn:
• API-testen:testenvandeapplicatiemetbehulpvanpubliekeenprivateAPI’s(applicationprogramming interfaces);
• Codecoverage:eentestdiezowordtopgezetdatallestatementsinhetprogrammatenminsteeenmaal wordenuitgevoerd(code-dekking);
• Faultinjection(storinginjectie):hetopzettelijkintroducerenvanfoutenomdewerkzaamheidvan teststrategieëntepeilen.
Black-box-testen
Eenblack-box-testbehandeltdesoftwarealseen‘black-box’.Meteenblack-box-testonderzoekjede functionaliteit,zonderenigekennisvandeinternewerking.Detesterszijnzichalleenbewustvanwatdesoftware moetdoenenniethoedesoftwarewerkt.Datisdanookmeteeneenbelangrijkvoordeelvanblack-box-testen.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/12ac24f77001d73da21fbdc2c40b8553.jpeg)
Figuur 6.9 Black-box-testen
Black-box-testmethodenzijn:equivalencepartitioning,boundaryvalueanalysis,fuzz-testen,specificatiegebaseerde testen,visueeltestenengray-box-testing.
CONCEPT
Equivalencepartitioning
Deinvoergegevensvaneensoftware-eenheidwordenindelenequivalentegegevens(gelijkegegevens)opgedeeld.
Opbasishiervanwordendetestcasesgemaakt.Detestcaseswordenzoontworpendatelkdeel(partitie)minstens eenmaalwordtgetest.Eenvoordeelvandezetestisdatermindertijdvoorhettestenvansoftwarenodigis, omdatermindertestcasesnodigzijn.
HetdoelvanEquivalencePartitioningisomhetaantaltestcasesteverminderendoorinputwaardeninklassen teverdelenenslechtsééntestcaseuitelkeklasseteselecterenomtetesten.
DestappendiewordengevolgdbijhettoepassenvanEquivalencePartitioningzijn:
• Identificeerdeinputcondities:identificeerdeverschillendeinputconditiesofparametersdievaninvloed zijnophetgedragvandesoftware.
• Partitieerdeinputwaarden:verdeeldemogelijkeinputwaardeningelijkeklassenopbasisvandezelfdeaard vandeinputofhetzelfdeverwachtegedrag.Eenequivalentieklassebevateenreeksinputwaardendienaar verwachtinghetzelfderesultaatzullenopleveren.
• Selecteerééntestcaseperequivalentieklasse:kieséénrepresentatievetestcaseuitelkeequivalentieklasse omtetesten.Dezetestcasemoetdealgemeneeigenschappenvandeklassevertegenwoordigen.
• Testdesoftware:voerdegeselecteerdetestcasesuitenbeoordeeldereactievandesoftware.Deverwachting isdatalseentestcasebinneneenequivalentieklasseslaagt,alleanderetestcasesindezelfdeklasseookzouden moetenslagen.
Dezetechniekismetnameeffectiefwanneerdeinvoerwaardenvaneensysteeminverschillendeklassenkunnen wordenverdeeldenelkvandezeklassendezelfdeverwerkingofreactievanhetsysteemzoumoetengenereren. Hetzorgtervoordathetaantaltestcasesdatnodigisomeengoededekkingtekrijgenwordtverminderd.
Voorbeeldbijhettestenvaneeninvoerveldvoorleeftijd,waarbijdegeldigeleeftijdtussen18en65jaarligt.De equivalenteklassenzoudendankunnenzijn:
• Klasse1:Leeftijd<18(Ongeldigeleeftijd)
• Klasse2:18<=Leeftijd<=65(Geldigeleeftijd)
• Klasse3:Leeftijd>65(Ongeldigeleeftijd)
Inditgevalzouhetvoldoendezijnomslechtsééntestcase,leeftijd,uitelkeklasseteselecterenomdefunctionaliteit tetesten.
Boundaryvalueanalysis
Boundaryvalueanalysis(grenswaarde-analyse)iseensoftwaretesttechniekwaarbijalleendegrenswaardenin eentestrangewordenopgenomen.Alsvoorbeeldhierbij:leeftijd.Indesoftwarewillenwevolwassenenselecteren. Danwordenalleendewaarden17en18jaargetest.Isdeuitkomst:18jaarisvolwassenen17jaarisniet-volwassen, dankloppendegrenswaarden.Inditgevalwordtaangenomendaterbijeenleeftijdonderde17ofbovende18 geenproblemenzullenoptredenendesoftwarenaarbehorenwerkt.Eenvoordeelvandezetestisdaterrelatief weinigwordtgetest.Hetgevaarisdaterbuitendegrenzenfoutenoptredendiebijhettestennietnaarvorenzijn gekomen.
Fuzz-testen
Fuzz-testenoffuzzingiseensoftwaretesttechniekdievaakautomatischofsemi-automatischwordttoegepast. Hetiseenvormvansteekproevennemen,waarbijongeldige,onverwachteofwillekeurigedatawordeningevoerd. Vervolgenswordtergecontroleerdopuitzonderingenzoalscrashes.Fuzzingwordtvaakgebruiktbijhettesten opveiligheidsproblemen.
Specificatiegebaseerdetest
CONCEPT
Despecificatiegebaseerdetestisbedoeldomdefunctionaliteitvandesoftwaretetestenvolgensdegeldende eisen.Dezemaniervantestenvereistdatdetestcaseswordenontwikkeldopbasisvandespecificatiesofvereisten vanhettetestensysteem.Detesterkanvervolgenseenvoudigcontrolerenofvooreenbepaaldeinput,deoutput welofnietgelijkisaandeteverwachteoutput.Dezewaardeisopgenomenindetestprocedurezodatdetester dezekanvergelijken.Detestcaseswordengebouwdrondderequirements.Jetestofdeapplicatiedoetwatdie zoumoetendoen.Dezetestszijnmeestalfunctioneel.Somswordenniet-functioneleonderdelengetestopdeze manier.
Visueeltesten
Visueeltestenlaatzienopwelkpuntvandesoftwareeenstoringzichvoordoet.Hetdoelhiervanisom ontwikkelaarsextrainformatieteverschaffenovereenstoring.Inplaatsvanalleendebeschrijvingkrijgtde ontwikkelaarookhetresultaatvandestoringterug.Ditverhoogtdehelderheidenhetbegripoverdestoring. Visueeltestensteltweleisenaandetestomgeving.Zomoetalleswordenvastgelegd.Ermoeteenopnamevan hetgeheletestproceswordengemaaktinvideoformaat,waarbijdetesterrealtimeinputgeeftvia beeld-in-a-picture-webcamenaudio.
Eenbelangrijkvoordeelvanvisueeltestenisdatdekwaliteitvandecommunicatieenormtoeneemt.Detester kanhetprobleemendehandelingendieleiddentothetprobleemaandeontwikkelaarlatenzien.Deontwikkelaar zalalhetbewijshebbendathijofzijnodigheeftenhoeftnietmeertezoekennaardereden.
BinnendeAgile-ontwikkelmethodiekwordtvisueeltestenveeltoegepast.DitomdatAgile-methodenveel communicatievereisentussentestersenontwikkelaars.
Gray-box-testing
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/6caecd6d14c74ea6a58b9e7de9fb8db6.jpeg)
Figuur 6.10 Gray-box-testen
Gray-box-testingis,watdekleuralzegt,eentussenvormtussenwhite-enblack-box-testen.Detestenworden opgezetmetkennisvaninternedatastructurenenalgoritmen.Tijdenshetuitvoerenvandezetestsheeftdetester gedeeltelijktoegangtotdebroncodevandeprogrammatuur.Omdatdegebruikerdeprogrammaconceptenkent, zaldezebeterzijnkeuzeskunnenmakentijdenshetuitvoerenvandetests.Eengray-box-testerzalinveelgevallen toeganghebbentotdedatabasesviaSQL-statements.Gray-box-testingvereisteenintelligenttestscenarioop basisvaneenbeperktehoeveelheidinformatie.
CONCEPT
Testtype
Compatibiliteitstest
Compatibiliteitisdematewaarinprogramma’sofsoftwaresamenwerken.Wanneereenprogrammanietcompatibel ismetbepaaldesoftware,zoalseenbrowserofeenbesturingssysteem,zalhetprogrammanietwerkenopdie browserofdatbesturingssysteem.Tijdenseencompatibiliteitstestcontroleerjeofjesoftwarewerktmet verschillendehardware,besturingssystemen,webbrowsers,netwerkomgevingenenanderesoftwarecomponenten.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/02ba97f4ae38d65c6a58358869679147.jpeg)
Figuur 6.11
Eengebrekaancompatibiliteitiseenveelvoorkomenderedenvansoftwarefalen.Eengebrekaancompatibiliteit kanoptredenalsdeprogrammeursvoorhetontwikkelenentestenvansoftwarealleendenieuwsteversievan dedoelomgevinggebruiken.Erwordtvaaknietaangedachtomdesoftwareookopeerdereversiesvanbrowsers tetesten.Tochzijnerheelveelgebruikersvaneerdereversiesenookdiebehorenmogelijktotdedoelgroepvan hetprogramma.Hetgevolgkanzijndatdeapplicatienietnaarbehorenfunctioneertopeerdereversies. Maakjeeenwebapplicatie,danmoetjenietalleenopdelaatsteversiesvandemeestgebruiktebrowserstesten, maarookopoudereversies.Bijhetinrichtenvanjeontwikkelomgevingmoetjehierookrekeningmeehouden. Ontwikkeljevoormobieleplatformszoalssmartphoneentablet,danzuljemoetentestenopdeverschillende apparaten.Dehardware(ensoftware)kanonderlingnogalverschillen,ietswaarjerekeningmeemoethouden.
Regressietest
CONCEPT
Regressietesteniseentypesoftwaretestdatwordtuitgevoerdomervoortezorgendatrecentewijzigingeninde codegeennegatieveinvloedhebbenopdebestaandefunctionaliteitvandesoftware.Hetdoelvanregressietesten isomeventueleregressiefoutenoptesporen,waarbijeenwijzigingindecodeonbedoeldebijwerkingenheeft opanderedelenvandesoftware.DezetestenzijnvangrootbelangineenAgile-ontwikkelingsomgeving,waarin erregelmatigiteratiesenupdateszijnaandesoftware.Wanneerontwikkelaarsnieuwecodetoevoegenof bestaandecodewijzigen,kanhetvoorkomendatdezewijzigingenonbedoeldegevolgenhebbenvoorandere delenvandesoftware.Regressietestenhelpenbijhetsnelidentificerenvandergelijkeproblemen,waardoor teamsfoutenkunnencorrigerenvoordatzeindeproductieomgevingterechtkomen.
Belangrijkeaspectenvanregressietestenzijnonderandere:
• Wijzigingenindecodebasis:regressietestenwordenuitgevoerdnadaterwijzigingenindecodezijn aangebracht,zoalsbugfixes,nieuwefunctiesofandereaanpassingen.
• Bewakingvanbestaandefunctionaliteit:hetprimairedoeliservoortezorgendatbestaandefunctionaliteit nietisaangetastdoorrecentecodeaanpassingen.Ditomvathetvoorkomenvanregressiefouten.
• Automatisering:regressietestenwordenvaakgeautomatiseerdomdeefficiëntieteverhogenenervoorte zorgendatdetestssnelenherhaaldelijkkunnenwordenuitgevoerdnaelkecodeverandering.
• Testcasesvoorkritiekefuncties:hetidentificerenenprioriterenvantestcasesvoordemeestkritiekeen veelgebruiktefunctiesvandesoftwareomervoortezorgendatdezecorrectblijvenwerken.
• Snelleuitvoering:regressietestenmoetensnelwordenuitgevoerd,vooralineenomgevingwaarinerfrequente wijzigingenaandecodeplaatsvinden.
• Testomgeving:hetgebruikvaneengecontroleerdetestomgevingdievergelijkbaarismetdeproductieomgeving omnauwkeurigeresultatentegaranderen.
Acceptatietest
Deacceptatietestwordtuitgevoerddoordeklant,meestalindienstestomgevingopdeeigenhardware.Inhet deeloverImplementatiekomenwehieruitgebreidopterug.
Functioneeltestenversusniet-functioneeltesten
Functioneeltestenishettestenvaneenspecifiekeactieoffunctievandeapplicatie.Wanneererwordtgewerkt meteenontwikkelmethodiekdiegebruikmaaktvaneenusecaseenuserstoriesdanwordendezegebruiktom detestoptezetten.
Niet-functioneletestenhebbenbetrekkingoponderdelenvandesoftwaredienietaaneenspecifiekefunctieof gebruikersactiezijngekoppeld.Hetgaatomzakenalsschaalbaarheidofsecurity.Niet-functionelerequirements gevenvaakdekwaliteitvanhetproductweervanuithetperspectiefvandegebruikers.
Continutesten
Continutestenishetgeïntegreerdeprocesvanvoortdurendtestengedurendedegeheleontwikkelingscyclus. Ditinplaatsvanhettestentebeperkentotspecifiekefasenvandeontwikkeling,zoalsdetestfase.Continutesten iseenvoortdurend,geautomatiseerdprocesdatparallellooptmetdeontwikkeling.Hetdoelvancontinutesten isomvroegtijdigefeedbackteverkrijgen,dekwaliteitvandesoftwaretewaarborgenenproblemenonmiddellijk teidentificerenenaantepakken.
Destructieftesten
Bijdestructieftestenprobeerjeopzettelijkfoutenteveroorzaken.Hiermeetestjeofdesoftwarenaarbehoren functioneert.Erwordtgekekenofdesoftwareblijftwerken,zelfswanneererbewustongeldigeofonverwachte invoerwordtgegeven.Hierdoorwordtderobuustheidenhetfoutbeheervandesoftwaregetoond.Voorbeelden vandestructievetestszijn:
• Stresstesten:desoftwarewordtblootgesteldaaneenbelastingdiedemaximalecapaciteitoverschrijdtom tezienhoehetreageertonderdruk.Ditkanbetrekkinghebbenophetverwerkenvaneengrootaantal gelijktijdigegebruikers,hetmanipulerenvangrotehoeveelhedengegevens,ofhetdraaienvandesoftware ophardwaremetbeperktecapaciteit.
• Veiligheidstesten:hetsimulerenvanbeveiligingsaanvallen,zoalspenetratietests,omzwakkepunteninde beveiligingvandesoftwareteidentificeren.
CONCEPT
• RecoveryTesting:hettestenvanhetherstelmechanismevandesoftwarenaeenonverwachtestoring,zoals hetuitschakelenvanserversofhetabruptafsluitenvanprocessen.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/152dfad5b509d579b48a0954e01607f0.jpeg)
Softwareprestatietesten
Prestatietestsdienenvoornamelijkomtekijkenofdesoftwareblijftpresterenondereenbepaaldebelastingen onderbepaaldecondities.Despecifiekedoelenvandeverschillendeprestatietestenlopennogaluiteen.Inalle gevallengaathetomspecifiekeprestatiesopeenbepaaldonderdeel.
• Stabiliteitstestenistestenofdesoftwareonderalleomstandighedengelijkblijftfunctioneren.Stabiliteitstesten, ookwelbelastingtesten,controlerenofdesoftwarecontinugoedfunctioneertgedurendeeenbepaaldetijd.
• Schaalbaarheidstestenistestenopgrotehoeveelhedendataofeengrootaantalgebruikers,deschaalwaarop wordtgewerkt.
• Stresstesteniseenmanieromdebetrouwbaarheidtetestenonderonverwachteofzeldzamebelasting.
Usabilitytesting
Eenusability-testiseentestnaarhetgebruiksgemakvandesoftware.Hetcontroleertofdeuserinterface eenvoudigistegebruikenentebegrijpen.Doordezetestkomendeeventueleobstakelsnaarvorendiegebruikers kunnenondervindenbijhetgebruikvandeinterface.Belangrijkeaspectenvanusability-testszijnonderandere:
• Scenario'sentaken:gebruikerskrijgenspecifiekescenario'sentakenomuittevoerenmethetproduct.Dit kanvariërenvaneenvoudigetakentotcomplexeretakendietypischzijnvoorhetgebruikvanhetproduct.
• Observatie:testleidersofonderzoekersobserverendedeelnemersterwijlzedetakenuitvoeren.Deze observatieskunnenvariërenvanhetvolgenvandeoogbewegingenvangebruikerstothetnoterenvanhun gedachtenenopmerkingen.
• Gedragsgegevensverzamelen:tijdensdetestwordengegevensoverhetgedragvandegebruikersverzameld, zoalsdeduurvandetaken,hoeveelfoutenerwordengemaaktendealgemenereactiesenfeedbackvande gebruikers.
• Subjectievebeoordelingen:gebruikerskunnenookwordengevraagdomhunsubjectievemeningtegeven overdebruikbaarheidenervaringmethetproduct.Ditkanwordengedaanviaenquêtes,interviewsof discussies.
• Doelgroepbetrekken:hetisbelangrijkomdeusability-testuittevoerenmetdedaadwerkelijkedoelgroep vanhetproduct.Ditzorgtvoorrelevantefeedbackvanmensendiedesoftwareofhetproductdaadwerkelijk zullengebruiken.
Security-test
CONCEPT
Security-testenisessentieelvoorsoftwarewaarmeevertrouwelijkegegevensverwerktmoetenworden.Hetdoel vaneensecurity-testisomkwetsbaarheden,zwakkepuntenenmogelijkebeveiligingsrisico'sindesoftwareop tesporenvoordatdezeinproductiewordtgenomen.Enkelebelangrijkeaspectenvansecurity-testinginde contextvansoftwareontwikkelingzijn:
• Penetratietesten:eenvormvansecurity-testingwaarbijhetsysteemwordtaangevallendooreenethische hacker(penetratietester)omzwakkeplekkenindebeveiligingtevinden.Hetgaatdanomhetproberente omzeilenvanbeveiligingsmaatregelenenhetontdekkenvanmogelijkezwakkeplekken.
• CodeReview:eengrondigeanalysevandebroncodeombeveiligingsproblementeidentificeren,zoalsslecht geschrevenauthenticatie-ofautorisatiecode,onvoldoendegegevensvalidatieenmeer.
• SecurityScanning:hetscannenvandesoftwareopbekendebeveiligingskwetsbaarheden,configuratiefouten enandererisico's.Ditkanwordenuitgevoerdmetbehulpvangeautomatiseerdetools.
• AuthenticatieenAutorisatietesten:verificatievandeeffectiviteitvanauthenticatie-en autorisatiemechanismenbinnendesoftwareomervoortezorgendatalleengeautoriseerdegebruikerstoegang hebbentotdejuistefunctiesengegevens.
• Encryptietesten:beoordelingvandetoegepasteencryptieomervoortezorgendatgevoeligegegevensop dejuistemanierwordenbeschermd.
• Beveiligingsbewustzijnstraining:evaluatievanhetbeveiligingsbewustzijnvanhetontwikkelingsteamen anderebetrokkenenomervoortezorgendatbeveiligingspraktijkenintegraaldeeluitmakenvanhet ontwikkelproces.
Authenticatie
Deidentiteitvaneenpersoonmoetwordengeverifieerd,watinhoudtdatiemanddaadwerkelijkiswiediegene beweerttezijn.Biometrischebeveiligingwordtsteedsvakertoegepastinsoftware,maarermoetnogwelgetest wordenofdesoftwareopeenjuistemanieromgaatmetdeidentiteitsverificatie.
Authenticatieiseenessentieelonderdeelvanbeveiliginginsoftwareontwikkeling.Hetishetverifiërenvande identiteitvaneengebruiker,systeem,ofeenanderentiteitdietoegangwiltoteensoftwaretoepassing.Hetdoel vanauthenticatieiservoortezorgendatalleengeautoriseerdepersonenofsystementoegangkrijgentotbepaalde bronnen,functiesofgegevensbinnendesoftware.
Enkelevoorbeeldenvanauthenticatieinsoftwareontwikkelingzijn:
• Gebruikersidentificatie:ditkanwordengedaandoormiddelvangebruikersnamen,e-mailadressen,ofandere uniekeidentificatiegegevens.
• WachtwoordenenCredentials:gebruikersmoeteneengeldigecombinatievangebruikersnaamenwachtwoord verstrekkenomtoegangtekrijgen.Onderanderedoorgebruikvanwachtwoordenofanderevormenvan inloggegevenszoalspincodesofbiometrischegegevens.
• Multi-FactorAuthenticatie(MFA):MFAvereistdatgebruikersmeerdereverificatiemethodendoorlopen voordatzetoegangkrijgen.Ditkaneencombinatiezijnvanietswatdegebruikerweet(wachtwoord),ietswat degebruikerheeft(zoalseentoken),enietswatdegebruikeris(biometrischegegevens).
Autorisatie
Autorisatieiseenessentieelonderdeelvaneengelaagdebeveiligingsaanpakinsoftwareontwikkeling.Hetwerkt samenmetauthenticatieomervoortezorgendatgebruikersalleendetoeganghebbentotdefunctiesengegevens dienoodzakelijkzijnvoorhunrol.Hiermeewordtonbevoegdetoegangtotgevoeligeinformatieoffunctionaliteiten beperkt.
Correcttoegepasteautorisatiebepaaltbijaanmeldingineensysteemwelkeactiesofbronneneengeauthenticeerde gebruikermagbenaderenofuitvoeren.
CONCEPT
Een(onrechtmatig)kijkjeinhetEPD
EenmedewerkervanhetBravisziekenhuisheeftovereenperiodevanvierjaarveelvuldiginhetpatiëntendossier vaneenpatiënte,deeiseresindezecivieleprocedure,gekeken.Demedewerkerheeftdezeinformatiedoorgespeeld aanhaarhuidigepartner,deex-partnervandeeiseres,dieopzijnbeurtdegegevensheeftgebruiktvoorhet schrijvenvaneenboekoverdeechtscheidingmetdeeiseres.Ineenandereprocedurehadderechteral(verdere) verspreiding/openbaringvanhetboekverboden.
Indezeproceduresteltdeeiseresdathetziekenhuisalswerkgeveraansprakelijkisvoorhetonrechtmatig inziendoordemedewerkervanhaarpatiëntgegevens(art.6:170lid1BW).Verdersteltzijdathetziekenhuis ookzelfaansprakelijkisomdatgeenpassendemaatregelentenaanzienvandecontrolevandeloggingzijn genomen(art.6:162BW).
Naar: OSWALD NUNES, Een (onrechtmatig) kijkje in het EPD, KBS advocaten, 30 september 2022
Availability(beschikbaarheid)
Ermoeteengarantiezijnvoordebeschikbaarheidvaninformatie-encommunicatiediensten.Informatiemoet beschikbaarzijnvoorgeautoriseerdepersonenophetmomentdatzedienodighebben.
Blok6 Realiserenentestenvan
Non-repudiation(niet-afwijzing)
Inbepaaldesystemenishetvanbelangdaterwordtgegarandeerddateenafzendereenberichtheeftverzonden endateenontvangerditberichtheeftontvangen.Non-repudiationiseenmanieromtegaranderendatdeafzender vaneenberichtlaternietkanontkennendathetberichtisverzonden.Tevenskandeontvangernietontkennen hetberichttehebbenontvangen.Ditsoortfunctiesmoetweluitgebreidgetestwordenomeroptekunnen vertrouwen.
Testproces
Ontwikkelaarszijnnietalleenverantwoordelijkzijnvoorhetschrijvenvancode,maarookvoorhettestenervan omervoortezorgendatdesoftwaregoedfunctioneert.Ditwordtvaakaangeduidals"shift-lefttesting".De testactiviteitenwordennaarvorenwordenverplaatstinhetontwikkelproces,zodatproblemenvroegtijdigworden geïdentificeerdenaangepakt.
Hierbijisdeontwikkelaarverantwoordelijkvoorverschillendeaspectenvanhettesten:
1. UnitTesting:Ontwikkelaarsschrijvenenvoerenunittestsuitomindividueleeenhedenvancodetetesten, zoalsfunctiesofklassen.Dezetestswordenmeestalgeautomatiseerdenrichtenzichophetcontrolerenof decodedeverwachteresultatenproduceert.
2. CodekwaliteitenRobuustheid:Ontwikkelaarsmoetenervoorzorgendatdecodegoedgestructureerd, leesbaarenrobuustis.Ditomvathetgebruikvanbestpractices,zoalshetvermijdenvanduplicatie,het implementerenvanerrorhandlingenhetvoldoenaanstandaardenvoorcodekwaliteit.
3. Integratietests:Naasthettestenvanindividueleeenheden,zijnontwikkelaarsookverantwoordelijkvoor hetuitvoerenvanintegratietestsomtecontrolerenofverschillendeeenhedencorrectsamenwerken.Dit kanondermeerhettestenvanAPI's,database-integratieendeinteractietussenverschillendemodules omvatten.
4. FunctioneleTests:HoewelfunctioneletestsvaakwordenuitgevoerddoordedicatedQA-teams,moeten ontwikkelaarsookeenrolspeleninhetidentificerenentestenvanbelangrijkefunctionaliteitenomervoor tezorgendatdesoftwareaandefunctionelevereistenvoldoet.
CONCEPT
Doortestverantwoordelijkheidteintegrereninhettakenpakketvanontwikkelaars,wordtdealgehelekwaliteit vandesoftwareverbeterdenwordenbugsvroegtijdigontdekt,watresulteertineenefficiënterontwikkelproces eneenhogereklanttevredenheid.
Bijgrotereprojectenwaarmeerontwikkelaarsbijbetrokkenzijnzalereentestomgevingwordeningericht.Het testenisdaneenapartetaakvooreenteamliddatconformdegekozentestmethodiekdetestenzaluitvoeren.
Waterval-ontwikkelingsmodel
Vaakwordtsoftwaregetestdooreenonafhankelijkegroeptesters,nadatdefunctionaliteitisontwikkelden voordatdesoftwareopgeleverdwordtaandeklant.Indepraktijkkomthetvoordatdetestfasegebruiktwordt alsprojectbuffer.Uitloopvansoftware-ontwikkelingwordtgecompenseerddoormindertijdtebestedenaanhet testen.
Eenalternatiefishetcontinutesten.Dezevormvantestengebruikjealsjewiltvoorkomendathettestenerbij inschiet.Hettestenvansoftwarebegintophetzelfdemomentdathetprojectwordtgestart.Hetisdaneencontinu testprocestothetprojectisvoltooid.
Agile-ofextreme-ontwikkelingsmodel
Het‘test-driven-software-development’-modelvereistenigevoorbereiding.Tijdensdeontwikkelingvande software,vervoordateenformeeltestteamisingericht,isdetestomgevingalgespecificeerd.Dezewordtgeschreven doordesoftware-ontwikkelaars.Netalsdesoftwarewordtookdetestbijelkesprintbijgesteld.
Agile-testeniseenonderdeelvanhetAgile-ontwikkelproces.Bijzo’nprocesgaatheteromineeniteratiede volgendestappentezetten:
• ruwevereistenverderuitwerken;
• desoftwarebouwen;
• testenvoorbereidenenuitvoeren.
Dezeactiviteitenwordendoorhetmultidisciplinaireteamuitgevoerdmetdefocusopheteindproduct.Dekwaliteit hiervaniseenteamverantwoordelijkheid.IneenAgile-teamwerktiedereenaanhetzelfdedoel:werkendesoftware opleveren.Alledisciplinesinhetteam,waarvantesteneréénis,hebbeneenzichtbaretoegevoegdewaarde.De voornaamstetoegevoegdewaardevantestenishetgevenvanfeedback,hetliefstzovroegmogelijk.Kenmerkend voorAgileisdanookdatervoortdurendwordtgetestendattestenineenAgile-ontwikkelteamgeenaparte activiteitis.Datgebeurtdoormiddelvanreviewsopdiversecriteria,maarookdooralineenzeervroegstadium testgevallenuittevoeren.Zovroegmogelijkfeedbackgevenbetekentookeenzovroegmogelijkebetrokkenheid bijhetproject.EenAgile-testerdiezijnexpertisedeeltmetzijnteamledensteltanderendaarmeeinstaatomzelf effectievertetesten.
Top-downenbottom-up
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/a2321362a6adcbb4fc33ab2a243606f8.jpeg)
Figuur 6.13 Top-down en bottom-up
CONCEPT
Bottom-up-testen
Bottom-up-testeniseenbenaderingvantestswaarbijmodules,proceduresenfunctiesalseerstewordengetest. Daarnawordtdeintegratie(samenstelling)vandemodulesgerealiseerdengetest.Nahetintegratietestenvan lageremoduleszalhetvolgendeniveauvandemoduleswordengebouwd.Dezewordendanweergetest,waardoor demoduleskunnenwordengeïntegreerdomdaninhungeheelgetestteworden.Hetproceswordtherhaald totdatdecomponentenaandetopvandehiërarchiewordengetest.
Top-down-testen
Top-down-testeniseenbenaderingvantestswaarbijmodulesaandetopwordengetest.Elketakvandemodule wordtstapvoorstaptotheteindevandebijbehorendemodulegetest.
Zowelbottom-up-alstop-down-testenzijnzeertoepasbaarbijhetvervangenvaneendeelvaneenapplicatie.
Detestcyclus
Detestcyclusvertoontoverhetalgemeendezelfdehoofdlijnen,hoewelernatuurlijkvariatieszijntussenorganisaties enbijverschillendeontwikkelmethoden.DestappenvanhettestenvolgenshetWaterval-ontwikkelingsmodel wordenookvaakteruggezienbijanderemethoden.Weonderscheidenhierbijdevolgendestappen.
Requirements-analyse
Detestbegintbijhetbeginvandesoftware-ontwikkeling.Uiteindelijkmoeterinderequirementszijnvoorzien. Ermoetwordenbepaaldmetwelkeparametersdetestsmoetwordeningerichtomtezienofdeapplicatiewerkt.
Planning
Eriseenplannodigomdeveleactiviteitentijdenshettesteningoedebanenteleiden.Eentestplaniseendocument waarindedoelstellingen,dedoelgroep,hettestteamendeprocessenvooreenbepaaldetestzijnbeschreven.
Ontwikkelenvandetest
Ermoetentestprocedures,testscenario’s,testcases,testdatasetsentestscriptswordengemaaktomdeapplicatie tetesten.Eentestcasebestaatuitdebeschrijvingvaneenontwerpspecificatie,derandvoorwaardenentestcases (actiesdiegevolgdmoetenworden).Deinput,output,hetteverwachtenresultaatstaanindetestcase.Testers moetendeapplicatietestenopbasisvandeplannenentestdocumenten.Daarnaastwordtervandetester verwachtdatdezezijn/haarervaringentijdensdetestengebruiktomhetwerkelijkeresultaattebeschrijven.
Rapportage
Nadathettestenisvoltooid,zullendetestersverslagdoenoverdeuitgevoerdetesten.Hieruitmoetblijkenofde softwaregereedisvoorgebruik.
Analysetestresultaat
Deanalysewordtgedaandoorhetontwikkelteam,meestalsamenmetdeklant.Uitdezeanalysemoetblijkenof deapplicatiegoedwerktofdatingebruiknameuitgesteldmoetwordenenfouteneerstmoetenwordenopgelost.
Hertestenopgelostedefecten
Zodraeengebrekisopgelostdoorhetontwikkelteam,moetditdeelvandeapplicatieopnieuwgetestworden doorhettestteam.
Testplan
1.Inleiding
Indeinleidingwordteenkortemanagement-samenvattingvandetestgegeven.Destatusvanhettestplanwordt vermeld,ditkanzijnconceptofdefinitief.
2.Opdrachtformulering
CONCEPT
Indeopdrachtformuleringwordendetestopdrachtendedoelstellingenvandetestbeschreven.
3.Rapportage
• Ermoetwordenbeschrevenaanwiewordtgerapporteerd.Datkanzijndeprojectleider,detestcoördinator en/ofdeopdrachtgever.
• Ermoetwordenbeschrevenwaaruitdegewensteinformatiebestaat.Datkanzijndevoortgang,de probleemmeldingenen/oftijdverantwoording.
• Ermoetwordenbeschrevendoorwiewordtgerapporteerd.Datkanzijndeprojectleideren/ofde testcoördinator.
• Defrequentievanrapporterenwordtweergegeven.
4.Organisatie
4.1Afbakening
Hierinstaateenkortebeschrijvingvanhettetestensysteemendetestomgeving.Ermoetzijnbeschrevenwaarop getestwordtenhoedatgebeurt.Ditdoejedoordetestfaseringendeuittevoerentestentebenoemen.Bij voorkeurdeeljehetsysteemopintestbaremodules.Demoduleswaarvooreenafzonderlijktestontwerpwordt gemaaktmoetenvooralniettegrootzijn.
4.2Takenenverantwoordelijkheden
Detakenenverantwoordelijkhedenwordenhiervastgesteldentoegewezen.Doorwiewordenwelketests uitgevoerd,wieheeftdeleiding,wieverwerktdewijzigingsvoorstellen?
4.3Overzichtproducten,kwaliteitseisenenstopcriteria
Eenopsommingvanproductendiegetestgaanwordenmetdaaraangekoppelddekwaliteitseisenenstopcriteria.
4.4Documentatie
Inhettestdossiermoetwordengedefinieerdwelkedocumentenwelwordenopgenomenenwelkeniet.
4.5Testomgeving
Detestomgevingmoetgedefinieerdworden.Bijvoorkeurbeschiktelkeindividueletesterovereeneigen testomgeving.
4.6Versiebeheer
Hetversiebeheerisbijhettestenergbelangrijk.Allesmoetondubbelzinnigvaststaan.Alletestwerkzaamheden zulleneensamenhanghebbenenindeloopvaneenprojectkunnennieuweversiesontstaanvanspecificaties, tetestenproductenentestproducten.Versiebeheerisessentieelomgefundeerdeuitsprakentekunnendoen overdekwaliteitvaneengetestproduct.
• Welkeversiesbestaanervandespecificatieswaaropgetestwordt?
• Welkeversiesbestaanervandetetestenproducten?
• Welkeversiesbestaanervandetestproducten?
• Waarbevindenzichdeverschillendeversies?
• Welkeversievanhettetestenproductisgetestenmetwelktestproduct?
4.7Planning
Decompletetestwordtvoorafgepland.Deplanningvanhettestprocesisafhankelijkvandeplanningvanhet projectalsgeheel.Debenodigdecapaciteitenmiddelenmoetentegendeactiviteitenwordenafgezet.Opbasis hiervankandedoorlooptijdberekendwordenenopleverdatawordengepland.
Bijhetopstellenvandeplanningwordtonderandererekeninggehoudenmet:
• devolgordewaarin(gewijzigde)delenvanhetsysteembeschikbaarkomen;
• deonderlingesamenhangvanfuncties;
• hetverwachteaantalhertesten;
• deprioriteitdieeendeelvanhetsysteemkanhebben.
CONCEPT
Testrapport
Wanneermeerdereontwikkelaarsaaneenapplicatiewerkenendezewordtgetestdooraangewezentesters,dan moetendetestersderesultatenvandeteststerugkoppelennaardeontwikkelaars.Ominditsoort ontwikkeltrajectenderesultatenvandeverschillendetestengoedtekunnenvergelijken,iseenstandaarduitvoering vandetestrapportagebelangrijk.
Eentestrapportbestaatuiteenaantalverplichtehoofdstukken.Alservooreenbepaaldhoofdstukgeen rapportage-inhoudaanwezigis,moethethoofdstuktochwordenopgenomenzodatbekendiswaaromdat hoofdstuknietverderisuitgewerkt.
Doormiddelvanhettestrapportleggendetestersverantwoordingafoverdewerkzaamhedendiezijhebben verricht.Eentestrapportkanuitdevolgendehoofdstukkenbestaan:
1. Identificatie(TestPlanIdentifier)
Hettestplanmoeteenidentificatiehebben.Ditwordtzogekozendathetgerelateerdisaandeversievande softwarediewordtgetest.
2. Inleiding(Introduction)
Indeinleidingwordteenkortemanagementsamenvattinggegevenvandeuitgevoerdetest.
3. Beschrijvingtestobjecten(Testitems)
Hierwordtaangegevenwelkeproductenwordengetest,welkefunctiedezeproductenhebbenenomwelke redenzebijdetestbetrokkenzijn.
4. Functiesdiemoetenwordengetest(Featurestobetested)
Kanonderanderewordenaangegevenmetbehulpvandesequentiediagrammen.Verderkunnenhierde testscenario’swordenopgenomen.
5. Functiesdienietmoetenwordengetest(Featuresnottobetested)
Kanonderanderewordenaangegevenmetbehulpvandeuse-sequentiediagrammen.
6. Uitvoeringtestplan
Hierbeschrijfjeofhettestplanvolledigkonwordenuitgevoerd.Alsdatnietkon,moethierderedenvande afwijkingwordenopgenomen.Perteststapuithettestplanmoetaangegevenwordenwatderesultatenzijn, wiedeteststapheeftuitgevoerd,omwelkeactiviteithetgaatenomwelkdeel(module)vandeapplicatie hetgaat.
7. Testresultaten(geslaagd/mislukt)
Resultatenvanelketest,inclusiefgeslaagde,mislukteenovergeslagentests.Zonodigaangevuldmet logbestandenenscreenshotsomdetestresultatenteondersteunen.
8. Conclusiesenaanbevelingen
Aandehandvanderesultatenwordeninhetkortdebelangrijksteconclusiesenaanbevelingenbeschreven.
9. Eindoordeelenadvies
Ermoetwordenbeschrevenwatdealgemeneindrukkenvanhetopgeleverdeproductzijnenofeen aanvaardbaarniveauvankwaliteitbereiktis.Wanneerermeerderemoduleszijngetestmoetereen opsommingkomen,zowelvanproductendieinproductiegenomenkunnenwordenalsvanproductendie (nog)nietgereedzijn.
10. Akkoordmanagement
Hetondertekenenendaterenvanhettestrapportdoorverantwoordelijkenbekrachtigtdegoedkeuringvan deproductendieinhetonderdeel‘Eindoordeelenadvies’alsgereedaangemerktworden.Tevensontslaat hetdetestersvanhunverantwoordelijkhedenenverdertestwerk.
Opdracht3 Testenvansoftware
Raadpleegzonodigdetheorieoverhettestenvansoftware.
a. Welkezakenzijnvanbelangbijhettesten?
CONCEPT
b. Ishetmogelijkomnahettestentestellendatdesoftwarefoutlooswerkt?
c. Nietallesoftwaregebrekenzijnhetgevolgvanhetcoderenvanfouten.Watzoueenredenvanduregebreken aansoftwarekunnenzijn?
d. Waaromishetzowelefficiëntalseffectiefopzettenvaneentestzeerbelangrijk?
e. Watzijnstatischetesten?
f. Watisdynamischtesten?
g. Welkebenamingwordtookwelvoorwhite-box-testengebruikt?
h. Watwordtergetestmetwhite-box-testen?
i. Watwordter niet getestmetwhite-box-testen?
CONCEPT
j. Welkemethodenwordengebruiktbijwhite-box-testen?
k. Wattestjemeteenblack-box-test?
l. Wathoudtdeblack-box-testmethodeEquivalencepartitioningin?
m. Wathoudtdeblack-box-testmethodeBoundaryvalueanalysisin?
n. Wathoudtdeblack-box-testmethodeFuzz-testenin?
o. Wathoudtdeblack-box-testmethodeSpecificatiegebaseerdetestenin?
CONCEPT
p. Wathoudtdeblack-box-testmethodevisueeltestenin?
q. Watishetvoordeelvandeblack-box-testmethodevisueeltesten?
r. Metwelketestkunnenwehetbestetestenofsoftware-onderdelencorrectsamenwerken?
s. Watisfunctioneeltesten?
t. Watisniet-functioneeltesten?
u. Watisdestructieftesten?
CONCEPT
v. Opwelkepuntenkansecuritygetestworden?
w. Watisbottom-up-testen?
Blok6 Realiserenentesten
x. Watistop-down-testen?
y. Hoeisdecyclusvoorhettesteninhoofdlijnenopgezet?
CONCEPT
6.3
Begrippenlijst
Acceptatietest
Eentestomvasttestellenofdesoftwarevoldoetaandeeisenenwensenvandeopdrachtgever.
Assembleertaal
Eenlaag-niveauprogrammeertaaldienauwverbondenismetdearchitectuurvaneenspecifiekecomputerof processor.
Authenticatie
Deidentiteitvaneenpersoonmoetwordenbevestigd.
Autorisatie
Ermoetgetestwordenofeengebruikervaneenbepaaldedienstdezewelmaggebruiken.
Availability
Ermoeteenwaarborgvaninformatie-encommunicatiedienstenzijn.
Black-box-test
Eenvormvansoftwaretestenwaarbijdetestergeenkennisheeftvandeinternestructuur,logicaofbroncode vandesoftwarediewordtgetest.
Bottom-up-testen
Eenbenaderingvantestswaarbijmodules,proceduresenfunctiesalseerstewordengetest.
Boundaryvalueanalysis(grenswaarde-analyse)
Eensoftwaretesttechniekwaarbijalleendegrenswaardenineentestrangewordenopgenomen
Broncode-editor
Eenteksteditordieisontworpenvoorhetbewerkenvandebroncodevancomputerprogramma’s.
Bug
CONCEPT
Eenfout,defect,ofonverwachtgedragineencomputerprogrammaofsysteem.Bugsontstaanmeestalalsgevolg vanprogrammeerfouten,logischefouten,ontwerpproblemen,ofonvoorzieneomstandighedentijdensde ontwikkelingvansoftware.
Compatibel
Bijelkaarpassend;kunnenwerkenmetouderebestanden.
Compatibiliteitstest
Eentestwaarmeedematewaarinprogramma’sofsoftwaresamenwerkengemetenwordt.
Compiler
Eenprogrammadateeninbrontaalgeschrevenprogrammavertaaltineendoeltaal.
Continutesten
Hetuitvoerenvangeautomatiseerdetestsalsonderdeelvandesoftware-ontwikkeling.
Destructieftesten
Bijdestructieftestenprobeerjebewustfoutenteveroorzaken.
Documentatiegenerator
Eenprogrammawaarmeeautomatischdocumentatiegegenereerdkanwordenuitcommentaarindecode.
Dynamischtesten
Eenvormvansoftwaretestenwaarbijdesoftwarewordtuitgevoerdomhetgedrag,deprestatiesenandere kenmerkenervanteevalueren.
Equivalencepartitioning
Deinvoergegevensvaneensoftware-eenheidwordenindelenequivalentegegevens(gelijkegegevens)opgedeeld.
Opbasishiervanwordendetestcasesgemaakt.
Functioneeltesten
Hettestenvaneenspecifiekeactieoffunctievandeapplicatie.
Fuzz-testen
Eensoftwaretesttechniekdievaakautomatischofsemi-automatischwordtuitgevoerd.
Gray-box-testing
Eentussenvormtussenwhite-enblack-box-testen.Detestenwordenopgezetmetkennisvaninternedatastructuren enalgoritmen.
IntegratedDevelopmentEnvironments
Eensoftwaretoepassingdieprogrammeursondersteuntbijhetontwikkelenvansoftware.EenIDEbiedtvaakeen geïntegreerdesetvantools,functiesenfaciliteitendiehetontwikkelingsprocesvergemakkelijkenenverbeteren.
Linkeditor(linker)
Eenprogrammadatdooreencompilergegenereerdeobjectbestandencombineerttotéénuitvoerbaarbestand.
Machinecode
CONCEPT
Delaagsteprogrammeertaaldiedirectbegrepenwordtdoordehardwarevaneencomputer,metnamedeCentral ProcessingUnit(CPU).Hetbestaatuitbinairecodes,diebestaanuitreeksenvanenenennullendiede basisinstructiesvoordecomputervertegenwoordigen.
Non-repudiation
Inbepaaldesystemenishetvanbelangdaterkanwordengegarandeerddateenafzendereenberichtheeft verzondenendateenontvangerditberichtheeftontvangen.
Prestatietests
Testsdiedienenomtekijkenofdesoftwareblijftpresterenondereenbepaaldebelastingenonderbepaalde condities.
Regressietesten
Testendiedienenvoorhetvindenvandefectennadatereengrotecodewijzigingisdoorgevoerd.
Requirements
Gedetailleerdebeschrijvingenvanwateensysteem,productofdienstmoetkunnendoenomtevoldoenaande verwachtingenenbehoeftenvanbelanghebbenden.
Security-testen
Security-testenisessentieelvoorsoftwarewaarmeevertrouwelijkegegevensverwerktmoetenworden.
Sequentiediagram
EentypeUML-diagramdatdeinteractiesencommunicatietussenverschillendeobjectenineensysteemweergeeft. Hetlegtdesequentiëlevolgordevanberichtenofoproepentussenobjectenvastenbiedteenvisueleweergave vanhoeeenspecifiekscenarioofproceszichontvouwtbinneneensysteem.
Specificatiegebaseerdetest
Eentestdiebedoeldisomdefunctionaliteitvandesoftwaretetestenvolgensdegeldendeeisen.
Statischetesten
Eenvormvansoftwaretestenwaarbijdeevaluatievanhetsoftwareproductwordtuitgevoerdzonderhet daadwerkelijkuittevoeren.
Teksteditor
Eencomputerprogrammawaarmeeonopgemaaktedigitaletekstgemaaktenbewerktkanworden.
Testdocumentatie
Deverzamelingdocumentendiewordengemaakttijdenshettestprocesomverschillendeaspectenvandetests tedocumenteren.
Testplan
Eengedetailleerddocumentdatdeaanpakenhetoverzichtvanhettestprocesvooreenspecifiekprojectofeen specifiekesoftwaretoepassingbeschrijft.
Testscenario
Eengedetailleerdebeschrijvingvaneenspecifiekeinteractieofsituatiediewordtgebruiktomeenbepaaldaspect vaneensysteemtetesten.
Teststrategie
Eenalgemeenplandatdeaanpakenhetontwerpvoorhettestenvansoftwarebeschrijft.
CONCEPT
Top-down-testen
Eenbenaderingvantestswaarbijmodulesaandetopwordengetest.Elketakvandemodulewordtstapvoor staptotheteindevandebijbehorendemodulegetest.
Usability-test
Eentestnaarhetgebruiksgemakvandesoftware.
Versiebeheer
Eensysteemwaarmeewijzigingenindocumenten,broncode,softwareconfiguratiesofanderesoortenbestanden kunnenwordengevolgdengecontroleerdoverdetijd.
Versienummer
Eennummerdataangeeftwelkeversievaneenprogrammaisgeïnstalleerd.
Visueeltesten
Visueeltestenlaatzienopwelkpuntvandesoftwareeenstoringzichvoordoet.Hetdoelisomontwikkelaarste voorzienvanextrainformatieomtrenteenstoring.
White-box-testen
Eenvormvansoftwaretestenwaarbijdetestertoegangheefttotdeinternestructuurendebroncodevande software.
6.4 Praktijkopdrachten
Opdracht4 LibreOfficetesten
Dezeopdrachtvoerjeuitineengroepjevandrieofvierstudenten.JegaatopensourcesoftwareLibreOffice gebruikenomtetesten.DeopzetvoorhettestplanvoordeLibreOfficeishierondergegeven.
Opdracht:
• InstalleerLibreOfficeopéén(ofmeer)vanjulliepc’s.
• Neemonderstaandtestplanoverengeefinvullingaandevolgendepunten:
– Vuldevakkentussendevierkantehaakjes[]in;
– Voerdetestactiviteiten,genoemdonderhetkopje“Testactiviteiten”,uit;
– Realiseerdeonderdelenonderhetkopje“Testafsluiting”.
TestplanvoorLibreOffice
Projectgegevens:
• Projectnaam:LibreOfficeTest
• Versie:[VersievanLibreOfficediewordtgetest]
• Projectleider:[Naamvandeprojectleider]
• Datum:[Datumvanhettestplan]
Inleiding:DittestplanheefttotdoelhettestprocesvoorLibreOfficetedefiniërenenteorganiseren.LibreOffice iseenpopulaireopensourcekantoorsoftwaredietekstverwerking,spreadsheets,presentatiesenanderefuncties biedt.HettestenisgerichtophetwaarborgenvandekwaliteitenbetrouwbaarheidvanLibreOffice.
Doelstellingen:
1. Desoftwarefunctioneelenprestatiegerichttesten.
2. Bugsenfoutenidentificerenendocumenteren.
3. DenalevingvanLibreOfficemetstandaardenenspecificatiesvalideren.
CONCEPT
Testomgeving:
• Besturingssysteem:[VermeldhetbesturingssysteemwaaropLibreOfficewordtgetest,bijvoorbeeldWindows, Linux,macOS.]
• Hardwarevereisten:[Vermeldeventuelespecifiekehardwarevereisten.]
• Testomgeving:[Beschrijfwaardetestenwordenuitgevoerd,bijvoorbeeldopeentestserveroflokalemachines.]
Teststrategie:
• Functioneletests:TestdefunctionaliteitenvanLibreOffice,zoalstekstverwerking,spreadsheets,enpresentaties.
• Prestatietests:EvalueerdeprestatiesvanLibreOfficebijhetopenenenbewerkenvandocumenten.
• Compatibiliteitstests:Controleerdecompatibiliteitmetverschillendebesturingssystemenenbestandsformaten.
• Gebruiksvriendelijkheidstests:BeoordeeldebruikbaarheidengebruikersinterfacevanLibreOffice.
• Veiligheidstests:Identificeereventuelebeveiligingskwesties.
• Stabiliteitstests:TestdestabiliteitenbetrouwbaarheidvanLibreOfficebijlangduriggebruik.
Testactiviteiten:
1. OpstellenvantestcasesvoorelkfunctioneelgebiedvanLibreOffice.
2. Uitvoerenvandetestcasesendocumenterenvanresultaten.
3. Rapporterenvangeïdentificeerdebugsenfouten.
4. Heruitvoerenvantestsnabugfixes.
5. Documenterenvantestrapportenenbevindingen.
Testschema:
• [Vermeldhierhetgeplandetestschema,inclusiefdedataentijdstippenvantestactiviteiten.]
Verantwoordelijkheden:
• [Vermelddenamenvandepersonenofteamsdieverantwoordelijkzijnvoorverschillendetestactiviteiten, zoalstestcase-ontwikkeling,testuitvoering,enrapportage.]
Risico's:
• [Identificeerpotentiëlerisico'sdievaninvloedkunnenzijnophettestproces,zoalstijdgebrek,onverwachte technischeproblemen,enzovoort.]
Testafsluiting:
• Evaluatievantestresultatenenbevindingen.
• Opstellenvaneentestrapportmetsamenvatting,geïdentificeerdefoutenenaanbevelingen.
• Documentatievangeleerdelessenenverbeterpuntenvoortoekomstigetestprojecten.
CONCEPT
6.5 Terugblik
Opdracht5 Terugblik
Zeteenkruisjeindekolomdievoorjouvantoepassingis.
Beoordelingscriteria
Ja
Jekunthetrealiserenentestenvansoftwarevoorbereidendoordekeuzevandejuiste tools.
Jekunteenontwikkelomgevinginstallerenentesten.
Jekuntsoftwarefunctioneeltestenendaarverslagvandoen.
Jekuntversiebeheeropeencorrectewijzetoepassen.
Opdracht6 Terugblik
Denknaoverwatjehebtgedaaninditblok. a. Noemtweedingenwaaroverjetevredenbent.
1. 2.
b. Noemtweedingendiejedevolgendekeeranderswiltdoen.
1. 2.
CONCEPT
c. Vraagjedocenten/ofleermeesteromfeedback.
Tops:
Tips:
NeeCONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/c4429a1f23a5b9b165a3308b358e40ff.jpeg)
Blok7
Ingebruiknemenvansoftware
CONCEPT
Leerdoelen
• Jekuntdebelangrijkstewet-enregelgevingrondlicentiesopadequatemaniertoepassen.
• Jekuntbijdeopleveringvaneenproductdejuistepresentatietechniekentoepassen.
• JekuntdebelangrijksteprocessenuitApplicationServicesLibraryindejuistecontextplaatsen.
• JekuntbeoordelenofhetbeheervandatagebeurtconformdeAlgemeneVerordeningGegevensbeveiliging.
Alsdesoftwareovergaatvanontwikkelaarnaargebruikerstartdeimplementatiefase.Ditgebeurtopbasisvan overeenkomsttussenontwikkelaarenopdrachtgever.Hierinstaanafsprakenoverfunctionaliteit,testenen aansprakelijkheid.Onvoldoendetestenkanleidentotonverwachtekostenendeovereenkomstbepaaltwie verantwoordelijkisnaacceptatie.Hetisvanbelangomgrondigtetesten.Deimplementatietestiscruciaalvoor allebetrokkenpartijenenvormteenintegraalonderdeelvandeimplementatie.
Opdracht1 OriëntatieopdrachtIngebruiknemenvansoftware
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/fdad1ff03394646bdddfcc13d48c5e69.jpeg)
InhetRacketcentrumstaateenautomaatwaarpadellerseenpadelracketkunnenhuren.Omeenrackettehuren moetdepadellergeregistreerdzijn.Depadellermeldtzichmetzijnbankpasbijhetautomaat.Alsdepadeller bekendisinhetsysteem,kanhijeenracketkiezenenvervolgensbetalenmetzijnpas.Gaatditgoed,danrolter eenracketuitdeautomaat.
Beschrijfdevolgendesenario'sdiekunnenspelenbijditautomaat.
• scenario1.Klantneemtracketaf
• scenario2.Klantheeftonvoldoendesaldo
• scenario3.Geenpapierinprinter
• scenario4.Racketnietvoorradiginautomaat
CONCEPT
7.1 Implementatie
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/fe4085e8d07534fedc6cc20dd6079457.jpeg)
Deimplementatieishetmomentwaarophetsysteeminproductie wordtgenomen.Degebruikersgaanmethetsysteemwerken:het systeemgaatlive. Implementerenwordtvaakgedaandooreenspecialist.Bij implementerenwordendanookanderecompetentiesgevraagddan bijhetprogrammeren.Bijimplementerenligtdenadrukveelmeer opdeorganisatiedanoptechniek.Deimplementatiekentde volgendeactiviteiten:
Figuur 7.1Blok7 Ingebruiknemen
• plannenenorganiserenvanalleactiviteiten;
• testen;
• compleetmakenvansysteem-engebruikersdocumentatie;
• motiverenvangebruikers;
• startgegevensinhetsysteeminvoeren;
• ‘kinderziekten’enopstartproblemenbegeleiden;
• hetproductiesysteemvullenmetstartgegevens;
• evaluerenvandeimplementatie.
Plannenenorganiseren
Organiserenishetjuistencompleetbenoemenvanalleactiviteiten.Dezeactiviteitenmoetenwordengekoppeld aan(groepen)medewerkers.Welkemedewerkersmoetengeïnstrueerdengemotiveerdworden?Natuurlijkmoet iedereenzijndeelvandetaakgoedkunnenuitvoerenendebenodigdematerialenmoetenwordengeregeld. Plannenisactiviteitenzodaniguitzettenindetoekomstdatjenaareengo-live-datumtoewerkt.Eenplanning kanenkeledagen,wekenofmaandenbetreffen.Deplanningisbelangrijkvoorallebetrokkenen.Zekerde opdrachtgeverwilwetenwanneerzijnorganisatiemetdeapplicatiekanwerken.Tijdenshetuitvoerenvande acceptatietesthoudjetoezichtopdevoortgangvanactiviteiteninrelatietotdeplanning.Waarnodigstuurjebij eninformeerjedeopdrachtgeverendeoverigebetrokkenen.Eenplanninghalenisheelbelangrijk,maarvaak nieteenvoudig.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/cfe019df0772dbde454b7fa30c8f28bf.jpeg)
Testen
CONCEPT
Testeniscontrolerenofhetsysteemdoetwatisbeloofd.Detechnischetestenhebbenalplaatsgevondenineen eerderefasevandeontwikkelingvandeapplicatie. Nugaathethoofdzakelijkomfunctionaliteit.Hetresultaatvantechnischetestenisdatdesoftwaretechnisch werkt.Deerrorszijnverholpen,desoftwarelijkttewerkenendesnelheid(performance)isvoldoende.Defouten diekondenwordenvoorzienzijngetestenopgelost.Defunctioneletest(werkthetsysteemofonderdeelzoals hetisontworpen?)isuitgevoerd.Waarnodigzijnernogaanpassingengedaan.Dankomteenbelangrijkmoment: accepterendegebruikershetsysteemopbasisvandefunctiesenprestaties?
Figuur 7.2 PlanningCompleetmakenvansysteem-engebruikersdocumentatie
Ophetmomentdatdeapplicatiewordtgebruikt,moetendegebruikersentechnischmedewerkersantwoorden ophunvragenkunnenopzoeken.Hetkomttevaakvoordatgebruikersdocumentatietelaatafis.Indiegevallen blijftallekennisbeperkttotdehoofdenvanontwikkelaars,wateenrisicovormtvoordebedrijfsvoering.
Motiverenvangebruikers
Eensysteemwerktpasgoedalsdegebruikerstevredenzijn.Cursussen,nettedocumentatieenproblemenen wensenverwerkenzullenhierbijeenbijdrageleveren.Demeestegebruikershebbenweerstandtegeneennieuw ofaangepastsysteemenheneennieuwsysteemlatenaccepterenvraagtveelinspanning.
Startgegevensinhetsysteeminvoeren
Zolanghetsysteemwordtgebouwd,ishetgevuldmettestgegevens.Ophetgo-live-momentmoethetsysteem gevuldzijnmetderealtime-gegevens.Alsdegegevensnietup-to-datezijn,wordeniederprobleemeniedere kinderziekteuitvergroot,watdeacceptatievaneensysteemvermindert.
Kinderziektenenopstartproblemenbegeleiden
Demeestkritischefaseisdeperiodedirectnahetgo-live-moment.Tijdensheteerstegebruikkomenproblemen aanhetlichtdiezosnelmogelijkmoetenwordenopgelost.Iedersysteemdatnieuwingebruikwordtgenomen, zalproblemenkennendieniemandheeftvoorzien.Eriseenbepaaldehoeveelheidtegenslagendiedoorde gebruikerzalwordengeaccepteerd,maardiefoutenmoetenwelsnelenzichtbaarwordenopgelost.
‘BigBang’ofschaduwdraaien
Omeennieuwsysteemingebruiktenemenzijnertweeuitersten.DeeersteisdeBigBang,waarbijhetoude systeeminéénkeerwordtvervangendoorhetnieuwe.Hetnieuwesysteemwordtdirectingebruikgenomenen hetoudesysteemwordtgestopt.Meestalwordtdeconversievanhetoudenaarhetnieuwesysteemineen weekendgedaan.Degebruikerswordenhiervanvoorafopdehoogtegesteldenalsallesgoedgaat,startenze opmaandagmethetnieuwesysteem.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/0071cdb204a1f090e9c91c3af8ac4516.jpeg)
CONCEPT
Bijschaduwdraaiendraaienhetoudeennieuwesysteemgedurendeeenbepaaldetijdnaastelkaar.Afhankelijk vandeomvangencomplexiteitvanhetsysteemkanditdagen,wekenofmaandenduren.Indeperiodevan schaduwdraaienwordenbeidesystemennaastelkaargebruikt.
Figuur 7.3 Big Bang![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/ac7fdfcbfb7325707bdfe89297f75fab.jpeg)
Figuur 7.4 Schaduwdraaien
VaakwordtereentussenvormgebruikttussendeBig-Bang-methodeenschaduwdraaien.Ditnoemenweeen gefaseerdeovergang.Bijeengefaseerdeovergangwordthetnieuwesysteempermoduleopgeleverd.Elkemodule wordtdanmeteenBigBangingebruikgenomen.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/8791d1cbeb331bfb252deeb2e2374d94.jpeg)
Figuur 7.5 Tussenvorm Big-Bang-methode en schaduwdraaien
CONCEPT
VoordelenvandeBigBang-methodezijndelagekostenenhetfeitdatersprakeisvanmaaréénwerkwijze.Het nadeelisdateventuelekinderziektengrotegevolgenkunnenhebbenvoordebedrijfsvoering. Eenvoordeelvanschaduwdraaienisdateventuelekinderziektenweiniggevolgenhebbenvoordebedrijfsvoering. Nadelenzijndehogerekostenenhetdubbelewerkombeidesystemensynchroontelatenlopen.
Acceptatietest
Bijdeimplementatievansoftwarevindteenacceptatietestplaats.Hetdoelhiervanisvaststellenofdesoftware voldoetaandeeisenenwensenvandeopdrachtgever.Datdoejedoordeopgeleverdeapplicatiesystematisch tetestenentebeoordelen.Deconclusiezoumoetenzijndatdesoftwaregeschiktisvoorbedrijfsmatige ingebruikname.Daaromwordtafgesprokenbinneneenbepaaldetijd,conformvoorafvastgelegdeeisen,de applicatietetesten.
Hetresultaatvaneenacceptatietestmoetzijndatdegebruikersakkoordgaanmetdesoftwarezoalsdieopdat momentwerkt.Alsmenwildatdesoftwareandersmoetwerken,danmoethetontwerpwordenherzienenzet meneengrotestapteruginhetontwikkeltraject. Deacceptatietestvergelijktheteindresultaatvanhetontwikkelprocesmetdehuidigebehoeftenvandegebruikers. Eriseenkansdatmeninmiddelstotnieuweinzichtenisgekomen.Deoorspronkelijkgeformuleerdefunctionele eisenlopendanachterbijdehuidigevraag.Voordeontwikkelaarishetbelangrijkonderscheidtemakentussen onvolkomenhedenennieuweofgewijzigdefunctioneleeisen.Alsleveranciervandesoftwarezuljede onvolkomenhedenmoetenherstellen.Nieuweofgewijzigdefunctioneleeisenzuljealsmeerwerkaanbiedenom terealiseren.Eengoedopgezetteacceptatietestisdanookergbelangrijk.
Deacceptatietestwordtgebruiktomdevolgendezakentetesten:
• deconversie(procedure)waarmeejehetbestaandesysteemuiteindelijkzultoverzettenopdenieuwesoftware;
• dedocumentatievoorbeheerdersengebruikers;
• defunctionaliteitvanhetnieuwesysteem:jemoetalleaspectenvangedragenresultatenbeoordelenzoals zezijnovereengekomenindespecificaties;wordtinallerequirementsvoorzien?
• degebruiksvriendelijkheid;
• ofdeperformancevoldoetaandeminimumvoorwaardenvolgensdeovereengekomensysteemeisen;
• deproceduresvoorhandmatigewerkzaamheden;
• inhoeverredesoftwarevoldoetaankwaliteitsgarantieszoalsovereengekomen;
• koppelingenmetandereinformatiesystemen;
• robuustheid.
Meteenacceptatietestbeginjenadat:
• alleconversieszijnuitgevoerdensysteemkoppelingentotstandzijngebracht;
• alledocumentatiebeschikbaaris;
• deontwikkelingvandesoftwarevolledigisafgerond;
• desoftwarevanvoldoendekwaliteitis;
• desoftwarevolledigisopgeleverdengeïnstalleerd;
• ereensysteemtestisuitgevoerd.
Globaalkunjeeenacceptatietestalsvolgtopzetten:
• opstellenvaneentestplan;
• inrichtenvandetestomgeving;
• makenvantestscenario’softestcases;
• inrichtenvaneenadministratieveorganisatievoorhetverzamelenenadministrerenvantestresultaten;
• uitvoerenvandeacceptatietest;
• resultatenvandetestrapporteren.
Eentestplanopstellen
CONCEPT
Hettestplanisdeorganisatievandetest.DeeerdergebruiktezesW’szijnweervantoepassing:wie,wat,wanneer, welkemanier,waarenwaarom.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/c257c266f174936611044d3a087609e7.jpeg)
7.6 Testplan opstellen
Eentestplankandevolgendehoofdstukkenbevatten:
1.Inleiding
2.Opdrachtformulering(waarom)
3.Rapportage
4.Organisatie
4.1.Afbakening(wat)
4.2.Takenenverantwoordelijkheden(wieopwelkemanier)
4.3.Overzichtproducten,kwaliteitseisenenstopcriteria(wat)
4.4.Documentatie
4.5.Testomgeving(waar)
4.6.Versiebeheer
4.7.Planning(wanneer)
Detestomgevinginrichten
Deacceptatietestwordtineenrelatiefkorteperiodeuitgevoerd.Daaromishetbelangrijkomallesgoedvoorte bereiden.Devolgendestappenzijndaarinbelangrijk:
• Richtdetestomgevingoptijdin.Hetbeschikbaarmaken/hebbenvanhardware,software,documentatie, licentiesenwerkruimteishierbijdekern.Zorgdatdemedewerkerstijdigbeschikkenoverde gebruikershandleidingendefunctionelespecificatiesvandetetestensoftware.
• Informeerdemedewerkersdieaandeacceptatietestdeelnemenvantevoren.
• Medewerkersdiedetestgaanuitvoeren,moetenvooraanvangvandetestvoldoendebasisvaardigheden hebbenmethetoperatingsystemendeuserinterface.Zemoetendenieuweomgevingtestenennietallerlei zakendieerniettoedoen.
Testscenario’softestcasesmaken
Testcase
CONCEPT
Eentestcaseiseengedetailleerdebeschrijvingvandestappendiemoetenwordengenomentijdenshettesten. Hetverwachteresultaatmoetzijnbeschrevenenvandetestuitkomstmoetwordenvastgelegdofdezeaande verwachtingvoldoet.Bijdetoepassingvaneentestcaseishetdocumenterenvanderesultatenheelbelangrijk. Hetvoordeelvantestcasesschrijvenmetzoveeldetailsisdatdeontwikkelaarsaltijdenshetschrijvenvandetest scherpwordengehoudenopdefunctionaliteitvandesoftware.Eenandervoordeelisdateventuelebugsheel eenvoudigzijnterugtevindendoordetestcasenatespelen.Welkostdezemaniervantestenergveeltijd,waardoor hijkostbaaris.
Testscenario
Hettestscenarioiseentestconceptwaarbijinenkeleregelswordtbeschrevenwatdetetestenonderdelenzijn. Bijtestscenario’sgaatheteromdatdetesterszelfnadenkeneneventueeldetailsmetdeontwikkelaarbespreken. Dezemaniervantestenkostveelmindertijddantestcases,zowelbijhetschrijvenvanhetscenarioalstijdens hetuitvoerenvandetest.Tijdenshettesten,zekerbijuitgebreideomgevingen,zullendeverschillendetesters ideeënuitwisselen.Hierdoorontstaatruimteommetvoorstellentekomentotaanpassingenverbeteringvande verschillendemodules.Hetnadeelisdatalleeninhoudelijkdeskundigendetestscenario’skunnenuitvoeren.Om detesttekunnenuitvoeren,moetjewetenwaarhetovergaat.Jemoetbekendzijnmethetproductieproces waarvoordesoftwareisontwikkeld.
Methetschrijvenvantestscenario’s(gebruikershandelingen)entestsets(data)kunjealbeginnenzodrade functionelespecificatiesbeschikbaarzijn.Wachtjemethetschrijvenvandetestscenario’stothetlaatstemoment, danloopjekansdatjezakengaatvergeten.
Zoweltestcasesalstestscenario’skunneneenvoudigwordenopgezetopbasisvanhetuse-case-diagramende use-case-tabellen.
Voorbeeldwebshop
Alsvoorbeelduitdewebshophetonderdeelwinkelwagen.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/8c5f75b3dc8960bfa89ae3b0b1a09fb6.jpeg)
Figuur 7.7 Use-case-diagram webshop
Bijeentestcasemoetelkeactiviteituithetuse-case-diagramzijnuitgewerktineenuse-case-tabel.
Naam
Versie
Actor
CONCEPT
Artikeltoevoegen–Winkelwagen
1.0
Klant
Preconditie
Beschrijving
Uitzonderingen
Niet-functioneleeisen
Postconditie
Webshopisonline
1 Klantkiestartikel
a.Kiesartikel
b.Geefspecificatiesop(maat,kleurenzovoort)
c.Kiesaantal
d.Kiestoevoegenwinkelwagen
2 Klantkiestartikelwaarvanonvoldoendeinvoorraadis
a.Kiesartikel
b.Geefspecificatiesop(maat,kleurenzovoort)
c.Kiesaantal
d.Kiestoevoegenwinkelwagen
e.Systeemmeldtonvoldoendevoorraad,kiesaantal
f.Scenariovanafc
Eentransactiemoetookopsmartphonezijnuittevoeren
Klantheeftzijnbestellinggeplaatstenkanovergaantotafrekenen
Debeschrijvingenallemogelijkeuitzonderingenmoetengetestworden.Eentestopzetzouerdanalsvolgtuit kunnenzien:
Artikeltoevoegen–Winkelwagen
Tester:
Datum:
Systeemstaatklaar,winkelwagenstaatopenophetscherm
Handeling
Kiesuitdewebshophetartikelharkvan hetmerkSkillsdooreropteklikken
Kiesvooraantal1enalskleurrood
KiesvoordeoptieOK
KiesvoordeoptieVerderwinkelen
Kiesuitdewebshophetartikelschoffel vanhetmerkSkillsdooreropteklikken
Kiesvooraantal12enalskleurrood
Kiesvooraantal1
CONCEPT
KiesvoordeoptieOK
KiesvoordeoptieVerderwinkelen
Enzovoort
Verwachtresultaat
Pop-upschermmetKeuzekleuren Keuzeaantalverschijnt
BevestigingsschermmetAantal=1en Kleur=roodverschijnt.Daaropde keuzeoptieOKofAnnuleren
Bevestigingvanaankoopin winkelwagenverschijnt.Keuzevoor VerderwinkelenofAfrekenen
Systeemstaatklaar,winkelwagenstaat openophetscherm
Pop-up-schermmetKeuzekleuren Keuzeaantalverschijnt
BevestigingsschermmetOnvoldoende aantalinvoorraadverschijnt.Daarop keuzeoptieKiesanderaantal
BevestigingsschermmetAantal=1en Kleur=roodverschijnt.Daaropde keuzeoptieOKofAnnuleren
Bevestigingvanaankoopin winkelwagenverschijnt.Keuzevoor VerderwinkelenofAfrekenen
Systeemstaatklaar,winkelwagenstaat openophetscherm
Opmerking J/N
Elkemogelijkcombinatievanhandelingenmoetwordengetestendusookindetestcasewordenopgenomen.
Bijeentestscenariogaanweookuitvanhetuse-case-diagram.Alsvoorbeeldgebruikenweweerhetvoorbeeld vandewebshop.Daarvanweetjeinmiddelswathetbetekentenwatdefunctieszijnzodatjeookbeterkunt overzienwaterallemaalgetestkan/moetworden.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/8c5f75b3dc8960bfa89ae3b0b1a09fb6.jpeg)
Figuur 7.8 Use-case-diagram webshop
Detesterkrijgtalstestscenario:bestudeerdeusecase,probeerzoveelmogelijkoptiesuitomdewinkelwagente testen.Hetisaandetester(s)omtekijkenofallesnaarbehorenwerkteneventuelefoutenterugtekoppelenaan deontwikkelaars.Erwordtnietvanelkehandelingvastgelegdofdezenaarbehorenwerkt,hetgaatomhetgrote geheel.
Detoepassingvantestcaseswordenineenhoogtempovervangendoordetoepassingvantestscenario’s,mede onderinvloedvandeAgile-achtigeontwikkelmethodieken.
CONCEPT
Eenadministratieveorganisatieinrichten
Voorhetverzamelenenadministrerenvantestresultatenrichtjeeenadministratieveorganisatiein.
Bijhetuitvoerenvandeacceptatietestkunnenerfoutenenonvolkomenhedenwordenaangetroffen.Bijelkefout diezichvoordoetishetbelangrijkdaterwordtnagegaanofdefoutdevoortgangvandeacceptatietestkan belemmeren.Detestperiodekanwordenonderbrokentotdatdesoftwarezodanigisaangepastdatdeacceptatietest ongehinderddoorkangaan.Erkanookwordenbeslistdaterhelemaalopnieuwwordtgestartmetdetest.Fouten enonvolkomenhedenmoetenzorgvuldigengedetailleerdgeadministreerdworden.Wordtditnagelaten,dan kunnenerallerleiclaimsvolgendiemogelijkveelgeldgaankosten.
Onderdelendieinhettestrapportopgenomenmoetenwordenzijn:
• deversievandesoftwaredieisgetest;
• hettest-scenariodatisuitgevoerd;
• debegintoestandvandedatabaseen/ofdeapplicatie;
• detestgegevensdiezijngebruikt;
• hetwaargenomengedragvandesoftware;
• hetteverwachtengedragvandesoftware;
• deafwijkingtussenwaargenomengedragenhetverwachtegedrag;
• hoedefoutgereproduceerdkanworden;
• demogelijkeoorzakenvandefout;
• wateralgedaanisomdefoutteachterhalen;
Vaakzullendetestresultatenineentabelachtigestructuurwordenverwerkt.Hetisdanooknietzodatelkvan dezepunteneenapartonderdeelvormtinhettestresultatenoverzicht.
Deacceptatietestuitvoeren
Hetaspectvandereproduceerbaarheidvandefoutisvangrootbelang.Hetonderzoekenvaneen niet-reproduceerbarefoutkanheelveeltijdkosten.Desoftware-leverancierzaldaaromreproduceerbare testresultatenwillenenditzomogelijkookeisen.Deopdrachtgeverzalwillendatookniet-reproduceerbare foutenonderzochtenhersteldworden.Niet-reproduceerbarefoutenzijndanookeenbronvanconflictentussen leverancierenopdrachtgever.
Daarommoeteenacceptatietestzodanigzijnopgezetenuitgevoerddattenminstedetestresultaten reproduceerbaarzijn.Indepraktijkzullendandemeestefoutenreproduceerbaarblijkentezijn.
Naastconcretefoutenmoetenookkleineschoonheidsfoutenenandereongemakkengeregistreerdworden.Deze verbeterenkaneenonderdeelvanhetcontractzijnofkanalsmeerwerkinrekeningwordengebracht.
Bepalendvoordeacceptatieisofdeaangetroffenfoutenindewegstaanbijhetingebruiknemenvanhetsysteem.
Depraktijkleertdatkleinefoutenenonvolkomenhedenooknaacceptatie,inhetkadervaneengarantieregeling, wordenhersteld.
Resultatenvandetestrapporteren
Bijvoorkeurvoordelaatstedagvandeovereengekomentestperiodeleverjeeenschriftelijkengedetailleerd testrapportop.Eentestrapportkandevolgendehoofdstukkenbevatten:
• Inleiding
• Beschrijvingtestobjecten
• Uitvoeringtestplan
• Conclusiesenaanbevelingen
• Eindoordeelenadvies
• Akkoordmanagement
Testplan
CONCEPT
InBlok6bijTestenvansoftwareisaleenkeerhettestplanvoordetechnischetestenbeschreven.Deacceptatietest wijkthierietsvanafomdatwehiertemakenhebbenmeteenandertypetesters.Nugaanwetestenmetgebruikers vandesoftware.
Inleiding
Indeinleidinggeefjeeenkortemanagementsamenvattingvandetest.Destatusvanhettestplanwordtvermeld, ditkaneenconceptzijnofhetdefinitieveplan.
Opdrachtformulering
Indeopdrachtformuleringwordendetestopdrachtendedoelstellingenvandetestbeschreven.
Rapportage
• Ermoetwordenbeschrevenaanwiewordtgerapporteerd.Datkanzijndeprojectleider,detestcoördinator en/ofdeopdrachtgever.
• Ermoetwordenbeschrevenwaaruitdegewensteinformatiebestaat.Datkanzijndevoortgang,de probleemmeldingenen/oftijdverantwoording.
• Ermoetwordenbeschrevendoorwiewordtgerapporteerd.Datkanzijndeprojectleideren/ofde testcoördinator.
• Defrequentievanrapporterenwordtvermeld.
Organisatie
Afbakening
Eriseenkortebeschrijvingvanhettetestensysteemendetestomgeving.Handigkanzijnomhierde use-case-diagrammenenuse-case-tabellenoptenemenwaaropgetestwordt.Daarnaastmoeterzijnbeschreven waaropgetestwordtenhoegetestwordt.Bijvoorkeurdeeljehetsysteemopintestbaremoduleszoalsdieinde use-case-diagrammenzijnteherkennen.Eenafzonderlijktestontwerpmoetvooralniettegrootzijn.
Taken en verantwoordelijkheden
Detakenenverantwoordelijkhedenwordenhiervastgesteldentoegewezen.Doorwiewordtwelketestuitgevoerd, wieheeftdeleiding,wieverwerktdewijzigingsvoorstellen?
Overzicht producten, kwaliteitseisen en stopcriteria
Hiervolgteenopsommingvanproductendiegetestgaanwordenmetdaaraangekoppelddekwaliteitseisenen stopcriteria.
Documentatie
Inhettestdossiermoetwordengedefinieerdwelkedocumentenwelwordenopgenomenenwelkeniet.
Testomgeving
Detestomgevingmoetgedefinieerdworden.Bijvoorkeurbeschiktelkeindividueletesterovereeneigen testomgeving.
Versiebeheer
Hetversiebeheerisbijhettestenergbelangrijk.Allesmoetondubbelzinnigvaststaan.Alletestwerkzaamheden zulleneensamenhanghebbenenindeloopvaneenprojectkunnennieuweversiesontstaanvandespecificaties, tetestenproductenentestproducten.Versiebeheerisessentieelomgefundeerdeuitsprakentekunnendoen overdekwaliteitvaneengetestproduct.
• Welkeversiesbestaanervandespecificatieswaaropgetestwordt?
• Welkeversiesbestaanervandetetestenproducten?
CONCEPT
• Waarbevindenzichdeverschillendeversies?
• Welkeversievanhettetestenproductisgetestenmetwelketestproduct?
Planning
Decompletetestwordtvoorafgepland.Deplanningvanhettestprocesisafhankelijkvandeplanningvanhet projectalsgeheel.Debenodigdecapaciteitenmiddelenmoetentegendeactiviteitenwordenafgezet.Opbasis hiervankandedoorlooptijdberekendwordenenkunnendeopleverdatawordengepland.
Bijhetopstellenvandeplanningwordtonderandererekeninggehoudenmet:
• devolgordewaarin(gewijzigde)delenvanhetsysteembeschikbaarkomen;
• deonderlingesamenhangvanfuncties;
• hetteverwachtenaantalhertesten;
• deprioriteitdieeendeelvanhetsysteemkanhebben.
Testformulier
Hettestformulieruitdeacceptatietestisinhetgevalvaneentestcaseandersdanbijdetoepassingvaneen testscenario.Inbeidegevallenisereentestformuliervoorelkonderdeeldatgetestmoetworden.
Testformuliertestcase
Inhetgevalvaneentestcasehebjeminimaaldevolgendegegevensnodig:
<Naamtetestenonderdeel>
Tester:
Datum:
Preconditie
<Hierbeschrijfjehetuitgangspuntvandetest.Dathoeftnieteenheeluitgebreidverhaaltezijn,maarermag geenonduidelijkheidoverbestaan.>
Handeling
Handeling1
<Hierbeschrijfjeexactwelke handelingendetestermoetuitvoeren.
Jemagnieteenheleseriehandelingen combineren,omdaterdan onduidelijkheidontstaatovereen eventueeloptredendebug.>
Verwachtresultaat
<Hierbeschrijfjehetteverwachten resultaat.Ditmoetzonauwkeurig mogelijkzijnomschrevenzodatergeen onduidelijkheidoverkanbestaan.>
Handeling2
Handeling3
Handelingx
Testformuliertestscenario
Inhetgevalvaneentestscenarioziethettestformuliererietsandersuit:
CONCEPT
<Naamtetestenonderdeel>
Tester:
Datum:
Testscenario
Opmerking J/N
<Dezekolommenzijnvoorde tester.Dezegaathier aangevenofhetresultaat overeenkomtmethette verwachtenresultaat. Wanneererafwijkingen optreden,kandetestereen toelichtinggeven.>
<Hierstaatdetestopdrachtvoordetester,hettestscenario.Inéénofmaximaaleenpaarregelswordthier beschrevenwatergetestmoetworden.>
Testresultaat
<Dezeruimteisgereserveerdvoorhetcommentaarvandetester.Dezemoetzijntestervaringeneventuele suggestiestotverbeteringhierbeschrijven.>
Testrapport
Inhettestrapportofineenbegeleidendebriefkomteenconclusiewaarinwordtaangegevenofdegeleverde softwaregeaccepteerdwordt.Erkannatuurlijkookwordenopgegevendatherstelvanfoutenenonvolkomenheden wordtverlangd.Nietalleaangetoondefoutenzijndeverantwoordelijkheidvandeleverancier.Hetisdenkbaar datbepaaldefoutenveroorzaaktwordendoorfouteninhardwareofsoftwarevanderden.Deleverancierzalde verantwoordelijkheidvoorhetonderzoekenherstelvandergelijkefoutenwillenuitsluiteninzijnalgemene voorwaarden.
Deresultatenvantestenmoetenwordenteruggekoppeldnaardeapplicatie-ontwikkelaar.Wanneerjederesultaten vandeverschillendetestengoedwiltkunnenvergelijken,iseenstandaarduitvoeringvandetestrapportage belangrijk.
Eentestrapportbestaatuiteenaantalverplichtehoofdstukken.Alservooreenbepaaldhoofdstukgeen rapportage-inhoudaanwezigis,danmoethethoofdstuktochwordenopgenomen,zodatbekendiswaaromdat hoofdstuknietverderisuitgewerkt.
Doormiddelvanhettestrapportleggendetestersverantwoordingafoverdewerkzaamhedendiezijhebben verricht.Eentestrapportkanuitdevolgendehoofdstukkenbestaan:
Inleiding
Indeinleidingwordteenkortemanagementsamenvattinggegevenvandeuitgevoerdetest.
Beschrijvingtestobjecten
Hierwordtaangegevenwelkeproductengetestworden,welkefunctiedezeproductenhebbenenomwelkereden zeindetestbetrokkenzijn.
Uitvoeringtestplan
Hierbeschrijfjeofhettestplanvollediguitgevoerdkonworden.Alsdatnietkon,moethierderedenvande afwijkingwordenopgenomen.Perteststapuithettestplanmoetaangegevenwordenwat,wiedeteststapheeft uitgevoerd,omwelkeactiviteithetgaatenomwelkdeel(module)vandeapplicatiehetgaat.
Daarinstaat:
• welkefoutenenonvolkomenhedenindesoftwareaangetroffenzijn;
• welkefoutenenonvolkomenhedendeacceptatieindewegzullenstaan;
• welkefunctionaliteitnognietzijngetestalsgevolgvanaangetroffenfouten.
Categorieënvanonvolkomenhedendiejeineentestrapporttegenkomtzijn:
• ernstigefoutendiedevoortgangvandeacceptatietesthebbenbelemmerd;
• foutendieacceptatieindewegstaan;
• foutenenonvolkomenhedendieinhetkadervaneengarantieregelinghersteldofverbeterdmoetenworden nadatdesoftwareisgeaccepteerd;
CONCEPT
• schoonheidsfoutenenongemakkendievoorverbeteringinaanmerkingkomen.
Conclusiesenaanbevelingen
Aandehandvanderesultatenwordeninhetkortdebelangrijksteconclusiesenaanbevelingenbeschreven. Welkeconclusieswordenerverbondenaandegetesteomgeving?
Eindoordeelenadvies
Ermoetwordenbeschrevenwatdealgemeneindrukvanhetopgeleverdeproductisenofeenaanvaardbaar niveauvankwaliteitbereiktis.Wanneerermeerderemoduleszijngetestmoetereenopsommingkomenvan productendieinproductiegenomenkunnenwordenenvanproductendie(nog)nietgereedzijn.
Akkoordmanagement
Hetondertekenenendaterenvanhettestrapportdoorverantwoordelijkenbekrachtigtdegoedkeuringvande productendieinhethoofdstuk‘Eindoordeelenadvies’alsgereedaangemerktworden.Tevensontslaathetde testersvanhunverantwoordelijkhedenenverdertestwerk.
Opdracht2 Implementatie
RaadpleegzonodigdetheorieoverImplementatie.
a. Uitwelkestappenzaleengemiddeldeimplementatiebestaan?
b. Watwilhetbegripimplementatiezeggen?
c. Watverstaanweonderorganiserenvandeimplementatie?
d. Watverstaanweonderplannenvandeimplementatie?
e. Watishethoofddoelvandeacceptatietest?
f. Watishetbelangvanhetcompleetmakenvandedocumentatie?
g. Waaromzoujebijeenacceptatietestgebruikersmoetenmotiveren?
h. Wanneerwordendestartgegevensinhetsysteemingevoerd?
i. Wanneertredendekinderziektenop?
Opdracht3 Ingebruiknameapplicatie
RaadpleegzonodigdetheorieoverImplementatie.
a. Welketweeuiterstenzijneromeennieuwsysteemingebruiktenemen?
b. WatishetvoordeelvanhetingebruiknemenvaneenapplicatieopbasisvandeBig-Bang-methode?
c. WatishetnadeelvanhetingebruiknemenvaneenapplicatieopbasisvandeBig-Bang-methode?
d. Watishetvoordeelvanhetingebruiknemenvaneenapplicatieopbasisvanschaduwdraaien?
e. Watzijndenadelenvanhetingebruiknemenvaneenapplicatieopbasisvanschaduwdraaien?
f. Watzouhetresultaatvandeacceptatietestmoetenzijn?
g. Watkunjetestenmetdeacceptatietest?
CONCEPT
h. Wanneerstarteenacceptatietest?
i. Watisdeglobaleopzetvaneenacceptatietest?
Opdracht4 Testcase
RaadpleegzonodigdetheorieoverImplementatie.
a. Watiseentestcase?
b. Watiseentestscenario?
c. Watzijndevoordelenvaneentestcase?
CONCEPT
d. Watishetnadeelvaneentestcase?
e. Watzijndevoordelenvaneentestscenario?
f. Watiseennadeelvaneentestscenario?
g. Welkeonderdelenzoudeninhettestrapportopgenomenmoetenworden?
h. Waaromishetaspectvandereproduceerbaarheidvanfoutenvangrootbelang?
i. Watisbepalendvoordeacceptatie?
7.2 Productpresenteren
Voorbereidenvandepresentatie
Bepaaljedoelgroepenhetdoelvandepresentatie
CONCEPT
Voorwiegajepresenteren?GaathetomgebruikerszonderkennisvanICTofgaathetombeheerders?Door duidelijkinbeeldtebrengenwiedetoehoorderszijn,kunjedepresentatiemaximaalafstemmenophetniveau vanjepubliek.
Houdhetsimpel:concentreerjeopjekernboodschap
Gabijhetvoorbereidenvanjepresentatieuitvandevraag:‘Watisdebelangrijksteboodschap?’Jemoetinstaat zijnomdiebelangrijkeboodschapheelcompactovertebrengen.Alleswatnietbijdraagtaandeboodschaplaat jeweg.
Handigisomnaastjepresentatieeen‘elevatorpitch’temaken:dekernvanjeboodschapin15tot30seconden. Doordezegoedparaattehebbenzitjegoedindekernvanjeboodschapenzuljejezekervoelen.
Startsterk
Hetbeginvandepresentatieiscruciaal.Deaandachtvanhetpubliekgrijpenenvasthoudenvaltofstaatmeteen sterkbegin.Eengoedeopeningkanopheelveelverschillendemanieren.Zorgervoordathetiniedergevalte makenheeftmethetdoelvandepresentatie.Veelgebruiktemanierenomeenpresentatietebeginnenismeteen actualiteit,eenanekdote,eencitaat,humorofeenmetafoor.
Verteleenverhaal
Mensenreagerenopverhalen.Verhalenhelpenonsomaandachtopeenonderwerpterichten.Ookhelpenverhalen bijhetonthoudenvanzaken.Alsjesoftwareoplevert,kunjedatdoenaandehandvaneenverhaal.
Maakeenscenariovoordeverschillendegebruikersvandeapplicatie.Eenbijkomendvoordeelhiervanisdateen verhaalhetookmakkelijkermaaktomeenlijnindepresentatieaantebrengen.
Sluitgoedaf
Watjehetlaatstzegt,ligtversinhetgeheugen.Jekanopverschillendemanierenafsluiten,maarinallegevallen hebjevooreenafsluitingveelmindertijddanvooreenopening.Jekuntafsluitenmet:
• eenbelofte:‘Dezeapplicatiegaatdeomzetverhogen.’
• eenstelling:‘Doortoepassenvandezesoftwareisdekwaliteitvanhetverkoopprocesbeter.’
• eenvraag:‘Hoekrijgenwedeapplicatieonderdeaandachtvanhetpubliek?’
• eensamenvatting:dezemanierisverrewegdemeesttoegepastemanieromaftesluiten.
Depresentatiemaken
Gebruikvanhulpmiddelen
Presenterenopeenschermmetbehulpvaneenbeameren/ofsmartboardkanhelpenjeverhaalteverduidelijken.
Gebruikdehuisstijl
Gebruikeenduidelijkafgesprokenformat.Zorgervoordatjenietallerleiverschillendedia’slaatzienmetelkeen eigenlay-out.Hetkanzinvolzijnomhetlogovandeopdrachtgeverergensinjepresentatieeenplaatsjetegeven.
Gebruikde10-20-30-regelvoordiavoorstellingen
GuyKawasakivanApplegebruiktalsvuistregeldateendiavoorstellingen:
• nietmeerdan10dia’sbevat;
• nietmeerdan20minutenduurt;
• eenlettergroottevanminimaal30puntenheeft.
Delettergroottevan30puntenisvooralvanbelangomtevoorkomendatjeteveelinformatieopeenbepaalde diazet.Alsalgemeneregelgeldtdatdedia-slideshowzonderdepresentatorzinloosis.Eengoedesetvandia’s geeftdepresentatorondersteuningbijzijnverhaal.Dedia-slideshowmoetniethetverhaalvertellen. Alsjemeerinformatiewiltverstrekken,maakdaneenflyeroffolderendeeldienadepresentatieuit.
Gebruikvaneffecten
CONCEPT
BijgebruikvanPowerPointofPreziiseenoneindigaantaleffectenmogelijk.Maakergeenvisueleshowvan,tenzij hetindeapplicatiediejeoplevertdaarovergaat.Alleonnodigeeffectenleidenafvanhetwerkelijkedoelvanje presentatie.Schakelvanuitdepresentatietooleventueelnaareenlive-omgevingvandeopteleverenapplicatie. ProbeerAlt-Tab-schermwisselingtevoorkomen.Daarkanveelfoutgaanendatstaatknullig.
HetgebruikvanWordArtstaatvaakookergonprofessioneel.Gebruiklieverdetemplatevanhetbedrijf.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/1bac3bb80c52e7883ef0ea11c6a48d42.jpeg)
Figuur 7.9 Gebruik geen WordArt
Maakafbeeldingengroot
Toonafbeeldingenzomogelijkopeenvolledigschermenprobeergeenofweinigteksttoetevoegenaandedia. Jetoehoordersluisterenbeternaarjewoordenalszekijkennaareendiametweinigofgeentekst.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/c972c0f1b0bf5cb73aeb700aa1611dbe.jpeg)
Figuur 7.10 Gebruik niet te veel tekst.
Lijntekstslechtsopéénmanieruit
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/7301f3f1d325f46e0614a36813ee9ea2.jpeg)
Figuur 7.11 Lijn tekst op één manier uit.
VeelPowerPoint-enKeynote-templatescentrerendekop.Datislangnietaltijddebesteoplossing.Ofjenuwel ofnietvooreengecentreerdekopkiest,zorgdatjedetekstnetjeslinksuitlijnt.Alsjekiestvooreenbepaalde opmaak,houddaardanaanvast,ganietvariëren.
Gebruikzominmogelijktekstomjeverhaalteondersteunen
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/f4da088c869fd18d362a5e496bf82468.jpeg)
Figuur 7.12 Gebruik zo min mogelijk tekst.
Alsjeveeltekstopdediazetzullenjetoehoordersproberenomallestelezen.Gevolgisdatzenietnaarjeluisteren. Ofergernog,zekunnendedianietlezenennegerenalles,inclusiefwatjezegt.Toonalleeneenverwijzingnaar debelangrijksteboodschapenlaatderestoveromtevertellen.
Gebruikmaaréénlettertype
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/9e68f639fa3da5271e2af1724c2226da.jpeg)
Figuur 7.13 Gebruik maar één lettertype.
Hetcombinerenvanverschillendelettertypenmaakteenpresentatierommelig.Hetisindemeestegevallen verstandigomgeengebruiktemakenvanmeerderekleuren,tenzijjeeengoederedenhebt.
Probeereenswittetekstenafbeeldingenopeenzwarteachtergrond
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/82a0625ea1beafb99dcf84d45afc67dc.jpeg)
CONCEPT
Figuur 7.14 Gebruik witte tekst op een zwarte achtergrond.
Ditiseentrucdieeenheelstijlvolgevoelgeeft,vooralbijgebruikvaneenstraklettertype.Bijprojectiewordtde randverborgenwaardoorhetlijktalsofalleendetekstwordtgeprojecteerd.
Presenteren
Tooninzetenpassieenmaakcontact
Doorcontacttemakenmetjepubliekzalhetmindermoeilijkzijnomzelfteontspannen.Vertelgeenonzin,wees eerlijkenvertelmetpassieoverdatgenewatjeoplevert. Terwijljepresenteert,moetjedereactiesgoedindegatenhouden.Reageerwanneerduidelijkwordtdathet publiekjenietbegrijptenpasjeverhaalaan.Alsereenvraagwordtgesteldwaaropjehetantwoordnietparaat hebt,kunjeantwoorden:‘Datweetikniet,datzalikvooruuitzoeken.’Datkomtbeteroverdandatjeeen onzinverhaalophangt.
Blijfbijhetonderwerp,maakzominmogelijkuitstapjes ‘Focusopdebehoeftenvandedoelgroep’.Jepresentatiemoetwordenopgebouwdronddeverwachtingenvan jetoehoorders.Zijverwachteneenproductpresentatie. Vertelenlaatzienwatzewillenweten.Inveelgevallenzegteenkijkjeindecodejepubliekniets.Jetoehoorders meenemeninhetgebruikvandeapplicatiezalhenboeien.
Zorgvooroogcontactenweesvriendelijk
Ditklinktheeleenvoudig,maarisietswatjepaskuntnaheelveeloefenen.Alsjeglimlachtenoogcontacthebt dankrijgjedesympathievanhetpubliek.Hethelptommindergespannentezijn.Jepraatnamelijkmetmensen enniettegeneengrotemassaonbekendemensen.Ditwordtmakkelijkeralsjezorgtvoorvoldoendelicht.Je publiekmoetjounetzogoedkunnenzienalsjediapresentatie.
Gebruikjestemeffectief
Hetgesprokenwoordiseigenlijkeenvrijinefficiëntcommunicatiemiddel.Jepubliekheeftvijfzintuigen.Alsje alleenjestemgebruikt,dangebruikjedusslechtséénvanjevijfzintuigen.Diemoetjedanookzooptimaal mogelijkgebruiken.Variërenvandesnelheidwaarmeejepraatenhetbenadrukkendoorveranderingenin toonhoogtezalhelpenomjesteminteressantertemakenendeaandachtvanjepubliekvasttehouden.
Gebruiklichaamstaal
Lichaamstaalspeelteenbelangrijkerolincommunicatieendraagtopverschillendemanierenbijaandeoverdracht vanboodschappen.Overhetalgemeendraagtlichaamstaalsubstantieelbijaandeeffectiviteitvancommunicatie. Ditdoorhetverrijken,aanvullenenverduidelijkenvanverbaleboodschappenénhettotstandbrengenvan emotioneleverbindingenénhetregulerenvaninteractiestussenmensen.Hetbewustzijnvanlichaamstaalis daarombelangrijkvoorhetverbeterenvancommunicatievevaardigheden.Zorgervoordatjehetjuistesignaal afgeeft.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e7a52c5ba7f13131b2f247ebd5aab53a.jpeg)
Figuur 7.15 Gebruik lichaamstaal.
Weesjebewustvanjehoudingenvoorkomgekruistearmen,handenachterjerugofhandeninjezakken.Maak opengebarenmetvertrouwen.Beweegopeennatuurlijkemanieropenrondjepodium.Alshetkandanhelpt hettussenjepubliekdoortebewegen.
Opdracht5 Productpresenteren
RaadpleegzonodigdetheorieoverhetProductpresenteren.
a. Waarletjeopbijdevoorbereidingvaneenpresentatie?
b. WatisdevuistregelvanGuyKawasaki?
c. Waarletjeopbijhetgebruikvaneffecten?
d. Waaromishetgebruikvanveeltekstopdia’sonverstandig?
e. Waaromisoogcontactbelangrijktijdenshetpresenteren?
CONCEPT
f. Waaromislichaamstaalbelangrijktijdenshetpresenteren?
7.3 Hetopgeleverdeproductevalueren
Hetprimairedoelvandeevaluatieishetbepalenofdeopgeleverdeapplicatievoldoet.Eenevaluatiekenteen cyclusdiebestaatuitvierstappen:
1. verzamelenvangegevens
2. registrerenvandeinformatie
3. interpreterenvaninformatie
4. conclusies
Ditalleskomtsameninhetevaluatierapport.
Verzamelenvangegevens
Voordathetevaluatierapportgeschrevenkanworden,moeteneerstallegegevensbeschikbaarzijn.Belangrijke onderdelenzijnnatuurlijkderesultatenvandeacceptatietest,maarookgegevensuithetProgrammavaneisen, hetFunctioneelontwerpenhetTechnischontwerp.Hetevaluatierapportmoethetmanagementlatenzienofde applicatievoldoet.InhetProgrammavaneisenzijndeuitgangspuntenvastgelegd,nietonbelangrijkomdit beschikbaartehebbenbijhettrekkenvanconclusies.
Evaluatierapport
Indelingevaluatierapport
Voorblad
Voorwoord
Inhoudsopgave
Samenvatting
Doelvandeapplicatie
Verloopvandeacceptatietest
Overzichtvanderesultaten
Conclusies
Bijlage
Voorwoord
Inhetvoorwoordschrijfjewaaromjeditdocumenthebtgemaakt.Jebeschrijfthetbedrijfwaarinjewerkt,het bedrijfvandeklantenhetdoelvanhetprojectvoorjeklant.
Inhoudsopgave
Deinhoudsopgavewordtzelfnietgenoemdindeinhoudsopgavemaarisweleenbelangrijkonderdeel.Elke tekstverwerkerkentdeoptieautomatischgenereren,natuurlijkgebruikjedie.
Samenvatting
CONCEPT
Opbasisvaneen(management)samenvattingmoetdeprojectmanageren/ofopdrachtgeverbesluitenofhet projectkandoorgaan.Desamenvattingiscompactenbevatconcretefeitendiebelangrijkzijnvoorde besluitvorming.
Doelvandeapplicatie
Beschrijfhierkernachtigwathetdoelisvandeapplicatieenaanwelkerequirementsdeapplicatiemoetvoldoen.
Verloopvandeacceptatietest
Hiervatjehetverloopvandeacceptatietestsamen.
Overzichtvanderesultaten
Probeerhierdebelangrijksteresultatenopeenoverzichtelijkemanierweertegeven.
Conclusies
Alleenconcluderendatdeapplicatienaarbehorenwerkt,iswatmager.Deopdrachtgeverheefterwataanalsje meedenkt.Wanneerhetmogelijkisomtoekomstigeaanpassingenen/ofuitbreidingentebenoemen,moetdat zekerwordenmeegenomen.
Bijlage
Nietalleshoeftanaloogtewordentoegevoegd.Maarzorgweldatallebrondocumentenbeschikbaarzijn:één plaatswaarallevoorgaandedocumentenstaan.HierbijmoetjedenkenaanhetProgrammavaneisen,het FunctioneelenTechnischontwerp,maarookalletestresultaten.
7.4 ApplicationServicesLibrary2(ASL2)
ApplicationServicesLibrary(ASL)iseenprocesmodel.Datwilzeggendatdewerkzaamhedenwordenbeschreven aandehandvanprocessen.Hetmanagementmoetervoorzorgendatallesovervijfjaarooknogwerkt.Dat plannenenorganiserenvoordetoekomstnoemtmensturendeprocessenendedagelijksegangvanzaken wordendeoperationeleprocessengenoemd.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/69245a9d91e3823ac035c3729a3fd11a.jpeg)
7.5
Processenopstrategischniveau
CONCEPT
Alsjeineenbedrijfwerkt,hebjijalsontwikkelaarooktemakenmetdedagelijksegangvanzaken.Alshetgoed is,merkjeeigenlijknietzoveelvandemanagersdiezichbezighoudenmetdetoekomstvanhetbedrijf.Eénvan deaspectenwaaroverzemoetennadenkenvoordelangetermijnisdetoekomstvandemomenteelgebruikte applicaties.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/a0a743e00b2794a211bddfd6919504d1.jpeg)
ApplicationsCycleManagement
BijApplicationsCycleManagementwordtergekekennaarhetgebruikvanelkeapplicatieafzonderlijk.De belangrijkstevraagis:‘Watisnodigomervoortezorgendatmorgenallesooknoggoedwerkt?’Eenapplicatie aanpassenkosttijdendusgeld.Wanneerhetbeheerenonderhoudduurderwordendanoverstappenopeen nieuweapplicatie,zalmenervoorkiezendeoudeapplicatietevervangen.
OrganizationCycleManagement
OrganizationCycleManagement(OCM)gaatoverdeheleICT-organisatie.Hetmanagementmoeteenplanhebben voordetoekomst.Menmoetbedenkenwelkeapplicatieskunnenblijvenwordengebruiktenwelkeapplicaties vervangenmoetenworden.Alsontwikkelaarhebjijhiermeetemaken,omdatdezebeslissingenuiteindelijk gevolgenhebbenvoorjouwwerkzaamheden.
7.6 Processenoptactischniveau
Sturingisnoodzakelijkomprocessenopmanagementniveaugoedtelatenverlopen.Hierbijzijnoplevertijd, kosten,kwaliteitvoordemedewerkerenkwaliteitvoordeklantvanbelang.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/06e82c0e510b30e56cb62fc0e2c278b0.jpeg)
Elkproceskentdriesoortenkernactiviteiten:
• Planvanaanpakmaken
• Voortgangbewaken
• Evalueren
CONCEPT
Contractmanagement
Hetcontractmanagementisverantwoordelijkvoordecontractbepalingendecontractonderhandelingmet afnemers.Hierbijzalvaakgebruikwordengemaaktvaneenchecklist,ookwelintake.Dezeintakegeefteen opsommingvanproductendietijdensdeovergangvaneeninformatiesysteemvanontwikkelingnaarbeheeren onderhoudaanwezigzoudenmoetenzijn.
EenServiceLevelAgreement(SLA)iseenbelangrijkhulpmiddelbijdeafsprakenmetdeklant.Opdeklantkaart komendekernpuntenvandeSLAtestaan.Ditisnodigomaandeservicedeskdeessentiëleafsprakenbeknopt enadequaatterbeschikkingtestellen.Deklantkaartiseenbelangrijkproductbijdeafsprakenmetdeklant.
IndeSLAstaanafsprakenwaarjealssoftwaredevelopermeetemakenkuntkrijgen.Onderandereomdaterin hetSLAisopgenomendatbepaaldemankementenbinneneenafgesprokentijdzullenwordenopgelost.
Planningencontrol
Debelangrijksteactiviteitenvanplanningencontrolzijn:
• opstellenjaar-/kwartaalplannen;
• plannenbenodigdemenscapaciteit;
• bepalentijdlijnen(ookvanafnemersenleveranciers);
• bewakenenbijstellenplanningenenkengetallen;
• reviewenplanningen.
Figuur 7.18 Processen op tactisch niveauAlssoftwaredeveloperkrijgjehieralleenindirectmeetemaken,bijvoorbeeldalserafsprakenzijngemaaktover debeschikbaarheidvanbepaaldeonderdelenwaarjijverantwoordelijkvoorbent.
Kwaliteitsmanagement
Hetkwaliteitsmanagementmoetdeinterneeningekochtekwaliteitvanproces,product,middelenenorganisatie waarborgen.Ditdoordezetedefiniërenentebewaken.Ookmoetkwaliteitsmanagementervoorzorgendat relevanteregelgevingophetgebiedvankwaliteitwordtgeïmplementeerdengevolgd.Belangrijkeactiviteiten zijn:
• plannengewensteenbestaandekwaliteitsniveau;
• makenenverbeterenkwaliteitsplan,kwaliteitssysteem;
• bewakenenbijstellenkwaliteit,uitvoerenprobleembeheer;
• reviewenkwaliteitproductenproces.
Dekwaliteitseisendieuitditprocesvoortkomenzullenvaninvloedzijnopjouwwerk.Zowelindeontwikkeling alsinhetonderhoudvanproductenmoetergekekenwordennaardekwaliteitseisen.
Financieelmanagement
Hetfinancieelmanagementisverantwoordelijkvoordekostenenbaten.Dekostendiegemaaktwordenomde applicatieteleverenenteonderhoudenmoeteninevenwichtzijnmetdebatenvanhetapplicatiemanagement. Vaakwordtergebruikgemaaktvaneenkostenmodeldatondersteuningbiedtbijhetopstellenvandejaarlijkse begrotingen.Dooreenstandaardmodeltegebruiken,heeftmenmeerinzichtindeopbouwvandetarievenvan deteleverendiensten.
Belangrijkeactiviteitenzijn:
• opzettenenbijstellenkosten-endoorbelastingstructuur;
• voorspellenkosteneigenorganisatieenleveranciersenbaten;
• bewakenenevaluerenkosten,batenendoorbelasting.
Jouwwerkalssoftwaredeveloperisvooralvaninvloedopfinancieelmanagementenveelminderandersom.
CONCEPT
Leveranciersmanagement
Netalsbijhetfinancieelmanagementgaathetbijleveranciersmanagementomdekostenenbaten.Hetdoelis omhetbesteproducttematentegendelaagstmogelijkekosten.Datiseencontinuproces,omdatdemarkt voortdurendinbewegingis.Leveranciersvangoederenendienstenontwikkelenzichcontinuenkomenmet aanbiedingenomeenplaatsteverwervendiezenogniethebben.
Belangrijkeactiviteitenzijn:
• selectieleveranciers;
• contractbepalingen-onderhandelingmetleveranciers;
• bewakenvoortgangenbijsturen;
• reviewenleveranciersprestaties.
7.7
Processenopoperationeelniveau
Operationeleprocessenzijndeprocessendieopkortetermijnwordenuitgevoerd.Hetgaatomhetoperationeel houdenvandelopendezaken.Daarvoorisineersteinstantieeengoedbeheernodig.Erzijnvijfverschillende beheerprocessen:Incidentbeheer,Configuratiebeheer,Beschikbaarheidsbeheer,Capaciteitsbeheeren Continuïteitsbeheer.
NaastdebeheerprocessenishetbinnendeOperationeleprocessennodigomhetonderhoudendevernieuwingen goedtemanagen.Hetbeheerendenodigeaanpassingenmoetengoedopelkaarwordenafgestemden gestroomlijnd.Wijzigingsbeheerenapplicatiebeheerzijndaarbinnendeprocessendiehiervoorzorgen.Wenoemen
ditdanookverbindendeprocessen.
Debeheerprocessenzijnbelangrijk,omdatzehetgebruikvandeapplicatiesondersteunenmetzoweinigmogelijk middelenenzoweinigmogelijkapplicatieonderbrekingen.Zemoetendecontinuïteitvandeautomatisering waarborgen.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/575890697e665dbc3270496bbbc4e992.jpeg)
Gebruikersondersteuning
Tijdensgebruikvaneenapplicatiekunnenstoringen,vragenofwensenontstaan.Dezewordenalsincidentgemeld bijeenhelpdeskofservicedesk,dieonderdeelisvanhetprocesGebruikersondersteuning.Voorheenheettedit procesIncidentbeheer,maaromdatdetermGebruikersondersteuningpositieverwordtopgevat,isdezeterm ingevoerd.
CONCEPT
Gebruikersondersteuninggaatomdienstverlening.Gebruikerswillendatvoldaanwordtaandeafgesproken service-levels.Ingewikkeldeincidentenofvaakoptredendeincidentenwordenalsprobleemdoorgezetnaarhet kwaliteitsmanagement.Daarnaastkanhetzijndatgebruikersgeïnformeerdmoetenwordenoverzakendieeraan komen.Ookdatvaltondergebruikersondersteuningennoemenwepro-actiefhandelen.Datkanbijvoorbeeld doorhetcommunicerenvanontwikkelingenrondeenbepaaldeapplicatie.Indemeestegevallenhebjeals softwaredeveloperhiernietmeetemaken.Alleenwanneereenincidentwordtdoorgezetnaarhet probleemmanagement,kanhetbijjouterechtkomen,alseraanpassingenaaneenapplicatienodigzijn.
Configuratiebeheer
Indeconfigurationmanagementdatabase(CMDB)staanallegegevensoverallesystemen(configuraties)inhet bedrijf–ookdeapplicatiesenonderdelendaarvan.Ookdeadministratievandeafgesprokendienstenen service-levelsmoetopordezijn.Ditisdetaakvanconfiguratiebeheer.Voordieadministratiewordtmeestaleen servicedesktoolgebruikt.InNederlandisdatheelvaakTOPdesk.Ditiswerkvoorbeheerdersenalssoftware developerzaljeslechtsgebruikmakenvanconfiguratiebeheerdoorzetevragenietsvoorjetedoen.
OperationeleICT-sturing
MetditdeelvanhetASL2-proceswordendeprocessenbeschikbaarheidsbeheerencapaciteitsbeheer samengebracht.Hetgaathierbijombedrijfszekerheid,beheersbaarheidendoelmatigheid.BijOperationele ICT-sturingishetbelangrijkdateenapplicatiedeafgesprokenengewenstefunctionaliteitkanbiedenopde afgesprokentijden–ofwel:deapplicatiedoetwatdiemoetdoen.Ookdecapaciteitvanhetsysteemisonderdeel vanOperationeleICT-sturing.Alsblijktdathetgeheugendateenapplicatiegebruiktnietvoldoetomdathette kleinis,moethetgeheugenwordenaangepast.Alseenapplicatienietvoldoet,kanvanuitOperationeleICTsturingviaprobleembeheerbijjoudevraagkomenomdeapplicatieaantepassen.
Figuur 7.19 Processen op operationeel niveauContinuïteitsbeheer
Bijcontinuïteitsbeheergaatheteromdatalleseropgerichtisdathetsysteemblijftfunctioneren.Hetgaathierbij omhetnemenvanmaatregelendiegaranderendatdeapplicatiesendedienstverlening–zegmaarhetsysteem –oplangeretermijnkunnenblijvenfunctioneren.Ermoettegenverschillendebedreigingenbeveiligdworden, zoalsvirussen,hackers,fraude,brandenoverstroming.Maarookmoeterrekeninggehoudenwordenmethet wegvallenvanleveranciersvanwiedeeigenaarvanhetsysteemafhankelijkis.Aldezeactiviteitenenmaatregelen wordenineencontinuïteitsplanvastgelegd.
7.8 Verbindendeprocessen
Onderhouds-envernieuwingsprocessen
MethetonderdeelWijzigingsbeheervanASL2zuljealssoftwaredeveloperregelmatigtemakenkrijgen,omdat ermetenigeregelmaatnieuweupdatesmoetenkomen.
BinnenhetASL2-modelzijnertweeverbindendeprocessen:WijzigingsbeheerenSoftwarebeheerendistributie. Dezetweeverbindendeprocessenzorgenervoordathetprocesbeheer,hetonderhoudendevernieuwingengoed opelkaarwordenafgestemd.
Wijzigingsbeheer
Wijzigingsbeheerisvanbelangomervoortezorgendatwijzigingengecontroleerdengeordendworden doorgevoerd,zonderonnodigerisico'svoordestabiliteitvandeinformatiesystemen.Wijzigingsbeheeristypisch ietswaarsoftwaredevelopersmeetemakenkrijgen.Hetbewaaktdeuitvoeringvanhetmakenvaneennieuwe releaseenkentdevolgendeonderdelen.
• Identificerenvanvoorgesteldewijzigingenaanapplicaties,beoordelenvandeimpactvanvoorgestelde wijzigingenopbestaandeapplicatiesensystemenenhetprioriterenvanwijzigingenopbasisvanhunurgentie enrelevantievoordeorganisatiedoelen.
• Definiërenvaneenformeelgoedkeuringsprocesvoorwijzigingenvoorhetverkrijgenvangoedkeuringdoor relevantebelanghebbenden,zoalsgebruikers,beheerders.
• Plannenenbeherenvandeimplementatievangoedgekeurdewijzigingen.
• Documenterenvanalleaspectenvandewijzigingen,inclusiefredenen,impactanalysesen implementatieplannen.
• Communicerenvanwijzigingenaanrelevantepartijen,zoalsgebruikersenanderebetrokkenen.
CONCEPT
• Evaluerenvandeeffectiviteitvandoorgevoerdewijzigingen.
Softwarebeheerendistributie
BinnenhetASL-frameworkrichthetsoftwarebeheerzichophetbeherenvandelevenscyclusvan softwareapplicaties.Hetomvatalleactiviteitendieverbandhoudenmetdeontwikkeling,implementatie,exploitatie enhetonderhoudvansoftware.
• Hetidentificerenenspecificerenvandefunctioneleenniet-functioneleeisenvandesoftware.
• Hetontwikkelenvannieuwesoftwareapplicatiesofhetaanpassenvanbestaandeapplicatiesomaannieuwe eisentevoldoen.
• Hetuitvoerenvantestsomervoortezorgendatdesoftwarecorrectfunctioneertenvoldoetaandegestelde eisen.
• Implementerenvandesoftwareindeoperationeleomgeving,inclusiefinstallatieenconfiguratie.
• Hetdocumenterenvanalleaspectenvandesoftware,inclusiefgebruikershandleidingen,technische documentatieenwijzigingsbeheer.
Distributieishetprocesvanhetverspreidenvansoftwarevanafdeontwikkelingsomgevingnaardeoperationele omgeving,dangaathetom:
• Hetplannenvandereleasevansoftware,inclusiefhetbepalenvandetimingenhetcoördinerenvande distributieactiviteiten.
• Hetbeherenvandeverschillendeversiesvandesoftware,inclusiefhetvaststellenvanwijzigingenenhet onderhoudenvanconfiguratiebeheer.
• Hetopstellenvaneenplanvoorhetdistribuerenvandesoftwarenaardeverschillendeomgevingen (bijvoorbeeldtestomgeving,acceptatieomgeving,productieomgeving).
• Hetdaadwerkelijkuitvoerenvandedistributie,inclusiefhetinstallerenvandesoftwareenhetbijwerkenvan configuraties.
• Hetbeoordelenvandeimpactvandedistributieopdeoperationeleomgevingenhetidentificerenvaneventuele problemen.
HetprocesSoftwarebeheerendistributiemoetvoorkomendaterongeautoriseerdewijzigingenplaatsvinden. Ditproceszorgtvoordedistributiezodatdejuisteapplicatie-onderdelenkunnenwordeningezet.
Opdracht6 ASL
RaadpleegzonodigdetheorieoverApplicationServicesLibrary2(ASL2).
a. WaarvoorstaandelettersASL?
b. WatisASL?
c. WaargaatOrganizationCycleManagementover?
CONCEPT
d. WaargaatApplicationsCycleManagementover?
e. WatzijnOperationeleprocessen?
f. WatisGebruikersondersteuning?
g. WatisConfiguratiebeheer?
h. WatisOperationeleICT-sturing?
i. WatisContinuïteitsbeheer?
j. WatisWijzigingsbeheer?
k. WatisSoftwarebeheerendistributie?
CONCEPT
l. Alshetversienummervansoftware4.5isenerwordteennieuwereleaseuitgebrachtomeenpaarkleinebugs optelossen,welkversienummerzaldezereleasedankrijgen?
m. Alshetversienummervansoftware7.3isenerwordteennieuwereleaseuitgebrachtwaarinnieuwe functionaliteitaandesoftwarewordttoegevoegd,welkversienummerzaldezereleasedankrijgen?
n. Watiseenservicepack?
o. Watiscompatibel?
7.9 Softwarelicenties
Softwareontwikkelenkostveeltijden‘tijdisgeld’.Eensoftwaredevelopermoetookgeldverdienen,evenalshet softwarebedrijf.Hetkantienduizendenofzelfsmiljoeneneuro’skostenvoordateenprogrammabeschikbaaris. Tochzijnerooksoftwaredevelopersdieditsysteemmaarnietsvindenenhunprogramma’sgewoonterbeschikking stellen.Dezedevelopersontwikkelenvaakietsals‘opensource’.Somsverzoekenzejeeenbepaaldbedragnaar henovertemaken.Dathoeftnietveeltezijn,omdatzenietcommercieelhoeventewerken.Deprogramma’sdie zijopdezemanieropdemarktbrengen,vallenonderdecategorieshareware.Debedragendiezevoorshareware vragenvariërenenliggenmeestaltussende€10,–en€100,–.Alsjeeenbetalingdoet,krijgjevandedeveloperde nieuwsteversiezonderreclame,eenlicentieeneenhandleiding. Erisookheelveelsoftwarebeschikbaardie‘gratis’is.Ditkanuitideologischeoverwegingenzijn,maarhetkan ookzijnomdatereenanderverdienmodelachterzit.Zokansoftwaregratiswordenaangebodenmetalsbedoeling datjeandereonderdelengaatkopen.Maarmenkanookgeldverdienenaan‘gratis’softwaredoordaterreclame wordtgemaaktviadesoftware.Nogeenandereredenomsoftwaregratisaantebiedenisdatmendegegevens vandegebruikerwilhebben,bijvoorbeeldomdiegegevensweerdoorteverkopen.Deredenwaaromsoftware opdemarktwordtgebrachtkanheelverschillendzijn.Inveelgevallenishetomergeldmeeteverdienen,maar hetkanookuitideologischeredenenzijn.
Commerciëlesoftware
Desoftware-industrielooptvoortientallenmiljardeneuro’saaninkomstenmisdoorpiraterijenillegaalkopiëren (stelen)vansoftware.Daaromisersteedsmeeraandachtvoorhetvoorkomenvanillegaalgebruikenvoorhet beveiligenvansoftwaretegenmisbruikenkopiëren.EengoedvoorbeeldhiervanisMicrosoft.Debedoelingwas datjemetWindowsVistaenWindows7alleenkonwerkenalsjejezouregistrerenbijMicrosoft.Erwerdendan gegevensvandeconfiguratieopgeslagen,zodatdezelfderegistratienietopeenanderecomputerzouwerken. Tochblijktachterafdat27%vandegebruikteversieswereldwijdillegaalgekopieerdwas.Natuurlijkmagditniet enbetrouwbarebedrijvenzullenzichhieraannietschuldigwillenmaken.
BSA:Gebruikvanillegalesoftwareneemtaf
CONCEPT
InNederlandheeftongeveer22procentvanallesoftwareopcomputersnietdejuistelicentie.Datistwee procentpuntenminderdanin2016,zoblijktuiteenstudievanBSA(BusinessSoftwareAlliance).Veelcio’s willenafvanillegalesoftwarevanwegedeveiligheidsrisico’s,zegtdeBSA.
Volgensde‘2018GlobalSoftwareSurvey’vandeBSAtiktdecommerciëlewaardevanillegalesoftwareinNederland nuafopzo’n448miljoendollar.DeNederlandsecijferswordenondermeerbeïnvloeddoormeeraandachtvoor softwareassetmanagement(sam),meerabonnementenopsoftwareenmeeroogvoorveiligheid.Daarnaast zorgendebewustwordingscampagnesvandeBSAvoormeeraandachtvoorhetbelangvanlegalesoftware,meent deorganisatie.
Ookwereldwijdneemthetgebruikvansoftwarezondereenlicentieaf,maardepraktijkvindtnogsteedsopgrote schaalplaats:overallelandenheengaathetomongeveer37procentvanalleprogramma’s.
Cybersecurityenjuridischeprocedures
Uitdeenquêteblijktookdatcio’szichvragenstellenbijhetgebruikvanillegalesoftware.Zogevenzeaandat diefstalvanpersoonlijkeenbedrijfsgegevenshunbelangrijkstezorgisalshetgaatommalware(datvaakonderdeel isvanillegalesoftware).Meerdandehelftvandeondervraagdecio’s(51procent)zegtdatcybersecurityde nummereenredenisomillegalesoftwaretemijden.Hetverlagenvanderisico’sopjuridischeprocedureskomt opdetweedeplaats(43procent).Malwarealsgevolgvanillegalesoftwarekostbedrijvenbijna359miljarddollar, aldusdeBSA.
Bovendienbiedthetverbeterenvansoftware-complianceeconomischeenveiligheidsvoordelen.Bedrijvendie hunsoftwarebeheerverbeteren,zienomzetstijgingentot11procent.Ookhetverbeterenvanhetsoftwarebeheer levertdirecteconomischvoordeelop.Bedrijvenkunnentotwel30procentperjaarbesparenopsoftwarekosten dooreenrobuustsam-enlicentie-optimaliseringsprogramma,merktdeBSAop.
Naar: FREDERIC PETITJEAN, BSA: Gebruik van illegale software neemt af, Computable, 5 juni 2018
Naasthetfeitdathetillegaalkopiërenvansoftwareonethischisennietmag,ishetookstrafbaar!Eenonderzoek in2015vanFlexeraSoftwarelaatziendatgrotesoftwaredevelopersalsMicrosoft,Adobe,Oracle,IBMenVMware –indievolgorde–actiefopzoekzijnnaarillegalegebruikers.Bijdeonderzochtebedrijvenbleekdatnabetalingen enboetesvaakbovende$100,000uitkomen.Maarookprivékanillegaaleenfilmkijkenjeopeenboetekomen testaan.Uitonderstaandartikeluit2022blijktdaternognietveelisveranderdindeafgelopenjaren.
Meer dan de helft van de PC-gebruikers wereldwijd gebruikt illegale software. Belangenclub BSA onderzocht softwarepiraterij en komt met indrukwekkende getallen.
DeBusinessSoftwareAlliance(BSA)iseensamenwerkingsverbandvangrotesoftwarefabrikanten,zoalsAdobe, AppleenMicrosoft.HoeweliedereenwelweetdathetgratisdownloadenvanMicrosoftWindowsofAdobe Photoshopillegaalis,doenveelmensendattoch.DeBSAgaatgewoonlijknietachterthuisgebruikersaan,maar richtzicheerderopbedrijvendienietnetjeshunlicentieskopen.Dooreenjaarlijksonderzoeknaarhetgebruik vanillegalesoftwarewildeBSAtochookdeaandachtvandeconsumenttepakkenkrijgen.Inhetonderzoek staandaaromeenaantalaansprekendegetallen.
CONCEPT
Wereldwijdwerdin2011door57%vandePC-gebruikersillegalesoftwaregebruikt.Dathogepercentagewordt echtervooralveroorzaaktdooropkomendeeconomieën,zoalsChina,waarmaarliefst77%vandesoftware illegaalis.PercomputerwordtinChinagemiddeld$8,89uitgegevenaanlegalesoftware–inandereopkomende marktenisdatvierkeerzoveel.InNederlanddoenwehetrelatiefgoed.27%vandegeïnstalleerdesoftwarein Nederlandisillegaal,watzorgtvooreencommercieelverliesvan€463miljoen.
Hetonderzoekwerduitgevoerdinopdrachtvansoftwarefabrikanten,duseenbelangomdecijfersaftezwakken hebbenzeniet.ErwordtdanookvooralaandachtgegenereerdvoorBSA-initiatievenalsBaasaandeBeurt,een verkliksitevoorwieopzijnwerkplekillegalesoftwaremoetgebruiken.
Naar: 57% PC-gebruikers heeft illegale software, id.nl, 17 november 2022
FIODpaktTwentenarenopvoorhandelinillegalenavigatiesoftware HENGELO/ALMELO/WEERSELO-DeFIODheeftopdinsdageen28-jarigemanuitHengeloeneen46-jarige manuitAlmeloaangehouden.Zijwordenverdachtvandehandelinillegalenavigatiesoftwarevoorauto’s. DeFIODdoorzochttweewoningeninHengelo,eenwoninginAlmeloeneenvakantiewoningindeomgeving vanWeerselo.Hierbijisondermeerbeslaggelegdopcomputerapparatuuromnavigatiesoftwaretekopiëren, 19.000eurocontantgeldentweeauto’s.
Detweeverdachtenhebbenopinternetnavigatiesoftwareaangebodenvoordiverseautomerken.Detweehebben gebruikgemaaktvanverschillendeaccountsenadverteerdenmetgekopieerdeennieuwesoftware.Daarnaast wordendetweemannenverdachtvanhetwitwassenvanhetgelddatzijmethunhandelverdienden.
Naar: STAN WANING, FIOD pakt Twentenaren op voor handel in illegale navigatiesoftware, Tubantia, 19 december 2018
Softwareaanschaffen
Waarin2010desoftwareindozenzat,wordentegenwoordiglicentiesverkochtvooronlinegebruik.Metname ontwikkelaarsvanspelletjesgebruiktenalseerstehetinternetomhunsoftwareaandemantebrengen. Softwareisvaakergduur,zekervoorparticulieren.Daarnaastgebruikenparticulierendoorgaansnietalle mogelijkhedenvanhetprogramma,terwijlzetochdevolleprijsmoetenbetalen.Ditbrengthenvaakinde verleidingmeteenillegalekopietewerken.BijWindowsheeftMicrosoftdelicentieproblematiekzoproberente regelen,datalleenpersonendiehetpakketregistrerenbijMicrosofthetdaadwerkelijkkunnengebruiken.Indeze registratiezitdanookinformatieoverdecomputerwaaropWindowsisgeïnstalleerd.Eenkopieopeenandere computerzettenkandanniet,omdatelkonderdeelineencomputervanuitdefabrikanteenuniekecodeheeft meegekregen.Tweeophetooggelijkecomputerszijndoordezecodedustochverschillend.
Sharewareenfreeware
Erzijndevelopersdiehunprogramma’sweggevenenernooitgeldvoorvragen.Zegaanervanuitdatzemethun programma’seenbescheidenbijdrageleverenaaneen‘betere’(computer)wereld.Dezegratisprogrammatuur noemenwefreewareofpublic-domain-software.Eenzeerbekendfreeware-ofpublic-domain-pakketisLinux. VoordeLinux-omgevingisveelfreewaretevindenopinternet,vanspelletjestotcompleteOffice-pakkettenzoals LibreOfficeenOpenOffice.
DeApp/Play-storesvanzowelApple,GooglealsWindowsbevattenveelvoorbeeldenvangoedkope(somszelf gratis)software.
Licenties
CONCEPT
Computerprogramma’szijnauteursrechtelijkbeschermd.Eensoftwarelicentieiseenvergunningomzo’n programmategebruiken.Depreciezewettelijkeregelskunnenvanlandtotlandverschillen,maarhetkomterop neerdatjehetprogrammanietmagkopiëren.
Devergunningomeencomputerprogrammatemogengebruikenwordtdusvastgelegdineencontractofwelde licentie.Indelicentiestaanonderanderedevoorwaardenmetbetrekkingtotkopiërenvanhetprogrammaof hetaantalgebruikersdathetprogrammagelijktijdigmaggebruiken.
Zoalswezagenwordtsoftwareindiversevormenaangeboden:vanstriktcommercieeltothelemaalgratis. Daardoorzijnookdelicentievormenverschillend.
Commercieel
Overcommerciëlesoftwarelicentieshebbenwehetinmiddelsgehad.Ontwikkelaarshebbentijdengeldgestoken indesoftwaremetalsdoelerietsaanteverdienen.Indelicentiezalmenoverhetalgemeenopnemendat verspreiden,aanpassenofaangepastverspreidenofverkopennietistoegestaan.Indemeestegevallenbeschikt menooknietoverdebroncode.
Shareware
Sharewareissoftwarediezonderofmetweinigbeperkingenverspreidmagworden.Wanneerdesoftwarevaker wordtgebruikt,moetermeestaleenbedragvoorwordenbetaald.Overhetalgemeenisookeendeelvande functionaliteitverwijderdindegratisversie,zodatdegebruikerzijnwerkbijvoorbeeldnietkanopslaan.Of bepaaldefunctieswerkenniet.
Indelicentiestaatmeestalwieerrechtenopdistributievandesoftwarehebben.Ditkaniedereenzijn,maarook
eenselectegroep.Hetkanookdatgebruikersdesoftwaremogenproberenineenproefperiodeendatnadeze periodebetaaldmoetgaanworden.Deversiesdienietdevolledigefunctionaliteithebbenwordenookwelliteware genoemd.
Freeware
Freewareisdebenamingvoorsoftwarediegratisgebruiktenverderverspreidmagworden.Voorwaardeisdan weldatditgebeurtinongewijzigdevormenzonderereenvergoedingvoortevragen.Freewareisnamelijkvolledig beschermddoorauteursrechten.Hetisdanookniettoegestaandesoftwareteverbeterenofaantepassen,te verspreidenofteverkopen.HetEngelsewoord‘free’vanfreewarebetekenthier‘gratis’enniet‘vrij’.Datisbij softwareondereenGPL-licentieanders,maardatwordtzobehandeld.
OpenSourceBSD
DeBSD-licentieskomenvanBerkeleySoftwareDistribution,softwarediezonderkostenwerdgedistribueerd doordeUniversiteitvanCalifornië,Berkeley.Dezelicentiewerdvoorheteerstgebruiktindejarenzeventig.
Deeisendieaangebruikerswordengesteldzijn:
• denaamvandeauteurendelicentiemoetenwordenvermeldalszedesoftwareinhuneigenproducten verwerken;
• denaamvanderechthebbenden/auteursmagnietzondertoestemminginadvertentiemateriaalworden gebruikt.
Verderzijnallegebruikenallevormenvanverderverspreidenzondermeertoegestaan.Ditmaaktdelicentie vooralgeschiktvoormensendiededoorhenontwikkeldesoftwaregraagdoorveelmensengebruiktzienworden energeenproblemenmeehebbendatanderenergeldmeekunnenverdienen.Onderanderede besturingssystemenFreeBSDenOpenBSDwordenonderdezelicentieverspreid.
OpenSourceApache
DeApache-licentieiseensoftwarelicentievoorvrijesoftwaredieisuitgebrachtdoordeApacheSoftware Foundation.Indelicentiestaatdatsoftwareaangepasten/ofopnieuwverspreidmagwordenopvoorwaardedat eenkopievandeApacheLicensewordtmeegeleverdendeeerderecopyrightvermeldingenbehoudenblijven.
CONCEPT
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/29f152d3a3c46fb65c48f97a1e42b522.jpeg)
ErzijndrieverschillendeversiesvandeApacheLicensebeschikbaar:ApacheLicensev1.0,v1.1env2.0.
DeApacheLicensestaatiederegebruikertoeomdesoftwaretegebruikenvoorelkwillekeurigdoel.Jemagde softwarewijzigenen/ofopnieuwverspreiden.
OpenSourceLGPL
DeGNULesserGeneralPublicLicense(LGPL)iseenlicentievoorvrijesoftware.Dezelicentieisbedachtdoor RichardM.StallmanenEbenMoglen.
DeLGPLisbedoeldvoorcomputersoftwarediealsonderdeelvaneengeslotenprogrammagebruiktmagworden.
Figuur 7.20 Apache LicenseWijzigingenindebroncodevandeLGPL-delenvaneenproductmoetenterbeschikkingwordengesteldaande gebruikers.DenieuwgeschrevencodediealleenmaargelinktisaandeLGPL-codehoeftnietterbeschikkingte wordengesteld.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/a6905ac587aa454a40a97683492affa8.jpeg)
Figuur 7.21
OpenSourceGPL
DeGNUGeneralPublicLicense(GPL)isbedachtdoorRichardM.StallmanvanGNU.Delicentiehoudtindatje metdesoftwaremagdoenwatjewilt,inclusiefaanpassenenverkopen.Ditintegenstellingtotfreewarewaarje desoftwarevrijmaggebruikenmaarnietmagaanpassen.Voorwaardeisweldatjedatrechtookdoorgeeftaan anderenendatjedeauteur(s)vandesoftwarevermeldt.AlsjouwsoftwareonderdeGPLisgepubliceerdenje wiltdezeverderverspreiden,danmoetjedebroncodemeeleveren.Dezebroncodemagdanweerverderworden verspreidonderdeGPL.
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/07d9f4ae394c3572050c755123f649db.jpeg)
CONCEPT
Figuur 7.22
SoftwaredieonderdeGPL-licentiewordtuitgegevenisvrij.Nogmaals,vrijisnietgratis!Metgeldheeftdelicentie weinigtemaken.HetgaatbijGPLoverhetrechtdesoftwaretemogenaanpassen,daarwaarhetbijfreeware juistnietmagwordenaangepast.WelishetzodatpraktischalleGPL-softwaregratistedownloadenisenalsmen ertochvoormoetbetalen,menhetrechtheeftomdesoftwarezelfwegtegevenofzelfsdoorteverkopen.
Opdracht
7 Softwarelicenties
RaadpleegzonodigdetheorieoverSoftwarelicenties.
a. Hoeveelprocentvandepc-gebruikersgebruiktillegalesoftware?
b. WaarvoorstaandelettersBSA?
c. WatisdeBSA?
d. WatdoetdeBSA?
e. Hoegrootwashetcommercieelverliesin2011doorgebruikvanillegalesoftware?
f. HoeveelprocentvandegeïnstalleerdebedrijfssoftwareinNederlandwordtillegaalgebruikt?
g. Watwasdewaardevanillegaalgebruiktebedrijfssoftwarein2013?
h. Watishetnutvanhetinvullenvanderegistratiekaartdiebijsoftwarezit?
CONCEPT
i. Watiseensoftwarelicentie?
j. Watstaaterineenlicentie?
k. Watzijndebelangrijkstekenmerkenvanshareware?
l. Waaromzoudensoftware-ontwikkelaarsgebruikmakenvandeshareware-licentie?
m. Watzijndebelangrijkstekenmerkenvanfreeware?
n. Welkebeperkingenstaanerindefreeware-licentie?
o. WatzijndevoornaamstevoorwaardenvandeOpenSourceBSD-licentie?
p. WatzijndevoornaamstevoorwaardenvandeOpenSourceApache-licentie?
CONCEPT
q. WatzijndevoornaamstevoorwaardenvandeOpenSourceGNULesserGeneralPublicLicense?
r. WathoudtdeOpenSourceGNUGeneralPublicLicensein?
s. IsdeGPL-softwarealtijdgratis?
7.10 Wetgeving
Algemeneverordeninggegevensbeveiliging(AVG)
![](https://assets.isu.pub/document-structure/240531085249-6ce00e5f210c07fa78f64421b53a14bc/v1/e5160e7e0f82fb4268130dcbe1bfd9a4.jpeg)
CONCEPT
Figuur 7.23 AVG
DeAlgemeneVerordeningGegevensbescherming(AVG),inhetEngelsbekendalsdeGeneralDataProtection Regulation(GDPR),iseenEuropesewetdieinwerkingtradop25mei2018.DeAVGisontworpenomdeprivacy engegevensbeschermingvanEuropeseburgersteversterkenenteharmoniserenindeheleEuropeseUnie(EU). Deverordeninglegtstrikteregelsopaanorganisatiesdiepersoonlijkegegevensverwerken.HetdoelvandeAVG isdeinwonersvandeEUmeercontroletegevenoverzijnofhaarpersoonlijkeinformatie.Erzijnaanzienlijke boetesvoorniet-nalevingendaarmeeheeftdeAVGwereldwijdaandachtgekregen.Denormenvoor gegevensbeschermingmedehierdooropinternationaalniveauverhoogd.Hetvanvitaalbelangvoororganisaties omzichbewusttezijnvandeAVG-eisenenzichhieraantehoudenomdeprivacyvanindividuentewaarborgen. DaarmeeishetvoorsoftwaredevelopersvangrootbelangkennistehebbenvandeAVG.
OpdesitesvandeAutoriteitPersoonsgegevensstaatdevolledigetekst.
AVGenopslagvandata
Inessentiegaathetompersoonsgegevens.Datzijngegevensdieverbondenkunnenwordenaaneenindividu, ofwaarmeeeenindividukanwordengeïdentificeerd.Daarbijkunjedenkenaan:
• adres
• bankrekeningnummer
• berichtenopsocialemedia
• e-mailadres
• foto
• IP-adres
• klantenpas
• medischegegevens
• naam
• telefoonnummer
• vingerafdruk
• enzovoort
Dezelijstiszekernietuitputtend!Erzijnveelmeergegevensdietoteenbepaaldindividukunnenleiden.
Heelveelorganisatiesgebruikenpersoonsgegevenseninveelgevallenwisselenzedezeuit.Debelangrijkste regelsvoordeomgangmetpersoonsgegevensinNederlandzijnvastgelegdindeAlgemeneverordening gegevensbescherming(AVG).DeAVGgaatoverhetrechtmatigomgaanmetpersoonsgegevens.Debelangrijkste bepalingenuitdeAVGzijnalsvolgtsamentevatten: Persoonsgegevensmogenalleenwordenverwerktinovereenstemmingmetdewet.Voordebetrokkene(datis degenevanwiedepersoonsgegevensverwerktworden)moethetbehoorlijkentransparantzijn.Duidelijkmoet zijnhoeenwaaromdepersoonsgegevensverwerktworden.
Aandevolgenderegelsmoetwordenvoldaan
Transparantie
CONCEPT
Depersoonvanwiedegegevensverwerktwordenheefthiervoortoestemminggegevenenkentzijnrechten. Toestemmingvoorkinderenmoetdoordeouderofvoogdvanhetkindwordengegevenenditmoetcontroleerbaar zijn.Detoestemmingkanwordeningetrokkenendevoordeverwerkingverantwoordelijkenmoeten‘toestemming’ kunnenaantonen.
Doelbeperking
Depersoonsgegevenswordenvooreenbepaald,gewettigddoelverzameldenmogennietvooranderezaken gebruiktworden.
Gegevensbeperking
Alleendiegegevensdievoorhetdoelnoodzakelijkzijn,mogenwordenverzameld.Degegevensverwerkingmoet opeenpassendemanierwordenbeveiligd.Voorbijzonderegegevens,zoalsoverseksuelegeaardheid,ras, gezondheidengeloofsovertuiging,geldenextrastrengeregels.Bijvastleggingmoetaltijduitgegaanwordenvan ‘zominmogelijk’.Degegevensmoetpassenbijhetdoelwaarvoorzewordenverwerkt.
InonderstaandvoorbeeldheeftDUOzichwaarschijnlijknietaandevoorwaardegegevensbeperkinggehouden.
DUOovertradEuropeseprivacywetmettrackingmails
DeDienstUitvoeringOnderwijs(DUO)overtraddeEuropeseprivacywetdoormetspecialesoftwarebijtehouden ofstudentene-mailshaddengeopend.DatsteltdeAutoriteitPersoonsgegevensnaonderzoekvan de Volkskrant
Doorindegatentehoudenofstudentene-mailshebbengeopend,wistDUOzekerdateenberichtgoedontvangen engelezenwas.Hetgingdaarbijommailsoverwijzigingenindepersoonlijkesituatievanscholieren.
Detrackingsoftwarezougebruiktkunnenwordenalsbewijsinrechtszaken,alsiemandbeweerdenooitbericht tehebbengehadovereenwijziging.Bijhetopenenvaneenmailwerdeenonzichtbareafbeeldinggeopend,waar DUOvervolgensoverwerdgeïnformeerd.
Omdatdesoftwareherleidbareprivégegevensvastlegt,isdezevolgensdeAutoriteitPersoonsgegevensinstrijd metdeAlgemeneverordeninggegevensbescherming(AVG).DUOhieldbijvoorbeeldhetIP-adresvaneen mailontvangerbij,watnietzomaarmag.Bovendienwerdenmailontvangersernietovergeïnformeerddatze werdengevolgd.
InmiddelsisDUOgestoptmethetgebruikvandetrackingtechniek.
Naar: DUO overtrad Europese privacywet met trackingmails, NU.nl, 7 augustus 2019
Juistheid
Depersoonsgegevensmoetencorrectzijnenblijven.Alseenpersoonvindtdateronjuisthedeninstaanofals alleenopalgoritmischebasisbeslissingenzijngenomen,danheefteenpersoonrechtomvragentestellenente strijdentegendezebeslissingen.
Bewaarbeperking
CONCEPT
Depersoonsgegevensmogennietlangerbewaardwordendannodigvoorhetbeoogdedoel.Debewaartermijn voorpersoonsgegevensmoetsamenmetcontactinformatiewordenverstrektaandeverantwoordelijkevoorde verwerkingendefunctionarisvoorgegevensbescherming.
PolitiezetAI-camera'sinomautomobilistenmettelefooninhandtebeboeten
DeNederlandsepolitiezetvanafdinsdagspecialecamera'sindiedoordevoorruitvanvoorbijrijdende auto'skijken.Doordetoepassingvankunstmatigeintelligentiekunnendeapparatenherkennenofde bestuurdereenmobielelektronischapparaatvasthoudt.
Hetsysteemisdoormiddelvanmachinelearninggetraind,waarbijbeeldenvanbellendeautomobilistenzijn voorgeschoteldenbeeldenvanbestuurdersdienietaanhetbellenzijn.Zodoendekunnendecamera'sherkennen alsereenautolangsrijdtwaarineenbestuurderzitdiebijvoorbeeldzitteappenofbellen.Decameramaaktdan eenfotovandechauffeurenhetkentekenvandeauto.
Vervolgensbeoordeelteenagentofdecameraeenjuisteinschattingheeftgemaakt.Isdathetgeval,danzaler automatischeenboetevolgen,bijvoorbeeld240eurovoorhetvasthoudenvaneentelefoon.Alsdepersoon waarbijdeboeteopdedeurmatvaltnietdegefotografeerdebestuurderwas,moethijlatenwetenwieerdanwel achterhetstuurzat.
TegendeNOSmeldtEgbertJanvanHasselt,hethoofdvandeVerkeerspolitie,datgenomenfoto'sdirectverwijderd wordenophetmomentdatergeensprakevaneenovertredingis.Volgenshemwordenalleendefoto'sbewaard vandegenenwaarvanvaststaatdatereenovertredingisbegaan.Ookmogendegemaaktefoto'snietworden gebruiktvoordeopsporingvanverdachtenencriminelen.DeAutoriteitPersoonsgegevensheeftdezemethode goedgekeurd.
Decamera'swordenineersteinstantiegebruiktdoorpolitiemedewerkersvandeLandelijkeEenheidendeEenheid Midden-Nederlandenwordenvanaf1oktoberingezet.Voorlopigheeftdepolitieernogmaartweeingebruik, waarbijereenopdesnelwegeneneeninderegioUtrechtkanwordeningezet.Doordetoepassingvaninfrarood werkendecamera'sook'snachts.
Depolitiezegtdathethiermeeafleidinginhetverkeerwiltegengaanendeverkeersveiligheidwilvergroten.In 2018werdenruim80.000boetesopgelegdvoorbellenmetdetelefoonindehand;in2017lagditaantalop74.561.
Naar: JORIS JANSEN, Politie zet AI-camera's in om automobilisten met telefoon in hand te beboeten, Tweakers.net, 30 september 2019
Inhetartikelvantweakers.nluitseptember2019isindederdealineaduidelijkdatmenzichhierheefttehouden aanderegelmetbetrekkingtotdebewaarbeperkingzoalsdieisopgenomenindeAVG.
Integriteitenvertrouwelijkheid
Depersoonsgegevensmoetenbeschermdwordentegentoegangdooronbevoegden,verliesofvernietiging.
Verantwoording
Deverantwoordelijkemoetkunnenaantonenaandezeregelstevoldoen.MenmoetkunnentonendatdeAVG wordtnageleefd.Devoordeverwerkingverantwoordelijkemoetmaatregelennemendievoldoenaandebeginselen vangegevensbescherming.Zomoetenervoorbedrijfsprocessengegevensbeschermingsmaatregelenworden ontworpenengegevensbeschermingdoorstandaardinstellingenwordengerealiseerd.
CONCEPT
Rechtenvanbetrokkenen
Rechtopinzage
Personenhebbenhetrechtomtoegangtekrijgentothunpersoonlijkegegevens.Daarbijmoetenzijinformatie krijgenoverdemanierwaaropdezepersoonsgegevenswordenverwerkt.Erkaneenoverzichtvandecategorieën gegevensdiewordenverwerkteneenkopievandefeitelijkegegevensopgevraagdworden.Ookmoetenhetdoel vandeverwerking,metwiedegegevenswordengedeeldenhoedegegevenszijnverkregeninzichtelijkworden gemaakt.
Rechtopvergetelheid
Hetrechtomtewordenvergetenisin2014vervangendooreenbeperkterrechtopschrapping.HetEuropees
Parlementheeftinmaart2014inArtikel17bepaalddatdebetrokkenehetrechtheeftomopeenaantalgronden teverzoekenomverwijderingvandebetreffendepersoonsgegevens.
Rechtoprectificatieenaanvulling
Alseronjuistegegevenszijnopgeslagenmoeteenorganisatieopverzoekdezegegevenscorrigeren.Datisniet zoalshetgaatomsubjectieveinformatie.Subjectieveinformatieisinformatiedieniet‘meetbaar’is.Alsiemand eenschilderijmooivindtdanisdatsubjectief,eenanderkanjuisthettegendeelvinden.Voorbeeldenvan subjectievegegevenszijneenstagebeoordelingsrapportofeenpsychologischrapport.Welkanaaneenbetrokkene gevraagdwordenomdetekstaantevullenmetdeeigenvisieopdezaak.
Rechtopdataportabiliteit
Ditrechtwilzeggendatdedooreenpersoonverstrektepersoonsgegevensvanheteneelektronische verwerkingssysteemnaarhetanderemoetenkunnenwordenovergedragen.Ditmoetkunnenzonderdoorde verantwoordelijkevoordeverwerkingtewordengehinderd.Datzoubijvoorbeeldkunnengaanomgegevens zoalszezijnvastgelegdopschool.Wanneerjijoverstaptnaareenandereschool,danhebjehetrechtomalle gegevensdiejijhebtvastgelegdofaangeleverdhebtmeetenemen.
Gepseudonimiseerdegegevenszijngegevensdiezozijnopgeslagendatzemindergoedteherleidenzijntotéén persoon.Zezijnechternietanoniem.Dezegegevensengegevensvanderdendieduidelijkaandebetrokkene gekoppeldkunnenworden,vallenookonderhetrechtopdataportabiliteit.Zowelgegevensdiedoordepersoon ‘verstrekt’zijn,als‘waargenomen’vallenhieronder.Zozoujeookjepresentiegegevensmeemoetenkunnen nemen.Belangrijkhierbijisdatdegegevensaanjoumoetenwordenaangeleverdineengestructureerdeen algemeengebruikteelektronischeopenstandaard.
Rechtopbeperkingvandeverwerking
Alsgegevensnietkloppenofvooreendoelwordengebruiktwaarvoorzenietbedoeldzijn,dankunjehetverwerken vandegegevensbeperken.Voorschooldoeleindenhebjeeene-mailadresopgegeven.Nuheeftdeschoolhet slimmeplanomietsbijteverdienendoordestudentene-mailsmetreclametesturen.Dite-mailadresisdaar nietvoorbedoeld(doelbeperking).Alsstudenthebjedanhetrechtopbeperkingvanverwerking,kortom:jekunt dite-mailverkeerperdirectlatenstoppen.
Rechtopeenmenselijkeblikbijbesluiten
Bijgeautomatiseerdebesluitvormingheeftbetrokkenehetrechtombezwaartemakentegenhetbesluitente vragenomeennieuwbesluit.Ditnieuwebesluitmoetwordengenomenmettussenkomstvaneenmenselijke blik.Dezesituatiekomtveelvoorbijdeautomatischeacceptatie–enweigering–vanverzekerdendooreen verzekeraar.
Rechtvanbezwaar
CONCEPT
Eenbetrokkeneheefthetrechtombezwaartemakentegendeverwerkingvanzijngegevens.Bijdirectmarketing isditeenabsoluutrecht:deorganisatiemoetditbezwaaraltijdrespecteren.Inanderesituatiesgeldteenafweging vandebelangenvandebetrokkenetegendebelangenvandeorganisatie.Wanneerdeprocedureloopt,magde organisatiedegegevensvandebetrokkenenietverwerken.
GeldigheidvandeAVG
DeAVGgaatoverdegegevensvanalleburgersbinnendeEuropeseUnie,ookalshetbedrijfdatdiegegevens verwerktbuitendeEuropeseUnieisgevestigd.GevolgisdatelkelidstaatvandeEuropeseUnieeenonafhankelijke gegevensbeschermingsautoriteitmoethebben.Ditorgaanmoeteventueleklachtenbehandelenenonderzoeken. Alserovertredingenzijn,zaldegegevensbeschermingsautoriteitdeovertrederbestraffen.De gegevensbeschermingsautoriteitenuitdeverschillendelidstatenwerkensamen.AlsbedrijfindeEuropeseUnie inverschillendelandenvestigingenheeft,danzalhetlandwaarde‘hoofdvestiging’isde‘leidendeautoriteit’ hebben.HetEuropeesComitévoorgegevensbeschermingcoördineertdetoezichthoudendeautoriteiten.
ErzijneenaantalzakendienietonderdeAVGvallen.Daarbijgaathetom:
• nationaleveiligheid,hetleger,depolitie,justitie;
• statistischeenwetenschappelijkeanalyse,denkaanbigdata;
• overledenpersonen,dezevallenonderdenationalewetgevingdieperlandver-schilt;
• werkgever-werknemerrelaties,hiervooriseenspecialeEuropesewet;
• verwerkingvanpersoonsgegevensdooreennatuurlijkepersoonbijdeuitoefeningvaneenzuiverpersoonlijke ofhuishoudelijkeactiviteit.
Wettelijkebasisvoorverwerking
Gegevensmogenalleenwordenverwerktalsertenminsteaanéénwettelijkebasisisomdittedoen.Datkanzijn:
• Eenpersoonheefttoestemminggegevenvoordeverwerkingvanpersoonsgegevensvooréénofmeerspecifieke doeleinden.
• Deverwerkingisnoodzakelijkvoordeuitvoeringvaneencontractwaarbetrokkenedeelvanisofomop verzoekvandebetrokkenestappenteondernemenvoordathijeencontractsluit.
• Verwerkingisnoodzakelijkomtevoldoenaaneenwettelijkeverplichtingwaaraandevoordeverwerking verantwoordelijkeisonderworpen.
• Verwerkingisnoodzakelijkomdevitalebelangenvandebetrokkeneofvaneenanderenatuurlijkepersoon tebehartigen.
• Deverwerkingisnoodzakelijkvoordevervullingvaneentaakvanalgemeenbelangofvoordeuitoefening vanofficiëleautoriteitvandevoordeverwerkingverantwoordelijke.
• Verwerkingisnoodzakelijkmethetoogopderechtmatigebelangendiedoordevoordeverwerking verantwoordelijkeofdooreenderdewordenbehartigd,tenzijdezebelangenprevalerenbovendebelangen offundamentelerechtenenvrijhedenvandebetrokkene,diebeschermingvanpersoonsgegevensvereisen, metnamewanneerdebetrokkeneeenkindis.
Datalekken
Erissprakevaneendatalekalserongeoorloofdeofonbedoeldetoegangtotpersoonsgegevensisofalser ongewenstsprakeisvanvernietigen,verliezen,wijzigenenverstrekkenvanpersoonsgegevens.
Ingevalvaneendatalekisdevoordeverwerkingverantwoordelijkewettelijkverplichtdetoezichthoudende autoriteitzonderonnodigevertragingopdehoogtetestellen.Eriseenmaximumtermijnvan72uurna kennisnemingvanhetdatalekomhetverslagoptestellen.Degetroffenpersonenmoetenopdehoogteworden gebrachtwanneerernegatieveeffectenwordenvastgesteld.
Dekennisgevingaanbetrokkenenisnietnodigwanneerergebruikisgemaaktvantechnischeenorganisatorische beschermingsmaatregelenzoalsencryptie(versleuteling).Danzijndepersoonsgegevensonbegrijpelijkvoor eeniederdiegeentoegangsbevoegdheidheeft,watimpliceertdatdegegevensvoldoendezijnbeschermd.
APlegtUberboeteopvoortelaatmeldendatalek
CONCEPT
DeAutoriteitPersoonsgegevens(AP)legtUberB.V.enUberTechnologies,Inc(UTI)eenboetevan600.000 euroopvoorhetovertredenvandemeldplichtdatalekken.In2016vondeendatalekbijhetUber-concern plaatswaarbijonbevoegdentoegangtotpersoonsgegevensvanklantenenchauffeurskregen.Het
Uber-concernkrijgtdeboeteomdatzijdeAPenbetrokkenennietbinnen72uurnahetontdekkenvanhet lekheeftgeïnformeerd.
Wereldwijdwerdenruim57miljoenUber-gebruikersgetroffendoorditdatalekonderwieongeveer174.000 Nederlanders.Hetgingompersoonsgegevenszoalsnamen,e-mailadressenentelefoonnummersvanklantenen chauffeurs.
Naar: AP legt Uber boete op voor te laat melden datalek, Autoriteit Persoonsgegevens, 27 november 2018
Mogelijkesanctiesdiekunnenwordenopgelegd
• Eenschriftelijkewaarschuwingingevalvaneersteenniet-opzettelijkeniet-naleving.
• Periodiekecontrolesvangegevensbescherming.
Afhankelijkvanhetartikeldatisovertredenkanéénvandevolgendetweeboeteswordenopgelegd:
• Eenboetevanmaximaal10miljoeneuroofmaximaal2%vandewereldwijdejaaromzetvanhetvorigeboekjaar inhetgevalvaneenonderneming,afhankelijkvanwelkbedraghogeris.
• Eenboetevanmaximaal20miljoeneuroofmaximaal4%vandewereldwijdejaaromzetvanhetvorigeboekjaar inhetgevalvaneenonderneming,afhankelijkvanwelkbedraghogeris.
Categorieëndatalekken
Erzijndriecategorieëndatalekkenteonderscheiden:
• Inbreukopdevertrouwelijkheid
Wanneerersprakeisvaneenonbevoegdeofonopzettelijkeopenbaringvanoftoegangtotpersoonsgegevens.
• Inbreukopdeintegriteit
Wanneerersprakeisvaneenonbevoegdeofonopzettelijkewijzigingvanpersoonsgegevens.
• Inbreukopdebeschikbaarheid
Wanneerersprakeisvaneenonbevoegdofonopzettelijkverliesvantoegangtotofvernietigingvan persoonsgegevens.
Voorbeeldenvandatalekken:
• hetverliesvaneenlaptopofUSB-stickmetniet-versleuteldepersoonsgegevens;
• eencyberaanvalwaarbijpersoonsgegevenszijnbuitgemaakt;
• eenbesmettingmetransomwarewaarbijpersoonsgegevensontoegankelijkzijngemaakt.
Opdracht8 Gegevensbeveiliging
RaadpleegzonodigdetheorieoverdeAVGenopslagvandata.
a. EengroepvantweehonderdwinkeliersinUtrechtlegtfoto’sennamenvanwinkeldievenvastineendatabase, zodanigdatalleenzijerbijkunnen.Opdezemanierkunnenzewinkeldievenextraindegatenhoudenenhun waarbeschermen.Magdit?
CONCEPT
b. Eenvoetbalvereniginglegtdevolgendegegevensvastoverdeaangeslotenleden:Nummer,Naam,Foto,Adres, Geboortedatum,Geboorteplaats,Beroep(ouders),Inkomen(ouders),Burgerlijkestaat(ouders),Merkauto, Aantalzitplaatsenauto.
WelkegegevenszijnvolgensdeAVGtoegestaanenwelkezijnniettoegestaan?Geefvandeniettoegestane gegevensaanwaaromdezenietzijntoegestaan.
c. WiezorgtmetbetrekkingtotdeAVGvoordeafstemmingtussendeverschillendelanden?
d. Eenbriefmetdaarinpatiëntgegevenswordtnaareenverkeerdadresgestuurd.Debriefwordtongeopend retourontvangen.IshiersprakevaneenovertredingvolgensdeAVG?
e. Eenmedewerkervanhetschoonmaakbedrijfdatisgecontracteerddooreenhuisartsenpostisbijde werkzaamhedenalleen(zonderandereaanwezigen)ineenruimtegeweestwaareencomputerschermmet eendeelvaneenpatiëntendossieropenstond.IshiersprakevaneenovertredingvolgensdeAVG?
f. Bijcontrolevanlogging-gegevensblijktdateenwaarnemendhuisartsinzageheeftgehadineendossiervan eenpatiëntdiegeencontactheeftgehadmetdepraktijkindeperiodevanwaarneming.Hierdoorwasergeen sprakevaneenwaarneemsituatie.IshiersprakevaneenovertredingvolgensdeAVG?
CONCEPT
g. ZoekdrieartikelenuithetafgelopenjaarwaarbijsprakeisvaneenovertredingvandeAVG.Verzorgeenkorte presentatiewaarinjeuitlegtwatdeaardisvandeovertredingenenwelkesanctiedaaropstaat.
7.11 Begrippenlijst
10-20-30-regel
Eenpresentatieheeftnietmeerdan10dia’s,beslaatnietmeerdan20minutenenheefteenlettergroottevan minimaal30punten.
Acceptatietest
Eentestomvasttestellenofdesoftwarevoldoetaandeeisenenwensenvandeopdrachtgever.
Algemeneverordeninggegevensbescherming(AVG)
InhetEngelsbekendalsdeGeneralDataProtectionRegulation(GDPR),eenEuropesewetgevingdieisingevoerd omdeprivacyendebeschermingvanpersoonsgegevensvanindividuenbinnendeEUtewaarborgen.
ApplicationServicesLibrary(ASL)
Eenframeworkeneensetvanbestpracticesdiezijnontworpenomorganisatiesteondersteunenbijhetverbeteren vanhunapplicatiebeheerprocessen.
BSD-licenties
BerkeleySoftwareDistribution-licenties,zijneenfamilievanvrijeenopen-sourcesoftwarelicentieszestaan bekendomhuneenvoudenomdatzeontwikkelaarsrelatiefveelvrijheidgevenbijhetgebruik,wijzigenen verspreidenvandebroncode.
BigBang
Deimplementatiewaarbijhetoudesysteeminéénkeerwordtvervangendoorhetnieuwe.
Configurationmanagementdatabase
Indeconfigurationmanagementdatabase(CMDB)staanallegegevensoverallesystemen(configuraties)inhet bedrijf–ookdeapplicatiesenonderdelen.
Continuiteitsbeheer
CONCEPT
Bijcontinuiteitsbeheergaatheteromdatalleseropgerichtisdathetsysteemblijftfunctioneren.
Contractmanagement
Hetbeherenvanalleaspectenvaneencontract,vanafdeinitiëlecreatieenonderhandelingtotaandeuiteindelijke uitvoering,monitoringeneventuelebeëindigingvanhetcontract.
Cybersecurity
Ookbekendalsinformatiebeveiligingofcomputerbeveiliging,verwijstnaardepraktijken,technologieënen processendiezijnontworpenomcomputersystemen,netwerkenengegevenstebeschermentegenongeoorloofde toegang,aanvallen,schadeofdiefstal.
Datalek
Erissprakevaneendatalekalserongeoorloofdeofonbedoeldetoegangtotpersoonsgegevensisofalser ongewenstsprakeisvanvernietigen,verliezen,wijzigenenverstrekkenvanpersoonsgegevens.
Financieelmanagement
Hetfinancieelmanagementisverantwoordelijkvoordekostenenbaten.
Freeware
Gratissoftware.
GeneralDataProtectionRegulation(GDPR)
EenEuropesewet,inhetNederlandsdeAVG.Dewetisontworpenomdeprivacyengegevensbeschermingvan EuropeseburgersteversterkenenteharmoniserenindeheleEuropeseUnie(EU).
Kwaliteitsmanagement
Hetkwaliteitsmanagementmoetdeinterneeningekochtekwaliteitvanproces,product,middelenenorganisatie waarborgen.
Leveranciersmanagement
Bijleveranciersmanagementomdekostenenbaten.Menwilhetbesteproducttegendelaagstekosten.
OpenSource
Eentypesoftwarewaarvandebroncodevrijbeschikbaarisvoorhetpubliek.
Operationeleprocessen
Dedagelijksegangvanzaken.
Persoonsgegevens
Gegevensdieverbondenkunnenwordenaaneenindividu,ofwaarmeeeenindividukanwordengeïdentificeerd.
Schaduwdraaien
Bijschaduwdraaiendraaienhetoudeennieuwesysteemgedurendeeenbepaaldetijdnaastelkaar.
ServiceLevelAgreement(SLA)
Eenbelangrijkhulpmiddelbijdeafsprakenmetdeklant.
Shareware
Softwarediejerechtstreeksvandemakerkooptvooreenkleinbedrag.
Softwarebeheerendistributie
CONCEPT
Hetprocesvanhetverspreidenvansoftwarevanafdeontwikkelingsomgevingnaardeoperationeleomgeving.
Softwarelicentie
Eenjuridischbindendcontracttussendeeigenaarofdistributeurvansoftware(delicentiegever)endegebruiker vandesoftware(delicentienemer).Dezelicentiebepaaltdevoorwaardenwaaronderdegebruikerhetrechtheeft omdesoftwaretegebruiken,distribuerenofwijzigen.
Sturendeprocessen
Plannenenorganiserenvoordetoekomst.
Testcase
Eengedetailleerdebeschrijvingvandestappendiemoetenwordengenomentijdenshettesten.
Testscenario
Eengedetailleerdebeschrijvingvaneenspecifiekeinteractieofsituatiediewordtgebruiktomeenbepaaldaspect vaneensysteemtetesten.
Wijzigingsbeheer
Hetervoorzorgendatwijzigingengecontroleerdengeordendwordendoorgevoerd,zonderonnodigerisico's voordestabiliteitvandeinformatiesystemen.
7.12 Praktijkopdrachten
Opdracht9 Onderzoekopensoucesoftwarelicenties
Jewerktdezeopdrachtuitineengroepjevandrieofvierstudenten.
Kieséénvandevolgendeopensourcesoftwarepakketten.Onderzoekwelkeopensourcelicentiewordtgebruikt (opensourcesoftwarelicenties,zoalsdeGNUGeneralPublicLicense(GPL),MIT-licentie,Apache-licentie,enz.)
1. Linux(besturingssysteem):hetLinux-besturingssysteemiseenvandemeestbekendeopensource besturingssystemenenwordtgebruiktinverschillendedistributies,zoalsUbuntu,CentOSenDebian.
2. ApacheHTTPServer(webserver):Apacheiseenpopulaireopensourcewebserverdiewordtgebruiktom websitesenwebtoepassingentehosten.
3. MozillaFirefox(webbrowser):Firefoxiseenopensourcewebbrowserdiebekendstaatomzijnprivacy-en beveiligingsfuncties.
4. LibreOffice(kantoorsoftware):LibreOfficeiseengratisenopensourcekantoorsoftwarepakketdat tekstverwerking,spreadsheets,presentatiesenmeerbiedt.
5. GIMP(grafischebeeldbewerking):GIMPstaatvoorGNUImageManipulationProgrameniseenkrachtige opensourcetoolvoorhetbewerkenvanafbeeldingenengrafischeontwerpen.
6. VLCMediaPlayer(mediaspeler):VLCiseenopensourcemediaspelerdieverschillendeaudio-en videoformatenondersteunt.
7. WordPress(contentmanagementsysteem):WordPressiseenpopulaireopensourceCMSwaarmee gebruikerswebsitesenblogskunnenmakenenbeheren.
8. MySQL(relationeeldatabasebeheersysteem):MySQLiseenveelgebruiktopensourcedatabasesysteem datwordtgebruiktvoorhetopslaanenbeherenvangegevens.
9. PostgreSQL(relationeeldatabasebeheersysteem):PostgreSQLiseenopensourcedatabasesysteemdat bekendstaatomzijngeavanceerdefunctiesenuitbreidbaarheid.
10. Docker(containerorkestratie):Dockeriseenopensourceplatformvoorhetontwikkelen,implementeren enbeherenvancontainersvoorapplicaties.
11. Eclipse(geïntegreerdeontwikkelomgeving):EclipseiseenopensourceIDEdiewordtgebruiktvoorhet ontwikkelenvansoftwareinverschillendeprogrammeertalen.
CONCEPT
12. Audacity(audio-opnameen-bewerking):Audacityiseenopensourcetoolvoorhetopnemenenbewerken vanaudio.
13. Blender(3D-modelleringen-animatie):Blenderiseenopensource3D-modellerings-enanimatiesoftware diewordtgebruiktvoorhetmakenvan3D-graphicsenanimaties.
14. Joomla(contentmanagementsysteem):JoomlaiseenopensourceCMSdatwordtgebruiktvoorhet makenvanwebsitesenwebtoepassingen.
15. Git(versiebeheersysteem):Gitiseenopensourcesysteemvoorversiebeheerdatwordtgebruiktom wijzigingeninsoftwarecodetevolgenentebeheren.
Onderzoekhoejeeenbijdragekuntleverenaanhetonderhoudendeontwikkelingvandesoftware.Maakeen kortepresentatieoverdedoorjulliegekozensoftwarewaarbijdenadrukligtop:
• Toepassingvandesoftware.
• Soortlicentieendemogelijkheden/beperkingenbinnendelicentie.
• Demogelijkhedendieerzijnomeenbijdrageteleverenaandeontwikkelingenverbeteringvandesoftware.
7.13
Terugblik
Opdracht10 Terugblik
Zeteenkruisjeindekolomdievoorjouvantoepassingis.
Beoordelingscriteria
Ja
Jekuntdebelangrijkstewetenregelgevingrondlicentiesopadequatemaniertoepassen.
Jekuntbijdeopleveringvaneenproductdejuistepresentatietechniekentoepassen.
JekuntdebelangrijksteprocessenuitApplicationServicesLibraryindejuistecontext plaatsen.
JekuntbeoordelenofhetbeheervandatagebeurtconformdeAlgemeneVerordening Gegevensbeveiliging.
Opdracht11 Terugblik
Denknaoverwatjehebtgedaaninditblok.
a. Noemtweedingenwaaroverjetevredenbent.
b. Noemtweedingendiejedevolgendekeeranderswiltdoen.
1.
2.
CONCEPT
c. Vraagjedocenten/ofleermeesteromfeedback.
Tops:
Tips:
Nee10-20-30-regel221
A
Acceptatietest43,184,207
Actiefluisteren72
activiteitendiagram90,124
Aggregaties100
Agile35,68
Algemeneverordeninggegevensbescherming(AVG)242
ApplicationServicesLibrary(ASL)227
Assembleertaal167
Association98
Attributen98
Attribuut136
Attribuuttype136
Authenticatie186
Autorisatie186
Availability61,186
B
Bachman-diagram146
BelbinTeamCircle17
BelbinTeamrolmodel13
Bestpractices67
BigBang206
Black-box-systeemtests43
Coordinator14
Cybersecurity234
D
Dailycycle39
Databases134
Datalek246
Deployment57
Destructieftesten184
Documentatiegenerator168
Dynamischtesten179
E
Encryptie61
Equivalencepartitioning180
Extend92
Externesleutel137
EXtremeProgramming41
F
CONCEPT
Black-box-test180
Bottom-up-testen188
Boundaryvalueanalysis181
Broncode-editor167
BSD-licenties237
Bug68,168
Bullpen35
C
Cloud-computing61
Coderingsrichtlijnen68
Compatibel171
Compatibiliteitstest182
Compiler167
CompleterFinisher13
Compositie100
Confidentiality61
Configurationmanagementdatabase230
Consistent135
Continutesten184
Continuïteitsbeheer231
Contractmanagement228
FInancieelmanagement229
Firewall60
Freeware236
Functioneelleidinggevende11
Functioneelontwerp18,88
Functioneeltesten184
Fuzz-testen181
Fuzzing68
G
GeneralDataProtectionRegulation(GDPR)241
Gray-box-testing182
I
Implementer15
Include91
Inheritancerelationships100
Integer135
IntegratedDevelopmentEnvironment168
Integrity61
InternetofThings135
Iteratie35
Iteratievemethode12
Iteration43
K
Klasse97
Klassendiagram90
Kwaliteitsmanagement229
Kwaliteitswaarborging43
L
Leveranciersmanagement229
Lifeline132
Linkeditor167
Linking-pin-principe9
M
Machinecode167
Methods98
Mijlpaal19
Mijlpaalproduct31
Mijlpaalproducten20
MonitorEvaluator14
MoSCoW-methode81
N
Non-repudiation187
Normaliseren136,137
O
OpenSource237
Operationeelleidinggevende11
Operationeleprocessen227
P
PakketvanEisen12,57
Peer-review41
Release-plan41
Requirements18,81,88,174
ResourceInvestigator14
Retrospective40
Reviewmeeting40
S
S-SDLC62
Scenario94
Schaduwdraaien206
Scrum36
Scrum-team37
Scrummaster37
SDM31
Security-testen185
Sequence-diagram175
CONCEPT
Persoonsgegevens242
Phishing59
PlanvanAanpak(PvA)12
Plant15
Postconditie94
Precondities94
Prestatietests185
Primairesleutel137
PRINCE218
Productowner38
Project8
Projectgroep10
Projectmanagement9
Projectorganisatie7
Projectplan12
Prototyping12,46
R
Redundant103,135
Regressietesten183
Relationeledatabase135
SecurityRequirementsSpecification63
sequentiediagram90,131
ServiceLevelAgreement228
Shaper16
Shareware234,236
SoftwareDevelopmentLifeCycle(SDLC)56
SoftwareRequirementSpecification56
Softwarebeheerendistributie232
Softwarelicentie236
Specialist15
Specificatiegebaseerdetest181
Spike-oplossing43
Sprintplan38
SQL156
SQL-injection156
Stakeholders9
Stand-upmeeting44
Statischetesten179
Sturendeprocessen227
Stuurgroep9
Swimlane125
T
Teamworker14
Technischontwerp18,124
Technisch-ontwerp-rapport124
Teksteditor166
Testcase209
Testdocumentatie175
Testplan175
Testscenario176,209
Teststrategie174
Top-down-testen188
Training-on-the-job41
Tweefactorauthenticatie60
U
UnifiedModelingLanguage(UML)89
Usability-test185
Use-case-diagram90
Use-case-tabel93 userstories39,42,93
V
Versiebeheer173
Versienummer170
Visueeltesten181
W
Watervalmethode12,30
Werkgroep10
White-box-testen179
Wijzigingsbeheer231
Wireframes116