ISPW
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 RISONDERE A DOMANDE RIGUARDANTI IL SISTEMA
- ANALISI SISTEMI
- PROGETTAZIONE SISTEMA SOFTWARE
- PROGRAMMAZIONE
- CONTROLLO DELL'EVOLUZIONE DEL SOFTWARE
MODELLI UML A SUPPORTO
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 SCOMPORRE UN PROCESSO DI SVILUPPO SOFTWARE IN (ALMENO) 5 PROSPETTIVE:
-
USE CASE VIEW: MODALIZZAZIONE FUNZIONALE CHE PERCEPISCONO UN ATTORI ESTERNI
TARGET: CLIENTI + FTESTER
- OBBIETTIVO: STRUTTURA ESTERNA DEL PROBLEMA (IL COSA NON IL COME)
-
LOGICAL VIEW: DESCRIVE COME SONO PROGETTATE LE FUNZIONALITÀ DEL SISTEMA
TARGET: PROGRAMMATORI SINTEGRATORI SISTEMA
- FOCALIZZAZIONE SULLA STRUTTURA DEL SISTEMA
-
IMPLEMENTATION VIEW: ORGANIZZAZIONE DEL SISTEMA IN MODULI
TARGET: MTESTER
- MODULI SPECIFICI PER L'AMBIENTE DI ESECUZIONE
-
PROCESS VIEW: CONTIENE MODELLI CHE DESCRIVONO PROCESSI DI ESECUZIONE
TARGET: SVILUPPATORI SINTEGRATORI SISTEMA
- ENTITÀ CHE ESEGUONO I PROCESSI
- SI USA PER UN UTILIZZO EFFICACE DELLE RISORSE E PER COORDINARE L'ESECUZIONE PARALLELA DEGLI OGGETTI
-
DEPLOYMENT VIEW: COMPRENDE MODELLI CHE DESCRIVONO LA TOPOLOGIA E L'ORGANIZZAZIONE DELLE MACCHINE FISICHE
TARGET: HWTESTER
- MODELLI CHE DESCRIVONO COME LE PARTI DEL SISTEMA SOFTWARE SONO MAPPATE SULL'ARCHITETTURA FISICA
INGEGNERIA DEI REQUISITI
- OBIETTIVI:
- COMPRENSIONE DEI REQUISITI DEL SISTEMA
- GESTIONE DEI REQUISITI E DEL LORO CAMBIAMENTO
- SUPPORTO ALLA PIANIFICAZIONE DELLO SVILUPPO PER OGNI ITERAZIONE DEL PROCESSO
ANALISI DEL PROBLEMA:
- PASSO 1: QUAL È IL PROBLEMA?
- CERCARE LE COSE ALLA RADICE DEL PROBLEMA
- CERCARE DI FAR EMERGERE ASPETTI CHE SONO LASCIATI IMPLICITI
- PASSO 2: IDENTIFICARE LE PERSONE IMPATTATE -> STAKEHOLDERS (ESEMPIO: UTENTI, CONFIDENTI...)
- QUALCUNO CHE È NATURALMENTE COINVOLTO/INFLUENZATO/LIMITATO AL SISTEMA CHE SI STA REALIZZANDO
- IDENTIFICANO ANCHE TERZE PARTI INTERESSATE AL SISTEMA
- PASSO 3: DEFINIRE I CONFINI DEL SISTEMA
- BISOGNA IDENTIFICARE GLI ATTORI -> NON SONO PARTE DEL SISTEMA
- RAPPRESENTANO COSE CHE UN UTENTE DEL SISTEMA POTREBBE AVERE
- PASSO 4: IDENTIFICARE VINCOLI CHE POSSONO AVERE UN IMPATTO SUL SISTEMA CONSIDERATO
- ASSEGNAZIONE DI INDICE DI PRIORITÀ AI DIFFERENTI VINCOLI IN FUNZIONE
ESIGENZE STAKEHOLDERS:
- FASE DI ELICITAZIONE
- NECESSITÀ UTENTE (USERS NEEDS)
- IDENTIFIC. ESIG. COMMITTENTI (STAKEHOLDERS REQUESTS)
- DEFINIZIONE FUNZIONALITÀ DI SISTEMA (FEATURES)
PER ORGANIZZARE LE INFO È FONDAMENTALE UN DOCUMENTO DI VISION
SPECIFICARE IL SISTEMA
PASSARE DA INSIEME DI ESIGENZE E CARATTERISTICHE ESPESE DAL PUNTO DI VISTA UTENTE AD ALTRO LIV. ASTRAZIONE A INSIEME STRUTTURATO E DESCRITTO CORRETTAMENTE A SCENARI, VINCOLI E SCENARI UTILIZZO DEL SISTEMA
SPECIFICA DEI REQUISITI
REQUISITO: AFFERMAZIONE NON AMBIGUA SU COSA IL SISTEMA DEVE FARERIGUARDA IL SISTEMA E NON GLI UTENTI
UN REQUISITO PUÒ ESSERE
- FUNZIONALE: ESPRIME UNA FUNZIONE DEL SISTEMA PREVEDE IL “COSA”
- NON FUNZIONALE: ESPRIME UN VINCOLO IMPOSTO SUL SISTEMA DEVE ESSERE ESPRESSO IN MODO MISURABILE
UN REQUISITO PUÒ AVERE UN INSIEME DI ATTRIBUTI CHE FORNISCONO INFORMAZIONI AGGIUNTIVE
- PRIORITÀ
- STATO
- COSTO
- RISCHIO
-
Appunti di Fondamenti Web
-
Appunti di Progettazione del Software, tutte le lezioni
-
Appunti di Ingegneria del Software
-
Appunti esame Ingegneria del software