Slide 1 Lezione 3. Altri modelli di processo software [GJM91, Sez. 7.1], [S2001, Cap. 3, Sez. 19.4], [TMcG93, Cap. 2], [BRJ99, App. C (°)] Incremental.

Slides:



Advertisements
Presentazioni simili
Trieste, 26 novembre © 2005 – Renato Lukač Using OSS in Slovenian High Schools doc. dr. Renato Lukač LinuxDay Trieste.
Advertisements

L’esperienza di un valutatore nell’ambito del VII FP Valter Sergo
Logistica collaborativa per i distretti industriali.
Cache Memory Prof. G. Nicosia University of Catania
Teoria e Tecniche del Riconoscimento
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
MODULISTICA E MODELLI PER LE ISTANZE DI AUTORIZZAZIONE UNICA Proposte di semplificazione delle procedure amministrative nelle 12 Province aderenti al Progetto.
A. Oppio, S. Mattia, A. Pandolfi, M. Ghellere ERES Conference 2010 Università Commerciale Luigi Bocconi Milan, june 2010 A Multidimensional and Participatory.
EBRCN General Meeting, Paris, 28-29/11/20021 WP4 Analysis of non-EBRCN databases and network services of interest to BRCs Current status Paolo Romano Questa.
Comitato di Studio B3 - Substation Latina, 24 novembre Cigré Session 2010 Daris Falorni Membro italiano SC B3 43 ma Sessione Generale Cigré Parigi,
COMITATO NAZIONALE ITALIANO CONSEIL INTERNATIONAL DES GRANDS RESEAUX ELECTRIQUES INTERNATIONAL COUNCIL ON LARGE ELECTRIC SYSTEMS 41 ma Sessione Generale.
DG Ricerca Ambientale e Sviluppo FIRMS' FUNDING SCHEMES AND ENVIRONMENTAL PURPOSES IN THE EU STRUCTURAL FUNDS (Monitoring of environmental firms funding.
Sequential Statements. – Il VHDL simula lo svolgersi in parallelo di varie operazioni – Loggetto fondamentale e il PROCESS – Un PROCESS contiene una serie.
Frontespizio Economia Monetaria Anno Accademico
Cancer Pain Management Guidelines
Raffaele Cirullo Head of New Media Seconda Giornata italiana della statistica Aziende e bigdata.
Slide 1 Lezione 2. Il modello Waterfall e le sue fasi [GJM91, Sez. 7.1], [S2001, Cap. 3], [TMcG93, Cap. 2 (#) fotocopia] Modello code-and-fix Processo.
Unified Modeling Language class C {…} class B extends C {…} Esiste una notazione grafica per mostrare le relazioni di ereditarietà. Object StringC B Tutte.
HDM Information Design notation v.4. HDM Information Design.
Programmazione 1 9CFU – TANTE ore
Biometry to enhance smart card security (MOC using TOC protocol)
TIPOLOGIA DELLE VARIABILI SPERIMENTALI: Variabili nominali Variabili quantali Variabili semi-quantitative Variabili quantitative.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Ergo : what is the source of EU-English? Standard British English? Standard American English? Both!!!! See morphology (use of British.
LInnovazione di Prodotto. Lo sviluppo di nuovi prodotti e nuovi servizi: una vecchia sfida per le imprese innovative. [emilio bellini]
Avis Contact Centres Review
Directive 96/62/EC - Ambient Air Quality List of air pollutants in the context of air quality assessment and management.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
6.6Ordinamento di Vettori Ordinamento di dati –Applicazione computazionale importante –Virtualmente ogni organizzazione deve ordinare dei dati Enormi quantità
Watson et al. , BIOLOGIA MOLECOLARE DEL GENE, Zanichelli editore S. p
PROGETTAZIONE FERROVIARIA
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
Introduzione Grid1 Introduzione ai Sistemi Grid. Introduzione Grid2 Generalità Un sistema Grid permette allutente di richiedere lesecuzione di un servizio.
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
ATE / 31 Lezione 3 i sistemi automatici di misurazione - gli ATE.
Players: 3 to 10, or teams. Aim of the game: find a name, starting with a specific letter, for each category. You need: internet connection laptop.
Compito desame del Svolgimento della Sezione 5: CONTROLLORI Esempio preparato da Michele MICCIO.
1 Attivita di ricerca Carlo Batini. 2 Aree Come costruire ed esprimere il contenuto informativo integrato di sistemi informativi complessi basati.
LHCf Status Report Measurement of Photons and Neutral Pions in the Very Forward Region of LHC Oscar Adriani INFN Sezione di Firenze - Dipartimento di Fisica.
Scuola di Dottorato della Facoltà di Scienze MM. FF. NN., Università di Milano Bicocca ELEMENTI DI ORGANIZZAZIONE AZIENDALE Funzione finanza e controllo:
ETEN – Re-Public – RePublic website 1\5 eTEN Progetto Re-Public – RePublic website Workshop finale Dott. Marco Sentinelli – Galgano International Roma,
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
Presentazione Finale Team 2 1. Decomposizione in sottosistemi 2.
© 2008 WS (WebScience srl) – All rights reserved WS Tech workshop Software Construction.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Project Review byNight byNight December 6th, 2011.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Motor Sizing.
Richard Horton , Lancet 2005.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Prospettive delle attivita' di Astrofisica Nucleare con Recoil Mass Separators Prospettive delle attivita' di Astrofisica Nucleare con Recoil Mass Separators.
24 aprile 2002 Avvisi: Risultati 1 o Esonero: (entro) lunedi 27 disponibili nella pag. WEB, ma anche esposti nella bacheca fuori dal corridoio 2 o dente,
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Quale Europa? Riscopriamo le radici europee per costruire unEuropa PIÙ vicina a noi ISTITUTO COMPRENSIVO MAZZINI CASTELFIDARDO PROGETTO COMENIUS 2010/2012.
Corso di Web Services A A Domenico Rosaci Patterns di E-Business D. RosaciPatterns per l'e-Business.
UG40 Energy Saving & Twin Cool units Functioning and Adjustment
Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model.
Collection & Generics in Java
Introduction to automatic ABMs documentation Keywords: Doxygen ODD protocol MASON documentation Simone Romano.
Lezione n°27 Università degli Studi Roma Tre – Dipartimento di Ingegneria Corso di Teoria e Progetto di Ponti – A/A Dott. Ing. Fabrizio Paolacci.
1 Giornata AIRI per l’Innovazione Industriale 2014 AIRI: 40 anni a sostegno della ricerca industriale italiana 26 maggio 2014 Horti Sallustiani, Roma.
1 Acceleratori e Reattori Nucleari Saverio Altieri Dipartimento di Fisica Università degli Studi - Pavia
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
The effects of leverage in financial markets Zhu Chenge, An Kenan, Yang Guang, Huang Jiping. Department of Physics, Fudan University, Shanghai, ,
Transcript della presentazione:

Slide 1 Lezione 3. Altri modelli di processo software [GJM91, Sez. 7.1], [S2001, Cap. 3, Sez. 19.4], [TMcG93, Cap. 2], [BRJ99, App. C (°)] Incremental delivery Modello evolutivo Modello formale-trasformazionale »Esempio: Cleanroom (anche incrementale) Reuse Extreme programming Modelli ibridi e metamodello a spirale Modello Unified (UML) (°) Visibilità nei vari modelli Supporto CASE

Slide 2 ESA - Incremental delivery approach (*) (*) European Space Agency Software Engineering Standards, ESA PSS-05-0, N. 2, Feb. 91. In [TMcG93] User Requirements Software Requirements Architectural Design Detailed Design and coding TRansfer to operations Operations and Maintenance - Assume UR e SR stabili, come Waterfall, ma - Affronta UR incrementalmente (priorità temporali) - Development team ridotto ==> sequenzializz. di deliverables - ‘Spalma’ il budget nel tempo

Slide 3 Incremental delivery [S2001] - Consegna alcune funzionalità molto presto -...e queste aiutano nella definizione di ulteriori requisiti - Diminuisce il rischio di fallimento completo del progetto - Le funzionalità prioritarie sono testate ripetutamente

Slide 4 ESA - Evolutionary development approach Sequenza rapida di cicli waterfall completi Serve a chiarire e far evolvere i requisiti attraverso esperienza diretta su implementazioni intermedie

Slide 5 Evolutionary development [S2001]

Slide 6

Slide 7 Due forme di evolutionary development  Exploratory prototyping Forma ‘costruttiva’ - mira ad assistere il Cliente nel raffinamento dei requisiti (chiari) iniziali. Si parte con i requisiti piu’ chiari…  Throw-away prototyping Forma ‘distruttiva’ - serve allo sviluppatore per capire cosa il Cliente NON vuole Si parte dai requisiti piu’ oscuri...

Slide 8 Evolutionary development - problemi e applicabilità  Problemi La visibilità del processo è debole Non promuove buone architetture Puo’ richiedere personale specializzato (p.es. su linguaggi di prototipazione rapida).  Applicabilità Sistemi interattivi piccoli (fino linee) o medi ( ) Parti (p. es. interfaccia utente) di sistemi complessi Short-lifetime systems

Slide 9 Trasformazione formale

Slide 10 Esempi di metodi basati su trasf. formale  Cleanroom software development (H. Mills,IBM)  LOTOS equivalence-preserving transformations (Esprit LotoSphere Project)  B Method (J.-R. Abrial -->Wordsworth ‘96)

Slide 11  Nome ‘cleanroom’ derivato da un processo di produzione di semiconduttori.  Mira e evitare gli errori a priori, anziché rimuoverli a posteriori  Si basa su: Incremental development Formal specification by state-transition model ‘Rigorous’, semi-formal static verification using correctness arguments Statistical testing to determine program reliability. Esempio: Cleanroom software development

Slide 12 The Cleanroom process By correctness-preserving transformations Functional requirements in ‘box structure’ notation System usages

Slide 13 Cleanroom process characteristics  Formal specification using a state transition model called box structure notation  Incremental development  Structured programming - limited control and abstraction constructs are used for facilitating verification of consistency between steps  Static verification using rigorous inspections in place of unit testing  Statistical testing of the system after each increment integration

Slide 14 box structure notation ha tre livelli  Black box: funzione da sequenze di inputs -->outputs. Raffinata in  State box: una funzione di transizione (input, stato)--> (output, stato). Raffinata in  Clear box: una state box definita usando i costrutti di structured programming: assignment, sequence, if-then- else, while-do

Slide 15 Formal specification and inspections  The state based model is a system specification and the inspection process checks the program against this model even though the use of correctness-preserving transformations should in principle make inspections unnecessary...  Programming approach is defined so that the correspondence between the model and the system is clear  Mathematical arguments (not proofs) are used to increase confidence in the inspection process

Slide 16  Specification team. Responsible for developing and maintaining the customer- oriented and developer-oriented system specification  Development team. Responsible for developing and verifying the software. The software is NOT executed or even compiled during this process  Certification team. Responsible for developing a set of statistical tests to exercise the software after development. Reliability growth models used to determine when reliability is acceptable (MTTF: mean time to failure) Cleanroom process teams

Slide 17  Results in IBM have been very impressive with few discovered faults in delivered systems  Independent assessment shows that the process is no more expensive than other approaches  Not clear how this approach can be transferred to an environment with less skilled or less highly motivated engineers Cleanroom process evaluation

Slide 18 LOTOS equivalence-preserving transformation  Basato sulla specifica in LOTOS di struttura e comportamento del sistema,  Sequenza di (due, tre, quattro…) descrizioni sempre piu’ dettagliate del sistema, utilizzando diversi stili di specifica: Constraint-Oriented, Resource-Oriented, e State-Oriented, da cui è facilmente derivabile il codice.  Verifica formale di equivalenza osservazionale fra due descrizioni successive  (vedi lezioni su Verifica e Validazione)

Slide 19 B-method  B is a generic term given to a method of software development, the B-Method, its process and notation, and and its supporting toolset, the B-Toolkit. B derives from Z, and has similarities with Z and VDM. Axiomatic semantics based on Dijkstra’s weakest- precondition calculus.  The B-Method uses a simple `pseudo' programming language, AMN (The Abstract Machine Notation), to model requirements, interfaces, implementations and intermediate designs.  Step-wise development is used. A complete implementation (in C) is thus constructed from layers of specification/implementation pairs.  Specification/implementation pairs at the lowest levels are drawn from an extensive library of pre-implemented re-usable components.

Slide 20  Una abstract machine incapsula variabili di stato  I valori delle variabili devono sempre soddisfare l’invariante della macchina, espresso da un predicato  Il comportamento della macchina è espresso da inizializzazione delle variabili lista di operazioni che possono accedere e modificare lo stato  Ogni specifica espressa come abstract machine viene validata mediante un insieme di proof obligations generabili automaticamente l’inizializzazione deve soddisfare l’invariante ogni operazione deve preservare l’invariante

Slide 21  inizializzazione e operazioni sono espresse mediante ‘sostituzioni generalizzate’, simili a istruzioni di assegnamento ma dotate di semantica formale ben definita.  Macchine astratte complesse sono ottenute componendo macchine piu’ semplici attraverso relazioni di include use see import extend  Tools commerciali di supporto: Atelier B, di Stéria Méditerranée, Aix-en-Provence, Francia » B Tool, di B-Core Limited, Oxford, UK »  Applicato con successo a sistemi di controllo ferroviario (Metro Parigi)

Slide 22 Trasformazione formale - problemi e applicabilità  Problemi Non pratico per sistemi di dimensioni medio-grandi Richiede training, o personale già specializzato Non adatto alla specifica dell’interfaccia utente  Applicabilità Sistemi critici con requisity di safety o security. Parti piccole o critiche di sistemi complessi

Slide 23 Reuse-oriented development  Il sistema è ottenuto per integrazione di componenti esistenti, eventualmente comperate da terze parti (COTS =Commercial-off-the-shelf)  Fasi Component analysis Requirements modification System design with reuse Development and integration  Tecnica recente, in forte crescita, poco consolidata e formalizzata

Slide 24  Nuovo approccio per team medio-piccoli che sviluppano sw dai requisiti vaghi o rapidamente mutevoli  Sviluppo e rilascio di incrementi molto piccoli di funzionalità  Si basa su pair programming: codice scritto da due programmatori sulla stessa macchina collective ownership: chiunque nel team puo’ migliorare il codice in ogni parte, in ogni momento on-site customer: coinvolgimento full-time di un utente nel team di sviluppo testing: gli sviluppatori scrivono continuamente unit test, i cui fallimenti originano nuovo codice stories: la funzionalità del sistema è caratterizzata mediante brevi storie (simili a UML use-cases) ‘egoless’ programming: decisioni di management prese dal gruppo Extreme programming

Slide 25 Modelli ibridi  Usare diversi modelli per diverse parti dello stesso sistema (complesso) Evolutionary/Prototyping per parti con requisiti poco stabili o oscuri Waterfall per parti con requisiti stabili e chiari Formal development per parti safety-critical

Slide 26 Il (meta-)modello ibrido a spirale [Boehm 88]

Slide 27 I quattro settori della spirale  Stabilire gli obiettivi Identifica obiettivi specifici per una fase (un giro)  Valutare e ridurre i rischi I principali rischi sono identificati, analizzati, e viene raccolta informazione su come minimizzarli  Sviluppo e validazione Viene scelto un modello di sviluppo e validazione dei risultati  Pianificazione Review del progetto e piani per il nuovo ‘giro’

Slide 28 Modello a Spirale - vantaggi e problemi  + Attento al ri-uso  + Attento alla eliminazione precoce di rischi  - Non applicabile quando il contratto prescrive un dato modello e identifica precisi deliverables  - Richiede esperti in valutazione dei rischi  - E’ molto astratto, e va istanziato

Slide 29 Modello Rational Unified (UML)  Root causes of Software Development Problems Insufficient requirements management Ambiguous and imprecise communications Fragile architectures Overwhelming complexity Undetected inconsistencies among requirements, designs and implementations Insufficient testing Subjective project status assessment Delayed risk reduction due to waterfall development Uncontrolled change propagation Insufficient automation (source: RatiOnal )

Slide 30 ‘Best practices’ in S.E. processes

Slide Develop iteratively (Phases and Workflows)

Slide Manage requirements  Requirements can be related to many other project documents.  They can be prioritized, filtered, traced Each iteraction handles a requirements subset  Requirements error detection by prototyping the user interface.  Requirements repository tool, with traceability information and links to external documents.

Slide Use component architectures  Architecture is part of Design but stops at the major abstractions (components), those that have crucial effect on system quality, performance, evolvability.  Good architecture ===> good team sizing and supervision ===> good control over iterative, incremental system development ===> guidance in build vs. buy decision ===> re-use and evolution

Slide 34 Evolvable architecture (bought, built, new)

Slide Model software visually (with UML diagrams)

Slide Verify quality - test incrementally

Slide 37 …using test tools

Slide 38 Visibilità nel processo di sviluppo  Il software è poco tangibile ma i manager richiedono documenti per poter controllare il progresso  Un modello ha alta visibilità quando prevede la produzione documentazione accurata delle varie fasi e dei risultati intermedi.  Ma: Timing of progress deliverables may not match the time needed to complete an activity The need to produce documents constraints process iteration The rime taken to review and approve documents is significant

Slide 39

Slide 40 La scelta del modello dipende da  tipo di sistema e di utente finale  rapporti fra Cliente e Sviluppatore  politiche aziendali del Cliente o dello Sviluppatore  Es. 1 - Sistema per utenti non esperti: va sviluppata documentazione didattico-illustrativa, e mantenuta allineata agli altri artefatti.  Es. 2 - Lo studio di fattibilita’ cambia se la SW House sviluppa: Software specifico per cliente esterno, o Software specifico per altro ramo della stessa Compagnia, o Software generico da lanciare sul mercato.

Slide 41 Automated process support: CASE  Computer-aided software engineering (CASE) is software to support software development and evolution processes  Activity automation Graphical editors for system model development Data dictionary to manage design entities Graphical UI builder for user interface construction Debuggers to support program fault finding Automated code generators: code (skeletons) from designs Automated translators from old (versions of a) programming language to new version or language.

Slide 42 Case technology  Case technology has led to significant improvements (40%, Huff’92) in the software process -- but not the predicted order of magnitude improvements  Reasons for limited effectiveness Creative work is not readily automatable Software engineering effort largely spent in team interactions. CASE technology does not really help here

Slide 43 Functional tool classification (Syntax-directed)

Slide 44  PERT - Project Evaluation and Review Technique U.S. Dept. Of Defense ha usato PERT (‘50) nel progettare il sottomarino Polaris Presenta un progetto (sia per pianificazione che per gestione) come insieme parzialmente ordinato di attività, ciascuno con una durata. Cammino critico dal nodo START al nodo END: quello di maggior durata