null Software quality management

Software quality management

  • Informatica
  • IM0703
  • 7,5 EC
  • Vanaf € 576
  • Voor dit product gelden ingangseisen
Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat en wanneer de begeleiding is ingeroosterd.



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 jou gevraagd om in het gebied van softwareontwikkelingsprocessen onderzoeksvragen te stellen en om deze in een goedberedeneerd essay op te schrijven. Tevens moet je peer reviews maken voor de conceptversie van de essays van andere studenten. Aan de hand van de reviews die je van je medestudenten krijgt, kun je het definitieve essay afmaken. In deze opdracht wordt er van jou verwacht dat je de theorie en de praktijk van softwareprocesmodellen kan combineren, dat je de relevante literatuur kunt gebruiken en dat je je eigen mening op een academisch niveau schriftelijk kunt uitdrukken.

In de practicumopdracht wordt jou 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, die bedoeld is 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 projecten 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 Studiedag Informatica en Informatiekunde) 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 afronding van deze cursus kun je:
- een beargumenteerde keuze maken uit verschillende softwareprocesmodellen (o.a. waterfall, spiral, agile) voor een softwareontwikkelingsproject in een bepaalde situatie,
- 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 beschrijven van verschillende (o.a. menselijke, technische, organisatorische) aspecten,
- 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 herkennen en de uit software-evolutie voortvloeiende problemen analyseren en oplossen,
- een beargumenteerde keuze maken uit verschillende technieken voor het analyseren van een programma in een bepaalde situatie,
- de kwaliteit en structuur van een bestaand softwaresysteem analyseren door het toepassen van softwaremetrieken en hier conclusies uittrekken,
- een afweging maken tussen de voor- en nadelen van softwaremetrieken bij het bepalen van de productkwaliteit,
- een samenvattend verslag schrijven op een academisch niveau,
- relevante onderzoeksvragen formuleren op het gebied van softwarekwaliteitsmanagement en die onderbouwen,
- een wetenschappelijk artikel reviewen.

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 2024. We adviseren om uiterlijk zondag 3 november 2024 hiervoor aan te melden zodat je tijdig het eventuele cursusmateriaal ontvangt, toegang hebt tot de leeromgeving en (indien van toepassing) ingedeeld kunt worden in een studiegroep. Bij aanmelding na 3 november 2024 kunnen we dit niet garanderen. Aanmelden is mogelijk tot en met 17 november 2024.

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. Je studeert online samen met een groep medestudenten. Deze begeleiding is erop gericht je sneller, effectiever en met een beter begrip van de stof door de cursus te helpen. Je kunt vooraf aan de begeleidingsperiode in je eigen tempo de stof alvast doornemen; het materiaal wordt één kwartiel tevoren al uitgeleverd. Aansluitend aan de begeleidingsperiode is je eerste tentamenkans. Na de begeleidingsperiode heb je nog twee ingeroosterde tentamenkansen. Informatie over begeleiding en tentamen vind je 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.

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 inhoudelijk in op de lesstof en bereid je je 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



Studiedag Informatica en Informatiekunde, Den Bosch, onder voorbehoud
Kwartiel 2 - begeleider: dhr.dr. B. Heeren
- za 07-12-2024 / tijd wordt nader bekend gemaakt
Tijdig aanmelden via: ou.nl/inf-studiedag

Online-bijeenkomsten
2. di 19-11-2024 / 19.00-21.00 uur
3. di 17-12-2024 / 19.00-21.00 uur
4. di 07-01-2025 / 19.00-21.00 uur
5. di 21-01-2025 / 19.00-21.00 uur

Aanmelden begeleiding

Deelname aan de begeleidingsbijeenkomst op de Informatica en Informatiekunde studiedagen is gratis, maar in verband met groepsindelingen en de broodmaaltijd is tijdig aanmelden verplicht. Je kunt aanmelden voor de Informatica en Informatiekunde studiedag door het aanmeldformulier in te vullen op de website.
Indien je je hebt aangemeld voor de Informatica en Informatiekunde Studiedag, maar onverhoopt toch niet kunt deelnemen, verzoeken we jou om af te melden via de link in de aanmeldbevestigingse-mail zodat studenten die op de reservelijst staan kunnen deelnemen.

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.

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 online leeromgeving.

Mediagebruik

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

Digitale leeromgeving

Als student kun je via de cursussite in de online leeromgeving naar de discussiegroepen. Hier kun je met medestudenten en begeleiders informatie uitwisselen en discussiëren over de leerstof.