ing software VERSIONE 2 Flashcards

1
Q

classi appartenenti al metamodello del DIAGRAMMA DELLE CLASSI? dinne almeno 5

A

dipendenza
classe
attributo
operazione
associazione
aggregazione
composizione
generalizzazione
pacchetto

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

classi presenti nel metamodello di un DIAGRAMMA DEGLI STATI? dinne almeno 5

A

-evento
-azione
-attività
-transizione
-stato
-stato composto

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

QUALITA’ DEL SOFTWARE TRASPARENZA?

A

La trasparenza è una qualità di processo, un processo di produzione software si dice trasparente se permette di capire il suo stato attuale e tutti i suoi passi.

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

QUALITA’ DEL SOFTWARE CORRETTEZZA?

A

La correttezza è una qualità esterna relativa al prodotto, risulta se il software rispetta le specifiche di progetto.

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

QUALITA’ DEL SOFTWARE “facilità di manutenzione”?

A

se permette ricerca facile di errori
se riesce a gestire facilmente ERRORI PERFETTIVI ed ERRORI EVOLUTIVI

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

il metodo FUNCTION POINTS per quali progetti viene utilizzato per misurare?

A
  • progetti di sviluppo
    -progetti di manutenzione evolutiva
    -applicazione esistente(calcola i FP “installati”)

in generale, viene usato per misurare durante TUTTO il tempo di vita di un applicazione

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

due tipi di FUNZIONI TIPO DATI?

A

-ILF
-EIF

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

ILF?

A

File interno logico ILF
è un gruppo di dati o informazioni di controllo logicamente collegati e
riconoscibili dall’utente che sono mantenuti all’interno dei confini
dell’applicazione

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

EIF?

A

File esterno di interfaccia EIF
è un gruppo di dati o informazioni di controllo logicamente collegati e
riconoscibili dall’utente che sono referenziati dall’applicazione ma sono
mantenuti all’interno dei confini di un’altra applicazione

Questo significa che un EIF contato per un’applicazione deve essere un ILF in
un’altra applicazione

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

FUNZIONI DI TIPO TRANSAZIONE?

A

EI
EO
EQ

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

il NUMERO TOTALE DEI FUNCTION POINTS FP viene moltiplicato per qualcosa?

A

per un “fattore di aggiustamento”
basato su 14 caratteristiche del sistema
tra 0.65 e 1.35, poi sommato con il TDI

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

cos’è il NUMERO CICLOMATICO di un grafo fortemente connesso?

A

è il numero minimo di archi per trasformarlo in un albero
= e - n + 1
(e è il numero di archi, n è il numero dei nodi)

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

cos’è il NUMERO CICLOMATICO di un programma?

A

è misura della complessità del suo flusso di controllo; è il numero ciclomatico del grafo modificato v(G) ed esprime il NUMERO DI CAMMINI LINEARMENTE INDIPENDENTI NEL GRAFO DI CONTROLLO
v(G) = e - n + 2

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

per la misurazione del software, cos’è il COnstructive COst MOdel?

A

il COCOMO
1)calcola una stima iniziale dei costi di sviluppo in base alla dimensione del software(KDSI = numero di righe di codice scritte).
2) poi migliora la stima in base ad una serie di parametri
(in base a categoria di difficoltà del software(3 difficoltà) )
infine fa applicazione dei stimatori di costo

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

Si spieghi (indicando anche alcuni esempi) la differenza tra le fonti di costo ed i fattori di costo nell’ambito della MISURAZIONE DEL SOFTWARE

A

Le finti di costo sono i costi delle risorse per lo sviluppo del software: costo del personale tecnico, costo del personale di supporto, costo delle risorse informatiche e costi generali della struttura.
I fattori di costo sono: numero di istruzioni da codificare, capacità motivazione e coordinamento degli addetti allo sviluppo, complessità del programma e caratteristiche dell’ambiente di sviluppo.

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

Nell’ambito della misurazione del software, si elenchino i principali fattori che ne determinano il COSTO DEL SOFTWARE

A

Nel ciclo di vita del software la misurazione serve a prevedere o stimare tempi di consegna, costo di lavorazione, qualità del prodotto.
La stima dei costi dipende, oltre dalle fonti di costo (costo delle risorse per lo sviluppo), anche da fattori di costo.

17
Q

Si elenchino e si discutano brevemente 3 QUALITA’ DEL SOFTWARE

A

-facilità d’uso
-affidabilità software
-produttività = efficienza nella produzione software

18
Q

Si illustri il PRINCIPIO DI MODULARITA’ commentandone i benefici sullo sviluppo del software

A

La modularità ha la capacità: di scomporre un sistema complesso in parti più semplici, la capacità di modificare un sistema modificando soltanto un piccolo insieme
delle sue parti, di comporre un sistema a partire dai moduli esistenti, di modificare un sistema modificando solo un piccolo insieme delle sue parti.

linee guida:
- Tutti i servizi devono essere dello stesso modulo.
- Ogni modulo è indipendente.

19
Q

Si definisca la QUALITA’ DEL SOFTWARE RIUSABILITA’ un software è riusabile se può essere usato, in tutto o in parte, per costruire nuovi sistemi e si spieghi in quali modi essa è incoraggiata dal paradigma a oggetti

A

un software è riusabile se può essere usato, in tutto o in parte, per costruire nuovi sistemi.
L’APPROCCIO AD OGGETTI, grazie all’ereditarietà, permette di aggiungere nuove caratteristiche a un sistema riducendo i costi di manutenzione (estendibilità) e di costruire nuove funzionalità a partire dall’esistente (riusabilità). (a differenza dell’APPROCCIO FUNZIONALE)

20
Q

QUALITA’ del software: RIUSABULITA’,

A

La riusabilità è una qualità interna relativa al prodotto, un software è riusabile se può essere usato, in tutto o in parte, per costruire nuovi sistemi.

21
Q

Si spieghi il significato del PRINCIPIO DI ANTICIPAZIONE dei cambiamenti nell’ingegneria del software

A

la capacità di prevedere i cambiamenti a cui il software sarà sottoposto durante il suo ciclo di vita determina la sua manutenzione e la sua riusabilità.
Lo scopo è di rendere il progetto facilmente modificabile.

22
Q

Si definisca il numero ciclomatico del grafo di controllo di una procedura, si enunci il teorema di Mills.
poi se il programma ha procedure al suo interno?

A

Il teorema di Mills: v(G)=d+1; dove v(G) è il numero ciclomatico del grafo G modificato, d è il numero dei punti di decisione del programma.

Se il programma ha procedure al suo interno, il numero ciclomatico dell’intero grafo è dato dalla somma dei numeri ciclomatici dei singoli grafi indipendenti v(G)=e-n+2p; dove e sono gli archi, n i nodi e p il numero di grafi (procedure) indipendenti.

23
Q

Si spieghi la differenza tra un SOFTWARE CORRETTO e un SOFTWARE ROBUSTO

A

Un software corretto rispetta le specifiche di progetto mentre è robusto se si comporta in modo ragionevole anche in circostanze non previste dalle specifiche di progetto.
(la robustezza tratta pure i casi non trattati)

24
Q

Si elenchino e si definiscano almeno due QUALITA’ DEL SOFTWARE relative al processo

A

Le qualità relative al processo riguardano i metodi utilizzati durante lo sviluppo del software e sono:
-robustezza,
-verificabilità
-produttività
-tempestività
-trasparenza.
( la tempestività misura la capacità del processo di produzione del software di rispettare i tempi di consegna)
( Un processo è trasparente se permette di capire il suo stato attuale e tutti i suoi passi)

25
Q

Si definiscano le seguenti QUALITA’ software: EFFICIENZA, PORTABILITA’, INTEROPERABILITA’

A

Sono tutte qualità ESTERNE RELATIVE AL PROGETTO, quindi basate sulle caratteristiche stesse del software.
(La portabilità si presenta se il software può funzionare su più piattaforme.
L’interoperabilità fa riferimento all’abilità di un sistema di coesistere e cooperare con altri sistemi)

26
Q

Si elenchino e si illustrino brevemente tutte le FASI DEL CICLO DI VITA del software

A

Pianificazione: Definizione degli obiettivi e dei requisiti del progetto.

Analisi dei Requisiti: Raccolta, analisi e documentazione dei requisiti del software.

Progettazione: Creazione di un design dettagliato del sistema.

Implementazione: Scrittura del codice sorgente del software.

Testing e Validazione: Verifica e validazione del software attraverso una serie di test.

Rilascio: Distribuzione del software agli utenti finali.

Manutenzione e Miglioramento: Correzione di bug, aggiornamenti e miglioramenti continui.

27
Q

Si spieghi cos’è il METODO COCOMO e come può essere utilizzato

A

Il COCOMO è acronimo di COnstructive COst MOdel.
Si calcola una stima iniziale dei costi di sviluppo in base alla dimensione del software da produrre, poi la si migliora sulla base di un insieme di parametri.
La dimensione viene spesso misurata in base a linee di codice sorgente.

28
Q

Si descriva brevemente il RUOLO del METODO FUNCTION POINTS

A

per calcolare complessità e dimensione del software.(durante il suo ciclo di vita)
usi:
- uno strumento per misurare un prodotto; - un veicolo per stimare costi e risorse necessarie per lo sviluppo e la manutenzione del software
- un fattore di normalizzazione per effettuare confronti sul software

29
Q

Si descriva brevemente il FUNZIONAMENTO del METODO FUNCTION POINTS

A

Il metodo di conteggio consiste nell’identificare 5 tipi di funzioni (di tipo dati e di tipo transazione), una volta identificate a ciascuna si assegna un peso.
la somma dei pesi costituisce il numero di Function Pionts. tale numero moltiplicato per un fattore di aggiustamento è il numero dei function points pesati.

30
Q

e si spieghi il RUOLO del NUMERO CICLOMATICO nell’ambito della misurazione del software

A

, il numero ciclomatico indica quanti percorsi diversi è possibile seguire attraverso il codice sorgente, tenendo conto delle strutture di controllo come i cicli (loop) e le condizioni
- Valutazione della Complessità
- Identificazione dei Punti Critici
piu è alto più è complesso il flusso di controllo del programma

31
Q

Si elenchino e si illustrino brevemente le FASI DEL CICLO DI VITA DEL SOFTWARE, SUCCESSIVE ALL’INSTALLAZIONE

A

Successivamente alla fase di installazione, in cui il sistema viene installato e configurato, abbiamo le fasi di:
- collaudo del sistema installato
- esercizio
- diagnosi
- manutenzione ed evoluzione.

32
Q

il primo sostituisce una funzionalità da 100 FP con una da 120 FP
come calcolare quella netta?

A

valore netto = 120 - 100
valore finale = [somma netta] + valore netto

33
Q

qualità del software verificabilità?

A

la facilità con la quale si possono valutare le altre qualità del software stesso

34
Q

manutenzione del software evolutiva

A

aggiunge funzionalità

35
Q

QUALITA SOFTWARE efficienza?

A

per limitare gli accessi alla memoria secondaria

36
Q

La definizione dell’interfaccia dei moduli deve rispettare il concetto di..?

A

INFORMATION HIDING:
evita di mostrare i dettagli implementativi
in modo da poter modificare il modulo senza compromettere il resto del sistema

37
Q
A