Software Engineering Lab 2

Het summum van de bachelor opleiding is het vak SEL2, waarin je als team van 6 à 7 personen een echt programma voor een groot bedrijf uitwerkt.

Dit vak leert je in een team samen te werken en te coördineren om de opdracht tot een goed einde te brengen, net zoals in het werkveld. Pieter De Clercq (Alumnus)

Software Engineering Lab 2 (SEL2) is voor de informatica wat de bachelorproef is voor andere opleidingen: het sluitstuk van de bacheloropleiding. De studenten ontwerpen en implementeren daarbij in teamverband een groot software-project waarvan de hoeksteen bestaat uit een webapplicatie. Alle stappen van het softwareontwikkelingsproces worden doorlopen: het gaat niet louter om programmeren maar ook bijvoorbeeld om het uitvoeren van een functionele analyse en het maken van een architectuurontwerp.

We willen de situatie uit de bedrijfswereld zo goed mogelijk benaderen. Daarom wordt de opdracht steeds uitgewerkt op vraag van een externe partner (“de klant”). Hieronder vind je een historisch overzicht van alle opdrachten waaraan studenten gewerkt hebben en de partnerbedrijven waarmee we hebben samengewerkt. Voor het uitwerken van de opdracht wordt er gewerkt met teams van 7 à 8 studenten. Deze teams worden willekeurig samengesteld, want ook in de bedrijfswereld kan je je collega’s niet zomaar kiezen.

Elk team vertrekt van een lege Linux server waarop ze de volledige webapplicatie (inclusief achterliggende databank) moeten uitrollen. Bij het uitvoeren van dit project moeten studenten heel veel kennis en vaardigheden aanspreken die ze opgebouwd hebben tijdens het doorlopen van de bacheloropleiding: hierbij denken we niet alleen aan programmeervakken, maar ook aan algoritmen en datastructuren, computergebruik, databanken en webdevelopment.

Naast technische aspecten ligt er ook een heel grote nadruk op project management en communicatievaardigheden. Deze twee leerlijnen zitten heel nadrukkelijk in de drie software engineering labs verweven. Studenten moeten in onderling overleg binnen hun team bepaalde rollen toewijzen (projectleider, systeembeheerder, databankbeheerder, front-end developer, klantcontact) en zijn zelf verantwoordelijk voor planning, taakverdeling en vergaderingen.

Het project wordt opgedeeld in drie milestones. Op het einde van elke milestone rapporteren de studenten met een presentatie en een demo over de huidige status van hun webapplicatie en krijgen ze feedback van de klant en de lesgevers. De presentatie van de laatste milestone is een publiek event, en wordt bijgewoond door een groot aantal lesgevers en medewerkers van de opleiding informatica en door medewerknemers van het partnerbedrijf.

Het streefdoel is dat elk team een webapplicatie oplevert die kan uitgerold worden in het partnerbedrijf. Er worden vooraf ook afspraken gemaakt met het partnerbedrijf om dit ook effectief in de praktijk te brengen op basis van de webapplicatie die door één van de teams opgeleverd werd. Het niveau van de opgeleverde projecten is doorgaans van dien aard dat de theorie ook aan de praktijk kan gekoppeld worden, mits het partnerbedrijf bereid is om bijvoorbeeld onder de vorm van vakantiejobs met studenten nog enkele finishing touches uit te voeren (bijvoorbeeld features geïnspireerd op webapplicaties van andere teams) en de overdracht van de broncode te realiseren.

Opgeleverde producten

Een overzicht van de partnerbedrijven waarmee de opleiding informatica in het kader van SEL2 de afgelopen jaren heeft samengewerkt, en een korte omschrijving van de opdrachten waaraan de studenten gewerkt hebben.

MAGDA - Vlaamse Overheid 2020-2021

Om bijvoorbeeld informatie op te vragen uit het rijksregister kunnen steden en gemeenten — of andere entiteiten — toegang vragen tot databanken van de Vlaamse Overheid. Hiervoor moeten aanvragers uiteraard de juiste documenten kunnen voorleggen en vergunningen hebben. Voor elke goedgekeurde aanvraag wordt een certificaat gegenereerd waarmee toegang tot de gevraagde databanken verkregen wordt.

Het MAGDA-platform (MAximale Gegevensdeling tussen Administraties) van de Vlaamse Overheid fungeert als proxy tussen aanvragers (lokale besturen en agentschappen van de Vlaamse overheid) en de authentieke databronnen. Op die manier ondersteunt MAGDA bijvoorbeeld de toekenning van het Groeipakket, maar ook de online aanvraag van studietoelagen tot zelfs de uitwerking van Lage Emissiezones.

Momenteel verloopt het aanvraagproces grotendeels via email. In dit project ontwikkelen we een webapplicatie waarmee aanvragen kunnen ingediend en afgehandeld worden. Tijdens de laatste milestone proberen we ook de webapplicatie te koppelen met een authenticatie service van de Vlaamse Overheid, waardoor ook via de eID kan aangemeld worden.

CoderDojo Belgium 2019-2020

CoderDojo Belgium is een non-profit organisatie die over het hele land wekelijks workshops organiseert om kinderen en jongeren te leren programmeren. Deze workshops worden geleid door vrijwillige coaches, waaronder ook enkele lesgevers en studenten van onze opleiding.

Om de verschillende workshops in kaart te brengen en inschrijvingen te organiseren gebruikt CoderDojo Belgium momenteel al een webapplicatie (EventBrite). Deze applicatie is echter niet volledig afgestemd op de noden van CoderDojo, waardoor bepaalde functionaliteit en gebruiksvriendelijkheid ontbreekt.

In dit project ontwikkelen we een webapplicatie die onder andere toelaat om workshops en deelnemers op te volgen, opdrachten voor kinderen op te stellen en te delen onder coaches, en te rapporteren over de verschillende events.

Case New Holland Industrial 2018-2019

Case New Holland Industrial (CNHI) is een producent van landbouwwerktuigen. Voor deze opdracht werken we in het kader van het Europees project “Internet of Food and Farm 2020” samen met het filiaal van CNHI Belgium in Zedelgem.

Bij het afrijden van graan en andere gewassen verzamelen moderne maaidorsers zeer gedetailleerde data, onder andere de exacte baan van de maaidorser en hoeveel stro de maaidorser heeft achtergelaten op een bepaalde plaats. We ontwikkelen een webapplicatie om de data die deze maaidorsers genereren te kunnen inlezen en visualiseren. Bovendien ontwikkelen en implementeren we ook een algoritme dat het “kortste pad” kan bepalen die een tractor moet afleggen om het stro op te halen en samen te persen tot balen. Dit is een variant van het handelsreizigersprobleem.

Voor kleine akkers in België zal zo’n kortste pad niet enorm veel winst opleveren, maar voor gigantische akkers van tientallen vierkante kilometer in bijvoorbeeld Brazilië of Canada kan dat wel een enorm verschil uitmaken. Dit kortste-paden algoritme kan in de toekomst ook gebruikt worden voor een kolonne van zelfrijdende tractors.

Fluxys 2017-2018

Fluxys is een gastransportbedrijf dat ondere andere ook de gasterminal in de haven van Zeebrugge uitbaat. Dagelijks komen daar verschillende LNG-tankers (liquefied natural gas) gas lossen. Dit gas wordt overgepompt naar opslagtanks in de haven, waarna het via het gasnet getransporteerd wordt of naar andere LNG-tankers overgepompt wordt.

We ontwikkelen een webapplicatie om het laden en lossen van LNG-tankers te simuleren, als vervanging van de manuele verwerking via Excel-bestanden waarmee dit momenteel gebeurt. Enerzijds moeten tanks voldoende vrije ruimte hebben om de tankers te kunnen lossen en anderzijds moet er voldoende LNG in de tanks aanwezig zijn om andere tankers te kunnen vullen en om aan de vraag van het gasnet te voldoen. De webapplicatie moet toelaten om dergelijk problemen vroegtijdig te kunnen detecteren en er een oplossing voor uit te werken.

Solvas 2016-2017

Solvas is een verzekeringsmakelaar met voornamelijk transportbedrijven als klanten, die hun vrachtwagenvloot bij Solvas laten verzekeren.

We ontwikkelen een webapplicatie waarmee werknemers van Solvas de vloten van transportbedrijven kunnen beheren: voertuigen toevoegen, voertuigen verwijderen, verzekeringsdocumenten aan voertuigen toekennen. Verder moet de applicatie ook toelaten om automatisch facturen op te maken voor de klanten, rekening houdend met bijvoorbeeld verschillende tarieven voor verschillende types voertuigen of commerciële kortingen voor belangrijke klanten. Oude facturen moeten ook bijgewerkt kunnen worden, bijvoorbeeld als een transportbedrijf vergeten is om een inschrijving of een annulatie van een bepaald voertuig door te geven. Deze webapplicatie moet de manuele verwerking via Excel-bestanden vervangen.

De Lijn 2015-2016

Moeten we De Lijn nog introduceren? De vervoersmaatschappij staat in voor het stedelijk en regionaal openbaar vervoer in het Vlaams Gewest, hoofdzakelijk via metro-, tram- en busvervoer.

We ontwikkelen een webapplicatie voor het toewijzen en inplannen van bussen bij een stelplaats zodat de dienstregelingen kan uitgevoerd worden met het beschikbare wagenpark. Hierbij dient onder andere rekening gehouden te worden met de dienstregelingen, bussen die tijdelijk buiten gebruik zijn omwille van defecten of onderhoud, bussen die moeten gekeurd worden, bussen die moeten gewassen worden, enzoverder. Deze webapplicatie moet de manuele verwerking via Excel-bestanden vervangen.

Mobiliteitsdienst Stad Gent 2015-2016

We ontwikkelen een webapplicatie voor Mobiliteitsbedrijf Stad Gent waarmee meer gepersonaliseerde verkeersinformatie (files, werken, evenementen,…) kan weergegeven worden. Idealiter verstuurt de applicatie enkel verkeersinformatie over trajecten die een gebruiker normaal gezien aflegt en enkel op het tijdstip van de verplaatsing. Daarvoor moet informatie uit verschillende databronnen gecombineerd en gefilterd worden.

Deloitte 2014-2015

Deloitte is een consulting bedrijf en een bedrijfsrevisor. Een hoofdbezigheid van hun IT-afdeling is het uitvoeren van functionele analyses en het ontwerpen van de architectuur van zeer grote software-applicaties. We ontwikkelen een webapplicatie waarmee de IT-afdeling use cases van allerlei projecten kan aanmaken, beheren, importeren en exporteren.

Oudere projecten

  • Degage (2013-2014)
  • Bebras (2012-2013)
  • Radiologie (2011-2012)
  • Partiturendatabase (2010-2011)
  • Optimalisatie verzagingen (2009-2010)
  • Online Vinyl Shop (2008-2009)
  • Smailcard (2007-2008)
  • Erasmus (2006-2007)