1. Dopo aver riportato sinteticamente le caratteristiche dello standard "10-gigabit Ethernet", elencare e
descrivere le relative tecniche di trasmissione su fibra e su rame.
2. Dopo aver definito sinteticamente il significato di algoritmo di routing, descrivere
f1ooding.
3.
la tecnica di
Nell'ambito dei protocolli di controllo utilizzati nel livello di rete, descrivere l'internet control message
protocol (ICMP) ed i relativi principali messaggi.
4.
In cosa consiste un attacco "DNS spoofing"? Descrivere inoltre le caratteristiche del protocollo
Domain Name System Security Extensions (DNSsec).
5. Che cos'è una "stored procedure" in SQL?
6.
Fornire una descrizione delle tre fasi principali della progettazione di basi di dati.
7.
Nell'ambito della progettazione concettuale delle basi di dati, descrivere la strategia "inside-out".
8.
Nell'ambito della normalizzazione di una base dati, descrivere quali sono le proprietà che dovrebbero
essere sempre soddisfatte da una decomposizione.
9. Dopo aver definito il significato di "kernel", spiegare a cosa serve il metodo stratificato.
10. Nell'ambito della gestione della memoria centrale, definire ed eventualmente rappresentare il
procedimento di awicendamento o scambio (swapping) dei processi in memoria.
11. Che cos'è un sistema RAID? Descriverne le strutture e i vantaggi derivanti dalla sua implementazione.
12. Cosa si intende per Cloud Computing? Descrivere inoltre la seguente tipologia di servizio: "Platform-asa-Service" (PaaS).
13. Nell'ambito dell'analisi dei dati, quali sono le funzioni di base deIl'OLAP?
14. Cos'è un "data mart"? Quali sono le fasi della progettazione di un data mart?
15. Che cosa sono gli "indici di proiezione" nell'ambito del data warehouse?
16. Nell'ambito della Business Intelligence, cosa si intende per "Business Performance Management"
(BPM)?
17. Cosa sono i Web Services? Darne una descrizione delle caratteristiche e del funzionamento.
18. Spiegare il concetto di "ontologia" nell'ambito del Web Semantico.
19. Spiegare il significato dell'acronimo "XML", dandone le caratteristiche principali.
20. Descrivere brevemente il significato di "Protocol far Web Description Resources" (POWDER).
21. Descrivere brevemente il processo "unificato" di sviluppo software.
22. Nell'ambito della modellazione analitica dare una descrizione della modellazione "Class-ResponsibilityCollaborator" (CRC).
23. Cosa sono i Function Point (FP)? Come vengono calcolati?
24. Dopo aver fornito una definizione di "System Testing", presentarne i tipi conosciuti ed applicabili ai
sistemi software.
25. Come awiene il controllo della versione di un software? Descrivere brevemente il sistema CVS.
26. Esporre la tecnica" Adaptive Software Development" (ASD) come metodologia agile per lo sviluppo del
software.
27. Nell'ambito della gestione di progetti, quali sono gli elementi chiave di un progetto secondo il principio
"W5HH"?
28. Definire la scheduling nello sviluppo di un software ed indicarne i metodi conosciuti.
29. Introdurre brevemente le best practices "ITIL". Quante e quali sono le fasi del ciclo di vita di un
servizio.
30. Dare una breve descrizione della "Business Process Management" (BPM). In cosa differisce dal
"Business Process Re-engeneering" (BPR)?
\\
--.
1. Dopo aver riportato sinteticamente le caratteristiche dello standard "Gigabit Ethernet", descrivere le
due funzionalità "carrier extension" e "frame bursting".
2. Dopo aver definito una "rete a circuito virtuale", descriverne il funzionamento.
3. Nell'ambito del protocollo IPv6, descrivere i tipi di "intestazioni estese".
4. Descrivere, nella maniera più esauriente possibile, come vengono distribuite le chiavi pubbliche in
modo sicuro. Cosa è e quale è la principale funzione dello standard X.509?
5. Nell'ambito delle basi di dati esporre il concetto di "transazione", descrivendo inoltre le quattro
proprietà "AClD" delle transazioni.
6. Nell'ambito dell'ambiente Java descrivere le caratteristiche del modulo Java Database Connectivity
(JDBC).
7. Nell'ambito della progettazione concettuale delle basi di dati, descrivere la strategia "top-down".
8. Dopo aver introdotto il concetto di normalizzazione di una base di dati, descrivere la terza forma
normale.
9. Cos'è il debugging nell'ambito dei sistemi operativi? Definire sinteticamente la funzione dell'utilità
DTrace.
10. Nell'ambito della sincronizzazione dei processi dare una definizione della "sezione critica". Quali
soluzioni software o hardware esistono per rispondere al problema della sezione critica?
11. Dopo aver definito sinteticamente il "file system", descrivere le caratteristiche del protocollo NFS.
12. Dopo aver descritto la differenza tra cloud privato e cloud pubblico, descrivere la seguente tipologia di
servizio: "Infrastructure-as-a-Service" (laaS).
13. Cosa si intende con l'acronimo OLAP? Descrivere inoltre le tipologie di sistemi OLAP.
14. Descrivere il ciclo di vita di sistemi di data warehouse denominato "Rapid Warehousing Methodology".
15. Che cosa sono gli "indici Join" nell'ambito del data warehouse?
16. Nell'ambito della Business Intelligence, descrivere cosa si intende per "data mining".
17. Definire brevemente i linguaggi HTML e XHTML.
18. Nell'ambito del Web Semantico cosa sono i " metadati"? Descriverne le caratteristiche principali.
19. Facendo riferimento al diagramma piramidale del web semantico, descrivere brevemente il significato
di "URI".
20. Descrivere brevemente il significato di "Web Ontology Language" (OWL).
21. Nell'ambito dello sviluppo software, cosa si intende per "modelli a processo evolutivo"? Descrivere, in
particolare, il modello a spirale.
22. In che modo la tecnica "Quality Function Deployment" (QFD) traduce i bisogni del cliente in requiSiti
tecnici per il software?
23. Nell'ambito del processo di sviluppo software fornire una breve presentazione del modello di design e
riportare gli elementi previsti nella progettàzione.
24. Nell'ambito delle strategie di testing del software descrivere il "validation testing".
25. Nell'ambito della gestione della qualità come possono essere misurate l'affidabilità e la disponibilità di
un software?
26. Descrivere, nell'ambito dei modelli di processo agili per lo sviluppo del software, cosa si intende per
"Extreme Programming" (XP).
27. Nell'ambito della gestione di progetti di sviluppo software, come viene definito lo "scope" del software
e cosa deve riportare l'enunciato dello scope?
28. In base a quali parametri avviene la scelta fra acquisto e sviluppo di un software?
29. Nell'ambito della gestione dei rischi di un progetto, cosa è un "piano RMMM"?
30. Cosa si intende per "Service Oriented Architecture" (SOA)? Su quali elementi o standard si fonda?
1. Dopo aver riportato sinteticamente le caratteristiche dello standard "Fast Ethernet", descrivere le
principali differenze tra le tecniche di trasmissione 100-Base-T4, 100Base-TX e 100Base-FX.
2. Dopo aver definito una "rete datagram", descriverne il funzionamento.
3. Dopo aver descritto i motivi che hanno portato all'introduzione del protocollo IPv6, definirne
brevemente le caratteristiche e le differenze con il protocollo IPv4.
4.
5.
6.
7.
8.
Dopo aver indicato l'ambito di utilizzo e le principali caratteristiche del protocollo "SIP", descrivere le
somiglianze e le differenze con il protocollo H.323.
Definire e descrivere le attività di cui si compone il ciclo di vita di un sistema informativo.
Cosa sono i trigger? Descrivere la loro importanza funzionale nei sistemi relazionali.
NeWambito della progettazione dei database esporre il modello Entità-Relazione, soffermandosi
sull'analisi dei suoi costrutti principali.
Dopo aver introdotto il concetto di normalizzazione di una base di dati, descrivere la forma normale di
Boyce e Codd.
9.
Definire brevemente il concetto generale di macchina virtuale, illustrandone i vantaggi. Descrivere
inoltre il funzionamento della macchina virtuale Java.
10. Quali sono i criteri per confrontare gli algoritmi di scheduling della CPU? Descrivere inoltre l'algoritmo
di scheduling "in ordine d'arrivo" (FCFS).
11. Cosa si intende per tecnica della memoria virtuale? Descrivere inoltre il caso di "paginazione
degenere" (thrashing).
12. Dopo aver introdotto sinteticamente il concetto di Cloud Computing, descrivere la seguente tipologia
di servizio: "Software-as-a-Service" (SaaS).
13. Dopo aver dato la definizione di "data warehousing", descriverne le architetture tipiche.
14. Descrivere il ciclo di vita di sistemi di data warehouse denominato "Business Dimensionai Lifecycle".
15. Che cosa sono gli "indici bitmap" nell'ambito del data warehouse?
16. Nell'ambito della Business Intelligence, descrivere le tecniche di analisi "what-if'.
17. Definire brevemente i protocolli HTTP e HTTPS.
18. Una delle prime implementazioni web "dinamiche" è stata la "Common Gateway Interface" (CGI).
Descriverne le caratteristiche principali.
19. Facendo riferimento al diagramma piramidale del web semantico, descrivere brevemente lo standard
"Unicode".
20. Che cosa è il"Resource Description Framework" (RDF) proposto dal W3C?
21. Nell'ambito dello sviluppo software, cosa si intende per "modelli a processo incrementale"?
Descrivere, in particolare, il modello RAD.
22. In cosa consiste il deployment di un software? Quali sono i principi chiave da seguire quando lo si
esegue?
23. Elencare e descrivere brevemente i principi o concetti fondamentali della progettazione del software.
24. Nell'ambito delle strategie di testing del software fornire una breve descrizione dell' "integration
testing".
25. Dopo aver presentato i fondamenti del testing del software, fornire una breve descrizione del testing
"black-box" e "white box".
26. Cosa si intende con processo di sviluppo software "agile"? Quali sono gli elementi chiave?
27. Esplicitare e dare una breve descrizione delle "quattro P" su cui si fonda la gestione di un progetto.
28. Quale è la differenza tra metrica di processo e metrica di progetto?
29. Dare una breve descrizione della "Earned Value Analysis" (EVA)?
30. Introdurre brevemente il metodo di project management "PRINCE2".
Il Sistema Informativo per l'Amministrazione del Personale (SIAP) è un sistema integrato rivolto
alla gestione giuridico-amministrativa del personale, realizzato dal Ministero dell'Economia e delle
Finanze con lo scopo di automatizzare i processi interni di gestione del personale e di fornire uno
strumento di supporto a tutte le strutture dell'Amministrazione coinvolte nella gestione del
personale.
L'implementazione della funzione RilevamentoPresenze consente di rilevare la presenza dei
dipendenti del MEF in tutte le sedi distribuite sul territorio regionale, consentendo loro di registrare
l'entrata e l'uscita mediante uno qualsiasi degli appositi sensori del sistema.
TI sensore dovrà rilevare la data e l'ora dell 'evento e il nome del dipendente interessato. Le
informazioni relative agli eventi generati dai dipendenti saranno raccolte dal sistema e raggruppate
in un rapporto periodico (mese, anno).
TI sistema prevede la visualizzazione degli eventi più recenti su richiesta esplicita del dipendente.
Gli eventi eccezionali (malattia, ferie, permessi) segnalati dai dipendenti sono registrati da un
dipendente della sede centrale, responsabile del rilevamento presenze, mediante un 'apposita
interfaccia utente.
Prima di inviare i rapporti periodici al sistema stipendi, il responsabile del rilevamento presenze li
normalizza, rimuovendo eventuali incongruenze (doppie entrate, doppie uscite) anche sulla base
delle dichiarazioni presentate dai dipendenti. Può accadere, infatti, che un dipendente registri
erroneamente un evento (un'entrata al posto di un'uscita, ad esempio) o che si dimentichi di
registrarlo.
Tutte le informazioni relative ai dipendenti, al loro profilo (orari di entrata e di uscita, intervalli per
il pranzo, compensazioni e autorizzazione allo svolgimento delle ore straordinarie) sono gestite dal
sistema stipendi e inviate al sistema per il rilevamento delle presenze che le utilizza in sola lettura.
1-4
Quesito 1
Dare un diagramma delle classi, considerando come classi o attributi tutti e soli i termini che
nell'enunciato compaiono in grassetto.
Quesito 2
E' stato individuato il caso d'uso Registrazione con la seguente breve descrizione:
Il dipendente segnala la propria entrata o uscita al sistema.
Domanda
Dare la narrativa del caso d'uso Registrazione
Quesito 3
Si sono individuati i seguenti caso d'uso:
ReglSet.razIoneE ventiEcceZlonalOI
Breve descrizione
Attori principali
Attori secondari
Il responsabile immette nel sistema le informazioni relative a eventi
eccezionali (malattia, ferie, permessi, ecc.) per ciascun dipendente
interessato
Responsabile
Nessuno
Normalizzazione
Breve descrizione
Attori principali
Attori secondari
Il responsabile, basandosi sulle dichiarazioni dei dipendenti, modifica le
informazioni contenute nel rapporto, per nrnuovere eventuali
incongruenze (doppie entrate o doppie uscite)
Responsabile
Nessuno
In particolare, il caso d'uso Normalizzazione ha la seguente sequenza principale degli eventi:
Normalizzazione
Sequenza principale degli eventi
1. Per ogni dipendente:
1.1. per ogni doppia entrata o uscita:
1.1.1.
il sistema la presenta al responsabile
1.12.
se il responsabile ha informazioni al riguardo comunica l'azione correttiva al sistema
1.1.3.
altrimenti il responsabile segnala al sistema di salvare l'incongruenza in una lista
~ ~ L\7 ~
2-4
1
'daRisolvere '
1.2. se la lista 'daRisolvere ' non è vuota il sistema genera una lettera di richiesta di chiarimenti al
dipendente.
Domanda
Dare un diagramma di sequenza che realizzi il caso Normalizzazione.
Quesito 4
La vista comportamentale, a componenti e connettori (C&C), dell'architettura del sistema è dato dal
seguente diagramma, dove mancano i tipi dei connettori.
«component~~
D8Eventi
[)
«component»»
[I
RegistratorePresenze
«component~~
«component»>
GesioreSensore
~
~
LoglcaPresenze
«componen!»
GestoreGUI
I componenti hanno le seguenti responsabilità:
GestoreSensore
ReJlistratorePresenze
DBEventi
LogicaPresenze
GestoreGui
Gestisce un sensore, invia gli eventi rilevati al Ref!istratorePresenze.
Interfaccia il GestoreSensore ed il DBEventi.
Mantiene gli eventi rilevati dai sensori.
Genera il rapporto periodico e lo invia al SistemaStipendi. Per
generare il rapporto interroga il DBEventi e interagisce con
GestoreGUl Riceve dal SistemaStipendi le informazioni relative
ai dipendenti.
Permette di visualizzare gli eventi più recenti, di registrare gli
eventi eccezionali e di normalizzare i rapporti.
Domanda
4.a.
Completare il diagramma C&C indicando il tipo dei connettori, ove siano individuabili degli
stili architettonici.
3-4
A
4.b
Per la realizzazione del sistema sono state proposte due soluzioni diverse. Entrambe
prevedono l'uso di un server centrale e di un PC per il responsabile, presso la sede centrale,
connessi in rete locale. Le soluzioni differiscono per il tipo di connessione dei sensori. La
prima soluzione prevede un concentratore per ogni filiale ed una connessione punto a punto
tra ogni sensore e il concentratore, a sua volta connesso in rete geografica con iI server
centrale. La seconda prevede invece un collegamento in rete geografica tra ogni sensore e il
server centrale, senza concentratori.
Dare i diagrammi di dislocazione (deployment diagram) dei componenti descritti alla
domanda precedente, per ciascuna delle strutture hardware. Si assuma che gli artefatti
abbiano lo stesso nome dei componenti che manifestano, e che siano tutti di tipo jar.
Quesito 5
Si consideri la seguente classe J ava:
public class PuntoNelTempo
private int m; Il minuto
private int h; Il ora
public PuntoNelTempo(int ora, int minuto)
h = Math.abs(ora)
% 24;
% 60;
m = Math.abs(minuto)
public int intervallo
(PuntoNelTempo p)
PuntoNelTempo pl, p2;
if (this.h > p.h)
{
pl = p;
p2 = this;
else if (this.h < p.h)
pl = this; p2 = p;
else if (this.m >= p.m)
pl
p;
p2 = this;
else
pl
this; p2 = p;
{
int int_h = p2.h - pl.h;
int int_m = p2.m - pl.m;
if (int_m >= O)
return int h * 60 + int_m;
else {
return (int_h - 1) * 60 + (60 + int_m);
Domanda
Si disegni il grafo di flusso del metodo intervallo. Si fornisca un insieme minimo di valori di input
per i casi di prova che garantiscano la copertura dei cammini del metodo intervallo.
4-4
2
Per far fronte alla agguerrita concorrenza delle compagnie low cost, l' ALITALIA vuole rendere più
aggressiva la sua campagna di fidelizzazione (Mille Miglia), proponendo ai suoi clienti l'iscrizione
al programma di fedeltà che consente di ricevere in omaggio biglietti aerei o soggiorni in varie
località.
Iscrivendosi al programma da semplice cliente si può diventare un associato della compagnia aerea,
guadagnando immediatamente un bonus di 5.000 miglia utili. Ogni volta che un associato vola con
la compagnia aerea, le .miglia accumulabili del volo sono sommate alle miglia utili, permettendo
così di raggiungere le miglia necessarie per richiedere uno dei premi. La richiesta premi deve
essere effettuata mediante il portale dedicato agli associati; dal portale è sufficiente scegliere il
premio e stampare la ricevuta1 •
Gli associati che accumulano almeno 15.000 miglia (miglia accumulate) sono promossi dal livello
standard al livello argento, usufruendo di particolari agevolazioni al momento dell 'imbarco. Se
invece accumulano almeno 100.000 miglia entrano a far parte degli associati del livello oro2•
note
Soggetto a disponibilità di miglia utili nella situazione dell 'associato e di disponibilità del premio
scelto. I premi riscossi danno luogo a una diminuzione immediata delle miglia utili. La situazione è
aggiornata il 31 dicembre, mantenendo solo le miglia dei voli effettuati negli ultimi 5 anni.
1
Tutte le condizioni si riferiscono esclusivamente alle miglia accumulate in un anno. Il passaggio da
un livello alraltro è effettuato il 31 dicembre. La permanenza nel livello da un anno all'altro è
soggetta al rispetto degli stessi requisiti per entrare nel livello. Il bonus iniziale non concorre al
raggiungimento delle miglia richieste per cambiare o mantenere un livello.
2
~
1-3
Quesito 1
1.a
Dare un diagramma delle classi che descriva il dominio, considerando come classi o attributi
tutti e soli i termini che, nell'enunciato e nelle note, compaiono in grassetto.
l.b
Dare un diagramma di attività che descriva il processo di assegnazione di un premio.
Quesito 2
L'analisi dei requisiti ha portato al seguente diagramma dei casi d'uso:
GestioneAssociati
T
*
Cliente
<<System»
Imbarco
,,
,,
, ,«Include»
,,
-
Tempo
«Include»
Il caso AccumuloPunti ha la seguente breve descrizione:
Il sistema riceve la lista dei passeggeri di un volo e la esamina, aggiornando di conseguenza la
situazione degli associati della compagnia aerea.
Domanda
Dare la narrativa del caso d'uso AccumulaPunti.
Quesito 3
Disegnare un diagramma di sequenza che realizzi il caso d'uso AccumulaPunti, mostrando le
interazioni tra il sistema e l'attore coinvolto.
2-3
Ouesito4
L'analisi architettonica ha portato a individuare le seguenti componenti:
Componente
Responsabilità
GestoreClientiLatoServer
Realizza la parte server dei casi d'uso iniziati dai Clienti e il
passaggio dall'uno all'altro
GestoreClientiLatoClient
Realizza la parte client dei casi d'uso iniziati dai Clienti
DBAssociati
Gestisce i dati degli associati del Club
GestionePunti
Realizza i casi d'uso AccumuloPunti e AggiomamentoAnnuale
ed il seguente connettore «custom»
Connettore
Responsabilità
gestioneClienti
Permette gli scambi d'informazione tra i gestoriClienti.
Domanda
Dare una vista comportamentale, a componenti e connettori (C&C), sull'architettura del sistema
GestioneAssociati, utilizzando le componenti suddette, il connettore dato ed eventuali connettori
standard.
Ouesito 5
Si consideri il metodo stimaLivelli, con la seguente specifica: dato un vettore di associati della
compagnia aerea, restituisce una tripla formata, rispettivamente, dal numero degli associati che, in
base alla loro situazione: migliorano il proprio livello, non lo modificano, lo peggiorano. Si noti che
i livelli standard, argento e oro sono codificati rispettivamente con 1, 2 e 3.
public Tripla stimaLivelli(Vector <Associato> associati)
int inAumento = O;
int stabili = O;
int inCalo = O;
for (Associato m : associati) { Il itera su associati
int livello = m.getLivello{)
int miglia = m.getMiglia{) ;
int differenza;
if (miglia > 100000)
differenza = 3 - livello;
else if (miglia > 15000)
differenza = 2 - livello;
else
differenza = 1 - livello;
if (differenza> O)
inAumento++;
else if (differenza==O)
stabili++;
else
inCalo++;
return new Tripla (inAumento, stabili, inCalo)
Domanda
Definire un insieme di coppie di attributi (livello, miglia) da attribuire agli elementi del vettore
associati che permetta di raggiungere una copertura del 100% del codice del metodo stimaLivelli,
~
SA: Cri~
il
dei
CO~~
3 _3
,.
La Corte dei Conti ha deciso di avviare per i suoi dipendenti una serie di tirocini formativi al fine di
aumentare e potenziare le competenze interne sia in ambito economicollegisiativo sia in ambito
informatico.
I tirocini prevedono la frequenza di un corso della durata di alcuni mesi, a seconda della
complessità degli argomenti trattati, ed un esame finale per la verifica sia della partecipazione dei
dipendenti sia dell'utilità dell' offerta formativa. Inoltre i corsi sono tenuti da docenti universitari
scelti in base alla competenza in materia.
Visto che ogni dipendente è tenuto a seguire un certo numero di corsi nel corso dell' anno solare e a
superarne i relativi esami conclusivi, si è deciso di effettuare la registrazione dell'esame. Infine per
incentivare i dipendenti alla partecipazione attiva ai tirocini, verrà assegnato dal docente un voto
come esito dell' esame finale.
Il processo di dematerializzazione dei documenti cartacei e di innovazione delle procedure
amministrative della Corte dei Conti prevede l'adozione di un sistema di registrazione degli esami
basato sull utilizzo dei telefoni cellulari da parte dei docenti.
Per ogni corso, caratterizzato da un codice, è nominata una commissione, formata dai docenti che
possono svolgere il ruolo di esaminatore. Tra di essi, è designato il presidente di commissione.
Il sistema, denominato CdcEx, prevede che i docenti abilitati all'uso di CdcEx facenti parte della
commissione, utilizzino il cellulare per verbalizzare gli esami, mediante l'invio di un SMS al
numero telefonico del servizio. Come misura di sicurezza e autenticazione, i docenti si abilitano al
servizio registrando (una volta sola) su CdcEx il numero del loro telefono cellulare.
Ogni docente ha un indirizzo mail. Giornalmente, CdcEx registra gli esami della giornata nel
sistema D2 e invia agli esaminatori di ogni corso una mail contenente un'indicazione degli esami
del loro corso registrati in giornata. In seguito alla ricezione della mail, il presidente della
commissione provvede a rispondere per confermare. CdcEx attende 60 giorni l'invio della mail di
conferma.
Gli esami confermati sono definitivamente archiviati nel sistema D2, quelli non confermati sono
cancellati dal sistema D2 e devono essere registrati manualmente dal presidente della commissione,
secondo una procedura cartacea.
Utilizzando l'elenco dei dipendenti iscritti, organizzato in sottoelenchi per ogni giornata di esami, il
docente procede a effettuare l'esame che può avere un esito positivo (voto maggiore o uguale a 6
decimi) o negativo. Solo gli esami con esito positivo sono registrati mediante l'invio di un SMS.
1-4
3
Quesito 1
Dare un diagramma delle classi, considerando come classi o attributi tutti e soli
nell'enunciato compaiono in grassetto.
termini che
Quesito 2
L'analisi dei requisiti ha portato al seguente diagramma dei casi d'uso:
CdcEx
Tempo
Sistemista
«sistema»
MailServer
«sistema»
D2
DocenteAbilitato
con le seguenti narrative incomplete:
Configurazione:
Configurazione iniziale del servizio.
Abilitazione:
Un docente richiede l'abilitazione all'uso del servizio.
Verbalizzazione:
Permette di verbalizzare un esame usando il telefono cellulare.
ChiusuraSerale:
La sera vengono registrati nel sistema D2 gli esami verbalizzati in giornata e
viene mandata una e-mail ai docenti.
Archiviazione:
La sera si archiviano nel sistema D2 gli esami verbalizzati 60 giorni prima e
confermati; si cancellano dal sistema D2 quelli non confermati.
Domanda
Dare la narrativa di Verbalizzazione, ChiusuraSerale e Archiviazione.
~ ~
0'
2-4
Quesito 3
Si supponga di disporre di almeno tre tipi di nodi hardware:
1.
ServerCdcEx che funge da server per l'applicazione CdcEx (un solo nodo di questo tipo);
2.
ServerMai/ dove è dislocato il Mai/Server (un solo nodo di questo tipo);
3. PC usato dai docenti quando vogliono abilitarsi o leggere/scrivere messaggi di posta elettronica
(un numero imprecisato di nodi di questo tipo).
Il canale tra il nodo ServerCdcEx e i nodi PC supporta HTTP.
I canali con il Server Mail supportano SMTP.
La progettazione architettonica ha individuato le seguenti componenti, alcune da realizzare, altre
che già esistono. Si noti che il MailServer, anche se di fatto esterno al sistema CdcEx - al pari del
sistema D2 e del sistema di ricezione SMS dell'operatore telefonico utilizzato - viene esplicitamente
descritto nell'architettura per completezza. Si noti anche che l'utente interagisce con la componente
Abilitazione attraverso un browser.
Componente
Disponibile Responsabilità
DBdocentiAbilitati
Mantiene i nomi e i numeri di telefono dei docenti abilitati al
servizio.
DBesami
Mantiene i dati degli esami verbalizzati e di quelli registrati.
Abilitazione
MailServer
X
Permette ai docenti di abilitarsi.
Realizza i casi d'uso Verbalizzazione, ChiusuraSerale e
Archiviazione.
Server di posta.
MailClientAPI
X
Client di posta con interfaccia verso altra componente.
Mail ClientInterattivo
X
CHent di posta con interfaccia utente.
GestioneEsami
Si assuma che ogni componente si manifesti in un artefatto omonimo, di tipo jar.
Domanda
3.a
Fornire una vista comportamentale, a componenti e connettori (C&C)
3.b
Fornire una vista logica di dislocazione (deployment diagram)
3-4
3
Quesito 4
Fornire un diagramma di sequenza che illustri come le componenti, individuate nell'ambito del
precedente quesito, interagiscono per realizzare il caso d'uso ChiusuraSerale. Si assuma che le
informazioni sulle commissioni d'esame e sugli indirizzi mail dei docenti siano mantenute nel D2,
cui GestioneEsami accede direttamente.
Quesito 5
Una delle funzioni ausiliarie del sistema CdcEx è di fornire informazioni statistiche sull' andamento
degli esami. In particolare, il sistema deve fornire infonnazioni sul numero d'esami mediamente
sostenuti ogni giorno, per ogni corso. A tale scopo, si prevede l'utilizzo di una funzione
numeroMedioEsami che, dato un vettore di numeri d'esame, ne restituisce la media, arrotondata
all'intero superiore. Per verificare la funzione si prevede un test a scatola nera.
Domanda
Fornire cinque casi di prova per la funzione numeroMedioEsami.
4-4
Scarica

Tracce prove scritte giorni 20 e 21 giugno 2012 del