Studiefiche Academiejaar 2016-2017 Softwareontwikkeling I (E761022) Cursusomvang (nominale waarden; effectieve waarden kunnen verschillen per opleiding) Studiepunten 6.0 Studietijd 180 u Contacturen 60.0 u Aanbodsessies en werkvormen in academiejaar 2016-2017 A (semester 2) B (semester 2) practicum 30.0 u hoorcollege 30.0 u practicum 24.0 u hoorcollege 18.0 u Lesgevers in academiejaar 2016-2017 Naessens, Helga Van Den Breen, Wim TW05 TW05 Aangeboden in onderstaande opleidingen in 2016-2017 Bachelor of Science in de industriële wetenschappen: elektromechanica Bachelor of Science in de industriële wetenschappen: informatica Schakelprogramma tot Master of Science in de industriële wetenschappen: elektrotechniek (afstudeerrichting automatisering) Verantwoordelijk lesgever Medelesgever stptn 6 aanbodsessie A 6 4 A B Onderwijstalen Nederlands Trefwoorden Systeemanalyse, Modellering, UML, Objectgeoriënteerd programmeren, Objectgeoriënteerd ontwerp, Programmeren van GUI's, JavaFX, Computerwetenschappen (P170), Informatica (P175), Computertechnologie (T120) Situering In het eerste gedeelte van deze cursus wordt het proces behandeld dat doorlopen wordt om software te ontwikkelen. Het doel is de student in staat te stellen om autonoom kleine projecten tot een goed einde te brengen. Hem wordt aangeleerd welke de methodes zijn om programmatuur van goede kwaliteit te maken. In het tweede gedeelte van deze cursus komen geavanceerde topics van objectgeoriënteerd programmeren aan bod. OGP beoogt hergebruik en overdraagbaarheid van code, maar hiervoor is een goed inzicht vereist in de OGPconcepten zoals samenstelling, overerving, abstractie en interfaces. Tevens leren de studenten in dit gedeelte GUI’s te programmeren in JavaFX, waardoor ze in staat zullen zijn om een bruikbare grafische gebruikersinterface toe te voegen aan een programma. Inhoud Het opleidingsonderdeel bestaat uit twee delen. Aanbodsessie A Deel 1: Systeemanalyse en -ontwerp • Basisprincipes van een goede programmeerpraktijk: kenmerken van goede software • en een goed ontwikkelingsproces. • Hergebruik: hoe bestaande software te hergebruiken, en code te schrijven die • hergebruikt kan worden. • De verschillende fasen van het ontwikkelingsproces. • Basisprincipes van UML. • Behoefteanalyse en modellering: methodes om een te ontwikkelen systeem te • definiëren. (Goedgekeurd) 1 • Ontwerp en realisatie: het omzetten van een formeel model in code. Aanbodsessie A en B Deel 2: Java(FX) en API • Geavanceerde topics objectgeoriënteerd programmeren in Java, met onder andere: • • overerving meerdere klassen: overriding, overloading, Object, polymorfisme, • • dynamische binding • • klassen: organisatie en toegang • • static, final, abstract • • gebruik referentieobjecten: arrays en gedeelde structuur, copy-constructor, clone, • • parameters en return-values: privacy leak • • exception handling • • collections, generics, iteratoren • • internationalization • • enumerations • • Git • • unit testing • Programmeren van GUI’s in JavaFX: layout, events, grafische bewerkingen, controls • en vensters. Begincompetenties De eindcompetenties verworven in Informatica II zijn voldoende. Eindcompetenties 1 Principes van softwareontwerp kunnen toepassen met het oog op productie, 1 onderhoud en kwaliteit. 2 Een relatief complex probleem kunnen analyseren, structureren en vertalen naar een 1 objectgeoriënteerd ontwerp. 3 Een objectgeoriënteerd ontwerp kunnen omzetten naar een werkend 1 computerprogramma in Java en dit programma kritisch kunnen testen. 4 Een GUI-probleem kunnen analyseren, structureren en vertalen naar effectief GUI1 ontwerp. 5 Dit GUI-ontwerp kunnen omzetten naar een behoorlijk werkend programma. Creditcontractvoorwaarde Toelating tot dit opleidingsonderdeel via creditcontract is mogelijk mits gunstige beoordeling van de competenties Examencontractvoorwaarde Dit opleidingsonderdeel kan niet via examencontract gevolgd worden Didactische werkvormen Hoorcollege, practicum Toelichtingen bij de didactische werkvormen Theorie: hoorcollege Labo: practicum (zelfstandig werk aan een individuele PC). Leermateriaal syllabus De lesgevers bieden slides, voorbeeldprogramma's en oefeningen aan via het elektronisch leerplatform. Referenties • Ken Lunn: Software engineering met UML, Academic Service, 2004. ISBN 90 395 • 2253 7. • Ivan Marsic: Software Engineering, Rutgers, 2009. Open Access Publishing. • Downloadbaar op http://www.ece.rutgers.edu/~marsic/books/SE • Perdita Stevens en Rob Pooley: Using UML. Software engineering with objects and • components, Addison Wesley, 2000. ISBN 0 201 64860 1. • Ken Arnold, James Gosling, David Holmes: The Java Programming Language, fourth • edition • Walter Savitch: Absolute Java, fifth edition • David Flanagan: Java in a nutshell • JavaFX Getting Started Tutorial: http://docs.oracle.com/javafx/2/get_started/jfxpub• get_started.htm • JavaFX Documentation: http://docs.oracle.com/javafx • JavaFX API: http://docs.oracle.com/javafx/2/api Vakinhoudelijke studiebegeleiding Extra uitleg op afspraak, eventueel via e-mail. Evaluatiemomenten niet-periodegebonden evaluatie (Goedgekeurd) 2 Evaluatievormen bij periodegebonden evaluatie in de eerste examenperiode Mondeling examen Evaluatievormen bij periodegebonden evaluatie in de tweede examenperiode Mondeling examen Evaluatievormen bij niet-periodegebonden evaluatie Participatie, vaardigheidstest Tweede examenkans in geval van niet-periodegebonden evaluatie Examen in de tweede examenperiode is mogelijk Toelichtingen bij de evaluatievormen Theorie: mondeling examen (gesloten boek) Labo: permanente evaluatie, testen Eindscoreberekening Theorie: 50% Labo: 50% De beoordeling en het tot stand komen van de eindquotatie van opleidingsonderdelen gebeurt via het wiskundige gemiddelde volgens de toegekende coëfficiënten. Indien nochtans op één van de onderscheiden delen 7 of minder op 20 wordt behaald, kan worden afgeweken van deze rekenkundige berekening van de eindquotatie van het opleidingsonderdeel en kunnen de punten bij consensus worden toegekend. Voor de testen van het oefeningenlabo wordt (eventueel in gewijzigde vorm) een tweede zittijd ingericht. (Goedgekeurd) 3