Deze website gebruikt cookies (en daarmee vergelijkbare technieken) om het bezoek voor u nog makkelijker en persoonlijker te maken. Met deze cookies kunnen wij en derde partijen uw internetgedrag binnen en buiten onze website volgen en verzamelen.
Hiermee kunnen wij en derde partijen advertenties aanpassen aan uw interesses en kunt u informatie delen via social media.
Klik op 'Ik ga akkoord' om cookies te accepteren en direct door te gaan naar de website of klik op om uw voorkeuren voor cookies te wijzigen. Bekijk onze privacyverklaring voor meer informatie.
$altText
Software quality management
Informatica en informatiekunde | 7,5 EC | Voor dit product gelden ingangseisen
Code IM0703
Prijsindicatie € 486
Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat en wanneer de begeleiding is ingeroosterd.

Algemeen

Inhoud

Software is essentieel in onze wereld. Daarom is het belangrijk om een hoge softwarekwaliteit te garanderen tijdens de ontwikkeling en exploitatie ervan. In deze cursus wordt ingegaan op de processen rond het ontwikkelen en onderhouden van software. Aan de ene kant wordt een overzicht gegeven van de aspecten die van belang zijn voor het succesvol uitvoeren van softwareontwikkelingsprojecten. Hiervoor zijn in de loop van de tijd verschillende modellen ontwikkeld. Deze beschrijven de volgorde en de wijze waarop een aantal activiteiten uitgevoerd zou moeten worden om te komen tot een succesvol softwareproduct. Elk model heeft eigen uitgangspunten en bij toepassing in de praktijk specifieke voor- en nadelen. Er zijn vele modellen in gebruik, al is in vrijwel elke situatie sprake van een mengvorm van een of meer modellen. Kennis over belangrijke aspecten van procesmodellen is dus belangrijk om in de praktijk bij een concreet product een geschikt model te kunnen kiezen. We bekijken de modellen zelf, maar gaan ook verder in op de processen die binnen en buiten het softwareproces werkzaam zijn.

Aan de andere kant wordt ingegaan op de algemene theorie van de onderwerpen softwareonderhoud en -evolutie, softwarerenovatie, programma-analyse en programmatransformatie. De nadruk hierbij ligt op het eerste onderwerp. Ook wordt er kort aandacht besteed aan mining van software repositories.

De cursus heeft een essayopdracht en een practicumopdracht. In de essayopdracht wordt u gevraagd om in het gebied van softwareontwikkelingsprocessen onderzoeksvragen te stellen en om deze in een goedberedeneerd essay op te schrijven. Tevens moet u peer reviews maken voor de conceptversie van de essays van andere studenten. Aan de hand van de reviews die u van uw medestudenten krijgt, kunt u het definitieve essay afmaken. In deze opdracht wordt er van u verwacht dat u de theorie en de praktijk van softwareprocesmodellen kan combineren, dat u de relevante literatuur kan gebruiken en dat u uw eigen mening op een academisch niveau schriftelijk kan uitdrukken.

In de practicumopdracht wordt u gevraagd om een aantal softwaremetrieken uit te werken en deze te toetsen op bestaande systemen van verschillende omvang, geschreven in Java. De gebruikte metrieken zijn afkomstig uit een kwaliteitsmodel en geven inzicht in de structuur en kwaliteit van een systeem. Uit de gevonden resultaten moeten vervolgens conclusies worden getrokken over de onderhoudbaarheid van de software en de risicogebieden. Deze opdracht maakt gebruik van de domeinspecifieke programmeertaal Rascal, bedoeld voor het analyseren en transformeren van programmacode. Rascal is in de basis een imperatieve programmeertaal, met een syntaxis die sterk lijkt op die van Java. Daarnaast heeft de taal een aantal constructies om gemakkelijk op metaniveau te kunnen programmeren: er is ondersteuning voor het analyseren van Eclipseprojecten en Javabestanden, er zijn speciale datastructuren voor het representeren en combineren van feiten, en er is een rijke bibliotheek voor het visualiseren van gegevens. Metaprogrammeren in Rascal volgt het EASY-paradigma: extraheer feiten, analyseer de gevonden feiten en synthetiseer (combineer) deze tot een nieuw product.

Bij deze cursus wordt een reeks van vijf bijeenkomsten georganiseerd: een startbijeenkomst (op de informatica-studiedag) en vier online-bijeenkomsten via de virtuele klas. In deze bijeenkomsten wordt ingegaan op de algemene theorie bij de cursus en zal er aandacht zijn voor de opdrachten. Verder wordt de practicumopdracht na inlevering mondeling nabesproken met de docent. Afsluitend moet een serie open vragen worden beantwoord, waarmee de algemene theorie bij de cursus wordt getoetst.

Leerdoelen
Na het bestuderen van de cursus wordt verwacht dat u:
- een beargumenteerde keuze kunt maken uit verschillende softwareprocesmodellen (o.a. waterfall, spiral, agile) voor een softwareontwikkelingsproject in een bepaalde situatie;
- kunt aangeven welke activiteiten en rollen in een Scrum-proces plaatsvinden en wat de belangrijkste anti-patterns zijn in de praktijk;
- relevante uitdagingen m.b.t. softwareprojectmanagement kunt beschrijven van verschillende (o.a. menselijke, technische, organisatorische) aspecten;
- kunt beschrijven welke problemen er optreden bij het ontwikkelen, het onderhouden en het uitbreiden van software, zowel bekeken vanuit het bedrijfskundige als het softwaretechnologische perspectief;
- de oorzaken van software-evolutie kunt herkennen en de uit software-evolutie voortvloeiende problemen kunt analyseren en oplossen;
- een beargumenteerde keuze kunt maken uit verschillende technieken voor het analyseren van een programma in een bepaalde situatie;
- de kwaliteit en structuur van een bestaand softwaresysteem kunt analyseren door het toepassen van softwaremetrieken en hier conclusies uit kunt trekken;
- een afweging kunt maken tussen de voor- en nadelen van softwaremetrieken bij het bepalen van de productkwaliteit
- een samenvattend verslag kunt schrijven op een academisch niveau;
- relevante onderzoeksvragen kunt formuleren op het gebied van softwarekwaliteitsmanagement en dat u deze kunt onderbouwen;
- een wetenschappelijk artikel kunt reviewen.

Aanmelden

Ingangseisen

Aanmelden is alleen mogelijk voor opleidingsstudenten die formeel zijn toegelaten tot de masteropleiding Computer Science of de masteropleiding Software Engineering.

Aanmelden

Aanmelden is alleen mogelijk voor studenten die formeel zijn toegelaten tot de masteropleiding.

Toelichting aanmelden

Deze cursus start 18 november 2019. We adviseren om uiterlijk zondag 3 november 2019 hiervoor aan te melden zodat u tijdig het eventuele cursusmateriaal ontvangt, toegang heeft tot de leeromgeving en (indien van toepassing) ingedeeld kunt worden in een studiegroep. Bij aanmelding na 3 november 2019 kunnen we dit niet garanderen. Aanmelden is mogelijk tot en met 17 november 2019.

Bij deze cursus hoort online activerende begeleiding. Deze cursus start op vastgestelde momenten, en ook tijdens de bestudering van de cursus zijn er vaste inlevermomenten van opdrachten en feedback. U studeert online samen met een groep medestudenten. Deze begeleiding is erop gericht u sneller, effectiever en met een beter begrip van de stof door de cursus te helpen. U kunt vooraf aan de begeleidingsperiode in uw eigen tempo de stof alvast doornemen; het materiaal wordt één kwartiel tevoren al uitgeleverd. Aansluitend aan de begeleidingsperiode is uw eerste tentamenkans. Na de begeleidingsperiode heeft u nog twee ingeroosterde tentamenkansen. Informatie over begeleiding en tentamen vindt u op de respectievelijke tabbladen.

Voorkennis

Kennis van reguliere en contextvrije grammatica's (op het niveau van de cursus Formele talen en automaten) en ruime ervaring met objectgeoriënteerd programmeren.

Begeleiding

Begeleidingsvorm

Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat en wanneer de begeleiding is ingeroosterd.

Per kwartiel worden groepen studenten gevormd. De docent organiseert extra begeleidingsactiviteiten zoals online-bijeenkomsten of nabespreking van de practicumopdracht. Tijdens de bijeenkomsten gaat de docent inhoudelijke in op de lesstof en bereidt u zich voor op de opdrachten. De bijeenkomsten vinden plaats in de avonduren of op zaterdag.
De geboden begeleidingsbijeenkomsten hebben een zeer grote toegevoegde waarde en een verhoogde slagingskans.

Begeleidingsbijeenkomsten


Utrecht (Studiedag Informatica)
Kwartiel 2 - begeleider: dhr. dr. B. Heeren
za 23-11-2019 / ntb

Online bijeenkomsten
Kwartiel 2 - begeleider: dhr. dr. B. Heeren
1. di 03-12-2019 / 19.00-21.00 uur
2. di 17-12-2019 / 19.00-21.00 uur
3. di 07-01-2020 / 19.00-21.00 uur
4. di 21-01-2020 / 19.00-21.00 uur

Docenten

Dhr. dr. B. Heeren, dhr. dr. G. Alpár en dhr. dr. T. van Laarhoven.

Bereikbaarheidsoverzicht

Bereikbaarheidsinformatie docenten/examinatoren

Tentamen

Tentamenvorm

Opdracht.

Tentamentoelichting

De cursus wordt getentamineerd via drie bijzondere verplichtingen: een practicumopdracht, een essayopdracht en een opdracht met open vragen over de verplichte cursusstof (waaronder artikelen).

Tentamendata

Volgens afspraak.

Meer info

Cursusmateriaal

Het schriftelijke cursusmateriaal bestaat uit een studiewijzer en een reader met artikelen. Al het overige materiaal, zoals de dia's bij de bijeenkomsten, gebruikte artikelen, software en opdrachten, is digitaal beschikbaar via de digitale leeromgeving.

Mediagebruik

Als student heeft u toegang tot een groot aantal online-diensten die u nodig heeft tijdens uw studie. Deze zijn bereikbaar via MijnOU, uw persoonlijke online-werkplek bij de Open Universiteit, Hier heeft u o.a. toegang tot onze digitale leeromgeving, tentamenroosters en onze uitgebreide digitale bibliotheek.

Digitale leeromgeving

Als student kunt u via de cursussite in de digitale leeromgeving naar de discussiegroepen. Hier kunt u met medestudenten en begeleider informatie uitwisselen en discussiëren over de leerstof.