LORE logo  University of Antwerp
 Department of Mathematics and Computer Sciences
 Lab On REengineering
 This page: http://lore.ua.ac.be/Teaching/SE1BAC/oldindex.php?print=true
 [Normal Page]

Inleiding Software Engineering -- Oberon project

Studiemateriaal | Project | Extra hulp | Tijdsschema | Examen | Tweede Zittijd

De planning van de evaluatie in tweede zit kan je hier terugvinden.

Praktisch

Studenten: 1BAC Informatica en Wiskunde (Informatica)
Periode: 2de semester 2010-2011

Docent: Prof. S. Demeyer
Assistenten:
Quinten David Soetens
Jan Vlegels
Theorie
Woensdag 10u45 - 12u45 in G010
(Let op, er is niet iedere week een theorieles; raadpleeg het Tijdsschema)
Oefeningen
Donderdag 13u45 - 18u00 in G025
De oefeningen worden georganiseerd als sessies in de computerzalen waarop jullie vrij aan jullie project kunnen werken, en waar een assistent aanwezig is om eventuele vragen te beantwoorden. Tijdens die uren zijn de computerzalen voor jullie gereserveerd, zodat jullie zeker kunnen werken. Soms worden tijdens de oefeningensessies extra sessies gegeven over bepaalde essentiele onderwerpen (testen, polymorfisme, ...)

Doelstelling

Een eerste ervaring verwerven in het zelf realiseren van een software oplossing voor een niet-triviaal probleem. Op deze wijze wordt de inhoud van het vak Programmeren I, aangevuld met accenten uit andere cursussen, in de praktijk gebracht in een realistische context.

Aan het eind van deze cursus zullen jullie ...

  • de betrouwbaarheid van een software oplossing garanderen aan de hand van volautomatische tests en contracten.
  • onderhoudbare software opleveren aan de hand van een goed objectgericht ontwerp.
  • een plan opstellen en bijsturen aan de hand van realistische schattingen.

Inhoud

Naast een theoretische inleiding bestaat de inhoud van dit vak vooral uit zelfwerkzaamheid. Vertrekkende van een behoeftespecificatie (die in de loop van het project wordt uitgebreid en aangepast) zal de student het probleem analyseren en er een oplossing voor ontwerpen, implementeren en testen. Het implementeren en testen gebeurt aan de hand van de programmeertaal Oberon.

Onderwijsvorm

Als onderwijsvorm wordt gekozen voor een inleidend hoorcollege gevolgd door een "geleid project", waarbij stapsgewijze bijkomende informatie wordt verstrekt die de student door zelfwerkzaamheid in de praktijk moet brengen.

Examenvorm

Permanente evaluatie: twee tussentijdse evaluaties tijdens het academiejaar plus één finale evaluatie op het einde van het semester.

Studiemateriaal

Alle studie materiaal ter ondersteuning van de theorie kun je hieronder vinden.

  • Alle cursusnota's gebundeld ...
  • De kopies van de transparanten ...
  • Invulbladen voor planning
    • Plan 1.0 [ PDF | Excel ]
      Plan 1.0 dient afgegeven te worden tijdens de tweede week.
      In dit voorbeelddocument dien je alle vakjes met een (*) en alle kolommen met een (+) aan te passen".
    • Tijdsblad 1.0 [ PDF | Excel ]
      De tijdsbladen voor fase x dienen afgegeven te worden samen met de planning voor fase x + 1.
    • Plan 2.0 [PDF | Excel]
      Plan 2.0 dient afgegeven te worden de week na de eerste tussentijdse evaluatie.
    • Plan 2.1 [PDF | Excel]
      Plan 2.1 moet je alleen indienen als je iets wil aanpassen t.o.v. Plan 2.0. Dan moet het afgegeven te worden de week na de tweede tussentijdse evaluatie. Je moet daar (a.h.v. tijdsbladen) ook argumenteren waarom je die planning wil aanpassen.
  • De beoordelingscriteria voor een project
    • Evaluatie criteria SE1BAC [ PDF ]
  • Aanvullende nota's bij het testen [PDF]
  • Voorbeeldcode TicTacToe [TicTacToe.zip]
    Bevat
    • Uitgebreide uitvoer faciliteiten [ OutExt.Mod ]
    • Eerste "stub" versie, voornamelijk om een eerste testcase te doen slagen [ TTT10 ]
    • Tweede increment: voegt bord toe en het plaatsen en lezen van stukken.
      Voorbeeldjes van minder goede contracten en testen. [ TTT11a ]
    • "Goeie" versie van de tweede increment, nu met goede contracten en testen. [ TTT11 ]
    • "Alternative" versie van de tweede increment, nu met de verschillende manieren om het bord af te drukken. [ TTT11b ]
    • Derde increment, nu met spelers die zetten doen. [ TTT12 ]
    • Vierde increment, waarin de spelers zetten doen op basis van een voorgedefinieerde lijst. [ TTT13 ]
    • Vijfde increment, waarin de winnaar wordt bekendgemaakt. [ TTT14 ]
    • Zesde increment, waarbij tests bestaan die de gegenereerde uitvoer controleren door het vergelijken van files. [ TTT15 ]
    • Zevende tussentijdse increment, waarbij het toevoegen van HTML uitvoer aanleiding geeft tot gedupliceerde code. [ TTT16b ]
    • Zevende verbeterde increment, waarbij de gedupliceerde code uitgefactoriseerd is in een aparte "TicTacToeOut" module. [ TTT16 ]
  • "Coding conventions"
    Leesbare code is belangrijk, houd je daarom aan de volgende conventies
    [ Oberon Code Conventions ]

Project

Het practicum tijdens de 1rste week behandelt de "xml parser" een verplicht te gebruiken component van het project. Meer informatie hierover is te vinden op:

Alle informatie betreffende het project voor 2010-2011 zal te vinden zijn op

Vroegere projecten

  • De behoeftespecificaties van het project 2de semester 2009-2010 (Slagveld Simulatie) [ project2010 ]
  • De behoeftespecificaties van het project 2de semester 2008-2009 (Metro Simulatie) [ project2009 ]
  • De behoeftespecificaties van het project 2de semester 2007-2008 (Kraansimulator) [ project2008 ].
  • De behoeftespecificaties van het project 2de semester 2006-2007 (Prototype ETCS) [ project2007 ].
  • De behoeftespecificaties van het project 2de semester 2005-2006 (Air Traffic Control) [ project2006 ].
  • De behoeftespecificaties van het project 2de semester 2004-2005 (Naval Strategy Planner) [ project2005 ].
  • De behoeftespecificaties van het project 2de semester 2003-2004 (Biljart simulatie) [ project2004 ].
  • De behoeftespecificaties van het project 2de semester 2002-2003 (Metro simulatie) [ project2003 ].
  • De behoeftespecificaties van het project 2de semester 2001-2002 (WANDA Avonturenspel) [ project2002 ].
  • De behoeftespecificaties van het project 2de semester 2000-2001 (Studenten Portfolio) [ project2001 ].

Extra hulp

Voor extra hulp verwijzen we jullie naar "het forum" geassocieerd met de cursus in de blackboard leeromgeving ( http://blackboard.ua.ac.be/).

Tijdschema

De theorie bestaat uit 3 hoorcolleges (1. Betrouwbaarheid, 2. Objectgericht ontwerpen, en 3.Planning) waar we uitleg verschaffen over de te gebruiken technieken. Na de hoorcolleges gaan we over op een systeem van projectverdedigingen of evaluaties. Tijdens zo'n projectverdediging geven jullie korte demonstraties van jullie tussentijdse resultaten die eventueel aanleiding kunnen geven tot een bijsturing van de planning.

De oefeningen bestaan uit zelfstandig werk, t.t.z de oefeningen worden georganiseerd als sessies in de computerzalen waarop jullie vrij aan jullie project kunnen werken, en waar een assistent aanwezig is om eventuele vragen te beantwoorden. Tijdens die uren zijn de computerzalen voor jullie gereserveerd, zodat jullie zeker kunnen werken. Soms worden tijdens de oefeningensessies extra sessies gegeven over bepaalde essentiele onderwerpen (testen, polymorfisme, ...)

Hier is het tijdschema, laatst aangepast op Dinsdag, 08 februari 2011.

Week Datum Theorie Opdracht Mijlpaal
1 16 Feb Intro / Betrouwbaarheid    
2 23 Feb Objectgericht Ontwerpen Specificatie 1.0 Plan 1.0
3 2 Maa      
4 9 Maa Planning    
5 16 Maa * Evaluatie * Specificatie 2.0 Systeem 1.0
6 23 Maa     Plan 2.0
7 30 Maa      
8 6 Apr      
  13 Apr -- 20 Apr -- paasvakantie    
9 27 Apr      
10 4 Mei * Evaluatie *   Systeem 2.0
11 11 Mei     Plan 2.1
12 18 Mei      
13 25 Mei      
Examenperiode -- * Evaluatie (finaal)*   Systeem 2.1

Examen

Het examencijfer wordt gegeven op basis van de tussentijdse evaluaties.

Om te slagen moeten jullie

  • (a) op tijd alle plannen indienen (Plan 1.0 - Plan 2.0 - Plan 2.1)
  • (b) de verplichte functionaliteit demonstreren aan de hand van een reeks succesvolle tests
  • (c) voor elke klasse de aanwezige contracten aantonen en motiveren.

De rest van het eindcijfer hangt af van

  • hoeveelheid functionaliteit (hoe meer functionaliteit, hoe hoger het cijfer)
  • hoeveel beloofde functionaliteit (hoe meer niet ingeloste beloftes, hoe lager het cijfer; meer opleveren dan beloofd heeft geen effect)
  • objectgerichte structuur (hoe beter de objectgerichte structuur, hoe hoger het cijfer)
  • leesbaarheid code (hoe leesbaarder de code, hoe hoger het cijfer)

Om te zien hoe een en ander concreet in zijn werk gaat, vinden jullie hieronder het invulformulier met de beoordelingscriteria

  • Evaluatie criteria SE1BAC [ PDF ]

2de Zittijd

Het examen in de tweede zittijd verloopt gelijkaardig met de laatste evaluatie. Volgende elementen zijn belangrijk om alsnog te slagen.

  • het project blijft hetzelfde
  • je moet minstens alle "verplichte" onderdelen van de opdracht afwerken om te kunnen slagen. Indien je t.o.v. van je laatste planning andere (belangrijke) functionaliteit wil implementeren is een nieuwe planning aangewezen. Indien de functionaliteit die je wil opleveren niet anders is dan in je vorige planning, is een nieuwe planning niet nodig.

Literatuur

Volgend boek is aangeraden als algemene achtergrondinformatie bij de cursus. Het is beschikbaar in de bibliotheek.

[Stev99a]
Using UML: Software Engineering with Objects and Components, P. Stevens, R. Pooley, Addison-Wesley, 1999.
Engelstalige versie
[Stev00a]
Toepassing van UML: Software-engineering met objecten en componenten, P. Stevens, R. Pooley, Addison-Wesley, 2000.
Nederlandstalige versie

 

 

 Lab On REengineering - Antwerpen, last modified 14:56:30 22 August 2011