{"id":57,"date":"1995-12-30T14:31:49","date_gmt":"1995-12-30T12:31:49","guid":{"rendered":"http:\/\/picomiles.wordpress.com\/?p=57"},"modified":"2013-09-11T03:11:21","modified_gmt":"2013-09-11T01:11:21","slug":"un-nuovo-mondo-ad-oggetti","status":"publish","type":"post","link":"https:\/\/www.telebitconsulting.it\/tcblog\/1995\/12\/30\/un-nuovo-mondo-ad-oggetti\/","title":{"rendered":"Un nuovo mondo ad oggetti"},"content":{"rendered":"<p style=\"text-align: justify;\">(articolo pubblicato sulla rivista Bancamatica n.12, Dicembre 1995)<\/p>\n<p style=\"text-align: justify;\">In questi ultimi anni, nel mondo dell&#8217;informatica sta emergendo sempre pi\u00f9 prepotentemente un nuovo modo di fare software che mette in discussione quello finora adottato.<\/p>\n<p style=\"text-align: justify;\">Ci riferiamo all&#8217;O.O. sigla che sta per Object Oriented e che indica le metodologie, le tecnologie e gli strumenti che realizzano questo nuovo modo di fare software.<\/p>\n<p style=\"text-align: justify;\">Le motivazioni del continuo affermarsi dell&#8217;O.O. non sono banali e alla fine si possono ricondurre ai problemi e ai costi cui si va incontro nella produzione e manutenzione del software.<\/p>\n<p style=\"text-align: justify;\">L&#8217;Object Oriented oggi \u00e8 il frutto degli studi effettuati nei due decenni precedenti.<\/p>\n<p style=\"text-align: justify;\">Studi che, attraverso selezioni evolutive, hanno conquistato un numero sempre pi\u00f9 grande di individui e aziende e che oggi concretamente si materializzano sul mercato con un numero crescente di prodotti O.O.<\/p>\n<p style=\"text-align: justify;\">Le aspettative riposte nell&#8217;Object Oriented sono, sinteticamente, la riduzione dei tempi di produzione del software, l&#8217;industrializzazione del suo ciclo produttivo, una maggiore qualit\u00e0 ed efficienza del software cos\u00ec prodotto, una sua maggiore scalabilit\u00e0 e facilit\u00e0 di manutenzione e di conseguenza la riduzione dei costi di gestione e innovazione dei sistemi informativi e, laddove \u00e8 opportuno, la salvaguardia di quelli esistenti grazie alla propriet\u00e0 di incapsulamento insita e presente nelle metodologie e tecnologie O.O..<\/p>\n<p style=\"text-align: justify;\">Il principale mito messo in crisi dall&#8217;O.O. \u00e8 la metodologia cosiddetta &#8220;waterfall&#8221; &#8211; a cascata &#8211; secondo la quale le varie fasi di realizzazione di un progetto &#8211; analisi, sviluppo, test &#8211; vanno affrontate nella maniera pi\u00f9 esaustiva possibile e tenendole disgiunte le une dalle altre; secondo l&#8217;O.O. il modello waterfall va sostituito dal modello prototipale che si basa sulla realizzazione di prototipi sempre pi\u00f9 evoluti e nella realizzazione dei quali \u00e8 previsto un forte coinvolgimento dell&#8217;utente finale allo scopo di verificare continuamente l&#8217;aderenza del progetto agli obiettivi da raggiungere, mettendosi al riparo da costosi e difficilmente rimediabili errori d&#8217;analisi.<\/p>\n<p style=\"text-align: justify;\">Le eperienze condotte con le metodologie e le tecnologie O.O. sono anch&#8217;esse sempre pi\u00f9 numerose per cui non si pu\u00f2 pensare di essere ancora in una fase esclusivamente sperimentale.<\/p>\n<p style=\"text-align: justify;\">La sperimentazione, se cos\u00ec vogliamo definirla, \u00e8 piuttosto il continuo avvicinarsi a questi temi per conoscerli e il cominciare ad usare gli strumenti che ad essi si riconducono da parte di un crescente numero di aziende, comprese quelle bancarie.<\/p>\n<p style=\"text-align: justify;\">Si possono citare pertanto situazioni in cui l&#8217;O.O. \u00e8 stata ormai tranquillamente adottata e altre in cui si \u00e8 avviato il processo di avvicinamento attraverso la lettura delle riviste specializzate o dei testi canonici, la frequenza di seminari e corsi, la sperimentazione diretta di alcune metodologie d&#8217;analisi, la conoscenza degli strumenti disponibili sul mercato, la realizzazione di qualche prototipo.<\/p>\n<p style=\"text-align: justify;\">Nel mondo si trovano progetti O.O. avviati e conclusi sia nell&#8217;industria che nei servizi; in Italia, limitatamente al settore bancario, la\u00a0<strong>Sicilcassa<\/strong>\u00a0ha concluso da poco, e in poco tempo, un&#8217;esperienza molto interessante che ha visto la realizzazione di un prototipo di sportello O.O. che nel momento in cui sar\u00e0 deciso il passaggio ad un nuovo tp di sportello concepito per i nuovi ambienti grafici (Windows, OS\/2), potr\u00e0 tranquillamente costituirne il punto di partenza.<\/p>\n<p style=\"text-align: justify;\">Nello scorso aprile, l&#8217;ing. Roberto Dadda, responsabile Ricerca e Tecnologie del\u00a0<strong>Banco Ambrosiano Veneto<\/strong>, in una conferenza sull&#8217;O.O., tenutasi a Milano, ha descritto il progetto di tp di sportello basato su metodologie e tecnologie O.O. e denominato Bravo che la sua azienda \u00e8 in procinto di realizzare.<\/p>\n<p style=\"text-align: justify;\">Sulla scia di quanto avviene in Germania presso l&#8217;azienda madre, anche in Italia la\u00a0<strong>Deutsche Bank<\/strong>\u00a0sta conducendo esperienze analoghe a quelle della Sicilcassa e dell&#8217;Ambrosiano Veneto.<\/p>\n<p style=\"text-align: justify;\">L&#8217;interesse crescente per l&#8217;O.O. ha portato anche alla nascita di un organismo internazionale no profits, l&#8217;<strong><a href=\"http:\/\/www.omg.org\/\" target=\"_blank\">Object Management Group (OMG)<\/a><\/strong>, finanziato dai maggiori produttori di software a livello mondiale, che promuove lo sviluppo delle metodologie e tecnologie O.O. e la loro standardizzazione attraverso la definizione delle specifiche<strong> CORBA<\/strong>\u00a0(Common Object Request Broker) verso cui la stessa Microsoft ha recentemente deciso di mostrare pi\u00f9 attenzione.<\/p>\n<p style=\"text-align: justify;\">In Italia, a Bologna, all&#8217;inizio di quest&#8217;anno \u00e8 nata anche l&#8217;<a href=\"http:\/\/deis64.deis.unibo.it\/%7Etaboo\/\" target=\"_blank\"><strong>Associazione Italiana Tecnologie Avanzate Basate su concetti Orientati ad Oggetti (TABOO)<\/strong><\/a>, che ha lo scopo di promuovere e diffondere l&#8217;O.O. .<\/p>\n<p style=\"text-align: justify;\">La\u00a0<strong>Harmon Associates<\/strong>\u00a0nel 1994 ha condotto un&#8217;indagine dalla quale \u00e8 stato desunto che le vendite mondiali dei produttori e distributori nordamericani di prodotti O.O. effettuate nel 1993 ammontavano a 680 milioni di dollari.<\/p>\n<p style=\"text-align: justify;\">L&#8217;articolo che segue vuol dare un&#8217;idea dell&#8217;attuale segmentazione del mercato dei prodotti\/strumenti O.O. ed \u00e8 stato redatto adottando la classificazione proposta dal prof.<strong>Roberto Zicari<\/strong>\u00a0della\u00a0<strong>LogOn Technology Transfer<\/strong>, societ\u00e0 che rappresenta l&#8217;OMG in Europa; l&#8217;elenco dei prodotti che in esso compaiono non \u00e8 esaustivo ma solo indicativo, vista la frequenza con cui nuovi prodotti arrivano sul mercato.<\/p>\n<h2 style=\"text-align: justify;\">Mercato e tendenze per i prodotti di sviluppo software OO<\/h2>\n<p style=\"text-align: justify;\">Il mercato per i prodotti di sviluppo Object Oriented (OO) \u00e8 piuttosto complesso. Una classificazione dei prodotti di sviluppo OO disponibili sul mercato potrebbe essere la seguente:<\/p>\n<ol style=\"text-align: justify;\">\n<li>Linguaggi e ambienti di programmazione OO.<\/li>\n<li>Strumenti CASE basati su metodologia OO.<\/li>\n<li>Lower CASE OO.<\/li>\n<li>Databases OO.<\/li>\n<li>Librerie di classi e frameworks OO.<\/li>\n<li>Ambienti di sviluppo OO per applicazioni distribuite.<\/li>\n<\/ol>\n<h3 style=\"text-align: justify;\">1) Linguaggi e ambienti di programmazione OO<\/h3>\n<p style=\"text-align: justify;\">Questo \u00e8 il segmento di mercato maggiormente rappresentativo di tutta l&#8217;Object Technology (309 milioni di dollari; Harmon Associates 1994).<\/p>\n<p style=\"text-align: justify;\">Attualmente vi \u00e8 un crescente numero di produttori con offerta sia per PC che per Workstation; la suddivisione operata vede:<\/p>\n<blockquote><p><em>1.1) Linguaggi Puri: Smalltalk, Eiffel, Simula, ecc..<br \/>\n1.2) Linguaggi Ibridi: C++, Objective C, Modula, Object Cobol, Prolog, ecc..<\/em><\/p><\/blockquote>\n<p style=\"text-align: justify;\">La tendenza da parte dei produttori \u00e8 quella di dotare questi ambienti di risorse proprie o di terze parti che li rendano pi\u00f9 che semplici ambienti di tipo 4GL.<\/p>\n<p style=\"text-align: justify;\">Essi tendono ad essere e vengono definiti sempre pi\u00f9 frequentemente come Ambienti di Sviluppo Avanzati (ADE &#8211; advanced development environment).<\/p>\n<h3 style=\"text-align: justify;\">2) Strumenti CASE: basati su metodologia OO<\/h3>\n<p style=\"text-align: justify;\">Tali strumenti forniscono un ambiente di modellazione grafica basato su una metodologia OO.<\/p>\n<p style=\"text-align: justify;\">Le metodologie utilizzate da tali strumenti possono essere proprietarie e pertanto impiegate solo da un particolare produttore di tali strumenti o essere pubbliche e impiegabili da qualsiasi produttore.<\/p>\n<p style=\"text-align: justify;\">Questi strumenti si possono ulteriormente suddividere in:<\/p>\n<blockquote><p><em>2.1) Strumenti per l&#8217;analisi e la progettazione OO.<\/em><\/p>\n<ul>\n<li>Object Tool di\u00a0<a href=\"http:\/\/www.oi.com\/oi_home.html\">Object International<\/a><\/li>\n<li>Objectory di\u00a0<a href=\"http:\/\/www.rational.com\/\">Objective Systems<\/a><\/li>\n<li>System Architect di\u00a0<a href=\"http:\/\/www.popkin.com\/\">Popkin Software<\/a><\/li>\n<li>Rose di\u00a0<a href=\"http:\/\/www.rational.com\/\">Rational<\/a><\/li>\n<li>SES Objectbench di\u00a0<a href=\"http:\/\/www.sesh.com\/\">SES<\/a><\/li>\n<\/ul>\n<p><em>2.2) Strumenti CASE OO.<\/em><\/p>\n<ul>\n<li>Object Management Workbench (OMW) di\u00a0<a href=\"http:\/\/www.intellicorp.com\/\">Intellicorp<\/a><\/li>\n<li>StP\/OMT di\u00a0<a href=\"http:\/\/www.ide.com\/\">Interactive Development Environments<\/a><\/li>\n<li>Ptech di\u00a0<a href=\"http:\/\/www.ptechinc.com\/\">Ptech Inc.<\/a><\/li>\n<\/ul>\n<\/blockquote>\n<h3 style=\"text-align: justify;\">3) Lower CASE OO<\/h3>\n<p style=\"text-align: justify;\">Questo rappresenta il secondo segmento di mercato dell&#8217;Object Technology (216 milioni di dollari; Harmon Associates 1994).<\/p>\n<p style=\"text-align: justify;\">Non tutti questi strumenti utilizzano un approccio basato su una vera e propria metodologia OO. La suddivisione che potremmo operare \u00e8 la seguente:<\/p>\n<blockquote><p><em>3.1) Strumenti OO per la costruzione di GUI.\u00a0<\/em>Alcuni sempi:<\/p>\n<ul>\n<li>Open Interface di\u00a0<a href=\"http:\/\/www.neurondata.com\/\">Neuron Data<\/a><\/li>\n<li>Object Builder di\u00a0<a href=\"http:\/\/www.parcplace.com\/\">Parc Place<\/a><\/li>\n<li>MacDialog Editor di\u00a0<a href=\"http:\/\/www.quintus.com\/\">Quintus<\/a><\/li>\n<\/ul>\n<p><em>3.2) Strumenti 4GL\/ADE OO.<br \/>\n<\/em>Questi strumenti, per la variet\u00e0 di funzionalit\u00e0 da cui sono contraddistinti, possono essere ulteriormente suddivisi a seconda del grado di Object Technology che offrono:<\/p>\n<blockquote><p><em>3.2.1) Strumenti 4GL potenziati (basso grado di Object Technology).\u00a0<\/em>Alcuni esempi:<\/p>\n<ul>\n<li>Object Vision della\u00a0<a href=\"http:\/\/www.borland.com\/\">Borland<\/a><\/li>\n<\/ul>\n<p><em>3.2.2) Strumenti moderatamente OO e di facile utilizzo (medio grado di Object Technology).<br \/>\n<\/em>Alcuni esempi:<\/p>\n<ul>\n<li>Sql Windows di\u00a0<a href=\"http:\/\/www.gupta.com\/\">Gupta<\/a><\/li>\n<li>Sql Network di\u00a0<a href=\"http:\/\/www.gupta.com\/\">Gupta<\/a><\/li>\n<li>Progress Software 4GL di\u00a0<a href=\"http:\/\/www.gupta.com\/\">Gupta<\/a><\/li>\n<li>Power Builder di\u00a0<a href=\"http:\/\/www.powersoft.com\/\">Power Soft<\/a><\/li>\n<\/ul>\n<p><em>3.2.3) Strumenti veramente OO (altissimo grado di Object Technology).<br \/>\n<\/em>Supportano C++ e\/o Smalltalk. Alcuni esempi:<\/p>\n<ul>\n<li>Parts Workbench di\u00a0<a href=\"http:\/\/www.parcplace.com\/\">Digitalk<\/a><\/li>\n<li>Enfin di\u00a0<a href=\"http:\/\/www.vmark.com\/\">Easel Corporation<\/a><\/li>\n<li>Visual Age di\u00a0<a href=\"http:\/\/www.software.ibm.com\/\">IBM<\/a><\/li>\n<li>Visual Work di\u00a0<a href=\"http:\/\/www.parcplace.com\/\">Parc Place<\/a><\/li>\n<li>Sniff+ di\u00a0<a href=\"http:\/\/www.takefive.com\/\">Take Five<\/a><\/li>\n<\/ul>\n<p><em>3.2.4) Strumenti che uniscono OOP e programmazione a regole.<br \/>\n<\/em>Questi strumenti in molti casi si posizionavano precedentemente come sistemi esperti o ambienti di sviluppo basati sulla conoscenza. Alcuni esempi:<\/p>\n<ul>\n<li>Object IQ di\u00a0<a href=\"http:\/\/www.hitachi.co.jp\/Prod\/comp\/soft1\/open-e\/openmdl.htm\">Hitachi<\/a><\/li>\n<li>Art Enterprise di\u00a0<a href=\"http:\/\/www.brigthware.com\/prodlist.html\">Inference<\/a><\/li>\n<li>Kappa di\u00a0<a href=\"http:\/\/www.intellicorp.com\/\">Intellicorp<\/a><\/li>\n<li>Smart Elements di\u00a0<a href=\"http:\/\/www.neurondata.com\/\">Neuron Data<\/a><\/li>\n<\/ul>\n<\/blockquote>\n<\/blockquote>\n<h3 style=\"text-align: justify;\">4) Databases OO<\/h3>\n<p style=\"text-align: justify;\">Questi sistemi (73 milioni di dollari; Harmon Associates 1994) si possono suddividere in:<\/p>\n<blockquote><p><em>4.1) Sistemi che integrano gli ambienti OOP (principalmente C++ e Smalltalk).<br \/>\nAttualmente<\/em>\u00a0questa \u00e8 la categoria dominante nel segmento di mercato degli ODBMS (67,5 milioni di dollari; Harmon Associates 1994). Alcuni esempi:<\/p>\n<ul>\n<li>GemStone di\u00a0<a href=\"http:\/\/www.gemstone.com\/\">GemStone<\/a><\/li>\n<li>Itasca di\u00a0<a href=\"http:\/\/www.ibex.ch\/\">Itasca<\/a><\/li>\n<li>O2 di\u00a0<a href=\"http:\/\/www.o2tech.fr\/\">O2 Technology<\/a><\/li>\n<li>Object Store di\u00a0<a href=\"http:\/\/www.odi.com\/\">Object Design<\/a><\/li>\n<li>Objectivity\/DB di\u00a0<a href=\"http:\/\/www.objectivity.com\/\">Objectivity<\/a><\/li>\n<li>Ontos DB di\u00a0<a href=\"http:\/\/www.ontos.com\/\">Ontos<\/a><\/li>\n<li>Poet di\u00a0<a href=\"http:\/\/www.poet.com\/\">Poet Software<\/a><\/li>\n<li>Versant ODB di\u00a0<a href=\"http:\/\/www.versant.com\/\">Versant<\/a><\/li>\n<\/ul>\n<p><em>4.2) Sistemi che supportano gli ambienti OO con databases relazionali (detti anche Sistemi Ibridi).<br \/>\n<\/em>Alcuni esempi:<\/p>\n<ul>\n<li>Open ODB di\u00a0<a href=\"http:\/\/www.hp.com\/\">Hewlett Packard<\/a><\/li>\n<li>Illustra di\u00a0<a href=\"http:\/\/www.illustra.com\/\">Illustra<\/a><\/li>\n<li>Montage di\u00a0<a href=\"http:\/\/www.illustra.com\/\">Montage Software<\/a><\/li>\n<li>UniSQL di\u00a0<a href=\"http:\/\/www.unisql.com\/\">UniSQL<\/a><\/li>\n<\/ul>\n<\/blockquote>\n<h3 style=\"text-align: justify;\">5) Librerie di classi e frameworks OO<\/h3>\n<p style=\"text-align: justify;\">Attualmente questo \u00e8 il pi\u00f9 piccolo segmento di mercato dell&#8217;Object Technology (14 milioni di dollari; Harmon Associates 1994).<\/p>\n<p style=\"text-align: justify;\"><em>La maggior parte di questi prodotti \u00e8 stata progettata per supportare i lavori pi\u00f9 ripetitivi nella programmazione, assistere lo sviluppo d&#8217;interfacce e la registrazione e ricerca di oggetti nei databases relazionali. Alcuni esempi:<\/em><\/p>\n<ul style=\"text-align: justify;\">\n<li><em>C++ libraries di\u00a0<a href=\"http:\/\/www.codefarms.com\/papers.html\">Code Farms<\/a><\/em><\/li>\n<li><em>Booch C++ Components di\u00a0<a href=\"http:\/\/www.rational.com\/\">Rational<\/a><\/em><\/li>\n<li><em>C++ libraries di\u00a0<a href=\"http:\/\/www.roguewave.com\/\">Rogue Wave<\/a><\/em><\/li>\n<\/ul>\n<h3 style=\"text-align: justify;\">6) Ambienti di sviluppo OO per applicazioni distribuite<\/h3>\n<p style=\"text-align: justify;\">Questo rappresenta un nuovo segmento di mercato dell&#8217;Object Technology.<\/p>\n<p style=\"text-align: justify;\"><em>Questi prodotti si basano sul rispetto degli standard CORBA (Common Object Request Broker) prodotti dall&#8217; OMG (Object Management Group). Alcuni esempi:<\/em><\/p>\n<ul>\n<li style=\"text-align: justify;\"><em>Object Broker di\u00a0<a href=\"http:\/\/www.digital.com\/\">Digital<\/a><\/em><\/li>\n<li style=\"text-align: justify;\"><em>Distributed Smalltalk di\u00a0<a href=\"http:\/\/www.hp.com\/\">Hewlett Packard<\/a><\/em><\/li>\n<li style=\"text-align: justify;\"><em>SOM\/DSOM di\u00a0<a href=\"http:\/\/www.software.ibm.com\/\">IBM<\/a><\/em><\/li>\n<li style=\"text-align: justify;\"><em>Orbix di\u00a0<a href=\"http:\/\/www.iona.com\/\">Iona<\/a><\/em><\/li>\n<li style=\"text-align: justify;\"><em>Cooperative Frameworks di\u00a0<a href=\"http:\/\/www.ncr.com\/\">NCR<\/a><\/em><\/li>\n<li style=\"text-align: justify;\"><em>DOE di\u00a0<a href=\"http:\/\/www.sun.com\/\">SunSoft<\/a><\/em><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>(articolo pubblicato sulla rivista Bancamatica n.12, Dicembre 1995) In questi ultimi anni, nel mondo dell&#8217;informatica sta emergendo sempre pi\u00f9 prepotentemente un nuovo modo di fare software che mette in discussione quello finora adottato. Ci riferiamo all&#8217;O.O. sigla che sta per Object Oriented e che indica le metodologie, le tecnologie e gli strumenti che realizzano questo [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[12,16,21],"tags":[101,152,75,88,90],"class_list":["post-57","post","type-post","status-publish","format-standard","hentry","category-ict","category-object-oriented-technology","category-smalltalk","tag-bancamatica","tag-ict","tag-object-oriented","tag-smalltalk-2","tag-tools"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3RvHK-V","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.telebitconsulting.it\/tcblog\/wp-json\/wp\/v2\/posts\/57","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.telebitconsulting.it\/tcblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.telebitconsulting.it\/tcblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.telebitconsulting.it\/tcblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.telebitconsulting.it\/tcblog\/wp-json\/wp\/v2\/comments?post=57"}],"version-history":[{"count":2,"href":"https:\/\/www.telebitconsulting.it\/tcblog\/wp-json\/wp\/v2\/posts\/57\/revisions"}],"predecessor-version":[{"id":316,"href":"https:\/\/www.telebitconsulting.it\/tcblog\/wp-json\/wp\/v2\/posts\/57\/revisions\/316"}],"wp:attachment":[{"href":"https:\/\/www.telebitconsulting.it\/tcblog\/wp-json\/wp\/v2\/media?parent=57"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.telebitconsulting.it\/tcblog\/wp-json\/wp\/v2\/categories?post=57"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.telebitconsulting.it\/tcblog\/wp-json\/wp\/v2\/tags?post=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}