Documento di Specifica
Specifica tipi di dato
Documento separato da accludere allo schema concettuale, utilizzato per definire tipi di dati non di default.
Esempio
Specifica di classe
Documento separato da accludere allo schema concettuale in cui vengono specificate:
- La descrizione della classe
- Specifica delle operazioni
La specifica di un operazione è composta da:
- Intestazione ovvero
nome_operazione( input1 : tipo1, input2 : tipo2 ... ) tipo_output
- Pre-condizioni
- Post-condizioni
oss: per ora per descrivere queste condizioni utilizziamo un linguaggio pedante in futuro utilizzeremo espressione logiche per rimuovere le ambiguità.
Pre-Condizioni
Condizioni che devono essere soddisfatte affinché l’operazione possa essere invocata con successo, riguardano:
- l’oggetto di invocazione
- valori degli argomenti
- altri oggetti del sitema
Post-Condizioni
- Definiscono il tipo di ritorno
- Definizione delle modifiche all’insieme degli oggetti esistenti, creazione di nuovi oggetti o link, eliminazione di oggetti o link
Esempio
Specifica informale (la specifica formale si fa in logica del primo ordine)
Specifica di use-case
non si utilizza this perché il diagramma degli usa case non descrive le operazioni di classe ma a delle operazioni più generali
Specifica vincoli esterni
Un vincoli esterni vanno definiti nel documento specificando:
- Un identificatore univoco utilizzato per riferirsi al vincolo in altre parti dello schema, l’identificatore rispetta uno standard noi useremo
[V.classi_a_cui_il_vincolo_si_applica.nome_vincolo]
. - Un asserzione che definisce le condizioni che devono essere soddisfatte dai link/oggetti affinché siano in una configurazione legale per i vincoli.