UML GLOSSARY 1.1 - ADDENDA (a cura di Emilio Porcelli)
Questa Addenda contiene una serie di voci che integrano o chiarificano quelle di UML Glossary 1.1 e le cui definizioni sono per la loro quasi totalità dovute agli autori di UML o tratte dagli standard OMG.
analisi
Una fase precoce dello sviluppo focalizzata sulla scoperta del
comportamento desiderato del sistema unitamente ai ruoli e alle
responsabilità degli oggetti centrali cui è dovuto questo
comportamento [BOO96].
architettura
1) La struttura logica e
fisica di un sistema forgiata da tutte le decisioni strategiche e
tattiche di progettazione applicate durante lo sviluppo. Una
architettura OO ben strutturata consiste di un insieme di classi
assieme ai meccanismi che animano queste classi [BOO96].
2) Descrive l'organizzazione statica del software in sottosistemi connessi tra loro mediante interfacce e definisce a un livello significativo il modo in cui i nodi che eseguono questi sottosistemi software interagiscono tra loro. Una architettura si conforma con uno o più stili architetturali [JAC97].
architettura
a strati
Architettura software nella
quale il software viene organizzato per strati e ogni strato è
costruito on-top di un altro strato più generale. Con
architettura software si intende che la stratificazione riguarda
costrutti statici - come le dipendenze reciproche dei moduli al
momento della compilazione e del link -, ma non la
"organizzazione" runtime del software [JAC97].
asincrona
[richiesta] <asincrono
[messaggio]!>
Richiesta per la quale l'oggetto cliente non resta in attesa
della sua consegna al destinatario e dei suoi risultati [OMG].
assicurazione
di qualità
Una strategia per assicurare
che i processi e le risorse di una organizzazione creano prodotti
di qualità entro i vincoli richiesti [GOL95].
astratta
(classe)
Una classe il cui scopo è quello di essere ereditata da altre
classi [JAC94].
atomicità [di una operazione]
La proprietà in base alla
quale una operazione cambia lo stato associato a tutti gli
oggetti partecipanti consistenti con la richiesta, oppure non lo
cambia affatto. Se un insieme di operazioni è atomico, più
richieste di queste operazioni possono essere serializzate [OMG].
attivazione
Copiare la forma
persistente di metodi e dati memorizzati in un address space
eseguibile allo scopo di consentire l'esecuzione dei metodi sui
dati memorizzati [OMG].
attore [tipo]
Qualcosa che interagisce, e
cioò scambia dati ed eventi con il sistema o con il business. Un
tipo di attore definisce un insieme di istanze di attore tali che
ciascuna istanza impersona sempre lo stesso ruolo rispetto al
sistema o al business [JAC97].
attore
[del business]
Definisce un ruolo o un
insieme di ruoli che qualcuno o qualcosa appartenente
all'ambiente del business puo impersonare in relazione al
business stesso [JAC94].
attore [di un sistema informativo]
Definisce un ruolo o un insieme di ruoli che qualcuno o
qualcosa nell'ambiente di un Sistema Informativo puo impersonare
rispetto a esso. Un esempio di attore è l'utente del Sistema
Informativo [JAC94].
attributo Associazione identificabile tra un oggetto e un valore. Un attributo A si rende visibile ai suoi clienti come coppia di operazioni: get_A e set_A. Gli attributi in sola lettura possono generare unicamente una operazione get [OMG].
autoriferimento vedi self-reference
baseline
Un rilascio - sul quale sono state esercitate attività di
revisione e che è stato approvato - di artefatti che
costituiscono una base concordata per successive evoluzioni e
sviluppi, e che puo venire cambiato solo attraverso una procedura
formale. In altre parole è un rilascio soggetto a change
management e controllo della configurazione [JAC97].
binding
La scelta del metodo per l'esecuzione di un servizio richiesto
e dei dati ai quali il metodo avrà accesso. Vedi: binding
dinamico, binding statico [OMG].
binding
dinamico
Binding eseguito dopo l'emissione di una richiesta [OMG].
binding statico
Binding eseguito prima della effettiva emissione di
una richiesta [OMG].
boundary
[tipo]
Costituiscono la porzione del sistema che è
dipendente dalla implementazione, mentre i tipi controllo e
entità sono indipendenti da cio che li circonda. Window,
protocolli di comunicazione, sensori e interfacce di stampanti
sono altrettanti esempi di tipi boundary. Vengono rappresentati
con lo stereotipo <<boundary>>. Sinonimo: tipo
interfaccia. Contrario: [tipo] controllo,
[tipo] entità
[JAC97].
caso d'uso [in un sistema del business]
Una sequenza di transazioni che ha come compito
produrre un risultato il cui valore per un singolo attore del
sistema puo essere misurato [JAC94].
classe
Una implementazione che puo essere istanziata per
creare una molteplicità di oggetti tutti con lo stesso
comportamento. Un oggetto è una istanza di una classe. I tipi
classificano gli oggetti in base alla comunanza della loro
interfaccia; le classi in base alla comunanza della loro
implementazione [OMG].
cliente
In una relazione client/server un oggetto che richiede
un servizio a un oggetto server. Il codice o il processo che
invoca una operazione su un oggetto [OMG].
coesione
La correlazione tra gli elementi che costituiscono
una unità incapsulata [PAG95].
collaborazione
La cooperazione di un insieme di classi o oggetti che lavorano
assieme per produrre un comportamento di livello più elevato. Il
comportamento risultante non è il frutto di una singola
astrazione, ma deriva da una distribuzione delle responsabilità
in una comunità. I meccanismi rappresentano collaborazioni tra
classi [BOO96].
communicates
[in un caso d'uso]
Associazione indicante che i lavoratori
interagiscono tra loro o con oggetti entità del business; oppure
che attori del business e casi d'uso interagiscono tra loro. E'
rappresentata dallo stereotipo <<communicates>>
[JAC97].
component
system (CS)
Un component system esporta, attraverso una o più
facciate, un insieme di componenti ben packaged e certificate la
cui delivery, generalmente, ha luogo internamente al Reuse
Business. Vedi: facciata,
Reuse Business
[JAC97].
componente
Nozione concettuale. Componente è un oggetto
che viene considerato parte di un qualche oggetto contenitore
[OMG].
Un tipo, classe o altro workproduct UML di elevata qualità
progettato, documentato e packaged per risultare riusabile. Una
componente è coesa e la sua interfaccia è stabile. Le
componenti comprendono: interfacce, sottosistemi, casi d'uso,
tipi, attori o classi e tipi di attributo; comprendono inoltre
altri workproduct come template e specifiche dei casi prova. Si
noti che questa definizione differisce da quella di UML [JAC97].
comportamento
Il comportamento di una richiesta corrisponde agli
effetti osservabili della esecuzione del servizio richiesto (ivi
compresi i suoi risultati) [OMG].
configuration item vedi elemento di configurazione
configurazione
1) Una particolare versione di elementi di
configurazione.
2) I requisiti, il disegno e la implementazione che definiscono
una particolare versione di un sistema o di una sua componente.
E' rappresentata da un package <<configurazione>>.
Vedi: configuration
management [JAC97].
configuration
management
Processo di supporto che per obiettivo
identificare, definire e 'baseline' elementi [di configurazione];
controllare le modifiche e i rilasci di questi elementi;
assicurare la loro completezza, consistenza e accuratezza;
controllarne la memorizzazione, gestione e delivery. Vedi: baseline [JAC97].
conformità
Relazione definita su tipi in base alla quale il tipo x si
conforma con il tipo y se ogni valore che soddisfa il tipo x
soddisfa anche il tipo y [OMG].
connascenza
Tra gli elementi A e B: la proprietà per la quale
esiste almeno un cambiamento ad A che richiede un cambiamento a B
per preservare la correttezza del tutto [PAG95].
contratto
Specifica degli stimoli che possono essere
comunicati tra due istanze appartenenti a due diverse classi
[JAC94]
controllo
[tipo]
Un oggetto di controllo
esegue i comportamenti tipici di un caso d'uso. Spesso controlla
e coordina altri oggetti. Un tipo controllo offre comportamenti
che non appartengono ai tipi entità o interfaccia. E'
rappresentato dallo stereotipo <<controllo>>.
Contrario: [tipo] boundary,
[tipo] entità [JAC97].
contronascenza
Tra gli elementi A e B: forma
di connascenza per la quale in A esiste una qualche proprietà la
cui differenza rispetto a un corrispondente aspetto di B va
preservata. Vedi: connascenza [PAG95].
coupling
La dipendenza (o il grado di dipendenza) di una
componente da un'altra [PAG95].
CRC Card (Sta per Classi, Responsabilità e
Collaboratori)
Inventate da Kent Beck e Ward Cunningham, sono
state rese popolari da altri autori, in particolare Rebecca
Wirfs-Brock.
creazione
[di un oggetto]
Un evento che causa
l'esistenza di un oggetto distinta da quella di ogni altro
oggetto. Contrario: distruzione
di un oggetto [OMG]
data type vedi tipo di dato
decisione
strategica
Una decisione attinente allo sviluppo con
implicazioni architetturali a largo raggio [BOO96].
decisione
tattica
Una decisione attinente allo sviluppo con
implicazioni architetturali a livello locale [BOO96].
delega
Per un metodo la capacità di emettere una
richiesta in modo tale che l'autoriferimento nel metodo che la
esegue restituisca lo stesso o gli stessi oggetti come
autoriferimento nel metodo che l'ha emessa [OMG]. In altre parole
la capacità per un oggetto di emettere una richiesta a un altro
oggetto in risposta a una richiesta. In questo modo il primo
oggetto delega la responsabilità al secondo. Vedi: self-reference.
disegno
Una fase intermedia dello sviluppo focalizzata
sull'invenzione di una architettura per l'implementazione in via
di evoluzione e sulla specifica di politiche e tattiche che
debbono essere usate da elementi disparati del sistema [BOO96].
distruzione
[di un oggetto]
Un evento che causa la cessazione dell'esistenza di un oggetto
rendendo disponibili per il riuso le risorse associate a esso.
Contrario: creazione
di un oggetto [OMG].
elemento
di configurazione
Un segmento di un modello che puo essere soggetto a controllo
delle versioni; per esempio, un tipo di caso d'uso; un package di
servizio contenente tipi dell'analisi oppure moduli software. E'
rappresentato da un package <<configuration>>
[JAC97].
entità [tipo]
Tipo generico riusato in più casi d'uso e spesso
con caratteristiche di persistenza. Un tipo entità definisce un
insieme di oggetti entità che partecipano a più casi d'uso
sopravvivendo tipicamente a essi. E' rappresentato dallo
stereotipo <<entity>>. Contrario: [tipo] boundary, [tipo] controllo
[JAC97].
ereditarietà
La costruzione di una definizione attraverso
modifiche incrementali di altre definizioni. Vedi: ereditarietà
dell'implementazione [OMG].
ereditarietà dell'implementazione
La costruzione di una implementazione attraverso modifiche
incrementali di altre implementazioni [OMG].
ereditarietà dell'interfaccia
La costruzione di una
interfaccia attraverso modifiche incrementali di altre
interfacce. L'ereditarietà dell'interfaccia è assicurata da
IDL. Vedi: Interface Definition Language [OMG].
ereditarietà
multipla
La costruzione di una
definizione attraverso la modifica incrementale di più di
un'altra definizione [OMG].
ereditarietà
singola
La costruzione di una
definizione attraverso la modifica incrementale di una
definizione [OMG].
esportare
Trasmettere la
descrizione di un oggetto a una entità esterna [OMG].
estende [generalizzazione]
Relazione tra un caso d'uso A e un caso d'uso B indicante come
una istanza che obbedisce al caso d'uso A possa a un certo punto
presentare una discontinuità nella sua obbedienza ad A e
cominciare invece a obbedire a B. E' rappresentato dallo
stereotipo <<extends>> e si applica anche ai tipi
[JAC97].
estensione
[di un tipo]
L'insieme dei valori che soddisfanno un tipo [OMG].
facciata
(façade)
Sottoinsieme packaged di
componenti o riferimenti a componenti scelto dal component system
(CS). Ogni facciata fornisce un accesso pubblico solo a quelle
parti del CS prescelte come disponibili per il riuso. E'
rappresentato dallo stereotipo <<façade>> [JAC97].
fase
Una delle maggiori suddivisioni del macro processo
(concettualizzazione, analisi, disegno, evoluzione e
manutenzione) che abbraccia un insieme di iterazioni ciascuna
delle quali mirata a un obiettivo economico comune [BOO96].
framework
Una collezione di classi che forniscono un insieme
di servizi per un determinato dominio; un framework esporta un
certo numero di classi e meccanismi che possono essere usati
direttamente o adattati dai loro clienti. I framework sono dei
pattern che permettono in genere un riuso su larga scala. Un
framework è una microarchitettura e rappresenta un template che
andrà completato per le applicazioni di un determinato dominio
[BOO96].
function point vedi punto funzione
generalizzazione
L'inverso della relazione di specializzazione
[OMG].
handle
Un valore che identifica un oggetto [OMG].
handler
Una parte che ha un qualche interesse in un sistema o di cui
rappresenta una risorsa. Di solito un handler ha bisogno di uno o
più modelli del sistema e può essere una persona o un altro
sistema. Un sistema può essere un sistema del business o un
sistema informativo. Un esempio di handler per un sistema del
business un cliente, per un sistema informativo un utente
[JAC94].
identità di un oggetto vedi handle
idioma
Una espressione peculiare di un dato linguaggio, o
di una data cultura applicativa, che rappresenta una convenzione
generalmente accettata nell'uso di quel linguaggio. Gli idiomi
sono pattern e corrispondono a un riuso su piccola scala [BOO96].
implementazione
1) L'attività di programmazione, testing e
integrazione che porta una applicazione a essere consegnata e a
soddisfare i comportamenti e le prestazioni desiderate [BOO96].
2) Definizione che riporta le informazioni necessarie per creare un oggetto e consentirgli di partecipare alla fornitura di un adeguato insieme di servizi. Una implementazione comprende tipicamente la descrizione delle strutture di dati usate per rappresentare lo stato associato all'oggetto, così come la definizione dei metodi che accedono la struttura dati. Comprende anche informazioni sulla interfaccia dell'oggetto [OMG].
importare
Creare un oggetto in base a una descrizione
dell'oggetto stesso trasmessa da una entità esterna [OMG].
incrementale
(processo)
Ciascun passo attraverso il ciclo di
analisi/disegno/implementazione porta ad affinare gradatamente le
nostre decisioni strategiche e tattiche, estende gli scopi che ci
proponiamo avendo come punto di partenza uno 'scheletro'
architetturale iniziale, e sfocia nel prodotto che sarà
consegnato. Il lavoro delle precedenti iterazioni non viene
scartato o rifatto, ma piuttosto corretto e aumentato. Il
processo incrementale anche a un livello più fine di
granularità, e cioè nel modo in cui ciascuna iterazione viene
organizzata internamente in una successione di passi realizzativi
[BOO96].
Interface Definition Language (IDL)
Usate congiuntamente con un ORB, le istruzioni IDL descrivono
le proprietà e le operazioni di un oggetto. Vedi: Object Request
Broker [OMG].
interfaccia
La descrizione di un insieme dei possibili usi di
un oggetto. Più specificamente una interfaccia descrive un
insieme di richieste potenziali alle quali un oggetto puo
partecipare in modo significativo [OMG].
interfaccia
di un oggetto
La descrizione di un insieme dei possibili usi di un oggetto.
Più specificamente una interfaccia descrive un insieme di
richieste potenziali alle quali un oggetto puo partecipare come
parametro. E' l'unione delle interfacce di un tipo d'oggetto
[OMG].
interfaccia
di un tipo
Definisce le richieste alla quali le istanze del
tipo possono partecipare come parametri in modo significativo.
Esempio: dati un tipo di documento e un tipo di prodotto, se
l'interfaccia al documento comprende "edit" e
"print" e l'interfaccia al prodotto "set
price" e "check inventory", allora l'oggetto
interfaccia di un particolare documento che è anche un prodotto
comprende tutte e quattro le richieste [OMG].
interfaccia
principale
L'interfaccia che descrive tutte le richieste per
le quali un oggetto è significativo [OMG].
invenzione
L'attività creativa che conduce all'architettura di un
Sistema [BOO96].
invocazione
dinamica
Costruire ed emettere una
richiesta la cui segnatura non è nota fino al runtime [OMG].
ispezione
Tecnica formale di
valutazione dell'ingegneria del software in base alla quale un
qualche artefatto (modello, documento, software) viene esaminata
da una persona, che non ne sia l'originatore, o da un gruppo allo
scopo di individuare difetti, violazioni degli standard di
sviluppo o altri problemi [JAC97].
istanza
Un oggetto creato istanziando
una classe. Un oggetto è una istanza di una classe [OMG].
istanzazione
La creazione di un oggetto
[OMG].
iterativo
(processo)
E' il processo che prevede il successivo affinamento
dell'architettura del sistema e attraverso il quale applichiamo
l'esperienza e i risultati di ciascun suo rilascio primario
all'iterazione dell'analisi e del disegno che seguirà. Ogni
iterazione dell'analisi/disegno/implementazione viene ripetuta
più volte sull'architettura object-oriented [BOO96].
layer vedi strato
link
Relazione tra due oggetti (è un concetto)
[OMG].
literal
Un valore che identifica una entità che non è un
oggetto. Vedi: nome
dell'oggetto [OMG].
meccanismo
Una struttura nella quale oggetti collaborano per
fornire qualche comportamento che soddisfa i requisiti di un
problema; un meccanismo corrisponde così a una decisione di
disegno sul modo in cui certe collezioni di oggetti collaborano
tra loro. I meccanismi sono un genere di pattern e rappresentano
l'anima del disegno del software [BOO96].
metaoggetto
Un oggetto che rappresenta un tipo, classe,
metodo o altra entità di modellazione che descrive oggetti
[OMG].
metatipo
Un tipo le cui istanze sono a loro volta tipi
[OMG].
metodo
Un codice che puo essere eseguito per fornire
un servizio richiesto. I metodi associati a un oggetto possono
essere strutturati in uno o pi- programmi [OMG].
microarchitettura
I pattern di cui si compone un sistema object-oriented
ben strutturato [BOO96].
modello
(dei casi d'uso)
Un insieme di casi d'uso e attori, e le relazioni
che intercorrono tra essi [JAC94].
modello
(del dominio)
Il mare delle classi in un sistema che servono per
catturare il vocabolario dello spazio del problema; noto anche
come modello concettuale. Un modello del dominio si può spesso
esprimere in un insieme di diagrammi di classi che ha per scopo
visualizzare il comportamento essenziale del sistema, assieme
alla specifica della distribuzione dei ruoli e delle
responsabilità tra queste classi [BOO96].
modello
(di un business)
Illustra il funzionamento di un'azienda rispetto al
mondo: cosa fa, come e quando. Viene disegnato in base alle
necessità di uno o più tipi di handler e deve contenere le
informazioni di cui questi hanno bisogno - nè più, nè meno
[JAC94].
nome
dell'oggetto
Un valore che identifica un oggetto. Vedi: handle [OMG]
Object
Constraint Language (OCL)
Linguaggio di specifica sviluppato da IBM e
adottato da UML.
Object Management Group (OMG)
Gruppo di industrie che non si propone scopi di
lucro e si dedica alla promozione della tecnologia
object-oriented e alla sua standardizzazione [OMG].
Object Request Broker (ORB)
Fornisce i mezzi attraverso i quali gli oggetti
inoltrano e ricevono richieste e risposte [OMG].
oggetto
1) Cio che una cosa puo essere indotta a fare. Un
oggetto ha uno stato, un comportamento e una identità; la
struttura e il comportamento di oggetti simili sono definiti
nelle loro classi comuni [BOO96].
2) La combinazione di uno stato con un insieme di metodi che dà esplicitamente corpo a una astrazione caratterizzata da un comportamento o da richieste di rilievo. Un oggetto è una istanza di una classe. Un oggetto modella una entità del mondo reale, viene implementato come entità computazionale che incapsula stati e operazioni (implementati internamente come dati e metodi) e risponde a richieste di servizi [OMG].
oggetto
composito
Nozione concettuale. Composito è un oggetto che viene visto
come se facesse le veci di un insieme di oggetti in relazione tra
loro [OMG].
oggetto
persistente
Un oggetto che può sopravvivere al processo o al
thread che lo hanno creato. Un oggetto persistente esiste fino a
quando non viene esplicitamente cancellato [OMG].
oggetto
target vedi server
oggetto
transiente
Un oggetto la cui esistenza è limitata alla
durata della vita del processo o del thread che lo hanno creato
[OMG].
operazione
Un servizio che puo essere richiesto. Una
operazione ha una segnatura associata che ne può restringere i
possibili parametri al fine di rendere la richiesta significativa
[OMG].
operazione
[nome della]
Il nome usato in una richiesta per
identificare una operazione [OMG].
operazione
generica
Il concetto in base al quale è generica
l'operazione il cui binding puo avvenire con più di un metodo.
Vedi: binding [OMG].
partecipa
Un oggetto partecipa a una richiesta quando
[il valore] di uno o pi- parametri della richiesta stessa
identificano l'oggetto [OMG].
pattern
Una soluzione comune a un problema in un dato
contesto. Una architettura object-oriented ben strutturata
comprende tutta una serie di pattern, dagli idiomi ai meccanismi,
ai framework [BOO96].
processo software vedi software engineering process
proprietà
Nozione concettuale. Un attributo il cui valore
può essere modificato [OMG].
protezione
La capacità di restringere il numero dei
clienti per i quali viene eseguita una richiesta di servizio
[OMG].
punto
funzione (FP)
1) Denota un comportamento di un sistema così
come lo si può osservare dall'esterno e sottoporre a test
[BOO96].
2) Metrica dell'ingegneria del software usata per stimare il size di un qualche workproduct. I FP possono essere computati a partire dalle linee di codice o da una qualsiasi altra feature osservabile di un workproduct [JAC97].
proprietario [di un processo]
E' responsabile di un processo del business.
Questa responsabilità comprende la definizione del processo,
della sua interfaccia e dei suoi obiettivi; la pianificazione del
budget, la designazione del leader del processo, l'allocazione
delle risorse e lo sviluppo del processo stesso [JAC94].
QA vedi assicurazione di qualità.
requisiti
(analisi dei)
Lo sviluppo di un modello dei requisiti,
comprendente un modello dei Casi d'Uso, di un Sistema Informativo
[JAC94].
requisiti
(cattura dei)
La raccolta delle informazioni necessarie per
la costruzione di un modello dei requisiti [JAC94].
responsabilità
Un qualche comportamento di cui un oggetto deve
dare conto; la responsabilità denota l'obbligo per l'oggetto di
fornire un certo comportamento e, occasionalmente, di delegare
questo comportamento a qualche altro oggetto [BOO96].
reuse
business (RSEB)
Il nostro [di Jacobson] processo e framework
organizzativo per il riuso sistematico. La denominazione completa
è Reuse-driven Software Engineering Business, abbreviata in
Reuse Business. Con reuse business (in tutte minuscole) ci si
riferisce a una istanza di Reuse Business messa in atto in una
particolare organizzazione software [JAC97].
revisione
Esame formale o informale di un artefatto
software (modello, documento o codice) applicato in vari punti
del processo di sviluppo allo scopo di individuare difetti,
assicurare l'aderenza agli standard o determinare lo stato [di
avanzamento]. Vedi: ispezione [JAC97].
richiesta
Un evento consistente di una operazione e zero
o più parametri attuali. Un cliente emette una richiesta che
causa l'esecuzione di un servizio. Alla richiesta sono associati
anche i risultati che possono essere restituiti al cliente. Per
implementare (carry) una richiesta e/o un risultato puo essere
usato un messaggio [OMG].
richiesta
one-way
Una richiesta per la quale il cliente non
resta in attesa del completamento della richiesta stessa e non
intende accettarne i risultati. Contrario: [richiesta] sincrona differita,
[richiesta]
sincrona [OMG].
rilascio
(release)
Una versione stabile, completa ed eseguibile di un
sistema, e gli elementi di contorno necessari per usarla. Il
rilascio può essere intermedio, nel senso che inteso solo per un
consumo interno, o pu rappresentare una versione dispiegata, nel
senso che inteso per un consumo esterno [BOO96].
risultato
L'informazione restituita al cliente. Può
comprendere valori così come informazioni di stato per indicare
che, nel tentativo di eseguire il servizio richiesto, si sono
verificate circostanze eccezionali [OMG].
riuso
Uso ulteriore o ripetuto di un artefatto.
Riguarda tipicamente artefatti software disegnati/designati per
essere riusati al di fuori del loro contesto d'origine al fine
della creazione di nuovi sistemi [JAC97].
ruolo
La "faccia" con cui un oggetto si
presenta al mondo. Lo stesso oggetto in momenti diversi può
impersonare più ruoli, presentandosi così con una faccia di
volta in volta diversa. Collettivamente i ruoli di un oggetto
formano il suo protocollo [BOO96].
scenario
Una istanza di un Caso d'Uso cui corrisponde
un singolo cammino all'interno di quel caso d'uso. Uno scenario
primario rappresenta una qualche funzione fondamentale del
sistema; gli scenari secondari rappresentano variazioni sul tema
di uno scenario primario, che rispecchiano spesso condizioni
eccezionali [BOO96].
scoperta
L'attività d'indagine che porta alla
comprensione del comportamento desiderato e delle prestazioni di
un sistema [BOO96].
segnatura
Definisce i parametri di una data operazione
ivi compresi il loro numero, ordine, tipo di dato e modo in cui
vengono passati; i risultati, se ve ne sono, e i possibili esiti
(norma vs eccezione) [OMG].
self-reference
Per un metodo la capacità di identificare
l'oggetto target per il quale è stato invocato. Questa nozione
si esprime nelle parole chiave "self" di Smalltalk e
"this" di C++ [OMG].
server
[oggetto]
Un oggetto che fornisce la risposta a una
richiesta di servizio. Un dato oggetto puo essere client per
alcune richieste e server per altre. Contrario: cliente [OMG].
servizio
Una computazione che puo essere eseguita in
risposta a una richiesta [OMG].
sincrona
[richiesta]
Richiesta per la quale l'oggetto cliente resta
in attesa del completamento della richiesta stessa [OMG].
sincrona differita [richiesta]
Richiesta per la quale il cliente non resta in
attesa del completamento della richiesta stessa, ma si riserva di
accettarne i risultati in seguito. Contrario: [richiesta]
sincrona, richiesta
one-way [OMG].
sistema del
business
Il costrutto di modellazione che usiamo per
simboleggiare il business [JAC94].
sistema
informativo
Un sistema software usato per supportare le
attività in un business [JAC94].
software engineering process (SEP)
Un completo processo dell'ingegneria del
software che descrive nel dettaglio quali workproduct costruire,
quali passi seguire per la loro costruzione, a chi spetta
costruirli e che sorta di test vanno usati per controllare la
qualità e la correttezza del sistema. Più precisamente
l'ingegneria del software è un processo di costruzione di
modelli in relazione tra loro [JAC97].
sottosistema
Stereotipo di package usato per suddividere il
sistema in parti più piccole. Un sottosistema può a sua volta
contenere altri sottosistemi [JAC97].
specializzazione
Una classe x è una specializzazione di una
classe y se x è definita in modo tale da ereditare, direttamente
o indirettamente, da y [OMG].
stato
Le informazioni relative alla storia delle
richieste precedenti che occorrono per determinare il
comportamento delle richieste a venire [OMG].
stato
[integrità dello]
Vuole che lo stato associato a un oggetto non
venga corrotto da eventi esterni [OMG].
strato
Secondo una definizione non rigorosa, un
insieme di (sotto)sistemi che presentano lo stesso grado di
specificità applicativa e che tipicamente si referenziano solo
reciprocamente, oppure referenziano (sotto)sistemi appartenenti
allo strato sottostante. Vedi: architettura a strati [JAC97].
tipo
Un predicato (funzione booleana) definito sui valori che
possono essere usati in una segnatura allo scopo di restringere
un possibile parametro o di caratterizzare un possibile
risultato. I tipi classificano gli oggetti in base alla comunanza
della loro interfaccia; le classi in base alla comunanza della
loro implementazione [OMG].
tipo di dato
Categorizzazione di valori, operazioni e
argomenti riguardante tipicamente comportamento e
rappresentazione (per esempio, nozione di tipo nei linguaggi
tradizionali non OO) [OMG].
tipo
di interfaccia
Un tipo che è soddisfatto da qualsiasi
oggetto (letteralmente, da qualsiasi valore che identifica un
oggetto) che soddisfa una particolare interfaccia. [OMG].
tipo di
oggetto
Un tipo la cui estensione è un insieme di oggetti
(letteralmente, un insieme di valori che identificano oggetti).
In altre parole un tipo di oggetto è soddisfatto solo da (valori
che identificano) oggetti [OMG].
uses
[generalizzazione]
Generalizzazione da un tipo di caso d'uso A a
un tipo di caso d'uso B. Indica che il caso d'uso A eredita il
caso d'uso B. E' rappresentata dallo stereotipo
<<uses>> [JAC97].
workproduct
Porzione unitaria di un modello software,
codice o documento che puo essere gestita in modo indipendente
all'interno di una organizzazione di ingegneria del software.
Tipici workproduct sono singoli tipi e classi tratti da modelli
differenti, diagrammi e documenti associati.
Sono pure workproduct interi modelli, sottosistemi e piani test
[JAC97].
Riferimenti:
[BOO96] Grady Booch, Object Solutions - Managing the Object-Oriented Project, Addison-Wesley 1996.
[GOL95] Adele Goldberg & Kenneth S. Rubin, Succeeding with Objects - Decision Frameworks for Project Management, Addison-Wesley, 1995.
[JAC94] Ivar Jacobson et al., The Object Advantage - Business Process Reengeneering with Object Technology, Addison-Wesley 1994.
[JAC95] Ivar Jacobson et al., Software Reuse - Architecture, Process and Organization for Business Success, Addison-Wesley 1997.
[OMG] Definizioni fornite dall'Object Management Group.
[PAG95] Meilir Page-Jones, What Every Programmer Should Know About Object-Oriented Design, Addison-Wesley, 1995.