- Ciclo di vita di un software
- Fasi del ciclo di vita
- Analisi e specifica dei requisiti
- Progettazione e sua specifica
- Codifica e test di modulo
- Integrazione e test di sistema
- Consegna e manutenzione
- Fasi del ciclo di vita
- Natura e qualità del software
- Classificazione delle qualità del software
- Correttezza
- Affidabilità
- Robustezza
- Prestazioni
- Usabilità
- Verificabilità
- Manutenibilità
- Riparabilità
- Evolvibilità
- Riusabilità
- Portabilità
- Comprensibilità
- Interoperabilità
- Produttività
- Tempestività
- Visibilità
- I principi dell'Ingegneria del Software
- Metodi e tecniche
- I principi chiave
- Rigore e formalità
- Separazione degli interessi
- Modularità
- Astrazione
- Anticipazione del cambiamento
- Generalità
- Incrementalità
- Caso di studio: Compilatore
-
Processo di produzione del software
-
Modelli di produzione del software
-
Obiettivi del modello di processo
-
Importanza dei modelli di processo di sviluppo
-
Attività principali dei processi di sviluppo
-
Studio di fattibilità
-
Acquisizione, analisi specifica dei requisiti
-
Modularizzazione orizzontale
-
Documento di specifica
-
Classificazione dei requisiti
-
Definizione architettura Software
-
Produzione codice e test dei moduli
-
Integrazione e test del sistema
-
Rilascio installazione e manutenzione
-
Modello a cascata
-
Critica modello a cascata
-
Modello a cascata con feedback
-
Problemi del modello a cascata
-
Modelli Evolutivi
-
Rilasci incrementali
-
Modello a spirale
-
Caso di studio: Microsoft
-
Caso di studio: approccio open source
-
Organizzazione del processo
-
Metodologie esistenti
-
RUP:
- Fasi dei processi RUP
- Sommario RUP
- Attività con fasi ed interazioni
- RUP best practice
-
STRUTTURA AGILE (TUTTO)
-
SCRUM (TUTTO)
-
SCAILING AGILE METHOD (TUTTO)
-
MULTI-TEAM SCRUM
- Introduzione
- Usi di UML
- Diagrammi di UML
- Processo di sviluppo:
- Analisi Requisiti
- Progettazione
- Documentazione
- Class Diagram:
- Introduzione
- Proprietà
- Attributi
- Associazioni
- Molteplicità
- Interpretazione delle proprietà programmazione
- Associazioni Bidirezionali
- Operazioni
- Generalizzazione
- Note e commenti
- Dipendenza
- Concetti Avanzati:
- Operazioni ed attributi statici
- Proprietà derivate
- Aggregazione
- Composizione
- Interfacce astratte
- Associazioni qualificate
- Classi di associazione
- Classi Parametriche
- Enumeration
- Classi attive
- Non navigabilità
- Associazioni Riflessive
- Casi d'uso
- Diagrammi casi d'uso
- Generalizzazione tra casi d'uso
- Estensione tra casi d'uso
- Finalità tra casi d'uso
- Livelli tra casi d'uso
- Analisi tra casi d'uso
- Object Diagram
- Package Diagram
- Diagrammi di sequenza
- Diagrammi di attività
- Diagrammi di Comunicazione
- Diagrammi dei componenti
- Diagrammi di Deployment
- Diagrammi di Stato
-
Cos'è un design Pattern
-
Benefici di un design Pattern
-
Struttura di un pattern
-
Classificazione dei pattern
-
PATTERN:
- Adapter
- Decorator
- Proxy
- Singleton
- Factory Method
- Prototype
- Abstract Factory
- Bridge
- Builder
- Composite
- Visitor
- Observer
- Command
- FlyWeight
- Iterator
- Facade
- State
- Memento
- Strategy
- Template Method
- Chain of Responsibility
- Mediator
- Data Transfer Object
-
Inheritance vs Delegation (Ereditarietà VS Composizione/Delegazione)
-
Task and Threads (TUTTO)
-
Design by Contract
-
Slide varie inglese