Anteprima
Vedrai una selezione di 4 pagine su 30
Appunti ISPW - Ingegneria Software e Progettazione Web Pag. 1 Appunti ISPW - Ingegneria Software e Progettazione Web Pag. 2
Anteprima di 4 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti ISPW - Ingegneria Software e Progettazione Web Pag. 6
Anteprima di 4 pagg. su 30.
Scarica il documento per vederlo tutto.
Appunti ISPW - Ingegneria Software e Progettazione Web Pag. 11
1 su 30
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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:

  1. 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

  2. Logical View

    Descrive come sono progettate le funzionalità del sistema. Rappresentazione della struttura del sistema.

    Target: Progettisti, Ingegneri di Sistema

  3. Implementation View

    Organizzazione del sistema in moduli. Moduli specifici per l’ambiente di esecuzione.

    Target: In, Teste

  4. 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

  5. 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.

  1. Costruttori sono operazioni speciali e servono a creare nuove istanze della classe.
  2. 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
Dettagli
Publisher
A.A. 2018-2019
30 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher MicheleCim di informazioni apprese con la frequenza delle lezioni di ingegneria del software e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma Tor Vergata o del prof De Angelis Guglielmo.