Processi di Sviluppo Flashcards

1
Q

In che modo si può modellare un processo SW?

A

Basato su un aspetto specifico:

  • workflow
  • data flow
  • role-action

Modelli generici:

  • waterfall
  • iterative developement
  • CBSE (Component Based Software Enginering)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quali sono le fasi del modello a cascata?

A
  1. Studio di fattibilità
  2. Analisi dei requisiti
  3. Design
  4. Sviluppo
  5. Testing
  6. Distribuzione
  7. Mantenimento
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

In quale momento il cliente può fornire un feedback al sistema nel modello a cascata?

A

Durante la fase di operatività e manutenzione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Perché il modello a cascata è obsoleto?

A

Perché i requisiti di un sistema evolvono sempre durante il corso del progetto e questo modello permette di rilasciare un feedback solo durante la fase di operatività e manutenzione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

In cosa consiste la consegna incrementale?

A
  • Invece di rilasciare tutto in unico blocco, vengono rilasciate diverse versioni, ognuna con funzionalità aggiuntive rispetto alla precedente (diversi incrementi)
  • I requisiti vengono sviluppati in ordine di priorità, così che le funzioni principali vengano rilasciate durante i primi incrementi
  • I requisiti durante un incremento vengono congelati mentre invece possono evolversi per gli incrementi successivi
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quali sono le fasi della consegna incrementale?

A
  1. Definizione sommaria dei requisiti
  2. Assegnazione dei requisiti agli incrementi
  3. Progettazione architettura di sistema
  4. Sviluppo degli incrementi di sistema
  5. Convalida dell’incremento
  6. Integrazione dell’incremento
  7. Validazione del sistema => Sistema finale
  8. Tornare a pt. 4
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quali sono i vantaggi della consegna incrementale?

A
  • Funzioni utili per il cliente possono essere rilasciate ad ogni incremento, quindi alcune funzionalità di sistema sono disponibili sin dai primi incrementi
  • I primi incrementi rappresentano dei PROTOTIPI che supportano la SCOPERTA dei requisiti per i successivi incrementi
  • I rischi di fallimento si abbassano
  • I servizi a priorità più alta tendono ad essere collaudati più spesso (quindi più a fondo)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Su cosa si basa lo sviluppo evoluzionistico?

A

Sviluppo i requisiti più chiari del sistema così da creare un prototipo da fornire al cliente, ciò aiuta nell’individuazione di nuovi requisiti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quali sono le fasi dell’ingegneria del SW basata su componenti?

A
  1. Specifica dei requisiti
  2. Analisi dei componenti
  3. Modifica dei requisiti
  4. Progettazione del sistema con riutilizzo
  5. Sviluppo e integrazione
  6. Convalida del sistema
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quali sono le 4 fasi del modello a spirale? (partendo dal secondo quadrante)

A
  1. Determinare obiettivi, alternative e vincoli
  2. Valutare alternative e rischi
  3. Sviluppare e testare
  4. Pianificare
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Cosa sono i metodi Agili?

A

Sono metodi di sviluppo SW basati sulla consegna incrementale che prevedono iterazioni brevi e timeboxed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cosa significa RUP?

A

Rational Unified Process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cos’è UP?

A

E’ un processo iterativo e incrementale che usa la notazione UML

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vantaggi del RUP?

A

Grazie al fatto che si fanno “passi piccoli”, il FEEDBACK del cliente è RAPIDO e quindi c’è grande possibilità di ADATTAMENTO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Durante un iterazione del modello UP che fasi ci sono?

A
  1. Analisi dei requisiti
  2. Progettazione
  3. Implementazione, test, interazione e ulteriore progettazione
  4. Integrazione finale e test di sistema
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Fasi di un intero UP?

A
  • Avviamento: vengono stabiliti gli obiettivi, le stime dei costi, dei tempi e viene fatta la analisi di fattibilità
  • Elaborazione: vengono raccolti i requisiti in modo più dettagliato, si stabilisce l’architettura di base e vengono analizzati i rischi principali
  • Costruzione: questa fase consiste in molte iterazioni che permettono di costruire una parte del sistema che soddisfa un sottoinsieme di requisiti
  • Transizione: vengono affrontati tutti gli aspetti legati al fine-tuning delle funzionalità, prestazioni, qualità, beta-testing e formazione degli utenti
17
Q

Quali sono i vantaggi dello sviluppo iterativo?

A
  • Minore probabilità di fallimento del progetto
  • Riduzione precoce dei rischi
  • Progresso visibile
  • Feedback precoce
  • Coinvolgimento dell’utente
  • “Abbracciare il cambiamento”
18
Q

Conseguenze del RUP?

A
  • Vengono creati modelli anche per comprendere e comunicare, non solo per documentare
  • Si esplorano rapidamente le alternative progettuali
  • I modelli statici e dinamici vengono creati in parallelo
  • L’utente è continuamente impegnato a dare feedback
19
Q

Caratteristiche principali del RUP?

A
  • Iterativo e incrementale
  • Enfasi sul modello piuttosto che sul linguaggio naturale
  • Centrato su architettura
20
Q

Quali sono i principi del processo Scrum?

A

E’ un processo iterativo basato sul controllo dello stato di avanzamento, i principi essenziali sono:

  • Visibilità: gli aspetti significativi del processo di sviluppo devono essere visibili a tutti
  • Ispezione: poter ispezionare frequentemente il lavoro prodotto per controllare che si sta procedendo verso gli obiettivi posti
  • Adattamento: se si sta deviando dagli obiettivi, occorre un adattamento per minimizzare altre deviazioni
21
Q

Quali sono i ruoli nello Scrum?

A
  • Product Owner: si occupa della definizione delle caratteristiche del progetto da sviluppare e gestisce il Product Backlog
  • Team: dedicato allo sviluppo e al rilascio del prodotto attraverso incrementi successivi
  • ScrumMaster: controlla che lo SCRUM venga applicato correttamente e supporta sia il team che il PO
22
Q

Quali sono le fasi dello SCRUM?

A
  1. Inserire i requisiti nel product backlog
  2. Pianificazione dello sprint
  3. Produzione di uno sprint backlog
  4. Esecuzione giornaliera di un daily scrum durante tutto lo sprint
  5. Revisione dello sprint una volta concluso
  6. Tornare al pt. 2
23
Q

Cos’è lo sprint nell’ambito SCRUM?

A

E’ una iterazione durante lo SCRUM che ha come obiettivo quello di portare a termine i requisiti prefissati nello sprint backlog

24
Q

Cos’è un sistema?

A

Un sistema è una collezione significativa di componenti che lavorano insieme per realizzare un obiettivo comune

25
Q

Quali categorie di sistemi ci sono?

A

Sistemi tecnico-informatici

  • includono hardware e software
  • non includono gli operatori e i processi operazionali
  • il sistema non conosce lo scopo del suo utilizzo

Sistemi socio-tecnici

  • includono uno o più sistemi tecnici, ma anche processi operazionali e operatori
  • sono fortemente condizionati da politiche aziendali e regole
26
Q

Caratteristiche dei sistemi socio-tecnici?

A
  • Proprietà emergenti: volume, affidabilità, protezione, riparabilità, usabilità
    possono essere misurate solo sul sistema finale
  • Non-determinismo
    visto che il risultato dipende da operatori umani il risultato, partendo da un certo input, può essere diverso di volta in volta
  • Complesso legame tra i sistemi e gli obiettivi aziendali
27
Q

Quali proprietà sono complicate da misurare?

A

Sicurezza e protezione, infatti queste si dicono di tipo “non deve accadere”

28
Q

Cosa sono i sistemi socio-tecnici?

A

Sono sistemi pensati per raggiungere obiettivi aziendali o organizzativi, è necessario che tutti i componenti comprendano a fondo l’ambiente del sistema per essere efficiente

29
Q

Di che tipo possono essere i sistemi critici?

A

Sistemi Safety-critical
(es. impianto di produzione chimica)
I fallimenti possono risultare in perdite di vite umani, infortuni o seri danni ambientali

Sistemi Mission-critical
(es. sistema di navigazione di un veicolo spaziale)
I fallimenti possono causare un fallimento di attività e obiettivi diretti

Sistemi Business-critical
(es. SW per la gestione dei clienti di una banca)
I fallimenti possono risultare in perdite di denaro sostenute

30
Q

Che fallimenti può avere un sistema socio-tecnico?

A
  • Fallimenti Hardware
  • Fallimenti Software
  • Errori Operativi
31
Q

Da cosa dipende la fidatezza in un sistema?

A
  • Disponibilità
  • Affidabilità
  • Sicurezza
  • Protezione
32
Q

In cosa consiste la disponibilità in un sistema?

A

E’ la capacità del sistema di fornire servizi quando richiesto

33
Q

In cosa consiste la affidabilità in un sistema?

A

E’ la capacità del sistema di fornire servizi come specificato

34
Q

In cosa consiste la sicurezza in un sistema?

A

E’ la capacità del sistema di lavorare senza rischiare fallimenti catastrofici

35
Q

In cosa consiste la protezione in un sistema?

A

E’ la capacità del sistema di proteggersi contro intrusioni accidentali o volontarie

36
Q

Oltre alle proprietà che conferiscono fidatezza, quale altre esistono?

A
  • Riparabilità
  • Mantenibilità
  • Sopravvivenza
  • Tolleranza dell’ errore
37
Q

Cosa sono i sistemi critici?

A

Un sistema critico è un generico sistema che, in caso di fallimento nel suo funzionamento, può provocare danni non considerati accettabili

38
Q

Da cosa dipendono le economie di fidatezza?

A

Siccome il costo dei fallimenti potrebbe essere nettamente superiore ai costi di fidatezza, a volte è conveniente spendere di più pur di rendere il sistema più fidato.
In genere, per un normale sistema di business, basta una fidatezza moderata