Obiettivi della specializzazione
Nella specializzazione in progettazione e architettura del software, impareremo come applicare principi, modelli e architetture di progettazione per creare applicazioni e sistemi software riutilizzabili e flessibili.
Impareremo come esprimere e documentare la progettazione e l’architettura di un sistema software utilizzando una notazione visiva.
Esempi pratici e opportunità per applicare le tue conoscenze ti aiuteranno a sviluppare competenze occupabili e competenze rilevanti nel settore del software.
Moduli
Questo corso porta i principianti Java al livello successivo coprendo l'analisi e la progettazione orientata agli oggetti.
Scoprirai come creare software modulare, flessibile e riutilizzabile, applicando principi e linee guida di progettazione orientata agli oggetti.
Inoltre, sarai in grado di comunicare questi progetti in una notazione visiva nota come Unified Modeling Language (UML).
Questo corso estende l'analisi e la progettazione orientata agli oggetti incorporando i design pattern per creare applicazioni interattive.
Attraverso un'indagine sui design pattern consolidati, acquisirai le basi per applicazioni software più complesse.
Infine, identificherai i progetti software problematici facendo riferimento a un catalogo di code smells.
Il modo in cui i componenti software (subroutine, classi, funzioni, ecc.) sono disposti e le interazioni tra loro prende il nome di architettura.
In questo corso studierai i modi in cui queste architetture sono rappresentate, sia in UML che in altri strumenti visivi.
Introdurremo le architetture più comuni, le loro qualità e i compromessi.
Parleremo di come vengono valutate le architetture, di cosa rende una buona architettura e di come un'architettura può essere migliorata. Parleremo anche di come l'architettura influisce sul processo di sviluppo del software.
Sulla base della comprensione degli stili architetturali, esaminerai le architetture per le applicazioni Web, quindi esplorerai le basi dell'architettura SOA (Service-Oriented Architecture) in due approcci: architettura Web Services (WS*) e Representational State Transfer (REST).
