UniRoma2 - Ingegneria del Software 1 1



Похожие документы
Concetti di base di ingegneria del software

Modellazione di sistema

Base di dati e sistemi informativi

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Automazione Industriale (scheduling+mms) scheduling+mms.

Piano di gestione della qualità

UniRoma2 - Ingegneria del Software 1 1

12. Evoluzione del Software

11. Evoluzione del Software

Sistemi Informativi I Caso di studio con applicazione di UML

Release Management. Obiettivi. Definizioni. Responsabilità. Attività. Input

EUROPEAN PROJECT MANAGEMENT QUALIFICATION - epmq. Fundamentals. Syllabus

Ciclo di Vita Evolutivo

Ciclo di vita del progetto

Rational Unified Process Introduzione

Progettaz. e sviluppo Data Base

IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto)

La Metodologia adottata nel Corso

La gestione manageriale dei progetti

Applicazione della norma ISO 9001:2008 al Sistema Gestione per la Qualità del Gruppo Ricerca Fusione. Claudio Nardi Frascati 24 novembre 2009

QUESTIONARIO 1: PROCESSO DI AUTOVALUTAZIONE

Valutazione del potenziale

In legenda sono riportate le fasi R, P, C/T e I/SA come specificato nella norma ISO/IEC

MANUALE DELLA QUALITÀ Pag. 1 di 6

La Formazione: elemento chiave nello Sviluppo del Talento. Enzo De Palma Business Development Director

Responsabile di produzione

PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1

Ciclo di vita dimensionale

L organizzazione aziendale

5. Requisiti del Software II

vendite Come organizzare le informazioni Il Customer Relationship Management nelle Istituzioni Finanziarie Europe

Organizzazione degli archivi

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1

Sicurezza Aziendale: gestione del rischio IT (Penetration Test )

ISA 610 e ISA 620 L'utilizzo durante la revisione dei revisori interni e degli esperti. Corso di revisione legale dei conti progredito

Generazione Automatica di Asserzioni da Modelli di Specifica

Progettazione di Basi di Dati

Gestione del workflow

Configuration Management

figure professionali software

IL PROJECT MANAGEMENT

Gestione parte IIC. Diagrammi di Gantt. Esempio. Schemi di scomposizione delle attività

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

Le possibili sinergie della Direzione e della AQ orientate alla Buona Gestione del C.d.S.

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

Il modello di ottimizzazione SAM

Aris TimeSheet. che guardano oltre. enti e aziende. Soluzioni per

Business Process Management

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard

VALUTAZIONE DEL LIVELLO DI SICUREZZA

FONDAMENTI di INFORMATICA L. Mezzalira

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

MODELLO PER LO SVILUPPO DEL PRODOTTO

PROCEDURA PR.07/03. Progettazione e sviluppo software STATO DI REVISIONE. Verificato da

Processi principali per il completamento del progetto

Collaudo e qualità del software Quali test eseguire

Scrum. Caratteristiche, Punti di forza, Limiti. versione del tutorial: Pag. 1

COME VIENE REALIZZATO UN SERVIZIO DI RIORGANIZZAZIONE DEI SISTEMI INFORMATIVI AZIENDALI?

Piano delle Performance

Sistema di Gestione della Sicurezza CLAUDIO SOAVE

Infrastruttura di produzione INFN-GRID

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

05/03/07 Anna Maria Baratta. Lavorare per progetti

Pianificazione e progettazione

Coordinamento e comunicazione

GESTIONE RISORSE UMANE

Normativa UNI CEI EN 16001:2009 Energy efficiency tramite un sistema di gestione per l energia. ABB Group September 29, 2010 Slide 1

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

Capitolo 4 - Teoria della manutenzione: la gestione del personale

Liceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati

MANUALE DELLA QUALITÀ SISTEMA DI GESTIONE DELLA QUALITA

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

Progettazione dei Sistemi di Produzione

Azienda Sanitaria Firenze

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

CORSO BUSINESS CONTINUITY AND DISASTER RECOVERY MANAGEMENT LE 10 PROFESSIONAL PRACTICES

La portata del software

Il processo di certificazione del software MD

Gestione della Sicurezza Informatica

Corso di. Analisi e contabilità dei costi

Economia e gestione delle imprese - 05

Ibpm è lo strumento per la gestione dei processi, dalla modellazione, all esecuzione, al monitoraggio.

Gestire le NC, le Azioni Correttive e Preventive, il Miglioramento

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

IMPOSTAZIONE E ORGANIZZAZIONE DEL PROGETTO

LA GESTIONE DELLE INFORMAZIONI IN AZIENDA: LA FUNZIONE SISTEMI INFORMATIVI 173 7/001.0

Транскрипт:

Il processo di ingegneria dei requisiti (requirements engineering) varia in base al dominio applicativo, alle persone coinvolte ed all'organizzazione che sviluppa il sistema software Si può però individuare un insieme di attività generiche comuni a tutti i processi: studio di fattibilità (feasibility study) identificazione e analisi dei requisiti (req. elicitation and analysis) specifica dei requisiti (req. specification) convalida dei requisiti (req. validation) gestione dei requisiti (req. management) UniRoma2 - Ingegneria del Software 1 1

Fase iniziale del processo di ingegneria dei requisiti Si basa su una descrizione sommaria del sistema software e delle necessità utente Le informazioni necessarie per lo studio di fattibilità vengono raccolte da colloqui con: client manager ingegneri del software con esperienza nello specifico dominio applicativo esperti delle tecnologie da utilizzare utenti finali del sistema UniRoma2 - Ingegneria del Software 1 2

Lo studio di fattibilità produce come risultato un report che stabilisce l'opportunità o meno di procedere allo sviluppo del sistema software Domande tipiche dello studio di fattibilità: In che termini il sistema software contribuisce al raggiungimento degli obiettivi strategici del cliente? Può il sistema software essere sviluppato usando le tecnologie correnti e rispettando i vincoli di durata e costo complessivo? Può il sistema software essere integrato con altri sistemi già in uso? UniRoma2 - Ingegneria del Software 1 3

Il team di sviluppo incontra il cliente e gli utenti finali al fine di identificare l'insieme dei requisiti utente, dalla cui analisi si generano i requisiti di sistema (specifiche) L'identificazione dei requisiti può coinvolgere personale che copre vari ruoli sia all'interno dell'organizzazione del cliente che in altre organizzazioni o tra gli utenti finali Il termine stakeholder viene usato per identificare tutti coloro che hanno un interesse diretto o indiretto sui requisiti del sistema software da sviluppare UniRoma2 - Ingegneria del Software 1 4

Task Comprensione del dominio: l'analista deve acquisire conoscenze sul dominio applicativo (es. se il sistema software deve supportare il lavoro di un ufficio postale, l'analista deve comprendere il funzionamento di un ufficio postale) Raccolta dei requisiti: mediante interazione con gli stakeholder si identificano i requisiti utente Classificazione: l'insieme dei requisiti raccolti viene suddiviso in sotto-insiemi coerenti di requisiti Risoluzione dei conflitti: eventuali contraddizioni e/o conflitti tra requisiti vanno identificati e risolti Assegnazione delle priorità: mediante interazione con gli stakeholder, ad ogni requisito o sotto-insiemi di requisiti va assegnata una classe di priorità Verifica dei requisiti: i requisiti vengono controllati per verificarne completezza e consistenza, in accordo a quanto richiesto dagli stakeholder UniRoma2 - Ingegneria del Software 1 5

Tecniche di identificazione dei requisiti Ethnography Casi d'uso (basati su scenari) Prototipazione Tecniche di analisi (e specifica) dei requisiti semi-formali, basate su modelli del sistema e usate dai metodi di analisi strutturata o analisi orientata agli oggetti formali (basate su Petri Net, FSM, Z, etc.) UniRoma2 - Ingegneria del Software 1 6

La convalida dei requisiti è finalizzata ad accertare se il documento dei requisiti, ottenuto come risultato della fase di analisi, descrive realmente il sistema software che il cliente si aspetta La scoperta di errori in questa fase è fondamentale per evitare costosi rework in fasi più avanzate del ciclo di vita I controlli da effettuare includono: validità consistenza completezza realizzabilità verificabilità UniRoma2 - Ingegneria del Software 1 7

Le tecniche di convalida dei requisiti includono: revisioni informali revisioni formali walkthrough ispezioni prototipazione generazione dei test-case analisi di consistenza automatizzata (per requisiti formali) UniRoma2 - Ingegneria del Software 1 8

Processo di identificazione e controllo delle modifiche subite dai requisiti di un sistema software lungo il ciclo di vita I requisiti di un sistema software possono essere classificati in termini della loro evoluzione come: requisiti stabili (probabilità minima di essere modificati nel tempo) requisiti volatili (probabilità elevata di essere modificati nel tempo): mutabili (modifiche legate a cambiamenti nell'ambiente operativo) emergenti (modifiche causate da una migliore comprensione del sistema software) consequenziali (modifiche legate all'introduzione di sistemi informatici nel flusso di lavoro) di compatibilità (modifiche legate a cambiamenti nei sistemi e nei processi aziendali) UniRoma2 - Ingegneria del Software 1 9

Le modifiche dei requisiti vanno opportunamente pianificate mediante: identificazione univoca dei requisiti gestione delle modifiche analisi dei costi analisi dell'impatto analisi della realizzazione politiche di tracciabilità (relazioni tra requisiti e tra requisiti e progetto del sistema software) uso di tool CASE per il supporto alle modifiche UniRoma2 - Ingegneria del Software 1 10

UniRoma2 - Ingegneria del Software 1 11

Transition Place (posto) UniRoma2 - Ingegneria del Software 1 12

Token UniRoma2 - Ingegneria del Software 1 13

after firing transition t 1 UniRoma2 - Ingegneria del Software 1 14

after firing transition t 2 UniRoma2 - Ingegneria del Software 1 15

Inhibitor arc UniRoma2 - Ingegneria del Software 1 16

Input State UniRoma2 - Ingegneria del Software 1 17

Consiste di un set di schemi Ogni schema Z ha il seguente formato: UniRoma2 - Ingegneria del Software 1 18

Abstract Initial State Button_init := [Button_State pushed = ] UniRoma2 - Ingegneria del Software 1 19

UniRoma2 - Ingegneria del Software 1 20

Per modello del sistema si intende una rappresentazione astratta del sistema che facilita la comprensione delle proprietà del sistema e delle sue caratteristiche di funzionamento, prima che il sistema venga costruito L'uso di modelli dei sistemi software è formalizzato all'interno di metodi di analisi dei requisiti (specifica) del software che fanno uso di tecniche semi-formali I metodi di analisi dei requisiti software sono di due tipi: metodi di analisi strutturata (o procedurale) metodi di analisi orientata agli oggetti Per descrivere completamente un sistema è necessario costruire vari modelli che rappresentino il sistema da vari punti di vista (informazioni, funzioni e comportamento dinamico) UniRoma2 - Ingegneria del Software 1 21

Per descrivere la specifica semi-formale di un sistema software si usano 3 tipi di modelli: modello dei dati: rappresenta gli aspetti statici e strutturali relativi ai dati (data requirements) ERD (not UML) class diagram (UML) modello comportamentale: rappresenta gli aspetti funzionali del sistema (functional requirements) data flow diagram (not UML) use case diagram (UML) activity diagram (UML) interaction diagram (UML) modello dinamico: rappresenta gli aspetti di "controllo e di come le funzioni del modello comportamentale modificano i dati introdotti nel modello dei dati state diagram (UML) UniRoma2 - Ingegneria del Software 1 22

UniRoma2 - Ingegneria del Software 1 23

UniRoma2 - Ingegneria del Software 1 24

UniRoma2 - Ingegneria del Software 1 25

UniRoma2 - Ingegneria del Software 1 26

espansione di process orders UniRoma2 - Ingegneria del Software 1 27

Metodo introdotto da Gane and Sarson (1979) E costituito da 9 step Basato sul concetto di step-wise refinement Altri metodi di analisi strutturata: DeMarco (1978) Yourdon and Constantine (1979) UniRoma2 - Ingegneria del Software 1 28

Use the requirements document (or the prototype) to: Identify data flows Identify source and destinations of data (where data flows starts and ends, respectively) Identify processes that transform data Refine the DFD by adding new flows of data or by adding details to existing data flows UniRoma2 - Ingegneria del Software 1 29

Use cost-benefits analysis to decide which sections of the DFD to automate Decide how to computerize: Batch operations On-line processing Example: Automate order placement in batch Automate order validation online The next 3 steps are the stepwise refinement of data flows, processes and data stores UniRoma2 - Ingegneria del Software 1 30

Decide what data items must go into the various data flows Example: the data flow order can be refined as follows: order_identification customer_details package_details Then, refine each flow stepwise: order_identification is a 12-digit integer customer_details consists of customer_name, customer_address, etc. UniRoma2 - Ingegneria del Software 1 31

Example: build the decision tree for a give_educational_discount process UniRoma2 - Ingegneria del Software 1 32

Define the exact contents of each store and its representation (specific format in a given programming language) Define the level of access by use of data-immediateaccess diagram (DIAD) Example: UniRoma2 - Ingegneria del Software 1 33

Examples: For each file, specify: file name, organization (sequential, indexed, etc.), storage medium, records, down to the field level If a DBMS is to be used, then the relevant information for each table is specified UniRoma2 - Ingegneria del Software 1 34

The input forms must be specified (components and layout) The output screens must similarly be determined The printed output also must be specified (estimated length and details) UniRoma2 - Ingegneria del Software 1 35

Compute: volume of input (daily or hourly) frequency of each printed report and its deadline size and number of records that are to pass between the CPU and mass storage size of each file UniRoma2 - Ingegneria del Software 1 36

From sizing information specified at step 8, determine: Mass storage requirements Mass storage requirements for backup Characteristics of user terminals Charateristics of output devices Adequacy of existing hardware Costs of hardware to be purchased UniRoma2 - Ingegneria del Software 1 37

Step 9 is the last step of SSA After approval by the client, the resulting specification document is handed to the design team, and the software process continues Drawbacks: SSA cannot be used to determine response times CPU size and timing cannot be determined with any degree of accuracy UniRoma2 - Ingegneria del Software 1 38