Naam:... INFO / WIS-INF / ASIB / IAJ. Theorie



Vergelijkbare documenten
Pagina 1/6. Joris Van Geet! :59 Comment: 1pt voor iteratief 1pt voor incrementeel niets voor een voorbeeldje

Vraag 1... Vraag 2... Vraag 3...

Vraag 1. Vraag 2. Vraag 3. Vraag 4.

Vaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende beslissingen. Je kan daarbij keuzestructuren gebruiken.

ARE methodiek Het ontwikkelen van Informatie Elementen

Sjabloon testspecificatie. <<Organisatie>>

Die inputs worden op een gecontroleerde manier aangeboden door (test) stubs. De test driver zorgt voor de uiteindelijke uitvoering ervan.

Programmeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27

voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is

Tentamen Object Georiënteerd Programmeren TI januari 2013, Afdeling SCT, Faculteit EWI, TU Delft

Als in de Bar Styles tabel in de kolom Show For Tasks de task Critical wordt

Zelftest Programmeren in PL/I

F3 Formules: Formule rechte lijn opstellen 1/3

Tentamen Programmeren in C (EE1400)

Objectgericht Programmeren. (in Python)

van PSD naar JavaScript

Zen Cart Attributen (artikel opties)

[15] Variabelen in functies (of: een woordje over scope)

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Vraag 1... Ieder risico in een risico analyse moet geschat worden voor wat betreft zijn impact... en zijn kans/propabiliteit...

Java Les 3 Theorie Herhaal structuren

Voortgezet Prog. voor KI

Small Basic Programmeren Text Console 2

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

ˆ het voorkomen van bepaalde woorden in de body van de mail,

Projectmatig werken. De scope van de GIP

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

UML is een visuele taal om processen, software en systemen te kunnen modeleren.

VOICE OF THE CUSTOMER

Vakgroep CW KAHO Sint-Lieven

Programmeermethoden NA. Week 5: Functies (vervolg)

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft

Info-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens

Courbois Software. Extra categoriën toevoegen aan de WebWinkel

SEQUENTIE-STRUCTUUR. Oefening: Dichtheid

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Zomercursus Wiskunde. Module 7 Poolcoördinaten (versie 22 augustus 2011)

PSD. Reeksen van logische procedures om problemen op te lossen in een eindig aantal stappen.

Lineaire data structuren. Doorlopen van een lijst

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

Requirements Traceability. Marcel de Baas, Jan Bank, Edwin Buisman, Frits Jacobs, Kitty Spaas, Erik Venema, Arno Zandman

Les E-03 Kritieke pad problemen in projecten

H9: Klasse Ontwerp. Richtlijnen Specificaties Multiple inheritence

In de tabel hieronder vindt u een beschrijving van de verschillende velden die kunnen voorkomen in uw import-bestand.

Abstraheren van modellen

Tussentijdse toets Expertsystemen

ALGORITMIEK: antwoorden werkcollege 5

aandeelprijs op t = T 8.5 e 9 e 9.5 e 10 e 10.5 e 11 e 11.5 e

Functies van meer variabelen voor dummy s

UML. From weblog Dennis Snippert

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, uur

Les 7. Instap. CSS en views: schilderijen. Pas even de header aan van het thema en zorg ervoor dat er geen websitenaam en slogan te zien is.

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur)

Programmeren I. 26 augustus Algemene Richtlijnen. Richtlijnen Programmeren 1

Inleiding Programmeren 2

Software Quality Assurance Plan

Algoritmisch Denken: Dodo s Bit Parity

Examen Datastructuren en Algoritmen II

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken

Programmeermethoden NA. Week 6: Lijsten

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort

Tentamen Formele Methoden voor Software Engineering (213520)

Modulewijzer Tirdat01

Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma

Zelftest Programmeren in COBOL - deel I

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?

Les 10 : Aanmaken van een database (deel2).

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Maak automatisch een geschikte configuratie van een softwaresysteem;

Project Objectgericht Programmeren : Deel 3

N&O: Objectgericht Programmeren. (in Python)

NAAM: Programmeren 1 Examen 29/08/2012

Dynamisch Programmeren. Het Rugzakprobleem

PHP herhaalt: for en while

Tentamen Systeemontwikkeling 1 (I00100)

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Programmeren (1) Examen NAAM:

dat ik aan mijn baas en collega s moet doorgeven welke werkzaamheden ik heb gedaan en wat nog gedaan moet worden.

VAN HET PROGRAMMEREN. Inleiding

10 Meer over functies

Benaderingsalgoritmen

Blog-Het gebruik van variabelen in Excel VBA

(On)Doenlijke problemen

Courbois Software WebDesignEditor. Google AdWords

Programmeren met Arduino-software

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

Programmeermethoden NA. Week 3: Controlestructuren

Veel succes! 1. Gegeven is de volgende klasse:

BEGINNER JAVA Inhoudsopgave

Programmeermethoden NA. Week 5: Functies (vervolg)

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

De grafiek van een lineair verband is altijd een rechte lijn.

1 Inleiding. Zomercursus Wiskunde. Poolcoördinaten (versie 27 juni 2008) Katholieke Universiteit Leuven Groep Wetenschap & Technologie.

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 3

Variabelen en statements in ActionScript

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

VOORBLAD SCHRIFTELIJKE TOETSEN

Programmeren in Java les 3

Transcriptie:

Theorie Beantwoord onderstaande vragen (elke vraag staat op 3 punten) door de antwoordzinnen KORT aan te vullen. 1. Wat doe je wanneer je de risico's projecteert (afschat)? Welke categorieën van risico's zijn kritisch? Risico's afschatten betekent dat je Kritische categorieën van risico's zijn 2. Wat zijn de gelijkenissen en verschillen tussen een (a) basis pad test, (b)conditie test, (c) lus test? Basis pad test, conditie test en lus test zijn gelijkaardig omdat ze allen... maar een basis pad test..., een conditie test..., en een lus test... 3. Wat zegt het substitutieprincipe? Waarom is dat belangrijk binnen objectgericht programmeren? Het substitutieprincipe... Dat is belangrijk omdat... 4. Kun je drie criteria opsommen waaraan een systeem afbakenings beschrijving ("system scope description") moet voldoen? Waarom zijn die belangrijk? (a)... is belangrijk omdat... (b)... 1/11

is belangrijk omdat... (c)... is belangrijk omdat... 5. Hoe helpen CRC-kaarten om correctheid te bereiken? En traceerbaarheid ("traceability")? [Correctheid]... [Traceerbaarheid]... 6. Wat betekent het voor een status-diagram ("state-chart" om (a) unambigu, (b) consistent, (c) compleet te zijn? (a) unambigu:... (b) consistent:... (c) compleet:... 7. Wat is het verschil tussen een module diagram ("package diagram") en een opstellingsdiagram ("deployment diagram")? Kun je van elk een voorbeeld geven? Een module diagram... (voorbeeld) Een opstellingsdiagram... (voorbeeld) 2/11

3/11

8. Waarom kunnen we geen "push up" refactoring toepassen op een methode x() die een attribuut leest dat gedefineerd is op dezelfde klasse als de methode x()? 9. Kun je drie verschillende verfijningen van de kwaliteitsfactor onderhoudbaarheid ("maintainability") noemen? Wat betekent elk van deze termen? (a)... betekent......... (b)... betekent......... (c)... betekent......... 10. Geef 3 voorbeelden van acties die je kunt ondernemen als je vertragingen vaststelt op het kritisch pad. (a)... (b)... (c)... 11. Geef 3 voorbeelden van metrieken die de grootte van een software product meten. (a)... (b)... (c)... 12. Wat is het verschil tussen het essentiële en het accidentele? Het essentiële... Het accidentele... 4/11

Oefeningen Er zijn 3 oefeningenvragen die elks op 8 punten staan. Schrijf je antwoord ENKEL op de antwoordbladen van de bijhorende vraag. Zorg dat je geen vragen vergeet op te lossen. Geef enkel wat er gevraagd wordt; niet meer, maar ook niet minder. 13. Gegeven de volgende C++ functie: int limitedfac(int n){ assert (n > 2); int i=1,f=1; while ( (i <= n) && (n < 10) ) { f=f*i; if ( f > 720 ) { f=720; i=n+1; } else{ i++; } } assert (n < f); return f; } (a) Plaats nummering bij de bovenstaande functie en teken de "flow-chart" (plaats de overeenkomstige nummers in de knopen). Merk op dat 6! = 720. 5/11

(b) Wat is het maximaal aantal onafhankelijke paden (formules+aantal)? (c) Geef alle onafhankelijke paden doorheen de "flow-chart". (d) Geef invoerwaardes voor n en uitvoerwaardes voor f opdat deze paden uitgevoerd zouden worden. (e) Geef invoerwaardes voor n en uitvoerwaardes voor f om de pre- en postconditie te testen. 6/11

14. Beschouw de volgende Z specificatie. [ Person ] male, female : P Person father, mother, brother, greatgrandmother : Person Person Neem aan dat we weten dat x å y e father als y de vader is van x, en dat x å y e mother als y de moeder is van x. (a) Welke semantische problemen zie je als we sister definieren als sister : Person Æ Person? (b) Geef een definitie voor greatgrandmother met variabelen en kwantoren. (c) Wat is het verschil tussen de volgende twee definities voor brother? brother1 = [male r (father U mother) ] ; [male r (father U mother)] -1 brother2 = [(male r father) ; (male r father) -1 ] I [(male r mother) ; (male r mother) -1 ] 7/11

15. We werken met het volgende project. Een videotheek moet geautomatiseerd worden. Hierbij kunnen er drie belangrijke delen onderscheiden worden: de bestelling (Supply) van nieuwe video s en bestaande bij uitputting van de voorraad, de aankoop (Buy) door een klant en het verhuur (Rent). Er zijn vier (Senior) programmeurs: Alice, Bert, Charlie, Doris. De GANTT chart is bijgevoegd. De duur van de taak Rent staat voorlopig (!) op 3 weken en zal in vraag 1 berekend moeten worden. Tijdens de analyse fase werden volgende classes geidentificeerd voor de taak Rent. (a) Beschouw het volgende model. Effort = 10 x (M x S + C) Met: ß Effort uitgedrukt in weken ß M voor fine-tuning, in dit geval 0.01. ß S een product size metric ß C een complexiteitsfactor die in dit geval 0.1 is Als product size metric gebruiken we een class size metric die als volgt kan berekend worden: S = aantal _ klasses  i= 1 ( aantal _ attributen( i) + 3 aantal _ methodes( i)) waarbij we de som nemen over alle classes van de betreffende taak. Bereken nu de effort (m.a.w. de duur) van de taak Rent. 8/11

9/11

(b) Bereken het critical path. 10/11

ß Ligt de taak Rent erop?... ß Wat betekent dit?...... (c) Stel dat alle taken op schema liggen en de huidige datum is 22/10/2001. Doris valt ziek en kan niet meer verder werken aan het project. Veronderstel bovendien dat Bert nu dubbel zolang zal doen over de resterende tijd en de stuurgroep een toegeving doet door te zeggen dat ze de deadline twee weken verleggen (m.a.w. 24/12/2001 i.p.v. 10/12/2001). ß Kan je die deadline halen?... ß Waarom wel/niet?............ ß Stel dat Eva, eveneens een Senior programmeur, zeker 1 week nodig heeft om zich in te werken als we haar zouden toevoegen aan het project. Ga er bovendien vanuit dat Bert in die tussentijd niets doet. Kunnen we op die manier de deadline wel/niet/ook halen?... ß Waarom?...... 11/11