
Ciclo di vita del SW e diagrammi UML
Presentation
•
Computers
•
11th Grade
•
Easy
Emanuela Giaconi
Used 4+ times
FREE Resource
55 Slides • 11 Questions
1
Ciclo di vita del SW e diagrammi UML
By Emanuela Giaconi
2
Ciclo di vita del SW
fasi attraversate da un progetto software durante la sua evoluzione
dall’idea iniziale alla manutenzione
il risultato finale è il prodotto software stesso,
documentazione ad esso associata.
Ciclo di vita del SW
3
Ciclo di vita del SW
Collegarsi a www.menti.com e rispondere alla seguente domanda:
Quali sono le fasi di vita di un prodotto SW?
Ciclo di vita del SW
4
Fasi
Studio di fattibilità
Raccolta dei requisiti
Analisi
Progettazione
Implementazione
Test
Installazione in produzione
Manutenzione (ordinaria ed evolutiva)
Ciclo di vita del SW
5
Open Ended
Che cos'è lo studio di fattibilità e a cosa serve?
6
Studio di fattibilità
Con lo studio di fattibilità viene effettuata una valutazione preliminare di costi e benefici
Opzioni alternative già esistenti
Analisi risorse umane e finanziarie
Questa fase generalmente si conclude con la presentazione di una offerta al cliente (preventivo o documento di fattibilità
Ciclo di vita del SW
7
Open Ended
Cosa deve fare la fase di analisi? Qual è il suo output?
8
Raccolta dei requisiti e analisi
Nella successiva fase, quella di specifica dei requisiti, possiamo riconoscere le seguenti attività:
analisi del problema
definizione delle funzionalità, dell’operatività, dei vincoli interni ed esterni alla azienda, delle prestazioni e di ogni caratteristica richiesta al sistema per soddisfare la necessità del cliente
Ciclo di vita del SW
9
Raccolta dei requisiti e analisi
redazione di un documento di Specifica dei Requisiti Software (SRS – Software Require-ment Specification)
convalida delle specifiche: prima di procedere alla realizzazione il SRS viene analizzato e rivisto con il committente per validare ogni singola specifica individuata.
La specifica dei requisiti risponde alla domanda
“che cosa deve fare il sistema?”
Ciclo di vita del SW
10
Open Ended
Esempio: quali potrebbero essere i requisiti per la realizzazione di un sistema per la gestione di una biblioteca comunale?
11
Requisiti
12
Raccolta dei requisiti
La raccolta dei requisiti stabilisce le funzionalità del sistema senza interessarsi di “come” queste funzioni verranno realizzate
L’insieme delle attività che si ”occupano” di requisiti prende anche il nome di ingegneria dei requisiti (requirements engineering).
Requisito: Ogni informazione (ottenuta in qualche modo) circa le funzionalità, i servizi, le modalità operative e di gestione del sistema da sviluppare.
13
Raccolta dei requisiti
La definizione dei requisiti rappresenta l’analisi completa dei bisogni dell’utente e del dominio del problema allo scopo di definire quello che il sistema deve fare.
La raccolta dei requisiti è spesso considerata l’attività più difficile, perché richiede la collaborazione tra più gruppi di partecipanti con differenti background
14
Stakeholder
Le diverse persone coinvolte in tale processo sono chiamate gli stakeholder.
Sono da considerarsi stakeholder tutte le persone in qualche modo interessate alla messa in opera del sistema, a ogni livello della organizzazione
“Gli stakeholder– o portatori di interesse – sono tutte quelle persone o gruppi che influenzano e/o sono influenzati dalle attività di un’organizzazione, dai suoi prodotti o servizi e dai relativi risultati di performance.”
(Edward Freeman , 1984)
15
Stakeholder
Inoltre sia le funzioni svolte che i fabbisogni individuali sono diversi a ogni livello della azienda e spesso gli stakeholder effettuano richieste diverse che possono anche sfociare in requisiti in conflitto tra loro.
Ogni stakeholder può fornire una descrizione astratta e imprecisa del sistema che l’analista deve essere in grado di elaborare per ottenere una descrizione dettagliata e matematica dello stesso.
16
Analisi
La fase di analisi dei requisiti è particolarmente delicata e l’introduzione di errori in questa fase può portare anche al fallimento dell’intero progetto:
in ogni caso questi errori sono difficili da individuare e spesso vengono scoperti “troppo tardi”, nelle ultime fasi del processo di sviluppo del software, quando l’intervento per risolverli risulta essere molto oneroso.
17
Open Ended
Elenca i requisiti che ritieni necessari per la definizione di un sistema di e-commerce
18
Analisi
19
Analisi - Rischi
I principali rischi sono quelli di “dimenticare” o ignorare una funzionalità, di implementare in modo errato o incompleto una richiesta, di realizzare interfacce utenti poco intuitive e difficili da usare.
Un suggerimento per identificare i requisiti rilevanti in un processo di progettazione di sistemi informatici viene dato dalla normativa ISO 13407, anche conosciuta come human-centered design process (UCD).
20
Open Ended
Identifica quali possono essere i rischi e i problemi che possono insorgere nella fase di analisi
21
Analisi - ISO 13407
22
Analisi
analisi può essere svolta in toto all’inizio oppure iterativamente durante il processo.
A seconda del modello di sviluppo che viene adottato, l’analisi può essere ripetuta o meno durante il ciclo di vita del software.
23
Open Ended
Quali tipi di requisiti devono essere analizzati?
24
Requisiti
I requisiti software possono essere classificati
a livello di dettaglio:
requisiti utente(user requirements)
requisiti di sistema(system requirements)
Ciclo di vita del SW
25
Requisiti
I requisiti software possono essere classificati
per tipo di requisito che rappresentano:
requisiti funzionali
requisiti non funzionali
requisiti di dominio
Ciclo di vita del SW
26
Requisiti utente e di sistema
i requisiti utente sono quelli che “osserva il cliente”, cioè le esigenze sentite dall’utente finale e descritte con il linguaggio del cliente: chiamati requisiti aperti
i requisiti di sistema sono quelli imposti da vincoli esistenti, come per esempio l’utilizzo di apparecchiature esistenti all’interno della azienda o di interfacciamento con sistemi aziendali già in funzione o anche di natura fiscale e/o legislativa (rispetto della normativa sulla sicurezza e sulla privacy, contabilità e bilancio secondo la normativa CEE ecc.) : chiamati requisiti chiusi
Ciclo di vita del SW
27
Requisiti utente e di sistema
Ciclo di vita del SW
28
Requisiti funzionali
I requisiti funzionali (Functional Requirement) descrivono le funzionalità che il sistema deve avere e tutti i servizi che dovrà offrire agli utenti.
I requisiti funzionali devono essere:
completi: devono indicare tutti i servizi richiesti dagli utenti;
coerenti: i requisiti non devono avere definizioni contraddittorie.
Ciclo di vita del SW
29
Requisiti non funzionali
I requisiti non funzionali (Non-Functional Requirement) sono quelli imposti dalle modalità operative, dal ciclo di vita del prodotto”, nel caso di un sistema di produzione, oppure dalla “catena del freddo” nel caso di un prodotto alimentare surgelato, o dalle precedenze nel triage in un pronto soccorso ecc., o del rispetto della normativa vigente
di prodotto
organizzativi
esterni
30
Requisiti di dominio
I requisiti di dominio dipendenti dal dominio in cui il sistema deve operare come la riservatezza nel caso di dati sensibili, le leggi della fisica e/o tecnologia nel caso di impianti industriali, la sicurezza sul lavoro, ...
Esempio tipico: login e password per accedere ad un'area protetta
31
Raccolta dei requisiti e analisi
Raccolta dei requisiti. Requisiti
Diverse tecniche:
Interviste
Osservazioni sul campo
Gruppi di Lavoro, ecc.
Ciclo di vita del SW
32
I requisiti: l’anello debole dello sviluppo SW
lUn celebre studio effettuato dallo Standish Group su un campione di 8000 progetti riporta risultati sconfortanti:
l16% di successi, 53% di fallimenti parziali
Ciclo di vita del SW
33
I requisiti: l’anello debole dello sviluppo SW
La maggior parte delle volte il fallimento del sistema viene “scoperto” in ritardo
Le principali cause che determinano del ritardo sono:
insufficiente azione di interazione e discussione tra gli attori coinvolti;
insufficiente individuazione dei conflitti tra requisiti, sempre presenti in ogni progetto;
mancato coinvolgimento degli utenti nella verifica dei requisiti individuati dagli analisti;
mancato coinvolgimento degli utenti nell’esprimere feedback sulle ipotesi prospettate dai progettisti;
Ciclo di vita del SW
34
I requisiti: l’anello debole dello sviluppo SW
insufficiente controllo sull’evoluzione dei requisiti durante l’intero ciclo di vita del sistema;
rinvio della presa in carico del nuovo requisito sopraggiunto in corso d’opera a una release successiva;
mancato accordo sui contenuti e/o i costi e/o i tempi durante la rinegoziazione per l’aggiunta di un requisito sopraggiunto in corso d’opera.
Ciclo di vita del SW
35
I requisiti: l’anello debole dello sviluppo SW
Ciclo di vita del SW
36
Verifica e validazione dei requisiti
Ciclo di vita del SW
La validazione dei requisiti deve essere fatta durante tutto il ciclo di sviluppo ed esige di controllare:
correttezza: una specifica è corretta se rappresenta perfettamente il sistema che il cliente richiede;
completezza: una specifica è completa quando contempla tutti i possibili scenari possibili per il sistema;
coerenza: i requisiti non si devono contraddire tra di loro;
chiarezza: la descrizione di una specifica non deve dare adito a possibili interpretazioni diverse;
37
Verifica e validazione dei requisiti
Ciclo di vita del SW
realismo: la richiesta deve essere “fisicamente” realizzabile e implementabile nonostante tutti i vincoli;
verificabilità: quando il sistema è stato costruito deve essere possibile eseguire tutti i test per certificare che il sistema soddisfi i requisiti;
tracciabilità: tutte le funzioni del sistema devono essere individuabili e messe in relazione con un requisito funzionale: questa operazione è molto importante per lo sviluppo di test e per valutare i cambiamenti.
38
Verifica e validazione dei requisiti
Ciclo di vita del SW
I requisiti non funzionali (legati alle modalità operative), invece, spesso indicati in modo generico dall’utente, possono risultare non quantificabili e difficili da verificare
a differenza dei precedenti, per i quali è possibile dire in “modo binario” se sono rispettati o meno, per questi generalmente è possibile dare un valore quantitativo del grado di soddisfacimento del requisito.
39
Verifica e validazione dei requisiti
Ciclo di vita del SW
40
Open Ended
Individua le attività di progettazione? qual è l'output di questa fase?
41
Progettazione
Individuare la soluzione implementativa migliore rispetto agli obiettivi funzionali, a quelli non funzionali ed ai vincoli.
definizione dell’architettura del sistema, organizzazione strutturale del sistema con componenti software, l’interfaccia dei componenti e le relazioni tra di essi.
Output
istruzioni operative per la realizzazione del progetto (dettagli implementativi).
documenti opportunamente strutturati.
Ciclo di vita del SW
42
Progettazione
rappresentazione astratta e indipendente dalla tecnologia.
implementazione non ambigua
diagramma di flusso o UML activity diagram.
Entrambi gli strumenti servono a realizzare la scomposizione delle attività da compiere in elementi sempre più piccoli che possano essere facilmente implementati con opportuni insiemi di istruzioni del linguaggio di programmazione scelto.
Ciclo di vita del SW
43
Open Ended
In cosa consiste la fase di implementazione?
44
Implementazione
tempi stretti: Integrated Development Environment (IDE)
IDE: editor di codice sorgente, compilatore e/o un interprete, tool di building automatico, e debugger
sistemi di controllo di versione (SVN o GitHub, ad esempio)
sistemi di gestione delle dipendenze da librerie esterne (Maven, ad esempio)
tool per semplificare la costruzione di una GUI
navigatore di classi, analizzatore di oggetti e un diagramma della gerarchia delle classi
Ciclo di vita del SW
45
Implementazione
IDE multi-linguaggio, come Eclipse, NetBeans e Visual Studio
metodologie di programmazione più moderne tendono a fare diventare la fase di scrittura del codice quella principale in tutto il progetto informatico
primo debugging: ossia la rimozione degli errori di sintassi e degli errori più evidenti, come la mancata inizializzazione di variabili, che possono compromettere la compilazione o il funzionamento del programma
live debug: Tendono ad evidenziare in tempo reale, oltre al codice che inevitabilmente porterà ad errori di compilazione, anche frammenti di codice inutili, blocchi ripetuti, inizializzazioni di variabili non necessarie, ecc.
Ciclo di vita del SW
46
Open Ended
Identifica la fase successiva alla fase di implementazione e descrivi i contenuti che dovrebbe avere a tuo parere
47
Test
verifica funzionamento conforme alle specifiche della fase di analisi.
errori logici e concettuali,
verifica del comportamento effettivo del programma rispetto a quello previsto
suite di test eseguite automaticamente durante la build ed il packaging del progetto, allo scopo di ridurre il più possibile il rischio di regressione.
Ciclo di vita del SW
48
Open Ended
In cosa consiste secondo te la fase di avvio e passaggio in produzione?
49
Avvio e passaggio in produzione
Dopo il test, raggiunto un livello sufficiente di qualità, il programma può entrare in produzione.
B2C: rilascio sul mercato, fisico (negozio), virtuale (ecommerce, download) o mobile (PlayStore, AppStore)
B2B, applicazioni web (siti di e-commerce, portali, gaming-on-line, ecc): installazione ed il collaudo presso la sede del cliente che li ha richiesti.
Ciclo di vita del SW
50
Open Ended
Quale dovrebbe essere secondo te lo scopo della fase di manutenzione?
51
Manutenzione
Manutenzione ordinaria: interventi correttivi necessari per via di errori sfuggiti ai test o dovuti al funzionamento del programma in condizioni non previste durante la sua progettazione;
Manutenzione evolutiva: interventi di variazione od arricchimento delle funzioni del programma per via di nuove necessità operative del programma stesso;
esempio: aggiornamento continuo dei programmi gestionali per stare aggiornati rispetto alle normative fiscali.
Ciclo di vita del SW
52
Modelli
Modello a cascata
Modello a spirale
Ciclo di vita del SW
53
Modello a cascata
modello di processo di sviluppo software con un flusso sequenziale lineare, suddiviso in fasi.
una fase inizia dopo il completamento della fase precedente.
Ciclo di vita del SW
54
Modello a cascata
il risultato di una fase diventa l'input per la fase successiva.
una sola fase alla volta.
non adatto per sviluppare progetti complessi.
non adatto per un progetto con requisiti mutevoli.
Ciclo di vita del SW
55
Modello a spirale
alternativa al modello a cascata
obiettivo principale: analizzare il rischio
Le fasi del modello a spirale includono pianificazione, analisi dei rischi, ingegneria e valutazione
Ciclo di vita del SW
56
Modello a spirale
Il progetto software passa continuamente attraverso queste fasi in iterazioni chiamate spirali.
Al termine di ogni fase viene prodotto un prototipo.
l'output viene mostrato al cliente per ottenere un feedback.
Ciclo di vita del SW
57
Modello a spirale
adatto a progetti grandi e complessi.
analisi dei rischi continua.
maggiore controllo verso tutte le fasi di sviluppo.
analisi del rischio potrebbe richiedere dipendenti esperti e le spirali potrebbero richiedere molto tempo.
non adatto per piccoli progetti.
Ciclo di vita del SW
58
UML
UML, Unified Modeling Language, è un linguaggio semiformale e grafico (basato su diagrammi) per:
specificare
visualizzare
realizzare
modificare
documentare
gli artefatti di un sistema software: sorgenti, eseguibili, documentazione, file di configurazione, tabelle di database, benchmark, ...
Ciclo di vita del SW
59
UML
Linguaggio di modellazione per:
capire e descrivere le caratteristiche di un nuovo sistema o di uno esistente.
indipendente dall’ambito del progetto.
indipendente dal processo di sviluppo.
indipendente dal linguaggio di programmazione (progettato per essere abbinato alla maggior parte dei linguaggi object-oriented).
fa parte di un metodo di sviluppo, non è esso stesso il metodo.
Ciclo di vita del SW
60
UML
vero e proprio linguaggio, non una semplice notazione grafica
insieme di elementi che hanno anche una rappresentazione grafica
linguaggio semiformale perché descritto in linguaggio naturale e con l’uso di diagrammi, cercando di ridurre al minimo le ambiguità.
ha regole sintattiche (come produrre modelli legali)
regole semantiche (come produrre modelli con un significato).
Ciclo di vita del SW
61
Diagramma casi d'uso
62
Diagramma delle classi
63
Diagramma degli stati
descrive il comportamento di entità o di classi in termini di stato (macchina a stati).
64
Diagramma delle attività
descrive un processo attraverso dei grafi in cui i nodi rappresentano le attività e gli archi l'ordine con cui vengono eseguite.
65
Diagramma di sequenza
descrive uno scenario: sequenza di azioni in cui tutte le scelte sono state già effettuate;
in pratica nel diagramma non compaiono scelte, né flussi alternativi.
Ciclo di vita del SW e diagrammi UML
By Emanuela Giaconi
Show answer
Auto Play
Slide 1 / 66
SLIDE
Similar Resources on Wayground
59 questions
PAST TENSE
Presentation
•
10th - 12th Grade
64 questions
KTPL
Presentation
•
11th Grade
64 questions
materi perpajakan
Presentation
•
11th Grade
63 questions
NILAI MUTLAK
Presentation
•
10th Grade
57 questions
La figura di Pericle (intro)
Presentation
•
11th Grade
60 questions
Generalidades de Internet
Presentation
•
11th Grade
61 questions
1. Creación de Imágenes Digitales completo
Presentation
•
10th Grade
61 questions
Materi 7 Review Materi Kelas XI Suhu dan Kalor
Presentation
•
11th Grade
Popular Resources on Wayground
15 questions
Grade 3 Simulation Assessment 1
Quiz
•
3rd Grade
22 questions
HCS Grade 4 Simulation Assessment_1 2526sy
Quiz
•
4th Grade
16 questions
Grade 3 Simulation Assessment 2
Quiz
•
3rd Grade
19 questions
HCS Grade 5 Simulation Assessment_1 2526sy
Quiz
•
5th Grade
17 questions
HCS Grade 4 Simulation Assessment_2 2526sy
Quiz
•
4th Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
24 questions
HCS Grade 5 Simulation Assessment_2 2526sy
Quiz
•
5th Grade
20 questions
Math Review
Quiz
•
3rd Grade