Sei sulla pagina 1di 12

Documento di specifica del software unina

Docente: Anna Rita Fasolino

Corso di Ingegneria del software a.a. 2009/2010

Analisi e Progettazione di un Antivirus

Alunno: Cavezza Davide Giacomo

Matricola: N4600

Alunno: Baccanico Fabio

Matricola: N4600008
Documento di specifica del software unina

ANTIVIRUS
DOCUMENTO DI SPECIFICA DEI
REQUISITI
Documento di specifica del software unina

INDICE
Introduzione ......................................................................................................................................... 5

Scopo del documento ...................................................................................................................... 5

Obiettivo del progetto ..................................................................................................................... 5

Glossario........................................................................................................................................... 5

1.1. Riferimenti ............................................................................................................................. 6

Panoramica del documento ............................................................................................................. 6

Descrizione generale ............................................................................................................................ 6

Comportamento esterno del sistema .............................................................................................. 6

Caratteristiche dell’utente ............................................................................................................... 9

Requisiti non funzionali .................................................................................................................... 9

Requisiti specifici .................................................................................................................................. 9

Requisiti funzionali ........................................................................................................................... 9

Scansione virus ............................................................................................................................. 9

Gestione virus – Eliminazione file .............................................................................................. 10

Gestione virus – Spostamento in quarantena ........................................................................... 10

Gestione virus – Riparazione file................................................................................................ 11

Programmazione scansione ....................................................................................................... 11

1.1.1. Aggiornamento della lista dei virus ............................................................................ 11

1.2. Interfacce con l’esterno ....................................................................................................... 12

Requisiti prestazionali .................................................................................................................... 12

Vincoli di progetto .......................................................................................................................... 12

Altri requisiti................................................................................................................................... 12

Modello logico del database ...................................................................................................... 12


Documento di specifica del software unina

Introduzione
Scopo del documento
Il presente documento descrive le caratteristiche di un software per la rimozione dei virus: il suo
scopo, le sue funzionalità, le sue interfacce e il suo comportamento in risposta a determinati
stimoli. Il documento è rivolto principalmente agli sviluppatori, essendo il software di tipo general
purpose, non commissionato da una determinata clientela. Commento [Davide1]: Necessaria
questa specificazione?

Obiettivo del progetto


I virus informatici costituiscono uno dei maggiori pericoli per chi utilizza un personal computer:
una volta installatisi su un sistema, possono procurare danni anche seri all’utente, rendendo il
computer inutilizzabile, rubando dati personali, quali password o codici di carta di credito,
manomettendo informazioni sensibili. Come per i virus biologici, un’infezione si può espandere per
vari mezzi, dalla Rete ai supporti rimovibili, fino a creare vere e proprie epidemie, sicché un
computer infetto è un serio pericolo anche per terzi. Sono particolarmente soggetti al rischio i
computer dotati di connessione a Internet, essendo questo il mezzo di diffusione preferito dai
creatori di virus: principali veicoli sono le pagine Web e le e-mail fasulle, oppure file scaricati da siti
non certificati. Da qui si evince l’importanza, anche per un utente comune, di proteggersi tramite
un software antivirus in grado di individuare e rimuovere tali minacce.

Glossario
Termine Significato
File Astrazione operata dal sistema operativo sui dati memorizzati su un
supporto di memoria di massa, che vengono in tal modo organizzati in unità
logiche separate.
Infezione di un file Modifica del contenuto del file ad opera di un virus
Malware Cfr. Virus
Riparazione di un Operazione volta a ripristinare il contenuto di un file antecedente
file all’infezione.
Utente Persona fisica che si serve di un PC per un suo scopo generico.
Virus Un programma installato su un PC che esegue istruzioni volte a raggiungere
scopi ignoti all’utente, potenzialmente dannosi per lo stesso o per altri.
Un virus può presentarsi sotto diverse forme: ad esempio, può modificare
file presenti sulla macchina infetta in modo da essere attivato alla loro
apertura, può nascondersi dietro programmi apparentemente utili scaricati
da Internet, può modificare file di sistema per essere avviato
automaticamente.
Commento [Davide2]: Sarebbe
opportuno usare il termine malware?
Documento di specifica del software unina

Virus riparabile Se l’antivirus consente la riparazione dei file infetti da un particolare virus,
quest’ultimo è detto riparabile.

1.1. Riferimenti
La struttura del presente documento fa riferimento allo standard IEEE 830-1998 IEEE
Recommended Practice for Software Requirements Specifications.

Panoramica del documento


Il presente capitolo è una descrizione sommaria degli scopi del sistema e del documento di
specifica.

Il capitolo successivo, Descrizione generale, presente a livello utente le specifiche generali del
sistema software. Le funzionalità sono descritte a livello più dettagliato nel terzo capitolo, Requisiti
specifici.

La descrizione del sistema fa uso di diagrammi UML, che permettono di comprendere in maniera
immediata, con l’ausilio di rappresentazioni grafiche, la sua struttura e le sue funzionalità.

Descrizione generale
Comportamento esterno del sistema
È descritto dal diagramma dei casi d’uso e dagli scenari ad esso relativi

Figura 1: Diagramma dei casi d'uso dell'antivirus


Documento di specifica del software unina

CASO D’USO 1: Gestione virus


Attori coinvolti: Utente PC
Precondizioni:
 Il sistema ha rilevato un file infetto.
Scenario principale:
1. Il sistema chiede all’utente quale operazione eseguire sul file tra:
a. rimuoverlo
b. spostarlo in una cartella quarantena
c. ripararlo
2. L’utente seleziona l’operazione desiderata
3. Il sistema esegue l’operazione
4. Il caso d’uso termina
Scenario alternativo 1:
Al punto 2, l’utente seleziona l’opzione 1.c e il file non può essere riparato:
1a.1. Il sistema notifica all’utente l’impossibilità di riparare il file
1a.2. Ritorna al punto 1 dello scenario principale
Postcondizioni:
 Il virus rilevato è stato eliminato.

CASO D’USO 2: Scansione PC


Attori coinvolti: Utente PC
Precondizioni:
Scenario principale:
1. L’utente avvia una scansione del PC
2. FOR (tutti i file residenti su unità di memoria)
2.1. Il sistema confronta un file con i virus noti
2.2. IF (trova un file infetto)
2.2.1. XP (Gestione virus)
3. Il sistema mostra un report della scansione, contenente i nomi dei file infetti e le operazioni
eseguite su ciascuno di essi
4. Il sistema salva le informazioni sulla scansione
5. Il caso d’uso termina
Scenario alternativo 1:
Se la scansione è programmata, il punto 1 è sostituito da:
 Il sistema avvia automaticamente la scansione
Scenario alternativo 2:
In un qualsiasi momento del ciclo FOR al punto 2:
 L’utente interrompe la scansione
 Vai al punto 3 dello scenario principale
Postcondizioni:
Documento di specifica del software unina

 I virus trovati sono stati eliminati


 L’esito della scansione è salvato in memoria

CASO D’USO 3: Scansione file selezionati


Attori coinvolti: Utente PC
Precondizioni:
Scenario principale:
1. Il cliente seleziona i file e/o le cartelle da analizzare
2. Il cliente avvia la scansione
3. FOR (tutti i file selezionati e tutti i file contenuti nelle cartelle selezionate)
3.1. Il sistema confronta il file con ciascuno dei virus noti
3.2. IF (il file analizzato è infetto)
3.2.1. XP (Gestione virus)
4. Il sistema mostra un report della scansione, contenente i nomi dei file infetti e le operazioni
eseguite su ciascuno di essi
5. Il sistema salva le informazioni sulla scansione
6. Il caso d’uso termina
Scenario alternativo 1:
In un qualsiasi momento del ciclo FOR al punto 2:
1a.1. L’utente interrompe la scansione
1a.2. Vai al punto 4 dello scenario principale
Postcondizioni:
 L’esito della scansione è salvato su disco
 I virus contenuti tra i file analizzati sono stati eliminati

CASO D’USO 4: Programmazione scansione settimanale


Attori coinvolti: Utente PC
Precondizioni:
Scenario principale:
1. L’utente inserisce il giorno della settimana e l’ora in cui desidera che la scansione venga effettuata
2. Il sistema memorizza tali informazioni
3. Il caso d’uso termina
Postcondizioni:
 Il sistema eseguirà automaticamente una scansione ogni settimana nel giorno e nell’ora specificati

CASO D’USO 5: Programmazione scansione una tantum


Attori coinvolti: Utente PC
Precondizioni:
Scenario principale:
1. L’utente inserisce la data (giorno, mese e anno) e l’ora in cui desidera programmare una scansione
2. Il sistema memorizza tali informazioni
Documento di specifica del software unina

3. Il caso d’uso termina


Postcondizioni:
 Il sistema eseguirà automaticamente una scansione nella data e all’ora specificati

CASO D’USO 6: Aggiornamento


Attori coinvolti: Server aggiornamenti, Utente PC
Precondizioni:
 Il sistema dispone di una connessione ad Internet
Scenario principale:
1. Il sistema interroga il server per verificare la presenza di aggiornamenti delle informazioni
sui virus noti
2. IF(È disponibile un aggiornamento)
2.1. Il server invia al sistema le informazioni aggiornate sui virus
2.2. Il sistema notifica all’utente l’avvenuto aggiornamento
3. Il caso d’uso termina
Postcondizioni:
 Il database dei virus noti è aggiornato all’ultima versione disponibile

Caratteristiche dell’utente
Il software è progettato per l’utente comune di un PC, che ne fa uso per scopi personali sui quali
non è posta alcuna ipotesi. Si suppone che l’utente abbia dimestichezza con i concetti basilari di
utilizzo di un computer (file, cartelle, spostamento, copia ed eliminazione di file) e gli sia noto, in
particolare, il concetto di virus informatico.

Commento [Davide3]: Da riempire


Requisiti non funzionali quando ne troviamo

Requisiti specifici
Requisiti funzionali

Scansione virus
Descrizione Funzionalità di rilevamento dei file infetti e loro correzione
Riferimenti incrociati Paragrafo 2.1: Casi d’uso 1 e 3
Requisiti 3.1.2, 3.1.3 e 3.1.4
Input  La lista dei virus noti
 L’insieme dei file presenti sulle unità di memoria collegate al PC, o
dei file selezionati dall’utente
Esecuzione Il sistema prende in esame un file alla volta, estraendone informazioni
utili all’individuazione dell’infezione. Confronta poi queste informazioni
con quelle associate ai virus noti e contenute nel suo database: se rileva
Documento di specifica del software unina

una corrispondenza, chiede all’utente come procedere, presentandogli


tre scelte:
1. eliminare il file (vedi Requisito 3.1.2);
2. spostarlo in quarantena (vedi Requisito 3.1.3);
3. riparare il file (vedi Requisito 3.1.4).
Effettuata l’operazione, il sistema prosegue nella scansione fino
all’esaurimento dei file del PC (o dei file selezionati dall’utente). Il sistema
offre all’utente la possibilità di interrompere prematuramente la
scansione.
Output  Al termine della scansione, viene mostrato a video un report della
stessa, contenente l’insieme dei virus rilevati e le operazioni
effettuate su ciascuno.
 I dati sulla scansione sono memorizzati su disco.

Gestione virus – Eliminazione file


Descrizione Il sistema permette di eliminare definitivamente un file infetto rilevato
dalla scansione. Funzionalità che l’utente può selezionare se è sicuro che
l’eliminazione del file non comporterà malfunzionamenti del PC.
Riferimenti incrociati Paragrafo 2.1: Caso d’uso 2
Input  Un file infetto
Esecuzione Il sistema elimina definitivamente il file; qualora l’eliminazione sia
impossibile, manda una notifica all’utente.
Output  Notifica dell’avvenuta eliminazione o di impossibilità della stessa.

Gestione virus – Spostamento in quarantena


Descrizione Il sistema permette di spostare un file infetto in una cartella del sistema
denominata quarantena, nella quale il virus non può attivarsi. L’utente
può selezionare quest’opzione se non è sicuro degli esiti che avrebbe
l’eliminazione del file sul funzionamento del PC.
Riferimenti incrociati Paragrafo 2.1: Caso d’uso 2
Input  Un file infetto
Esecuzione Il sistema sposta il file in quarantena.
Output  Notifica dell’avvenuto spostamento o dell’impossibilità dello
stesso
Documento di specifica del software unina

Gestione virus – Riparazione file


Descrizione Il sistema permette di riportare il file infetto a uno stato precedente
l’infezione. Quest’opzione funziona solo per particolari classi di virus che
la consentono; l’informazione sulla riparabilità di un virus è memorizzata
nel database dei virus noti.
Riferimenti incrociati Paragrafo 2.1: Caso d’uso 2
Input  Un file infetto
 Le informazioni sul virus rilevato
Esecuzione Se il virus è riparabile, il sistema ripara il file.
Output  Notifica dell’avvenuta riparazione o impossibilità della stessa.

Programmazione scansione
Descrizione Funzionalità per programmare scansioni avviate automaticamente dal
sistema. La programmazione può essere settimanale o una tantum
Riferimenti incrociati Paragrafo 2.1: Casi d’uso 4 e 5
Input Nel caso di una programmazione settimanale:
 Il giorno della settimana (lunedì, martedì, …)
 L’ora in cui si vuole avviare la scansione (hh:mm)
Nel caso di programmazione una tantum:
 La data (gg/mm/aaaa)
 L’ora in cui si vuole avviare la scansione
Esecuzione Il sistema riceve gli input dall’utente e li memorizza permanentemente su
disco. Se il PC è acceso nel giorno e nell’ora specificati, il sistema farà
partire automaticamente una scansione di tutti i file, altrimenti la
programmazione sarà ignorata. Nel caso di scansione una tantum, al
termine della stessa si preoccupa di eliminare i dati sulla programmazione
della scansione.
Output  Le informazioni sulla programmazione sono salvate su disco

1.1.1. Aggiornamento della lista dei virus


Descrizione Funzionalità di aggiornamento del database dei virus noti
Riferimenti incrociati Paragrafo 2.1: Caso d’uso 6
Precondizioni  Il PC è dotato di connessione a Internet
Esecuzione Ad ogni avvio dell’antivirus, viene inviata una richiesta a un server per
verificare se sono disponibili aggiornamenti delle definizioni dei virus. In
caso positivo, il server invia al sistema le nuove definizioni, che vengono
memorizzate localmente nel database dei virus.
Documento di specifica del software unina

Output  Il database dei virus è aggiornato

1.2. Interfacce con l’esterno


Il software necessita di un’interfaccia di rete per comunicare con il server degli aggiornamenti:
deve essere in grado di ricevere i nomi dei nuovi virus e le informazioni volte alla loro
individuazione, per poi memorizzarli nel database locale.

Commento [Davide4]: Ne troviamo


Requisiti prestazionali qualcuno?
Commento [Davide5]: Limitazioni
Vincoli di progetto hardware, particolari piattaforme su cui
funzionerà il nostro sw…

Altri requisiti
Commento [Davide6]: Qui
Modello logico del database specifichiamo la struttura logica del
database del sistema

Potrebbero piacerti anche