Processo di sviluppo software. slide 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Processo di sviluppo software. slide 1"

Transcript

1 Processo di sviluppo software slide 1

2 Processo di sviluppo software Visione d'insieme Nella figura seguente, usando UML, diamo una visione d'insieme del tutto generale del processo di sviluppo software A parte le cose già viste, ne svilupperemo solo la parte sui modelli di processo, rimandando a Cultura Aziendale per le parti di management Terminologia Di seguito riportiamo una slide terminologica Warning È in corso un grosso dibattito e revisione dei modelli del processo di sviluppo software, con interi volumi nuovi dedicati Diamo una visione sintetica anche del dibattito; a IS2 se ne parla più diffusamente slide 2

3 Terminologia (nel contesto di SE ) Paradigma stili riferiti a varie fasi dello sviluppo software, per esempio: in programmazione: paradigma funzionale (ML), OO (Java), imperativo (C), logico (PROLOG) nel processo di sviluppo software: SA (Structural Analysis), OO (Analysis and Design) analogia in cucina: la cucina emiliana, ligure, francese, nouvelle cuisine; (a un livello più alto di astrazione) la cucina vegetariana, lo slow food, il fast food, ecc ; in musica: rap, hard-rock, classica, swing, ecc Processo un insieme strutturato e organizzato di attività che si svolgono per ottenere un risultato (qui un sistema software) Analogia: il servizio di ristorazione in un particolare ristorante Mc Donald o Spizzico Modello di processo un insieme strutturato e organizzato di regole e passi da seguire nell eseguire un processo Analogia: il modello di servizio ristorante Mc Donald o Spizzico Standard un insieme di proprietà che devono essere soddisfatte nello svolgere un processo e che hanno valore di misura di certificazione (ISO, CMMI, V-Model) riconosciuta a qualche livello ufficiale (è a un livello di astrazione diverso dal modello di processo; un processo può o no soddisfare uno standard; ma possiamo anche avere un modello soddisfacente o no a uno standard) Analogia: gli standard definiti dalle associazioni di ristoratori o di albergatori (con eventuali classificazioni, numero di stelle), gli standard igienici stabiliti dalle leggi dei singoli paesi slide 3

4 SE/SDP istanzia/conforme a NB. Si sta parlando di software Talvolta/spesso se ne deve parlare nel contesto dello sviluppo di un sistema (Computer-based System Engineering) System development 1 istanzia/conforme a Process Management Model 1 Software Development Model Software Quality Assurance * Software * Development * Process Management comprende 0..1 Configuration Management gestisce Software Development Process Model istanzia/ conforme a Software Development Process fa uso di * Documentation 1..* Tool * produce slide 4

5 Processo Consiste dell insieme di attività necessarie a raggiungere uno scopo, organizzate temporalmente Per ciascuna attività indica Scopo dell attività nel contesto del processo Criteri di inizio e fine Risorse usate e prodotti risultanti Può essere composto di sotto-processi Indica vincoli e controlli da applicare alle attività, sottoprocessi, prodotti intermedi e finali, risorse Esercizio proposto Estendere la figura UML del lucido precedente per descrivere i contenuti di questo lucido slide 5

6 Modelli di sviluppo del processo software diverse tipologie di modelli modelli come insieme di principi da seguire ES. waterfall, waterfall con iterazione, a spirale, prototyping ecc... modelli come insieme di regole da seguire nell'organizzare e svolgere le attività di processo Es. RUP (Rational Unified Process) es di modello prescrittivo XP (Extreme Programming) es di modello agile modelli che sono anche standard (e che definiscono il processo mediante regole da seguire, documentazione da produrre, ecc.) Vincolante per ottenere un riconoscimento di adeguatezza Spesso includono tecniche di QA (Assurance Quality) Es. V-Model slide 6

7 Waterfall Model/Modello a Cascata Storicamente il primo modello del processo di sviluppo software Mette in cascata i passi tradizionali dello sviluppo di un sistema (software), secondo quello che abbiamo visto nell introduzione e che riportiamo qui di seguito,con i ruoli professionali associati Deriva dal processo manifatturiero e ha forti analogie con lo sviluppo di altri sistemi (vedere esempio su costruzione di casa per i Sigg. Rossi) Ogni fase produce un prodotto che (tranne all ultimo passo) è l input della fase successiva Nessuna indicazione su come si passa da input ad output (nessuna idea di tracciabilità) slide 7

8 Waterfall Model REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN CODING UNIT&INTEGRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING OPERATION & MAINTENANCE slide 8

9 The roles of the development team Software development steps Requirements analysis and definition System design Program design Program implementation Unit testing Integration testing System testing System delivery Maintenance trainer tester programmer designer analyst Developer Roles slide 9

10 Waterfall Model 2 QuickTime and a TIFF (LZW) decompressor are needed to see this picture. Figura alternativa dal Pressman Fa capire che i punti cruciali sono linearizzazione comunicazione fra box attraverso documenti nessuna tracciabilità esplicita quali siano i contenuti dei singoli box non è rilevante per decidere se un modello è a cascata possono essere a diversi livelli di astrazione slide 10

11 Pregi Pregi e difetti del Waterfall model enfasi su alcuni aspetti, come l analisi dei requisiti e il progetto di sistema, che tendevano ad essere trascurati nell approccio naive (aka: da badilante ): problema e poi via col codice begin Difetti inadeguato se inteso meccanicamente come una serie di passi a sé stanti Ci deve essere una continua interazione fra i passi vedasi figura seguente per uno scenario worst case modello waterfall con feedback e iterazioni (salmon waterfall model) slide 11

12 slide 12

13 Waterfall model Waterfall model (software life-cycle) (with iteration (reiterazioni)) Salmon waterfall model (G. Reggio) PROBLEM Requirement analysis/val REQUIREMENTS DEFINITION/SPECIFICATION Design/val ver DESIGN SPECIFICATION Implementation /val ver CODE Testing WORKING SYSTEM FEEDBACK ITERATION [da Royce ( 70, ma in pratica anche prima) via B. Boehm ( 76)] val validation: are we building the right product (quello che si voleva)? ver verification: are we building the product right (nel modo corretto)? slide 13

14 Modello Waterfall con Prototyping REQUIREMENTS ANALYSIS Validate SYSTEM DESIGN PROGRAM DESIGN Verify CODING PROTOTYPING UNIT & INTEGRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING OPERATION & MAINTENANCE slide 14

15 V-Model Nato in Germania, Ministero della difesa, 1992, ora è anche uno standard per tutte le amministrazioni pubbliche Copre vari livelli di attività Procedure "What has to be done? Methods "How is something to be done? Tool Requirements "What is to be used to do something? Consiste di 4 sottomodelli Project management Software development Quality assurance Configuration management Tool Configuration Management Quality Assurance System Development Project Management Procedure Methods Requirements slide 15

16 V-Model Nella parte di sviluppo software questo modello, chiaramente ispirato al waterfall model, evidenzia come attività di testing e maintenance (parte destra della V) sono collegate a quelle di analysis and design (parte sinistra della V) ogni controllo (di verifica e validazione) fatto a destra che non dia buon esito porta a un rifacimento/modifica di quanto fatto a sinistra in sostanza, nel modello a V sono più esplicitate certe iterazioni e rifacimenti che sono nascosti nel waterfall originale OPERATION & MAINTENANCE REQUIREMENTS ANALYSIS Validate requirements ACCEPTANCE TESTING SYSTEM DESIGN Verify design SYSTEM TESTING PROGRAM DESIGN UNIT & INTEGRATION TESTING CODING slide 16

17 Phased development Sviluppo di varie release incrementali, di cui solo l ultima è completa dopo la prima release, si procede in parallelo: utilizzo di una release e sviluppo della successiva (con feedback) D E V E L O P E R S BUILD RELEASE 1 Development systems BUILD RELEASE 2 BUILD RELEASE 3 Time U S E R S USE RELEASE 1 Production systems USE RELEASE 2 USE RELEASE 3 slide 17

18 Phased development modalità Può seguire un approccio incrementale o iterativo Es. word processing package con capacità 1. creare testo 2. cut&paste 3. formattare testo Approccio incrementale o a moduli le funzionalità vengono aggiunte un po alla volta nell esempio del word-processor 3 release corrispondenti alle capacità elencate Approccio iterativo o per features/funzionalità tutte le funzionalità dall inizio, ma in forma ridotta nell esempio del word-processor tutte le release hanno tutte le funzionalità ma release 1: interfaccia a comandi release 2: interfaccia grafica, ma alcune funzionalità sono lente release 3: sistema finale In realtà spessissimo la modalità è mista Release 3 Release 1 Release 2 Release 1 Release 2 Release 3 slide 18

19 Vantaggi dello sviluppo a fasi la riduzione del sistema nelle prime release facilita l allenamento dell utente e l osservazione della sua reazione da parte degli sviluppatori si possono utilizzare team di sviluppatori con competenze diverse (ad esempio specialisti di GUI) fix the bugs early (presto) risposta rapida al mercato (sin dall inizio time to market, prendere il tempo giusto sul mercato, sia dopo negli adattamenti a nuove esigenze) slide 19

20 Modelli tradizionali/prescrittivi Waterfall model, V-model Progetti reali si conformano raramente allo schema sequenziale Spesso e difficile per il cliente enunciare esplicitamente tutti i requisiti Il cliente deve essere paziente: versione funzionante solo alla fine, errore in fase iniziale puo avere conseguenze disastrose Stati bloccanti e tempi di attesa Modelli incrementali Requisiti iniziali piuttosto ben definiti La dimensione del progetto preclude processo lineare Necessita di fornire urgentemente alcune funzionalita da raffinare ed espandere nelle release successive Modelli evolutivi Pensati per considerare prodotto che evolve nel tempo Tengono conto delle modifiche/evoluzioni dei requisiti durante lo sviluppo slide 20

21 Modelli a Prototyping Prototyping = creazione di un prototipo si basano sulla realizzazione di un prototipo funzionante del sistema, su cui sperimentare/testare i risultati il prototipo è ridotto nel senso che ha meno funzionalità a livello quantitativo e/o qualitativo (ad esempio rispetto a requisiti di friendliness -meno interfacce grafiche-, di robustezza, ecc) è meno efficiente in termini di prestazioni il prototipo deve essere sviluppato in generale in un linguaggio di alto/altissimo livello che rende economici i tempi di realizzazione; ad esempio linguaggio di programmazione logico (PROLOG) in cui si passa facilmente dai requisiti all eseguibile; questi linguaggi permettono anche modifiche più rapide Problema economico e psicologico: i prototipi vanno buttati slide 21

22 Modello a prototipi Elenco di modifiche Elenco di modifiche Elenco di modifiche Modifica prototipo review di utenti/clienti Requisiti del prototipo Progettazione del prototipo Sistema prototipo Test Requisiti del sistema (spesso informali e incompleti) Sistema finale slide 22

23 Modelli a Prototyping Quando i requisiti sono definiti in termini di obiettivi generali ma sono troppo vaghi e devono essere raffinati Il prototipo e meccanismo per identificare i requisiti, da scartare Il rischio e di non farlo e cosi scelte non ideali diventano parte integrante del sistema puo (spesso e ) essere combinato con altri modelli aggiornamento allo stato attuale: l uso del prototyping è molto di moda anche in forme diverse, in cui si usa il linguaggio finale ma si realizzano sistemi ridotti (vedi Extreme Programming) slide 23

24 Modello a Spirale Correntemente è l approccio più realistico per sistemi e sw di grandi dimensioni approccio evolutivo con interazioni continue fra cliente e developer usa il prototyping come metodo di riduzione del rischio, ma ad ogni stadio dell evoluzione del prodotto conserva l approccio sistematico a passi del ciclo di vita classico ma con un approccio più realistico deve essere completato/instanziato con modelli per le varie attività (scelti sulla base dell analisi dei rischi) slide 24

25 Spiral Model (Barry Boehm, 1988) Planning Initial requirements gathering and project planning Planning based on customer comments Risk analysis Risk analysis based on initial requirements Risk analysis based on customer reactions Go, no-go decision Customer evaluation Initial sw prototype Next level prototype Engineered system Customer evaluation Engineering Planning: determinazione di obiettivi, alternative, vincoli Risk analysis: analisi delle alternative e identificazione/risoluzione dei rischi Engineering: sviluppo del prodotto di successivo livello Customer evaluation: valutazione dei risultati dell engineering dal punto di vista del cliente slide 25

26 Il raggio rappresenta i costi fino a quel punto slide 26

27 Modello a spirale slide 27

28 Il modello della specifica operazionale slide 28

29 Il modello trasformazionale slide 29

30 RUP Rational Unified Process RUP è un modello del processo di sviluppo software nonostante si chiami lui stesso RUP Process Va letto nel senso il processo di sviluppo software secondo il metodo unificato di Rational Unificato proviene dalla storia della sua nascita (e quindi dalla sua natura): ha (messo insieme) unificato i metodi di sviluppo proposti dai tres amigos: Booch, Rumbaugh e Jacobson RUP segue l approccio Object-Oriented e ingloba per la parte di Requisiti l approccio a Use Case (casi d uso) tipico di Jacobson (da Ericsson in poi) Nella versione più recente i Requirements sono preceduti dal Business Modelling Essenzialmente il Business Modelling (modelling nel senso di UML: specificare modellando con tecniche tipo UML) significa specificare la conoscenza relativa al dominio del problema (domain Knowledge, domain modelling) prima ancora di specificare i requisiti del sistema che deve risolvere il problema Sviluppi ulteriori (EUP) enfatizzano sempre più aspetti di gestione e inserimento nel contesto aziendale slide 30

31 RUP Rational Unified Process È uno dei più recenti modelli del processo di sviluppo software sviluppato da Rational Software (la ditta che ha prodotto UML) The Ericsson Approach (Jacobson) The Rational approach (Booch + Rumbaugh) Objectory Process Rational Objectory Process ( Jacobson) UML (Jacobson + Booch + Rumbaugh) Rational Unified Process 5.0 RUP (si legge ar-iu-pi o rap ) (Jacobson + Booch + Rumbaugh) slide 31

32 RUP Rational Unified Process RUP è un modello che incorpora molte delle idee dal modello a spirale (iterazione, prototyping, phased development) RUP si presenta piuttosto come uno schema di modello da essere adattato ( tailored ) ai diversi casi RMC Rational Method Composer: tool per supportare l adattamento di RUP a realtà aziendali specifiche In genere è visto come un modello per sistemi grandi, ma ora Rational lo propone anche in versione per sistemi piccoli BUP (IBM) Basic UP usato per/supportato da Eclipse per progetti piccoli AUP Agile UP coniuga aspetti di UP e dei processi agili È supportato da tools (visuali) in ogni fase Normally described from 3 perspectives A dynamic perspective that shows phases over time; A static perspective that shows process activities; A practive perspective that suggests good practice. slide 32

33 Pratiche fondamentali in RUP Sviluppare il software ciclicamente Sviluppo incrementale guidato dalle esigenze del cliente Gestire i requisiti documentazione esplicita analisi preliminare dell impatto Analisi dei rischi per passare da una fase alla successiva Usare architetture basate sui componenti Creare modelli visuali del software usando UML Verificare la qualità del software standard aziendali Controllare le modifiche del software gestione delle configurazioni slide 33

34 RUP phase model slide 34

35 Inception RUP phases Establish the business case for the system. Elaboration Develop an understanding of the problem domain and the system architecture. Construction System design, programming and testing. Transition Deploy the system in its operating environment. slide 35

36 Static workflows Workflow Business modelling Requirements Analysis and design Implementation Test Deployment Configuration and change management Project management Environment Description The business processes are modelled using business use cases. Actors who interact with the system are identified and use cases are developed to model the system requirements. A design model is created and documented using architectural models, component models, object models and sequence models. The components in the system are implemented and structured into implementation sub-systems. Automatic code generation from design models helps accelerate this process. Testing is an iterative process that is carried out in conjunction with implementation. System testing follows the completion of the implementation. A product release is created, distributed to users and installed in their workplace. This supporting workflow managed changes to the system (see Chapter 29). This supporting workflow manages the system development (see Chapter 5). This workflow is concerned with making appropriate software tools available to the software development team. slide 36

37 Visione statica e dinamica di RUP Engineering disciplines Support disciplines slide 37

38 EUP (E=Enterprise) - evoluzione di RUP slide 38

39 MDD - Model Driven Development Centrata su modelli guidano lo sviluppo formali nel senso di manipolabili da strumenti automatici unico linguaggio per tutti i livelli di astrazione Rielaborazione moderna dell approccio trasformazionale idealmente trasformazioni automatiche Lo sforzo si concentra su modello a livello business (creare, validare, aggiornare...) definizioni di mappe fra livelli slide 39

40 MDD - Model Driven Development business analyst CIM Computational Independent Model requisiti architect/ designer PIM Platform Independent Model design astratto le mappe catturano l esperienza e la rendono riusabile developer/ tester PSM Platform Specific Model design dettagliato slide 40

41 Metodi prescrittivi e metodi agili Da circa metà degli anni '90 Dibattito/controversia su Metodi prescrittivi e Metodi agili Metodi prescrittivi ( plan-driven) Es. RUP, V-model quelli che seguono un approccio classico dell'ingegneria dei sistemi fondato su processi ben definiti e con i passi standard requisiti/progetto/realizzazione questi metodi sono suscettibili di miglioramento secondo standard di misure di miglioramento del processo (es. CMM Capability Maturity Model, SPICE,etc.) concetti chiave: architettura del software di sistema, verifica, validazione, maturità, miglioramento slide 41

42 Metodi agili Agile Software Development Nati alla fine degli anni '80 dopo il successo di progetti (medio/piccoli) portati avanti da Kent Beck e altri sviluppatori di alto livello; primo libro di Beck nel 1999 sul metodo XP, Extreme Programming Vedi in generale hanno come punto di partenza l'idea del rapid prototyping una rivitalizzazione della filosofia del programmare come "arte (craft) piuttosto che processo industriale ("humanistic approach" nel talk di Beck a FASE '98) (approccio chaordic=chaos+order) sulla spinta del cambiamento in atto con l'internet economy che chiede flessibilità e velocità identificano approcci vari XP/Extreme Programming, Crystal Methods, Lean Development, Scrum, Adaptive Software Development/ASD problema principale secondo loro: evoluzione riuniti in un Manifesto for Agile Software Development (febbraio 2001) (vedi CACM, Comunication Association Computer Machine, sept. 2001) slide 42

43 Agile Software Manifesto Sulla base del risultato di un indagine su 200 progetti Conforming to plan was no longer the primary goal; satisfying customer at the time of delivery, not at project initiation took preference The question today is not how to stop change early in a project but how to better handle inevitable changes throughout its life cycle In contrasto con gli approcci tradizionali prescrittivi nei quali si tende ad assumere we could anticipate the complete set of requirements early and reduce cost by eliminating change We have come to value: individuals and interactions over processes and tools working software over comprehensive documentation customer collaboration over contract negotiation responding to change over following a plane slide 43

44 Concetti chiave dei metodi agili NB Quasi tutti concetti già noti. La novità sta soprattutto nel mix e nella mentalità che dà la prevalenza all'uso abbastanza libero di questi concetti piuttosto che all'uso di un modello di processo predefinito (infatti i vari approcci agili si differenziano nella libertà di come realizzano il mix) Ciclo rapido/consegne frequenti Ogni ciclo/iterazione affronta solo un pezzo e si deve concludere rapidamente Sviluppo test-driven Ogni funzionalità implementata deve essere accompagnata da test e testing Progettazione semplice motto YAGNI :You Aren't Going to Need It; pianificare in vista di funzionalità future è visto come perdita di tempo Refactoring just-in-time redesign (ma è anche una necessità per il modo di lavorare a pezzi /user stories) Pair programming programmazione esclusivamente in due sulla stessa stazione Meeting di riflessione e valutazione dopo ogni iterazione Tacit/implicit knowledge Conoscenza nella testa di chi lavora piuttosto che nei documenti Co-location Gli sviluppatori devono lavorare assieme e gli utenti devono essere presenti e disponibili slide 44

45 Stile di lavoro dei metodi agili Es.XP principles Vedi produce the first delivery in weeks (2-3) to achieve an early win and rapid feedback invent simple solution, so there is less to change and making those changes is easier improve design continually, making the next step less costly to implement test constantly, for early, less expensive, defect detection (Vedi XPRules e XP map nel sito xprogramming) slide 45

46 Principi base dell XP Pianificazione incrementale Story cards e task di sviluppo Piccole release Progettazione semplice Sviluppo guidato dai test Refactoring Pair-programming (programmazione a coppie) Possesso collettivo Integrazione continua Ritmo sostenibile Clienti on-site slide 46

47 Gestionali Problemi dei metodi agili La conoscenza è nella testa degli sviluppatori Si addice solo a sviluppatori molto bravi Contrattuali Tipo di contratto (a tempo o a risultato?) Quando è soddisfatto il contratto? Convalida No parallelismo Continuo refactoring anche dei test Manutenzione Documentazione scarsa Architettura complessa determinata dalla release attuale slide 47

48 Vedi bellissimo libro Valutazione B.Boehm-R.Turner, Balancing agility and discipline,addison- Wesley,2004 Stare alla larga dalle faide degli ultras In realtà Ciascuno degli approcci si trova a proprio agio se "gioca in casa" metodi prescrittivi: sistemi grandi e complessi, spesso safety-critical o con forti richieste di affidabilità e dunque requisiti stabili e ambiente predicibile metodi agili: sistemi e teams piccoli, clienti e utenti disponibili, ambiente e requisiti volatili Nuova proposta di Boehm (quello della spirale) approccio flessibile fondato sulla valutazione dei rischi: valutare per ogni aspetto del processo se conviene o no applicare, e in che misura, una componente del modello di processo Consiglio: avete già troppo nel sangue l'indisciplina e il gusto da hacker; qualunque dose di disciplina e di metodo per voi è persino poca; sarete sempre più sul versante del chaos che dell'order slide 48

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Processi di Sviluppo Agile Origini dello Sviluppo Agile Proposta di un gruppo di sviluppatori che rilevava una serie di criticità degli approcci convenzionali: Troppa rigidità dei

Dettagli

metodologie metodologia una serie di linee guida per raggiungere certi obiettivi

metodologie metodologia una serie di linee guida per raggiungere certi obiettivi metodologie a.a. 2003-2004 1 metodologia una serie di linee guida per raggiungere certi obiettivi più formalmente: un processo da seguire documenti o altri elaborati da produrre usando linguaggi più o

Dettagli

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

Processo parte III. Modello Code and fix. Modello a cascata. Modello a cascata (waterfall) Leggere Sez. 7.4 Ghezzi et al. Modello Code and fix Processo parte III Leggere Sez. 7.4 Ghezzi et al. Modello iniziale Iterazione di due passi scrittura del codice correzione degli errori Problemi: dopo una serie di cambiamenti, la

Dettagli

Introduzione all Ingegneria del Software

Introduzione all Ingegneria del Software Introduzione all Ingegneria del Software Alessandro Martinelli alessandro.martinelli@unipv.it 10 Dicembre 2013 Introduzione all Ingegneria del Software Ingegneria del Software Modelli di Sviluppo del Software

Dettagli

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

Modelli di Processo. www.vincenzocalabro.it

Modelli di Processo. www.vincenzocalabro.it Modelli di Processo Il Modello del Processo Il modello del processo stabilisce i principi di base su cui si fonda lo sviluppo del software (e a cui è dovuto il successo o l insuccesso) Non esiste un unico

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

Ingegneria del Software. Processi di Sviluppo

Ingegneria del Software. Processi di Sviluppo 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

Dettagli

Ciclo di vita del progetto

Ciclo di vita del progetto IT Project Management Lezione 2 Ciclo di vita del progetto Federica Spiga A.A. 2009-2010 1 Ciclo di vita del progetto Il ciclo di vita del progetto definisce le fasi che collegano l inizio e la fine del

Dettagli

Sviluppo Agile. Prof. Filippo Lanubile. Processo software

Sviluppo Agile. Prof. Filippo Lanubile. Processo software Sviluppo Agile I processi (di sviluppo) del software bisogni nuovi o modificati Processo software Prodotto software nuovo o modificato Un processo software descrive quali sono le attività che concorrono

Dettagli

SCD IS. Processi software. Processi Software. UniPD - 2009 - Ingegneria del Software mod. A 1. Definizioni. Modelli di ciclo di vita

SCD IS. Processi software. Processi Software. UniPD - 2009 - Ingegneria del Software mod. A 1. Definizioni. Modelli di ciclo di vita Processi software Anno accademico 2009/10 Ingegneria del mod. A Tullio Vardanega, tullio.vardanega@math.unipd.it SCD IS Definizioni Ciclo di vita Copre l evoluzione di un prodotto dal concepimento al ritiro

Dettagli

Lezione 2 Ciclo di Vita e ProcessiSoftware

Lezione 2 Ciclo di Vita e ProcessiSoftware Lezione 2 Ciclo di Vita e ProcessiSoftware Ingegneria del Software 2 CVS e Processi Software 1 Riferimenti bibliografici I. Sommerville Ingegneria del Software 8a edizione Cap.4 R. Pressman- Principi di

Dettagli

2. Ciclo di Vita e Processi di Sviluppo

2. Ciclo di Vita e Processi di Sviluppo 2. Ciclo di Vita e Processi di Sviluppo come posso procedere nello sviluppo? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 2. Ciclo di Vita e Processi di

Dettagli

Progetto di Informatica III

Progetto di Informatica III Progetto di Informatica III Sviluppo Agile (Agile Software Development) Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Metodologia agile Agile Manifesto Che cos è l agilità

Dettagli

UML e (R)UP (an overview)

UML e (R)UP (an overview) Lo sviluppo di sistemi OO UML e (R)UP (an overview) http://www.rational.com http://www.omg.org 1 Riassumento UML E un insieme di notazioni diagrammatiche che, utilizzate congiuntamente, consentono di descrivere/modellare

Dettagli

Introduzione all Agile Software Development

Introduzione all Agile Software Development IBM Rational Software Development Conference 5RPDRWWREUH 0LODQR RWWREUH Introduzione all Agile Software Development 0DULDQJHOD2UPH Solution Architect IBM Rational Services PRUPH#LWLEPFRP 2008 IBM Corporation

Dettagli

1. L Ingegneria del Software

1. L Ingegneria del Software 1. L Ingegneria del Software Obiettivi della lezione: Definire cosa si intende per Ingegneria del Software Discutere i concetti di prodotto software e di processo software Spiegare il concetto di visibilità

Dettagli

13. Ciclo di Vita e Processi di Sviluppo

13. Ciclo di Vita e Processi di Sviluppo 13. Ciclo di Vita e Processi di Sviluppo come posso procedere nello sviluppo? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 13. Ciclo di Vita e Processi

Dettagli

Processi di Sviluppo Software Introduzione. Giuseppe Calavaro

Processi di Sviluppo Software Introduzione. Giuseppe Calavaro Processi di Sviluppo Software Introduzione Giuseppe Calavaro Processi di sviluppo software - Agenda Differenza tra Programmazione e Progettazione SW I Processi di Sviluppo Software Waterfall Spirale RUP

Dettagli

Ciclo di Vita Evolutivo

Ciclo di Vita Evolutivo Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione

Dettagli

Ciclo di vita del software

Ciclo di vita del software Ciclo di vita del software Nel corso degli anni, nel passaggio dalla visione artigianale alla visione industriale del software, si è compreso che il processo andava formalizzato attraverso: un insieme

Dettagli

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

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

Indice. Prefazione all edizione italiana

Indice. Prefazione all edizione italiana Indice Prefazione all edizione italiana XV Capitolo 1 Il software e l ingegneria del software 1 1.1 L evoluzione del ruolo del software 3 1.2 Il software 5 1.3 La natura mutevole del software 8 1.4 Il

Dettagli

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale 18 aprile 2012 Il punto di vista dell OEM sulla norma ISO 26262 per la Sicurezza Funzionale dei veicoli: la sfida dell integrazione nei processi aziendali Marco Bellotti Functional Safety Manager Contenuti

Dettagli

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

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard Quality gate Nei punti chiave del processo di sviluppo del software, viene integrato un insieme di quality gate per monitorare la qualità del prodotto intermedio prima che quest ultimo possa passare al

Dettagli

Approcci agili per affrontare la sfida della complessità

Approcci agili per affrontare la sfida della complessità Approcci agili per affrontare la sfida della complessità Firenze, 6 marzo 2013 Consiglio Regionale della Toscana Evento organizzato dal Branch Toscana-Umbria del PMI NIC Walter Ginevri, PMP, PgMP, PMI-ACP

Dettagli

Processi per lo sviluppo rapido del software

Processi per lo sviluppo rapido del software Lezione 3 Processi per lo sviluppo rapido del software Sviluppo Rapido del Software Slide 1 Riferimenti bibliografici I. Sommerville Ingegneria del Software 8a edizione Cap.17 R. Pressman- Principi di

Dettagli

I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo

I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo Luca Cabibbo Analisi e Progettazione del Software Sviluppo iterativo, evolutivo e agile Capitolo 2 marzo 2015 Lo sviluppo iterativo dovrebbe essere utilizzato solo per i progetti che si desidera che vadano

Dettagli

Ingegneria del Software Testing. Corso di Ingegneria del Software Anno Accademico 2012/2013

Ingegneria del Software Testing. Corso di Ingegneria del Software Anno Accademico 2012/2013 Ingegneria del Software Testing Corso di Ingegneria del Software Anno Accademico 2012/2013 1 Definizione IEEE Software testing is the process of analyzing a software item to detect the differences between

Dettagli

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

Dettagli

Il Processo Software

Il Processo Software Il Processo Software 03/04/13 Prodotto Software Prodotto di qualità Tempi e costi determinati Processo Software Attività portanti Famiglia di compiti Attività ausiliari Quadro di riferimento Processo Software

Dettagli

Il Processo Software

Il Processo Software Il Processo Software 29-03-2012 Prodotto Software Prodotto di qualità Tempi e costi determinati Processo Software Attività portanti Famiglia di compiti Attività ausiliari Quadro di riferimento Processo

Dettagli

Agile. mercoledì, 1 luglio 2015, 3:05 p. Prof. Tramontano docente Federico II ingegneria del software. Sviluppo Agile: metaprocesso

Agile. mercoledì, 1 luglio 2015, 3:05 p. Prof. Tramontano docente Federico II ingegneria del software. Sviluppo Agile: metaprocesso Agile mercoledì, 1 luglio 2015, 3:05 p. Prof. Tramontano docente Federico II ingegneria del software Sviluppo Agile: metaprocesso Molti progetti software falliscono Sì parte dagli anni 2000 Millennium

Dettagli

Il Capability Maturity Model CMM. Il Capability Maturity Model. Il concetto di maturità (2) Il concetto di capability. Rapporti tra i livelli

Il Capability Maturity Model CMM. Il Capability Maturity Model. Il concetto di maturità (2) Il concetto di capability. Rapporti tra i livelli Il Capability Maturity Model Il Capability Maturity Model CMM Il SW-CMM (SW - Capability Maturity Model) definisce un modello dei processi di sviluppo del software e un insieme di regole per il loro miglioramento.

Dettagli

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

Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite. Agile Group DIEE, Università di Cagliari www.agile.diee.unica. Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite Agile Group DIEE, Università di Cagliari www.agile.diee.unica.it Agile Group Agile Group, gruppo di ricerca su Ingegneria del SW,

Dettagli

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

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

* Che cos è un processo software

* Che cos è un processo software Luca Cabibbo Analisi e Progettazione del Software Sviluppo iterativo, evolutivo e agile Capitolo 2 marzo 2013 Lo sviluppo iterativo dovrebbe essere utilizzato solo per i progetti che si desidera che vadano

Dettagli

Innovazione di processo e di prodotto in un azienda del settore domotica

Innovazione di processo e di prodotto in un azienda del settore domotica Innovazione di processo e di prodotto in un azienda del settore domotica Marco Catuozzo (Responsabile R&D, sede di Erba) Mauro Sarchi (Project Leader applicazioni multimediali embedded, sede di Erba) Bticino

Dettagli

Modelli di processo per lo sviluppo del software: modelli lineari e modelli iterativi

Modelli di processo per lo sviluppo del software: modelli lineari e modelli iterativi Modelli di processo per lo sviluppo del software: modelli lineari e modelli iterativi Prof. Paolo Ciancarini Corso di Ingegneria del Software CdL Informatica Università di Bologna Obiettivi di questa lezione

Dettagli

Dall analisi dei requisiti alla specifica della soluzione

Dall analisi dei requisiti alla specifica della soluzione Dall analisi dei requisiti alla specifica della soluzione G.Raiss - 4 maggio 2001 1 IL processo di produzione del sw Passando da un approccio artigianale ad uno industriale nello sviluppo del software,

Dettagli

Software. Engineering

Software. Engineering Software Il modello CMMI Engineering nelle organizzazioni software Agenda Focalizzazione sul processo CMMI come modello per il miglioramento dei processi Struttura del modello CMMI Aree di processo Riferimenti

Dettagli

Glossario Standard dei termini usati nell Ingegneria dei Requisiti

Glossario Standard dei termini usati nell Ingegneria dei Requisiti Glossario Standard dei termini usati nell Ingegneria dei Requisiti Versione 1.3 (1 Dicembre 2014) DOCUMENTO DI TRACCIABILITÁ DEI TERMINI tra GLOSSARIO REQB in LINGUA e GLOSSARIO tradotto in LINGUA ITALIANA

Dettagli

PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI

PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI OBIETTIVI 1. Descrivere approcci e attività tipiche per pianificare e impostare il progetto di un S.I. 2. Identificare problemi chiave 3. Illustrare alcuni

Dettagli

Gestione dello sviluppo software Modelli Agili

Gestione dello sviluppo software Modelli Agili Università di Bergamo Facoltà di Ingegneria GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_3 V1.1 Gestione dello sviluppo software Modelli Agili Il contenuto del documento è liberamente utilizzabile dagli

Dettagli

Glossario Standard dei termini usati nell Ingegneria dei Requisiti

Glossario Standard dei termini usati nell Ingegneria dei Requisiti Glossario Standard dei termini usati nell Ingegneria dei Requisiti Versione 1 (15 aprile 2013) Prodotto dal Board DOCUMENTO DI TRACCIABILITÁ DEI TERMINI tra GLOSSARIO REQB in LINGUA e GLOSSARIO ITA-REQB

Dettagli

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi Università di Bergamo Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica INGEGNERIA DEL SOFTWARE Prof. Paolo Salvaneschi 1 Obiettivi Scopi del corso: - Fornire gli elementi di base della disciplina,

Dettagli

Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9

Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9 Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9 Lezione 15: P.M.: metodologie di progetto Prof.ssa R. Folgieri email: folgieri@dico.unimi.it folgieri@mtcube.com 1 Modelli di conduzione

Dettagli

Poca documentazione: uso di Story Card e CRC (Class Responsibility Collabor) Collaborazione con il cliente rispetto alla negoziazione dei contratti

Poca documentazione: uso di Story Card e CRC (Class Responsibility Collabor) Collaborazione con il cliente rispetto alla negoziazione dei contratti Sviluppo Agile [Cockburn 2002] Extreme Programming (XP) [Beck 2000] Sono più importanti auto-organizzazione, collaborazione, comunicazione tra membri del team e adattabilità del prodotto rispetto ad ordine

Dettagli

Agili, snelli e scattanti!

Agili, snelli e scattanti! Agili, snelli e scattanti! Dipartimento di Scienze Odontostomatologiche 4 Giugno 2013 Emiliano Soldi PMP, PMI-ACP, CSM Agile Practice Leader & Coach http://www.emilianosoldipmp.info @EmilianoSoldi Agile

Dettagli

Riccardo Sponza Technical Evangelism Manager Microsoft Italia

Riccardo Sponza Technical Evangelism Manager Microsoft Italia Riccardo Sponza Technical Evangelism Manager Microsoft Italia SOA/EDA Composite Apps Software + Services Esercizio EAI Integrazione Punto-a-Punto Web services Consolidamento dell Infrastruttira Razionalizzazione

Dettagli

Modellistica Medica. Maria Grazia Pia INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Modellistica Medica. Maria Grazia Pia INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 1 Introduzione al corso Obiettivi Programma Esercitazioni Prerequisiti

Dettagli

Paradigma object-oriented

Paradigma object-oriented Paradigma object-oriented Dati & Comportamento Implementazione trasparente dei servizi Facile mantenimento Omogeneità nella gerarchia dati-funzioni Procedural approach OO approach Data hierarchy Replaced

Dettagli

La nuova ISO 9001 e le aziende di sviluppo software

La nuova ISO 9001 e le aziende di sviluppo software La nuova ISO 9001 e le aziende di sviluppo software Giovanni A. Cignoni, Dip. di Informatica, Univ. di Pisa Davide Morano, SIAS - Gruppo KataWeb Ottobre 2000 Sommario L impostazione della nuova ISO 9001,

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

Metodologie di progettazione

Metodologie di progettazione Metodologie di progettazione 1 Metodologie di progettazione Una procedura per progettare un sistema Il flusso di progettazione può essere parzialmente o totalmente automatizzato. Un insieme di tool possono

Dettagli

Chi, come e quando predispone il contenuto delle specifiche?

Chi, come e quando predispone il contenuto delle specifiche? Chi, come e quando predispone il contenuto delle specifiche? Giovanna Petrone Dipartimento di Informatica Università di Torino La Crisi del Software Problemi con il software: Spesso consegnato troppo tardi

Dettagli

Ingegneria del Software 2

Ingegneria del Software 2 Politecnico di Milano Anno Accademico 2010/2011 Ingegneria del Software 2 Corso della Prof.ssa Elisabetta Di Nitto Stefano Invernizzi Facoltà di Ingegneria dell Informazione Corso di Laurea Magistrale

Dettagli

Echi da Amsterdam. Titolo: Sintesi presentazioni Metodologia Agile. Sintesi del Leadership Meeting e dell EMEA Congress 2009. Relatore: Bruna Bergami

Echi da Amsterdam. Titolo: Sintesi presentazioni Metodologia Agile. Sintesi del Leadership Meeting e dell EMEA Congress 2009. Relatore: Bruna Bergami Echi da Amsterdam Sintesi del Leadership Meeting e dell EMEA Congress 2009 Titolo: Sintesi presentazioni Metodologia Agile Relatore: Bruna Bergami PMI NIC - Tutti i diritti riservati Milano, 19 Giugno

Dettagli

Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9

Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9 Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9 Lezione 16: P.M.: metodologie di progetto Prof.ssa R. Folgieri email: folgieri@dico.unimi.it folgieri@mtcube.com 1 La metologia R.U.P.

Dettagli

Processi per lo sviluppo rapido del software

Processi per lo sviluppo rapido del software Lezione 3 Processi per lo sviluppo rapido del software Sviluppo Rapido del Software Slide 1 Riferimenti bibliografici I. Sommerville Ingegneria del Software 8a edizione Cap.17 R. Pressman- Principi di

Dettagli

Agile in tough economic times. Agile in tough. Slide 1 30 April 2009

Agile in tough economic times. Agile in tough. Slide 1 30 April 2009 Slide 1 Indice Storia Agile di una startup nel nostro progetto Qual e il valore aggiunto di Agile nei periodi di incertezza Conclusioni Slide 2 Non disclosure agreement Ho firmato un NDA che non mi permette

Dettagli

Presentazione per. «La governance dei progetti agili: esperienze a confronto»

Presentazione per. «La governance dei progetti agili: esperienze a confronto» Presentazione per «La governance dei progetti agili: esperienze a confronto» Pascal Jansen pascal.jansen@inspearit.com Evento «Agile Project Management» Firenze, 6 Marzo 2013 Agenda Due parole su inspearit

Dettagli

Manutenzione del software

Manutenzione del software del software Generalità Leggi dell evoluzione del software Classi di manutenzione Legacy systems Modelli di processo per la manutenzione 1 Generalità La manutenzione del software è il processo di modifica

Dettagli

Pubblicazioni COBIT 5

Pubblicazioni COBIT 5 Pubblicazioni COBIT 5 Marco Salvato CISA, CISM, CGEIT, CRISC, COBIT 5 Foundation, COBIT 5 Trainer 1 SPONSOR DELL EVENTO SPONSOR DI ISACA VENICE CHAPTER CON IL PATROCINIO DI 2 La famiglia COBIT 5 3 Aprile

Dettagli

UniRoma2 - Ingegneria del Software 1 1

UniRoma2 - Ingegneria del Software 1 1 Object Oriented Analysis - OOA La fase di OOA definisce, secondo un approccio ad oggetti, COSA un prodotto software deve fare (mentre la fase di OOD definisce, sempre secondo un approccio ad oggetti, COME

Dettagli

L integrazione della ISO 26262 con le metodologie Agili

L integrazione della ISO 26262 con le metodologie Agili L integrazione della ISO 26262 con le metodologie Agili 11 Workshop on Automotive Software & Systems Milano, 7 Novembre 2013 Ernesto Viale Agenda Overview AIDA Model AIDA for Agile L integrazione della

Dettagli

Valorizzazione della professionalità di SW Quality Assurance

Valorizzazione della professionalità di SW Quality Assurance Valorizzazione della professionalità di SW Quality Assurance 17 Esther BEVERE Miriam MERENDA ALTEN Italia Agenda Rilevanza della Professionalità del Software Tester Professionalità nel Testing Percorsi

Dettagli

extreme Programming in un curriculum universitario

extreme Programming in un curriculum universitario extreme Programming in un curriculum universitario Lars Bendix Department of Computer Science Lund Institute of Technology Sweden Università di Bologna, 18 giugno, 2002 Extreme Programming On-site customer

Dettagli

ESI International. Project Management & Business Analysis Solutions. www.esi-italy.it

ESI International. Project Management & Business Analysis Solutions. www.esi-italy.it ESI International Project Management & Business Analysis Solutions www.esi-italy.it Chi siamo Leader globali nei servizi di PERFORMANCE IMPROVEMENT in: Project Management Business Analysis Agile Project

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Progettazione orientata agli oggetti Introduzione a UML

Progettazione orientata agli oggetti Introduzione a UML Progettazione orientata agli oggetti Introduzione a UML Claudia Raibulet raibulet@disco.unimib.it Il processo di sviluppo software Rappresenta un insieme di attività per la specifica, progettazione, implementazione,

Dettagli

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

Osservatorio P 3 MO. Il PMO come strumento di diffusione ed enforcement della cultura di Project Management 10-dic-2008 Osservatorio P 3 MO Il PMO come strumento di diffusione ed enforcement della cultura di Project Management Oscar Pepino Consigliere Esecutivo Reply S.p.A. 2 Sommario Gruppo Reply - scenario

Dettagli

Project Management e Business Analysis: the dynamic duo. Firenze, 25 Maggio 2011

Project Management e Business Analysis: the dynamic duo. Firenze, 25 Maggio 2011 Project Management e Business Analysis: the dynamic duo Firenze, 25 Maggio 2011 Grazie! Firenze, 25 Maggio 2011 Ing. Michele Maritato, MBA, PMP, CBAP 2 E un grazie particolare a www.sanmarcoinformatica.it

Dettagli

Tutto il materiale inspirato a Steve Blank

Tutto il materiale inspirato a Steve Blank PERCHè SIAMO QUI PAOLA PISANO pisano@di.unito.it UN RINGRAZIAMENTO AGLI STUDENTI DEL SECONDO ANNO DI INFORMATICA PER LA REVISIONE DELLE SLIDE Tutto il materiale inspirato a Steve Blank PERCHE SIAMO QUI?

Dettagli

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

Progettazione del Software. Emiliano Casalicchio. Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti Progettazione del Software L3.1 Emiliano Casalicchio Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti http://www.ce.uniroma2.it/courses/psw (Basato su materiale didattico

Dettagli

Software Embedded Integration Testing. Ing. Matteo Maglio Milano, 17 Febbraio 2011

Software Embedded Integration Testing. Ing. Matteo Maglio Milano, 17 Febbraio 2011 Software Embedded Integration Testing Ing. Matteo Maglio Milano, 17 Febbraio 2011 Chi siamo Skytechnology è una società di ingegneria che opera nell area dei sistemi embedded aiutando i propri Clienti

Dettagli

Principi di Ingegneria del software 5/ed Roger S. Pressman. Glossario

Principi di Ingegneria del software 5/ed Roger S. Pressman. Glossario Principi di Ingegneria del software 5/ed Glossario Affidabilità il grado in cui un programma svolge la propria funzione con la precisione richiesta in un certo intervallo di tempo. Alfa testing testing

Dettagli

Ciclo di vita del software: strumenti e procedure per migliorarne la sicurezza. Roberto Ugolini roberto.ugolini@postecom.it

Ciclo di vita del software: strumenti e procedure per migliorarne la sicurezza. Roberto Ugolini roberto.ugolini@postecom.it Ciclo di vita del software: strumenti e procedure per migliorarne la sicurezza Roberto Ugolini 1 Il processo di sviluppo sicuro del codice (1/2) Il processo di sviluppo sicuro del codice () è composto

Dettagli

GESTIONE IMMOBILIARE REAL ESTATE

GESTIONE IMMOBILIARE REAL ESTATE CONOSCENZA Il Gruppo SCAI ha maturato una lunga esperienza nell ambito della gestione immobiliare. Il know-how acquisito nei differenti segmenti di mercato, ci ha permesso di diventare un riferimento importante

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. Modelli del ciclo vita del software 2.1 Modello a cascata 2.2 Modelli incrementali

Dettagli

Progetto software 2008/2009. Docente Marianna Nicolosi Asmundo

Progetto software 2008/2009. Docente Marianna Nicolosi Asmundo Progetto software 2008/2009 Docente Marianna Nicolosi Asmundo Obiettivi del corso Coinvolgervi nello sviluppo di un progetto software in cui mettere a frutto le conoscenze che avete acquisito durante i

Dettagli

Introduzione a UML. Iolanda Salinari

Introduzione a UML. Iolanda Salinari Introduzione a UML Iolanda Salinari Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare

Dettagli

MAD 2 www.mad2.eu info@mad2.eu a project by tree srl 1

MAD 2 www.mad2.eu info@mad2.eu a project by tree srl 1 Il percorso formativo MAD 2 rappresenta un efficace risposta ai fabbisogni di formazione di specifiche figure professionali specializzate nella progettazione, sviluppo e design di applicazioni per smartphone

Dettagli

Noi siamo quello che facciamo ripetutamente. Perciò l'eccellenza non è un'azione, ma un'abitudine. Aristotele. Qualità del Software

Noi siamo quello che facciamo ripetutamente. Perciò l'eccellenza non è un'azione, ma un'abitudine. Aristotele. Qualità del Software Noi siamo quello che facciamo ripetutamente. Perciò l'eccellenza non è un'azione, ma un'abitudine. Aristotele Qualità del Software Quality Assurance per tutte le esigenze Web Site Testing Mobile Application

Dettagli

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

Software solido e usabile: come integrare ingegneria dell usabilità e del software Software solido e usabile: come integrare ingegneria dell usabilità e del software Giorgio Brajnik e Andrea Baruzzo Dip. di Matematica e Informatica Università di Udine e Interaction Design Solutions srl

Dettagli

Ciclo e Processo di Sviluppo: approcci tradizionali, evolutivi, agili, free open source software

Ciclo e Processo di Sviluppo: approcci tradizionali, evolutivi, agili, free open source software Ciclo e Processo di Sviluppo: approcci tradizionali, evolutivi, agili, free open source software 1 Ingegneria del software L istituzione e l impiego di principi ingegneristici fondati, allo scopo di ottenere

Dettagli

CEPIS e-cb Italy Report. Roberto Bellini (da leggere su www.01net.it )

CEPIS e-cb Italy Report. Roberto Bellini (da leggere su www.01net.it ) CEPIS e-cb Italy Report Roberto Bellini (da leggere su www.01net.it ) Free online selfassessment tool Online services Enables the identification of competences needed for various ICT roles e-cf Competences

Dettagli

I profili professionali EUCIP per le architetture Service Oriented

I profili professionali EUCIP per le architetture Service Oriented Sede AICA Liguria Competenze Professionali per l Innovazione Digitale Le competenze per la SOA-Service Oriented Architecture I profili professionali EUCIP per le architetture Service Oriented Roberto Ferreri

Dettagli

Interfaccia Utente. Prototipi. Sviluppo SW - Usabilità. Sviluppo SW a cascata. Il ciclo di vita a stella (Hix & Hartson)

Interfaccia Utente. Prototipi. Sviluppo SW - Usabilità. Sviluppo SW a cascata. Il ciclo di vita a stella (Hix & Hartson) Interfaccia Utente An interface is a bridge between the world of the product or system and the world of the user. It is the means by which the users interact with the product to achieve their goals. It

Dettagli

Finalità del ciclo di vita nel System Engineering

Finalità del ciclo di vita nel System Engineering Fasi del ciclo di vita overview Finalità del ciclo di vita nel System Engineering Modularità Individuazione più agevole delle componenti riutilizzabili Ciclo di vita Esaustività Certezza di coprire tutte

Dettagli

Università degli studi dell Aquila. Sistemi informativi aziendali

Università degli studi dell Aquila. Sistemi informativi aziendali Università degli studi dell Aquila Sistemi informativi aziendali 6 C.F.U. 9 C.F.U. Ing. Gaetanino Paolone (gaetanino.paolone@univaq.it) Prof. Dr. Luciano Fratocchi (luciano.fratocchi@univaq.it) Contenuti

Dettagli

Business white paper. Sette best practice per creare applicazioni che rispondano alle esigenze aziendali

Business white paper. Sette best practice per creare applicazioni che rispondano alle esigenze aziendali Business white paper Sette best practice per creare applicazioni che rispondano alle esigenze aziendali Indice 3 Sommario esecutivo 3 Introduzione 3 Best practice a livello aziendale 5 Best practice a

Dettagli

Il software nel settore aerospaziale: indicazioni per la certificazione

Il software nel settore aerospaziale: indicazioni per la certificazione Il software nel settore aerospaziale: indicazioni per la certificazione 1 AGENDA Criticità del software nel settore aerospaziale Standard di riferimento esistenti e loro similitudini/differenze (panoramica

Dettagli

LEZIONE 9 - Linguaggi di Modellazione & UML

LEZIONE 9 - Linguaggi di Modellazione & UML Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 9 - Linguaggi di Modellazione & UML Catia Trubiani Gran Sasso Science Institute (GSSI), L Aquila catia.trubiani@gssi.infn.it Cosa sono? 2 1

Dettagli

Simone Riccetti. Applicazioni web:security by design

Simone Riccetti. Applicazioni web:security by design Simone Riccetti Applicazioni web:security by design Perchè il problema continua a crescere? Connettività: Internet L incremento del numero e delle tipologie d vettori di attacco è proporzionale all incremento

Dettagli

CMMI-Dev V1.3. Capability Maturity Model Integration for Software Development, Version 1.3. Roma, 2012 Ercole Colonese

CMMI-Dev V1.3. Capability Maturity Model Integration for Software Development, Version 1.3. Roma, 2012 Ercole Colonese CMMI-Dev V1.3 Capability Maturity Model Integration for Software Development, Version 1.3 Roma, 2012 Agenda Che cos è il CMMI Costellazione di modelli Approccio staged e continuous Aree di processo Goals

Dettagli

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI PROCEDURA DI SELEZIONE PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, ANALISI, SVILUPPO, MANUTENZIONE ADEGUATIVA, CORRETTIVA ED EVOLUTIVA DI SISTEMI INFORMATIVI SU PIATTAFORMA IBM WEBSPHERE BPM (EX LOMBARDI)

Dettagli

Collaudo e qualità del software Organizzazione, psicologia e competenza

Collaudo e qualità del software Organizzazione, psicologia e competenza Collaudo e qualità del software Organizzazione, psicologia e competenza Relatore Ercole Colonese Roma, 29 novembre 2010 Organizzazione del test Temi trattati nel libro Il gruppo di test Competenze e specializzazione

Dettagli

PROGETTAZIONE DEL SOFTWARE

PROGETTAZIONE DEL SOFTWARE PROGETTAZIONE DEL SOFTWARE EMILIANO CASALICCHIO DIPARTIMENTO DI INFORMATICA E SISTEMISTICA SAPIENZA UNIVERSITÀ DI ROMA SEDE DI RIETI HTTP://WWW.CE.UNIROMA2.IT/COURSES/PSW! Cos è UML UNIFIED MODELING LANGUAGE!

Dettagli

Giuseppe Santucci. Qualità nella Produzione del Software. 02- Il sistema assicurazione qualità (SQAS: Sofware Quality Assurance System)

Giuseppe Santucci. Qualità nella Produzione del Software. 02- Il sistema assicurazione qualità (SQAS: Sofware Quality Assurance System) Giuseppe Santucci Qualità nella Produzione del Software 02- Il sistema assicurazione qualità (SQAS: Sofware Quality Assurance System) 02SQAS.1 Peculiarità del SW XXX warrants that the media (!) on which

Dettagli