vuoi
o PayPal
tutte le volte che vuoi
ISPW
Linguaggi di Modellazione e UML
Un modello è una semplificazione di un sistema costruito con un intento specifico.
Il modello deve essere in grado di rispondere a domande riguardanti il sistema.
- Analisi Sistemi Complessi
- Progettazione Sistemi Software
UML a supporto:
- Progettazione
- Programmazione
- Controllo dell’evoluzione del software
Unified Modeling Language
Un linguaggio per la visualizzazione, specificazione, costruzione e documentazione di sistemi software.
Diagrammi UML possono descrivere:
- Struttura Statica del Sistema (Structure Diagrams)
- Comportamento del Sistema (Behavior Diagrams)
UML consente di sviluppare un processo di sviluppo software in (almeno) 5 prospetti:
-
Use Case View
Descrive funzionalità che percepisce un attore esterno.
- Obiettivo = struttura esterna del prodotto (il 'cosa' non il 'come')
- Identificazione attori, casi d’uso e relazioni
Target: Clienti, Utenti
-
Logical View
Descrive come sono progettate le funzionalità del sistema. Rappresentazione della struttura del sistema.
Target: Progettisti, Ingegneri di Sistema
-
Implementation View
Organizzazione del sistema in moduli. Moduli specifici per l’ambiente di esecuzione.
Target: In, Teste
-
Process View
Contiene modelli che descrivono processi di esecuzione: entità che eseguono i processi.
- Si usa per un utilizzo efficace delle risorse e per ottimizzare l'esecuzione parallela degli oggetti.
Target: Sviluppatori, Ingegneri di Sistema
-
Deployment View
Comprende modelli che descrivono la tipologia e l'organizzazione delle macchine fisiche.
- Modelli che descrivono come le parti del sistema software sono mapate sull’architettura fisica.
Target: HW, Tester
CLASS DIAGRAMS
- Una classe modella una famiglia di entità del dominio di un'applicazione.
- Proprietà (attributi)
- Comportamento (operazioni)
Tutte le istanze di una classe condividono lo stesso insieme di:
- Comportamenti
- Operazioni
- Proprietà
Un'operazione è la specifica di una signature (firma).
Un metodo è l'implementazione vera e propria dell'operazione in un'oggetto.
Un messaggio è un richiesta in run-time che invia un metodo fornito da un'oggetto B da parte di un oggetto A.
STRUTTURA DI UNA CLASSE UML
- PRIVATE 1 ID: Integer[][]
- PROTECTED 2 isMute: Boolean[]
- PUBLIC 4 getID: Integer
La differenza tra PRIVATE e PROTECTED sta nella generalizzazione.
Una regola pratica è inserire sempre gli attributi privati e le operazioni pubbliche.
- Costruttori sono operazioni speciali e servono a creare nuove istanze della classe.
- L’istanza speciale this indica il riferimento all'oggetto stesso.
BINDING IN JAVA
- BINDING: Associazione tra invocazione di una operazione con l'effettivo metodo da eseguire.
- EARLY BINDING
- Effettuato a tempo di compilazione
- LATE BINDING
- Associazione effettuata a tempo di esecuzione
In Java le invocazioni di operazioni vengono associate ai rispettivi metodi per mezzo di late binding.
- FANNO ECCEZIONE
- Metodo dichiarato
- STATIC
- Hanno ambito di classe
- Il riferimento e' sempre noto a tempo di compilazione.
- FINAL
- Impedito l'overriding del metodo
- Si usa dichiarando al compilatore di disabilitare il binding dinamico
- PRIVATE
- Metodo ad uso esclusivo per la classe che lo dichiara
- I metodi private sono implicitamente final
- STATIC
- Metodo dichiarato