Esempi di temi di esame_V31 - Università degli studi di Bergamo

Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
ESEMPI DI TEMI D’ESAME
1
TEMA 1 ......................................................................................................................... 2
2
TEMA 2 ......................................................................................................................... 3
3
TEMA 3 ......................................................................................................................... 4
4
TEMA 4 ......................................................................................................................... 5
5
TEMA 5 ......................................................................................................................... 6
6
TEMA 6 ......................................................................................................................... 7
7
TEMA 7 ......................................................................................................................... 8
8
TEMA 8 ......................................................................................................................... 8
9
TEMA 9 ....................................................................................................................... 10
10 TEMA 10 ..................................................................................................................... 11
11 TEMA 11 ..................................................................................................................... 12
12 TEMA 12 ..................................................................................................................... 13
13 TEMA 13 ..................................................................................................................... 14
14 TEMA 14 ..................................................................................................................... 14
15 TEMA 15 ..................................................................................................................... 16
16 TEMA 16 ..................................................................................................................... 17
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
1 Tema 1
PARTE A
T1 - Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente processo:
Il processo di produzione di un prodotto software è costituito dalle seguenti fasi sequenziali: Analisi dei requisiti e specifica, Analisi
delle alternative “make or buy”, Progettazione architetturale, Sviluppo e Integrazione, Consegna.
La fase di sviluppo e integrazione è costituita da tre fasi concorrenti: acquisizione e adattamento prodotti, Sviluppo di codice ad hoc,
adattamento delle applicazioni esistenti. Le tre fasi terminano con un’attività di integrazione complessiva.
Ogni fase rilascia uno specifico documento. La disponibilità del documento di analisi dei requisiti e specifica attiva la fase di analisi
delle alternative e, concorrentemente, una fase di preparazione del piano di collaudo. La disponibilità del piano di collaudo e del
prodotto software permette l’esecuzione del collaudo ed il rilascio del rapporto di collaudo.
T2 - Processi di sviluppo
Spiegate le problematiche ed il contenuto del processo a spirale.
T3 - Analisi dei requisiti
Definite un indice tipo di documento di analisi dei requisiti ed illustratene brevemente i contenuti.
T4 - Reti di Petri ed automi a stati finiti
Illustrate le differenze (dal punto di vista dell’utilizzo come linguaggi di modellazione di prodotti software) tra una Rete di Petri ed un
Automa a Stati Finiti.
T5 – Studio di fattibilità
Spiegate il ruolo ed il contenuto di uno studio di fattibilità.
T6 – Validazione di un documento di analisi dei requisiti
Cosa significa validare un documento di analisi dei requisiti ?. Quali tecniche si possono utilizzare?
PARTE B
T1 - Progettazione architetturale
Progettare l'architettura di sistema e l'architettura software della seguente applicazione:
Sistema di gestione di una rete di punti vendita
Scopo dell'applicazione è la raccolta dei consuntivi giornalieri di vendita da una rete di punti vendita. Il sistema deve soddisfare le
seguenti specifiche:
Ogni punto vendita è dotato di un server connesso alle proprie casse. Il server acquisisce su una banca dati locale ogni transazione di
vendita che avviene presso le casse. Giornalmente, dopo la chiusura del punto vendita, il server si connette al sistema centrale di
gestione e trasmette il consuntivo di vendita della giornata.
Il sistema centrale, installato nel capoluogo di regione, gestisce tutti i punti vendita regionali. Il sistema centrale raccoglie tutti i dati in
una banca dati centrale e fornisce le seguenti funzioni: rapporto di vendita generato con periodicità settimanale; elaborazione mensile
dei dati ed invio del file risultante al sistema di gestione della contabilità; funzioni di amministrazione e gestione della banca dati.
T2 – Requisiti non funzionali e progettazione
Relativamente al sistema sopra progettato definite un insieme di possibili chiarimenti che richiedereste al fine di identificare i requisiti
di Efficienza e di Affidabilità.
T3 – Caso di test
Un piano di test è costituito da più casi di test. Spiegate la struttura tipica di un caso di test
T4 – Stima di risorse in un progetto software
Presentate e discutete alcune tecniche di stima di risorse in un progetto software
T5 – Sistema Qualità
Illustrate in modo sintetico il contenuto ed il ruolo di un sistema qualità in un’azienda che sviluppa software.
T6 – Gestione delle modifiche
Descrivete i problemi che devono essere trattati in un processo di gestione delle modifiche di prodotti software
2
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
2 Tema 2
PARTEA
T1 - Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente processo di gestione delle segnalazioni di malfunzionamento di un prodotto
software: Il personale del servizio clienti riceve le segnalazioni da parte dei clienti via posta elettronica o telefono. Il personale
analizza e seleziona le segnalazioni. Quelle che non riguardano malfunzionamenti software sono inserite in un data base di assistenza
clienti, mentre le segnalazioni relative a tutti i malfunzionamenti software sono classificate per gravità e inserite nel data base di
gestione malfunzionamenti software. Inoltre, ogni volta che una segnalazione di malfunzionamento software è classificata come
“bloccante”, il personale attiva il responsabile di prodotto. Il responsabile di prodotto contatta il cliente ed interagisce per risolvere il
problema. Se necessario avvia il processo di modifica che eseguirà il check out del componente da modificare dal data base del
software, eseguirà la modifica e terminerà eseguendo un check in, un aggiornamento del data base di gestione malfunzionamenti
software ed un’emissione di una nuova versione per il cliente. Periodicamente il responsabile di prodotto analizza il contenuto del
data base di gestione malfunzionamenti software, estrae un lotto di segnalazioni e le assegna ad un gruppo di sviluppo. Il gruppo di
sviluppo esegue il processo di modifica (check out dei componenti da modificare, esecuzione della modifica, check in, aggiornamento
del data base di gestione malfunzionamenti software).
T2 – Modellazione dei processi
Spiegate perché è utile modellare i processi di un’organizzazione di sviluppo software
T3 - Manutenibilità e scenari
Illustrate il requisito non funzionale “Manutenibilità” e spiegate come il concetto di scenario possa essere utilizzato nella specifica
della manutenibilità di un prodotto software.
T4 - Requisiti non funzionali
Data la seguente specifica:
Scopo dell'applicazione è l’acquisizione di dati relativi alla qualità dell'aria. Il sistema è costituito da un server e due postazioni di
lavoro ed è connesso via rete locale ad un sistema di acquisizione dati che raccoglie dati di inquinamento via radio da un insieme di
centraline installate sul territorio. I dati acquisiti periodicamente sono memorizzati in banca dati ed elaborati attraverso un modello
matematico che produce, se il caso, le opportune segnalazioni di allarme.
Indicate quali requisiti non funzionali relativi all’”efficienza” inserireste nel documento di specifica, chiedendo gli opportuni
chiarimenti al cliente.
T5 – Modularizzazione e Information Hiding
Illustrate i concetti di Modularizzazione e Information Hiding
T6 – Viste architetturali di implementazione
Presentate almeno due possibili viste architetturali di implementazione
PARTE B
T1 - Progettazione architetturale
Progettare l'architettura di sistema e l'architettura software della seguente applicazione:
Sistema di scambio elettronico di documenti tra una azienda cliente ed i suoi fornitori. L’applicazione, da realizzare in ambiente
Web, permette all’azienda cliente di raccogliere da ogni fornitore qualificato i “Listini articoli”. Ogni listino articoli è costituito da un
elenco di prodotti. Ad ogni prodotto è associato un insieme di caratteristiche tecniche ed un prezzo unitario. Ogni fornitore si può
collegare al sito web dell’azienda cliente e utilizzare le seguenti funzioni: creazione di un nuovo listino; cancellazione di un listino
esistente; caricamento/modifica di un listino esistente; creazione e caricamento, attraverso l’invio di un foglio excel, di un listino
nuovo. Tutti i listini saranno memorizzati in una banca dati. Nell’azienda cliente, ogni responsabile di un insieme di fornitori potrà
accedere alla banca dati attraverso la intranet aziendale, leggere i listini di competenza e definirne lo stato di approvazione o non
approvazione. Nel caso di non approvazione, l’applicazione invierà un mail di avviso al relativo fornitore. Con periodicità giornaliera,
una procedura, sviluppata sul sistema gestionale AS400, raccoglierà dalla banca dati i listini nuovi (o che hanno subito variazioni) e
sono stati approvati e aggiornerà la banca dati gestionale preesistente su AS400.
T2 – Stili di controllo
Spiegate i seguenti stili di controllo basati su eventi: 1) Selective Broadcast, 2) Interrupt-driven
T3 – Scenari e test
Spiegate l’utilizzo dell’approccio per scenari in un piano di collaudo ed accettazione di prodotto
T4 – Piano temporale di progetto
Descrivete che cosa è un piano temporale di progetto ed illustrate brevemente le tecniche che si possono utilizzare per definire un
piano temporale
T5 – Diagrammi di sequenza e diagrammi di stato in UML
Spiegate il significato, l’utilizzo e la differenza tra i diagrammi di sequenza e diagrammi di stato in UML
T6 – Gestione della conoscenza
Illustrate la differenza tra “casi di progettazione” e “pattern di progettazione” in un processo di gestione della conoscenza relativa alla
progettazione di software.
3
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
3 Tema 3
PARTE A
T1 - Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente flusso informativo tra uffici:
L’organizzazione XX è composta da un ufficio provinciale e tre uffici periferici. Ogni ufficio periferico gestisce localmente le
richieste degli utenti fornendo la relativa risposta. Nel caso una richiesta richieda l’autorizzazione del responsabile provinciale, la
richiesta è inoltrata all’ufficio provinciale. Se la richiesta è autorizzata. L’ufficio periferico riceve il documento di richiesta firmato
dal responsabile. In caso contrario l’ufficio periferico riceve un mail che spiega le ragioni della non autorizzazione. L’ufficio
periferico trasmette di conseguenza l’esito all’utente. Sia gli uffici periferici che l’ufficio provinciale mantengono un archivio delle
comunicazioni ricevute e inviate. Periodicamente ogni ufficio periferico trasmette i dati del proprio archivio all’ufficio provinciale,
T2 – Processi
Spiegate la relazione tra fase di specifica dei requisiti e fase di progettazione, in particolare relativamente allo sviluppo di prodotti
software di significative dimensioni.
T3 - Efficienza
Illustrate il requisito non funzionale “Efficienza” e indicate quali requisiti non funzionali relativi all’”efficienza” inserireste nel
documento di specifica, chiedendo gli opportuni chiarimenti al cliente, nel caso di sviluppo di un prodotto software di automazione
del processo descritto in T1.
T4 – Documento di specifica
Presentate i contenuti tipici di un documento di analisi dei requisiti e specifica.
T5 – Tipo di dati astratto
Illustrate il concetto di tipo di dati astratto
T6 – Viste architetturali
Presentate il concetto di viste architetturali e spiegatene l’utilità
PARTE B
T1 - Progettazione architetturale
Progettare l'architettura software della seguente applicazione:
Gestione della scheda cliente per un sistema di Customer Relationship Management
L’applicazione, da realizzare in ambiente Web, ha lo scopo di integrare i dati provenienti da un insieme di banche dati preesistenti in
ambienti tecnologici diversi, al fine di fornire alla rete di vendita uno stato aggiornato di ogni cliente (scheda cliente) ed un insieme di
applicazioni di supporto.
L’architettura progettata deve essere basata sullo stile architetturale a layer.
Le funzioni da rendere disponibili sono:
Raccolta dati dal sistema gestionale (Anagrafica cliente, ordini emessi, clausole contrattuali, stato dei pagamenti,...)
Raccolta dati da una banca dati che contiene i rapporti di visita dei venditori presso il cliente.
Raccolta dati da una banca dati che contiene l’analisi di mercato e dei potenziali concorrenti.
Integrazione dei dati
Applicazione di generazione della “scheda cliente” che contiene l’insieme delle informazioni utili per lo specifico cliente.
Applicazione di analisi degli ordini emessi dalla popolazione dei clienti (importo per tipo cliente, area geografica,...).
Applicazione di generazione di report sintetici per la presentazione dello stato della popolazione dei clienti.
T2 – Stili di controllo
Presentate alcuni stili di controllo.
T3 –UML
Presentate un diagramma UML per ogni vista architetturale.
T4 –Test
Illustrate gli elementi che compongono un caso di test.
T5 – Verifiche di progetto
Presentate possibili tecniche di verifica di un progetto software
T6 – WBS
Scrivete una possibile WBS per il progetto di cui al punto T1
4
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
4 Tema 4
PARTE A
T1 - Modellazione con le Reti di Petri
Scrivere, mediante Reti di Petri interpretate i seguenti tre modelli di processi di sviluppo:
Processo di sviluppo software lineare; Processo di sviluppo software per integrazione; Processo di sviluppo di sistema
Discutere brevemente caratteristiche ed applicabilità dei tre processi
T2 – Specifiche funzionali e non funzionali. Esempio di specifica
Spiegate la differenza tra specifiche funzionali e non funzionali.
Dovete specificare un sistema di raccolta dati da una rete di sensori e memorizzazione dei dati in una banca dati. Quali requisiti non
funzionali relativi all’efficienza ritenete di dover definire? Quali informazioni vi servono?
T3 - Analisi dei requisiti: obiettivi e contesto
Spiegate l’utilità della definizione degli obiettivi e dell’analisi del contesto in un documento di analisi dei requisiti per un prodotto
software.
T4 – Valutazione e miglioramento dei processi
Spiegare scopo e caratteristiche delle attività di valutazione e miglioramento dei processi e ruolo dei modelli di maturità.
T5 – Viste architetturali
Presentare il concetto di vista architetturale e le principali viste utilizzate nella progettazione.
T6 – UML e vista dinamica
Illustrate una o più tecniche di modellazione utilizzate in UML per la progettazione della vista dinamica di un prodotto software.
PARTE B
T1 - Progettazione architetturale
Progettare l'architettura di sistema e l'architettura software (incluse proposte di scelta delle tecnologie software) della seguente
applicazione:
Sistema di gestione della conoscenza progettuale
Una società di progettazione mantiene un sistema documentale distribuito di gestione dei propri progetti. Inoltre mantiene un data
base centrale di casi esemplari di progettazione a disposizione dei progettisti.
La società è costituita da cinque sedi di cui una centrale. Ogni ufficio mantiene un proprio data base di progetti (ogni progetto è
costituito da un insieme di documenti progettuali) ed ha a disposizione le seguenti funzioni:
-Gestione ed amministrazione della base dati
-Navigazione della stessa in ambiente Intranet
Periodicamente un responsabile di ogni ufficio seleziona i progetti più significativi e li invia ad un server ospitato presso la sede
centrale attraverso una funzione che supporta l’utente nella definizione di un insieme di metadati utili per la classificazione dei
progetti. I documenti ricevuti sono caricati automaticamente in un data base temporaneo. Il servizio centrale esamina periodicamente i
documenti ricevuti, li seleziona, li classifica e li inserisce nella base di conoscenza progettuale. Il servizio centrale ha a disposizione
strumenti di gestione ed amministrazione della base dati. Una funzione automatica esplora mensilmente il data base, estrae una
descrizione dei nuovi contenuti ed invia l’elenco via email agli uffici di interesse delle sedi.
Tutte le sedi hanno a disposizione un’applicazione in ambiente Intranet per la navigazione nella base di conoscenza progettuale
T2 – Checklists e verifiche di progetto
Illustrare l’utilizzo delle checklists nelle verifiche di progetti software
T3 – Modello di qualità ISO 9126
Presentare il modello di qualità ISO 9126
T4 – Strategia, piano e caso di test
Presentare significato e tipi di contenuti di una strategia di test, un piano di test ed un caso di test
T5 – WBS
Scrivete una possibile WBS per il sistema progettato al punto T1
T6 – Gestione delle segnalazioni di errore
Descrivete problemi e tipiche soluzioni del processo di gestione delle segnalazioni di errore di prodotti software
5
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
5 Tema 5
PARTE A
T1 - Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente processo:
Il processo di produzione di un sistema ICT è costituito dalle seguenti fasi iniziali: Analisi dei requisiti e specifica di sistema,
Progettazione architetturale di sistema, Analisi dei prodotti software di mercato.Successivamente sono attivati i seguenti processi
concorrenti: Approvvigionamento dell’hardware, Approvvigionamento dei prodotti software di mercato, Sviluppo di software ad hoc.
Lo sviluppo di software ad hoc segue un processo lineare. Al termine dei tre processi concorrenti sono realizzate le fasi di
Integrazione, Collaudo e Consegna.
T2 – Specifiche non funzionali. Analisi di adeguatezza
Commentate l’adeguatezza delle seguenti specifiche non funzionali relative ad un sistema di acquisizione dati:
− In numero massimo di sensori da acquisire è 200.
− L’applicazione deve supportare un flusso adeguato di dati
− L’interfaccia utente deve essere di facile utilizzo
Nel caso di specifiche non adeguate identificate possibili richieste di chiarimento da porre al committente.
T3 - Prototipi
Spiegate l’utilizzo di prototipi nella fase di analisi dei requisiti
T4 – Modelli di maturità
Spiegate scopo e caratteristiche dei modelli di maturità.
T5 - Studio di fattibilità
Spiegate le finalità ed il contenuto di uno studio di fattibilità e la relazione con le fasi di sviluppo di un prodotto software.
T6 – Utilizzo di scenari / casi d’uso
Illustrate le situazioni in cui è conveniente utilizzare la tecnica di analisi dei requisiti basata su scenari / casi d’uso. Discutete anche
eventuali controindicazioni.
PARTE B
T1 - Progettazione architetturale
Progettate l'architettura di sistema e l'architettura software della seguente applicazione:
Sistema di gestione della sicurezza di strutture di ingegneria civile
Scopo dell'applicazione è il monitoraggio e la gestione delle condizioni di sicurezza di una struttura di ingegneria civile (ad esempio
una diga o un ponte). La struttura è strumentata con una serie di sensori.
Sono richieste le seguenti funzionalità:
− Acquisizione periodica dei dati
− Interpretazione e generazione di allarmi
− Inserimento dei dati acquisiti in una banca dati
− Interfaccia persona macchina di presentazione allarmi e navigazione nei dati raccolti
− Gestione dati della banca dati
− Generazione periodica automatica di rapporti di sintesi
− Spedizione periodica di dati di sintesi all’autorità responsabile via Internet
T2 – Architettura e viste architetturali
Spiegate i concetti di architettura software e di viste architetturali
T3 – Tipi di dato astratto
Spiegate il concetto di tipo di dato astratto
T4 – Strategia, piano e caso di test
Spiegate la funzione e la struttura di una strategia di test, un piano di test ed un caso di test.
T5 – Oracoli
In un caso di test, è necessario che un oracolo restituisca una risposta vero/falso? Se la risposta restituita non è vero/falso come si può
operare per decidere la corretta esecuzione del caso di test?
T6 – WBS
Scrivete una possibile WBS per il sistema progettato al punto T1
6
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
6 Tema 6
PARTE A
T1 - Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente processo di preparazione ed emissione di un documento:
Il documento è preparato ed emesso da tre uffici.
L’ufficio A attiva il processo avviando due attività concorrenti: preparazione del documento da parte dell’ufficio B e preparazione
degli allegati (da parte dell’ufficio A stesso).
L’ufficio B prepara il documento, lo verifica, lo emette per approvazione all’ufficio A
L’ufficio A esamina per approvazione il documento; se non è approvato, lo restituisce con commenti all’ufficio B che dovrà
modificarlo e risottometterlo per approvazione all’ufficio A; se approvato, lo integra con il documento di allegati che è stato prodotto
e lo trasmette per l’emissione all’ufficio C che lo emette.
T2 – Tecniche di analisi dei requisiti
Presentate brevemente e confrontate le seguenti tecniche di analisi dei requisiti:
- Stesure di un elenco strutturato di requisiti funzionali e non funzionali
- Scenari (casi d’uso)
- Modelli
T3 – Esempio di requisiti non funzionali-efficienza
Data un’applicazione fondata su una base di dati, presentate i requisiti non funzionali relativi all’efficienza che vorreste trattare nel
relativo documento di analisi dei requisiti
T4 – Qualità di processo e prodotto
Spiegate la differenza tra qualità di processo e prodotto nello sviluppo software
T5 – Analisi dei requisiti e progettazione
Spiegate le relazione possibili tra le fasi di analisi dei requisiti e progettazione nello sviluppo di un prodotto software
T6 – Reti di Petri e UML
Confrontate le tecniche di modellazione del comportamento (vista dinamica) di Reti di Petri (interpretate) e UML
PARTE B
T1 - Progettazione architetturale
Progettate l'architettura di sistema e l'architettura software della seguente applicazione:
Sistema di acquisizione dati da un processo industriale continuo
L’applicazione acquisisce in continuo un insieme di dati da un processo industriale, li elabora e estrae una rappresentazione grafica ed
uno stato di corretto funzionamento / allarme che presenta su un monitor. In caso di allarme grave, è attivata una segnalazione visiva e
acustica. L’elaborazione dei dati avviene sulla base di un insieme di parametri predefiniti.
Il flusso di dati acquisiti dovrà essere quantificato ma è comunque elevato e soggetto a variabilità (in particolari condizioni
l’acquisizione dovrà essere più frequente per un periodo di tempo definito).
I dati acquisiti sono inoltre memorizzati in una banca dati che dispone delle seguenti funzioni:
- Gestione (modifica, cancellazione, visualizzazione…)
- Elaborazione dei dati acquisiti tramite un modello matematico che estrae, se il caso, nuovi parametri per l’elaborazione in linea
durante l’acquisizione.
- Estrazione di report.
T2 – Architettura e processi di integrazione
Presentate il concetto di architettura software ed illustratene il ruolo in un contesto di processo di sviluppo software che preveda non
solo la codifica di nuovi componenti, ma anche l’integrazione di componenti preesistenti e acquisiti dal mercato.
T3 – Processo di gestione dei malfunzionamenti
Illustrate un tipico processo di gestione delle segnalazioni di malfunzionamenti in una organizzazione di sviluppo software
T4 –Definizione di una strategia di test
Un prodotto software è costituito da cento funzioni. Dieci di esse sono particolarmente complesse. In particolare una è
combinatorialmente complessa e critica per i danni economici che possono derivare da un malfunzionamento. Presentate una bozza di
possibile strategia di test di tipo funzionale.
T5 – Modelli di qualità di prodotto software
Presentate il concetto di modello di qualità software, i suoi possibili utilizzi e lo specifico modello della norma ISO9126
T6 – WBS e piano dei tempi / costi
Spiegare il ruolo della WBS nella stesura di un piano di tempi e costi per un progetto software.
7
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
7 Tema 7
PARTE A
T1 – Analisi dei requisiti
Dati i requisiti utente:
Scopo dell'applicazione è la gestione di una rete di distributori da parte di un produttore. Ogni distributore possiede un proprio sistema
di gestione su cui può essere installata un’applicazione d’interconnessione con il sistema centrale del produttore. Sulla rete locale del
produttore è già presente un server su cui è installato il database aziendale ed il sistema informativo gestionale. Un nuovo server
gestirà tutte le funzionalità di integrazione della rete di distributori, comunicando con il sistema informativo gestionale esistente. Il
nuovo software applicativo permetterà di gestire l’interconnessione con il sistema del distributore ed accedere alla banca dati locale
del distributore per raccogliere lo stato delle vendite e gli ordini. Il server centrale del produttore gestirà la connessione giornaliera
con i sistemi dei distributori (via Internet) e l’acquisizione delle vendite e degli ordinativi della giornata, la verifica dei dati, la
preelaborazione ed il caricamento in banca dati centrale. La presenza di dati non corretti relativi alle vendite darà origine alla
marcatura del lotto di dati nel data base ed a segnalazione su stampante. La presenza di ordini non corretti (es. incompleti) darà
origine alla marcatura dell’ordine nel data base ed a segnalazione su stampante. Ordini e vendite corretti sono inoltre inviati
automaticamente al sistema gestionale. Deve essere possibile interrogare e modificare interattivamente i dati della banca dati centrale
da utente ed inviare ordini al sistema gestionale su richiesta utente. Deve essere prodotto in automatico un report riassuntivo
settimanale.
Identificare il contesto ed estrarre un elenco di specifiche funzionali.
T2 – Specifiche non funzionali
Dato il testo precedente di requisiti utente
Ipotizzare possibili specifiche non funzionali di efficienza e manutenibilità da discutere con il committente.
T3 – Processi di sviluppo software e COTS
Presentare un processo di sviluppo adeguato per un sistema che include componenti applicativi di mercato (COTS)
T4 – Modelli di qualità di prodotto
Presentare il concetto di modello di qualità di prodotto software
T5 – Sistema qualità
Presentare in sintesi contenuto e ruolo di un sistema qualità per una software house
T6 – Reti di Petri e Automi a Stati Finiti
Confrontare le tecniche di modellazione basate su di Reti di Petri e Automi a Stati Finiti
PARTE B
T1 - Progettazione architetturale
Progettate l'architettura di sistema e l'architettura software della seguente applicazione:
Sistema di sorveglianza di un insieme di server
L’applicazione ha lo scopo di monitorare le operazioni di un insieme di server che gestiscono un sistema informativo. L’applicazione
acquisisce periodicamente lo stato di funzionamento di ogni server. Inoltre è acquisita, per ogni server una struttura di dati che
descrive il funzionamento delle applicazioni critiche che sono eseguite periodicamente sui server. L’applicazione, sulla base delle
informazioni raccolte, esegue una procedura decisionale il cui esito può essere la memorizzazione di una situazione considerata
interessante per analisi successive e anche l’invio di un allarme al sistemista. Deve essere messa anche a disposizione una funzione di
elaborazione, reporting e rappresentazione grafica basata su criteri di selezione interattivi delle situazioni memorizzate e la possibilità
di accedere ai dati elaborati e presentazioni grafiche via Internet.
T2 – Viste e architetture
Presentate brevemente le tipiche viste architetturali di un progetto software
T3 – Verifiche di progetto
Presentate il significato ed alcune tecniche di verifiche di progetto
T4 –Test di non regressione
Spiegare cosa è il test di non regressione
T5 – Copertura topologica
Presentate alcuni criteri di copertura topologica del test
T6 – Gestione della documentazione e configurazione di un prodotto software
Presentare brevemente i concetti chiave di gestione della documentazione e configurazione di un prodotto software
8 Tema 8
T1 (6 punti)- Progettazione architetturale
8
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
Progettare l'architettura di sistema e software della seguente applicazione:
Sistema di promozione delle vendite dei prodotti della società XX presso una catena di supermercati distribuita sul territorio nazionale
Presso ogni punto vendita di una catena di supermercati è realizzata una postazione con tre punti di accesso al pubblico, ognuno
realizzato con un PC. I clienti che hanno acquistato un prodotto della ditta XX, accedono al punto, forniscono un insieme di dati
anagrafici ed un codice ricevuto al momento dell’acquisto, e attivano una slot machine sullo schermo. Nel caso di vincita, il sistema
stampa un tagliando con il quale il cliente ha diritto ad uno sconto o può ritirare un premio.
Ogni postazione è connessa via Internet ad un server che gestisce il gioco. Il server è collocato presso la sede centrale nazionale e può
accedere al sistema informativo aziendale.
Il sistema mette a disposizione le seguenti funzioni:
− Calcolo centralizzato della lista sconti e premi per ogni punto vendita a partire dai dati memorizzati nel data base centrale delle
vendite (parte del sistema informativo esistente)
− Download della lista in ogni punto vendita
− Gestione del gioco presso il punto vendita
− Raccolta e centralizzazione periodica dei dati anagrafici e dei dati sugli sconti e premi distribuiti
− Caricamento periodico nel data base centrale delle vendite dei risultati della promozione
− Produzione di report di analisi dei risultati della promozione e spedizione degli stessi via mail alla società XX
− Funzione centrale di monitoraggio del funzionamento delle postazioni e della connessione con le stesse.
T2 (4 punti)- Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente processo di preparazione ed emissione di un documento di risposta ad una gara
(composto da tre parti: elaborato, allegati, documentazione legale).
L’ufficio Gare attiva il processo avviando tre attività concorrenti: preparazione dell’elaborato da parte dell’ufficio Tecnico,
preparazione degli allegati (da parte dell’ufficio Gare stesso) e preparazione della documentazione legale (da parte dell’ufficio
Legale). L’ufficio Tecnico e l’ufficio Legale preparano la propria parte di documento, lo verificano e lo emettono per approvazione
all’ufficio Gare. L’ufficio Gare esamina per approvazione ogni parte di documento ricevuta; se non è approvata, la restituisce con
commenti all’ufficio emittente che dovrà modificarla e risottometterla per approvazione all’ufficio Gare stesso. Quando tutte le parti
sono disponibili e approvate, l’ufficio Gare integra il documento finale e lo trasmette per autorizzazione alla Direzione.
T3 - Studio di fattibilità e processo di sviluppo
Spiegate gli scopi ed il contenuto di uno studio di fattibilità. Spiegate la differenza tra le attività di realizzazione di uno studio di
fattibilità e le fasi del conseguente processo di sviluppo del prodotto software.
T4 – Contenuto di un’analisi dei requisiti
Presentate un indice di un documento di analisi dei requisiti e descrivete in modo sintetico contenuto e ruolo di ogni capitolo.
T5 – Utilizzo degli scenari nella definizione dei requisiti di Manutenibilità
Spiegate il requisito non funzionale di “Manutenibilità” e spiegate come il concetto di scenario possa essere utilizzato nella specifica
della manutenibilità di un prodotto software.
T6 – Processi di progettazione
Illustrate i processi di progettazione per decomposizione, composizione e aggiunta e discutetene l’applicabilità.
T7 – Stili di controllo
Presentate alcuni stili di controllo.
T8 –Strategia di test
Un prodotto software è costituito da cinquanta funzioni interattive che operano su un data base comune. Alcune di esse sono
combinatorialmente complesse e critiche per i danni economici che possono derivare da un malfunzionamento.
1) Presentate una bozza di possibile strategia di test di tipo funzionale (tecniche di test e criteri di copertura).
2) Quale approccio utilizzereste per il test di accettazione presso il cliente?
T9 - Test funzionali, strutturali e interazione
Spiegate la differenza tra test funzionali e test strutturali e possibili interazioni tra i due tipi di test.
T10 – WBS e stima di risorse in un progetto software
Discutete la relazione tra la WBS di progetto e la stima delle risorse. Presentate e discutete alcune tecniche di stima di risorse in un
progetto software.
9
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
9 Tema 9
T1 (6 punti)- Progettazione architetturale
Progettare l'architettura di sistema e software della seguente applicazione:
Sistema automatico di gestione dei pedaggi di ingresso in un’area urbana
L’applicazione realizza un sistema di pagamento per l’ingresso delle automobili nel centro cittadino. Il sistema è costituito da:
− N stazioni di ingresso nel centro ognuna dotata di sufficiente potenza elaborativa;
− Uno o più server centrali presso l’ufficio gestione viabilità del comune;
− Una rete di comunicazione.
Ogni stazione utilizza un sistema telepass per rilevare il passaggio di un veicolo. Un utente acquista e installa un telepass e, via
internet, paga un abbonamento per X ingressi. Sempre via internet, l’utente può rinnovare l’abbonamento. Il sistema contabilizza gli
ingressi e avvisa via mail l’utente quando l’abbonamento è prossimo alla scadenza. Il sistema inoltre è in grado di identificare gli
autoveicoli che entrano senza essere dotati di telepass e di attivare l’invio di una multa.
Le funzionalità che devono essere rese disponibili sono:
− Acquisizione del passaggio del veicolo
− Rilevamento dei dati di un veicolo dotato di telepass
− Rilevamento con telecamera del passaggio di un veicolo non dotato di telepass
− Contabilizzazione dei passaggi
− Acquisto via internet di un telepass e di un abbonamento (la funzione dovrà essere connessa al sistema anagrafico cittadino per le
necessarie verifiche)
− Rinnovo via internet di un abbonamento
− Invio di una mail di avviso di prossima scadenza dell’abbonamento
− Connessione con il sistema cittadino di gestione delle multe e trasmissione dei dati per l’emissione di una multa nel caso di
passaggio di veicolo non dotato di telepass o di veicolo dotato di telepass con abbonamento scaduto.
Saranno inoltre disponibili per il personale dell’ufficio gestione viabilità del comune le seguenti funzioni:
− Navigazione, gestione e manutenzione dei dati relativi all’applicazione (telepass venduti, utenti, passaggi di autoveicoli,
contabilizzazione,…)
− Emissione di report statistici
T2 (4 punti)- Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente flusso informativo: Il processo di sviluppo di un prodotto è costituito da quattro
fasi successive: prima parte sviluppo, seconda parte sviluppo, integrazione, consegna. Al termine della prima e della seconda fase, il
responsabile dello sviluppo emette una richiesta di fatturazione per la segreteria. La segreteria, ogni volta che riceve una richiesta di
fatturazione, emette una fattura verso il cliente. Quando la segreteria riceve l’informazione di avvenuto pagamento di entrambe le
fatture, informa il responsabile dello sviluppo. La consegna del prodotto è vincolata dalla ricezione di entrambi i pagamenti.
T3 (2,5 punti)- Processi
Presentate un processo di sviluppo per integrazione. Discutetene l’applicabilità
T4 (2,5 punti)- Specifiche non funzionali
Spiegate la differenza tra specifiche funzionali e non funzionali
Identificate quali specifiche non funzionali di Manutenibilità ed Efficienza inserireste nel documento di specifica, chiedendo gli
opportuni chiarimenti al cliente, nel caso di sviluppo del sistema descritto in T1
T5 (2,5 punti)- Architettura
Presentate i contenuti tipici di un documento di progettazione architetturale di un prodotto software
T6 (2,5 punti)- Stili architetturali
Presentate il concetto di stile architetturale. Spiegate lo stile architetturale pipes and filters. Illustratene applicabilità e limiti
T7 (2,5 punti)- UML e architetture
Spiegate la relazione tra diagrammi di deployment in UML e progettazione architetturale
T8 (2,5 punti)- Collaudo e scenari di test
Scrivete, con riferimento al sistema in T1, tre casi di test del piano di collaudo, utilizzando la tecnica di test basata su scenari.
T9 (2,5 punti)- Test
Illustrate in modo sintetico i seguenti elementi:
− Strategia di test; Piano di test; Caso di test; Criterio di copertura
T10 (2,5 punti)- WBS
Commentate la adeguatezza della seguente WBS per lo sviluppo di un’applicazione di gestione di biblioteca, basata su DBMS.
Componente/Attività
Analisi dei requisiti
Progettazione Architetturale
10
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
Stesura del modello dei Dati e implementazione del DB
Codifica delle funzioni di gestione per il bibliotecario
Codifica delle funzioni di reporting
Codifica delle funzioni di accesso per l’utente
10 Tema 10
T1 (6 punti)- Progettazione architetturale
Progettare l'architettura di sistema e software della seguente applicazione:
Sistema di previsione e studio delle piene fluviali
Il sistema ha lo scopo di monitorare un insieme di parametri idrogeologici relativi ad un bacino fluviale (piogge, portate fluviali) al
fine di prevedere la presenza di un evento di piena ed esondazione del fiume ed allertare di conseguenza la protezione civile. Il
sistema inoltre permette di simulare specifiche situazioni idrogeologiche e generare mappe di esondazione a fini di studio.
Il sistema deve disporre di una rete di sensori di punto installati sul territorio. I sensori sono suddivisi in gruppi e ogni gruppo deve
disporre di un proprio acquisitore dati installato localmente che teletrasmette al sistema centrale (installato presso una sede centrale).
Il sistema, inoltre, utilizza le immagini del territorio telerivate da un satellite. Le immagini da satellite devono essere caricate
periodicamente da un server dedicato preesistente.
Il sistema mette a disposizione le seguenti funzioni:
− Raccolta dei dati dalla rete di sensori a terra
− Acquisizione delle mappe meteo da satellite
− Elaborazione in tempo reale di un modello matematico di previsione della piena
− Nel caso di evento critico, a seguito dei risultati del modello, visualizzazione della mappa di esondazione (a partire da una
cartografia memorizzata del territorio), generazione di allarmi e trasmissione degli stessi e della mappa alla protezione civile
− Ambiente di Simulazione off-line. L’ambiente consente di produrre, catalogare e gestire più simulazioni off-line. Una
simulazione consiste dei seguenti passi:
o caricamento interattivo o batch di un insieme di serie temporali di dati relativi ai sensori di punto e caricamento di
un insieme di immagini da satellite da files preesistenti oppure caricamento di un set di dati acquisiti da un caso
reale (dati di punto e immagini) durante il monitoraggio in tempo reale
o esecuzione di uno o più modelli matematici e generazione delle mappe di alluvione risultanti (a partire dalla
cartografia memorizzata del territorio)
o catalogazione e memorizzazione dei dati di ingresso e uscita dei modelli
Sono inoltre disponibili funzioni di gestione delle simulazioni catalogate
− Richiamo delle simulazioni catalogate (dati di ingresso e di uscita) e visualizzazione dei dati.
Nota: gli utenti del sistema sono:
− La protezione civile che riceve gli allarmi e le mappe per gestire l’emergenza e può anche utilizzare i risultati delle simulazioni a
scopo di addestramento
− Gli esperti che producono le simulazioni off line
T2 (4 punti)- Modellazione con le Reti di Petri interpretate di un processo di progettazione di un edificio
Sulla base di un insieme di requisiti utente e di linee guida, l'architetto formula un progetto architettonico di massima.
Lo strutturista, seguendo il progetto architettonico, formula un progetto di massima della struttura dell'edificio, tenendo conto anche
delle caratteristiche geotecniche del sito. Sulla base dei progetti di massima strutturale e architettonico viene costruito un primo
computo metrico estimativo. I progetti architettonico e strutturale ed il computo metrico vengono raccolti in un insieme, che qui
chiamiamo “progetto di massima”; tale insieme, congiuntamente con le linee guida, viene utilizzato nelle attività concorrenti di
progettazione esecutiva architettonica, progettazione esecutiva strutturale e progettazione esecutiva degli impianti. Al termine della
progettazione esecutiva si compilerà un dettagliato computo metrico estimativo.
T3 (2,5 punti) - Casi d’uso
Presentate il concetto di caso d’uso in UML e come esso possa essere utilizzato nell’analisi dei requisiti
T4 (2,5 punti) – Usabilità
In riferimento al progetto T1, presentate possibili requisiti di usabilità e discutete possibili soluzioni progettuali.
T5 (2,5 punti) – Modello di stabilità
In riferimento al progetto T1, discutere se e come è stato utilizzato il modello di stabilità relativo alle proprietà di coesione ed
accoppiamento dei moduli.
T6 (2,5 punti) – Viste architetturali di implementazione
Presentate le possibili viste di implementazione di un’architettura software e discutetene il ruolo nella progettazione architetturale.
T7 (2,5 punti) - processi di sviluppo
Presentate le differenze tra un processo di sviluppo software lineare ed un processo di sviluppo software per integrazione.
T8 (2,5 punti) – Strategia di test per un componente di T1
11
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
Il progetto T1 include uno o più componenti costituiti da modelli matematici di fenomeni idrogeologici. Discutete una possibile
strategia di test di questi componenti. Considerate in particolare l’aspetto degli oracoli nei casi di test.
T9 (2,5 punti) – Errore, Difetto e Malfunzionamento
Spiegate i tre termini “Errore, Difetto e Malfunzionamento” nel contesto del testing di un programma software.
T10 (2,5 punti) –Struttura di un gruppo di progetto
Presentate una tipica struttura di un gruppo di progetto software, definendo il contenuto dei vari ruoli.
11 Tema 11
T1 (6 punti)- Progettazione architetturale
Progettare l'architettura di sistema e software della seguente applicazione:
Sistema di supporto per la gestione dell’emergenza a seguito di eventi sismici
Il sistema nazionale di sorveglianza sismica è costituito da una rete di accelerometri installata sul territorio nazionale e da un centro
nazionale di controllo. All’accadere di un evento sismico, gli accelerometri interessati registrano una serie temporale che deve essere
teletrasmessa al centro nazionale.
Il centro nazionale implementa due classi di funzioni. La prima classe permette l’acquisizione e l’elaborazione in tempo reale dei dati
generati a seguito di un evento sismico. Attraverso l’utilizzo di un data base che contiene le caratteristiche sismiche del territorio
nazionale e la relativa cartografia e di un modello matematico, è calcolato l’epicentro dell’evento sismico e la mappa di danno dei
nuclei urbani coinvolti. Le informazioni generate servono per allertare le autorità ed avviare i soccorsi.
La seconda classe di funzioni permette l’accumulo di tutti i dati strumentali acquisiti ad ogni evento sismico in un data base storico ed
il loro studio al fine di migliorare i modelli matematici disponibili e la conoscenza del territorio.
Il sistema rende disponibili le seguenti funzioni:
− Raccolta dei dati dalla rete di sensori accelerometrici (un sensore accelerometrico deve essere dotato di un apparato di
acquisizione che, nel caso di evento sismico, attiva l’acquisizione per una durata temporale definita e gestisce la trasmissione
della serie temporale al sistema centrale)
− Elaborazione in tempo reale dei dati
− Generazione dei dati relativi all’evento sismico (es. epicentro) e di una mappa di danno
− Presentazione dei dati relativi all’evento sismico e della mappa all’operatore (il centro è presidiato 24 ore su 24).
− A seguito dell’approvazione da parte dell’operatore, i dati e la mappa sono trasmessi alle autorità di competenza
− Memorizzazione dei dati nel data base storico
− Funzioni di gestione del data base storico
− Funzioni di elaborazione dei dati del data base storico per lo studio dei modelli
Nota: oltre alla progettazione architetturale, specificare gli aspetti fondamentali di progettazione di dettaglio relativi al protocollo di
comunicazione tra apparati remoti (accelerometri) e sistema centrale.
T2 (4 punti)- Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente processo:
Il processo di produzione di un sistema di monitoraggio è costituito dalle seguenti fasi iniziali: Analisi dei requisiti di sistema,
Progettazione di sistema, Analisi delle alternative “make or buy”. La decisione conseguente è l’acquisizione dei seguenti componenti:
rete remota di sensori ed apparati di acquisizione e teletrasmissione, server centrale, un applicativo software sul server centrale. La
restante parte del software sul server centrale sarà sviluppata ad hoc. A seguito della decisione sono generati i documenti di specifica
necessari per avviare concorrentemente le attività singole di acquisizione e lo sviluppo. Il software ad hoc è sviluppato seguendo un
processo lineare. Le fasi finali del progetto prevedono delle fasi concorrenti di installazione della rete (con apparati di acquisizione e
teletrasmissione) e del server. Seguirà una fase di installazione del software applicativo acquisito ed alla fine l’installazione del
software ad hoc con il collaudo complessivo.
T3 (2,5 punti) – Requisiti di affidabilità
In riferimento al progetto T1 discutete possibili requisiti di affidabilità
T4 (2,5 punti) – Requisiti di efficienza
In riferimento al progetto T1 discutete possibili requisiti di efficienza
T5 (2,5 punti) – I processi in una software house
Presentate il concetto di processo. Classificate i processi relativi ad una software house e presentate degli esempi.
T6 (2,5 punti) – Architettura software
Spiegate in cosa consiste un’architettura software
T7 (2,5 punti) –Strategia di test per il collaudo e accettazione del progetto T1
In riferimento al progetto T1 presentate una possibile strategia di test che possa servire al collaudo ed accettazione del sistema. Tenete
in conto sia gli aspetti funzionali che non funzionali.
T8 (2,5 punti) – ISO9001-2000
Illustrate brevemente il ruolo della norma ISO9001-2000 e della certificazione di qualità in una software house
T9 (2,5 punti) – Modelli UML
12
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
Presentate brevemente come i modelli UML possano rappresentare gli aspetti statici, dinamici e di implementazione di un prodotto
software
T10 (2,5 punti) – Gestione delle versioni e configurazioni
Presentate brevemente il problema di gestione delle versioni e configurazioni di un prodotto software.
12 Tema 12
T1 (6 punti)- Progettazione architetturale
Progettare l'architettura di sistema e software della seguente applicazione:
Sistema di previsione delle valanghe
Scopo dell'applicazione è la gestione di dati di innevamento in un’area alpina la generazione di un bollettino di previsione delle
valanghe. Il sistema raccoglie dati di innevamento e dati meteorologici da n sistemi di acquisizione remoti collocati sul territorio.
Ogni sistema di acquisizione remoto è in grado di raccogliere dati da una centralina meteo e da un sensore che misura l’altezza della
neve. I dati acquisiti con periodicità giornaliera sono memorizzati in banca dati. Giornalmente i dati acquisiti sono utilizzati, assieme
ad una base di dati cartografici del territorio, per produrre in modo automatico un insieme di mappe di caratteristiche meteorologiche
(ad esempio la temperatura dell’aria o della neve o l’altezza della neve). Inoltre, in modo automatico, l’insieme dei dati è elaborato da
un modello di previsione che identifica le aree a rischio di valanghe generando una mappa relativa. L’operatore è in grado di svolgere
le seguenti funzioni:
− Gestione dei dati alfanumerici e cartografici
− Catalogazione e conservazione in una base di dati storica di dati acquisiti e mappe di interesse
− Stampa di mappe di interesse
− Distribuzione via Internet su un apposito servizio web delle mappe di previsione (la mappa delle aree a rischio valanghe non è
distribuita automaticamente ma solo su autorizzazione dell’operatore)
− Generazione di un rapporto di sintesi sulle aree a rischio valanghe e distribuzione dello stesso via mail.
T2 (4 punti)- Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente processo:
Flusso di dati tra uffici
Esistono tre uffici periferici. Ogni ufficio mantiene un proprio archivio di documenti. Ogni volta che un ufficio periferico emette un
documento, lo archivia e lo invia alla sede centrale.
Presso la sede centrale, l’ufficio protocollo riceve il documento e lo verifica. Se le verifiche portano ad esito negativo, l’ufficio
protocollo invia un mail di avviso e spiegazione al relativo ufficio di provenienza. Nel caso di esito positivo l’ufficio protocollo
inoltra il documento per approvazione alla direzione.
Ogni documento approvato viene restituito al relativo ufficio periferico a cura dell’ ufficio protocollo, il quale conserva in un archivio
centrale una copia del documento stesso. Ogni ufficio periferico che riceve un documento approvato lo archivia nell’archivio locale.
Ogni documento non approvato viene restituito con una annotazione al relativo ufficio periferico a cura dell’ ufficio protocollo.
T3 (2,5 punti) – Requisiti di efficienza
Con riferimento al progetto T1 scrivete le domande che potreste presentare al vostro cliente per identificare il requisito funzionale di
efficienza
T4 (2,5 punti) – COTS e processi di sviluppo software
Presentare un processo di sviluppo per un sistema che include componenti applicativi di mercato (COTS)
T5 (2,5 punti) – Prototopi
Spiegate i possibili ruoli della realizzazione di prototipi in un processo di sviluppo software.
T6 (2,5 punti) – Viste architetturali
Spiegate il concetto di vista architettturale e presentate tre possibili viste di implementazione di un’architettura software.
T7 (2,5 punti) – Piano di test
Dato il seguente frammento di specifica
…………… Un insieme di valori di misura giornalieri è caricato da terminale in una banca dati. La maschera di caricamento contiene
i seguenti dati: temperatura dell’aria (numeri reali compresi tra -40 incluso e +40 incluso); visibilità (normale, ridotta, critica). I dati
possono essere modificati e cancellati. Sono disponibili funzioni di estrazione di un report contenente le distribuzioni nel mese dei
valori di misura. A richiesta è possibile visualizzare su terminale in modalità grafica la serie dei valori memorizzati. ……………
scrivete il piano di test corrispondente alla seguente strategia:
− Test funzionale con copertura funzionale esaustiva
− Per ogni funzione: Test delle classi di equivalenza del dominio di ingresso (positivi e negativi) e test dei valori limite
T8 (2,5 punti) – ISO9001 e certificazione
Spiegate il significato della frase : “La software house xx è certificata ISO 9001-2000”
T9 (2,5 punti) – WBS
Scrivete una possibile WBS per il progetto di cui al punto T1
13
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
T10 (2,5 punti) – Studio di fattibilità
Illustrate ruolo e contenuto di uno studio di fattibilità.
13 Tema 13
T1 (6 punti)- Progettazione architetturale
Progettare l'architettura di sistema e l'architettura software della seguente applicazione:
Sistema di inseguimento pezzi in un impianto industriale
La linea di produzione di un impianto industriale è composta da più macchine connesse da vie di trasporto. L’impianto è diviso in nove
sezioni. Per ogni sezione esiste un sistema locale di controllo e raccolta dati che rende disponibile in tempo reale:
− Il conteggio dei pezzi che entrano in lavorazione nella sezione;
− Gli eventi di passaggio di stato tra gli stati di attivo e fermo della sezione.
Al termine delle sezioni d’impianto è installata una macchina che esegue il controllo di qualità di ogni pezzo prodotto. Il sistema di
controllo della macchina rende disponibile, in tempo reale, i dati relativi alle misure di controllo di ogni pezzo.
Si richiede la realizzazione di un sistema di supervisione che includa le seguenti funzioni:
− Raccolta dei dati provenienti dai nove sistemi locali di controllo e dal sistema connesso alla macchina di controllo qualità
− Mantenimento e visualizzazione su video di una mappa dell’impianto, dello stato delle sezioni e del flusso attuale dei pezzi. In
particolare:
− Lo schermo deve essere aggiornato almeno una volta al minuto.
− Eventuali passaggi di stato di sezioni di impianto devono essere presentati sullo schermo in tempo reale (qualche secondo).
− Contabilizzazione dei pezzi prodotti e dei periodi di fermo di impianto
− Mantenimento in una banca dati dei dati di contabilizzazione giornaliera (pezzi e periodi di fermo di impianto) e di tutti i dati di
controllo qualità dei pezzi. La banca dati deve disporre inoltre di un insieme di funzioni di gestione.
− Estrazione automatica dalla banca dati di contabilizzazione giornaliera di tre file giornalieri di “avanzamento produzione”,
“consuntivo fermate impianto” e “dati controllo qualità” e trasmissione alle tre applicazioni gestionali di avanzamento produzione,
gestione manutenzione e controllo qualità. Le tre applicazioni sono installate su un server gestionale preesistente.
T2 (4 punti)- Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente flusso informativo che coinvolge le entità A, B, C1, C2, C3:
A richiede la disponibilità a B
B risponde “disponibile” o “non disponibile”
Se B è non disponibile, A attende 1 minuto e richiede la disponibilità a B
Se B è disponibile, A preleva un pacchetto di dati dal database DB1 e lo invia a B
B trasmette una copia del pacchetto dati a C1, C2, C3
C1 aggiorna la banca dati DB2 e restituisce il messaggio OK1 a B
C2 aggiorna la banca dati DB3 e restituisce il messaggio OK2 a B
C3 aggiorna la banca dati DB4 e restituisce il messaggio OK3 a B
Quando B riceve tutti e tre i messaggi di OK, aggiorna la banca dati BD1 ed emette la segnalazione “allineamento terminato”
T3 (2,5 punti) - Processi di sviluppo lineare e incrementale
Spiegate le differenze tra un processo di sviluppo lineare di un prodotto software ed un processo di sviluppo incrementale
T4 (2,5 punti) –Analisi dei requisiti
Spiegate contenuto e utilità dell’analisi del contesto e della definizione degli obiettivi in un’analisi dei requisiti
T5 (2,5 punti) – Specifiche non funzionali
Il sistema di prenotazione di voli a basso costo che dovete progettare è costituito da una banca dati e da un’applicazione web di
accesso alla stessa. Identificate esempi di possibili richieste di chiarimento da porre al committente relativamente ai requisiti non
funzionali di efficienza e di affidabilità.
T6 (2,5 punti) – Architettura e viste
Spiegate il concetto di “Architettura Software” e le viste architetturali
T7 (2,5 punti) – Piano di test
Dato il sistema di cui al punto 1, scrivete tre possibili scenari di collaudo.
Spiegate il significato della frase: il piano di collaudo, basato su scenari, deve garantire la copertura funzionale esaustiva.
T8 (2,5 punti) – Oracolo
Spiegate il significato di un oracolo in un caso di test. Scrivete due esempi di oracoli per due casi di test di una funzione software a
piacere.
T9 (2,5 punti) – UML diagrammi di package, componenti e deployment
Spiegate il significato e l’utilizzo dei diagrammi di package, componenti e deployment in UML
T10 (2,5 punti) – WBS per attività e per componenti
Spiegate la differenza tra una WBS per attività e una per componenti
14 Tema 14
T1 (6 punti)- Progettazione architetturale
14
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
Progettare l'architettura di sistema e l'architettura software della seguente applicazione:
Sistema distribuito di raccolta delle presenze
Il sistema di raccolta delle presenze del personale gestisce i dati di ingresso / uscita del personale relativamente a cinque sedi
distribuite di un’impresa, una delle quali è la sede centrale. Il sistema sarà costituito da tre livelli. Al primo livello saranno presenti i
lettori di badge (apparati programmabili e connettibili su rete IP). Al secondo livello sarà presente un server di raccolta dati per ogni
sede. Al terzo livello sarà presente un server centrale ospitato presso la sede centrale.
L’applicazione software dovrà essere progettata in due passi successivi:
Passo 1
Rendere disponibili le seguenti funzioni:
− Lettura badge, validazione locale della lettura e gestione di segnalazioni di errore su video del lettore di badge
− Raccolta dati di presenza a livello di ogni sede
− Raccolta giornaliera dei dati di tutte le sedi a livello centrale
− Modifica manuale dei dati raccolti, gestita centralmente da un addetto
− Emissione centrale settimanale di report di sintesi
− Trasmissione automatica mensile dei dati al sistema gestionale
Passo 2
Inserire una funzione distribuita che, nel caso di indisponibilità di un server, alla ripartenza dello stesso, riallinei il sistema recuperando
eventuali dati di lettura badge avvenuti durante il periodo di indisponibilità. La funzione deve gestire l’indisponibilità ad entrambi i livelli
di server. Si noti che i lettori di badge sono programmabili e dispongono di memoria sufficiente per registrare le letture di una giornata.
T2 (4 punti)- Modellazione con le Reti di Petri
Modellare con le Reti di Petri interpretate il seguente flusso informativo:
l’ufficio A emette un richiesta di approvvigionamento per la segreteria amministrativa. La segreteria trasmette per approvazione alla
direzione. In caso di non approvazione, la segreteria informa l’ufficio A. Se invece la direzione restituisce la richiesta approvata, la
segreteria informa l’ufficio A e trasmette la richiesta approvata all’ufficio approvvigionamento il quale emette l’ordine per il fornitore.
Quando il fornitore consegna al magazzino la merce e la relativa documentazione di accompagnamento, il magazzino trasmette la
documentazione di accompagnamento all’ufficio approvvigionamento e informa l’ufficio A che la merce è arrivata.
T3 (2,5 punti) – Processo di sviluppo software
Spiegate il concetto di processo di sviluppo software
T4 (2,5 punti) – Indice di analisi dei requisiti
Scrivete un indice di riferimento per un documento di analisi dei requisiti
T5 (2,5 punti) – Specifiche non funzionali
Relativamente al progetto di cui a T1, discutete possibili requisiti non funzionali di efficienza e di manutenibilità.
T6 (2,5 punti) – Stili architetturali
Spiegate il concetto di stile architetturale e presentate lo stile “Repository”
T7 (2,5 punti) – Test. Grafi causa effetto
Presentate la tecnica di test dei grafi causa-effetto e discutetene l’applicabilità
T8 (2,5 punti) – Checklist per la verifica di un progetto architetturale
Scrivete una possibile Checklist per la verifica di un progetto architetturale software
T9 (2,5 punti) – UML diagrammi di sequenza
Spiegate il significato e l’utilizzo dei diagrammi di sequenza in UML
T10 (2,5 punti) - Studio di fattibilità e pianificazione di progetto
Presentate il contenuto di uno studio di fattibilità e spiegate la relazione con l’attività di pianificazione di progetto
15
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
15 Tema 15
T1 (6 punti)- Progettazione architetturale
Progettare l'architettura di sistema e l'architettura software della seguente applicazione:
Sistema di tracking dei pacchi
Il sistema permette di tracciare il percorso dei pacchi consegnati ad uno spedizioniere.
L’organizzazione dello spedizioniere è costituita da x centri di spedizione, y punti di passaggio, z agenti di consegna, una sede
centrale.
Ogni centro di spedizione supporta le seguenti funzioni:
− Raccolta dell’ordine di spedizione (il cliente porta il pacco che è etichettato con un codice a barre ed è registrato nel sistema);
− Invio dei dati relativi al pacco alla sede centrale.
Ogni centro di spedizione opera anche come centro di consegna. I pacchi arrivati sono consegnati da agenti dotati di palmare. Al
momento della consegna l’agente registra le informazioni di consegna e, al ritorno al centro di consegna, scarica i dati che sono inviati
al sistema centrale.
Ogni punto di passaggio registra la movimentazione di un pacco (identificato dal codice a barre) ed invia l’informazione al sistema
centrale.
Ogni cliente può connettersi al sistema centrale e visualizzare lo stato del proprio pacco. Il cliente ha a disposizione le seguenti classi
di funzioni:
Classe 1 (per qualunque utente)
− Visualizzazione delle caratteristiche del servizio
Classe 2 (per utenti registrati)
− Registrazione
− Identificazione del proprio pacco e visualizzazione dello stato relativo
− Accesso alle funzioni di servizio (ad esempio calcolo dei tempi e dei costi, richiesta di assistenza,…)
Il sistema centrale mantiene la banca dati che registra tutte le informazioni relative ai pacchi, produce report periodici e periodicamente
trasmette dati al sistema gestionale pre-esistente.
Si ipotizza che i centri di spedizione e la sede centrale siano connessi da una rete privata, gli agenti si connettano al sistema del
proprio centro di spedizione via rete locale wireless, i punti di passaggio ed i clienti si connettano al sistema centrale via internet.
T2 (4 punti)- Modellazione con le Reti di Petri
Esistono due processi di elaborazione A e B ognuno composto da 5 fasi sequenziali (1A-5A e 1B-5B). Modellare separatamente con le
Reti di Petri le due seguenti situazioni:
caso1: A e B condividono in modo mutuamente esclusivo una struttura di dati comune che viene acceduta dalle fasi 2A e 2B e
rilasciata dalle fasi 4A e 4B
caso2: A e B si sincronizzano; la fase 2B inizia solo se la fase 1A è terminata e la fase 5A inizia solo se la fase 4B è terminata.
T3 (2,5 punti) – Processi iterativi di sviluppo software
Spiegate il concetto di processo di sviluppo software iterativo e discutetene l’applicabilità
T4 (2,5 punti) – requisiti di usabilità e di manutenibilità
Presentate dei possibili requisiti di usabilità e di manutenibilità del sistema di cui al punto 1
T5 – Casi d’uso e analisi dei requisiti
Presentate brevemente cosa è un caso d’uso e come i casi d’uso sono utilizzati nell’analisi dei requisiti
T6 – Viste architetturali
Spiegate il concetto di vista architetturale e presentate brevemente le principali viste
T7 (2,5 punti) – Piano di test
Dato il sistema di cui al punto 1, spiegare cosa è un piano di collaudo del sistema basato su scenari e scrivere due possibili scenari di
collaudo.
T8 (2,5 punti) – Test basato su classi di equivalenza
Spiegate la tecnica di test basata sulle classi di equivalenza dei dati in ingresso ad una funzione.
T9 (2,5 punti) – UML diagrammi di componenti e deployment
Presentate i diagrammi di componenti e deployment in UML
T10 (2,5 punti) - WBS
Spiegate ruolo e contenuto di una WBS
16
Università di Bergamo
Dip. di Ingegneria gestionale, dell'informazione e della produzione
Corso di Laurea in Ingegneria Informatica
16 Tema 16
T1 (6 punti)- Progettazione architetturale
Progettare l'architettura di sistema e l'architettura software della seguente applicazione:
Raccolta dati da sistemi eterogenei
Un sistema centrale raccoglie dati da un insieme eterogeneo di apparati appartenenti a tre classi diverse:
Classe 1: sistemi di acquisizione che raccolgono dati da una rete di sensori. Ogni sistema raccoglie i dati di una propria rete con
periodicità di 60 minuti. I dati di tutti i sistemi di acquisizione di questa classe devono essere raccolti centralmente una volta al giorno.
Classe 2: sistemi di acquisizione che raccolgono ognuno, con periodicità di 10 minuti, i dati da un insieme di sensori, li elaborano e
identificano, se il caso, un evento di allarme. Ogni sistema di acquisizione deve inoltre poter generare allarmi sulla base di trend
settimanali dei dati acquisiti. L’allarme (ed un pacchetto di dati acquisiti associati) deve essere notificato al sistema centrale. In
assenza di allarme non devono essere trasmessi dati.
Classe 3: PC dai quali un operatore, attraverso una procedura Web, fornisce dati al sistema centrale.
Sul sistema centrale sono inoltre disponibili le seguenti funzioni:
− Gestione dei dati raccolti (visualizzazione, cancellazione, modifica, editing grafico)
− Controllo automatico periodico della qualità dei dati e presentazione di un report.
− Accesso via Web ai dati acquisiti attraverso un meccanismo di login e password per utenti autorizzati.
T2 (4 punti)- Modellazione con le Reti di Petri
Descrivere con una Rete di Petri il seguente protocollo di comunicazione tra due entità A e B:
Fase 1 - A e B si sincronizzano: A chiede a B di ricevere dati. B risponde con stato di disponibilità o non disponibilità. In caso di non
disponibilità A attende un tempo t e riprova. In caso di disponibilità A invia a B un messaggio di apertura. B lo riceve e si predispone
alla ricezione dati.
Fase 2 - A fornisce i dati a B: A scrive nella struttura di dati persistente DB e, al termine informa B che DB è disponibile. B legge i dati e
li scrive nella struttura di dati persistente DB1.
Fase 3 - A e B chiudono la comunicazione: B comunica ad A la fine delle operazioni. A risponde di aver ricevuto la terminazione e
chiude la comunicazione. B riceve la risposta e chiude la comunicazione.
T3 (2,5 punti) – Processi di sviluppo software “agili”
Presentate i concetti generali relativi ai processi di sviluppo software “agili”
T4 (2,5 punti) – Casi d’uso e requisiti di non funzionali
Presentate due possibili casi d’uso relativi a requisiti non funzionali che possano essere applicabili al sistema di cui al punto 1.
T5 – Pattern e flussi di controllo
Presentate due pattern relativi alla gestione dei flussi di controllo tra moduli software.
T6 (2,5 punti) – Qualità di prodotto software e qualità di processo software
Spiegate la differenza tra valutazione di qualità di prodotto software e qualità di processo software.
T7 (2,5 punti) – Malfunzionamento, difetto e errore software
Spiegate la differenza tra Malfunzionamento, difetto e errore software
T8 (2,5 punti) – Criteri di copertura
Presentare dei criteri di copertura relativi a piani di test funzionali e strutturali
T9 (2,5 punti) – Analisi di rischio e strategia di test
Spiegate il ruolo di un’analisi di rischio nella stesura di una strategia di test.
T10 (2,5 punti) – Gruppo di progetto software
Presentate i ruoli tipici all’interno di un gruppo di progetto software
17