Sistemi Informativi. Marino Segnan

Documenti analoghi
Sistemi Informativi. Marino Segnan

Ingegneria del Software

Corso di Ingegneria del Software. Modelli di produzione del software

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

Corso di Ingegneria del Software. Modelli di produzione del software

Redazione e Presentazione di Progetti Informatici

Corso di Ingegneria del Software

Processi iterativi. Marina Zanella - Ingegneria del Software RUP 1

Verifica e Validazione del Software

Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A2_2 V3.

2. INGEGNERIA DI SISTEMA

SCD IS. Processi Software. UniPD Ingegneria del Software mod. A 1. Parole chiave 3. Modelli di ciclo di vita.

Tecniche di Programmazione 2009/10

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

3. Ciclo di Vita e Processi di Sviluppo

Sviluppo software in gruppi di lavoro complessi 1

Un linguaggio per la rappresentazione formale di vincoli su scenari d'uso

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

SCD IS. Documentazione. Domande ricorrenti 1. Valutazione quantitativa 1. Perché documentare... UniPD Ingegneria del Software mod.

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati

Corso di Ingegneria del Software. Modelli di produzione del software

Pratiche di XP [Beck] Extreme Programming (XP) Story Card. Gioco di pianificazione

IS Corso di Ingegneria del Software 1

Agile in a Complex Environment

OPEN SOURCE. Concetti chiave e implicazioni per le scelte aziendali (fornitori e utenti)

Ottieni una panoramica completa del tuo business con soluzioni video IP intelligenti

Analisi e Progettazione del Software

PIANO DI STUDIO DELLA DISCIPLINA DISCIPLINA: Tecnologia e Progettazione di Sistemi Informatici e di Telecomunicazioni

Configuration Change Release Management

Verifica e Validazione del Software

Verifica e Validazione del Software

Catia Trubiani. Laboratorio di Ingegneria del Software a.a

Visualizzazione semplificata nuove funzionalità e nuovi prodotti per la visualizzazione in CODESYS

Unified Modeling Language (UML)

Evoluzione del ruolo dell informatico nell ambito dello sviluppo del software: una prospettiva storica. Informatici e sviluppo del software

Introduzione al software libero

SCD IS. Documentazione. Domande ricorrenti 1. Cosa documentare. Come documentare. Perché documentare 3. Domande ricorrenti 2. Perché documentare

Sistemi Informativi. Marino Segnan introduzione 1

Corso di Ingegneria del Software. Modelli di produzione del software

Traduzione e interpretazione

ottobre Fonti [SSA] Chapter 19, The Development Viewpoint Luca Cabibbo Punto di vista dello Sviluppo Luca Cabibbo SwA

Introduzione. Contenuti da Cap. 1 Ghezzi et al.

Verso l impresa 4.0 (2018) 1 Gennaio

ARAna: Athena Root Access analysis

Verifica e validazione: introduzione

Introduzione all ingegneria dei sistemi ICT

Sistemi informatici: Quanto il nostro business dipende da essi? Definire un piano di Disaster Recovery per i nostri dati

Migrazione dell'ambiente di produttività aziendale a strumenti Open Source

Il paradigma di programmazione OO

Gestione del Software Installazione e gestione repository

Modelli di processo. Marina Zanella - Ingegneria del Software Processo 1

Be Agile Sinesy 16 Ottobre FABIO BABUIN e MARTINA TOLDO

Nota Tecnica UBIQUITY 7 TN0023. Il documento descrive le novità introdotte con la versione 7 della piattaforma software ASEM Ubiquity.

Corso di Ingegneria del Software. Il modello UP

Sistemi informativi secondo prospettive combinate

Gestione dello sviluppo software Modelli Base

A. Ferrari sistemi informativi e sistemi informatici

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

IS Corso di Ingegneria del Software 1

Cenni sulla virtualizzazione

Linee Guida Acquisizione e Riuso software per le Pubbliche Amministrazioni. in consultazione sino al 5 maggio 2018

ALLPLAN BIMPLUS LA PIATTAFORMA OPEN BIM PER UNA COLLABORAZIONE DI SUCCESSO. ALLPLAN BIMPLUS 1

UNITA CAPITALIZZABILI PER LA FIGURA PROFESSIONALE: TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

La fase di Progettazione

Perche nasce questa necessita

Ingegneria del Software 2010

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10

Use Case Diagram. Catia Trubiani. Laboratorio di Ingegneria del Software a.a

Ingegneria del Software (e Prova Finale) Luciano Baresi

Informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere.

CONFIGURAZIONE E GESTIONE DEL DATABASE. rev giugno 2018

Diagrammi dei package. All aumentare delle dimensioni dei sistemi sw, diviene difficile comprendere e modificare gli stessi

Materiale didattico. Sommario

2. Finalità generali previste dalle indicazioni nazionali

Luca Cabibbo A P S. Analisi e Progettazione del Software. Agile. 3.1 Metodi e atteggiamenti agili

OPEN SOURCE. Concetti chiave e implicazioni per le scelte aziendali (fornitori e utenti)

Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1

Isaac DE è una piattaforma Big Data completa di strumenti e servizi per l installazione, la configurazione, l uso, la gestione e il monitoraggio di

22 novembre 2006 Palazzo Marini Sala delle Conferenze. **** Presentazione del Prof. Luigi Cantone

e-metodi nuove metodologie per l economia digitale CASE extreme Computer Aided Engeneering

UML Unified Modeling Language

Contenuto del documento: Premessa...3 Principi Generali...3 Approccio Metodologico...3 Applicazione del Modello...5 Struttura del Modello...5 Definizi

Cenni sulla virtualizzazione

UML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato

Introduzione al corso

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

11/12/2017. TRASFERIMENTO TECNOLOGICO E SVILUPPO DEL CAPITALE INTELLETTUALE Prof. Christian Corsi. Technology Ventures

Introduzione alle Basi di Dati

System Manual ESEMPI INTEGRAZIONE PRODOTTI. Teleassistenza PLC Twido con Modem GSM

Automatic generation of test cases

Il PROCESSO UNIFICATO

gvsig come strumento per la condivisione dei dati geografici della Regione Sardegna

IS Corso di Ingegneria del Software 1

PER L INDUSTRIA DENIM VERIFICA TAGLIO IMBALLO

IL PIANO MARKETING.

Transcript:

Sistemi Informativi Marino Segnan 1

Contesto A livello generale realizzare SW presenta gli stessi problemi organizzativi di una qualunque attivita' coinvolgente gruppi di persone. Esistono poi delle specificita' del processo di sviluppo SW che hanno portato all'elaborazione di metodologie specifiche ad esso 2

Contenuti Accenneremo prima alle specificita' di un progetto SW Considereremo successivamente un progetto SW come un progetto generico (relazioni tra persone e gruppi) Esamineremo infine un paio di metodologie specifiche di gestione di un progetto SW 3

Richiamo: complessita' di un SI Costruisco un SI per archiviare dei dati, es ricette di cucina, ad uso personale, su file. Vision: tutti implicito, nella mia testa Dati: nessuna Classe ; solo stringhe Casi d'uso unico: uso editor per modificare e cercare dati 4

Complessita' di un SI Mancano praticamente tutti i costi e vincoli: Il sistema e' su solo quando mi serve Sono nulli: Tempo e costo di sviluppo, apprendimento, modifiche, coordinamento test etc Il file e' portabile su tutti gli OS, in locale o remoto 5

Aumento complessita' di un SI Voglio formattare i campi per ricerche piu' sofisticate Uso editor piu' sofisticato, spreadsheet, interfaccia grafica DB: Introduco tempo di : apprendimento, costruzione interfaccia per DB, (tuttora costo senza altro impatto) Introduco potenziale costo di acquisto, problemi di portabilita' del tool e del DB Ancora da solo, forse nessun tecnico 6

Aumento complessita' di un SI Sempre da solo il programma e' per la zia cuoca, gratis (OpenSource) ma potrebbe chiedermi: quando sara' pronto; istruzioni d'uso (ancora a voce) di correggere errori di aggiungere funzionalita' E cosi' via... Cosi' la cordata degli sviluppatori ascende la montagna della complessita', confidando sulla conoscenza del terreno e sperando nel bel tempo 7

Aumento complessita' di un SI Dimensioni SW: Numero/dimensione/complessita' componenti Disponibilita'/evolvibilita' Requisiti committente Riassumibili in costo/tempo Risorse umane Overhead comunicazione/coordinazione Gruppi con interessi intra-inter divergenti, spesso implicitamente! 8

Alcune definizioni Ciclo di vita del software Un insieme di attivita e le loro rispettive relazioni per sviluppare lo sviluppo di un sistema software Metodologia di sviluppo software Una collezione di tecniche per costruire modelli applicati durante il ciclo di vita del software Software Engineering Process Un SEP e un processo che descrive come i requisiti dell utente sono trasformati in un sistema software 9

Sviluppo software basato su componenti comprare Componenti commerciali, Components Off The Shelf, Componenti riutilizzabili costruire sviluppo ad hoc, sviluppo from scratch confrontiamo i due approcci 10

Componenti commerciali Vantaggi Costi di licenza prevedibili Tecnologia largamente usata e matura Disponibile immediatamente Struttura di supporto dedicata Spesso indipendente da SW/HW Ricchi in funzionalita 11

Componenti commerciali Svantaggi Aggiornamenti frequenti pagamento licenza prima dell uso (*) e ricorrenti dipendenza dal venditore penalizzazione dell efficienza runtime (a volte) vincoli sulla funzionalita integrazione a volte complessa poco controllo su aggiornamenti e manutenzione funzionalita non richieste consumano risorse aggiuntive a volte inadeguate affidabilita e stabilita Incompatibilita tra fornitori (*) a volte pay per use 12

Componenti su misura (custom) Vantaggi completa liberta di cambiamento implementazioni spesso piu piccole e piu semplici spesso miglior prestazioni controllo sullo sviluppo e i miglioramenti NB, alcuni componenti si acquistano quasi sempre: DB relazionale Window system mentre si costruisce il Controllo 13

Che soluzione adottare? Scegliere che sistema fare puo' essere molto complesso e dall'inizio del corso stiamo dicendo che una causa di fallimento e' l'incorretta formulazione dei requisiti http://www.scribd.com/doc/39824816/best-practices-for-software-selection 14

Suggerimenti Compatibilita' strategica Avere un partner delle dimensioni adatte, altrimenti soluzioni troppo onerose Non farsi deviare dal proprio obiettivo a causa di demo o features addizionali ma inutili Aiutare il venditore a fare la miglior proposta Coinvolgimento del venditore Dare tutte le informazioni possibili Non delegare completamente le scelte a chi ha gia' in passato fatto la valutazione del SW 15

Caratteristiche del Processo SW (1) Visibilità E esternamente visibile il progredire del processo? Supportabilità Può il processo essere supportato da strumenti (CASE). Affidabilità Si possono scoprire errori del processo prima che risultino in errori del prodotto Robustezza Può il processo continuare a dispetto di problemi inaspettati 16

Caratteristiche del processo SW (2) Mantenibilità Può il processo evolvere per riflettere il cambiare della organizzazione o miglioramento del processo stesso Rapidità Quanto velocemente può essere prodotto un sistema da una data specifica 17

Modello generico del processo in ingegneria Specifica - stabilire i requisiti e le restrizioni del sistema Progettazione - produrre un modello su carta del sistema Costruzione del sistema Test - valutare se il sistema soddisfa i requisiti Installare - consegnare il sistema al cliente ed assicurarne la operatività Mantenimento - riparare problemi che vengono incontrati 18

Costruire un ponte progetto prevedibile, preciso, disegni dettagliati, poche persone costo percentuale ridotto costruzione prevedibile in modo, tempo, costo costo percentuale elevato 19

Costruire del SW progetto (modello) poco prevedibile, uso di UML che e poco testabile molte persone costo percentuale elevatissimo costruzione quasi automatica, poco costosa (compilazione, configurazione, installazione) 20

Differenze rispetto al processo di costruzione del software Normalmente le specifiche sono incomplete/anomale C è una distinzione non chiara fra specifiche, progettazione e costruzione (implementazione) Non c è una realizzazione fisica Il software non si consuma - mantenimento non vuol dire sostituzione di componenti, ma generalmente aggiunta di requisiti la ripetitivita e molto bassa 21

Fragilita' dei requisiti Fragilita del SW piccolo errore, grandi ripercussioni Riprogettazione dei componenti difettosi Imprevedibilita' dei requisiti SW sembra facilmente modificabile difficile stimare costo requisiti difficile ottenere requisiti stabili dal cliente finche non si vede non si puo valutare il mondo attorno cambia imprevedibilmente 22

Modelli adottati nel SW Piu' tradizionali, burocratici: a cascata (waterfall) a spirale Unified Process (UP) (slide ad hoc) Piu' recenti, Agili: Extreme programming (XP) Scrum Kanban 23