Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAloisia Gagliardi Modificato 9 anni fa
1
Corso IS I - 2002/03 Esame Scritto - Parte generale 18 Febbraio 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.
2
Domande 1 Generalità sul SE 1a [2] Quando si parla di qualità del prodotto software a che aspetti ci si riferisce modernamente? 1b [2] Che relazioni, punti di contatto e differenze ci sono fra Process Management e Softare Development. 1c [2] In cosa si distingue il System Engineering dal Software Engineering? 2 Modelli del processo di sviluppo software 2a [3] Dire cos’è il modello a spirale, dandone una versione sintetica grafica e spiegandone il senso. 2b [2] In che senso il modello a spirale incorpora altri modelli di sviluppo e quali? 2c [2] Quale’è il problema fondamentale del processo di sviluppo software che i Metodi cosiddetti Agili intendono affrontare con metodi diversi da quelli classici? 3 Miscellanea 3a [2] Quali sono nell'ambito di UML i punti di contatto e le differenza fra generalization e inheritance? 3b [2] Qual’è la differenza fra “white box” e “black box” testing? Come si esplicita in pratica secondo voi? 3c [1] Dire quali sono almeno 4 tipi di requisiti non funzionali.
3
Corso IS I - 2002/03 Esame Scritto - Parte UML 18 Febbraio 2003 Punteggio massimo totale punti 15; soglia superamento prova 8
4
DOMANDA UML 1 [6] Definire un modello UML che descriva il dominio delle conferenze scientifiche. –Una conferenza ha un comitato scientifico guidato da un presidente, membro del comitato stesso, e costituito da un certo numero di ricercatori; e si tiene in una certa locazione in un certo giorno (non possono essere previste più conferenze nello stesso posto nello stesso giorno). –I ricercatori sottomettono dei lavori alle conferenze, ogni lavoro ha un titolo ed uno o più autori; non ci sono limiti al numero di lavori che un autore può sottomettere ad una conferenza. –Alcune conferenze vietano ai membri del loro comitato scientifico di sottomettere dei lavori, ma in ogni caso il Presidente non potrà mai sottomettere alla conferenza che presiede. –I lavori del comitato scientifico si svolgono in questo modo: *il presidente distribuisce i lavori sottomessi ai vari membri del comitato scientifico, i quali li esamineranno producendo dei rapporti, costituiti da un voto da 1 a 10 e da un breve giudizio. Chiaramente un autore non può esaminare un suo stesso lavoro, e tutti i lavori devono essere esaminati da almeno tre persone. –Si assume che il livello etico sia alquanto elevato, pertanto nessuno sottomette lo stesso lavoro a più conferenze, e non sottomette due lavori a conferenze che si svolgono nello stesso tempo.
5
DOMANDA UML 2 Si consideri la seguente statechart che descrive il comportamento delle istanze di una classe CL (si assuma che tale classe abbia tutte le operazioni e gli attributi necessari) tratta(M) tratta(N) [ N>0 ] / num = N controlla(C,X) [X mod 2 = 0] NonSettato controlla(C,X) [X mod 2 <> 0 and X mod num <> 0]/ chiam = C Controllando Si / chiam.Si() Meno1 entry / a = create(CL); a.tratta(num-1); a.controlla(self,X) No / chiam.No() Si / Chiam.Si() Meno2 entry / b = create(CL); b.tratta(num-2); b.controlla(self,X) No / chiam.No() Settato controlla(C,X) [X mod 2 <> 0 and X mod num = 0] / C.No() / a.destroy(); b.destroy();
6
DOMANDA 2 (cont.) a) [1] Esibire un evento, una condizione ed un’azione che siano parte della statechart precedente e che siano parte di tre transizioni differenti. b) [1] Cosa indica la riga tratteggiata che appare nel disegno ? c) [1] E’ vero che un’istanza Mario di CL nello stato “NonSettato” dopo aver ricevuto la chiamata “tratta(2)” in risposta ad una chiamata “controlla(Luigi,5)” chiamerà l’operazione No di Luigi ? d) [5] Dare un sequence diagram che descriva lo scenario che accade quando un’istanza Mario di CL nello stato “NonSettato” riceve da Luigi (un’altra istanza di CL) la chiamata “tratta(2)” seguita da “controlla(Luigi,3)”. e) [1] La statechart che segue è equivalente a quella precedente (cioè descrive lo stesso comportamento per le istanze di CL) ?
7
DOMANDA 2 (cont.) tratta(M) tratta(N) [ N>0 ] / num = N controlla(C,X) [X mod 2 = 0] NonSettato controlla(C,X) [X mod 2 <> 0 and X mod num <> 0]/ chiam = C; a = create(CL); a.tratta(num-1); a.controlla(self,X); b = create(CL); b.tratta(num-2); b.controlla(self,X) Settato controlla(C,X) [X mod 2 <> 0 and X mod num = 0] / C.No() / a.destroy(); b.destroy(); Controllando Si / chiam.Si() Meno1 No / chiam.No() Si / Chiam.Si() No / chiam.No() Meno1
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.