modelli per la specifica dei requisiti - · film version platform computer program title publisher...
TRANSCRIPT
Analisi e Specifica dei requisiti
1
Modelli per la specificadei requisiti
• Specifica significa definizione
• Definire le proprieta` che l’applicazione dovra`avere, evitando di descrivere una loro possibilerealizzazione
• Vari modelli descrittivi possibili, per problemi oclassi di applicazioni diverse
• I modelli sono, obbligatoriamente, astratti poiche`non possono descrivere tutti i dettagli sul sistema
• Modelli orientati all'elaborazione dati (data-flow)
• Modelli basati su composizione (modellisemantici dei dati)
• Modelli basati su classificazione (modelli adoggetti)
• Modelli basati su risposte a stimoli (real-time)
• Modelli orientati a processi (reti di Petri)
Analisi e Specifica dei requisiti
2
• Modelli semantici dei dati
• Modelli ad oggetti
• Dizionari dei dati
• Modelli data-flow
Analisi e Specifica dei requisiti
3
Modelli semantici dei dati:il modello Entità-Relazioni
• Strumento per descrivere la struttura concettuale(o schema concettuale) dei dati (Chen, 1972)
• Applicazioni di tipo gestionale
• Impiegato nelle fasi iniziali della progettazione disistemi di basi di dati
• Definisce le entita` del sistema, le associazioni traesse e gli attributi delle entita`
Entità, oggetti necessari e sufficienti per il correttofunzionamento di un sistema informativoautomatizzato
Proprietà o attributi, servono a descrivere le entità(ad esempio, TITOLO, AUTORE, etc. per l’entitàLIBRI)
Associazioni (o relazioni), stabiliscono unaassociazione o un legame logico tra entità
• Realizzabile facilmente in basi dati relazionali
Analisi e Specifica dei requisiti
4
Notazione del modello ER
<nome>
attributo chiave
<nome>attributo composto...
attributo multiplo
is_a
attributo
entita`
cardinalita` di ingresso
cardinalita` di uscita
associazione
relazione di ereditarieta`
attributo opzionale
associazione parziale
• Formalismo grafico di descrizione sufficien-temente astratto da poter servire comestrumento di comunicazione tra progettisti ecommittenti
Analisi e Specifica dei requisiti
5
Meccanismi di astrazione:classificazione
• Oggetti diversi vengono riconosciuti comeomogenei, appartenenti alla stessa categoria oclasse
• Nel modellare una realtà bibliotecaria, ad esempio,occorrerà individuare una classe (tipo entità)DOCUMENTI (ad esempio per effettuare degliordini)
DOCUMENTI
• Se si vuole costruire un sistema informativo per leopere d’arte di proprietà di un ente, occorreràindividuare certamente una classeOPERE_D’ARTE
OPERE D'ARTE
Analisi e Specifica dei requisiti
6
Meccanismi di astrazione:aggregazione
• Una classe (tipo entità) è caratterizzata attraversoun aggregato di attributi.
• La struttura è un insieme finito di proprietà (oattributi) comuni a tutti gli elementi
• Ad esempio, per i DOCUMENTI:TITOLOAUTORENOTE_DI_EDIZIONENOTE_TIPOGRAFICHEetc. (Int. Standard Bibliographic Description)ISBN (Attributo opzionale)
DOCUMENTI
ISBNAUTORETITOLONOTE_TIPOGRAFICHENOTE_DI_EDIZIONE
• Identifichiamo una entità AUTORI, i cui attributisono per esempio:
NOMECOGNOMEDATA_DI_NASCITALUOGO_DI_NASCITA (stato)DATA_DI_MORTE (opzionale)
Analisi e Specifica dei requisiti
7
AUTORI
NOMECOGNOME
ggmmaa
mmaagg
DATA_DI_NASCITA
DATA_DI_MORTE
LUOGO_DI_NASCITA
Analisi e Specifica dei requisiti
8
Chiave primaria di un'entita`
• Tra gli attributi di una entità (tipo entità) puòesserci un attributo (o un insieme di attributi) checostituiscono una chiave primaria
• L’attributo o l’insieme di attributi che identificanoin modo univoco ogni elemento di una entità
• Ad esempio, NUMERO_INVENTARIO per l’entitàDOCUMENTI_ARCHIVIATI
DOCUMENTI ARCHIVIATI
NUMERO_INVENTARIOCOLLOCAZIONEISBNAUTORETITOLONOTE_TIPOGRAFICHENOTE_DI_EDIZIONE
attributo chiave
• La chiave primaria può essere utilizzata insostituzione dell’elemento che individua
• Spesso e` creata appositamente (ad esempio, codicefiscale di un contribuente, numero di matricola diuno studente)
Analisi e Specifica dei requisiti
9
Modello ER: associazioni
• Una relazione (o associazione) costituisce, nelmodello E-R, una connessione tra entità
DIRIGENTI FORNITORIRESPONSABILE
• A ogni relazione viene associata la lista ordinatadelle entità che vi partecipano
• In caso di ambiguita`, si specifica il ruolo dellediverse presenze di una stessa entità in unarelazione
PERSONE PADRE genitore
figlio
• Cardinalita` 1:1, 1:n, n:m
• Le associazioni possono presentare attributi
Analisi e Specifica dei requisiti
10
• Ad esempio, ordine di un documento: coinvolgel’entità DOCUMENTI ed i FORNITORI
DOCUMENTI FORNITORIORDINI
NUM_ORDINEDATA_ORDINE
PREZZO
Associazione n:m, ciascun documento può essereordinato a più fornitori, ogni fornitore può riceverel’ordine di più libri
• Ad esempio, prestito di un documento: coinvolgel’entità DOCUMENTI_ARCHIVIATI e gli UTENTI
DOCUMENTI ARCHIVIATI UTENTIPRESTITI
DATA_PRESTITODATA_RESTITUZIONE
Analisi e Specifica dei requisiti
11
Meccanismi di astrazione:generalizzazione
• Meccanismo di astrazione che porta a riconoscereche una classe è più generale di un’altra o viceversa
• Ad esempio:
DOCUMENTI
is_a
DOCUMENTI ARCHIVIATI
NUMERO_INVENTARIO
COLLOCAZIONE
ISBNAUTORETITOLONOTE_TIPOGRAFICHENOTE_DI_EDIZIONE
Ogni elemento dell’entità DOCUMENTI_ARCHI-VIATI è anche un elemento di DOCUMENTI
Gli attributi che descrivono i DOCUMENTI sono"ereditati" da DOCUMENTI_ARCHIVIATI
Analisi e Specifica dei requisiti
12
Schema concettuale: un esempio
UTENTIPRESTITI
DATA_PRESTITODATA_RESTITUZIONE
FORNITORIORDINI
NUM_ORDINEDATA_ORDINE
PREZZO
SCRITTO
AUTORI
NOMECOGNOME
ggmmaa
mmaagg
DATA_DI_NACITA
DATA_DI_MORTE
LUOGO_DI_NASCITA
DOCUMENTI
is_a
DOCUMENTI ARCHIVIATI
NUMERO_INVENTARIOCOLLOCAZIONE
ISBNTITOLONOTE_TIPOGRAFICHENOTE_DI_EDIZIONE
NOMECOGNOME
numero viacitta`
INDIRIZZO
P_IVA
NOMECOGNOME
numero viacitta`
INDIRIZZO
INTERESSI
d
DOCENTI STUDENTIAUTORIZZATO
is_a
Analisi e Specifica dei requisiti
13
Lo schema deve essere:
- completo (tutte e sole le proprietà dei concettidella realtà di interesse nei requisiti);
- corretto (strutture del modello utilizzate inmodo conforme nello schema);
- minimo (non ridondante);
- leggibile (deve rappresentare la realtà diinteresse in modo comprensibile edautoesplicativo);
- indipendente dalle applicazioni;
- estendibile;
- indipendente dallo strumento informaticoscelto.
Analisi e Specifica dei requisiti
14
Modelli ad oggetti
• Descrivono il sistema in termini di classi di oggetti
• Una classe di oggetti e` un'astrazione su un insiemedi oggetti con attributi e servizi comuni
< attributes >
< services >
< class name >
• Diverse tipologie di modelli:
• a ereditarieta`
• ad aggregazione
• di servizio
• Identificazione delle classi di oggetti, processocomplesso che richiede una profonda comprensionedel dominio applicativo
Analisi e Specifica dei requisiti
15
Ereditarieta`
• Si organizzano le classi in gerarchia
• Le classi ai livelli piu` alti della gerarchia riflettonole caratteristiche comuni di tutte le classi
• Le classi ereditano i propri attributi e servizi dallesuper-classi
• Il progetto della gerarchia e` la parte piu`complessa
Analisi e Specifica dei requisiti
16
Esempio biblioteca
Catalogue numberAcquisition dateCostTypeStatusNumber of copies
Library item
AcquireCatalogueDisposeIssueReturn
AuthorEditionPublication dateISBN
Book
YearIssue
Magazine
DirectorDate of releaseDistributor
Film
VersionPlatform
Computerprogram
TitlePublisher
Published item
TitleMedium
Recorded item
Analisi e Specifica dei requisiti
17
NameAddressPhoneRegistration #
Library user
RegisterDe-register
Affiliation
Reader
Items on loanMax. loans
Borrower
DepartmentDepartment phone
Staff
Major subjectHome address
Student
Analisi e Specifica dei requisiti
18
Ereditarieta` multipla
# Tapes
Talking book
AuthorEditionPublication dateISBN
Book
SpeakerDurationRecording date
Voice recording
• Le classi possono ereditare attributi o servizi dapiu` super-classi
• Si possono verificare conflitti se sono definitiattributi/servizi con lo stesso nome in piu` super-classi
• Rende piu` complessa la riorganizzazione dellagerarchia
Analisi e Specifica dei requisiti
19
Aggregazione
• Alcuni oggetti sono aggregazione di altri oggetti
Videotape
Tape ids.
Lecturenotes
Text
OHP slides
Slides
Assignment
Credits
Solutions
Text
Problems
#Problems#Text
TitleNumberYearInstructor
Course
Analisi e Specifica dei requisiti
20
Servizi
• Evidenziano come i servizi forniti da un oggettopossano essere usati da altri oggetti
IssueReturn
Libraryuser
Libraryitem
AcquireCatalogueDispose
Librarystaff
RegisterDe-register
Analisi e Specifica dei requisiti
21
Diagrammi di Flusso dei Dati
• Complementari al formalismo E-R: infatti non siconcentrano sulla struttura e sul significato deidati, bensì sulle operazioni, o funzioni, applicatead essi
• Mostrano come i dati vengono elaborati nel sistema(De Marco, 1978)
• I Diagrammi di Flusso dei Dati (DFD) descrivono leoperazioni effettuate sui dati e le dipendenzefunzionali che si creano in virtù dei flussi diinformazione esistenti tra i diversi processi
• Utilizzano una notazione grafica che si concentrasull'elaborazione funzionale, la memorizzazione deidati e il passaggio di dati tra funzioni
• Applicazione sistematica del concetto diraffinamento della specifica mediante scompo-sizione gerarchica di un'operazione in un insieme dioperazioni più semplici
• Costituiscono un metodo di specifica del softwaremolto intuitivo e generale
Analisi e Specifica dei requisiti
22
DFD: rappresentazione grafica
Agente esterno
Funzione o processo
Flusso di dati
Deposito permanente di dati
• Gli agenti esterni al sistema, rappresentatimediante scatole rettangolari e non sono modellatiulterior-mente
• Funzioni, raffinabili
• Depositi di dati da usare come sorgente odestinazione di informazione permanente
• Flussi di dati, scambiati tra funzioni oppure trauna funzione e una componente di diverso tipo
Analisi e Specifica dei requisiti
23
Diagramma iniziale di un sistemainformativo:
... ...
Input 1
Input2
Input n
Output1
Output2
Outputm
sistemainformativo
• Specifica del sistema prodotta per successiviraffinamenti e specializzazioni a partire daldiagramma iniziale
• Raffinamento di una funzione, facendole corrispon-dere un intero DFD (esplosione della funzione), chespecifica in maggior dettaglio il suo significato intermini di altre funzioni più semplici
• Vincolo di continuità del flusso informativo, nelDFD corrispondente ad una funzione devono esserepresenti gli stessi flussi netti di informazione inentrata e in uscita dalla funzione che si staraffinando
• E` possibile introdurre, nel corso di unraffinamento, nuovi agenti o depositi di dati, apatto che non esistano flussi informativi tra questie le funzioni esterne al diagramma locale
Analisi e Specifica dei requisiti
24
DFD: Esempio
agente1 agente2
trans1 trans2
Deposito
Dato1
Dato2
Dato5
Dato3Dato4
DFD che modella un sistema in cui un agenteesterno (persona o dispositivo automatico) chiamatoagente1 fornisce al sistema un dato Dato1 che vieneaccettato ed elaborato dalla transizione trans1, cheproduce come risultato Dato2, a sua volta ingresso,insieme a Dato3 proveniente dal deposito di datiDeposito, alla funzione trans2 che produce leinformazioni Dato4 e Dato5, rispettivamentememorizzate nel deposito Deposito e comunicateall'agente esterno agente2
Analisi e Specifica dei requisiti
25
Raffinamenti di un DFD
• Il diagramma corrispondente alla funzione Amantiene i flussi I e O, mentre quello per A2mantiene in entrata il solo flusso K e in uscita i soliflussi M ed N (vincolo di continuita` rispettato)
Analisi e Specifica dei requisiti
26
DFD: esempio applicativo
• Specifica di un sistema di monitoraggio di pazientein un ospedale
I segnali vitali del paziente (temperatura, pressione,polso) sono misurati periodicamente e convertiti in formamanipolabile da programma; essi vengono confrontati coidati ammissibili per il paziente, memorizzati in formapermanente su di un file, formattati e memorizzati in unfile storico.Se i dati del paziente sono al di fuori dei limiti prestabilitiviene generato un messaggio di allarme che richiamal'attenzione del personale sanitario.Inoltre, un infermiere può occasionalmente, cioè in modoasincrono, richiedere un rapporto sulle condizioni delpaziente: in questo caso il rapporto viene generato apartire dall'archivio storico.
Analisi e Specifica dei requisiti
27
• DFD iniziale, in cui la funzione monitoraggiopaziente individua l'intero sistema da specificare:
Paziente
Infermiera
monitoraggiopaziente
Infermiera
archivio paziente
Rapportomessaggio allarme
dati fisiologici
Richiesta Rapporto
dati recentidati
rapporto
• Primo raffinamento, nel quale vengono enucleate lefunzioni monitoraggio centrale, monitoraggio locale,aggiorna archivio e genera rapporto
Infermiera
Infermiera
archivio pazienteRichiesta Rapporto
limiti paziente
monitoraggiocentrale
limiti ammissibilita'
aggiornaarchivio
genera rapporto
dati rapporto
dati recenti
dati paziente formattati
messaggio allarme
Pazientedati fisiologici
monitoraggiolocale
dati paziente
Rapporto
Analisi e Specifica dei requisiti
28
• Ulteriore dettaglio della funzione monitoraggiocentrale.:
limiti ammissibilità
dati paziente formattati
messaggio allarme
dati paziente
decodificadati
valutaviolazni limiti
Temperatura
Polso
Pressione
Confronto
Pressione, polso e temperatura
Formattadati
paziente clockData e ora produci
messaggio
Viene aggiunto l'agente clock che fornisce la data el'ora corrente da associare a un dato insieme dimisurazioni da formattare e memorizzare (nonsarebbe stato opportuno introdurre tale agente adun livello di dettaglio più alto)
Analisi e Specifica dei requisiti
29
Alcune regole e suggerimenti peruna stesura di DFD:
Nella descrizione di un sistema mediante DFD essodeve essere immaginato in un ipotetico stato stabile einvariante in cui i dati in uscita vengono prodotti apartire da quelli in ingresso (si ignorano le condizioni ele operazioni per l'inizializzazione del sistema, per lasua terminazione e per la gestione di errori e situazionieccezionali);
Ignorare il flusso di controllo e la sincronizzazione tra iprocessi (informazione non rilevante in questa fasedella specifica);
Individuare entrate e uscite nette del sistema o dellaporzione che si sta descrivendo: esse vanno evidenziate,per esempio, disegnandole più esterne;
Assegnare ai flussi ed alle funzioni nomi significativi;
Per verificare la correttezza e la consistenza di un DFD,percorrere la sequenza dei flussi informativi sia apartire dagli ingressi verso le uscite sia risalendo dalleuscite fino agli ingressi dai quali esse dipendono e chevengono usati per calcolarle.
Analisi e Specifica dei requisiti
30
Note
• I DFD permettono di strutturare il sistema siaorizzontalmente, effettuando una scomposizionefunzionale del sistema nelle sue componentiimmediate, sia verticalmente, dal momento che ilprocesso di decomposizione funzionale può essereiterato a qualsiasi livello su ogni attività introdotta,creando così una struttura gerarchica, ad albero, didiagrammi
• I DFD forniscono soltanto informazioni sulledipendenze funzionali tra i dati, ma sono del tuttoimprecisi e ambigui per quel che riguarda gliaspetti di sincronizzazione e controllo
• Non adatti per specifica di interfacce utente
• Diagrammi E-R forniscono un modello concettualedei dati, con maggiore informazione sul lorosignificato e sul loro uso
• Integrazione dei DFD con i modelli semantici deidati
Analisi e Specifica dei requisiti
31
Dizionari dei dati
• Elenco di nomi e descrizioni associate per le entita`usate nel sistema
• Se il nome rappresenta un oggetto composito, sispecifica anche una descrizione della composizione
• Rappresenta un meccanismo per la gestione dinomi ed un collegamento tra analisi, progetto erealizzazione
• Deve comprendere tutti i nomi usati nel modello delsistema, nel progetto e nella realizzazione
• Esempio:
dizionario che descrive la struttura di un dato medianteoperatori di selezione, opzionalità, ripetizione econcatenamento tra le parti componenti:
Costrutto Notazione SignificatoDefinizione A + B A è definito come BSequenza A + B A concatenato con BSelezione [ A | B ] A oppure BRipetizione { A }ji A ripetuto min i,
max j volteOpzionalità [ A ] A oppure nulla
Analisi e Specifica dei requisiti
32
Dizionari dei dati: esempi
• Definizione della struttura e della composizione delnumero telefonico in una organizzazione chedispone di un centralino automatico
Un generico utente del servizio telefonico ha lapossibilità di effettuare chiamate locali, chiamateesterne o di parlare col centralinista. Le chiamatelocali possono essere in conferenza, con un massimodi cinque partecipanti; le chiamate esterne possonoessere urbane o interurbane. La struttura dellepossibili opzioni per il numero telefonico è definitaallora dalle seguenti dichiarazioni
numero telefonico +[ numero locale | numero esterno | centralino ]
centralino + 0numero locale + [ interno | conferenza ]interno + { digit }44digit + [ 0 | 1 | ... | 9 ]conferenza + {# + interno}52+ # + #numero esterno + 9 + [ prefisso ] + esternoesterno + { digit }85prefisso + 0 + { digit }21
In questo caso, espressioni regolari
Analisi e Specifica dei requisiti
33
status
name
Entry
usedby
Entrydate
desc.
N
1
Entry
uses
N
1
Entry
includes
N
1
defines
Datadictionary
type
N
1
name
Analisi e Specifica dei requisiti
34
Name Description Type Date
has_labels1:N relation between entities of typeNode or Link and entities of typeLabel.
Relation 5.10.93
LabelHolds structured or unstructuredinformation about nodes or links. Labels can be text or can be an icon.
Entity 8.12.93
LinkRepresents a relation between designentities represented as nodes. Linksare typed and may be named.
Relation 8.12.93
name (label)Each label has a name whichidentifies the type of label. The namemust be unique within the set oflabel types used in a design.
Attribute 8.12.93
name (node)Each node has a name which must beunique within a design. The namemaybe up to 64 characters long.
Attribute 15.11.93
Analisi e Specifica dei requisiti
35
Transformation Schema
• Estensione dei DFD per rappresentare gli aspettitemporali e di sincronizzazione dei sistemispecificati
• Aggiungono alla descrizione della trasformazionedei dati dei DFD tradizionali la descrizione dellagestione del controllo e della sincronizzazione
• Aggiungono funzioni di controllo, flussi di dati dicontrollo e memorie temporanee (elementitratteggiati)
Analisi e Specifica dei requisiti
36
Elementi dei TS
• Funzioni di controllo, rappresentate con cerchidalla circonferenza tratteggiata
• Flussi di controllo, divisi in segnali semplici, chetrasmettono il verificarsi di una condizione, esegnali di attivazione e disattivazione esplicita difunzioni
• Flussi di dati, divisi a loro volta in segnali discreti econtinui
• Memoria, suddivisa in memoria permanente,chiamata data store, e memoria temporanea(buffer), che viene letta e scritta in modo distruttivo
• I flussi di controllo per l'attivazione e ladisattivazione esplicita delle funzioni possonoessere emessi solo dalle funzioni di controllo edeterminano lo stato di attivazione delle funzioni(di trasformazione dei dati) che li ricevono
• Le funzioni di trasformazione dei dati possonoessere attivate da un ingresso attivo (al piu` uno):questo può essere un flusso di controllo di tiposegnale, oppure un dato discreto
Analisi e Specifica dei requisiti
37
• Funzioni di controllo specificate come automi astati finiti (regole di evoluzione analoghe a Reti diPetri)