Il processo di sviluppo

Slides:



Advertisements
Presentazioni simili
“Niente di Nuovo” Mercatino dell’Usato
Advertisements

Introduzione al linguaggio R
ARI sezione di Parma Sito ariparma ARI sezione di Parma.
6/12/2000 Un esperimento di programmazione estrema Una nuova metodologia di programmazione Tesi di Marco Tamanti.
Introduzione ai Casi dUso (c) TECNET DATI (c) TECNET DATI Pag. 2 Dai requisiti ai casi duso obiettividefinire gli obiettivi –gli obiettivi del committente.
Introduzione al linguaggio R
Unità E1 Interfacce grafiche.
SISTEMA INFORMATIVO AZIENDALE
I contenuti di questa presentazione sono stati realizzati a cura di M
Java Enterprise Edition (JEE)
Motore di news per portali Web: progetto ed implementazione Relatore: Chiar.mo Prof. Sonia Bergamaschi Tesi di Laurea di: Roberto Delfini Anno Accademico.
DOCUMENTAZIONE DI SCHEMI E/R
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – sede Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di un.
COMPARAZIONE DI STRUMENTI SOFTWARE PER LA CREAZIONE, LA GESTIONE E LINTEGRAZIONE DI ONTOLOGIE Università degli Studi Modena e Reggio Emilia Facoltà di.
TESI DI LAUREA Ingegneria Elettronica Applicata
Processo software il processo.
Processo software il processo.
Corso di Laurea in Informatica
Cagliari 4 Ottobre 2002 Krenesiel ESPERIENZA e LINEE KRENESIEL Workshop NAME Alessandra Spada
I Sistemi di Supporto alle Decisioni Chiara Mocenni
Il ciclo di vita della progettazione di un sistema informativo
Analisi dettagliata e design B. Pernici M.G. Fugini AA
Analisi dettagliata e design B. Pernici. Sommario Analisi dettagliata –Separazione interfaccia, controllo, entita Design –Logical view –Progettazione.
Luca Capitani Title Laboratorio di Web e Interface Design Università degli Studi di Roma La Sapienza.
1 ICT in Europa: Mercato e Competenze Competenze: fattore critico nella società dellinformazione Certificazioni Professionali e Università
Corso di Informatica per Giurisprudenza Lezione 5
costo del ciclo di vita dei prodotti nei settori ad alta tecnologia
Un ambiente multilinguale per la modellazione e la prototipazione rapida di Sistemi Multi-Agente.
Introduzione al linguaggio R
Ciclo di vita del software
Finanza Direzione Centrale
Daniel Stoilov Tesi di Laurea
Architettura Java/J2EE
M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi.
Introduzione alla modellazione di sistemi interattivi
Metodologia sviluppo KBS Fabio Sartori 12 ottobre 2005.
Presentazione Campus Club
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
Presentazione Aziendale. La missione di Shape è la promozione di servizi integrati per le grandi imprese che vanno dalle consulenze specialistiche alle.
L’ingegneria del software
Il processo di sviluppo del Sw: strategia make
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 2 - Gestione requisiti Ernesto Damiani Università degli Studi di Milano.
Realizzazione di una wiki orientata ai servizi
Sviluppo Web Agile con Castle MonoRail Diego Guidi DotNetMarche.Start() 12 ottobre 2006.
Ingegneria del software Modulo 4 -Processi software Unità didattica 1 -Rational Unified Process Ernesto Damiani Università degli Studi di Milano Lezione.
Analisi dei Requisiti (Requirements Engineering) Seminario RE Università degli Studi di Padova, 12 Gennaio 2004.
Ingegneria dei Requisiti - e dei Sistemi - Giuseppe Berio DI-Unito 2007.
Ingegneria del Software Giuseppe Berio DI-Unito 2006.
Esercitazioni di Ingegneria del Software con UML
MODELLI DI PROCESSO DI PRODUZIONE SOFTWARE
Che cos’è un progetto? È un’impresa: -complessa -unica
I PASSI PER L’IMPLEMENTAZIONE DEGLI STANDARD , Napoli Roch Bertucat.
MGCI – Project Supervisor
La Piattaforma del Credito Approfondimenti - integrazione Bergamo, 16 marzo 2010.
Database Concetti di base
Analisi dettagliata e design
LABORATORIO DI INFORMATICA Ingegneria Informatica a. a
By: Powered by:. Tecnologia Microsoft La soluzione CCAnalyzer utilizza la tecnologia OLAP (On Line Analytical Processing) di Microsoft presente nel software.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 -Progettazione del software Ernesto Damiani Università degli Studi.
Corso di Laurea in Informatica
UML: Introduzione Corso IS I /03 Gianna Reggio Versione 0.0.
DIT Department of Information and Communication Technology Information System Ingegneria del Software: un caso di studio.
Stage di informatica 2006 Gestione reti, sistemi, mass storage, servizi, sicurezza, database, web application su sistemi Windows o Linux Mirko Di Salvatore.
La progettazione di un sito web
Standard e strumenti per lo sviluppo del software Marco Carezzano Andrea Andrenacci (ZEROPIU, Business Partner di Telecom Italia) Milano, 2 febbraio 2005.
Unified Modeling Language. –un linguaggio (e notazione) universale, per rappresentare qualunque tipo di sistema software –uno standard OMG (Object Management.
UML Unified Modelling Language Linguaggio per la modellazione unificato.
Progetto EuropAs Passaporto Digitale di Ascoli in Europa Modulo I Cultura digitale, utilizzo consapevole delle nuove tecnologie, codifica e decodifica.
Docente: Prof. Carlo Batini Laurea Magistrale in Informatica Modulo Architetture Dati A.A
Ingegneria del Software 2
Transcript della presentazione:

Il processo di sviluppo del software Dr. Dario Di Bella OST S.r.l. Organizzazione Sistemi Tecnologie Via T. Aspetti 157 - 35134 Padova Tel. 049-609078 e-mail: dibella@ost.it web: http://www.ost.it

Ingegneria del software Che cos’è il software? Una creazione artistica? Un prodotto industriale Alcuni attributi del software pervasività immaterialità complessità La crescita della domanda del software incremento annuale (a livello mondiale) 12% incremento annuale del numero degli addetti 4%

Software come prodotto industriale Caratteristiche Requisiti forniti da terze parti Numero elevato di funzionalità Sviluppo in team Integrazione Rischi Instabilità dei requisiti Dominio del problema Tempi ridotti Evoluzione tecnologica Aree del Project Management Scope Communication Cost Time Human Resources

Il processo di sviluppo a “Cascata” Modelli di processo Il processo di sviluppo a “Cascata” Analysis Design Development Test

Modello a cascata “ricorsivo” (B model - V model) Modelli di processo Modello a cascata “ricorsivo” (B model - V model) La ricorsività è spesso imposta dagli eventi: in particolare dall’instabilità dei requisiti dagli errori e dalle omissioni da una precisa scelta metodologica Analysis Design Development Test

Il processo di sviluppo a “Spirale” Modelli di processo Il processo di sviluppo a “Spirale” Test Analysis Deploy Unit Requirements Test Subsystem Requirement Evaluation System Requirement Evaluation Business Requirements Risk Analysis Proof of Concept Conceptual Design First Build Logical Design Second Build Physical Design Development Design Final Build Final Design

Il processo di sviluppo “Extreme Programming” Modelli di processo Il processo di sviluppo “Extreme Programming” (derivato da Rapid Prototyping [Rad]) Development Analysis Test Design

Il processo di sviluppo “Problem Solving” (Controlled iteration) Modelli di processo Il processo di sviluppo “Problem Solving” (Controlled iteration) Analysis Analysis Analysis Analysis Design Design Development Development Design Test Design Development Test Development Test Test Concept Design Execution Release

Scoping: modello degli attori Analysis Scoping: modello degli attori Sistema da realizzare Acquirente Agente Database Amministrazione Amministratore Sistema Attore: persona o macchina che interagisce con il sistema da realizzare

Scoping: diagramma degli use-case Analysis Scoping: diagramma degli use-case Attore Use case Use case: sequenza di interazioni tra attore e sistema al fine di realizzare un obiettivo funzionale (funzionalità) Sistema da realizzare Attore 1 Attore 2 Attore 3 Use Case 1.1 Use Case 2.1 Use Case 3.1 Use Case 1.2 Use Case 2.2 Use Case 2.3

Architettura: Organizzazione MVC (Model-View-Control) Design Architettura: Organizzazione MVC (Model-View-Control) Maschere Interfacce Forms Dialogo con utente Livello delle viste Livello dei controlli Moduli comunicazione viste-dati Utilità di calcolo Livello del modello dei dati Moduli per il trasporto dei dati Livello dei dati Tabelle File

Maschera visualizzazione Diagramma di sequenza di un use-case Design Architettura: Logical View Pannello comandi Carica dati Dato Maschera visualizzazione click beginFunc Attore requestData getData displayData Diagramma di sequenza di un use-case Viste Controlli Use case Attore Modelli di dati Dati

Architettura: Meccanismi chiave Design Architettura: Meccanismi chiave Insieme di funzionalità del sistema non definite dagli use case. Provengono da: Requisiti di sistema Esigenze implicite del sistema Esempi Meccanismo di identificazione Stile dell’interfaccia grafica Gestione della concorrenza Multilinguaggio Organizzazione della comunicazione Gestione degli errori

Design Architettura: WBS Architettura Meccanismi chiave Viste Controlli Dati Concorrenza Package 1 Tabella 1 Use Case 1 Use Case 2 Multilingua Package 2 Vista 1 Package 3 Vista 1 Tabella N Vista 2 Vista N

{ Scenari } Test Livelli di testing System test User Test System Test Integration Test Beta Test System test { Scenari } Use case Attore Scenario:possibile implementazione di un use-case

Gestione delle release Test Gestione delle release Regressione Quando durante la correzione di un errore si introducono nuovi errori Nuove Funzionalità System Test Bug Fixing Integration Test Nuova Release Segnalazioni Utente Integration Test Moduli corretti Elenco moduli dipendenti Regression Test Nuova Release Logical View

Gestione delle modifiche Un prodotto software è il tipo prodotto più soggetto alle richieste di modifica Motivazioni: Immaterialità del software Scarsa conoscenza del dominio del problema Finché non vedo non credo, non so Nuove idee fornite proprio dalla soluzione software Trattamento delle richieste di modifica Metodo preventivo: ottenere il maggior numero di agreement sul prodotto durante la fase iniziale di analisi Valutare sia il costo di realizzazione che il costo di impatto sul già fatto durante le successive fasi Valutare l’impatto sui tempi di progetto e sulle risorse di progetto Durante la fase di sviluppo, rinviare ad un altro progetto di realizzazione tutte le richieste di modifica che hanno impatto sull’architettura

Documentazione del software Tipi di documentazione Documentazione di analisi Destinata al committente e all’architetto software Utilizzare strumenti e notazioni con forte impatto visivo e significato chiaro anche per un non esperto del software Deve descrivere lo scope di progetto chiaramente e completamente Base degli accordi contrattuali Documentazione di design e realizzazione Destinata al team di progetto Utilizzare strumenti e notazioni tecniche precise e non ambigue Riferire sempre i documenti di analisi Documentare il più possibile Automatizzare Divulgare la documentazione

Motivi di insuccesso Principali motivi di insuccesso di un progetto software: Scarsa conoscenza del dominio del problema Accordi contrattuali non chiari Analisi non eseguita Completare l’analisi prima di iniziare Tempi di realizzazione eccessivamente ridotti Non attenta valutazione dei tempi e dei sovraccarichi sulle risorse Scarsa comunicazione nel team di progetto Inadeguatezza tecnologica Isteresi tecnologica Documentazione insufficiente Impossibilità di assicurare la manutenzione del prodotto realizzato Inadeguatezza del prodotto al dominio del problema

UML based (Rational Rose) Soluzione OST: Strumenti Microsoft Project UML based (Rational Rose) Soluzione OST: Pianificazione e schedulazione Gestione risorse di progetto Gestione margini a partire dai rischi di progetto Comunicazione tra gli stakeholder Gestione documenti e workflow Disponibilità in OST per tesi e stage post laurea su: Project Management Process Management Documentation Management Strumenti software per il Project Management e per il Documentation Management

Bibliografia Software Engineer: M.R. Cantor, “Object-Oriented Project Management with UML”, Wiley Computer Publishing, 1998 Extreme Programming: http://www.extremeprogramming.org K. Beck, “Extreme Programming Explained: Embrace Change”, Addison-Wesley, 1999 OO e UML: G. Booch, “Object-Oriented Analysis and Design”, Addison-Wesley, 1994 M. Fowler, K. Scott, “UML Distilled, Second Edition”, Addison-Wesley, 2000 Modello MVC: http://ootips.org/mvc-pattern.html E. Gamma et al., “Design Patterns”, Addison-Wesley, 1995 F. Bushmann, “Pattern Oriented Software Architecture”, Wiley Computer Publishing, 1996