Ingegneria del Software. Processi di Sviluppo



Похожие документы
Modelli di Processo.

Ciclo di vita del progetto

Il modello RAD 1. Rapid Application Development punta a un ciclo di sviluppo molto breve

Ciclo di vita del software

Ciclo di vita dimensionale

Rational Unified Process Introduzione

Ciclo di Vita Evolutivo

Concetti di base di ingegneria del software

4.1 Che cos è l ideazione

Ingegneria del Software

13. Ciclo di Vita e Processi di Sviluppo

Piano di gestione della qualità

PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI

2. Ciclo di Vita e Processi di Sviluppo

Indice. Prefazione all edizione italiana

Collaudo e qualità del software Quali test eseguire

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

Progettazione del Software. Emiliano Casalicchio. Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti

UML e (R)UP (an overview)

Processo parte III. Modello Code and fix. Modello a cascata. Modello a cascata (waterfall) Leggere Sez. 7.4 Ghezzi et al.

Manuale della qualità. Procedure. Istruzioni operative

IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto)

Introduzione al software engineering"

Project Planning. Politecnico di Milano. Progetto di Ingegneria del Software novembre Elisabetta Di Nitto Raffaela Mirandola

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni

IL MODELLO SCOR. Agenda. La Supply Chain Il Modello SCOR SCOR project roadmap. Prof. Giovanni Perrone Ing. Lorena Scarpulla. Engineering.

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Base di dati e sistemi informativi

Sviluppo e Gestione dei Progetti. docente: Prof. Filippo Ghiraldo f.ghiraldo@bep.co.it

THEME Matrice di Competenza - Meccatronica

Esercitazione revisione bozza di proposta

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

7. Architetture Software

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ

Sistemi Informativi e Sistemi ERP

Il Project Management nell Implementazione dell'it Service Operations

Il modello di ottimizzazione SAM

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

La strada per sviluppare più rapidamente: Unit Test & Continuous Integration

UML - Unified Modeling Language

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

Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite. Agile Group DIEE, Università di Cagliari

Osservatorio P 3 MO. Il PMO come strumento di diffusione ed enforcement della cultura di Project Management

PASSAGGIO ALLA ISO 9000:2000 LA GESTIONE DELLE PICCOLE AZIENDE IN OTTICA VISION

RUP (Rational Unified Process)

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

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

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE. Design Flow

Coordinamento e comunicazione

UNI EN ISO 9001:2008 Sistemi di Gestione per la Qualità: requisiti e guida per l uso

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

Progetto di Ingegneria del Software 2 SWIM v2 PROJECT PLANNING

Software solido e usabile: come integrare ingegneria dell usabilità e del software

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI

Scenari di Deployment i. Scenari di Deployment

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras

IS Governance. Francesco Clabot Consulenza di processo.

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

La soluzione per le imprese che lavorano su commessa.

I modelli normativi. I modelli per l eccellenza. I modelli di gestione per la qualità. ! I modelli normativi. ! I modelli per l eccellenza

REALIZZARE UN BUSINESS PLAN CON MICROSOFT EXCEL 2007

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE

ORGANIZZAZIONE E PIANIFICAZIONE DEL PROCESSO DI SVILUPPO PRODOTTO

Requisiti normativi, standard, template

Strumenti di modellazione. Gabriella Trucco

Stima dell'effort. IT Project Management. Lezione 6 Stima dell effort Federica Spiga. Monitoring del progetto (Earned Value)

Progetto AURELIA: la via verso il miglioramento dei processi IT

Ottava Edizione. La Programmazione e Controllo della Produzione Prof. Sergio Cavalieri

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

Lean Value Stream Analysis

Appendice III. Competenza e definizione della competenza

Progettazione dei Sistemi di Produzione

BiblioTech - Personal Digital Library

Sicurezza Funzionale Industria di Processo

ILSISTEMA INTEGRATO DI PRODUZIONE E MANUTENZIONE

APQP. Un sistema avanzato di gestione o una gabbia?

EUROPEAN PROJECT MANAGEMENT QUALIFICATION - epmq. Fundamentals. Syllabus

La gestione manageriale dei progetti

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Test e collaudo del software Continuous Integration and Testing

manifatturiera e per i servizi

*AGEFor. Applicativo GEstionale per le attività Formative

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

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

11. Evoluzione del Software

WorkFlow Management Systems

Strumenti per la gestione della configurazione del software

Design for X. Evoluzione del processo progettuale e progettazione integrata di prodotto. Contenuti. Processo di progettazione e sviluppo prodotto

Транскрипт:

Ingegneria del Software Processi di Sviluppo Ingegneria del Software: Tecnologia Stratificata tools metodi processi Focus sulla qualità

Ingegneria del Software: Tecnologia Stratificata (2) Qualità Elemento costitutivo dell ingegneria del software Processo Fornisce i meccanismi di controllo gestionale dei progetti software e stabilisce il contesto all interno del quale applicare i metodi Metodo Tecnica applicabile per il raggiungimento di un obiettivo Tools Strumenti automatici di supporto al processo ed ai metodi Processo di Sviluppo E una struttura di riferimento entro la quale si svolgono le attività necessarie a realizzare software di alta qualità e nei tempi stabiliti Stabilisce quando e come qualcuno fa cosa, per raggiungere un determinato obiettivo

Struttura del Processo di Sviluppo Struttura del Processo Attività Ombrello Attività Strutturale 1 Azione di ingegneria del software 1.1 - Task Azione di ingegneria del software 1.k - Task Attività Strutturale N Azione di ingegneria del software N.1 - Task Azione di ingegneria del software N.M - Task Attività Strutturali Sono ordinate cronologicamente I risultati di una attività costituiscono un input per attività strutturali successive Sono mandatory Non è possibile prescindere da nessuna di esse Communication Planning Modeling Analysis of requirements Design Construction Code generation Testing Deployment

Esempi di Attività Strutturali Communication Comunicazioni col cliente per la raccolta dei requisiti Planning Pianificazione delle attività di ingegneria del software per lo sviluppo del sistema Modeling Creazione dei modelli di specifica Construction Realizzazione delle componenti del sistema software Deployment Installazione e messa in esercizio del sistema Attività Ombrello Attività asincrone rispetto al processo di sviluppo Il processo non vincola l espletamento delle attività ombrello in momenti predefiniti del ciclo di sviluppo Le attività ombrello possono essere espletate più volte durante il ciclo di sviluppo Non mandatory Le attività ombrello non sono tipicamente obligatorie Gestione del progetto software Gestione dei rischi Gestione della qualità Misura Revisioni tecniche formali

Esempi di Attività Ombrello Gestione del progetto software Valutazione dei progressi ottenuti nello sviluppo rispetto ai piani di progettazione Gestione dei rischi Valutazione dei rischi che possono influenzare il risultato o la qualità del progetto Gestione della qualità Attività necessarie a garantire livelli accettabili di qualità Misura Meccanismi di valutazione del livello di qualità del progetto, del grado di efficienza del prodotto, del grado di soddisfazione del cliente Revisioni tecniche formali Valutazione degli artifatti al fine di individuare gli errori, evitarne la propagazione e correggerli Adattabilità del Processo Le attività strutturali devono essere sempre applicate ad ogni progetto ma I tasks variano in funzione: Del tipo di progetto Degli skills del team di sviluppo

I Modelli Prescrittivi Formalizza in maniera rigorosa alcuni elementi del processo Attività strutturali Azioni di ingegneria Prescrive anche il flusso e le correlazioni tra gli elementi del processo Il Modello a cascata (Waterfall) E un modello rigidamente sequenziale Le attività strutturali sono sequenziali Gli artifatti prodotti da un attività strutturale sono di ingresso all attività successiva Communication Project initiation Requirement gathering Planning Estimation Scheduling Tracking Modeling Analysis Design Construction Code Test Deployment Delivery Support Feedback

Il Modello Waterfall (2) Applicabilità I requisiti del sistema devono essere ben chiari e stabili nel tempo Il sistema deve essere semplice e non presentare funzionalità critiche Efficiente Se le attività strutturali sono eseguite da team differenti, ogni stadio costituisce un blocco per le attività successive Interazione col cliente Le interazioni solo limitate alle prime fasi del ciclo Il cliente dovrà attendere la fine del ciclo per ottenere qualcosa di funzionante Il Modello Waterfall: Una Variante Introduzione di azioni di Verifica e Validazione degli artifatti Possibilità di ritorno alla fase precedente Communication V&V Planning V&V Modeling V&V Construction V&V Deployment V&V

C o m m u n i c a t i o n P l a n n i n g M o d e l i n g a n a l y s i s d e s i g n C o m m u n i c a t i o n C o n s t r u c t i o n c o d e t e s t P l a n n i n g D e p l o y m e n t d e l i v e r y f e e d b a c k M o d e l i n g a n a l y s i s d e s i g n C o n s t r u c t i o n c o d e t e s t C o m m u n i c a t i o n D e p l o y m e n t d e l i v e r y f e e d b a c k P l a n n i n g M o d e l i n g a n a l y s i s d e s i g n C o n s t r u c t i o n c o d e t e s t D e p l o y m e n t d e l i v e r y f e e d b a c k I Modelli Evolutivi Applicazione iterata delle attività strutturali per il refinement degli artifatti Planning Modeling Construction Communication Deployment Il Modello Incrementale Il sistema viene suddiviso in slices sviluppati indipendentemente Si applica un ciclo a cascata ad ogni incremento in c r e m e n t # n in c r e m e n t # 2 d e liv e r y o f n t h in c r e m e n t in c r e m e n t # 1 d e liv e r y o f 2 n d in c r e m e n t d e liv e r y o f 1 s t in c r e m e n t p r o j e c t c a le n d a r t im e

Applicabilità Il Modello Incrementale (2) Il sistema può essere complesso ma i requisiti del sistema devono essere ben chiari e stabili nel tempo Le funzionalità critiche possono essere testate con il primo incremento Efficienza Realizzazione di una struttura a pipeline nello sviluppo dei diversi incrementi Interazione col cliente Il cliente riceve un incremento alla fine di ogni ciclo Il Modello Prototypale Realizzazione di un prototipo preliminare al sistema Due tipologie di prototipo: Mock-ups: Prototipo completo delle interfacce del sistema Permette di definire completamente i requisiti del sistema Breadboards: Prototipo delle funzionalità critiche del sistema Permette di valutare le scelte relative a vincoli stringenti quali: tempi di risposta, carico, sicurezza, affidabilità, Il prototipo non deve diventare sistema

Il Modello a Spirale Si individua un nucleo di requisiti e successivamente si estende il sistema a macchia d olio Planning Modeling Construction start Communication Deployment Il Modello a spirale (2) Applicabilità Il sistema può essere complesso ed i requisiti possono essere anche non perfettamente stabili o chiari Efficienza Le attività sono sequenziali come nel caso del modello a cascata Interazione col cliente Il cliente interagisce ad ogni ciclo ma non riceve incrementi

Il Modello Concorrente Le attività strutturali sono sviluppate secondo un modello a stati concorrenti Modeling activity Under development none represents the state of a software engineering activity or task Lo stato di una attività strutturale dipende dallo stato di altre attività Awaiting changes Under revision Under review Baselined Done Applicabilità Il Modello concorrente (2) Il sistema può essere complesso ed i requisiti possono essere anche poco stabili o poco chiari Efficienza Elevato grado di parallelismo tra le attività Interazione col cliente Il cliente interagisce frequentemente

Il Modello RAD Modello a sviluppo rapido Team # n Modeling business modeling data modeling process modeling Le attività di modellazione, costruzione e messa in esercizio sono altamente parallelizzate Communication Planning Team # 2 Team # 1 Modeling business modeling data modeling process modeling Modeling business modeling data modeling process modeling Construction component reuse automatic code Construction component reuse automatic code generation testing Const ruct ion component reuse automatic code generation testing generation testing Deployment integration delivery feedback 60-90 days Applicabilità Il Modello RAD (2) Si applica a sistemi con vincoli sui tempi di realizzazione particolarmente stringenti Efficienza Le attività di sviluppo sono fortemente parallelizzate Interazione col cliente Si concentra nella fase iniziale

Altri Modelli di Processo Modelli per sistemi a componenti Modelli basati su metodi formali Tentativo di standardizzazione dei processi di sviluppo Lo Unified Process (UP) Inception Elaboration Processo evolutivo basato su iterazioni focalizzate su attività differenti Release software increment transition construction production

Fasi dell UP UP Phases Inception Elaboration Construction Transition Production Workflows Requirements Analysis Design Implementation Test Support Iterations #1 #2 #n-1 #n UP - Artifatti Inception phase Vision document Init ial use-case model Init ial project glossary Init ial business case Init ial risk assessment. Project plan, phases and it erat ions. Business model, if necessary. One or more prot ot ypes I ncept i o n Elaboration phase Use-case model Supplementary requirements including non-funct ional Analysis model Soft ware archit ecture Descript ion. Execut able architect ural prot ot ype. Preliminary design model Revised risk list Project plan including it erat ion plan adapt ed workflows milest ones t echnical work product s Preliminary user manual Construction phase Design model Soft ware component s Int egrated software increment Test plan and procedure Test cases Support document at ion user manuals inst allat ion manuals descript ion of current increment Transition phase Delivered soft ware increment Bet a t est report s General user feedback