Software Configuration Management. Context. Learning Objectives
|
|
|
- Joanna McDaniel
- 10 years ago
- Views:
Transcription
1 Software Configuration Management Wolfgang Emmerich Professor of Distributed Computing University College London Context Requirements Inception Elaboration Construction Transition Analysis Design Implementation Test Preliminary Iterations I1 I2 In In+1 In+2 Im 2 Learning Objectives To understand why SCM is of crucial importance in medium to large-scale software development projects To know the principles of version management and software configuration management To appreciate how SCM tools support coordination within a team of developers To be able to use an state-of-the-art SCM tool in your group project and beyond 3 1
2 Why do we need SCM? Teamwork: multiple developers need a Mechanism to share their artifacts Update these artifacts in a controlled manner Maintenance: Teams need to Deliver projects in several releases and be able to re-establish earlier release, e.g. to provide a bug fix Merge such changes into the current development baseline Safety net: Be able to revert to artifacts that were found to be of a certain quality level 4 Variants and Revisions Artifacts that exist in different versions are known as configuration items Revisions are versions of a configuration item that have emerged over time. They have revision numbers that are usually incremented from revision to revision 1.1 Variants are versions of a configuration item that coexist (at least for some time) Session.java Configuration A configuration consists of a number of configuration items. For each of these items one and only one version is selected to be part of the configuration. Release 1.0 Session.java Version selection can be implicit (e.g. the last revision) or explicit (through tags/labels that mark a particular milestone or release) 6 2
3 SCM repositories store CIs and their configurations Repositories are typically stored on a shared server that is accessible to all team members Developers have their own private workspace Transfers between repository / workspace through check-out and check-in operations check-in check-out check-out SCM check-in 7 Concurrency Control in SCM Multiple developers may want to access the same CI Access needs to be synchronized Two different models: Pessimistic: Use of locking and unlocking to prevent more than one developer to change a CI at the same time (used in VSS, for example) Optimistic: Users modify private copies only and may do so concurrently. Private copies are merged together into a new version (This model is used in CVS and subversion) 8 Problems with Locking Developers may forget to unlock a file after they have finished updating it It is possible that two developers want to edit disjoint sections of the same file and that is not permitted in the pessimistic model. Locking might give a false sense of security. Assume Alice locks Session and Bob locks Entity. Because Session calls Entity then Session might not compile after a new version of Entity is checked in. If the entire call graph is locked teamwork grinds to a halt. 9 3
4 Alice and Bob both check out file. Here, check-out does not lock but only creates a copy in the private workspaces. 10 Now both Alice and Bob modify their copy of in their private workspace 11 Alice commits her changes to the repository first 12 4
5 If then Bob tries to commit he will get a conflict and the commit will fail Bob checks out Alice s version and in his workspace merges his changes with Alice s Bob can then commit the merged file to the repository
6 Common practice If two people have a file checked out, they have to merge their changes before check-in Merging files can be time consuming (though there is tool support)! People often coordinate verbally so that merging does not become necessary Also responsible developers do not hold modified files for too long 16 Tagging and Branching The configuration used in the main line of development is often referred to as the trunk A branch is the configuration for a particular side line of development (e.g. maintenance, or new feature development) that should be done in temporary isolation from main line of development A tag is a configuration snapshot that you want to keep to be able to restore it later. You would typically create tags for any releases you make to clients or the public 17 SCM support for tagging and branching Logically tags and branches are just copies of the configuration items, which is supported by SCM tools In practice repositories would run out of storage quickly if SCM tools were to physically copy all files whenever a tag or a branch is created. Tools instead share physical copies of the same version of a CI across different branches and tags Selective copying of CIs across different branches / tags. 18 6
7 Overview of current SCM tools Subversion (open source, we will use this in the labs) CVS (open source) RCS (can only handle versions, not configurations) Clearcase (IBM) P4 (Perforce Software) Source Safe (Microsoft) PVCS (Serena Software) 19 Key Points SCM tools are enablers of teamwork by providing Sharing when needed Isolation when required Provide safety net to restore previous releases Very good open source tools available for SCM 20 References J. Estublier et al.: Impact of software engineering research on the practice of software configuration management. ACM ToSEM 14(4): DOI: / R. Conradi and B. Westfechtel. Version Models for Software Configuration Management. ACM Computing Surveys 30(2): DOI: / B. Collins-Sussman et al. Version control with subversion. O Reilly Media
Theme 1 Software Processes. Software Configuration Management
Theme 1 Software Processes Software Configuration Management 1 Roadmap Software Configuration Management Software configuration management goals SCM Activities Configuration Management Plans Configuration
Software configuration management
Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2015-09-30 2 Maintenance Requirements System Design (Architecture,
Software Configuration Management. http:\\www.francisxavier.ac.in
Software Configuration Management Outline Introduction what is SCM, who are involved, why it is imp? what are the steps? Basic Concepts of SCM Configuration Management Activities Configuration Management
CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)
Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source
Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University
Introduction to Software Configuration Management CprE 556 Electrical and Computer Engineering Department Iowa State University 1 Example Initially, implementation is in Modula-2 on a Mac. A11 B11 A12
Source Control Systems
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy
Version Control Tools
Version Control Tools Source Code Control Venkat N Gudivada Marshall University 13 July 2010 Venkat N Gudivada Version Control Tools 1/73 Outline 1 References and Resources 2 3 4 Venkat N Gudivada Version
Continuous Integration. CSC 440: Software Engineering Slide #1
Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge
Configuration & Build Management
Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration
Application Lifecycle Management White Paper. Source Code Management Best Practice: Applying Economic Logic to Migration ALM
ALM Application Lifecycle Management White Paper Source Code Management Best Practice: Applying Economic Logic to Migration Summary: Is there a Business Case for Migration? Ultimately, what is the value
SOE. managing change in system development projects: configuration management
SOE managing change in system development projects: configuration management 2 3 understanding the problem of change change is one of the most fundamental characteristics in any software development process
Software Configuration Management. Addendum zu Kapitel 13
Software Configuration Management Addendum zu Kapitel 13 Outline Purpose of Software Configuration Management (SCM) Motivation: Why software configuration management? Definition: What is software configuration
Chapter 13 Configuration Management
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 13 Configuration Management Outline of the Lecture Purpose of Software Configuration Management (SCM)! Motivation: Why software
Page 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management?
Books: Software Configuration Management 1. B. Bruegge and A. H. Dutoit, Object-Oriented Software Engineering: Using UML, Patterns, and Java (Chapter 13) Outline of the Lecture Purpose of Software Configuration
CSCB07 Software Design Version Control
CSCB07 Software Design Version Control Anya Tafliovich Fall 2015 Problem I: Working Solo How do you keep track of changes to your program? Option 1: Don t bother Hope you get it right the first time Hope
Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of
Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt Dr.
Software Configuration Management. Visiting Lecture Tero Kojo
Software Configuration Management Visiting Lecture Tero 1 About the lecturer Lectured Software Configuration Management for three years at TKK T-76.614 SCM Also a year as the course assistant Practical
Revision control systems (RCS) and
Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer
SOFTWARE DEVELOPMENT BASICS SED
SOFTWARE DEVELOPMENT BASICS SED Centre de recherche Lille Nord Europe 16 DÉCEMBRE 2011 SUMMARY 1. Inria Forge 2. Build Process of Software 3. Software Testing 4. Continuous Integration 16 DECEMBRE 2011-2
Build Management. Context. Learning Objectives
Build Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition Analysis Design
Software Configuration Management
Software Configuration Management 1 Software Configuration Management Four aspects Version control Automated build Change control Release Supported by tools Requires expertise and oversight More important
Software Configuration Management and Continuous Integration
1 Chapter 1 Software Configuration Management and Continuous Integration Matthias Molitor, 1856389 Reaching and maintaining a high quality level is essential for each today s software project. To accomplish
Software Configuration Management, Advantages and Limitations
HUT / SOBERIT 2003 T-76.651 DISTRIBUTED DEVELOPMENT SEMINAR 1 Comparison of Open Source Software Configuration Management Tools Tero Kojo 44809J [email protected] Abstract Software Configuration Management
Version Control. Luka Milovanov [email protected]
Version Control Luka Milovanov [email protected] Configuration Management Configuration management is the management of system change to software products Version management: consistent scheme of version
2405 - Using Git with Rational Team Concert and Rational ClearCase in enterprise environments
2405 - Using Git with Rational Team Concert and Rational ClearCase in enterprise environments Bartosz Chrabski Executive IT Specialist WW Competitive Sales Team [email protected] Peter Hack ClearCase
Continuous Integration (CI)
Introduction A long standing problem for software development teams has been to maintain the stability of an application while integrating the changes made by multiple developers. The later that integration
DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014
DAVE Usage with SVN Presentation and Tutorial v 2.0 May, 2014 Required DAVE Version Required DAVE version: v 3.1.6 or higher (recommend to use the most latest version, as of Feb 28, 2014, v 3.1.10) Required
Version Control Using Subversion. 12 May 2013 OSU CSE 1
Version Control Using Subversion 12 May 2013 OSU CSE 1 Version Control In team projects, software engineers: Share and extend a common code base (and comply with standards, coding conventions, comment
Version Control with Subversion
Version Control with Subversion Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control Version control (aka Revision Control System or
Software Configuration Management (SCM)
Software Configuration Management (SCM) SCM actually consists of several separate yet cumulative disciplines. Version Management is an entry point for SCM T M Abstract : Software Configuration Management
Chapter 13 Configuration Management
Chapter 13 Configuration Management Using UML, Patterns, and Java Object-Oriented Software Engineering Outline of the Lecture Purpose of Software Configuration Management (SCM)! Motivation: Why software
Revision Control. Solutions to Protect Your Documents and Track Workflow WHITE PAPER
Revision Control Solutions to Protect Your Documents and Track Workflow WHITE PAPER Contents Overview 3 Common Revision Control Systems 4 Revision Control Systems 4 Using BarTender with Revision Control
Continuous Integration
Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal
Methodologies. Adam Pasztory 12/19/07. Pasztory - 1
Revision Control Methodologies Adam Pasztory 12/19/07 Pasztory - 1 Revision control is one of the primary components of the change management process for system administrators.(1) Any project that has
Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.
Software Configuration Management Slides derived from Dr. Sara Stoecklin s notes and various web sources. What is SCM? SCM goals Manage the changes to documents, programs, files, etc. Track history Identify
CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011
CISC 275: Introduction to Software Engineering Lab 5: Introduction to Revision Control with Charlie Greenbacker University of Delaware Fall 2011 Overview Revision Control Systems in general Subversion
Comparison of Version Control Systems for Software Maintenance
Comparison of Version Control Systems for Software Maintenance by Kevin N. Haw (http://www.kevinhaw.com) May 16, 2006 This work is licensed under the Creative Commons Attribution-Noncommercial-No Derivative
Software Life Cycles and Configuration Management
Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction
Version control tracks multiple versions. Configuration Management. Version Control. V22.0474-001 Software Engineering Lecture 12, Spring 2008
Configuration Management Version Control V22.0474-001 Software Engineering Lecture 12, Spring 2008 Clark Barrett, New York University Configuration Management refers to a set of procedures for managing
Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008
Software Configuration Management Wingsze Seaman COMP250SA February 27, 2008 Outline CM and SCM Definitions SCM History CMMI and SCM SCM Tools SCM/Dynamic Systems SCM/Software Architecture Resources 2
Delivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco
Continuous Delivery Jez Humble and David Farley AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Cape Town Sydney Tokyo Singapore
STAR JPSS Algorithms Integration Team Configuration Management Plan Version 1.2
STAR JPSS Algorithms Integration Team Version 1.2 NOAA Center for Weather and Climate Prediction (NCWCP) NOAA/NESDIS/STAR 5830 University Research Ct College Park, MD 20740 Revisions Version Description
Global Software Change Management for PVCS Version Manager
Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.
Surround SCM Best Practices
Surround SCM Best Practices This document addresses some of the common activities in Surround SCM and offers best practices for each. These best practices are designed with Surround SCM users in mind,
Configuration Management for Open Source Software
AALBORG UNIVERSITY Department of Computer Science Technical Report Configuration Management for Open Source Software by Ulf Asklund & Lars Bendix R-01-5005 January 2001 DEPARTMENT OF COMPUTER SCIENCE Fredrik
Michael Solomon, CISSP PMP CISM
MANAGING THE SOFTWARE DEVELOPMENT PROCESS Michael Solomon, CISSP PMP CISM Session Agenda Software development business needs Software Configuration Management (SCM) SCM concepts SCM benefits Case study
IBM Rational ClearCase, Version 8.0
IBM Rational ClearCase, Version 8.0 Improve software and systems delivery with automated software configuration management solutions Highlights Improve software delivery and software development life cycle
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous Integration 01 02 03 04 Unit Check- Test Review In 05 06 07 Build Deploy Test In the following pages we will discuss the approach and systems that together make
Manual. CollabNet Subversion Connector to HP Quality Center. Version 1.2
Manual CollabNet Subversion Connector to HP Quality Center Version 1.2 A BOUT THE CONNECTOR About the Connector The CollabNet Subversion Connector to HP Quality Center enables Quality Center users to
Development Methodologies
Slide 3.1 Development Methodologies Prof. Dr. Josef M. Joller [email protected] Development Methodologies Prof. Dr. Josef M. Joller 1 Session 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Development Methodologies
Version Control Systems
Version Control Systems ESA 2015/2016 Adam Belloum [email protected] Material Prepared by Eelco Schatborn Today IntroducGon to Version Control Systems Centralized Version Control Systems RCS CVS SVN
Xcode Source Management Guide. (Legacy)
Xcode Source Management Guide (Legacy) Contents Introduction 5 Organization of This Document 5 See Also 6 Source Management Overview 7 Source Control Essentials 7 Snapshots 8 Managing Source in Xcode 8
A Model Repository for Collaborative Modeling with the Jazz Development Platform
A Model Repository for Collaborative Modeling with the Jazz Development Platform Christian Bartelt University of Clausthal [email protected] Georg Molter Zühlke Engineering GmbH [email protected]
Version Control for Computational Economists: An Introduction
Version Control for Computational Economists: An Introduction Jake C. Torcasso April 3, 2014 Starting Point A collection of files on your computer Changes to files and new files over time Interested in
HP SAP. Where Development, Test and Operations meet. Application Lifecycle Management
HP SAP Where Development, Test and Operations meet Application Lifecycle Management 1 Introduction 1.1 ALM CONCEPTS Application Lifecycle Management (ALM) empowers IT to manage the core application life-cycle,
Kevin Lee Technical Consultant [email protected]. As part of a normal software build and release process
Agile SCM: Realising Continuous Kevin Lee Technical Consultant [email protected] Agenda What is Continuous? Continuous in Context As part of a normal software build and release process Realising Continuous
Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF
1 Version Control with Svn, Git and git-svn Kate Hedstrom ARSC, UAF 2 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style
Introducing Hudson Click to edit Master subtitle style Winston Prakash What is Hudson? Hudson is an open source continuous integration (CI) server. A CI server can do various tasks
TIME. Programming in the large. Lecture 22: Configuration Management. Agenda for today. About your Future. CM: The short version. CM: The long version
1 2 Last update: 17 June 2004 Programming in the large Bertrand Meyer Lecture 22: Configuration Management Bernd Schoeller [email protected] Agenda for today 3 About your Future 4 Motivation
CSE 70: Software Development Pipeline Build Process, XML, Repositories
CSE 70: Software Development Pipeline Build Process, XML, Repositories Ingolf Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California
Software configuration management in agile methods
ESPOO 2003 VTT PUBLICATIONS 514 Juha Koskela Software configuration management in agile methods VTT PUBLICATIONS 514 Software configuration management in agile methods Juha Koskela VTT Electronics ISBN
Implementing Continuous Integration Testing Prepared by:
Implementing Continuous Integration Testing Prepared by: Mr Sandeep M Table of Contents 1. ABSTRACT... 2 2. INTRODUCTION TO CONTINUOUS INTEGRATION (CI)... 3 3. CI FOR AGILE METHODOLOGY... 4 4. WORK FLOW...
Version Control! Scenarios, Working with Git!
Version Control! Scenarios, Working with Git!! Scenario 1! You finished the assignment at home! VC 2 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not
IBM Rational Software
IBM Rational Software Development Conference 2008 Collaborative Software Development An Introduction to Rational Team Concert Erich Gamma Distinguished Engineer, Jazz Technical Lead IBM Rational Zurich
Software Continuous Integration & Delivery
November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com
Versioning and Evolution Control of Models in Software Configuration Management System
Research Journal of Information Technology 5(3): 72-80, 2013 ISSN: 2041-3106; e-issn: 2041-3114 Maxwell Scientific Organization, 2013 Submitted: March 13, 2013 Accepted: April 29, 2013 Published: September
S609. RDz and Source Control Management Systems
S609. RDz and Source Control Management Systems Michael Erichsen [email protected] www.xact.dk Agenda Source Control Management (SCM) What it does Some product examples Integrating RDz with SCM
Comparative Analysis of SCM tools and Coexistence with Agile Methodology
Comparative Analysis of SCM tools and Coexistence with Agile Methodology Thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering in Computer Science
DeltaV: Adding Versioning to the Web
DeltaV: Adding Versioning to the Web WWW10 Tutorial Notes, By Jim Whitehead Documents change over time. Whether they are word processing documents, spreadsheets, Web pages, or source code, the process
Software Configuration. Management Issues in Product Development
Software Configuration Management Issues in Product Development A Annie Ibrahim, Muhammad Waseem (National University of Computer and Emerging Sciences, Lahore) Abstract After more than 20 years of research
Source Code Management/Version Control
Date: 3 rd March 2005 Source Code Management/Version Control The Problem: In a typical software development environment, many developers will be engaged in work on one code base. If everyone was to be
Successfully managing geographically distributed development
IBM Rational SCM solutions for distributed development August 2004 Successfully managing geographically distributed development Karen Wade SCM Product Marketing Manager IBM Software Group Page 2 Contents
Version Control Tutorial using TortoiseSVN and. TortoiseGit
Version Control Tutorial using TortoiseSVN and TortoiseGit Christopher J. Roy, Associate Professor Virginia Tech, [email protected] This tutorial can be found at: www.aoe.vt.edu/people/webpages/cjroy/software-resources/tortoise-svn-git-tutorial.pdf
"Code management in multi programmer environments."
Another installment in the 'Computing in high energy physics' series (16 02 2004). "Code management in multi programmer environments." Author: D. Hatton (DESY/Hamburg) Table of Contents: 1. Overview 2.
Software Configuration Management Practices for extreme Programming Teams
Software Configuration Management Practices for extreme Programming Teams Ulf Asklund, Lars Bendix, Torbjörn Ekman {ulf bendix torbjorn}@cs.lth.se Department of Computer Science Lund Institute of Technology
enterprise IBM Rational Team Concert 2 Essentials
IBM Rational Team Concert 2 Essentials Improve team productivity with Integrated Processes, Planning, and Collaboration using Team Concert Enterprise Edition Suresh Krishna TC Fenstermaker [ '; v.v- ;
Introduction to Programming Tools. Anjana & Shankar September,2010
Introduction to Programming Tools Anjana & Shankar September,2010 Contents Essentials tooling concepts in S/W development Build system Version Control System Testing Tools Continuous Integration Issue
CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn
CSE 374 Programming Concepts & Tools Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn Where we are Learning tools and concepts relevant to multi-file, multi-person,
Introduction to Subversion
Introduction to Subversion Getting started with svn Matteo Vescovi 19/02/2010 Agenda A little bit of theory Overview of Subversion Subversion approach to Version Control Using Subversion Typical subversion
CollabNet TeamForge 5.3. User Guide
CollabNet TeamForge 5.3 User Guide CollabNet TeamForge 5.3 TOC 3 Contents Chapter 1: Plan and track anything...11 Estimate effort for agile development...12 Find tracker artifacts...12 Display tracker
Software Configuration Management and Version Control
Software Configuration Management and Version Control Paper By Piyush Kulshrestha TATA Consultancy Services C - 56, Phase 2, Noida India Mailto: [email protected] Website: http://www.tcs.com Feb
How To Manage A Computer System
Ivica Crnkovic Mälardalen University Department of Computer Engineering [email protected] Page 1, 3/5/2001 Software Configuration Management SCM - takes care about development components and products
GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns
Introducing FACTORY SCHEMES Adaptable software factory Patterns FACTORY SCHEMES 3 Standard Edition Community & Enterprise Key Benefits and Features GECKO Software http://consulting.bygecko.com Email: [email protected]
Source Code Control and Software Reuse
Source Code Control and Software Reuse Presented by: Steven Hoenig Business Unit Manager Bloomy Controls Inc. OverVIEW About Bloomy Challenges of Large Applications Source Code Control (SCC) Bloomy SCC
