SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
Zin en Onzin van Modeleren
 in Software Development



      Dr. Michel R.V. Chaudron
Leiden Institute of Advanced Computer Science
               chaudron@liacs.nl




                       Leiden University. The university to discover.
Outline of talk
    Introduction
     - LIACS & Software Engineering
    Modeling in Software Development
            - How are models being used in practice?
      - What does it cost/bring to do modeling?
    Experiments
            - Hafeez
            - Dave (announcement)

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Leiden Institute of Advanced
         Computer Science
          Algorithms                      Software Engineering
          Prof. J.N. Kok, Prof. T. Bäck   Dr. M.R.V. Chaudron,
                                          Prof. F. Arbab,
          •   Novel Algorithms
          •   Data Mining                 •   Software Design and Modeling           4 years Leiden
          •   Natural Computing           •   Software Composition
          •   Applications                •   Formal Methods
                                                                                     10 years TU Eindhoven
                   • Drug Design          •   Coordination / Concurrency             2 year IT-company
                   • Medicine
                   • Engineering
                   • Logistics
                   • Physics


    Imagery and Media                           Core Computer
    Dr. M. Lew, Dr. F. Verbeek
                                                Technologies
    •   Computer Vision and Audio/Video         Prof. H. Wijshoff, Dr. T. Stefanov
    •   Bioimaging
    •   Multimedia Search                       • Embedded Systems
    •   Internet Technology                     • Parallel / Distributed Computing
    •   Computer Graphics                       • Compiler Technology




3
                                                            Leiden University. The university to discover.
Software Engineering Researchers


 Werner Heijstek Hafeez Osman                       Dave Stikkolorum   Ana Fernandes            Pieter Kwantes
Models in Global SE Updating UML                   Teaching SW Design UML in maintenance        Domain Specific
                                                                                               Modeling Languages




     Ramin Etemadi              Bilal Karasneh           Peng Ye   Javier Hernandez
       Optimizing               Reasoning about                      Modeling Sw- Dr. Michel R.V. Chaudron
     Sw. Arch. Design           Sw. Arch. Design                     Product Lines    chaudron@liacs.nl

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden              Leiden University. The university to discover.
Automated Updating of Class Models
                                                                                                                    time
source code




                               change                change ’                  change ’’




                      learn design               update with
                    abstraction:         abstraction of change: ()       (’)                      (’’)
 UML design model




                                     A change  can be an addition, modification, removal.




                                                                        Leiden University. The university to discover.
Extracting Model from Images                                                   Bilal




                     Recognizing:
                     - Rectangles
                     - Lines
                     - Text,
                     - arrow-heads



Input: .jpeg, .png                    Output:
                                      XMI for the class model



                                     Leiden University. The university to discover.
History of UML




    Other modeling languages: BPML, Archimate, …

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
4+1 Views Representation
                             of System Architecture
                                                   What can/does
   How is the system                              the system do ?                       How to build /
         structured?                                                                      configure ?
                                 Logical View                       Development View

           System Architect                              End-user                                Programmers
           Functionality (Decomposition)                                            Configuration management
                                                     Use Case View
        How does the                                                              Where to install ?
      system behave?                                                        What hwnw is used?
                                 Process View                       Deployment View
            System Architect                                                                 System engineering
                                                                                                  System topology
            Concurrency, Communication,                                       Delivery, installation, maintenance
            Synchronization                      How does the              Performance, Scalability, Throughput
                                             system perform ?

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden                Leiden University. The university to discover.
UML modeling notations for 4+1 Views
      Structure model : components,
                                                                            Config. Mngnt model
      packages, interfaces
                                                                              versioning policies
              A                 B                                             file ownership
                                                         Stakeholders &       …
                                                         Use cases view
                           C            D



      Behaviour model :                                                            Deployment model :
      MSC, state-diagrams                                                    physical model + mapping
           A           B          C           D
                                                                        A             C             D
                                                                        B
                                                                             TCP/IP over Ethernet
      BC/WC e2e-response times, freq.                               bandwidth, availability

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden            Leiden University. The university to discover.
Opinions on Value of Modelling

Value
        Agile


        MDA     “Loose
                 UML”
                             Formal Methods


                        100%
                     Panel
                     completeness

                     Leiden University. The university to discover.
Introduction: Research Interest
  - What are the pay-offs of investing in
    early design/architecture/modeling?
        Fewer defects?
        Cheaper maintenance? …

  - Effectiveness of software modelling
     - Quality of Modeling
       When is a model good (enough)
     - Analysis of Non-Functional
       Quality Properties of architectures

  - Many modeling approaches around;
    focus on UML in custom software development
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Increasing Complexity of Software




                                                                                                          Blow, J. "Game Development: Harder Than You Think." ACM Queue
                                                                                                    12
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Empirical Research
      … is a way of gaining knowledge by means
        of observation or experience.

           Theory                                                           Practice
    SE body of knowledge                                      People/Skills, Processes, Methods,
                                                                    Technology, Artefacts
                                                         Observation
                                        Hypothesis


                                                     Prediction/Test
                                                          Validation


    Topics: CMM, OO, Agile, MDA, …
    Methods: Experiment, Case study, Survey, Project Repositories …
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden             Leiden University. The university to discover.
contact
                                   Dr. Michel R.V. Chaudron
                                    Associate Professor
                      Leiden Institute of Advanced Computer Science
                                     chaudron@liacs.nl
                                  www.liacs.nl/~chaudron

                    If you have UML models you would like to assess?

               If you want advice on Quality Assurance for modeling?

                                 If you want to sponsor our research?



Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Empirical Life-cycle


  Initial Idea
                 Exploratory Interviews
                                                           Survey


                                                           Method
                                                     Development


 Experiment
                   Industrial Case Studies

                                Leiden University. The university to discover.
Phase 1: Explore via Case Studies




                     Your project here? Mail me: chaudron@liacs.nl
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Industrial use of UML diagrams




                                                                                                             How UML is used B Dobing, J Parsons - Communications of the ACM, 2006
                                                    Class


Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden      Leiden University. The university to discover.
Styles of Modeling
                                                         Sketch



              Communication
                                                                  Recipe for construction




Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden            Leiden University. The university to discover.
Modelling style and model purpose




                                                                                   Architecture and Design Description. IEEE Software 23(2): 40-46 (2006)
                                                                                    C.F.J.Lange, M.R. V. Chaudron, J.Muskens: In Practice: UML Software
                     understanding

                     communicating

                                    managing
                                   complexity
                                              implementation
                                                 blueprint




     Styles of using UML
        –   as a sketch – thinking tool/understanding
        –   for communicating system design
        –   as a blueprint – guide the implementation work
        –   as a implementation (MDA) - code generation
                                      Leiden University. The university to discover.
The Modeling Spectrum




Model driven architecture: Principles and practice, Brown, A.W., Software and Systems Modeling, 2004

                                                          Leiden University. The university to discover.
Uses of Software Models
       + Understanding                                                       Doing
       + Analyzing / Predicting                                           modeling is
                                                                           a quality
       + Communicating                                                    improving
                                                                            activity
       + Guiding




Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
UML in practice
                                                          Sketch




   Communication

                                               More effort  More expensive
                                                            Recipe for construction




Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden     Leiden University. The university to discover.
Modeling & Documentation
                               in Agile Development
 - Agile principles:
     working software over comprehensive documentation
                                                                                                                            Survey under
                                                                                                                            75+ agile developers
                                                                                                                            Tending towards:
                                                                                                                             we need a bit more
                                                                                                                            Modeling is
                                                                                                                            compatible with
                                                                                                                            agile development
Christoph J. Stettina and Werner Heijstek, Necessary and Neglected? An Empirical Study of Internal Documentation in Agile Software Development Teams 29th ACM Int. Conf. on Design of
                                                                               Communication , Pisa, Italy

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden                                                  Leiden University. The university to discover.
Does use of UML improve software quality?




                                                                                                                                  Ariadi Nugroho, Michel R. V. Chaudron: A Survey of the Practice of Design -
                                                                                                                                   Code Correspondence amongst Professional Software Engineers. ESEM 2007:
                                        50.0


                                        45.0
                                                Reduce
                                                Somewhat Reduce
                                                                                                             45%
                                                Neutral                       41%
                                        40.0    Somewhat Improve
                                                Improve
        Percentage of the respondents




                                        35.0


                                        30.0


                                        25.0


                                        20.0


                                        15.0


                                        10.0


                                         5.0


                                         0.0

                                                  Cover     Correctness Modularity Testability Understandability
                                               Requirements


    A large number of developers indicated the use of UML
          improves understandability and modularity
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden                           Leiden University. The university to discover.
Economic Model for Cost of Quality




                                                                                                          From: H. Krasner, Cost of Quality, 1998
  Cost of SQ = Achievement Cost + Non-conformance Cost

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Cost of Modeling
    Focus on effort

    “Is there a correlation between class-count and the
       effort spent in modeling?”

      Sources:
      ‐ Experiment
      ‐ Set of industrial case studies




Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Empirical Data
       Experiment
        106 MSc students in (TU/e)
                  Organized in 35 teams
             Task: Model Car Navigation System
             Duration: 6 weeks assignment
             Three treatments were applied:
                      1. No modeling conventions
                      2. With modeling conventions
                      3. Tool-supported modeling conventions


Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Experiment Results: Effort ~ Size?
                      40,00

                      35,00

                      30,00
     Effort (hours)




                      25,00
                                                                                               Spearman’s Correlation Coefficient
                      20,00

                      15,00                                                                                       Effort (hours)
                      10,00                                                      Class-count                            .302
                       5,00                                                      Sig. (2-tailed)                        .171
                       0,00
                              0   10       20    30    40     50     60   70
                                                  Class-count
                                       Number of classes in design



                        There is no significant correlation between class-count and
                                        the effort spent in modeling.

                           class-count is not a good measure for the effort spent
                                               on modeling?
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden                    Leiden University. The university to discover.
Measurement of Modeling/Design
                  in RUP Effort Distribution




                                        modeling         designing
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden     Leiden University. The university to discover.
Impact of MDD on Effort Distribution
                                                    as % of total project effort
                              construction




                                                     constr.
              elaboration
                                                               transition

                                                      transition
              elaboration
               architecture & code generator
   incep.



            ‘traditional’                                Model-driven
            (avg. of 17 projects)                        (1 project)
                                         Leiden University. The university to discover.
Does Quality of Modeling Matter?
   An Industrial Case Study
       Focus on detail in a UML Model
                                                         attributes


                                                                             operations




                                                                                             associations

                Low detail                                            High detail

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden          Leiden University. The university to discover.
Relation between UML-LoD and Code Quality
            Select ‘defects’
             in defect DB

      Find classes in source                                                                  component C2                                                                                               defect
                                                                                                component C2

         code that were
                                                                                                 requires I2
                                                                                                 requires I3I2
                                                                                                   requires
                                                                                              uses requires I3
                                                                                                   I2.g
                                                                                                uses I2.g
                                                                                                                                                                                                         density
                                                                                              uses I3.h

     repaired for solving this                                                                  uses I3.h




              defects

                                                                                                                             O rder
                                                      OrderDetail
                                                                               *                              1       -date                                   P ce or
                                                                                                                                                               repro ss     Parser        A er
                                                                                                                                                                                           nalys    DC
                                                                                                                                                                                                    B reator   DF
                                                                                                                                                                                                               B iller     Inherita R
                                                                                                                                                                                                                                   nce elator   DC
                                                                                                                                                                                                                                                B hecker       S tis Filte
                                                                                                                                                                                                                                                                ta tic r     StatisticC lculator
                                                                                                                                                                                                                                                                                       a
                                                    -quantity




       Find corresponding
                                                                                                                      -status
                                                    -taxS tatus                                                                                     SA A
                                                                                                                                                    A T.B T
                                                                                                                      +calcTax()
                                                    +calcS ubTotal()
                                                                                                                      +calcTotal()
                                                    +calcW eight()                                                    +calcTotalW eight()
                                                                                     Paym ent                 1

                                                                                   -am ount              1




     classes in UML models                               Credit
                                                     -num ber
                                                     -type
                                                     -expDate
                                                                                       Cash
                                                                                   -cashTendered
                                                                                                                  Check
                                                                                                              -nam e
                                                                                                              -bankID
                                                                                                              +authorized()
                                                     + authorized()




                                                                  OrderDetail
                                                                                                                                      O rder                                                                                                                                                                      LoD per
                                                                                                                                                                                                                                                                                                                   class
                                                                                       *                                1     -date                                         P ce
                                                                                                                                                                             repro ssor     P rse
                                                                                                                                                                                             a r      A lys
                                                                                                                                                                                                       na er    DC
                                                                                                                                                                                                                B reator      DF
                                                                                                                                                                                                                              B iller       Inherita ceR
                                                                                                                                                                                                                                                    n elator    D C eck
                                                                                                                                                                                                                                                                 B h er      S tisticFilte
                                                                                                                                                                                                                                                                              ta          r   StatisticC lc r
                                                                                                                                                                                                                                                                                                        a ulato
                                                             -quantity




           Determine LoD
                                                                                                                              -status
                                                             -taxS tatus                                                                                         SA A
                                                                                                                                                                  A T.B T
                                                                                                                              +calcTax()
                                                             +calcS ubTotal()
                                                                                                                              +calcTotal()
                                                             +calcW eight()                                                   +calcTotalW eight()
                                                                                                Paym ent                 1

                                                                                              -am ount            1




           for CD and SD                                      -num ber
                                                              -type
                                                              -expDate
                                                                      Credit                      Cash
                                                                                              -cashTendered
                                                                                                                             Check
                                                                                                                        -nam e
                                                                                                                        -bankID
                                                                                                                        +authorized()
                                                              + authoriz ed()




Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden                                                                                                               Leiden University. The university to discover.
Relation between Level of Detail
                               and Defect Density




                                                                                          = 1 class




                  Level of Detail for Sequence Diagrams is significantly
                      (negatively) correlated with defect density.
                         More detailed model => fewer defects

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Quality Assurance for
                    Software Design / UML Model

     - How to define Quality for design/model?
     - How to assess quality?
     - How to check conformance in code?




Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Quality Models
    Existing models

             Boehm              McCall
                    ISO 9126            Rombach

                                    …


    - Decomposition of
      characteristics
           - Bottom level: metrics
    - Differences in
           - Relations between characteristics
           - Vocabulary                                               Boehm’s Quality Model

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
How to Define UML Model Quality?




                                                                                                          Framework for quality of UML models (Lange & Chaudron, 2005)
     The quality attributes of a UML model is determined
     by its purpose...




Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
How to measure goodness of UML model?
  Design Heuristics
         - Coupling, Cohesion, absence of anti-patterns

  Completeness
         - Interaction of classes must be described in SD
         - Methods of CD must be called in SD
  Consistency
         - In many casesSD can not be automatically determineddiagram
            Messages in it must correspond to method in class
            whether a flaw is an incompleteness or an inconsistency
  Correspondence
         - Dependencies in the implementation are allowed only if they
           occur in the design
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Automatically Checking Quality of Design
                         Quality = absence of ‘bad things’
                                  such as omissions, spaghetti
       UML model




      UML Analysis Tool



    Quality Metrics/Rules
    • Completeness                                           Visualization of
    • Consistency                                            model + metrics
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Screenshot of the MetricView tool


Quality Metrics
• Completeness
• Consistency
• … extensible




                                                                                     = violation
                                                                                      = ok
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
MetricView Tool                                                                           MetaView
                                                                                  to visualize the (hidden)
                                                                                  inter-diagram relations
                                                                                  Example:
                                                                                  Which classes contribute
                                                                                  to a certain use case?




                        http://www.youtube.com/watch?v=G3HJ_QR9EG4
       Supporting task-oriented modeling using interactive UML views, C.F.J. Lange, M. A.M. Wijns, and M. R.V. Chaudron,
                                           Journal of Visual Languages and Computing

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden                Leiden University. The university to discover.
                                               Christian Lange                                                             42
MetricView Tool                                                                          MetricView
                                                                                  The values of metrics are
http://www.youtube.com/watch?v=G3HJ_QR9EG4
                                                                                  visualized on class
                                                                                  diagrams using colors
                                                                                  Example:
                                                                                  Coupling-Between-
                                                                                  Objects (CBO)




                           We will analyse your UML model : mail to Chaudron@liacs.nl
        Supporting task-oriented modeling using interactive UML views, C.F.J. Lange, M. A.M. Wijns, and M. R.V. Chaudron,
                                            Journal of Visual Languages and Computing


                                           Christian Lange.            Leiden University. The university to discover.       43
3D visualization of design measurements
                         Your cases welcome…




               http://www.youtube.com/watch?v=G3HJ_QR9EG4
 Supporting task-oriented modeling using interactive UML views, C.F.J. Lange, M. A.M. Wijns, and M. R.V. Chaudron,
                                     Journal of Visual Languages and Computing


                                    Christian Lange.            Leiden University. The university to discover.       44
Findings from State of the Practice
    UML is used in different ways for different purposes
    - Incompleteness
           - Modelers focus on complex and critical parts
    - Disproportion
           - Different parts of the system are modeled different in level
                of quality
    - Inconsistency
           - Conflicting information in different views of one model


    Quality Assurance for modeling should address these
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Industrial Experience with MetricView
                      as Quality Assurance Tool
    - Based on 15+ industrial projects

    - If there are weak spots in the design, then these are
      indicated as ‘suspects’ by MetricView

    - MetricView indicates many weak spots that do not
      require improvement according to project architects
      (false positives?)
       prioritization is needed

    - The later MetricView is applied, the fewer ‘weak spots’
      are removed from the design  process issue

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Understanding Effectiveness of
          Modeling through Eyetracking




Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Hypothetical Benefits of Modeling
                     UML Modeling


      Developer                                          Process        Product
       Benefits                                          Benefits       Benefits

            Better                                   Improved                                               Improved
                                                   requirements          Fewer                               Quality
        Understanding
                                                                        Defects
       Problem Domain

                                                 Improved Design       Reduced                             Improved
                                                   Compliance           rework                            Productivity

                    Better
                                                     Improved                              Reduced
                Understanding                                        More efficient
                                                   Design Quality                           testing
                Solution Space                                          Testing
                                                                                             effort

                                                                                          Reduced
                                                                     More efficient
         Improved                      Shared                                            maintenance
                                                                      Maintenance
       Communication                System Model                                            effort



                               More           Project Management
          Better Risk
                             Accurate               Benefits
         management
                            Estimating



Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden              Leiden University. The university to discover.
Concluding Remarks
- Modeling is becoming common in software development.
  There are payoffs for modeling in:
   - improved code quality
   - improved communication

- Empirical studies enhance alignment of research and
  practice – your input is needed

- Practical Quality Assurance for UML should use low
  hanging fruit:
       i) Naming and layout-conventions, ii) Reviews & Inspections
       iii) Versioning, iv) Metrics


Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Future Directions
    - Automated Reasoning about Designs
      - Diagnosis & Prioritization
      - Severity Assessment of design flaws /
        technical debt

    - Next: Empirical studies
      - by Hafeez & Arjan
      - by Dave

                                                                   Hafeez                 Dave

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Comparing “MDD with code generation”
      & “Modeling + Programming”
   MDD with code generation      Modeling with Programming
Requires:                        Off the shelves tooling
- stable domain
- very good understanding of     Standard language
  domain                            (staff hiring & turnover)

- Multiple projects              Divergence of model and code

- Don’t introduce in critical
  projects

Needs dedicated techniques for
 Quality Assurance, estimation
                                    Leiden University. The university to discover.
How often do design issues lead to problems?
                                    70
                                                                                                     Never
                                                                                                     Sometimes
                                    60                                                               Often
                                                                                                     Very Often
    Percentage of the respondents




                                    50



                                    40



                                    30



                                    20



                                    10



                                    0
                                         Inconsistency   Understandability   Inaccuracy         Incompleteness




                                    Incompleteness of models was considered most
                                       often to lead to implementation problems
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden                             Leiden University. The university to discover.
How do developers apply detail to UML models?




                                                                                                                                       Ariadi Nugroho, Michel R. V. Chaudron: A Survey of the Practice of Design -
                                                                                                                                        Code Correspondence amongst Professional Software Engineers. ESEM 2007:
                                             70.0
                                                    Disagree
                                                    Somewhat Disagree
                                                                                                 61%
                                             60.0
                                                    Neutral
                                                    Somewhat agree
                                                                               52%
             Percentage of the respondents




                                             50.0   Agree


                                             40.0
                                                                                                                     37%

                                             30.0



                                             20.0



                                             10.0




                                              0.0
                                                Equal details     Details proportional More details for Programmers
                                                 for all parts       to complexity      critical parts determine details


                                                    Developers apply more detail on critical
                                                        and complex parts of a system
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden                                Leiden University. The university to discover.
Which factor most often drives developers to




                                                                                                                             Ariadi Nugroho, Michel R. V. Chaudron: A Survey of the Practice of Design -
                                                                                                                              Code Correspondence amongst Professional Software Engineers. ESEM 2007:
                       non-correspondence?
         Percentage of the respondents

                                         60

                                               Never
                                         50
                                               Sometimes
                                               Often
                                               Very Often                   48%
                                         40




                                         30
                                                                  31%
                                                                                               29%
                                         20




                                         10




                                          0

                                              Meeting       Impractical Incomplete      Model doesn’t satisfy
                                              deadline        model        model          requirements

       Among other factors, developers considered incomplete model
             more often drives them to non-correspondence

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden                      Leiden University. The university to discover.
Does strictness of implementing a model differ




                                                                                                                                          Ariadi Nugroho, Michel R. V. Chaudron: A Survey of the Practice of Design -
                                                                                                                                           Code Correspondence amongst Professional Software Engineers. ESEM 2007:
            for different modeling constructs?
                                               50.0
                                                      Loosely                         36%
               Percentage of the respondents

                                                      Somewhat loosely
                                               45.0
                                                      Neutral
                                               40.0
                                                      Somewhat strict
                                                      Strictly
                                                                                                 46%
                                               35.0


                                               30.0
                                                                                                                     31%
                                               25.0


                                               20.0


                                               15.0


                                               10.0


                                                5.0


                                                0.0

                                                      Package       Dependency   Inheritance  Class and   The order of
                                                      structure      relations    relations  method names method calls



        Developers favor to implement dependency and
    inheritance relations more strictly than other constructs
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden                                   Leiden University. The university to discover.
Which classes are modeled?




          Complexity and Coupling is higher for classes
          that are modeled than not modeled
Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Maintenance paradox
    - Maintainers of software would like better
      documentation

    - Even if UML models are created during design

          Too detailed models become outdated

          Better abstraction in reverse- / round trip-
          engineering is needed in the setting of
          incremental & iterative development

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Practical QA for UML modeling
    Naming and layout-conventions
      The Elements of UML2.0 Style,
      Scott Ambler, Cambridge Univ Press, 2005                                               Low Hanging Fruit
                                                                                            (c) Erin Witzel, 2010



    Reviews & Inspections
      Guidelines by e.g. Shull et.al., Biffl,

    Version Management
      Many tools around (e.g. CVS, SVN, …)

    Metrics
     SDMetrics http://www.sdmetrics.com/

Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden   Leiden University. The university to discover.
Investigations into effectiveness of software modeling



MetricView contributors
    Johan Muskens
    Christian Lange
    Martijn Wijns
    Dennis van Opzeeland
    Ariadi Nugroho
    Werner Heijstek
    Maurice Vermeer
    Alex Telea
    Robin van den Broek



             MRV Chaudron
             Sheet 59
Publications
    Investigations into effectiveness of software modeling



        Journal Publications
                Supporting task-oriented modeling using interactive UML views. PDF
                 C.F.J. Lange, M.A.M. Wijns, M.R.V. Chaudron. Journal of Visual Languages and Computing (Elsevier), Volume 18, Issue 7, August
                 2007.
                In Practice: UML Software Architecture and Design Description.
                 C.F.J. Lange, M.R.V. Chaudron, J. Muskens. IEEE Software, Volume 23, Issue 2, March 2006.
        Conference Publications
                A Visualization Framework for Task-Oriented Modeling using UML.
                 C.F.J. Lange, M.A.M. Wijns, M.R.V. Chaudron. Proceedings of the 40th Annual Hawaii International Conference on System Sciences
                 (HICSS'07). January 2007.
                An Experimental Investigation of UML Modeling Conventions.
                 C.F.J. Lange, Bart DuBois, M.R.V. Chaudron, Serge Demeyer. Proceedings of the ACM/IEEE International Conference on Model-
                 driven Engineering Languages and Systems (MoDELS 2006). October 2006.
                Effects of Defects in UML Models - An Experimental Investigation.
                 C.F.J. Lange, M.R.V. Chaudron. Proceedings of the International Conference on Software Engineering (ICSE 2006). May 2006.
                 (acceptance rate: 9%)
                Improving the Quality of UML Models in Practice.
                 C.F.J. Lange. Proceedings of the International Conference on Software Engineering (ICSE 2006). May 2006.
                Visual Exploration of Combined Architectural and Metric Information.
                 M. Termeer, C.F.J. Lange, A. Telea, M.R.V. Chaudron. Proceedings of VISSOFT 2005, IEEE CS Press. September 2005.
                Combining Metrics Data and the Structure of UML Models using GIS Visualisation Approaches.
                 C.F.J. Lange, M.R.V. Chaudron. IEEE International Conference on Information Technology 2005. Las Vegas, April 2005.
                An Exploratory Study on the Industrial Use of UML: Improving Control over Design Quality.
                 C.F.J. Lange, M.R.V. Chaudron. JACQUARD Conference. February 2005.
                Investigations in Applying Metrics to Multi-View Architecture Models.
                 J. Muskens, M.R.V. Chaudron, C.F.J. Lange. In Proceedings of EUROMICRO’04, Rennes, France, September 2004.
                An Empirical Assessment of Completeness in UML Design.
                 C.F.J. Lange, M.R.V. Chaudron. Proceedings of the 8th Conference on Empirical Assessment in Software Engineering (EASE04). May
                 2004.
                Konsistenz und Vollständigkeit industrieller UML Modelle.
                 C.F.J. Lange, M.R.V. Chaudron. Proceedings of “Modellierung 2004“, Marburg, Germany, 24-26 March 2004.
        Workshop Publications
                Towards Task-Oriented Modeling using UML.
                 C.F.J. Lange, M.A.M. Wijns, M.R.V. Chaudron. Proceedings of the 10th QAOOSE workshop, co-located with ECOOP2006. July 2006.
                Managing Model Quality in UML-based Software development.
                 C.F.J. Lange, M.R.V. Chaudron. Proceedings of IEEE Conference on Software Technology and Engineering Practice 2005 (STEP), in
                 the "Workshop on Software Process Improvement, Quality Assurance and Measurement. September 2005.
            Michel Chaudron, Christian Lange, Martijn for the Assessment of Correspondence between UML Designs and Implementations.
                 Quantitative Techniques Wijns
                                                                                                                                           60
                 Dennis J.A. van Opzeeland, Christian F.J. Lange, Michel R.V. Chaudron. Proceedings of the 9th QAOOSE workshop, co-located with
                 ECOOP2005. July 2005.

Más contenido relacionado

La actualidad más candente

Book of Uml
Book of UmlBook of Uml
Book of UmlNiit
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
01 ooad uml-01
01 ooad uml-0101 ooad uml-01
01 ooad uml-01Niit Care
 
03 ooad uml-03
03 ooad uml-0303 ooad uml-03
03 ooad uml-03Niit Care
 
10 ooad uml-13
10 ooad uml-1310 ooad uml-13
10 ooad uml-13Niit Care
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software EngineeringKourosh Sajjadi
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and ModularityDanyal Ahmad
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3SIMONTHOMAS S
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
 
Function oriented design
Function oriented designFunction oriented design
Function oriented designVidhun T
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
14 ooad uml-19
14 ooad uml-1914 ooad uml-19
14 ooad uml-19Niit Care
 
02 ooad uml-02
02 ooad uml-0202 ooad uml-02
02 ooad uml-02Niit Care
 

La actualidad más candente (20)

Book of Uml
Book of UmlBook of Uml
Book of Uml
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
01 ooad uml-01
01 ooad uml-0101 ooad uml-01
01 ooad uml-01
 
03 ooad uml-03
03 ooad uml-0303 ooad uml-03
03 ooad uml-03
 
10 ooad uml-13
10 ooad uml-1310 ooad uml-13
10 ooad uml-13
 
Design and Implementation in Software Engineering
Design and Implementation in Software EngineeringDesign and Implementation in Software Engineering
Design and Implementation in Software Engineering
 
Software Design and Modularity
Software Design and ModularitySoftware Design and Modularity
Software Design and Modularity
 
Software design
Software designSoftware design
Software design
 
CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3CS8494 SOFTWARE ENGINEERING Unit-3
CS8494 SOFTWARE ENGINEERING Unit-3
 
Sda 7
Sda   7Sda   7
Sda 7
 
Function Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniquesFunction Oriented and Object Oriented Design,Modularization techniques
Function Oriented and Object Oriented Design,Modularization techniques
 
Function oriented design
Function oriented designFunction oriented design
Function oriented design
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
14 ooad uml-19
14 ooad uml-1914 ooad uml-19
14 ooad uml-19
 
02 ooad uml-02
02 ooad uml-0202 ooad uml-02
02 ooad uml-02
 
Ooad overview
Ooad overviewOoad overview
Ooad overview
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
Object oriented analysis and design unit- v
Object oriented analysis and design unit- vObject oriented analysis and design unit- v
Object oriented analysis and design unit- v
 

Similar a Devnology Back to School: Empirical Evidence on Modeling in Software Development

Analyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric MadiotAnalyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric MadiotEclipseDayParis
 
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationEclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationMarc Dutoo
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architecturesMajong DevJfu
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_contextMajong DevJfu
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Mozaic Works
 
Ross Tredinnick - Rebecca J. Holz Research Data Management Talk 4/16/2013
Ross Tredinnick - Rebecca J. Holz Research Data Management Talk 4/16/2013Ross Tredinnick - Rebecca J. Holz Research Data Management Talk 4/16/2013
Ross Tredinnick - Rebecca J. Holz Research Data Management Talk 4/16/2013rossTnick
 
02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.pptRohanBorgalli
 
09 introduction to_modeling
09 introduction to_modeling09 introduction to_modeling
09 introduction to_modelingMajong DevJfu
 
Why die a developer ? (programming to architecture)
Why die a developer  ? (programming to architecture)Why die a developer  ? (programming to architecture)
Why die a developer ? (programming to architecture)Rajesh M
 
Software Architecture in Distributed Software Development
Software Architecture in Distributed Software DevelopmentSoftware Architecture in Distributed Software Development
Software Architecture in Distributed Software DevelopmentWerner Heijstek
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsJose Emilio Labra Gayo
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)stanbridge
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Philipp Leitner
 
Cs 1023 lec 7 architecture (week 1)
Cs 1023 lec 7 architecture (week 1)Cs 1023 lec 7 architecture (week 1)
Cs 1023 lec 7 architecture (week 1)stanbridge
 

Similar a Devnology Back to School: Empirical Evidence on Modeling in Software Development (20)

Analyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric MadiotAnalyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric Madiot
 
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationEclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational Documentation
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architectures
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
MDE first glance
MDE first glanceMDE first glance
MDE first glance
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
Basics of se
Basics of seBasics of se
Basics of se
 
Ross Tredinnick - Rebecca J. Holz Research Data Management Talk 4/16/2013
Ross Tredinnick - Rebecca J. Holz Research Data Management Talk 4/16/2013Ross Tredinnick - Rebecca J. Holz Research Data Management Talk 4/16/2013
Ross Tredinnick - Rebecca J. Holz Research Data Management Talk 4/16/2013
 
02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt
 
09 introduction to_modeling
09 introduction to_modeling09 introduction to_modeling
09 introduction to_modeling
 
Why die a developer ? (programming to architecture)
Why die a developer  ? (programming to architecture)Why die a developer  ? (programming to architecture)
Why die a developer ? (programming to architecture)
 
Software Architecture in Distributed Software Development
Software Architecture in Distributed Software DevelopmentSoftware Architecture in Distributed Software Development
Software Architecture in Distributed Software Development
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - Definitions
 
lecture7.ppt
lecture7.pptlecture7.ppt
lecture7.ppt
 
lecture7.ppt
lecture7.pptlecture7.ppt
lecture7.ppt
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)
 
Unit 01 - Introduction
Unit 01 - IntroductionUnit 01 - Introduction
Unit 01 - Introduction
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015
 
Cs 1023 lec 7 architecture (week 1)
Cs 1023 lec 7 architecture (week 1)Cs 1023 lec 7 architecture (week 1)
Cs 1023 lec 7 architecture (week 1)
 

Más de Devnology

What do we really know about the differences between static and dynamic types?
What do we really know about the differences between static and dynamic types?What do we really know about the differences between static and dynamic types?
What do we really know about the differences between static and dynamic types?Devnology
 
Meetup at SIG: Meten is weten
Meetup at SIG: Meten is wetenMeetup at SIG: Meten is weten
Meetup at SIG: Meten is wetenDevnology
 
Software Operation Knowledge
Software Operation KnowledgeSoftware Operation Knowledge
Software Operation KnowledgeDevnology
 
Slides Felienne Hermans Symposium EWI
Slides Felienne Hermans Symposium EWISlides Felienne Hermans Symposium EWI
Slides Felienne Hermans Symposium EWIDevnology
 
Devnology auteursrecht en open source 20130205
Devnology auteursrecht en open source 20130205Devnology auteursrecht en open source 20130205
Devnology auteursrecht en open source 20130205Devnology
 
The top 10 security issues in web applications
The top 10 security issues in web applicationsThe top 10 security issues in web applications
The top 10 security issues in web applicationsDevnology
 
Hacking Smartcards & RFID
Hacking Smartcards & RFIDHacking Smartcards & RFID
Hacking Smartcards & RFIDDevnology
 
Learn a language : LISP
Learn a language : LISPLearn a language : LISP
Learn a language : LISPDevnology
 
Learn a language : LISP
Learn a language : LISPLearn a language : LISP
Learn a language : LISPDevnology
 
Devnology Back to School IV - Agility en Architectuur
Devnology Back to School IV - Agility en ArchitectuurDevnology Back to School IV - Agility en Architectuur
Devnology Back to School IV - Agility en ArchitectuurDevnology
 
Devnology Back to School III : Software impact
Devnology Back to School III : Software impactDevnology Back to School III : Software impact
Devnology Back to School III : Software impactDevnology
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology
 
Introduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoIntroduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoDevnology
 
Devnology Workshop Genpro 2 feb 2011
Devnology Workshop Genpro 2 feb 2011Devnology Workshop Genpro 2 feb 2011
Devnology Workshop Genpro 2 feb 2011Devnology
 
Devnology Coding Dojo 05-01-2011
Devnology Coding Dojo 05-01-2011Devnology Coding Dojo 05-01-2011
Devnology Coding Dojo 05-01-2011Devnology
 
Spoofax: ontwikkeling van domeinspecifieke talen in Eclipse
Spoofax: ontwikkeling van domeinspecifieke talen in EclipseSpoofax: ontwikkeling van domeinspecifieke talen in Eclipse
Spoofax: ontwikkeling van domeinspecifieke talen in EclipseDevnology
 
Experimenting with Augmented Reality
Experimenting with Augmented RealityExperimenting with Augmented Reality
Experimenting with Augmented RealityDevnology
 
Unit testing and MVVM in Silverlight
Unit testing and MVVM in SilverlightUnit testing and MVVM in Silverlight
Unit testing and MVVM in SilverlightDevnology
 
mobl: Een DSL voor mobiele applicatieontwikkeling
mobl: Een DSL voor mobiele applicatieontwikkelingmobl: Een DSL voor mobiele applicatieontwikkeling
mobl: Een DSL voor mobiele applicatieontwikkelingDevnology
 
Devnology Fitnesse workshop
Devnology Fitnesse workshopDevnology Fitnesse workshop
Devnology Fitnesse workshopDevnology
 

Más de Devnology (20)

What do we really know about the differences between static and dynamic types?
What do we really know about the differences between static and dynamic types?What do we really know about the differences between static and dynamic types?
What do we really know about the differences between static and dynamic types?
 
Meetup at SIG: Meten is weten
Meetup at SIG: Meten is wetenMeetup at SIG: Meten is weten
Meetup at SIG: Meten is weten
 
Software Operation Knowledge
Software Operation KnowledgeSoftware Operation Knowledge
Software Operation Knowledge
 
Slides Felienne Hermans Symposium EWI
Slides Felienne Hermans Symposium EWISlides Felienne Hermans Symposium EWI
Slides Felienne Hermans Symposium EWI
 
Devnology auteursrecht en open source 20130205
Devnology auteursrecht en open source 20130205Devnology auteursrecht en open source 20130205
Devnology auteursrecht en open source 20130205
 
The top 10 security issues in web applications
The top 10 security issues in web applicationsThe top 10 security issues in web applications
The top 10 security issues in web applications
 
Hacking Smartcards & RFID
Hacking Smartcards & RFIDHacking Smartcards & RFID
Hacking Smartcards & RFID
 
Learn a language : LISP
Learn a language : LISPLearn a language : LISP
Learn a language : LISP
 
Learn a language : LISP
Learn a language : LISPLearn a language : LISP
Learn a language : LISP
 
Devnology Back to School IV - Agility en Architectuur
Devnology Back to School IV - Agility en ArchitectuurDevnology Back to School IV - Agility en Architectuur
Devnology Back to School IV - Agility en Architectuur
 
Devnology Back to School III : Software impact
Devnology Back to School III : Software impactDevnology Back to School III : Software impact
Devnology Back to School III : Software impact
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
 
Introduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoIntroduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software Volcano
 
Devnology Workshop Genpro 2 feb 2011
Devnology Workshop Genpro 2 feb 2011Devnology Workshop Genpro 2 feb 2011
Devnology Workshop Genpro 2 feb 2011
 
Devnology Coding Dojo 05-01-2011
Devnology Coding Dojo 05-01-2011Devnology Coding Dojo 05-01-2011
Devnology Coding Dojo 05-01-2011
 
Spoofax: ontwikkeling van domeinspecifieke talen in Eclipse
Spoofax: ontwikkeling van domeinspecifieke talen in EclipseSpoofax: ontwikkeling van domeinspecifieke talen in Eclipse
Spoofax: ontwikkeling van domeinspecifieke talen in Eclipse
 
Experimenting with Augmented Reality
Experimenting with Augmented RealityExperimenting with Augmented Reality
Experimenting with Augmented Reality
 
Unit testing and MVVM in Silverlight
Unit testing and MVVM in SilverlightUnit testing and MVVM in Silverlight
Unit testing and MVVM in Silverlight
 
mobl: Een DSL voor mobiele applicatieontwikkeling
mobl: Een DSL voor mobiele applicatieontwikkelingmobl: Een DSL voor mobiele applicatieontwikkeling
mobl: Een DSL voor mobiele applicatieontwikkeling
 
Devnology Fitnesse workshop
Devnology Fitnesse workshopDevnology Fitnesse workshop
Devnology Fitnesse workshop
 

Último

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 

Último (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 

Devnology Back to School: Empirical Evidence on Modeling in Software Development

  • 1. Zin en Onzin van Modeleren in Software Development Dr. Michel R.V. Chaudron Leiden Institute of Advanced Computer Science chaudron@liacs.nl Leiden University. The university to discover.
  • 2. Outline of talk Introduction - LIACS & Software Engineering Modeling in Software Development - How are models being used in practice? - What does it cost/bring to do modeling? Experiments - Hafeez - Dave (announcement) Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 3. Leiden Institute of Advanced Computer Science Algorithms Software Engineering Prof. J.N. Kok, Prof. T. Bäck Dr. M.R.V. Chaudron, Prof. F. Arbab, • Novel Algorithms • Data Mining • Software Design and Modeling 4 years Leiden • Natural Computing • Software Composition • Applications • Formal Methods 10 years TU Eindhoven • Drug Design • Coordination / Concurrency 2 year IT-company • Medicine • Engineering • Logistics • Physics Imagery and Media Core Computer Dr. M. Lew, Dr. F. Verbeek Technologies • Computer Vision and Audio/Video Prof. H. Wijshoff, Dr. T. Stefanov • Bioimaging • Multimedia Search • Embedded Systems • Internet Technology • Parallel / Distributed Computing • Computer Graphics • Compiler Technology 3 Leiden University. The university to discover.
  • 4. Software Engineering Researchers Werner Heijstek Hafeez Osman Dave Stikkolorum Ana Fernandes Pieter Kwantes Models in Global SE Updating UML Teaching SW Design UML in maintenance Domain Specific Modeling Languages Ramin Etemadi Bilal Karasneh Peng Ye Javier Hernandez Optimizing Reasoning about Modeling Sw- Dr. Michel R.V. Chaudron Sw. Arch. Design Sw. Arch. Design Product Lines chaudron@liacs.nl Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 5. Automated Updating of Class Models time source code change  change ’ change ’’ learn design update with abstraction:  abstraction of change: () (’) (’’) UML design model A change  can be an addition, modification, removal. Leiden University. The university to discover.
  • 6. Extracting Model from Images Bilal Recognizing: - Rectangles - Lines - Text, - arrow-heads Input: .jpeg, .png Output: XMI for the class model Leiden University. The university to discover.
  • 7. History of UML Other modeling languages: BPML, Archimate, … Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 8. 4+1 Views Representation of System Architecture What can/does How is the system the system do ? How to build / structured? configure ? Logical View Development View System Architect End-user Programmers Functionality (Decomposition) Configuration management Use Case View How does the Where to install ? system behave? What hwnw is used? Process View Deployment View System Architect System engineering System topology Concurrency, Communication, Delivery, installation, maintenance Synchronization How does the Performance, Scalability, Throughput system perform ? Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 9. UML modeling notations for 4+1 Views Structure model : components, Config. Mngnt model packages, interfaces versioning policies A B file ownership Stakeholders & … Use cases view C D Behaviour model : Deployment model : MSC, state-diagrams physical model + mapping A B C D A C D B TCP/IP over Ethernet BC/WC e2e-response times, freq. bandwidth, availability Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 10. Opinions on Value of Modelling Value Agile MDA “Loose UML” Formal Methods 100% Panel completeness Leiden University. The university to discover.
  • 11. Introduction: Research Interest - What are the pay-offs of investing in early design/architecture/modeling? Fewer defects? Cheaper maintenance? … - Effectiveness of software modelling - Quality of Modeling When is a model good (enough) - Analysis of Non-Functional Quality Properties of architectures - Many modeling approaches around; focus on UML in custom software development Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 12. Increasing Complexity of Software Blow, J. "Game Development: Harder Than You Think." ACM Queue 12 Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 13. Empirical Research … is a way of gaining knowledge by means of observation or experience. Theory Practice SE body of knowledge People/Skills, Processes, Methods, Technology, Artefacts Observation Hypothesis Prediction/Test Validation Topics: CMM, OO, Agile, MDA, … Methods: Experiment, Case study, Survey, Project Repositories … Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 14. contact Dr. Michel R.V. Chaudron Associate Professor Leiden Institute of Advanced Computer Science chaudron@liacs.nl www.liacs.nl/~chaudron If you have UML models you would like to assess? If you want advice on Quality Assurance for modeling? If you want to sponsor our research? Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 15. Empirical Life-cycle Initial Idea Exploratory Interviews Survey Method Development Experiment Industrial Case Studies Leiden University. The university to discover.
  • 16. Phase 1: Explore via Case Studies Your project here? Mail me: chaudron@liacs.nl Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 17. Industrial use of UML diagrams How UML is used B Dobing, J Parsons - Communications of the ACM, 2006 Class Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 18. Styles of Modeling Sketch Communication Recipe for construction Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 19. Modelling style and model purpose Architecture and Design Description. IEEE Software 23(2): 40-46 (2006) C.F.J.Lange, M.R. V. Chaudron, J.Muskens: In Practice: UML Software understanding communicating managing complexity implementation blueprint Styles of using UML – as a sketch – thinking tool/understanding – for communicating system design – as a blueprint – guide the implementation work – as a implementation (MDA) - code generation Leiden University. The university to discover.
  • 20. The Modeling Spectrum Model driven architecture: Principles and practice, Brown, A.W., Software and Systems Modeling, 2004 Leiden University. The university to discover.
  • 21. Uses of Software Models + Understanding Doing + Analyzing / Predicting modeling is a quality + Communicating improving activity + Guiding Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 22. UML in practice Sketch Communication More effort  More expensive Recipe for construction Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 23. Modeling & Documentation in Agile Development - Agile principles: working software over comprehensive documentation Survey under 75+ agile developers Tending towards: we need a bit more Modeling is compatible with agile development Christoph J. Stettina and Werner Heijstek, Necessary and Neglected? An Empirical Study of Internal Documentation in Agile Software Development Teams 29th ACM Int. Conf. on Design of Communication , Pisa, Italy Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 24. Does use of UML improve software quality? Ariadi Nugroho, Michel R. V. Chaudron: A Survey of the Practice of Design - Code Correspondence amongst Professional Software Engineers. ESEM 2007: 50.0 45.0 Reduce Somewhat Reduce 45% Neutral 41% 40.0 Somewhat Improve Improve Percentage of the respondents 35.0 30.0 25.0 20.0 15.0 10.0 5.0 0.0 Cover Correctness Modularity Testability Understandability Requirements A large number of developers indicated the use of UML improves understandability and modularity Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 25. Economic Model for Cost of Quality From: H. Krasner, Cost of Quality, 1998 Cost of SQ = Achievement Cost + Non-conformance Cost Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 26. Cost of Modeling Focus on effort “Is there a correlation between class-count and the effort spent in modeling?” Sources: ‐ Experiment ‐ Set of industrial case studies Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 27. Empirical Data  Experiment  106 MSc students in (TU/e)  Organized in 35 teams  Task: Model Car Navigation System  Duration: 6 weeks assignment  Three treatments were applied: 1. No modeling conventions 2. With modeling conventions 3. Tool-supported modeling conventions Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 28. Experiment Results: Effort ~ Size? 40,00 35,00 30,00 Effort (hours) 25,00 Spearman’s Correlation Coefficient 20,00 15,00 Effort (hours) 10,00 Class-count .302 5,00 Sig. (2-tailed) .171 0,00 0 10 20 30 40 50 60 70 Class-count Number of classes in design There is no significant correlation between class-count and the effort spent in modeling.  class-count is not a good measure for the effort spent on modeling? Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 29. Measurement of Modeling/Design in RUP Effort Distribution modeling designing Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 30. Impact of MDD on Effort Distribution as % of total project effort construction constr. elaboration transition transition elaboration architecture & code generator incep. ‘traditional’ Model-driven (avg. of 17 projects) (1 project) Leiden University. The university to discover.
  • 31. Does Quality of Modeling Matter? An Industrial Case Study Focus on detail in a UML Model attributes operations associations Low detail High detail Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 32. Relation between UML-LoD and Code Quality Select ‘defects’ in defect DB Find classes in source component C2 defect component C2 code that were requires I2 requires I3I2 requires uses requires I3 I2.g uses I2.g density uses I3.h repaired for solving this uses I3.h defects O rder OrderDetail * 1 -date P ce or repro ss Parser A er nalys DC B reator DF B iller Inherita R nce elator DC B hecker S tis Filte ta tic r StatisticC lculator a -quantity Find corresponding -status -taxS tatus SA A A T.B T +calcTax() +calcS ubTotal() +calcTotal() +calcW eight() +calcTotalW eight() Paym ent 1 -am ount 1 classes in UML models Credit -num ber -type -expDate Cash -cashTendered Check -nam e -bankID +authorized() + authorized() OrderDetail O rder LoD per class * 1 -date P ce repro ssor P rse a r A lys na er DC B reator DF B iller Inherita ceR n elator D C eck B h er S tisticFilte ta r StatisticC lc r a ulato -quantity Determine LoD -status -taxS tatus SA A A T.B T +calcTax() +calcS ubTotal() +calcTotal() +calcW eight() +calcTotalW eight() Paym ent 1 -am ount 1 for CD and SD -num ber -type -expDate Credit Cash -cashTendered Check -nam e -bankID +authorized() + authoriz ed() Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 33. Relation between Level of Detail and Defect Density = 1 class Level of Detail for Sequence Diagrams is significantly (negatively) correlated with defect density. More detailed model => fewer defects Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 34. Quality Assurance for Software Design / UML Model - How to define Quality for design/model? - How to assess quality? - How to check conformance in code? Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 35. Quality Models Existing models Boehm McCall ISO 9126 Rombach … - Decomposition of characteristics - Bottom level: metrics - Differences in - Relations between characteristics - Vocabulary Boehm’s Quality Model Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 36. How to Define UML Model Quality? Framework for quality of UML models (Lange & Chaudron, 2005) The quality attributes of a UML model is determined by its purpose... Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 37. How to measure goodness of UML model? Design Heuristics - Coupling, Cohesion, absence of anti-patterns Completeness - Interaction of classes must be described in SD - Methods of CD must be called in SD Consistency - In many casesSD can not be automatically determineddiagram Messages in it must correspond to method in class whether a flaw is an incompleteness or an inconsistency Correspondence - Dependencies in the implementation are allowed only if they occur in the design Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 38. Automatically Checking Quality of Design Quality = absence of ‘bad things’ such as omissions, spaghetti UML model UML Analysis Tool Quality Metrics/Rules • Completeness Visualization of • Consistency model + metrics Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 39. Screenshot of the MetricView tool Quality Metrics • Completeness • Consistency • … extensible = violation = ok Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 40. MetricView Tool MetaView to visualize the (hidden) inter-diagram relations Example: Which classes contribute to a certain use case? http://www.youtube.com/watch?v=G3HJ_QR9EG4 Supporting task-oriented modeling using interactive UML views, C.F.J. Lange, M. A.M. Wijns, and M. R.V. Chaudron, Journal of Visual Languages and Computing Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover. Christian Lange 42
  • 41. MetricView Tool MetricView The values of metrics are http://www.youtube.com/watch?v=G3HJ_QR9EG4 visualized on class diagrams using colors Example: Coupling-Between- Objects (CBO) We will analyse your UML model : mail to Chaudron@liacs.nl Supporting task-oriented modeling using interactive UML views, C.F.J. Lange, M. A.M. Wijns, and M. R.V. Chaudron, Journal of Visual Languages and Computing Christian Lange. Leiden University. The university to discover. 43
  • 42. 3D visualization of design measurements Your cases welcome… http://www.youtube.com/watch?v=G3HJ_QR9EG4 Supporting task-oriented modeling using interactive UML views, C.F.J. Lange, M. A.M. Wijns, and M. R.V. Chaudron, Journal of Visual Languages and Computing Christian Lange. Leiden University. The university to discover. 44
  • 43. Findings from State of the Practice UML is used in different ways for different purposes - Incompleteness - Modelers focus on complex and critical parts - Disproportion - Different parts of the system are modeled different in level of quality - Inconsistency - Conflicting information in different views of one model Quality Assurance for modeling should address these Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 44. Industrial Experience with MetricView as Quality Assurance Tool - Based on 15+ industrial projects - If there are weak spots in the design, then these are indicated as ‘suspects’ by MetricView - MetricView indicates many weak spots that do not require improvement according to project architects (false positives?)  prioritization is needed - The later MetricView is applied, the fewer ‘weak spots’ are removed from the design  process issue Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 45. Understanding Effectiveness of Modeling through Eyetracking Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 46. Hypothetical Benefits of Modeling UML Modeling Developer Process Product Benefits Benefits Benefits Better Improved Improved requirements Fewer Quality Understanding Defects Problem Domain Improved Design Reduced Improved Compliance rework Productivity Better Improved Reduced Understanding More efficient Design Quality testing Solution Space Testing effort Reduced More efficient Improved Shared maintenance Maintenance Communication System Model effort More Project Management Better Risk Accurate Benefits management Estimating Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 47. Concluding Remarks - Modeling is becoming common in software development. There are payoffs for modeling in: - improved code quality - improved communication - Empirical studies enhance alignment of research and practice – your input is needed - Practical Quality Assurance for UML should use low hanging fruit: i) Naming and layout-conventions, ii) Reviews & Inspections iii) Versioning, iv) Metrics Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 48. Future Directions - Automated Reasoning about Designs - Diagnosis & Prioritization - Severity Assessment of design flaws / technical debt - Next: Empirical studies - by Hafeez & Arjan - by Dave Hafeez Dave Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 49. Comparing “MDD with code generation” & “Modeling + Programming” MDD with code generation Modeling with Programming Requires: Off the shelves tooling - stable domain - very good understanding of Standard language domain (staff hiring & turnover) - Multiple projects Divergence of model and code - Don’t introduce in critical projects Needs dedicated techniques for Quality Assurance, estimation Leiden University. The university to discover.
  • 50. How often do design issues lead to problems? 70 Never Sometimes 60 Often Very Often Percentage of the respondents 50 40 30 20 10 0 Inconsistency Understandability Inaccuracy Incompleteness Incompleteness of models was considered most often to lead to implementation problems Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 51. How do developers apply detail to UML models? Ariadi Nugroho, Michel R. V. Chaudron: A Survey of the Practice of Design - Code Correspondence amongst Professional Software Engineers. ESEM 2007: 70.0 Disagree Somewhat Disagree 61% 60.0 Neutral Somewhat agree 52% Percentage of the respondents 50.0 Agree 40.0 37% 30.0 20.0 10.0 0.0 Equal details Details proportional More details for Programmers for all parts to complexity critical parts determine details Developers apply more detail on critical and complex parts of a system Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 52. Which factor most often drives developers to Ariadi Nugroho, Michel R. V. Chaudron: A Survey of the Practice of Design - Code Correspondence amongst Professional Software Engineers. ESEM 2007: non-correspondence? Percentage of the respondents 60 Never 50 Sometimes Often Very Often 48% 40 30 31% 29% 20 10 0 Meeting Impractical Incomplete Model doesn’t satisfy deadline model model requirements Among other factors, developers considered incomplete model more often drives them to non-correspondence Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 53. Does strictness of implementing a model differ Ariadi Nugroho, Michel R. V. Chaudron: A Survey of the Practice of Design - Code Correspondence amongst Professional Software Engineers. ESEM 2007: for different modeling constructs? 50.0 Loosely 36% Percentage of the respondents Somewhat loosely 45.0 Neutral 40.0 Somewhat strict Strictly 46% 35.0 30.0 31% 25.0 20.0 15.0 10.0 5.0 0.0 Package Dependency Inheritance Class and The order of structure relations relations method names method calls Developers favor to implement dependency and inheritance relations more strictly than other constructs Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 54. Which classes are modeled? Complexity and Coupling is higher for classes that are modeled than not modeled Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 55. Maintenance paradox - Maintainers of software would like better documentation - Even if UML models are created during design Too detailed models become outdated Better abstraction in reverse- / round trip- engineering is needed in the setting of incremental & iterative development Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 56. Practical QA for UML modeling Naming and layout-conventions The Elements of UML2.0 Style, Scott Ambler, Cambridge Univ Press, 2005 Low Hanging Fruit (c) Erin Witzel, 2010 Reviews & Inspections Guidelines by e.g. Shull et.al., Biffl, Version Management Many tools around (e.g. CVS, SVN, …) Metrics SDMetrics http://www.sdmetrics.com/ Dr. Michel R.V. Chaudron, Devnology, June 2012, Leiden Leiden University. The university to discover.
  • 57. Investigations into effectiveness of software modeling MetricView contributors  Johan Muskens  Christian Lange  Martijn Wijns  Dennis van Opzeeland  Ariadi Nugroho  Werner Heijstek  Maurice Vermeer  Alex Telea  Robin van den Broek MRV Chaudron Sheet 59
  • 58. Publications Investigations into effectiveness of software modeling  Journal Publications  Supporting task-oriented modeling using interactive UML views. PDF C.F.J. Lange, M.A.M. Wijns, M.R.V. Chaudron. Journal of Visual Languages and Computing (Elsevier), Volume 18, Issue 7, August 2007.  In Practice: UML Software Architecture and Design Description. C.F.J. Lange, M.R.V. Chaudron, J. Muskens. IEEE Software, Volume 23, Issue 2, March 2006.  Conference Publications  A Visualization Framework for Task-Oriented Modeling using UML. C.F.J. Lange, M.A.M. Wijns, M.R.V. Chaudron. Proceedings of the 40th Annual Hawaii International Conference on System Sciences (HICSS'07). January 2007.  An Experimental Investigation of UML Modeling Conventions. C.F.J. Lange, Bart DuBois, M.R.V. Chaudron, Serge Demeyer. Proceedings of the ACM/IEEE International Conference on Model- driven Engineering Languages and Systems (MoDELS 2006). October 2006.  Effects of Defects in UML Models - An Experimental Investigation. C.F.J. Lange, M.R.V. Chaudron. Proceedings of the International Conference on Software Engineering (ICSE 2006). May 2006. (acceptance rate: 9%)  Improving the Quality of UML Models in Practice. C.F.J. Lange. Proceedings of the International Conference on Software Engineering (ICSE 2006). May 2006.  Visual Exploration of Combined Architectural and Metric Information. M. Termeer, C.F.J. Lange, A. Telea, M.R.V. Chaudron. Proceedings of VISSOFT 2005, IEEE CS Press. September 2005.  Combining Metrics Data and the Structure of UML Models using GIS Visualisation Approaches. C.F.J. Lange, M.R.V. Chaudron. IEEE International Conference on Information Technology 2005. Las Vegas, April 2005.  An Exploratory Study on the Industrial Use of UML: Improving Control over Design Quality. C.F.J. Lange, M.R.V. Chaudron. JACQUARD Conference. February 2005.  Investigations in Applying Metrics to Multi-View Architecture Models. J. Muskens, M.R.V. Chaudron, C.F.J. Lange. In Proceedings of EUROMICRO’04, Rennes, France, September 2004.  An Empirical Assessment of Completeness in UML Design. C.F.J. Lange, M.R.V. Chaudron. Proceedings of the 8th Conference on Empirical Assessment in Software Engineering (EASE04). May 2004.  Konsistenz und Vollständigkeit industrieller UML Modelle. C.F.J. Lange, M.R.V. Chaudron. Proceedings of “Modellierung 2004“, Marburg, Germany, 24-26 March 2004.  Workshop Publications  Towards Task-Oriented Modeling using UML. C.F.J. Lange, M.A.M. Wijns, M.R.V. Chaudron. Proceedings of the 10th QAOOSE workshop, co-located with ECOOP2006. July 2006.  Managing Model Quality in UML-based Software development. C.F.J. Lange, M.R.V. Chaudron. Proceedings of IEEE Conference on Software Technology and Engineering Practice 2005 (STEP), in the "Workshop on Software Process Improvement, Quality Assurance and Measurement. September 2005.  Michel Chaudron, Christian Lange, Martijn for the Assessment of Correspondence between UML Designs and Implementations. Quantitative Techniques Wijns 60 Dennis J.A. van Opzeeland, Christian F.J. Lange, Michel R.V. Chaudron. Proceedings of the 9th QAOOSE workshop, co-located with ECOOP2005. July 2005.