UNIVERSITA’ DEGLI STUDI DI PALERMO
FACOLTA’ DI INGEGNERIA
CORSO DI LAUREA IN INGEGNERIA INFORMATICA
TESINA DI INGEGNERIA DEL SOFTWARE
“DocS”
(Documents Sharing)
Progetto
http://www.magsoft.it/progettodocs
SDD
System design
document
Membri del gruppo:
Calè Giuseppe - 0415740
Gemmellaro Claudio - 0369945
Lo Grasso Marco - 0444253
Minacori Attilio – 0399264
Progetto DocS
System Design Document
INDICE
1 Introduzione
2
1.1 Scopo del Sistema
2
1.2 Obiettivi di progettazione
2
2 Architettura software attuale
3
3 Architettura software proposta
3
3.1 Overview
3
3.2 Decomposizione in sottosistemi
3
3.3 Mapping hardware/software
5
3.4 Gestione dei dati persistenti
6
3.5 Controllo e sicurezza degli accessi
6
3.6 Global Control Flow
6
3.7 Boundary Conditions
6
http://www.magsoft.it/progettodocs
1
Progetto DocS
System Design Document
1 Introduzione
1.1 Scopo del Sistema
Il Progetto DocS è stato commissionato con le specifiche di permettere la classificazione
automatica e la condivisione dei documenti all’interno di un’azienda. Il sistema progettato per
l’Azienda Ortolani@Unipa permette lo sviluppo di progetti di varia natura che ha come
obbiettivo la realizzazione di documenti aziendali che verranno inseriti in un archivio a
disposizione di tutti i dipendenti dell’azienda.
l sistema andrà a velocizzare le procedure di condivisione dei documenti in lavorazione dai
vari gruppo di lavoro oltre a permettere la consultazione dei documenti relativi a progetti
realizzati in passato. Questo per permettere l’abbandono di un sistema di scambio e
condivisione di documentazione avvenuta prevalentemente su supporto cartaceo. Ne segue
che, il software dovrà essere rivolto agli impiegati dell’azienda e ai gruppi di lavoro composti
da questi ultimi; agli impiegati, quindi, sarà consentito di condividere e visualizzare i
documenti prodotti all’interno del proprio gruppo di lavoro e di accedere a tutti i documenti
presenti in archivio.
Secondo specifiche, il sistema dovrà permettere la ricerca dei documenti all’interno
dell’archivio informatico, a tal fine il sistema provvederà a classificare i documenti per
categorie in maniera automatica al momento del loro inserimento.
1.2 Obiettivi di progettazione
Il sistema DocS è stato sviluppato per semplificare le procedure di condivisione e
classificazione di documenti inseriti dai dipendenti dell’azienda. Grazie ad interfacce intuitive
e possibile interagire ed amministrare il sistema.
Il sistema si appoggia ad un DBMS esterno, sfruttando al massimo le potenzialità di
ottimizzazione per il recupero dei dati. La documentazione gestita dal sistema DocS è a
carattere riservato e ad uso esclusivo dei dipendenti dell’azienda, pertanto è stato scelto di
adottare un sistema di autenticazione che controlla l’accesso al sistema tramite l’inserimento
di nome utente e password assegnate dall’amministratore ad ogni dipendete dell’ azienda.
Il progetto è stato realizzato nel linguaggio di programmazione Java, con paradigma di
programmazione ad oggetti. La scelta di questo linguaggio di programmazione è scaturita
dalla necessità del cliente di potere utilizzare il sistema DocS in tutti gli elaboratori presenti o
che si acquisteranno in seguito nell’azienda.
http://www.magsoft.it/progettodocs
2
Progetto DocS
System Design Document
2 Architettura software attuale
Nella realizzazione del sistema i progettisti non si sono potuti avvalere della possibilità di
confronto con altri software simili in quanto non presenti sul mercato.
Ad oggi il mercato non presenta un sistema automatizzato di questo tipo, in quanto nella
maggior parte delle realtà aziendali la classificazione e la condivisione di documenti avviene
ancora nel più familiare e meno efficiente sistema cartaceo.
3 Architettura software proposta
3.1 Overview
Il Sistema commissionato è un software distribuito costituito da un nucleo centrale,
contenente l’archivio di tutti i documenti rilasciati dai vari gruppi di lavoro a progetto concluso.
Gli utenti interagiscono con il sistema centrale da diverse postazioni client.
I client non hanno alcuna possibilità di interagire tra di loro pertanto, tutte le richiesta delle
informazioni al database o dei documenti sia in archivio che in locale, dovranno sempre
essere fatte al server centrale. Ne deriva che l’architettura più idonea al progetto è di tipo
Client-Server.
Il sistema pur basandosi su un’architettura Client-Server, permetterà la condivisione,
all’interno di uno stesso gruppo di lavoro, di documenti residenti su postazioni diverse.
Quando un utente richiederà un documento presente su un’ altra postazione, la richiesta
verrà inviata al server, il quale tramite un’interazione con il DBMS risalirà alla postazione che
ospita il documento richiesto, lo stesso verrà prelevato (in copia) dalla postazione e verrà
inoltrato all’utente che ne aveva fatto richiesta.
Le tipologie di utenti si dividono in: amministratore, impiegato, Group Member e Group
Leader. Il primo sarà l’amministratore, che conduce le operazioni di gestione degli account e
dei gruppi di lavoro; il secondo è l’utente normale che può accedere solamente all’archivio in
quanto non appartenente a nessun gruppo, Group Member è l’utente appartenente a un
gruppo del quale potrà gestirne i documenti, infine c’è il Group Leader che oltre alle
funzionalità del GM, ha la possibilità di gestire il gruppo tramite inserimento ed eliminazione di
membri del gruppo.
3.2
Decomposizione in sottosistemi
I sottosistemi individuati all’interno del sistema D o c s rispecchiano in linea di massima le
grandi aree di funzionalità offerte dal sistema.
Tali sottosistemi possono essere divisi in due livelli, il primo riguarda i sottosistemi presenti
nel lato Client ed il secondo riguarda i sottosistemi presenti nel lato Server, entrambi
comunicano tra di loro tramite il sottosistema “ComunicazioneServer”.
Per quanto riguarda il sottosistema Client si sono individuati i seguenti sottosistemi:
1. “InterfacciaUtente” (che comprende anche le interfacce relative ai GM ed ai GL) che
interagisce con i sottosistemi “GestioneGruppi” e “GestioneDocumenti”
2. “InterfacciaAmministratore” che interagisce con tutti i sottosistemi presenti nel
sottosistema Client che sono: “GestioneUtenti”, “GestioneDocumenti” e
“GestioneGruppi”.
I sottosistemi del lato Client dialogheranno con i sottosistemi presenti nel lato Server che
svolgeranno le operazioni più importanti ed onerose del sistema.
http://www.magsoft.it/progettodocs
3
Progetto DocS
System Design Document
I sottosistemi individuati nel Server sono:
1. “Autenticazione”, che contiene le classi che si occuperanno di controllare i dati inseriti nel
Client e di autenticare l’utente informando il Client che tipo di interfaccia principale deve
mostrare in base ai dati inseriti dall’utente (le interfacce principali saranno diverse a seconda
che l’utente autenticato sia Admin, Utente, GM o GL).
2. “ArchiviazioneERecuperoDocumenti”, che si occuperà delle operazioni richieste dai
Client riguardanti la gestione dei documenti.
3. “ClassificaERicerca”, che si occuperà di classificare i documenti al momento del loro
inserimento da parte dei Client e che fornirà le funzionalità di ricerca richieste dai Client.
4. “DBMSCtrl”, che si occuperà di interfacciare le richieste effettuate dai vari sottosistemi,
sia quelli presenti nel lato Client che quelli presenti nel lato Server, al sottosistema
DATABASE.
Il diagramma seguente illustra
dipendenze tra i vari sottosistemi.
la
suddivisione
sopra
descritta,
http://www.magsoft.it/progettodocs
mostrando
4
le
Progetto DocS
System Design Document
3.3 Mapping hardware/software
La struttura hardware proposta e costituita da un server centrale e dalle postazioni utenti
che possono essere costituite da computer portatili o fissi nei quali possono girare sistemi
operativi diversi fra loro.
Al server si collegano le postazioni client ed il database, il tipo di postazione del client è
determinata in fase di autenticazione controllando nel database il tipo di utente che
corrisponde allo UserName inserito in quel client.
Le postazioni client dovranno effettuare richieste al server per eseguire le operazioni
legate alle loro rispettive funzionalità. Sulle postazioni client dei Group Member, come
già detto, risiederanno i documenti dei progetti in corso di lavorazione, nel server
invece risiederanno tutti i documenti dell’archivio inerenti i progetti completati.
Il database conterrà sia i dati relativi agli account ed ai gruppi, sia i dati relativi ai
documenti ed alla loro collocazione e classificazione all’interno del sistema.
Le postazioni client e il server saranno connesse tramite una rete che utilizzerà il
protocollo TCP/IP.
Di seguito è illustrato il diagramma di deployment con i componenti suddivisi per ogni nodo
http://www.magsoft.it/progettodocs
5
Progetto DocS
System Design Document
3.4 Gestione dei dati persistenti
Il sistema DocS si avvale dell’uso di un database di tipo relazionale, al quale si interfaccia
tramite un DBMS. Questa scelta è stata ponderata data la sicurezza offerta da un DBMS di
ultima generazione, assieme ad una maggiore affidabilità e garanzia di coerenza e facilità di
gestione, nonché dalla velocità di accesso e trasmissione dei dati.
3.5
Controllo e sicurezza degli accessi
La sicurezza ed il controllo dei dati del database è garantita tramite l’utilizzo di username e
password per ogni singolo utente, che verranno richieste per ogni singolo accesso.
Ogni tipo di utente, group member, group leader ed amministratore, avrà a disposizione
diverse interfacce grafiche, in modo che ogni utente possa accedere solo alle rispettive
funziolità che rientrano nella sua categoria di utenza.
3.6
Global Control Flow
Per quanto riguarda il flusso di controllo esterno (fra sottosistemi), il server sarà
sempre in funzione, in attesa di eventuali richieste di servizi da parte delle varie
postazioni client; nel caso di più richieste contemporanee, il server utilizzerà la tecnica
FIFO (First In First Out).
3.7 Boundary Conditions
1. Il server deve essere sempre accesso altrimenti i client non possono richiedere
funzionalità quali l’autenticazione e di conseguenza la condivisione dei documenti tra le
postazioni dello stesso gruppo di lavoro, l’accesso ai documenti presenti in archivio ed
al servizio di classificazione automatica utilizzato anche per i documenti salvati in
locale.
2. In presenza di una chiusura o malfunzionamento del client, il sistema funziona
correttamente ma non può accedere alla documentazione presente in quest’ultimo.
3. In caso di errata digitazione di username e/o password il sistema avverte l’utente con un
messaggio di errore e visualizza nuovamente la schermata di login, consentendo un
nuovo inserimento dei dati.
http://www.magsoft.it/progettodocs
6