Master Software Engineering



Vergelijkbare documenten
Master Software Engineering

ONDERWIJS- EN EXAMENREGELING studiejaar Deel B. HOOFDSTUK 1 - Doelstellingen en eindtermen van de opleiding

Onderwijs- en examenregeling van de bacheloropleiding

De Masteropleiding Software Engineering aan de Universiteit van Amsterdam

Bijlage bacheloropleiding Informatica

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Master Software Engineering. Inhoud, begeleiding, tentamen dr. Anda Counotte Docent en mentor

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

Aanvraagformulier nieuwe opleiding. Basisgegevens. Contactpersoon/contactpersonen Postbus GG Amsterdam

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

B.Sc. Informatica Module 4: Data & Informatie

Masters Software Engineering en Computer Science Programma, toelating en wijze van studeren

faculteit wiskunde en natuurwetenschappen Bijlagen bachelopleiding Informatica

FACULTEIT DER NATUURWETENSCHAPPEN, WISKUNDE EN INFORMATICA. ONDERWIJS- EN EXAMENREGELING Masterschool Life and Earth Sciences studiejaar

Bijlage bacheloropleiding Informatica

Culture, Organization and Management Vrije Universiteit Amsterdam - Faculteit der Sociale Wetenschappen - P Culture Organization and Management -

Beoordelingscriteria afstudeervoorstel en voorstel ervaringsstage (opleiding Informatica Breda)

Onderwijs- en examenregeling van de masteropleiding

Voorlichtingsdag Bedrijfskunde. Faculteit der Economische Wetenschappen en Bedrijfskunde

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren

Studiewijzer BACHELOR KUNSTMATIGE INTELLIGENTIE EXTRA KEUZENVAK VAK: C++ PROGRAMMEERMETHODEN

Culture, Organization and Management Vrije Universiteit Amsterdam - Faculteit der Sociale Wetenschappen - P Culture Organization and Management -

Bijlagen van het onderwijs- en Examenreglement van de bacheloropleiding Technische Bedrijfskunde

Stichting NIOC en de NIOC kennisbank

CMM 3: levert het wat op?

: Afstudeerproject BSc KI : Bachelor Kunstmatige Intelligentie Studiejaar, Semester, Periode : semester 2, periode 5 en 6

STUDIEGIDS PREMASTERPROGRAMMA ACCOUNTING & CONTROL

STUDIEGIDS PREMASTERPROGRAMMA ACCOUNTING & CONTROL

Uitvoeringsregeling/Bijlage behorend bij de Onderwijs- en Examenregeling van de Bacheloropleiding Molecular Science & Technology

(Nieuwe) opleiding hbo master. Bas Bauland (HAN Kwaliteitszorg) HAN Kwaliteitszorg, t.a.v. Bas Bauland Postbus EJ Arnhem

Testen. Presentatie. Open-i Software Services BV, Maarssen Datum : Versie : 1.2

Keuzes in de propedeuse De propedeuse kent geen gebonden keuzeruimte en geen vrije ruimte

BASISGGEVENS. Naam Functie

Aanvraagformulier Nieuwe opleiding macrodoelmatigheidstoets beleidsregel 2014

From Computer Science to Software Engineering

STUDIEGIDS PREMASTERPROGRAMMA ACCOUNTING & CONTROL

Hoorcollege I: PGA en de talen PGLA en PGLB Alban Ponse

Samenvatting aanvraag. Bijlage 8

Directeur onderwijsinstituut

Rapport over het werkprofiel van Software engineer (sr)

Competentie niveaus HHS TIS opleiding Werktuigbouwkunde

A. Hieronder is voor zover van toepassing nadere facultaire invulling per artikel gegeven:

Macrodoelmatigheidsdossier BSc Business Analytics AANVRAAGFORMULIER NIEUWE OPLEIDING. 1. Basisgegevens. Tongersestraat LM Maastricht

B. OPLEIDINGSSPECIFIEK DEEL VAN DE ONDERWIJS- EN EXAMENREGELING VAN DE DUALE PROGRAMMA NEDERLANDS ALS TWEEDE TAAL FACULTEIT DER GEESTESWETENSCHAPPEN

Voor de master (uitlopende programmering) worden vanaf de OER geen nieuwe studenten meer toegelaten.

ONDERWIJS- EN EXAMENREGELING voor de masteropleiding SYSTEEM- EN NETWERKBEHEER

MINOR SOFTWARE KWALITEIT EN TESTEN. 15 mei 2019 Maurice van Haperen

Studieschema bachelor Informatica

Grondige herziening Curriculum Informatica /40

Aliens?

Aanvraagformulier Nieuwe opleiding macrodoelmatigheidstoets beleidsregel 2014

Curriculumevaluatie BA Wijsbegeerte

2. Selectie van studenten geschiedt op basis van een oordeel over de volgende kerncompetenties van belangstellenden:

Praktische zaken INFOB3SO

Cursus Software evolution. Dr. Bastiaan Heeren Touw Symposium, 24 november 2012 Studiecentrum Amsterdam

Bijlage Onderwijs- en Examenregeling (OER) Master Programma van Pedagogische Wetenschappen. Faculteit der Gedrags- en Maatschappijwetenschappen

Business Process Management

BACHELOROPLEIDING DEELTIJD

Onderwijsinstituut Informatiewetenschappen Universiteit van Amsterdam Februari Faculteit der Natuurwetenschappen, Wiskunde en Informatica

Deel B van de onderwijs- en examenregeling voor de duale masteropleiding Communicatie- en informatiewetenschappen, 90 EC,

Evo Evolutionary Project Management. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Toelatingsassessment. Portfolio. Assessment t.b.v. toelating tot de deeltijdopleiding HBO-ICT. Naam Adres Telefoon Datum

Onderwijs- en Examenregeling 2012/2013

Onderwijs- en Examenregeling 2010/2011

Ti L te eal va n S n i o x Sp i l geiding ma & Business Analytics we ib bs isuit v e a.nl

Samenvatting aanvraag

Voor de master (uitlopende programmering) worden vanaf de OER geen nieuwe studenten meer toegelaten.

Samenvatting aanvraag

TFS als perfecte tool voor Scrum

Adding value to test tooling

Onderwijs- en examenregeling geldig vanaf 1 September 2010

Opleidingsspecifiek deel MA Geschiedenis. toelatingseisen opleiding

Introductie tot de cursus

Premaster Marketing Vrije Universiteit Amsterdam - Fac. der Economische Wet. en Bedrijfsk. - P Marketing

BOKS HBO-ICT NIOC APRIL 2013 MISCHA BECKERS

Vernieuwing Bacheloropleidingen Informatica en Informatiekunde

Vrije Universiteit Amsterdam. Vrije Universiteit Amsterdam School of Business and Economics De Boelelaan HV Amsterdam. Financial Management

Universiteit van Amsterdam FACULTEIT DER NATUURWETENSCHAPPEN, WISKUNDE EN INFORMATICA

Inhoud. Deel een Het ontwikkeltraject 13. Inleiding 11

Het diploma van de opleiding kan behaald worden tot en met 31 december 2015.

Inleiding ontwikkelmethoden

Voorbereidingscursussen

Klik op een van onderstaande linken om direct naar het betreffende onderdeel te gaan:

Doel. Context VSNU UFO/INDELINGSINSTRUMENT FUNCTIEFAMILIE ONDERWIJS- & ONDERZOEKSONDERSTEUNING VAARDIGHEIDSDOCENT VERSIE 3 APRIL 2017

Bachelor of Business Administration (MER opleiding)

MBAprogramma. MBA in Innovation & Technology (MIT) Polytechnic College Suriname. TSM Business School Nederland. Lectoraat

Adding value to test tooling

OPTIMIZE Vacature. JAVA Developer. Divisie Just Software

B. OPLEIDINGSSPECIFIEK DEEL VAN DE ONDERWIJS- EN EXAMENREGELING VAN DE RESEARCH MASTER FILOSOFIE FACULTEIT DER GEESTESWETENSCHAPPEN

Implementatie - en overgangsregeling CEA eindtermen Inleiding

Men komt in aanmerking voor toelating tot het programma Kunstgeschiedenis indien men aantoont te beschikken over de volgende competenties:

Eindbeoordelingsformulier (Applicatieontwikkelaar 4)

Voorbereiding onderwijsvisitatie: Bachelor Opleidingsonderdelen J. Broeckhove

Opleider. Context. Doel

Bijlage Onderwijs- en Examenregeling (OER) Bachelor Programma Academische Opleiding Leraar Basisonderwijs

Onderwijs- en examenregeling Masteropleiding Spaanse taal en cultuur. Paragraaf 1 Algemene bepalingen

Curriculum HBO ICT Systems Networks & Cloud Engineering duaal

Transcriptie:

Universiteit van Amsterdam Informatica Instituut Onderwijsinstituut Informatiewetenschappen Hogeschool van Amsterdam Instituut Informatica en Elektrotechniek van de Opleiding Master Software Engineering Studiejaar 2003-2004 15 april 2003 Missie De opleiding tot Master of Software Engineering leidt studenten 1 op tot professionele software engineers die er voor zorgen dat een software systeem op tijd en binnen de begroting wordt opgeleverd en dat het precies voldoet aan de wensen van de klant. De professionele software engineer zorgt ervoor dat het software systeem steeds wordt aangepast aan de veranderende wensen en eisen van de klant en dat de software parallel loopt, en blijft lopen, met de bedrijfsprocessen van de klant. Tijdens de opleiding zal de student worden onderwezen door gemotiveerde en deskundige docenten. De student zal tijdens de opleiding een groot aantal, zorgvuldig geselecteerde, praktische cases moeten bestuderen, doorgronden en bekritiseren. Deze cases dienen om het wetenschappelijke fundament van de opleiding te toetsen en te illustreren. De student zal tijdens de opleiding in één jaar tijd worden opgeleid tot professioneel software engineer. Om dat in zo n korte tijd voor elkaar te krijgen zijn alle vakken van de opleiding precies op elkaar afgestemd. Daarnaast eist de opleiding maximale inzet van de studenten, en zal elke student elke dag goed voorbereid naar de opleiding moeten komen, teneinde geen tijd te verliezen. 1 Terwille van de leesbaarheid is er van afgezien om telkens de mannelijke en vrouwelijke vormen te gebruiken. 1

Achtergrond Software Engineering richt zich op het systematisch ontwerpen, bouwen en onderhouden van grote software systemen die op tijd en binnen de begroting opgeleverd worden, betrouwbaar en efficiënt zijn, en ook op langere termijn goed onderhoudbaar zijn. Software Engineering is essentieel voor het functioneren van de huidige maatschappij, vrijwel geen product of dienst zowel van het bedrijfsleven als van de overheid kan tot stand komen zonder software engineering. Dat blijkt uit de cijfers: in 2002 is in Nederland ongeveer 28 miljard euro besteed aan automatisering (inclusief hardware); dit is 8% van het Bruto Binnenlands Product. In 1999 werd de totale markt voor software producten wereldwijd geschat op 155 miljard dollar per jaar met een jaarlijkse groei van 11% per jaar. Uitdagingen De huidige opleiding van software engineers is onvoldoende, gezien het feit dat vrijwel alle software projecten in meer of mindere mate in de problemen komen. Een overzicht: Ontwikkelkosten: 50% van de software engineering projecten kost tweemaal zoveel als oorspronkelijk begroot. Ontwikkeltijd: een derde van de software projecten overschrijdt de tijdsplanning met 200 tot 300%. Mislukte projecten: 80% van de softwareprojecten wordt door de opdrachtgevers als mislukt beschouwd. Als een gevolg hiervan wordt een derde van de projecten vroegtijdig afgebroken. Kosten van softwarefouten: het United States National Institute of Standards and Technology (NIST) schat dat softwarefouten de Amerikaanse economie jaarlijks 60 miljard dollar kosten ofwel 0.6% van het Bruto Binnenlands Product. Kosten van software-onderhoud en aanpassing: Software die niet wordt onderhouden is binnen de kortste keren onbruikbaar. Aangezien de meeste software niet is ontwikkeld om te evolueren met de veranderende wensen van de gebruiker, is het onderhouden en aanpassen van software een uiterst kostbare zaak. Wereldwijd zijn er momenteel ruim 10 miljoen software engineers werkzaam en meer dan 60% daarvan houdt zich full-time met onderhoud bezig. Kansen voor een Master of Software Engineering opleiding De hierboven genoemde uitdagingen vragen om geavanceerd onderzoek en om onderwijs dat de resultaten van dit onderzoek overdraagt. De Master of Software Engineering opleiding zal hierin een toonaangevende rol spelen. In de Amsterdamse regio is unieke expertise beschikbaar over onderzoek en gebruik van geavanceerde software engineering technieken. Dankzij deze expertise is het mogelijk om een docententeam samen te stellen dat alle aspecten van Software Engineering kan overzien. De docenten zijn verbonden aan: UvA II/OWI-i 2 HvA I&E

Informatica Instituut (www.science.uva.nl/ii) van de Universiteit van Amsterdam (UvA - II), Instituut voor Informatica en Elektrotechniek (www.hva.nl/organi/ie.htm) van de Hogeschool van Amsterdam (HvA - I&E), Cluster Software Engineering (www.cwi.nl/sen) van het Centrum voor Wiskunde en Informatica (CWI - SEN), Afdeling Informatiemanagement en Software Engineering (www.cs.vu.nl/imse) van de Vrije Universiteit (VU - IMSE), en Software Improvement Group (www.software-improvers.com) (SIG). De opleiding start op 1 september 2003 en is een nieuwe en voltijdse masteropleiding. Een deeltijdopleiding of een duale variant wordt voor het studiejaar 2003-2004 niet aangeboden. Het resterende deel van dit document bestaat uit een toelichting op het programma van de masteropleiding Software Engineering. Inhoudsopgave 1 Doelgroep, Toelatingseisen en Eindtermen 4 1.1 Doelgroep................................................. 4 1.2 Toelatingseisen.............................................. 4 1.3 Eindtermen................................................ 4 2 Het Onderwijs 6 2.1 Didactisch kader............................................. 6 2.2 Curriculum en semesterindeling..................................... 6 2.3 Docententeam.............................................. 8 2.4 Open source software.......................................... 8 3 Vakomschrijvingen, Projectonderwijs en Examen 9 4 Inbedding van de Opleiding 17 4.1 Klankbordgroep.............................................. 17 4.2 Internationaliseringsbeleid........................................ 17 5 Verantwoording 17 UvA II/OWI-i 3 HvA I&E

1 Doelgroep, Toelatingseisen en Eindtermen 1.1 Doelgroep De masteropleiding Software Engineering richt zich landelijk op WO en HBO bachelors in de informatiewetenschappen. Het onderwijs wordt in het Nederlands gegeven; het onderwijsmateriaal is zoveel mogelijk in het Engels gesteld. 1.2 Toelatingseisen Voor toelating tot de masteropleiding Software Engineering per september 2003 komt in aanmerking: 1. Iedere Bachelor Informatica of Technische Informatica van een Nederlandse universiteit. 2. Een ieder die een buitenlandse kwalificatie vergelijkbaar met 1 heeft, op voorwaarde dat het Nederlands en Engels actief en passief voldoende worden beheerst. Wat betreft de beoordeling van een buitenlands diploma zullen met het Nuffic criteria en procedures worden vastgesteld. 3. Iedere HBO Bachelor Informatica (HIO), Technische Informatica, Information Engineering, of Elektrotechniek met afstudeerrichting Computerkunde, met eindcijfer gemiddeld 7 of hoger die een pakket heeft gevolgd dat de volgende of hiermee vergelijkbare vakken omvat: (a) Algoritmen en datastructuren, (b) Systeemarchitectuur, (c) Besturingssystemen, (d) Programmeertalen, (e) Software engineering. 4. Een ieder die (een substantieel deel van) een gerelateerde opleiding succesvol heeft afgerond en die tijdens een assessment procedure aantoont over voldoende kwaliteit, motivatie en voorkennis te beschikken om de opleiding succesvol af te ronden. De genoemde procedure is nader vast te stellen door de Examen Commissie. 1.3 Eindtermen Algemene eindtermen. 1. De master heeft op het gebied van software engineering inzicht in de belangrijkste technologische ontwikkelingen en hieraan gerelateerde wetenschappelijke resultaten. 2. De master is in staat dit inzicht in te zetten ten behoeve van innovatie en modernisering van software engineering. 3. De master kan software engineering-problemen aanpakken met behulp van abstractie en modelvorming, en is in staat de oplossingen zowel in algemene termen als in wiskundige en technische termen te formuleren. UvA II/OWI-i 4 HvA I&E

4. De master is in staat zich zowel mondeling als schriftelijk helder uit te drukken, is vaardig in het presenteren voor een groep mensen, en weet problemen en oplossingen op het juiste abstractienivo uit te leggen. 5. De master kan goed in teamverband functioneren. De master is vaardig in het overleggen in kleine en grote groepen over technische thema s en is goed in staat technische werkzaamheden te verdelen over een groep mensen en deze werkzaamheden op elkaar af te stemmen. 6. De master heeft zich rekenschap gegeven van de maatschappelijke, ethische en sociale aspecten van software engineering. Specifieke eindtermen. 1. De master is vaardig in het exploreren (zoeken, lezen en beoordelen) van de vele vormen, zowel qua inhoud als medium, van documentatie en literatuur op het gebied van de software engineering. 2. De master beheerst methoden en technieken om een software systeem mee te laten evolueren met de veranderende eisen die aan dat systeem gesteld worden. 3. De master is in staat kwalitatief hoogwaardige systemen te ontwikkelen door het systematisch gebruik van testmethoden en technieken. De master beheerst een scala aan testmethoden en technieken, weet wanneer welke techniek ingezet dient te worden, en heeft hiermee ook praktische ervaring opgedaan. 4. De master is in staat richtlijnen op het gebied van softwareconstructie op te stellen, bijvoorbeeld ten aanzien van coding standards, herstructurering, configuratie management, en build processen. 5. De master is in staat systeemeisen te vertalen in een systeemarchitectuur en afwegingen tussen conflicterende eisen zorgvuldig te maken en te motiveren. 6. De master is in staat wensen van systeemgebruikers om te zetten in specifieke requirements, objectmodellen en acceptatietests. 7. De master is op de hoogte van diverse software procesmodellen en kent de voor- en nadelen van deze. Hij is in staat een ontwikkelingsproces te kiezen voor een specifiek project, en het geselecteerde proces optimaal af te stemmen op de eisen die door dat project gesteld worden. 8. De master heeft voldoende technische kennis en intellectuele capaciteiten om na enige jaren en ervaring een leidinggevende rol in het werkveld van de software engineering te kunnen spelen. De master is in staat een visie te ontwikkelen op het gebied van software engineering en zodoende bij te dragen aan de evolutie en innovatie van concrete software engineering projecten. UvA II/OWI-i 5 HvA I&E

2 Het Onderwijs 2.1 Didactisch kader Het éénjarig curriculum (60 ECTS) bestaat voor 60% uit vakinhoudelijk cursorisch onderwijs (theorie en practicum 36 ECTS) en voor 40% uit projectonderwijs (24 ECTS), onder meer uit te voeren bij externe partners. Voor zowel cursorisch onderwijs als projectonderwijs staan de te bereiken eindtermen (zie Paragraaf 1.3) centraal. In het bijzonder bevat het curriculum geen vakken die uitsluitend ten dienste staan van andere vakken. Het cursorisch onderwijs omspant de volledige range van vakinhoudelijke onderwerpen die wij op dit moment beschouwen als de body of knowledge in software engineering. Dit onderwijs bestaat uit 6 vakken en wordt verzorgd op vaste dagen in de week gedurende periodes van 8 weken. Elk vak bestaat uit hoorcolleges en werkcolleges en/of practica. Het werkcollege geeft de student gelegenheid met de aangeboden stof te oefenen en dient ter consolidering. In het practicum past de student onder begeleiding van een docent de behandelde stof toe op typische software engineering problemen. Elk vak wordt getoetst middels een schriftelijk tentamen en/of de beoordeling van de bij het practicum of werkcollege opgeleverde producten. De invulling van de vakken sluit aan bij belangrijke moderne ontwikkelingen, zoals het Unified Process, agile methods, software architectuur, product families, en componenttechnologie. Hiermee geeft de opleiding een ruime overdekking van de internationaal opgestelde Software Engineering Body of Knowledge (SWEBOK). Het projectonderwijs krijgt gestalte in de vorm van twee korte projecten en het Mastersproject. Het eerste project is een literatuurstudie, bijvoorbeeld het maken van een ge-annoteerde bibliografie volgens gegeven richtlijnen of voorbeelden. In het tweede project gaat het om de voorbereiding op het Mastersproject; dit project loopt gelijktijdig met de literatuurstudie over een periode van 4 weken. Het Mastersproject vindt plaats in de laatste twaalf weken van het studiejaar. Dit project wordt in twee vormen aangeboden: - een onderzoeksgerichte variant waarin studenten literatuurstudie doen, deelnemen aan een onderzoeksproject en hierover rapporteren; - een softwaregerichte variant waarin studenten een mini software house beheren en software voor een (interne of externe) klant moeten bouwen. In de loop van het eerste semester worden studenten hierover geïnformeerd en maken ze een keuze. 2.2 Curriculum en semesterindeling Het cursorisch deel van de opleiding is ondergebracht in zes vakken van elk 6 ECTS: Software Evolution, Software Architecture, Software Construction, Requirements Engineering, Software Testing, en Software Process. Deze vakken hebben een zeer nauwe relatie met de software life cycle, en daarmee met elkaar. Het vak Software Process gaat in op het gehele proces van software ontwikkeling en onderhoud en gaat ook in op de (project) management aspecten die daarbij een rol spelen; de overige vijf vakken komen overeen met de voornaamste fasen van de software life cycle, waarbij Software Evolution het onderhoud van software omvat, en ook ingaat op software kwaliteit. Onder andere om deze reden is dat vak als eerste in de semesterindeling geplaatst. Deze vakken worden in Paragraaf 3 afzon- UvA II/OWI-i 6 HvA I&E

derlijk toegelicht. In Paragraaf 3 wordt ook het projectonderwijs en het examen Master of Software Engineering toegelicht. Voor de roostering van het onderwijs gebruiken we een indeling van het eerste semester in perioden van 8, 8 en 4 weken. Het cursorische onderwijs vindt plaats in perioden van 8 weken, waarbij de 8e week een tentamenweek (tentamen, practicumafsluiting, eindpresentatie of inleveren verslag) is. De eerste periode van 4 weken wordt gebruikt voor de korte projecten Literatuurstudie en Voorbereiding Mastersproject. Het tweede semester bestaat uit een periode van 8 weken waarin het laatste cursorische onderwijs plaats vindt; de resterende 12 weken worden gevuld met het Mastersproject. Het onderwijsprogramma voor de masteroleiding Software Engineering is als volgt ingedeeld: Semester 1 (8+8+4 weken) Periode 1 Periode 2 Periode 3 (week 36 t/m 43) (week 44 t/m 51) (week 2 t/m 5) Vak 1: (6 ECTS) Vak 3: (6 ECTS) (4 ECTS) Software Evolution Software Construction Literatuurstudie Vak 2: (6 ECTS) Vak 4: (6 ECTS) (2 ECTS) Voorbereiding Software Architecture Requirements Engineering Mastersproject Semester 2 (8+(8+4) weken) Periode 4 Periode 5 Periode 6 (week 6 t/m 13) (week 14 t/m 22) (week 23 t/m 26) Vak 5: (6 ECTS) (18 ECTS) Software Testing Mastersproject Vak 6: (6 ECTS) Software Process Structuur en belasting van het onderwijs: 1. De zes 6 ECTS-cursussen beslaan wekelijks 4 uur hoorcollege en 6 uur werkcollege en/of practicum. Dus 10 uur begeleid onderwijs per week. Zelfwerkzaamheid per week is 10 uur per vak. Het onderwijs in een dergelijk vak geeft de student een belasting van 20 uur per week. 2. Tijdens de twee korte projecten (periode 3) en het Mastersproject wordt de student begeleid door een interne supervisor. Een belangrijke taak van de interne supervisor is het archiveren van de projectresultaten. Gedurende het projectonderwijs wordt voor de student een belasting voorzien van (gemiddeld) 40 uur per week. UvA II/OWI-i 7 HvA I&E

2.3 Docententeam De vaste kern van het docententeam van de masteropleiding Software Engineering bestaat uit de volgende vijf personen: Dr. M.G.J. van den Brand (CWI - VU) Software Evolution en Software Construction, Ing. R. Esmaili (HvA) Requirements Engineering en Software Testing, Prof.dr. P. Klint (CWI - UvA) Software Evolution en Software Construction, Dr. T. Kuipers (SIG) Software Process, Prof.dr. J.C. van Vliet (VU) Software Architecture. Naast de vaste docenten zullen ook regelmatig gastdocenten optreden. 2.4 Open source software Open source software krijgt bij de inrichting van het onderwijs bijzondere aandacht. Overwegingen hierbij zijn deels praktisch (toegang tot broncode van realistische systemen, mogelijkheid te werken aan projecten die breder dan de onderwijssetting zijn, etcetera), en deels ideologisch (ook overheid en bedrijfsleven hechten in toenemende mate belang aan open source software, deels om vendor lock-in tegen te werken). UvA II/OWI-i 8 HvA I&E

3 Vakomschrijvingen, Projectonderwijs en Examen Noot. De literatuuropgave bij de vakken kan door een docent nader ingevuld of aangevuld worden. Software Evolutie Software Evolutie 6 Tentamen en practicum Kernwoorden software maintenance, configuratie management, reverse engineering, re-engineering, software renovatie, maintenance processes. Voorkennis Kennis van een programmeertaal, enige ervaring met een software ontwikkelomgeving (Linux, Java,...) Wil een software systeem zijn waarde voor de gebruikers behouden, dan is het van groot belang dat het systeem mee kan evolueren met de veranderende eisen die de business en de technologie stellen. Vaak zal het gaan om veranderingen die plaats vinden terwijl het systeem al in productie is. In het vak software evolutie worden factoren behandeld die flexibiliteit en evolutie bemoeilijken, en technieken om starre systemen geschikt te maken voor verandering. Na afloop van dit onderdeel is de student in staat om een keuze te maken uit verschillende technieken om systemen te analyseren en meer flexibel te maken. Practicum In het practicum doet de student ervaring op met technieken voor analyse en transformatie van software systemen. Bovendien wordt de student geconfronteerd met een bestaand, groot systeem, om zo ervaring op te doen met de geleerde reverse engineering technieken. Open source projecten (Linux, Source Forge) dienen als voorbeeld. Eisen aan zalen voor college en practicum, en aan apparatuur en software Reverse engineering systeem, Linux. Literatuur T. Pigoski. Practical Software Maintenance. Best practices for managing your software investment, 384 pages. Wiley, 1997. S. Demeyer, S. Ducasse and Oscar Nierstrasz. Object-Oriented Reengineering Patterns. 304 pages. Morgan Kaufmann and DPunkt, 2002. UvA II/OWI-i 9 HvA I&E

Software Architectuur Software Architectuur 6 Tentamen en practicum Kernwoorden product families, software product lines, architectural patterns, design patterns, architecture trade-off analysis, viewpoints, architectural evolution. Voorkennis Kennis van en ervaring met een moderne modulaire programmeertaal (Java, C#) In dit vak wordt ingegaan op fundamentele ontwerpbeslissingen die er voor moeten zorgen dat een software systeem gedurende een lange periode in staat is te voldoen aan de gestelde eisen. Dit betreft de opdeling van een systeem in componenten, de relaties tussen deze componenten, de kwaliteitseisen die aan de individuele componenten en aan het systeem als geheel gesteld dienen te worden, en afwegingen die gemaakt dienen te worden tussen conflicterende eisen. Na dit onderdeel is de student in staat om: systeemeisen te vertalen in een systeemarchitectuur; afwegingen tussen conflicterende eisen zorgvuldig te maken en te motiveren; de kwaliteit van een voor een bepaald systeem gekozen architectuur te beoordelen; een architectuur te documenteren voor verschillende belanghebbenden, met verschillende prioriteiten. Practicum In het practicum ontwerpt de student een gedistribueerde, gelaagde architectuur. Tevens wordt een analyse uitgevoerd van de architectuur van enkele bestaande (open source) systemen. Eisen aan zalen voor college en practicum, en aan apparatuur en software Ontwerp systeem (zoals Rational Rose of Argo/UML). Literatuur L. Bass, P. Clements and R. Kazman. Software Architecture in Practice. Addison-Wesley, 2003. (Second edition, afhankelijk van beschikbaarheid.) F. Buschmann, C. Jaekel, R. Meunier, R. Rohnert and M. Stahl. Pattern-Oriented Software Architecture - A System of Patterns. John Wiley & Sons, 1996. UvA II/OWI-i 10 HvA I&E

Software Construction Software Construction 6 Tentamen en practicum Kernwoorden inspecties, coding standards, pair programming, build processes, configuratie management, software quality, reliability, design by contract, refactoring, code smells. Voorkennis Het vak software constructie houdt zich bezig met methoden en technieken die specifiek gericht zijn op de programmeer- en implementatie-activiteiten van een software engineering project. Voorbeelden van zulke activiteiten zijn coding en debugging, detailed design, unit testing, reviews op andermans code, optimalisaties, component integratie, enz. Na dit onderdeel is de student in staat om: een audit uit te voeren van een software-systeem; coding standards te (be-)schrijven en in te voeren in een organisatie; adequate software constructie gereedschappen te selecteren en toe te passen (make, IDE s, configure-scripts, etc); refactoring te gebruiken om sneller nieuwe features in software te kunnen implementeren en fouten sneller te kunnen repareren. Practicum In het practicum voert de student inspecties uit op een bestaande (Java-)applicatie, identificeert hij bad coding smells in de programmatuur, en past hij refactorings toe om code te verbeteren. Eisen aan zalen voor college en practicum, en aan apparatuur en software Software ontwikkelomgeving (Linux, JDE of.net). Literatuur M. Fowler. Refactoring: Improving the Design of Existing Code. 413 pages. Addison-Wesley, 1999. S. McConnell. Code Complete. A practical handbook of software construction. Microsoft Press, 1993. UvA II/OWI-i 11 HvA I&E

Requirements Engineering Requirements Engineering 6 Tentamen en practicum Kernwoorden requirements elictation, stakeholder analysis, scoping, use case levels, acceptance testing, business modeling, object models, analysis patterns, customer involvement, release planning. Voorkennis Het succes van een software-systeem staat of valt met de correcte interpretatie van de wensen van de toekomstige systeemgebruikers. In dit vak wordt ingegaan op een aantal specifieke technieken om deze wensen te destilleren, te formuleren in use cases, en controleerbaar te maken middels functionele acceptatietests. Na dit onderdeel is de student in staat: in overleg met beoogde eindgebruikers systeemrequirements op te stellen; requirements te vertalen in een serie functionele acceptatie-tests; een applicatiedomein te beschrijven middels object-georienteerde business modellen. Practicum In het practicum wordt in een rollenspel een stakeholder analyse uitgevoerd, en worden systeemeisen vertaald in use cases en acceptatietests. Eisen aan zalen voor college en practicum, en aan apparatuur en software Geen specifieke. Literatuur A. Cockburn. Writing Effective Use Cases. 270 pages. Addison-Wesley, 2001. M. Fowler. Analysis Patterns: Reusable Object Models. 357 pages. Addison-Wesley, 1997. UvA II/OWI-i 12 HvA I&E

Software Testing Software Testing 6 Tentamen en practicum Kernwoorden kwaliteitseisen, verbeterplan, test planning, test case reductie, coverage, black box testing, white box testing, unit and integratie testing, acceptatie testing, quality assurance, test-first design, test-first development, dynamische en statische procesverbetermodellen. Voorkennis Het testen van software systemen is van groot belang om te verifiëren dat een systeem het gewenste gedrag vertoont en te valideren dat het systeem beantwoordt aan de requirements. Door het testen nauw te integreren met de overige stappen in het softwareontwikkelingsproces (van requirements analyse tot implementatie) is het mogelijk kwalitatief hoogwaardige software te ontwikkelen. Na dit onderdeel is de student in staat om: kwaliteitseisen op te stellen; een overzicht te geven van diverse testtechnieken (proces en produkt); een keuze te maken uit testtechnieken; testtechnieken in te voeren in een bestaande softwareontwikkellijn. Practicum In het practicum doet de student ervaring op met een testing framework, en past dit toe op eigen en bestaande software systemen. Eisen aan zalen voor college en practicum, en aan apparatuur en software Geen specifieke. Literatuur Softwarekwaliteit: op weg naar betere software, Fred Heemstra, Rob Kusters, Jos Trienekens, ten Hagen & Stam Uitgevers, Den Haag 1e druk 2001. Testen volgens TMap, Martin Pol, Ruud Teunissen, Erik van Veenendaal, uitgever: Tutein Nolthenius, 2e druk 1999. UvA II/OWI-i 13 HvA I&E

Software Process Software Process 6 Tentamen en practicum Kernwoorden CMM, RUP, UP, agile methods, extreme programming, DSDM, software process improvement, project management, planning and estimation, software metrics. Voorkennis In dit vak wordt de nadruk gelegd op de samenhang tussen de eerder opgebouwde kennis. In het bijzonder wordt gekeken naar de manier waarop de eerder geleerde methoden en technieken geïntegreerd kunnen worden tot een samenhangend software process. Tevens worden de in de cursus behandelde onderwerpen in een bredere context geplaatst. Na het volgen van dit vak is de student in staat: een overzicht te geven van invloedrijke software proces modellen; een keuze te maken uit deze modellen voor een specifiek project; een proces aan te passen aan de specifieke eisen die in reele projecten gesteld worden; de effectiviteit van het in een lopend project gebruikte ontwikkelingsproces te beoordelen. Practicum In het practicum voert de student projectvoorbereidingen uit, met verschillende methodes en parameters. Ook wordt de student geconfronteerd met realistische probleemsituaties (situatieschetsen en rollenspellen). Eisen aan zalen voor college en practicum, en aan apparatuur en software Project planning tools en (mogelijk) tools voor kostenschatting. Literatuur P. Kruchten: The Rational Unified Process, An Introduction. Addison-Wesley, 1999. K. Beck. Extreme Programming Explained: Embrace Change. Addison-Wesley, 1999. UvA II/OWI-i 14 HvA I&E

Projectonderwijs en Examen In de loop van het projectonderwijs krijgt iedere student een interne supervisor toegewezen. De begeleiding van de student in het projectonderwijs valt onder de verantwoording van zijn interne supervisor. Het projectonderwijs krijgt gestalte in drie projecten: de Literatuurstudie, de Voorbereiding op het Mastersproject, en als sluitstuk van de opleiding het Mastersproject. Literatuurstudie Literatuurstudie 4 Verslag en bespreking Een voorbeeld van een literatuurstudie is het maken van een ge-annoteerde bibliografie volgens gegeven richtlijnen of voorbeelden. Behaalde studieresultaten kunnen worden gebruikt als indicatie voor een gerichte opdracht. In voorkomende gevallen kan de literatuurstudie aansluiten bij de afstudeerplannen van de student en een directe rol spelen in de voorbereiding van het Mastersproject. Voorbereiding Mastersproject Voorbereiding Mastersproject 2 Verslag, presentatie, accordering Dit project valt gelijktijdig met de literatuurstudie, en is gericht op het afstuderen. In de loop van dit project moet de student beslissen of hij een onderzoeksgericht Mastersproject dan wel een softwaregericht Mastersproject gaat doen. In voorkomende gevallen kan de literatuurstudie hierbij een ondersteunende rol spelen. De eindtermen voor dit project zijn: - schriftelijke vastlegging van de precieze projectdoelen, - feitelijke kennismaking/contactlegging met de externe partij(en) die betrokken zullen worden bij het Mastersproject, - een eerste opstelling van het projectplan. Op deze wijze ontstaat van ieder student een archief, dat in het verdere verloop van de studie zal worden bijgehouden en onder verantwoording van de interne supervisor valt. UvA II/OWI-i 15 HvA I&E

Mastersproject Mastersproject 18 Verslag, presentatie, accordering Het Mastersproject wordt uitgevoerd door een individuele student of door een groepje van twee studenten. Naast de interne supervisor krijgt elke student (of groep van twee studenten) een externe supervisor toegewezen die de omgeving van het afstuderen representeert. Het Mastersproject duurt in totaal twaalf weken. Gedurende deze periode zijn de studenten verplicht een maandelijkse voortgangsrapportage in te dienen bij hun interne supervisor. Deze rapportage moet voldoen aan een vast omschreven omvang en structuur. Het Mastersproject leidt tot het feitelijke examen Master of Software Engineering. Het individuele Master of Software Engineering examen is als volgt samengesteld: Een presentatie van één uur over het voltooide Mastersproject; Een afstudeerscriptie, geschreven in het Nederlands, overeenkomstig een vast omschreven omvang en structuur (indicatie: 10 pagina s). Het dubbele Master of Software Engineering examen voor een groep van twee studenten is als volgt samengesteld: Een presentatie van 45 minuten per kandidaat over het voltooide Mastersproject; Een afstudeerscriptie, geschreven in het Nederlands, overeenkomstig een vast omschreven omvang en structuur (indicatie: 15 pagina s). Voor de beoordeling van het examen wordt ook advies gevraagd aan de externe supervisor. Na afloop van het Mastersproject moet het archief van elke examenkandidaat het volgende bevatten: - Een beschrijving/definitie van het Mastersproject (vaste omvang en structuur), - Het contract tussen student en externe partij, - De drie maandelijkse voortgangsrapportages, - De afstudeerscriptie, - Het presentatiemateriaal (bv. beamerpresentatie), - Een evaluatieformulier ingevuld door de interne supervisor, - Een evaluatieformulier ingevuld door de externe supervisor. UvA II/OWI-i 16 HvA I&E

4 Inbedding van de Opleiding 4.1 Klankbordgroep Voor afstemming van de opleiding op het afnemend veld wordt een klankbordgroep opgezet. Deze groep bestaat uit rond de 20 specialisten en leidinggevenden die actief zijn in state-of-the-art software engineering bij toonaangevende instellingen en bedrijven in Nederland. De klankbordgroep adviseert over de inhoud en opzet van de opleiding. 4.2 Internationaliseringsbeleid De afgestudeerden van de opleiding zullen het tekort aan gezochte professionals doen afnemen, zowel nationaal als internationaal. De masters Software Engineering zijn niet opgeleid om in onderzoek door te stromen, en studenten worden ook niet geworven met dat doel voor ogen. Meerwaarde wordt, op de lange termijn, bereikt door te streven naar een internationaal erkend expertisecentrum rond de opleiding. Dit streven valt goed te combineren met de ambities die vorm gaan krijgen in het Wetenschapen TechnologieCentrum Watergraafsmeer. Er zijn meerdere vormen van synergie te voorzien: de opleiding kan tot transferkanaal dienen van state-of-the-art inzichten, de opleiding wordt aantrekkelijker voor toonaangevende bedrijven, versterkt de technologiepoot van het centrum, en voorziet bedrijven en instellingen van het park van hooggekwalificeerde engineers. Buiten de UvA heeft het park in de vorm van het CWI al een lange traditie in de Software Engineering die met de komst van de opleiding versterkt wordt. Gedacht kan worden aan een rol binnen Europa in de accredidatie van opleidingen Software Engineering. Een eerste stap in die richting heeft reeds plaatsgevonden: recent is één van de opstellers van dit rapport uitgenodigd deel te nemen in SWEBOK (www.swebok.org). De klankbordgroep kan ook uitgroeien tot een internationaal lichaam. Het internationaal aanbieden van de master wordt op termijn duidelijk geambieerd. Het is van belang stap voor stap ervaring op te bouwen met internationale werving, intake en opleiding. Dit is een complex proces, onderhevig aan steeds veranderende wet- en regelgeving (zowel in Nederland als elders); bovendien staat de huisvestingsproblematiek rond Amsterdam grote aantallen studenten van buiten Nederland voorlopig niet toe. 5 Verantwoording Dit programma is opgesteld aan de hand van bijdragen van M.G.J. van den Brand, J. Derriks, A. van Deursen, P. Klint, T. Kuipers, A. Ponse, S.F.M. van Vlijmen, en H.R. Walters. De uitvoering en organisatie van de masteropleiding Software Engineering ligt bij het Instituut voor Informatica (II) en het Onderwijsinstituut Informatiewetenschappen (OWI-i) van de faculteit der Natuurwetenschappen, Wiskunde en Informatica van de Universiteit van Amsterdam, en het Instituut Informatica en Elektrotechniek (I&E) van de Hogeschool van Amsterdam. De UvA is voorlopig penvoeder. Beide partijen leveren in principe een even grote bijdrage aan de realisatie en continuering van de opleiding. Conform de MUB (de wet Modernisering Universitaire Bestuursorganisatie) zullen een Opleidingscommissie en een Examencommissie worden ingesteld. Vooralsnog is het uitgangspunt dat de masteropleiding Software Engineering door de betreffende Informaticacommissies wordt ondersteund. De Opleidingsdirecteur en Opleidingscoördinator zijn de betreffende bestuurders van II/OWI-i. De Assistent Opleidingscoödinator is dr. A. Ponse (alban@science.uva.nl) en de studieadviseur is dr. A. Haker (andrea@science.uva.nl). UvA II/OWI-i 17 HvA I&E