SlideShare une entreprise Scribd logo
1  sur  25
DependencyStructure Matrix for software architecture Han van Roosmalen Softwarediensten P. Flintstraat 7, NL 7412 JV Deventer 06-10148933 0570-546083
Agenda Introduction Han van Roosmalen What is and Why use a Dependency Structure Matrix? How to use a DSM for Software Architecture? How can Lattix LDM/LDC help you?
Han van Roosmalen Softwarediensten Self-employed software architect Software development since 1984 Design software architectures/systems Analyze legacy systems Companies:  Philips Consumer Electronics/Medical Systems, ASML, Océ, Nucletron, Peek Traffic, Thales, Surfnet/Kennisnet, CRV, Fibor Packaging Embedded, Administrative, Web-based Promote simple engineering methods Working with DSMs since 2005 and Lattix …. voor Inzicht, Toezicht en Overzicht
Origin of DSM Initial development on DSM theory in early seventies (MIT Boston) Extensive usage in engineering for complex systems Large adoption in assembly industry, such as: Boeing, Airbus Fiat, Ferrari, Rolce Royce, BMW, Audi, Mercedes Nasa BP Since 2004 for management of software architecture
DSM has proven additional value, when: Desired modifications cannot be done efficiently because there is a lack of in- and oversight of the system and subsystems. Need for insight during distributed development. Need for communication about design and architectural concepts and decisions. (e.g. multi-site, off-shoring development) Questions of complexity during migration and integration of (third-party) components, due to lack of insight in frameworks, libraries and off-the-shelf components.  Degradation of quality of (architectural) design, due to changes and addition of functionality, lack-off knowledge, increasing complexity. Day-to-day Challenges
Types of DSMs
Applicability of DSM Impact analysis Software architecture management Estimations Architecture design Architecture (re)discovery Software integration Testing
Definition of Software Architecture It is the definition of its subsystems, their externally visible properties and how the subsystems relate to each other. “A common language and shared vision”* *SEI CMMI Tutorial “How is a Model Used?”
Concept Initial DSM The Diagonal Partitioning Hiearchy
Example: Java Applet How bad can you build an applet??? Because – requirements: ,[object Object]
Secure
Multi-languageIntended Architecture Realised Architecture
Approach Create initial DSM What has to beloadedforinspection Demonstrate how it should be Create Intended Architecture Which dependencies can be removed Create structure Improve build order Identify possibilities for improvement ExternalLibrariesLayering/ Components Make rules and follow them  11
Partitioning algorithms (1) Partitioning on Strength and Reach ability Ordering in DSM is done by mineralizing the number of dependencies in the upper triangular  (upper triangular weight) Greedy algorithm makes sure that providers (are called by above laying callers) are put underneath Supports layering of the system
Partitioning algorithms (2) Ordering is done in such a way that providers and users are brought together, though partitioning based on strength is taken into account Supports the separation of subsystems into packages and classes
Layered System ArchitecturalPatterns (1) Imperfectlylayered System
ChangePropagator Architectural Patterns (2) Private Components Notvisibleoutside “domain”
ExampleDependency View of Eclipse
Dependency Kinds Dependency Kinds improveinsght in different kinds of dependencies: Easier to understand the origing of each kind in isolation Analyse the DSM forspecific types of dependencies (e.g. inheritance versus methodcall) Insight in scope of refactoring (e.g. weakdependencies are easier to remove)  Specification of rulesbased on dependency kinds (e.g. do notallow inter-schema tablereferences)
Design Rules DSM with Rules View Green Triangle – Dependency Acceptable Yellow Triangle – Dependency Unacceptable Red Triangle – Rule Violation Discovered Each cell in a DSM represents a “design intent” Dependency Model = DSM + Design Rules
Metrics for Architecture Instability, Abstractness and Distance (Robert Martin) System Stability - average impact of change (IBM) Deviation from Conceptual (Lattix)
Lattix Toolsuite
Lattix Support For.. Platform/technology support: Ada C/C++ (managed/unmanaged) .NET Java, Hibernate, Spring Delphi Pascal Oracle (database + PL/SQL) Microsoft SQL Server 2000, 2005 Sybase AdobeActionScript XMI (System Architect, Rhapsody) LDI Lattix Software Development Kit (SDK)  SDK Kit containsexampledriverforretrievingdependencies Lattix as plug-in for Eclipse/Visual Studio Multi Environment DSM
Insight, governance and oversight Decisions at Implementation  Level INZICHT Accountability Decisions at  Tactical Level Reproducibility TOEZICHT Decisions at Strategic Level OVERZICHT Innovative
Scenarios Architecture Discovery What is the complexity of the system? What is the structure of the current system? Which dependencies are there? How can we teach a new teammember? … Architecture Refactoring Which parts of the system must be modified? Which includes/namespaces are being used, which are not? How can a team member see how to move with the architecture? … Architecture Control How can future modification to the architecture be controlled? How can a team member see what is (dis)allowed? … Service/Component Extraction Which parts of the system can be extracted into a service or a loosely coupled component? How can a team member see which parts belong to a service/component? … Impact Analyse What is the impact of a change? Which parts of the system use the parts that is going to be changed? How does a team member find out what the consequences of his activities are? Test strategy/efficiency Which parts of the system are easier (stand-alone) to be tested? How can a team member develop better unit tests?

Contenu connexe

Similaire à Dsm presentation (english)

ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownAvisi B.V.
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsLinards Liep
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...Puppet
 
Modern apps with dcos
Modern apps with dcosModern apps with dcos
Modern apps with dcosSam Chen
 
A tlm based platform to specify and verify component-based real-time systems
A tlm based platform to specify and verify component-based real-time systemsA tlm based platform to specify and verify component-based real-time systems
A tlm based platform to specify and verify component-based real-time systemsijseajournal
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesObeo
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
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
 
Innovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTCInnovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTCSteve Speicher
 
Fed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpFed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpTony Bibbs
 
1Lesson 5.3UML Deployment DiagramsLesson 5.2Distribu.docx
1Lesson 5.3UML Deployment DiagramsLesson 5.2Distribu.docx1Lesson 5.3UML Deployment DiagramsLesson 5.2Distribu.docx
1Lesson 5.3UML Deployment DiagramsLesson 5.2Distribu.docxfelicidaddinwoodie
 
Thoughts On Architecting V4 2
Thoughts On Architecting V4 2Thoughts On Architecting V4 2
Thoughts On Architecting V4 2bmercer
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3Diane Allen
 
Moving to Microservices with the Help of Distributed Traces
Moving to Microservices with the Help of Distributed TracesMoving to Microservices with the Help of Distributed Traces
Moving to Microservices with the Help of Distributed TracesKP Kaiser
 

Similaire à Dsm presentation (english) (20)

ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon Brown
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepins
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...
Tools and Virtualization to Manage our Operations at Puppet Labs - PuppetConf...
 
Modern apps with dcos
Modern apps with dcosModern apps with dcos
Modern apps with dcos
 
A tlm based platform to specify and verify component-based real-time systems
A tlm based platform to specify and verify component-based real-time systemsA tlm based platform to specify and verify component-based real-time systems
A tlm based platform to specify and verify component-based real-time systems
 
GOTO Berlin 2016
GOTO Berlin 2016GOTO Berlin 2016
GOTO Berlin 2016
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems Architectures
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)
 
Innovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTCInnovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTC
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
Let's talk about... Microservices
Let's talk about... MicroservicesLet's talk about... Microservices
Let's talk about... Microservices
 
Documentation
DocumentationDocumentation
Documentation
 
Fed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpFed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype Dcphp
 
1Lesson 5.3UML Deployment DiagramsLesson 5.2Distribu.docx
1Lesson 5.3UML Deployment DiagramsLesson 5.2Distribu.docx1Lesson 5.3UML Deployment DiagramsLesson 5.2Distribu.docx
1Lesson 5.3UML Deployment DiagramsLesson 5.2Distribu.docx
 
Thoughts On Architecting V4 2
Thoughts On Architecting V4 2Thoughts On Architecting V4 2
Thoughts On Architecting V4 2
 
Linux Assignment 3
Linux Assignment 3Linux Assignment 3
Linux Assignment 3
 
Moving to Microservices with the Help of Distributed Traces
Moving to Microservices with the Help of Distributed TracesMoving to Microservices with the Help of Distributed Traces
Moving to Microservices with the Help of Distributed Traces
 

Dernier

Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptxmary850239
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
Sulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesSulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesVijayaLaxmi84
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1GloryAnnCastre1
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17Celine George
 
ARTERIAL BLOOD GAS ANALYSIS........pptx
ARTERIAL BLOOD  GAS ANALYSIS........pptxARTERIAL BLOOD  GAS ANALYSIS........pptx
ARTERIAL BLOOD GAS ANALYSIS........pptxAneriPatwari
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 

Dernier (20)

Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
Sulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesSulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their uses
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17
 
ARTERIAL BLOOD GAS ANALYSIS........pptx
ARTERIAL BLOOD  GAS ANALYSIS........pptxARTERIAL BLOOD  GAS ANALYSIS........pptx
ARTERIAL BLOOD GAS ANALYSIS........pptx
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 

Dsm presentation (english)

  • 1. DependencyStructure Matrix for software architecture Han van Roosmalen Softwarediensten P. Flintstraat 7, NL 7412 JV Deventer 06-10148933 0570-546083
  • 2. Agenda Introduction Han van Roosmalen What is and Why use a Dependency Structure Matrix? How to use a DSM for Software Architecture? How can Lattix LDM/LDC help you?
  • 3. Han van Roosmalen Softwarediensten Self-employed software architect Software development since 1984 Design software architectures/systems Analyze legacy systems Companies: Philips Consumer Electronics/Medical Systems, ASML, Océ, Nucletron, Peek Traffic, Thales, Surfnet/Kennisnet, CRV, Fibor Packaging Embedded, Administrative, Web-based Promote simple engineering methods Working with DSMs since 2005 and Lattix …. voor Inzicht, Toezicht en Overzicht
  • 4. Origin of DSM Initial development on DSM theory in early seventies (MIT Boston) Extensive usage in engineering for complex systems Large adoption in assembly industry, such as: Boeing, Airbus Fiat, Ferrari, Rolce Royce, BMW, Audi, Mercedes Nasa BP Since 2004 for management of software architecture
  • 5. DSM has proven additional value, when: Desired modifications cannot be done efficiently because there is a lack of in- and oversight of the system and subsystems. Need for insight during distributed development. Need for communication about design and architectural concepts and decisions. (e.g. multi-site, off-shoring development) Questions of complexity during migration and integration of (third-party) components, due to lack of insight in frameworks, libraries and off-the-shelf components. Degradation of quality of (architectural) design, due to changes and addition of functionality, lack-off knowledge, increasing complexity. Day-to-day Challenges
  • 7. Applicability of DSM Impact analysis Software architecture management Estimations Architecture design Architecture (re)discovery Software integration Testing
  • 8. Definition of Software Architecture It is the definition of its subsystems, their externally visible properties and how the subsystems relate to each other. “A common language and shared vision”* *SEI CMMI Tutorial “How is a Model Used?”
  • 9. Concept Initial DSM The Diagonal Partitioning Hiearchy
  • 10.
  • 13. Approach Create initial DSM What has to beloadedforinspection Demonstrate how it should be Create Intended Architecture Which dependencies can be removed Create structure Improve build order Identify possibilities for improvement ExternalLibrariesLayering/ Components Make rules and follow them 11
  • 14. Partitioning algorithms (1) Partitioning on Strength and Reach ability Ordering in DSM is done by mineralizing the number of dependencies in the upper triangular (upper triangular weight) Greedy algorithm makes sure that providers (are called by above laying callers) are put underneath Supports layering of the system
  • 15. Partitioning algorithms (2) Ordering is done in such a way that providers and users are brought together, though partitioning based on strength is taken into account Supports the separation of subsystems into packages and classes
  • 16. Layered System ArchitecturalPatterns (1) Imperfectlylayered System
  • 17. ChangePropagator Architectural Patterns (2) Private Components Notvisibleoutside “domain”
  • 19. Dependency Kinds Dependency Kinds improveinsght in different kinds of dependencies: Easier to understand the origing of each kind in isolation Analyse the DSM forspecific types of dependencies (e.g. inheritance versus methodcall) Insight in scope of refactoring (e.g. weakdependencies are easier to remove) Specification of rulesbased on dependency kinds (e.g. do notallow inter-schema tablereferences)
  • 20. Design Rules DSM with Rules View Green Triangle – Dependency Acceptable Yellow Triangle – Dependency Unacceptable Red Triangle – Rule Violation Discovered Each cell in a DSM represents a “design intent” Dependency Model = DSM + Design Rules
  • 21. Metrics for Architecture Instability, Abstractness and Distance (Robert Martin) System Stability - average impact of change (IBM) Deviation from Conceptual (Lattix)
  • 23. Lattix Support For.. Platform/technology support: Ada C/C++ (managed/unmanaged) .NET Java, Hibernate, Spring Delphi Pascal Oracle (database + PL/SQL) Microsoft SQL Server 2000, 2005 Sybase AdobeActionScript XMI (System Architect, Rhapsody) LDI Lattix Software Development Kit (SDK) SDK Kit containsexampledriverforretrievingdependencies Lattix as plug-in for Eclipse/Visual Studio Multi Environment DSM
  • 24. Insight, governance and oversight Decisions at Implementation Level INZICHT Accountability Decisions at Tactical Level Reproducibility TOEZICHT Decisions at Strategic Level OVERZICHT Innovative
  • 25. Scenarios Architecture Discovery What is the complexity of the system? What is the structure of the current system? Which dependencies are there? How can we teach a new teammember? … Architecture Refactoring Which parts of the system must be modified? Which includes/namespaces are being used, which are not? How can a team member see how to move with the architecture? … Architecture Control How can future modification to the architecture be controlled? How can a team member see what is (dis)allowed? … Service/Component Extraction Which parts of the system can be extracted into a service or a loosely coupled component? How can a team member see which parts belong to a service/component? … Impact Analyse What is the impact of a change? Which parts of the system use the parts that is going to be changed? How does a team member find out what the consequences of his activities are? Test strategy/efficiency Which parts of the system are easier (stand-alone) to be tested? How can a team member develop better unit tests?
  • 26. Nice Words What is being said about DSM and Lattix: "That´s what impressed me about the Lattix tool: ease of use, quick results, simple concept (DSM)...A DSM view on software is merciless in its clarity. You don´t get mired in tedious layout work, but rather the tool strips naked the software you throw at it." Ralf Westphal, Long-time .NET Consultant/AuthorMicrosoft Visual Developer Solution Architect MVP “If everyday I would learn as much as in one day with Lattix of our system. We would be out of trouble in a month." WimSchonkeren, Principal Architect Embedded Optics Software Marvell “Lattix LDM intuitively lets you sort through the maze to disentangle even the worst results of system evolution.” James Gosling VP and Fellow Sun Microsystems “I really woke up during your workshop and now I consider extending Lattix to put even more valuable information in the DSM." Anton Lap, Architect Universal Music Group The eBay marketplace runs on a very large global software stack... We have worked with Lattix to incorporate new features in Lattix 4.0 that enables us to effectively modularize and maintain our large codebase.“ Vijay RaghavendraDirector of Platform Team, eBay, Inc.
  • 27. Feedback and Questions Applicable in your situation? What could be an approach to try DSMs? What could be objections from using it? Han van Roosmalen han@hanvanroosmalen.nl +31 6-10148933 +31 570-546083