SlideShare a Scribd company logo
1 of 81
Download to read offline
the humane
software assessment



Tudor Gîrba
www.tudorgirba.com
the humane
software assessment



Tudor Gîrba
www.tudorgirba.com

                               eng   .ch
                      w ww.sw-
software assessment
{
    {
}
}
    {
    {
}
}
        for
              wa
                   rd
                        en
                             gin
                                   eer
                                         ing
ing
                                       eer
                                      gin
                                      en
                                  rd
                                 wa
                                for




                                                                  {               {
{               {                                                                         {
                                                                      {
    {               {                                                                         }
        }               }                    actual development           }
                                                                          }
            }               }                                                 }       {       }
{
              {
    }
}
                         {
              {
    }
}
                                for
                                      wa
                                           rd
                                                en
                                                     gin
                                                           eer
                                                                   ing




    actual development
                                                           n   g
                                                     e eri
                                             n gin
                                     rs ee
                             r eve
                         {
                         {
    }}
}
                         {



{
                         {
                }

}
{
        {
    }
    }
}
        {
                 reverse




{
        {
        }

}
                engineering
{
        {
    }
    }
}
        {
                 reverse




{
        {
        }

}
                engineering
{
        {
    }
    }
}
        {
                 reverse




{
        {
        }

}
                engineering
{
        {
    }
    }
}
        {
                 reverse




{
        {
                              assessment




        }

}
                engineering
software assessment
software assessment
is a human activity
the humane
software assessment
humans
1. build the system
2. perform the assessment
3. consume the assessment
humans
1. build the system
2. perform the assessment
3. consume the assessment
the shape of the organization
influences the shape of the system




                                    Conway, 1968
organization



   system



               Conway, 1968
5
Gîrba etal 200
8
Junker 200
7
Lungu etal 200
organization



   system



               Conway, 1968
organization



   system
humans
1. build the system
2. perform the assessment
3. consume the assessment
humans
1. build the system
2. perform the assessment
3. consume the assessment
humans
1. build the system
2. perform the assessment
3. consume the assessment
humans are not machines
it is   humane to identify patterns
read all code in one hour?
humans identify patterns
humans identify patterns
humans identify patterns
03
         ucasse 20
Lanza, D
it is   humane to jump to conclusions
it’s not lupus
it is   humane to have preconceived ideas
public class Library {
   List books;
   public Library() {…}
   public void addBook(Book b) {…}
   public void removeBook(Book b) {…}
   private boolean hasBook(Book b) {…}
   protected List getBooks() {…}
   protected void setBooks(List books) {…}
   public boolean equals(…) {…}
 }



NOM = ?
public class Library {
   List books;
   public Library() {…}
   public void addBook(Book b) {…}
   public void removeBook(Book b) {…}
   private boolean hasBook(Book b) {…}
   protected List getBooks() {…}
   protected void setBooks(List books) {…}
   public boolean equals(…) {…}
 }



NOM = 7
public class Library {
   List books;
   public Library() {…}
   public void addBook(Book b) {…}
   public void removeBook(Book b) {…}
   private boolean hasBook(Book b) {…}
   protected List getBooks() {…}
   protected void setBooks(List books) {…}
   public boolean equals(…) {…}
 }



NOM = 7 6
public class Library {
   List books;
   public Library() {…}
   public void addBook(Book b) {…}
   public void removeBook(Book b) {…}
   private boolean hasBook(Book b) {…}
   protected List getBooks() {…}
   protected void setBooks(List books) {…}
   public boolean equals(…) {…}
 }



NOM = 7 6 4
public class Library {
   List books;
   public Library() {…}
   public void addBook(Book b) {…}
   public void removeBook(Book b) {…}
   private boolean hasBook(Book b) {…}
   protected List getBooks() {…}
   protected void setBooks(List books) {…}
   public boolean equals(…) {…}
 }



NOM = 7 6 4 3
public class Library {
   List books;
   public Library() {…}
   public void addBook(Book b) {…}
   public void removeBook(Book b) {…}
   private boolean hasBook(Book b) {…}
   protected List getBooks() {…}
   protected void setBooks(List books) {…}
   public boolean equals(…) {…}
 }



NOM = 7 6 4 3 2
public class Library {
   List books;
   public Library() {…}
   public void addBook(Book b) {…}
   public void removeBook(Book b) {…}
   private boolean hasBook(Book b) {…}
   protected List getBooks() {…}
   protected void setBooks(List books) {…}
   public boolean equals(…) {…}
 }



NOM = 7, 6, 4, 3, 2 ?
public class Library {
   List books;
   public Library() {…}
   public void addBook(Book b) {…}
   public void removeBook(Book b) {…}
   private boolean hasBook(Book b) {…}
   protected List getBooks() {…}
   protected void setBooks(List books) {…}
   public boolean equals(…) {…}
 }



NOM = 7, 6, 4, 3, 2 ?
                              ecide
                        yo u d
analysis
analysis




control
analysis




control to interpret
03
         ucasse 20
Lanza, D
requ  ires
         eta tion
inte rpr
requ  ires
         eta tion
inte rpr




                                       03
                             ucasse 20
                    Lanza, D
analysis




control to interpret
it is   humane to ask questions
What
Where
When
Who
How
Why
What
Where
When
Who
How
it is   humane to hypothesize
Model
Model


  GUI
Model


Helpers     GUI
Murphy etal 1995




          Model


Helpers     GUI
8
        n etal 200
Brühlman
8
        n etal 200
Brühlman
humans are not machines
tools should
not drive
tools should empower
not drive
{
        {
    }
    }
}
        {
                 reverse




{
        {
                              assessment




        }

}
                engineering
Spine llis 2003
Class A   method M
package 1
               Class B   method N
package 2
                  ...       ...
    ...


 source code
Class A   method M
package 1
               Class B   method N
package 2
                  ...       ...
    ...


 source code
new.
                       Bro wser                                               s
          bleL  ayout aces;                                       de:  #clas
b  := Ta : #namesp                                     dTo  Outsi es.
       umn              es;                     b sen : #class          #meth
                                                                               od
b col mn: #class s.                                fro m          ide:
    colu : #method es;                                  dT oOuts ods.              ew.
           n
    colum : #namespa
                           c                     b sen : #meth            ow ser n r'.
        wOn                                         from leLayoutBr Browse
  b sho g: [                                             Tab            ous
     usin ee                      l |             B := e: 'Glamor
        b  tr         : [  :mode aces                    l
                                                  B tit #nav;
           di  splay allNamesp ;                          :
                                                   B row #details.
                                     ]
               model : #isRoot pes;                   row: : #nav;
                       t             o
                selec : #childSc                           wOn
                                                    B sho g: [
                      en                               usin stom: b ].
             c hildr #name ].
                     t:
              forma lasses;                 [             B cu #details;
                n: # c         s; u sing:                      n:
                                                        showO #nav->#cla
                                                                              ss;
        showO #namespace                             B
     b                                                  from: [
        from: st                     s;                         :                       t ].
            b  li        : #c lasse                      using xt                 ceTex
                di splay #name ].                            B te lay: #sour
                       t:                                       disp etails;
                 forma ethods;                                       #d             ;
                    : #m es; using:
                                          [
                                                            ho wOn: v->#method
               wOn                                     B s         #na
       b sho : #class                                      f rom: [
           from st                    ds;                         :                         ].
               b  li        : # metho re ].                using xt                 c eText
                  di splay #signatu                            B te lay: #sour
                         t:                                       disp
                   forma




       oose.unibe.ch                                                   Bunge etal 200
                                                                                      9
     m
9
Bunge etal 200
what you can,
governs what you wish
humans
1. build the system
2. perform the assessment
3. consume the assessment
humans
1. build the system
2. perform the assessment
3. consume the assessment
the humane
software assessment



Tudor Gîrba
www.tudorgirba.com
Tudor Gîrba
        www.tudorgirba.com




creativecommons.org/licenses/by/3.0/

More Related Content

Similar to The humane software assessment (Choose Forum 2009)

Helping you reengineering your legacy
Helping you reengineering your legacyHelping you reengineering your legacy
Helping you reengineering your legacy
Stéphane Ducasse
 
05 Problem Detection
05 Problem Detection05 Problem Detection
05 Problem Detection
Jorge Ressia
 

Similar to The humane software assessment (Choose Forum 2009) (14)

The Humane Software Assessment
The Humane Software AssessmentThe Humane Software Assessment
The Humane Software Assessment
 
Pragmatic Design Quality Assessment - (Tutorial at ICSE 2008)
Pragmatic Design Quality Assessment - (Tutorial at ICSE 2008)Pragmatic Design Quality Assessment - (Tutorial at ICSE 2008)
Pragmatic Design Quality Assessment - (Tutorial at ICSE 2008)
 
Humane assessment at ICSM 2010
Humane assessment at ICSM 2010Humane assessment at ICSM 2010
Humane assessment at ICSM 2010
 
Reverse Engineering 2007-11-27
Reverse Engineering 2007-11-27 Reverse Engineering 2007-11-27
Reverse Engineering 2007-11-27
 
History Analysis (EVO 2008)
History Analysis (EVO 2008)History Analysis (EVO 2008)
History Analysis (EVO 2008)
 
Problem Detection (EVO 2008)
Problem Detection (EVO 2008)Problem Detection (EVO 2008)
Problem Detection (EVO 2008)
 
Modeling History to Understand Software Evolution with Hismo 2008-03-12
Modeling History to Understand Software Evolution with Hismo 2008-03-12Modeling History to Understand Software Evolution with Hismo 2008-03-12
Modeling History to Understand Software Evolution with Hismo 2008-03-12
 
Modeling History to Understand Software Evolution With Hismo 2008-02-25
Modeling History to Understand Software Evolution With Hismo 2008-02-25 Modeling History to Understand Software Evolution With Hismo 2008-02-25
Modeling History to Understand Software Evolution With Hismo 2008-02-25
 
Helping you reengineering your legacy
Helping you reengineering your legacyHelping you reengineering your legacy
Helping you reengineering your legacy
 
What history can tell us
What history can tell usWhat history can tell us
What history can tell us
 
Enhancing agile development through software assessment
Enhancing agile development through software assessmentEnhancing agile development through software assessment
Enhancing agile development through software assessment
 
Humane assessment with Moose at Benevol 2010
Humane assessment with Moose at Benevol 2010Humane assessment with Moose at Benevol 2010
Humane assessment with Moose at Benevol 2010
 
05 Problem Detection
05 Problem Detection05 Problem Detection
05 Problem Detection
 
Assessing software systems
Assessing software systemsAssessing software systems
Assessing software systems
 

More from Tudor Girba

More from Tudor Girba (20)

Beyond software evolution: Software environmentalism
Beyond software evolution: Software environmentalismBeyond software evolution: Software environmentalism
Beyond software evolution: Software environmentalism
 
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
 
GT Spotter
GT SpotterGT Spotter
GT Spotter
 
Don't demo facts. Demo stories! (handouts)
Don't demo facts. Demo stories! (handouts)Don't demo facts. Demo stories! (handouts)
Don't demo facts. Demo stories! (handouts)
 
Don't demo facts. Demo stories!
Don't demo facts. Demo stories!Don't demo facts. Demo stories!
Don't demo facts. Demo stories!
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cards
 
Underneath Scrum: Reflective Thinking
Underneath Scrum: Reflective ThinkingUnderneath Scrum: Reflective Thinking
Underneath Scrum: Reflective Thinking
 
1800+ TED talks later
1800+ TED talks later1800+ TED talks later
1800+ TED talks later
 
Humane assessment: Taming the elephant from the development room
Humane assessment: Taming the elephant from the development roomHumane assessment: Taming the elephant from the development room
Humane assessment: Taming the elephant from the development room
 
Moose: how to solve real problems without reading code
Moose: how to solve real problems without reading codeMoose: how to solve real problems without reading code
Moose: how to solve real problems without reading code
 
Software Environmentalism (ECOOP 2014 Keynote)
Software Environmentalism (ECOOP 2014 Keynote)Software Environmentalism (ECOOP 2014 Keynote)
Software Environmentalism (ECOOP 2014 Keynote)
 
The emergent nature of software systems
The emergent nature of software systemsThe emergent nature of software systems
The emergent nature of software systems
 
Presenting is storytelling at Uni Zurich - slides (2014-03-05)
Presenting is storytelling at Uni Zurich - slides (2014-03-05)Presenting is storytelling at Uni Zurich - slides (2014-03-05)
Presenting is storytelling at Uni Zurich - slides (2014-03-05)
 
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
 
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
 
Demo-driven innovation teaser
Demo-driven innovation teaserDemo-driven innovation teaser
Demo-driven innovation teaser
 
Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)
 
Humane assessment with Moose at GOTO Aarhus 2011
Humane assessment with Moose at GOTO Aarhus 2011Humane assessment with Moose at GOTO Aarhus 2011
Humane assessment with Moose at GOTO Aarhus 2011
 
Flexible analysis with Moose at Jazoon 2011
Flexible analysis with Moose at Jazoon 2011Flexible analysis with Moose at Jazoon 2011
Flexible analysis with Moose at Jazoon 2011
 
Holistic software assessment at the University of Zurich
Holistic software assessment at the University of ZurichHolistic software assessment at the University of Zurich
Holistic software assessment at the University of Zurich
 

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Recently uploaded (20)

How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 

The humane software assessment (Choose Forum 2009)

  • 1. the humane software assessment Tudor Gîrba www.tudorgirba.com
  • 2. the humane software assessment Tudor Gîrba www.tudorgirba.com eng .ch w ww.sw-
  • 4. { { } } { { } } for wa rd en gin eer ing
  • 5. ing eer gin en rd wa for { { { { { { { { } } } actual development } } } } } { }
  • 6. { { } } { { } } for wa rd en gin eer ing actual development n g e eri n gin rs ee r eve { { }} } { { { } }
  • 7. { { } } } { reverse { { } } engineering
  • 8.
  • 9.
  • 10. { { } } } { reverse { { } } engineering
  • 11. { { } } } { reverse { { } } engineering
  • 12. { { } } } { reverse { { assessment } } engineering
  • 14. software assessment is a human activity
  • 16. humans 1. build the system 2. perform the assessment 3. consume the assessment
  • 17. humans 1. build the system 2. perform the assessment 3. consume the assessment
  • 18. the shape of the organization influences the shape of the system Conway, 1968
  • 19. organization system Conway, 1968
  • 23. organization system Conway, 1968
  • 24. organization system
  • 25. humans 1. build the system 2. perform the assessment 3. consume the assessment
  • 26. humans 1. build the system 2. perform the assessment 3. consume the assessment
  • 27. humans 1. build the system 2. perform the assessment 3. consume the assessment
  • 28. humans are not machines
  • 29. it is humane to identify patterns
  • 30. read all code in one hour?
  • 34. 03 ucasse 20 Lanza, D
  • 35. it is humane to jump to conclusions
  • 36.
  • 38. it is humane to have preconceived ideas
  • 39. public class Library { List books; public Library() {…} public void addBook(Book b) {…} public void removeBook(Book b) {…} private boolean hasBook(Book b) {…} protected List getBooks() {…} protected void setBooks(List books) {…} public boolean equals(…) {…} } NOM = ?
  • 40. public class Library { List books; public Library() {…} public void addBook(Book b) {…} public void removeBook(Book b) {…} private boolean hasBook(Book b) {…} protected List getBooks() {…} protected void setBooks(List books) {…} public boolean equals(…) {…} } NOM = 7
  • 41. public class Library { List books; public Library() {…} public void addBook(Book b) {…} public void removeBook(Book b) {…} private boolean hasBook(Book b) {…} protected List getBooks() {…} protected void setBooks(List books) {…} public boolean equals(…) {…} } NOM = 7 6
  • 42. public class Library { List books; public Library() {…} public void addBook(Book b) {…} public void removeBook(Book b) {…} private boolean hasBook(Book b) {…} protected List getBooks() {…} protected void setBooks(List books) {…} public boolean equals(…) {…} } NOM = 7 6 4
  • 43. public class Library { List books; public Library() {…} public void addBook(Book b) {…} public void removeBook(Book b) {…} private boolean hasBook(Book b) {…} protected List getBooks() {…} protected void setBooks(List books) {…} public boolean equals(…) {…} } NOM = 7 6 4 3
  • 44. public class Library { List books; public Library() {…} public void addBook(Book b) {…} public void removeBook(Book b) {…} private boolean hasBook(Book b) {…} protected List getBooks() {…} protected void setBooks(List books) {…} public boolean equals(…) {…} } NOM = 7 6 4 3 2
  • 45. public class Library { List books; public Library() {…} public void addBook(Book b) {…} public void removeBook(Book b) {…} private boolean hasBook(Book b) {…} protected List getBooks() {…} protected void setBooks(List books) {…} public boolean equals(…) {…} } NOM = 7, 6, 4, 3, 2 ?
  • 46. public class Library { List books; public Library() {…} public void addBook(Book b) {…} public void removeBook(Book b) {…} private boolean hasBook(Book b) {…} protected List getBooks() {…} protected void setBooks(List books) {…} public boolean equals(…) {…} } NOM = 7, 6, 4, 3, 2 ? ecide yo u d
  • 50. 03 ucasse 20 Lanza, D
  • 51.
  • 52. requ ires eta tion inte rpr
  • 53. requ ires eta tion inte rpr 03 ucasse 20 Lanza, D
  • 55. it is humane to ask questions
  • 58. it is humane to hypothesize
  • 59.
  • 60. Model
  • 63. Murphy etal 1995 Model Helpers GUI
  • 64.
  • 65. 8 n etal 200 Brühlman
  • 66. 8 n etal 200 Brühlman
  • 67. humans are not machines
  • 70. { { } } } { reverse { { assessment } } engineering
  • 72.
  • 73. Class A method M package 1 Class B method N package 2 ... ... ... source code
  • 74. Class A method M package 1 Class B method N package 2 ... ... ... source code
  • 75. new. Bro wser s bleL ayout aces; de: #clas b := Ta : #namesp dTo Outsi es. umn es; b sen : #class #meth od b col mn: #class s. fro m ide: colu : #method es; dT oOuts ods. ew. n colum : #namespa c b sen : #meth ow ser n r'. wOn from leLayoutBr Browse b sho g: [ Tab ous usin ee l | B := e: 'Glamor b tr : [ :mode aces l B tit #nav; di splay allNamesp ; : B row #details. ] model : #isRoot pes; row: : #nav; t o selec : #childSc wOn B sho g: [ en usin stom: b ]. c hildr #name ]. t: forma lasses; [ B cu #details; n: # c s; u sing: n: showO #nav->#cla ss; showO #namespace B b from: [ from: st s; : t ]. b li : #c lasse using xt ceTex di splay #name ]. B te lay: #sour t: disp etails; forma ethods; #d ; : #m es; using: [ ho wOn: v->#method wOn B s #na b sho : #class f rom: [ from st ds; : ]. b li : # metho re ]. using xt c eText di splay #signatu B te lay: #sour t: disp forma oose.unibe.ch Bunge etal 200 9 m
  • 77. what you can, governs what you wish
  • 78. humans 1. build the system 2. perform the assessment 3. consume the assessment
  • 79. humans 1. build the system 2. perform the assessment 3. consume the assessment
  • 80. the humane software assessment Tudor Gîrba www.tudorgirba.com
  • 81. Tudor Gîrba www.tudorgirba.com creativecommons.org/licenses/by/3.0/