Corso IS I /03 Esame Scritto - Parte generale 10 Giugno 2003 Punteggio massimo totale punti 18; soglia superamento prova 10 Avvertenza Si vuole sempre una risposta semantica, cioè non basta rispondere a cosa, chi, quale, ecc con dei nomi; bisogna qualificarli semanticamente. Ad esempio, con riferimento alla prova test, alla domanda chi sono i partecipanti nello sviluppo software?, non bastava rispondere: customer, user, developer. Quelli sono nomi (sintassi!): un customer può essere un cliente della FIAT (magari...), uno user … delle FS (ahimè sì, obbligati), un developer … della nuova barca Prada per la prossima Coppa America (mi sa che non ci riprova, ne ha avuto abbastanza). Viceversa,evitare di sconfinare, tanto per scrivere; ad esempio nella domanda 2b in questo caso, nessuno chiede né vuole che si spieghino gli altri modelli di sviluppo, ma solo che si mettano in evidenza se e come alcuni di loro sono stati recepiti e incorporati in quello a spirale.
Domande 1 Generalità 1a [3] Dire in cosa consiste e spiegare quali sono gli aspetti principali del Computer-based System Engineering. 1b [2] Quali sono i classici ruoli delle persone nello sviluppo software? 1c [2] Secondo voi ci sono proposte recenti che vanno in una direzione diversa per i ruoi detti precedentemente? 2 Modelli del processo di sviluppo software 2a [3] Cosè RUP? Quali sono le sue caratteristiche principali alla luce dei concetti generali sui processi di sviluppo software? 2b [2] Partendo da quanto detto prima, fate un confronto sintetico fra RUP e waterfall model? 3 Miscellanea 3a [2] Cosa vuol dire prototyping e in quale contesto lo si usa? 3b [2] Che differenza cè fra requirement elicitation, analysis, specification e definition? 3c [2] Quali sono le fasi del system testing?
Corso IS I /03 Esame Scritto - Parte UML 10 Giugno 2003 Punteggio massimo totale punti 15; soglia superamento prova 8
DOMANDA UML 1 a ) [4] Definire un modello UML che descriva il dominio del Superenalotto. –Una persona vince al Superenalotto se indovina 6 numeri compresi tra 1 e 90, determinati dalle estrazioni del Lotto in certe città. –Una persona gioca compilando e pagando una schedina, che determina alcune sestine di numeri. –Una schedina è formata da vari comparti (da 1 a 4), ed ogni comparto permette di selezionare da 6 a 90 numeri (sempre compresi tra 1 e 90) ed è relativa ad una estrazione. –Un comparto in cui sono selezionati n numeri, siano essi X 1, …, X n, determina tutte le sestine che corrispondono a sottinsiemi di cardinalità 6 contenuti in {X 1, …, X n }. –Ad ogni estrazione viene anche estrato il numero jolly (sempre tra 1 e 90), tale numero può essere sostituito ad uno degli altri sei numeri vincenti per formare una sestina vincente. b) [2] Definire in modo preciso una operazione od un metodo per controllare se una schedina ha vinto (precisare quale opzione è stata scelta).
DOMANDA UML 2 Si consideri il seguente collaboration diagram, che descrive come può avvenire una vincita al Totocalcio (si assuma che le varie classi coinvolte abbino tutte le operazioni necessarie) Genova:Ricevitoria 1: gioca(s1) Milano:Ricevitoria 1.1: registra(GE,s1) Mario:GiocatoreGiovanni:Giocatore:Sisal 2: conferma(GE,s1) 1.2: return OK 3: controlla(s1) 4: vincente() 3.1: haVinto(s1) 3.2: confermaVincita(s1) 5: richiedPremio(s1)
DOMANDA 2 (cont.) a) [2] Dire in che cosa differiscono i vari tipi di freccette che appaiono nel diagramma. b) [1] Che cosa sono Sisal e Milano ? c) [2] Descrivere usando il linguaggio naturale come avviene la vincita descritta dal diagramma. d) [4] Dare un sequence diagram corrispondente.
DOMANDA 2 (cont.)