Dai Moduli alle Componenti

Slides:



Advertisements
Presentazioni simili
MIP International Patent Forum 2011
Advertisements

Trieste, 26 novembre © 2005 – Renato Lukač Using OSS in Slovenian High Schools doc. dr. Renato Lukač LinuxDay Trieste.
We are in it together Living well with dementia the East Midlands. Keeping people with dementia and their carers at the heart of the regional strategy.
Sfogliandomi… Viaggio tra me e me alla scoperta dellaltro… A travel between me and myself discovering the other…
“FIBROSI NEFROGENICA SISTEMICA”
Imperfetto IWBAT say what I used to do or was doing in the past.
Giovanni Falcone & Paolo Borsellino.
Cache Memory Prof. G. Nicosia University of Catania
Teoria e Tecniche del Riconoscimento
A. Oppio, S. Mattia, A. Pandolfi, M. Ghellere ERES Conference 2010 Università Commerciale Luigi Bocconi Milan, june 2010 A Multidimensional and Participatory.
Relaunching eLene Who are we now and which are our interests.
DG Ricerca Ambientale e Sviluppo FIRMS' FUNDING SCHEMES AND ENVIRONMENTAL PURPOSES IN THE EU STRUCTURAL FUNDS (Monitoring of environmental firms funding.
Interrogativi Asking and answering questions in italiano.
Cancer Pain Management Guidelines
Sta andando meglio? oppure ti senti uguale? Is it getting better? Or do you feel the same?
Punto di partenza Reciprocal verbs are reflexives that express a shared or reciprocal action between two or more people or things. In English we often.
Il presente del congiuntivo (the present subjunctive)
Il presente del congiuntivo (the present subjunctive)
Raffaele Cirullo Head of New Media Seconda Giornata italiana della statistica Aziende e bigdata.
Corso di Laurea in Ingegneria Elettronica - U niversità di N apoli F EDERICO II Autori XXXXX XXXXXXX YYYYY YYYYYYY ZZZZZ ZZZZZZZ Titolo tesina Parte X:
TIPOLOGIA DELLE VARIABILI SPERIMENTALI: Variabili nominali Variabili quantali Variabili semi-quantitative Variabili quantitative.
LInnovazione di Prodotto. Lo sviluppo di nuovi prodotti e nuovi servizi: una vecchia sfida per le imprese innovative. [emilio bellini]
Fanno ormai parte della nostra vita di tutti i giorni….
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.
Chistmas is the most loved holiday of the years. Adults and children look forward to Chistmas and its magical atmosphere. It is traditional to decorate.
ATE / 31 Lezione 3 i sistemi automatici di misurazione - gli ATE.
HERES OUR SCHOOL.. 32 years ago this huge palace was built and it was just the beginning; It is becoming larger and larger as a lot of students choose.
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.
SOS, HELP; WE ARE BEING ASSASSINATED S.O.S., AIUTO; CI STANNO UCCIDENDO
© 2008 WS (WebScience srl) – All rights reserved WS Tech workshop Software Construction.
Gli ambienti di apprendimento Firenze, 3 marzo 2006.
TELEFONO CELLULLARE E SACRA BIBBIA CELLULAR PHONE AND HOLY BIBLE.
Abercrombie & Fitch Hollister American Eagle Forever 21 Abercrombie & Fitch Hollister American Eagle Forever 21 These brands are knows around the U.S.
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI ECONOMIA, GIURISPRUDENZA, INGEGNERIA, LETTERE E FILOSOFIA, SCIENZE POLITICHE. Corso di Laurea Interfacoltà in.
CANADA AT ITS WORST THE SEAL SLAUGHTER FROM A SEALS POINT OF VIEW.
Guardate le seguenti due frasi:
Motor Sizing.
ROBINSON CRUSOE ROBINSON CRUSOE’S ISLAND L’ ISOLA DI
CHE COSA E? E una collezione di materiali didattici fatti dallalunno. Lalunno riflette su se stesso, sui propri modi di essere e di fare. Si pone tra.
Leggi lo scritto di Leonardo e ...soffia!
VaC3p2w Mondiale Italiana Territoriale Sintomi e conseguenze Aspetto politico ed economico analisi grafica e testimonianze.
Enzo Anselmo Ferrari By Giovanni Amicucci. Di Enzo Questo è Enzo Anselmo Ferrari. Enzo compleanno è diciotto febbraio Enzo muore è quattordici agosto.
Federazione Nazionale Commercio Macchine Cantiermacchine Cogena Intemac Unicea Unimot ASSOCIAZIONE ITALIANA PER LA PROMOZIONE DELLA COGENERAZIONE.
FOR EVERY CALLOUT THAT YOU WILL SEE IN ENGLISH PROVIDE (IN WRITING) THE CORRECT ITALIAN SENTENCE OR EXPRESSION. REMEMBER TO LOOK AT THE VERBS AND PAY.
ITALIAN FASHION PROJECT Chris Wood & Jacob Stramanak Italian 6B October 2013.
BY: ERIC B. Italian Fashion Project. Italian And American clothing brands are different in many ways In this presentation, I am going to explore the similarities.
Obesity surgery triples among U.S. teens Long-term outcomes unknown, especially for patients as young as 12 Surgeons to carry out plastic surgery on obese.
Collection & Generics in Java
EMPOWERMENT OF VULNERABLE PEOPLE An integrated project.
The Beatles. Love, love, Love. Love, Love, Love. Love, Love, Love. There's nothing you can do that can't be done. Nothing you can sing that can't be sung.
"We firmly believe that the on-the-run issues should command a high liquidity premium in the current environment. But with very high probability, the.
LA WEB RADIO: UN NUOVO MODO DI ESSERE IN ONDA.
Stefano Rufini Tel
Teorie e tecniche della Comunicazione di massa Lezione 7 – 14 maggio 2014.
You’ve got a friend in me!
UITA Genève ottobre Comitè du Groupe Professionnel UITA Genève octobre 2003 Trade Union and Tour.
Warehousing Market 25 March 2014 Elena Di Biase. Contesto L’economia europea continua a mostrare segnali di ripresa e gli indicatori economici di fiducia.
A PEACEFUL BRIDGE BETWEEN THE CULTURES TROUGH OLYMPICS OLYMPIC CREED: the most significant thing in the olympic games is not to win but to take part OLYMPIC.
Guida alla compilazione del Piano di Studi Curricula Sistemi per l’Automazione Automation Engineering.
Passato Prossimo. What is it?  Passato Prossimo is a past tense and it is equivalent to our:  “ed” as in she studied  Or “has” + “ed” as in she has.
Lezione n°27 Università degli Studi Roma Tre – Dipartimento di Ingegneria Corso di Teoria e Progetto di Ponti – A/A Dott. Ing. Fabrizio Paolacci.
Scenario e Prospettive della Planetologia Italiana
Buon giorno Io sono Professoressa Kachmar. Buon giorno Io sono Professoressa Kachmar.
Un problema multi impianto Un’azienda dispone di due fabbriche A e B. Ciascuna fabbrica produce due prodotti: standard e deluxe Ogni fabbrica, A e B, gestisce.
Do You Want To Pass Actual Exam in 1 st Attempt?.
WRITING – EXERCISE TYPES
Prof. Stefano Zambon Università di Ferrara e WICI
giovedì, 12 ottobre matrimonio o convivenza?
Il condizionale.
Transcript della presentazione:

Dai Moduli alle Componenti

Modularità: Vantaggi Diminuzione della complessità del problema Information hiding Incapsulazione degli errori Distribuzione del lavoro Sviluppo separato Chiara attribuzione delle responsabilità Riuso Interno al progetto in versioni successive Da parte del programmatore in altri progetti (raro) Da parte di altri programmatori (rarissimo) Facilità di manutenzione ed evoluzione (fino ad un certo punto)

Modularità: Svantaggi Perdita di efficienza Aggiunta di nuove funzionalità può richiedere di riorganizzare la distribuzione in moduli Investimento di tempo e fatica nella definizione di interfacce fra le parti Però… Senza modularità si perde il controllo di ogni progetto meno che banale Inutile avere sw efficiente ma scorretto Nel complesso si ha un’economia di tempo dedicato allo sviluppo usando tecniche basate sulla modularità

Riuso: perché? La produzione del sw avviene sempre in condizioni di tempo critiche Tempo (dei progettisti) è denaro quindi incide sul costo finale al cliente Il primo che arriva sul mercato di solito lo domina Poter riutilizzare delle parti di sw permetterebbe di migliorare le prestazioni Diminuire i costi suddividendo la spesa del pezzo fra vari progetti Terminare prima avendo già dei pezzi fatti Ottenere codice finale migliore usando pezzi “di qualità” Eppure il riuso non è così comune Tranne nelle linee di prodotti

Scrivere per riusare Scrivere codice in modo da poter essere riutilizzato è più difficile (quindi lento, costoso) perché non si possono fare assunzioni implicite sul modo in cui verrà usato produce codice più “generale” quindi intrinsecamente meno efficiente è una spesa inutile se non si è sicuri di riuscire a rivenderlo. Per vendere bisogna produrre documentazione convincente ed utilizzabile avere visibilità sul mercato convincere i potenziali utenti ad aver fiducia

Che fanno gli altri? Lo stesso tipo di problema si incontra in altre linee di produzione Bisogna passare dall’artigianato alla produzione industriale Attenzione: una grossa differenza del sw rispetto ad altri tipi di prodotto è l’insostanzialità del prodotto replicare un “pezzo” non costa nulla verificare un “pezzo” è discutibile Le analogie sono quindi valide solo fino ad un certo punto

Letteratura Mass Produced Software Components M.D. McIlroy Software Engineering, Report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968 Planning the Software Industrial Revolution Brad J. Cox Ph.D IEEE Software magazine (November 1990) Software Technologies of the 1990's. Component Software Beyond OO-Programming Chapter 1 C. Szyperski 1999, Addison-Wesley

The Software Industry is Not Industrialized We undoubtedly produce software by backward techniques. We undoubtedly get the short end of the stick in confrontations with hardware people because they are the industrialists and we are the crofters. Software production today appears in the scale of industrialization somewhere below the more backward construction industries. I think its proper place is considerably higher, and would like to investigate the prospects for mass-production techniques in software. McIlroy 1968

Industrial Techniques But certain ideas from industrial technique I claim are relevant. The idea of subassemblies carries over directly and is well exploited. The idea of interchangeable parts corresponds roughly to our term `modularity,' and is fitfully respected. The idea of machine tools has an analogue in assembly programs and compilers. Yet this fragile analogy is belied when we seek for analogues of other tangible symbols of mass production. There do not exist manufacturers of standard parts, much less catalogues of standard parts. One may not order parts to individual specifications of size, ruggedness, speed, capacity, precision or character set. McIlroy 1968

Components The pinnacle of software is systems - systems to the exclusion of almost all other considerations. Components, dignified as a hardware field, is unknown as a legitimate branch of software. …My thesis is that the software industry is weakly founded, and that one aspect of this weakness is the absence of a software components subindustry. We have enough experience to perceive the outline of such a subindustry. McIlroy 1968

Industrial Revolution…20 anni dopo The possibility of a software industrial revolution, in which programmers stop coding everything from scratch and begin assembling applications from well-stocked catalogs of reusable software components, is an enduring dream that continues to elude our grasp. Although object-oriented programming has brought the software industrial revolution a step closer, common-sense organizational principles like reusability and interchangeability are still the exception rather than the rule. Cox 1990

Industrial Revolution…NOW From my experiences as Component Competency Lead for IBM Global Services’ Center of Competency for Enterprise Application Development, I encounter many recurrent issues and problems that large organizations face in their application architecture life cycle. I have noticed many significant trends and a high level of interest in designing and integrating components across the enterprise, both green-field…and legacy transformation… Ali Arsanjani Communication ACM October 2002

Why Components? What is the motive for producing, distributing, buying, or using software components? What are the benefits of component software? The simplest answer is: Components are the way to go because all other engineering disciplines introduced components as they become mature - and still use them. Szyperski 1999

Standardized Components Needed It is easy to see how interchangeable parts could help in manufacturing. But manufacturing involves replicating a standard product, while programming does not. Programming is not an assembly-line business but a build-to-order one, more akin to plumbing than gun manufacturing. But the principles of standardization and interchangeability pioneered for standard products apply directly to build-to-order industries like plumbing. They enabled the markets of today where all manner of specialized problems can be solved by binding standardized components into new and larger assemblies. Cox 1990

Motivazioni “economiche” delle componenti Per una ditta usare un supporto sw è costoso Acquisizione e mantenimento i costi possono essere abbattuti se si usa sw standard Ristrutturazione del lavoro/processo interno per adeguare le procedure a quelle supportate dal sw i costi possono essere abbattuti se si usa sw ad hoc Per una ditta usare un supporto sw è utile nella misura in cui li rende “migliori” delle concorrenti Se tutti nel settore usano sw, richiede di avere sw ad hoc ottimizzato Autoprodurre del sw è rischioso perché in caso di ritardo sirischia di restare senza nessun supporto Vi è quindi una tensione fra vantaggi e svantaggi di usare sw standard rispetto a (farsi) produrre un sw ad hoc Parziale soluzione: assemblaggio personalizzato (=sw ad hoc) a partire da componenti standard Liberamente tratto da Szyperski 1999