Titolo universitario
La più grande facoltà di informatica del mondo"
Presentazioni
Accedi ad un programma universitario di alto valore accademico, dove imparerai come implementare le nuove tendenze nello sviluppo di software con tecnologie di IA"
Lo Sviluppo di Software è un asse strategico per la trasformazione digitale in tutti i settori produttivi, dalla Salute o l'Educazione fino al Commercio. In questo senso, la creazione di soluzioni digitali efficienti, scalabili e sicure fa la differenza nella competitività delle imprese e delle istituzioni. In questo scenario, la presenza di specialisti in grado di progettare, costruire e mantenere sistemi tecnologici complessi è diventata una priorità a livello globale, aumentando la domanda di profili altamente qualificati in questo settore.
Ecco perché TECH propone un innovativo Master in Sviluppo di Software. Questo programma consente di acquisire competenze chiave in programmazione, architettura di sistema, metodologie agili e tecnologie emergenti, sempre con un approccio pratico e aggiornato. Attraverso un piano di studi rigoroso, orientato alla risoluzione di problemi reali, viene promossa una visione olistica dello Sviluppo di Software. Questa preparazione non solo migliora le opportunità di lavoro, ma facilita anche l'accesso a ruoli di leadership tecnica, consulenza e progettazione di soluzioni innovative con impatto su vari settori.
Va sottolineato che il formato online del programma consente di avanzare senza barriere geografiche o restrizioni orarie. Inoltre, la piattaforma virtuale offre un accesso continuo a contenuti di qualità, risorse interattive ed esercizi applicati, favorendo un apprendimento flessibile, autonomo e adattato ad ogni ritmo. Questa modalità facilita la conciliazione con altre attività, promuovendo al contempo un'esperienza educativa in linea con le dinamiche attuali dell'ambiente tecnologico e professionale. Inoltre, il programma prevede la partecipazione di un rinomato Direttore Ospite Internazionale che offrirà 10 rigorose Master class.
Un prestigioso Direttore Ospite Internazionale offrirà 10 esclusive Master class sulle ultime tendenze nello Sviluppo di Software"
Questo Master in Sviluppo di Software possiede il programma più completo e aggiornato del mercato. Le caratteristiche principali del programma sono:
- Sviluppo di casi di studio presentati da esperti in Sviluppo di Software
- Contenuti grafici, schematici ed eminentemente pratici che forniscono informazioni scientifiche e pratiche sulle discipline essenziali per l’esercizio della professione
- Esercizi pratici che offrono un processo di autovalutazione per migliorare l'apprendimento
- Particolare enfasi sulle metodologie innovative
- Lezioni teoriche, domande all'esperto, forum di discussione su questioni controverse e compiti di riflessione individuale
- Disponibilità di accesso ai contenuti da qualsiasi dispositivo fisso o portatile dotato di connessione a Internet
Svilupperai applicazioni distribuite e in rete che rispondono alle sfide di connettività, sicurezza e prestazioni richieste dalla trasformazione digitale"
Il personale docente del programma comprende rinomati specialisti del settore e altre aree correlate, che forniscono agli studenti le competenze necessarie a intraprendere un percorso di studio eccellente.
I contenuti multimediali, sviluppati in base alle ultime tecnologie educative, forniranno al professionista un apprendimento coinvolgente e localizzato, ovvero inserito in un contesto reale.
La creazione di questo programma è incentrata sull’Apprendimento Basato su Problemi, mediante il quale lo specialista deve cercare di risolvere le diverse situazioni che gli si presentano durante il corso accademico. Lo studente potrà usufruire di un innovativo sistema di video interattivi creati da esperti di rinomata fama.
Integrerai database relazionali in architetture complesse, ottimizzando la gestione di grandi volumi di informazioni"
Grazie al sistema Relearning utilizzato da TECH, ridurrai le lunghe ore di studio e memorizzazione"
Piano di studi
Questo piano di studi integra contenuti in linea con le attuali esigenze del settore tecnologico, combinando la teoria avanzata con l'applicazione pratica. Inoltre, incorpora approcci alla cibersicurezza, lo sviluppo multipiattaforma e l'architettura orientata ai servizi, consentendo una visione completa e moderna dell'ambiente informatico. Offre un'esperienza accademica rigorosa e aggiornata, pensata per affrontare le sfide della trasformazione digitale con solidità tecnica e criterio innovativo.
Padroneggerai i fondamenti essenziali dello Sviluppo di Software per costruire soluzioni tecnologiche solide, efficienti e adattate alle esigenze dell'ambiente professionale"
Modulo 1. Fondamenti di programmazione
1.1. Introduzione alla programmazione
1.1.1. Struttura di base di un computer
1.1.2. Software
1.1.3. Linguaggio di programmazione
1.1.4. Ciclo di vita un’applicazione informatica
1.2. Progettazione di algoritmi
1.2.1. Risoluzione dei problemi
1.2.2. Tecniche descrittive
1.2.3. Elementi e struttura di un algoritmo
1.3. Elementi di un programma
1.3.1. Origini e caratteristiche del linguaggio C++
1.3.2. L'ambiente di sviluppo
1.3.3. Concetto di programma
1.3.4. Tipi di dati fondamentali
1.3.5. Operatori
1.3.6. Espressioni
1.3.7. Frasi
1.3.8. Input e output di dati
1.4. Dichiarazioni di controllo
1.4.1. Frasi
1.4.2. Diramazioni
1.4.3. Loop
1.5. Astrazione e modularità: funzioni
1.5.1. Progettazione modulare
1.5.2. Concetto di funzione e utilità
1.5.3. Definizione di una funzione
1.5.4. Flusso di esecuzione in una chiamata di funzione
1.5.5. Prototipo di una funzione
1.5.6. Restituzione dei risultati
1.5.7. Chiamata di una funzione: parametri
1.5.8. Passaggio di parametri per riferimento e per valore
1.5.9. Ambito identificatore
1.6. Strutture dati statiche
1.6.1. Array
1.6.2. Matrici: Poliedri
1.6.3. Ricerca e ordinamento
1.6.4. Stringhe: Funzioni di I/O per le stringhe
1.6.5. Strutture: Unioni
1.6.6. Nuovi tipi di dati
1.7. Strutture dati dinamiche: puntatori
1.7.1. Concetto e definizione di puntatore
1.7.2. Operatori e operazioni con i puntatori
1.7.3. Array di puntatori
1.7.4. Puntatori e array
1.7.5. Puntatori a stringhe
1.7.6. Puntatori a strutture
1.7.7. Indirizzi multipli
1.7.8. Puntatori a funzioni
1.7.9. Passaggio di funzioni, strutture e array come parametri di funzione
1.8. File
1.8.1. Concetti di base
1.8.2. Operazioni con i file
1.8.3. Tipi di file
1.8.4. Organizzazione dei file
1.8.5. Introduzione ai file C++
1.8.6. Gestione dei file
1.9. Risorse
1.9.1. Definizione di risorse
1.9.2. Tipi di risorse
1.9.3. Vantaggi e svantaggi
1.9.4. Considerazioni
1.9.5. Conversione ricorsivo-iterativa
1.9.6. Lo stack di ricorsione
1.10. Test e documentazione
1.10.1. Test dei programmi
1.10.2. Test della scatola bianca
1.10.3. Test della scatola nera
1.10.4. Strumenti per i test
1.10.5. Documentazione dei programmi
Modulo 2. Struttura dei dati
2.1. Introduzione alla programmazione in C++
2.1.1. Classi, costruttori, metodi e attributi
2.1.2. Variabili
2.1.3. Espressioni condizionali e loop
2.1.4. Obiettivi
2.2. Tipi di dati astratti (ADT)
2.2.1. Tipi di dati
2.2.2. Strutture di base e ADT
2.2.3. Vettori e array
2.3. Strutture di dati lineari
2.3.1. ADT: lista di definizione
2.3.2. Elenchi collegati e doppiamente collegati
2.3.3. Elenchi ordinati
2.3.4. Elenchi in C++
2.3.5. Stack ADT
2.3.6. Coda ADT
2.3.7. Stack e coda in C++
2.4. Strutture di dati gerarchiche
2.4.1. Albero ADT
2.4.2. Percorsi
2.4.3. Alberi n-ari
2.4.4. Alberi binari
2.4.5. Alberi binari di ricerca
2.5. Strutture dati gerarchiche: alberi complessi
2.5.1. Alberi perfettamente bilanciati o di altezza minima
2.5.2. Alberi multipercorso
2.5.3. Riferimenti bibliografici
2.6. Heap e coda di priorità
2.6.1. Insiemi di ADT
2.6.2. Coda prioritaria ADT
2.7. Tabelle Hash
2.7.1. ADT tabelle Hash
2.7.2. Funzioni Hash
2.7.3. Funzioni Hash nelle tabelle
2.7.4. Ridispersione
2.7.5. Tabelle Hash aperte
2.8. Grafi
2.8.1. Grafi ADT
2.8.2. Tipi di grafi
2.8.3. Rappresentazione grafica e operazioni di base
2.8.4. Progettazione dei grafi
2.9. Algoritmi e concetti avanzati sui grafi
2.9.1. Problemi dei grafi
2.9.2. Algoritmi di percorso
2.9.3. Algoritmi di percorso o di ricerca
2.9.4. Altri algoritmi
2.10. Altre strutture di dati
2.10.1. Insiemi
2.10.2. Array paralleli
2.10.3. Tabelle dei simboli
2.10.4. Tries
Modulo 3. Algoritmo e complessità
3.1. Introduzione alle strategie di progettazione di algoritmi
3.1.1. Risorse
3.1.2. Dividi e conquista
3.1.3. Altre strategie
3.2. Efficienza e analisi degli algoritmi
3.2.1. Misure di efficienza
3.2.2. Misurare l'ingresso di input
3.2.3. Misurare il tempo di esecuzione
3.2.4. Caso peggiore, migliore e medio
3.2.5. Notazione asintotica
3.2.6. Criteri di analisi matematica per algoritmi non ricorsivi
3.2.7. Analisi matematica per algoritmi ricorsivi
3.2.8. Analisi empirica degli algoritmi
3.3. Algoritmi di ordinamento
3.3.1. Concetto di ordinamento
3.3.2. Ordinamento delle bolle
3.3.3. Ordinamento per selezione
3.3.4. Ordinamento per inserimento
3.3.5. Ordinamento per mix (Merge Sort)
3.3.6. Ordinamento rapido (QuickSort)
3.4. Algoritmi con alberi
3.4.1. Concetto di albero
3.4.2. Alberi binari
3.4.3. Percorsi degli alberi
3.4.4. Rappresentare le espressioni
3.4.5. Alberi binari ordinati
3.4.6. Alberi binari bilanciati
3.5. Algoritmi con Heaps
3.5.1. Gli Heaps
3.5.2. L’algoritmo Heapsort
3.5.3. Code prioritarie
3.6. Algoritmi con grafi
3.6.1. Rappresentazione
3.6.2. Percorso in larghezza
3.6.3. Percorso in profondità
3.6.4. Ordinamento topologico
3.7. Algoritmi Greedy
3.7.1. La strategia Greedy
3.7.2. Elementi della strategia Greedy
3.7.3. Cambio valuta
3.7.4. Il problema del viaggiatore
3.7.5. Problema dello zaino
3.8. Ricerca del percorso minimo
3.8.1. Il problema del percorso minimo
3.8.2. Archi e cicli negativi
3.8.3. Algoritmo di Dijkstra
3.9. Algoritmi Greedy sui grafi
3.9.1. L'albero a sovrapposizione minima
3.9.2. Algoritmo di Prim
3.9.3. Algoritmo di Kruskal
3.9.4. Analisi della complessità
3.10. Backtracking
3.10.1. Il Backtracking
3.10.2. Tecniche alternative
Modulo 4. Database
4.1. Applicazioni e scopi dei sistemi di database
4.1.1. Applicazioni di diversi sistemi di database
4.1.2. Scopo dei diversi sistemi di database
4.1.3. Visione dei dati
4.2. Database e architettura
4.2.1. Database relazionale
4.2.2. Progettazione di database
4.2.3. Database a oggetti e semi-strutturati
4.2.4. Memorizzazione dei dati e interrogazioni
4.2.5. Gestione delle transazioni
4.2.6. Estrazione e analisi dei dati
4.2.7. Architettura del database
4.3. Il modello relazionale: struttura, operazioni e algebra relazionale estesa
4.3.1. La struttura dei database relazionali
4.3.2. Operazioni fondamentali dell'algebra relazionale
4.3.3. Altre operazioni dell'algebra relazionale
4.3.4. Operazioni di algebra relazionale estesa
4.3.5. Valori nulli
4.3.6. Modifica del database
4.4. SQL (I)
4.4.1. Cos'è SQL?
4.4.2. La definizione di dati
4.4.3. La struttura di base delle query SQL
4.4.4. Operazioni sugli insiemi
4.4.5. Funzioni di aggregazione
4.4.6. Valori nulli
4.5. SQL (II)
4.5.1. Subquery annidate
4.5.2. Query complesse
4.5.3. Visualizzazioni
4.5.4. Cursori
4.5.5. Query complesse
4.5.6. Trigger
4.6. Progettazione di database e modello E-R
4.6.1. Panoramica del processo di progettazione
4.6.2. Il modello entità-relazione
4.6.3. Restrizioni
4.7. Diagrammi entità-relazione
4.7.1. Diagrammi entità-relazione
4.7.2. Aspetti della progettazione entità-relazione
4.7.3. Insiemi di entità deboli
4.8. Il modello entità-relazione esteso
4.8.1. Caratteristiche del modello E-R esteso
4.8.2. Progettazione del database
4.8.3. Riduzione a schemi relazionali
4.9. Progettazione di database relazionali
4.9.1. Caratteristiche di un buon progetto relazionale
4.9.2. Domini atomici e prima forma normale (1FN)
4.9.3. Decomposizione mediante dipendenze funzionali
4.9.4. Teoria della dipendenza funzionale
4.9.5. Algoritmi di decomposizione
4.9.6. Decomposizione con dipendenze multivariate
4.9.7. Altre forme normali
4.9.8. Processo di progettazione del database
4.10. Database NoSQL
4.10.1. Cosa sono i database NoSQL?
4.10.2. Analisi delle diverse opzioni NoSQL e delle loro caratteristiche
4.10.3. MongoDB
Modulo 5. Database avanzati
5.1. Scopo dei diversi sistemi di database
5.1.1. Rassegna storica
5.1.2. Database gerarchici
5.1.3. Database di rete
5.1.4. Database relazionali
5.1.5. Database non relazionali
5.2. XML e database per il web
5.2.1. Convalida dei documenti XML
5.2.2. Trasformazioni dei documenti XML
5.2.3. Memorizzazione di dati XML
5.2.4. Database relazionali XML
5.2.5. SQL/XML
5.2.6. Database XML nativi
5.3. Basi di dati parallele
5.3.1. Sistemi paralleli
5.3.2. Architetture di database paralleli
5.3.3. Parallelismo delle query
5.3.4. Parallelismo tra query
5.3.5. Progettazione di sistemi paralleli
5.3.6. Elaborazione parallela in SQL
5.4. Database distribuiti
5.4.1. Sistemi distribuiti
5.4.2. Archiviazione distribuita
5.4.3. Disponibilità
5.4.4. Elaborazione distribuita delle query
5.4.5. Fornitori di database distribuiti
5.5. Indicizzazione e associazione
5.5.1. Indici ordinati
5.5.2. Indici densi e radi
5.5.3. Indici multilivello
5.5.4. Aggiornamento dell'indice
5.5.5. Associazione statica
5.5.6. Come utilizzare gli indici nei database
5.6. Introduzione all'elaborazione transazionale
5.6.1. Stati di una transazione
5.6.2. Implementazione dell'atomicità e della durata
5.6.3. Sequenzialità
5.6.4. Recuperabilità
5.6.5. Implementazione dell'isolamento
5.7. Sistemi di recupero
5.7.1. Classificazione dei guasti
5.7.2. Strutture di archiviazione
5.7.3. Recupero e atomicità
5.7.4. Recupero basato sul record storico
5.7.5. Transazioni e recupero concorrenti
5.7.6. Alta disponibilità nei database
5.8. Esecuzione ed elaborazione di query
5.8.1. Costo di una query
5.8.2. Operazione di selezione
5.8.3. Ordinamento
5.8.4. Introduzione all'ottimizzazione delle query
5.8.5. Monitoraggio delle prestazioni
5.9. Database non relazionali
5.9.1. Database orientati ai documenti
5.9.2. Database orientati ai grafi
5.9.3. Database chiave-valore
5.10. Data Warehouse, OLAP e data mining
5.10.1. Componenti di un data warehouse
5.10.2. Architettura di un data warehouse
5.10.3. OLAP
5.10.4. Funzionalità di data mining
5.10.5. Altri tipi di mining
Modulo 6. Progettazione avanzata degli algoritmi
6.1. Analisi di algoritmi ricorsivi e divide et impera
6.1.1. Approccio e risoluzione di equazioni di ricorrenza omogenee e non omogenee
6.1.2. Panoramica della strategia divide et impera
6.2. Analisi ammortizzata
6.2.1. Analisi aggregata
6.2.2. Il metodo di contabilizzazione
6.2.3. Il metodo del potenziale
6.3. Programmazione dinamica e algoritmi per problemi NP
6.3.1. Caratteristiche della programmazione dinamica
6.3.2. Monitoraggio a ritroso: Backtracking
6.3.3. Ramificazione e potatura
6.4. Ottimizzazione combinatoria
6.4.1. Rappresentazione del problema
6.4.2. Ottimizzazione 1D
6.5. Algoritmi di randomizzazione
6.5.1. Esempi di algoritmi di randomizzazione
6.5.2. Il teorema di Buffon
6.5.3. Algoritmo di Monte Carlo
6.5.4. Algoritmo di Las Vegas
6.6. Ricerca locale e di candidati
6.6.1. Gradient Ascent
6.6.2. Hill Climbing
6.6.3. Simulated Annealing
6.6.4. Tabu Search
6.6.5. Ricerca di candidati
6.7. Verifica formale dei programmi
6.7.1. Specifica delle astrazioni funzionali
6.7.2. Il linguaggio della logica del primo ordine
6.7.3. Sistema formale di Hoare
6.8. Verifica di programmi iterativi
6.8.1. Regole del sistema formale di Hoare
6.8.2. Concetto di iterazioni invarianti
6.9. Metodi numerici
6.9.1. Il metodo della bisezione
6.9.2. Il metodo Newton Raphson
6.9.3. Il metodo della secante
6.10. Algoritmi paralleli
6.10.1. Operazioni binarie parallele
6.10.2. Operazioni in parallelo con i grafi
6.10.3. Parallelismo nel divide et impera
6.10.4. Parallelismo nella programmazione dinamica
Modulo 7. Interazione persona-computer
7.1. Introduzione alll'interazione persona-computer
7.1.1. Cos’è l'interazione persona-computer
7.1.2. Rapporto dell'interazione persona-computer con altre discipline
7.1.3. L'interfaccia utente
7.1.4. Usability e accessibilità
7.1.5. Esperienza utente e design incentrato sull'utente
7.2. Il computer e l'interazione: interfaccia utente e paradigmi di interazione
7.2.1. L’interazione
7.2.2. Paradigmi di interazione e stili di interazione
7.2.3. Evoluzione delle interfacce utente
7.2.4. Interfacce utente classica: WIMP/GUI, comandi, voce, realtà virtuale
7.2.5. Interfacce utente innovative: mobile, portatile, collaborativa, collaborativa, BCI
7.3. Il fattore umano: aspetti psicologici e cognitivi
7.3.1. L'importanza del fattore umano nell'interazione
7.3.2. Elaborazione dell'informazione umana
7.3.3. L'ingresso e l'uscita delle informazioni: visive, uditive e tattili
7.3.4. Percezione e attenzione
7.3.5. Conoscenza e modelli mentali: rappresentazione, organizzazione e acquisizione
7.4. Il fattore umano: limitazioni sensoriali e fisiche
7.4.1. Diversità funzionale, disabilità e deficit
7.4.2. Diversità visiva
7.4.3. Diversità dell'udito
7.4.4. Diversità cognitiva
7.4.5. Diversità motoria
7.4.6. Il caso degli immigrati digitali
7.5. Il processo di progettazione (I): analisi dei requisiti per la progettazione dell'interfaccia utente
7.5.1. Progettazione incentrata sull’utente
7.5.2. Che cos'è l'analisi dei requisiti
7.5.3. Raccolta di informazioni
7.5.4. Analisi e interpretazione delle informazioni
7.5.5. Analisi di usabilità e accessibilità
7.6. Il processo di progettazione (II): prototipazione e analisi del compito
7.6.1. Progetto concettuale
7.6.2. Prototipazione
7.6.3. Analisi gerarchica dei compiti
7.7. Il processo di progettazione (III): la valutazione
7.7.1. La valutazione nel processo di progettazione: obiettivi e metodi
7.7.2. Metodi di valutazione senza utenti
7.7.3. Metodi di valutazione con gli utenti
7.7.4. Standard e norme di valutazione
7.8. Accessibilità: definizione e linee guida
7.8.1. Accessibilità e design universale
7.8.2. L'iniziativa WAI e le linee guida WCAG
7.8.3. Linee guida WCAG 2.0 e 2.1
7.9. Accessibilità: valutazione e diversità funzionale
7.9.1. Strumenti di valutazione dell'accessibilità del web
7.9.2. Accessibilità e diversità funzionale
7.10. Il computer e l'interazione: periferiche e dispositivi
7.10.1. Dispositivi e periferiche tradizionali
7.10.2. Dispositivi e periferiche alternative
7.10.3. Telefoni cellulari e tablet
7.10.4. Diversità funzionale, interazione e periferiche
Modulo 8. Programmazione avanzata
8.1. Introduzione alla programmazione orientata agli oggetti
8.1.1. Introduzione alla programmazione orientata agli oggetti
8.1.2. Progettazione delle lezioni
8.1.3. Introduzione a UML per la modellazione dei problemi
8.2. Relazioni tra classi
8.2.1. Astrazione ed ereditarietà
8.2.2. Concetti avanzati di ereditarietà
8.2.3. Polimorfismo
8.2.4. Composizione e aggregazione
8.3. Introduzione ai design pattern per i problemi orientati agli oggetti
8.3.1. Cosa sono i design pattern
8.3.2. Pattern Factory
8.3.3. Pattern Singleton
8.3.4. Pattern Observer
8.3.5. Pattern Composite
8.4. Eccezioni
8.4.1. Quali sono le eccezioni?
8.4.2. Gestione e acquisizione delle eccezioni
8.4.3. Avvio delle eccezioni
8.4.4. Creazione di eccezioni
8.5. Interfacce utente
8.5.1. Introduzione a Qt
8.5.2. Posizionamento
8.5.3. Cosa sono gli eventi?
8.5.4. Eventi: definizione e acquisizione
8.5.5. Sviluppo di interfacce utente
8.6. Introduzione alla programmazione concorrente
8.6.1. Introduzione alla programmazione concorrente
8.6.2. Il concetto di processo e di thread
8.6.3. Interazione tra processi o thread
8.6.4. Thread in C++
8.6.5. Vantaggi e svantaggi della programmazione concorrente
8.7. Gestione e sincronizzazione dei thread
8.7.1. Ciclo di vita di un thread
8.7.2. La classe Thread
8.7.3. Pianificazione del thread
8.7.4. Gruppi di thread
8.7.5. Thread di tipo demoniaco
8.7.6. Sincronizzazione
8.7.7. Meccanismi di bloccaggio
8.7.8. Meccanismi di comunicazione
8.7.9. Monitor
8.8. Problemi comuni nella programmazione concorrente
8.8.1. Il problema dei produttori-consumatori
8.8.2. Il problema dei lettori e degli scrittori
8.8.3. Il problema della cena dei filosofi
8.9. Documentazione e test del software
8.9.1. Perché è importante documentare il software?
8.9.2. Documentazione di progettazione
8.9.3. Utilizzo di strumenti per la documentazione
8.10. Test di software
8.10.1. Introduzione al test del software
8.10.2. Tipi di test
8.10.3. Test dell'unità
8.10.4. Test di integrità
8.10.5. Test di convalida
8.10.6. Test del sistema
Modulo 9. Sviluppo delle applicazioni in rete
9.1. Linguaggi di mercato HTML5
9.1.1. Nozioni di base sulla HTML
9.1.2. Nuovi elementi HTML 5
9.1.3. Moduli: nuovi controlli
9.2. Introduzione ai fogli di stile CSS
9.2.1. Primi passi con CSS
9.2.2. Introduzione ai CSS3
9.3. Linguaggio di scripting del browser: JavaScript
9.3.1. Nozioni di base di JavaScript
9.3.2. DOM
9.3.3. Eventi
9.3.4. JQuery
9.3.5. Ajax
9.4. Concetto di programmazione orientata ai componenti
9.4.1. Contesto
9.4.2. Componenti e interfacce
9.4.3. Stati di un componente
9.5. Architettura dei componenti
9.5.1. Architetture attuali
9.5.2. Integrazione e distribuzione dei componenti
9.6. Framework Frontend: Bootstrap
9.6.1. Design con la rete
9.6.2. Formulari
9.6.3. Componenti
9.7. Controllore della vista del modello
9.7.1. Metodi di sviluppo web
9.7.2. Pattern di progettazione: MVC
9.8. Tecnologie Grid informative
9.8.1. Aumento delle risorse informatiche
9.8.2. Concetto di tecnologia Grid
9.9. Architetture orientate ai servizi
9.9.1. SOA e servizi web
9.9.2. Topologia del servizio web
9.9.3. Piattaforme di servizi web
9.10. Protocollo HTTP
9.10.1. Messaggi
9.10.2. Sessioni persistenti
9.10.3. Sistema crittografico
9.10.4. Funzionamento del protocollo HTTPS
Modulo 10. Ingegneria del Software
10.1. Introduzione all'ingegneria del software e alla modellazione
10.1.1. La natura del software
10.1.2. La natura unica del Webapps
10.1.3. Ingegneria del software
10.1.4. Il processo del software
10.1.5. La pratica dell'ingegneria del software
10.1.6. Miti del software
10.1.7. Come tutto ha inizio
10.1.8. Concetti orientati agli oggetti
10.1.9. Introduzione all’UML
10.2. Il processo del software
10.2.1. Un modello generale di processo
10.2.2. Modelli di processo prescrittivi
10.2.3. Modelli di processo specializzati
10.2.4. Il processo unificato
10.2.5. Modelli di processo personali e di gruppo
10.2.6. Che cos'è l'agilità?
10.2.7. Che cos'è un processo agile?
10.2.8. Scrum
10.2.9. Insieme di strumenti per i processi agili
10.3. Principi che guidano la pratica dell'ingegneria del software
10.3.1. Principi che guidano il processo
10.3.2. Principi che guidano la pratica
10.3.3. Principi di comunicazione
10.3.4. Principi di pianificazione
10.3.5. Principi di modellazione
10.3.6. Principi di costruzione
10.3.7. Principi di implementazione
10.4. Comprensione dei requisiti
10.4.1. Ingegneria dei requisiti
10.4.2. Porre le basi
10.4.3. Ricerca dei requisiti
10.4.4. Sviluppo di casi d'uso
10.4.5. Elaborazione del modello dei requisiti
10.4.6. Negoziazione dei requisiti
10.4.7. Convalida dei requisiti
10.5. Modellazione dei requisiti: scenari, informazioni e classi di analisi
10.5.1. Analisi dei requisiti
10.5.2. Modellazione basata su scenari
10.5.3. Modelli UML che forniscono il caso d'uso
10.5.4. Concetti di modellazione dei dati
10.5.5. Modellazione basata sulle classi
10.5.6. Diagrammi di classe
10.6. Modellazione dei requisiti: flusso, comportamento e pattern
10.6.1. Requisiti che modellano le strategie
10.6.2. Modellazione orientata al flusso
10.6.3. Diagrammi di stato
10.6.4. Creazione di un modello comportamentale
10.6.5. Diagrammi di sequenza
10.6.6. Diagrammi di comunicazione
10.6.7. Pattern per la modellazione dei requisiti
10.7. Concetti di progettazione
10.7.1. Progettazione nel contesto dell'ingegneria del software
10.7.2. Processo di progettazione
10.7.3. Concetti di progettazione
10.7.4. Concetti di progettazione orientati agli oggetti
10.7.5. Il modello di progettazione
10.8. Progettazione architettonica
10.8.1. Architettura del software
10.8.2. Generi architettonici
10.8.3. Stili architettonici
10.8.4. Progettazione architettonica
10.8.5. Evoluzione della progettazione alternativa per l'architettura
10.8.6. Mappatura dell'architettura con l'uso di flussi di dati
10.9. Progettazione a livello di componente e basata su pattern
10.9.1. Che cos'è un componente?
10.9.2. Progettazione di componenti basati sulle classi
10.9.3. Realizzazione della progettazione a livello di componenti
10.9.4. Progettazione dei componenti tradizionali
10.9.5. Sviluppo basato su componenti
10.9.6. Pattern di progettazione
10.9.7. Progettazione del software basato su modelli
10.9.8. Pattern architettonici
10.9.9. Pattern di progettazione a livello di componenti
10.9.10. Pattern di progettazione dell'interfaccia utente
10.10. Qualità del software e gestione dei progetti
10.10.1. Qualità del software
10.10.2. Il dilemma della qualità del software
10.10.3. Raggiungere la qualità del software
10.10.4. Garanzia di qualità del software
10.10.5. Lo spettro amministrativo
10.10.6. Il personale
10.10.7. Il prodotto
10.10.8. Il processo
10.10.9. Il progetto
10.10.10. Principi e pratiche
Applicherai criteri di qualità, prestazioni e sostenibilità in tutto il ciclo di vita del Software"
Master in Sviluppo di Software
Il settore IT ha subito grandi trasformazioni negli ultimi anni. Infatti, uno degli elementi che lo caratterizza è la sua continua evoluzione attraverso l'incorporazione di nuove tecnologie e software all'avanguardia. Tenendo conto di ciò, è importante che quei professionisti IT che vogliono lavorare in questo campo abbiano una conoscenza aggiornata sulla gestione degli strumenti che offre. Di conseguenza, TECH Global University ha progettato questo Master in Sviluppo di Software, un corso post-laurea che ti consentirà di raggiungere i tuoi obiettivi accademici e dare impulso alla tua carriera professionale.
Realizza un master in sviluppo software
L'obiettivo principale di questo programma di TECH è fornire le migliori conoscenze e contenuti in modo che i laureati possano affrontare le sfide presenti nella vita lavorativa di oggi. In questo modo, attraverso un piano di studi di alto livello, intendiamo formare scientificamente e tecnologicamente gli studenti di questo corso. In questo senso conoscerai la struttura di base del computer e del software, capirai e interpreterai il linguaggio di programmazione, il funzionamento, le principali strategie e lo sviluppo dell'algoritmo, ecc. Formandoti in questa materia sarai in grado di padroneggiare le procedure di questo campo e contribuire al suo sviluppo in aree come la creatività, l'innovazione e l'efficienza tecnologica.
Specializzati nella più grande università digitale del mondo
In TECH Global University disponiamo dei contenuti più aggiornati e completi nel mercato dell'istruzione, focalizzati sul raggiungimento di un livello più elevato di conoscenza nello sviluppo del software. Considerando che la formazione specializzata dei professionisti è una necessità nel contesto attuale, ci sforziamo di fornire ai nostri studenti una formazione completa e di alta qualità. Con i nostri metodi educativi, ognuno avrà accesso a tecniche, strategie, programmi e risorse che favoriranno lo svolgimento dei propri compiti. Si tratta di una nuova, completa ed efficace opportunità per tutti gli interessati al settore IT.