200 likes | 815 Views
Software Configuration Management. Lecture: SCM and PDM Niels Veerman René Krikhaar. Lecture Objectives. Learn about Product Data Management (PDM) Learn about SCM/PDM similarities and differences Learn about SCM/PDM tool integration. A Definition of PDM.
E N D
Software Configuration Management Lecture: SCM and PDM Niels Veerman René Krikhaar
Lecture Objectives • Learn about Product Data Management (PDM) • Learn about SCM/PDM similarities and differences • Learn about SCM/PDM tool integration
A Definition of PDM • Product Data Management is the discipline of designing and controlling the evolution of a product design • PDM systems and methods provide a structure in which all types of information used to define, manufacture and support products are stored, managed and controlled. • PDM supports Hardware Configuration Management
Product Data Management Typically, PDM is used to work with electronic documents, digital files and database records, including: • product configurations/structures • part definitions and other design data • CAD drawings • geometric models • images (scanned drawings, photographs, etc.) • engineering analysis models and results • manufacturing process plans and routings • software components of products • audio and live video annotations • hardcopy (paper-based and microform) documents (by reference) • project plans, notes and correspondence • others
PDM – main functions User functions • Data Vault and Document Management (storage,meta-data & routines) • Workflow and Process Management (process monitoring & control) • Product Structure Management (part hierarchy & relations management) • Part and Component Management (classification & retrieval) • Project Management (project monitoring & control) Utility functions • Data Transport and Translation • Image Services (displaying data) • Administration (user access control)
SCM… • Version Control • Concurrent Development • Configuration Selection • Distributed Development • Build Management • Workspace Management • Change Management • Release Management You know this!
PDM SCM Baseline x.y Revisions Versions File 1 Parts File 2 Product File 3 structure SCM/PDM- configuration relationship © 2003 Crnkovic, Asklund, Persson Dahlqvist, ”Implementing and Integrating Product Data Management and Software Configuration Management”
SCM/PDM functionsDifferences and similarities SCM Build Management Concurrent Development (branch & merge) Workspace Management Release Management Version/Revision Management Change Management Configuration Management Process Management Document Management Vault/Repository PDM Classification Product structure (Components, Parts, Assemblies) Project Management Relations
Software/hardware worlds Hardware process • SW and HW development processes differ • Incremental vs sequential • Concurrent development • Manufacturing phase (hours vs months) • SW and HW cultures differ • Terminology and tools • Single-domain knowledge • Product focus Software process Hardware focus: documents Software focus: source code
SCM and PDM tool integration • Why? • When? • How? • No integration • Manual intervention • Risk of inconsistencies • Loose integration • Full integration
Users PDM SCM Interoperabilityfunctions API API API API UI UI repository repository SCM/PDM – loose integration • Independent tool operation • Own information models and repositories • Information exchange through interoperability functions • No common information model • Integration points • Periodic synchronization required • Interoperability functions can become very complex © 2003 Crnkovic, Asklund, Persson Dahlqvist, ”Implementing and Integrating Product Data Management and Software Configuration Management”
Metaphase User ClearCase User Metaphase ClearCase ClearCase User Interface Extensions Interoperability application Data Exchange Object User Interface Command Event Trigger Metaphase API Event Trigger Event Trigger Loose integration example © 2003 Crnkovic, Asklund, Persson Dahlqvist, ”Implementing and Integrating Product Data Management and Software Configuration Management”
Users Common User Interface OtherEngineering Tools User InterfaceLayer SCM PDM API API API API API API API API BusinessLayer Common repository Common Information Model RepositoryLayer SCM/PDM – full integration • Ideal integration • Common information model • Versions • Structures • Configurations • Common and specific APIs • SCM • PDM • Difficult to implement with available tools © 2003 Crnkovic, Asklund, Persson Dahlqvist, ”Implementing and Integrating Product Data Management and Software Configuration Management”
Full integration example ©2006 Nguyen, "A Unified Model for Product Data Management and Software Configuration Management"
Full integration example © 2005 El-khoury, “Model Data Management – Towards a common solution for PDM/SCM systems”
Summary SCM and PDM integration = an efficient way of managing product information • SCM – managing software product data both processes and tools originates from software development • PDM – managing product data both processes and tools originates from hardware development
Conclusions • Overlapping in tools, technologies and processes • Used by different domains with different cultures • In order to build an integration, the following has to be considered: – Processes – Tools and technologies – Culture differences • Many SCM/PDM challenges ahead!
Further reading • ”Implementing and Integrating Product Data Management and Software Configuration Management” - Crnkovic, Asklund, Persson Dahlqvist 2003