Corso di ingegneria del software
Corso di Laurea in Ingegneria informatica
A.A. 2011-2012
Esame del 23/05/2012
Esami da 6 CFU
Tempo: 2 ore
1. Documento di descrizione informale dei requisiti
Si consideri il seguente documento di descrizione informale dei requisiti:
Si vuole realizzare un sistema software per la gestione di alcune attività relative alla vendita di articoli in un centro commerciale.
Il direttore del centro commerciale stabilisce mensilmente il catalogo degli articoli in vendita e a tal fine modifica il catalogo del mese precedente aggiungendo, eliminando, o modificando gli articoli presenti. Ogni articolo in vendita è descritto da un codice alfanumerico di 15 cifre, una categoria merceologica (es. alimentari, vestiario, elettronica,…), una descrizione testuale, la marca (stringa di 20 caratteri), il costo di acquisto (in euro), ed il prezzo di vendita (in euro). Di ogni articolo esiste un numero variabile di esemplari disponibili ed un numero minimo di soglia di disponibilità per richiedere il riordino degli articoli che hanno raggiunto la soglia minima.
Periodicamente il direttore stabilisce le promozioni su alcuni articoli che saranno scontati rispetto al prezzo del catalogo. A tal fine prepara un volantino promozionale (con data di validità iniziale e data finale) che conterrà un sottinsieme degli articoli del catalogo, a ciascuno dei quali sarà applicata una percentuale di sconto diversa.
I cassieri sono addetti alle vendite degli articoli e devono eseguire il conto per i clienti, registrando gli articoli venduti e l’avvenuto pagamento. Per eseguire il conto il cassiere inserisce il codice dell’articolo e la relativa quantità, il sistema preleva il prezzo attuale dell’articolo, cercando se esso è in promozione ed applicando in tal caso la percentuale di sconto prevista, e somma il prezzo degli articoli al conto. Per ciascun conto pagato, il sistema deve registrare la data, l’ora, un numero progressivo del conto, il dettaglio degli articoli e relative quantità, nonché la modalità di pagamento (possa contanti, assegno, o carte di credito). Il sistema dovrà inoltre aggiornare le quantità disponibili dell’articolo venduto e stampare la ricevuta di pagamento.
Il sistema deve generare automaticamente il riepilogo degli incassi quotidiani, riportando il totale incassato e specificando le quote incassate in contanti, con assegni e con carte di credito. A fine giornata deve essere prodotto anche il report degli articoli da riordinare tra quelli finiti sotto livello di soglia: il report deve indicare per ogni articolo la quantità da riordinare che sarà pari alla quantità di soglia incrementata del 25%.
Si tracci il diagramma dei casi d’uso e quello delle classi concettuali (System Domain Model) per tale sistema, tenendo conto anche delle responsabilità da attribuire alle classi.
2. Scansione dei dischi in cerca di virus
Si consideri una funzionalità di un software antivirus relativa alla scansione dei dischi in cerca di virus. Tale funzionalità prende in input l’insieme delle cartelle da controllare. Una volta avviata la scansione, l’utente può interromperla definitivamente o sospenderla (metterla in pausa) per poi riprenderla successivamente oppure annullarla. Non appena un virus viene trovato, il sistema sospende la scansione e mostra all’utente le caratteristiche del virus trovato. L’utente può scegliere tra le diverse opzioni elencate nel punto precedente: eliminazione del file infetto, bonifica del file infetto (ma solo se il virus è considerato ‘riparabile’), spostamento del file in una cartella denominata quarantena. A seconda della scelta dell’utente, il sistema opera l’azione prevista e riavvia la scansione. La scansione termina automaticamente nel caso in cui siano stati esaminati tutti i file in tutte le cartelle richieste.
Si disegni uno UML statechart diagram che mostri il comportamento del sistema nell’esecuzione di questa funzionalità;
-
Ingegneria del software - esercitazione
-
Ingegneria del software - Esercizi
-
Ingegneria del software - Esercizio
-
Ingegneria del software - Eseritazione