SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Software Design: Is It Really Better
 to Look Good Than to Feel Good?
           Douglas C. Schmidt
         d.schmidt@vanderbilt.edu
      www.dre.vanderbilt.edu/~schmidt


      Professor of Computer Science
          Institute for Software
           Integrated Systems

          Vanderbilt University
        Nashville, Tennessee, USA
World IA Day/Nashville                             Douglas C. Schmidt

      Fernando’s Hideaway & Fernando’s Creed
                         •  There’s a trend in software development
                            to follow a variant of Ferdando’s Creed
                            •  i.e., better to look good on the outside
                               than be well designed on the inside




                            2
World IA Day/Nashville                                      Douglas C. Schmidt

         What’s Often Happening on the Inside
   Historically software developers have manually rediscovered & reinvented
 “point solutions” that are expensive to develop, integrate, validate, & sustain


                                                                     Customized
                                                                    Form Factors



                                                                    Proprietary &
                                                                     Stovepiped
                                                                    Application &
                                                                    Infrastructure
                                                                      Software


                                                                   Standard/COTS
                                                                     Hardware &
                                                                      Networks




                                      3
World IA Day/Nashville                                      Douglas C. Schmidt

         What’s Often Happening on the Inside
   Historically software developers have manually rediscovered & reinvented
 “point solutions” that are expensive to develop, integrate, validate, & sustain


                                                                     Customized
                                                                    Form Factors



                                                                    Proprietary &
                                                                     Stovepiped
                                                                    Application &
                                                                    Infrastructure
                                                                      Software


                                                                   Standard/COTS
                                                                     Hardware &
                                                                      Networks


                          Consequence: Small changes in software/hardware
                          negatively impact on system quality & sustainability
                                      4
World IA Day/Nashville                                                 Douglas C. Schmidt

  Improving Design with Patterns & Frameworks
    Patterns & frameworks promote “systematic reuse” of best-practice by
  factoring out many general- purpose & domain-specific services from apps


                                                                                  Customized
                                                                                 Form Factors

 Template                Bundled & Third-Party Apps                Half-Sync/
  Method                                                           Half-Async    Framework-
                          Application Frameworks                                 based App &
 Command                                                           Observer     Infrastructure
              System Libraries           Virtual Machine Runtime
                                                                                   Software
    Proxy                                                           Decorator
     Broker               Operating System Kernel
                                                                   Strategy
                                                                                Standard/COTS
                                                                                  Hardware &
                                                                                   Networks




                                             5
World IA Day/Nashville                                            Douglas C. Schmidt

         How to Master Patterns & Frameworks
Historically, the knowledge of patterns & fameworks has typically been located in:
1.  The heads of the experts




                                          6
World IA Day/Nashville                                                Douglas C. Schmidt

         How to Master Patterns & Frameworks
Historically, the knowledge of patterns & fameworks has typically been located in:
1.  The heads of the experts
2.  The bowels of the source code

          public class KeyGeneratorImpl extends Service {
              private Set<UUID> keys = new HashSet<UUID>();
              private final KeyGenerator.Stub binder = new KeyGenerator.Stub() {
                      public void setCallback (final KeyGeneratorCallback callback) {
                          UUID id;
                          synchronized (keys) {
                              do { id = UUID.randomUUID(); } while (keys.contains(id));
                              keys.add(id);
                          }
                          final String key = id.toString();
                          try {
                              Log.d(getClass().getName(), "sending key" + key);
                              callback.sendKey(key);
                          } catch (RemoteException e) { e.printStackTrace(); }
                      }
              };
              public IBinder onBind(Intent intent) { return this.binder; }
          }


                                            7
World IA Day/Nashville                                            Douglas C. Schmidt

         How to Master Patterns & Frameworks
Historically, the knowledge of patterns & fameworks has typically been located in:
1.  The heads of the experts
2.  The bowels of the source code


        Both locations are
      fraught with danger!




                                          8
World IA Day/Nashville                                 Douglas C. Schmidt

         How to Master Patterns & Frameworks
  There is now a broad literature for learning about
     patterns & frameworks for software design




                                         9
World IA Day/Nashville                                  Douglas C. Schmidt

         How to Master Patterns & Frameworks
•  There are also multimedia
   resources becoming
   available
  •  e.g., in the form of
     “MOOCs”
•  MOOCs are not a panacea,
   but have the potential to
   convey software design
   more broadly than
   heretofore possible




                                     10
              See www.dre.vanderbilt.edu/~schmidt for more info

Más contenido relacionado

Destacado

Notes on world ia day (hall)
Notes on world ia day (hall)Notes on world ia day (hall)
Notes on world ia day (hall)WorldIADay
 
World ia-day-stratasan
World ia-day-stratasanWorld ia-day-stratasan
World ia-day-stratasanWorldIADay
 
Profile kphp dampelas tinombo sulawesi tengah
Profile kphp dampelas tinombo sulawesi tengahProfile kphp dampelas tinombo sulawesi tengah
Profile kphp dampelas tinombo sulawesi tengahMamat Kasep
 
Modernisasi dan globalisasi
Modernisasi dan globalisasiModernisasi dan globalisasi
Modernisasi dan globalisasiRegalian Emielda
 
Ps prefeitura de cruzeiro 2013. nível técnico
Ps prefeitura de cruzeiro 2013. nível técnicoPs prefeitura de cruzeiro 2013. nível técnico
Ps prefeitura de cruzeiro 2013. nível técnicoTecnologiaPMC
 

Destacado (9)

Notes on world ia day (hall)
Notes on world ia day (hall)Notes on world ia day (hall)
Notes on world ia day (hall)
 
World ia-day-stratasan
World ia-day-stratasanWorld ia-day-stratasan
World ia-day-stratasan
 
Zona azul
Zona azulZona azul
Zona azul
 
Profile kphp dampelas tinombo sulawesi tengah
Profile kphp dampelas tinombo sulawesi tengahProfile kphp dampelas tinombo sulawesi tengah
Profile kphp dampelas tinombo sulawesi tengah
 
Folha de setembro
Folha de setembroFolha de setembro
Folha de setembro
 
Printer
PrinterPrinter
Printer
 
Modernisasi dan globalisasi
Modernisasi dan globalisasiModernisasi dan globalisasi
Modernisasi dan globalisasi
 
Al quran
Al quranAl quran
Al quran
 
Ps prefeitura de cruzeiro 2013. nível técnico
Ps prefeitura de cruzeiro 2013. nível técnicoPs prefeitura de cruzeiro 2013. nível técnico
Ps prefeitura de cruzeiro 2013. nível técnico
 

Similar a Wia day-panel

C S S L P &amp; OWASP 2010 &amp; Web Goat By Surachai.C Publish Presentation
C S S L P &amp;  OWASP 2010 &amp; Web Goat By  Surachai.C  Publish  PresentationC S S L P &amp;  OWASP 2010 &amp; Web Goat By  Surachai.C  Publish  Presentation
C S S L P &amp; OWASP 2010 &amp; Web Goat By Surachai.C Publish PresentationWon Ju Jub
 
Driving a Digital Thread Program in Manufacturing with Apache Kafka | Anu Mis...
Driving a Digital Thread Program in Manufacturing with Apache Kafka | Anu Mis...Driving a Digital Thread Program in Manufacturing with Apache Kafka | Anu Mis...
Driving a Digital Thread Program in Manufacturing with Apache Kafka | Anu Mis...HostedbyConfluent
 
Bcs presentation zacharias_enislidis
Bcs presentation zacharias_enislidisBcs presentation zacharias_enislidis
Bcs presentation zacharias_enislidiszakmackraken
 
Careers In Computer Information Systems 2008-2009
Careers In Computer Information Systems 2008-2009Careers In Computer Information Systems 2008-2009
Careers In Computer Information Systems 2008-2009Mark Frydenberg
 
Open Data Center Alliance Workgroups, Usage Models and Roadmap Structure
Open Data Center Alliance Workgroups, Usage Models and Roadmap StructureOpen Data Center Alliance Workgroups, Usage Models and Roadmap Structure
Open Data Center Alliance Workgroups, Usage Models and Roadmap StructureOpen Data Center Alliance
 
Metadata Modeling Best Practices with IBM Cognos Framework Manager
Metadata Modeling Best Practices with IBM Cognos Framework ManagerMetadata Modeling Best Practices with IBM Cognos Framework Manager
Metadata Modeling Best Practices with IBM Cognos Framework ManagerSenturus
 
Midrange role in isets
Midrange role in isetsMidrange role in isets
Midrange role in isetsraziqfareed
 
Stan Adkerson Professional Resume
Stan Adkerson Professional ResumeStan Adkerson Professional Resume
Stan Adkerson Professional ResumeStan Adkerson
 
Corporate profile steep graph aras innovator
Corporate profile steep graph aras innovatorCorporate profile steep graph aras innovator
Corporate profile steep graph aras innovatoranuragonline001
 
Hardware Software Co-Design - White Paper
Hardware Software Co-Design - White PaperHardware Software Co-Design - White Paper
Hardware Software Co-Design - White PaperMistral Solutions
 
AMI MDM Service Offerings
AMI MDM Service OfferingsAMI MDM Service Offerings
AMI MDM Service OfferingsInfosys
 
Technosoft modeling and simulation 2006 03-27 from craig
Technosoft modeling and simulation  2006 03-27 from craigTechnosoft modeling and simulation  2006 03-27 from craig
Technosoft modeling and simulation 2006 03-27 from craigkeyven
 
Updated_CV_Lucky Bhandari_17-11-2015
Updated_CV_Lucky Bhandari_17-11-2015Updated_CV_Lucky Bhandari_17-11-2015
Updated_CV_Lucky Bhandari_17-11-2015lucky bhandari
 
Tideway Foundation 7.2 Datasheet
Tideway Foundation 7.2 DatasheetTideway Foundation 7.2 Datasheet
Tideway Foundation 7.2 DatasheetPeter Grant
 

Similar a Wia day-panel (20)

CSSLP & OWASP & WebGoat
CSSLP & OWASP & WebGoatCSSLP & OWASP & WebGoat
CSSLP & OWASP & WebGoat
 
C S S L P &amp; OWASP 2010 &amp; Web Goat By Surachai.C Publish Presentation
C S S L P &amp;  OWASP 2010 &amp; Web Goat By  Surachai.C  Publish  PresentationC S S L P &amp;  OWASP 2010 &amp; Web Goat By  Surachai.C  Publish  Presentation
C S S L P &amp; OWASP 2010 &amp; Web Goat By Surachai.C Publish Presentation
 
chinnahanuma
chinnahanuma chinnahanuma
chinnahanuma
 
Driving a Digital Thread Program in Manufacturing with Apache Kafka | Anu Mis...
Driving a Digital Thread Program in Manufacturing with Apache Kafka | Anu Mis...Driving a Digital Thread Program in Manufacturing with Apache Kafka | Anu Mis...
Driving a Digital Thread Program in Manufacturing with Apache Kafka | Anu Mis...
 
Shahed Anwar Resume
Shahed Anwar ResumeShahed Anwar Resume
Shahed Anwar Resume
 
Mycv Tb
Mycv TbMycv Tb
Mycv Tb
 
Malik M. Ashfaque - CV
Malik M. Ashfaque - CVMalik M. Ashfaque - CV
Malik M. Ashfaque - CV
 
Bcs presentation zacharias_enislidis
Bcs presentation zacharias_enislidisBcs presentation zacharias_enislidis
Bcs presentation zacharias_enislidis
 
Careers In Computer Information Systems 2008-2009
Careers In Computer Information Systems 2008-2009Careers In Computer Information Systems 2008-2009
Careers In Computer Information Systems 2008-2009
 
Open Data Center Alliance Workgroups, Usage Models and Roadmap Structure
Open Data Center Alliance Workgroups, Usage Models and Roadmap StructureOpen Data Center Alliance Workgroups, Usage Models and Roadmap Structure
Open Data Center Alliance Workgroups, Usage Models and Roadmap Structure
 
Metadata Modeling Best Practices with IBM Cognos Framework Manager
Metadata Modeling Best Practices with IBM Cognos Framework ManagerMetadata Modeling Best Practices with IBM Cognos Framework Manager
Metadata Modeling Best Practices with IBM Cognos Framework Manager
 
Midrange role in isets
Midrange role in isetsMidrange role in isets
Midrange role in isets
 
Integration
IntegrationIntegration
Integration
 
Stan Adkerson Professional Resume
Stan Adkerson Professional ResumeStan Adkerson Professional Resume
Stan Adkerson Professional Resume
 
Corporate profile steep graph aras innovator
Corporate profile steep graph aras innovatorCorporate profile steep graph aras innovator
Corporate profile steep graph aras innovator
 
Hardware Software Co-Design - White Paper
Hardware Software Co-Design - White PaperHardware Software Co-Design - White Paper
Hardware Software Co-Design - White Paper
 
AMI MDM Service Offerings
AMI MDM Service OfferingsAMI MDM Service Offerings
AMI MDM Service Offerings
 
Technosoft modeling and simulation 2006 03-27 from craig
Technosoft modeling and simulation  2006 03-27 from craigTechnosoft modeling and simulation  2006 03-27 from craig
Technosoft modeling and simulation 2006 03-27 from craig
 
Updated_CV_Lucky Bhandari_17-11-2015
Updated_CV_Lucky Bhandari_17-11-2015Updated_CV_Lucky Bhandari_17-11-2015
Updated_CV_Lucky Bhandari_17-11-2015
 
Tideway Foundation 7.2 Datasheet
Tideway Foundation 7.2 DatasheetTideway Foundation 7.2 Datasheet
Tideway Foundation 7.2 Datasheet
 

Wia day-panel

  • 1. Software Design: Is It Really Better to Look Good Than to Feel Good? Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA
  • 2. World IA Day/Nashville Douglas C. Schmidt Fernando’s Hideaway & Fernando’s Creed •  There’s a trend in software development to follow a variant of Ferdando’s Creed •  i.e., better to look good on the outside than be well designed on the inside 2
  • 3. World IA Day/Nashville Douglas C. Schmidt What’s Often Happening on the Inside Historically software developers have manually rediscovered & reinvented “point solutions” that are expensive to develop, integrate, validate, & sustain Customized Form Factors Proprietary & Stovepiped Application & Infrastructure Software Standard/COTS Hardware & Networks 3
  • 4. World IA Day/Nashville Douglas C. Schmidt What’s Often Happening on the Inside Historically software developers have manually rediscovered & reinvented “point solutions” that are expensive to develop, integrate, validate, & sustain Customized Form Factors Proprietary & Stovepiped Application & Infrastructure Software Standard/COTS Hardware & Networks Consequence: Small changes in software/hardware negatively impact on system quality & sustainability 4
  • 5. World IA Day/Nashville Douglas C. Schmidt Improving Design with Patterns & Frameworks Patterns & frameworks promote “systematic reuse” of best-practice by factoring out many general- purpose & domain-specific services from apps Customized Form Factors Template Bundled & Third-Party Apps Half-Sync/ Method Half-Async Framework- Application Frameworks based App & Command Observer Infrastructure System Libraries Virtual Machine Runtime Software Proxy Decorator Broker Operating System Kernel Strategy Standard/COTS Hardware & Networks 5
  • 6. World IA Day/Nashville Douglas C. Schmidt How to Master Patterns & Frameworks Historically, the knowledge of patterns & fameworks has typically been located in: 1.  The heads of the experts 6
  • 7. World IA Day/Nashville Douglas C. Schmidt How to Master Patterns & Frameworks Historically, the knowledge of patterns & fameworks has typically been located in: 1.  The heads of the experts 2.  The bowels of the source code public class KeyGeneratorImpl extends Service { private Set<UUID> keys = new HashSet<UUID>(); private final KeyGenerator.Stub binder = new KeyGenerator.Stub() { public void setCallback (final KeyGeneratorCallback callback) { UUID id; synchronized (keys) { do { id = UUID.randomUUID(); } while (keys.contains(id)); keys.add(id); } final String key = id.toString(); try { Log.d(getClass().getName(), "sending key" + key); callback.sendKey(key); } catch (RemoteException e) { e.printStackTrace(); } } }; public IBinder onBind(Intent intent) { return this.binder; } } 7
  • 8. World IA Day/Nashville Douglas C. Schmidt How to Master Patterns & Frameworks Historically, the knowledge of patterns & fameworks has typically been located in: 1.  The heads of the experts 2.  The bowels of the source code Both locations are fraught with danger! 8
  • 9. World IA Day/Nashville Douglas C. Schmidt How to Master Patterns & Frameworks There is now a broad literature for learning about patterns & frameworks for software design 9
  • 10. World IA Day/Nashville Douglas C. Schmidt How to Master Patterns & Frameworks •  There are also multimedia resources becoming available •  e.g., in the form of “MOOCs” •  MOOCs are not a panacea, but have the potential to convey software design more broadly than heretofore possible 10 See www.dre.vanderbilt.edu/~schmidt for more info