Software Configuration Management
|
|
|
- Tyler Burns
- 10 years ago
- Views:
Transcription
1 Steven J Zeil March 17, 2013 Contents 1 Problems 2 2 Common Practices 6 1
2 1 Problems Software Configuration Management Over time, a software system can exist in many versions: revisions created as developers check in changes configurations intended for different hardware, operating system, or application environments releases issued to users * which, if under continued support, may have separate tracks of revisions recording separate bug fixes Software Configuration Management (SCM) is concerned with all of these SCM Activities Version control Build management Environment management Change management We have seen some tools oriented towards some of these. But the broader SCM context may alter how we use some of them CS795 2
3 Codelines and Baselines A codeline is a sequence of revisions of a configuration item In essence, a branch A baseline is a collection of component versions that make up a system. Codelines and Baselines: Example CS795 3
4 Baseline: Windows Release A 1 codelines B 4 External Libraries and components A 1 A A 2 Baseline: Linux Release 3 B 4 Baselines A major challenge of SCM is coping with multiple baselines that must co-exist and be actively maintained. CS795 4
5 Major issues are deciding when to freeze on a version of an imported library tracking the transitive closure of dependencies from libraries that we directly depend upon finding a mutually compatible set of versions among all those external libraries Environment Management Coping with the different environments in which the software may need to be installed and/or built. Strategies include separate files * Easier to manage in the C/C++ world than in Java deltas (patches) conditional compilation * Favored in the C/C++ world * Harder to support in Java world dynamic loading * Common in the Java world * Often controlled by property files that name modules to be employed for designated tasks in a given installation. CS795 5
6 Example: the ODU Extract Project Metadata extraction system, needed to support One release version (thank the heavens) Windows, Linux, & Mac platforms Choice of 2 OCR programs (or none at all) With local or network access to licensed copies With or without caching of OCR results Statistical models trained on different document collections Varying client requirements for data post-processing Problem was not so much the number of choices as the combinatorics. 2 Common Practices Baselines Managed by Build Manager Build manager is told what external libraries are needed including desired versions Build manager may be responsible for collecting desired versions of both external and internal code from version control. Build files are managed as part of each version. CS795 6
7 Codelines == Branches Main trunk moves forward in time Each planned release is a branch from the trunk release 3 v1.0 development continues forward through its maintenance lifetime main trunk CS795 7
8 Change Management In large organizations, changes are approved by a Change Management Board. E.g., the team working in an exploratory branch has demonstrated an attractive new feature. Should we adopt it? If so, which of the version code lines should it be added to? Change Propagation Even in smaller projects, the issue of change propagation across code lines needs to be kept in mind. The whole main trunk moves forward idea presumes that most release changes are synced into the trunk: CS795 8
9 release v release 7 9 v1.0 development v1.1 development 13 v2.0 development main trunk exploratory branch As a practical matter, someone has to decide whether bug fixes in older versions can and should be merged into CS795 9
10 release v1.01 bug fix release v1.0 development v1.1 development later versions. 13 v2.0 development {buggy code was already removed from v2.0 development} main trunk exploratory branch Simpler Project Structure In current practice, Large projects composed of multiple subprojects are discouraged CS795 10
11 in favor of smaller, independent projects (e.g., one per original subproject) A common rule of thumb is that one project should produce one product (e.g., a single Jar file) Plus, perhaps, a source distribution. * and those are increasingly being replaced by centralized VC repositories CS795 11
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
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,
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
Software Configuration Management for Embedded Systems Developers
Software Configuration Management for Embedded Systems Developers Overview Embedded systems developers face complex versions of the problems that confront most software developers. Choosing a robust SCM
Chapter 5. Choose the answer that mostly suits each of the sentences given:
Chapter 5 Software Configuration Management Choose the answer that mostly suits each of the sentences given: 1. No matter where you are in the system lifecycle, the system will change, and the desire to
Software Configuration Management Best Practices for Continuous Integration
Software Configuration Management Best Practices for Continuous Integration As Agile software development methodologies become more common and mature, proven best practices in all phases of the software
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,
Agile SPL-SCM: Agile Software Product Line Configuration and Release Management
Agile SPL-SCM: Agile Software Product Line Configuration and Release Management APLE 2006 Workshop SPLC 2006, Baltimore, MD [email protected] Phonak Hearing Systems Presentation Roadmap 1. Introduction
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas Payoff Configuration management (CM) helps an organization maintain an inventory of its software assets. In traditional CM systems,
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
CENG492 SENIOR DESIGN PROJECT AND SEMINAR II SOFTWARE CONFIGURATION MANAGEMENT PLAN
CENG492 SENIOR DESIGN PROJECT AND SEMINAR II SOFTWARE CONFIGURATION MANAGEMENT PLAN by Group LaPaix Subject on COMPUTERIZED READING SYSTEM FOR BLINDS DEPARTMENT OF COMPUTER ENGINEERING METU ANKARA 28.03.2003
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
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
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
Configuration Management for Reusable Software
Configuration Management for Reusable Software William B. Frakes Computer Science Department Virginia Tech [email protected] Abstract This paper discusses the configuration management of reusable software,
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
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
Software Configuration Management. Context. Learning Objectives
Software Configuration Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition
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
Module 11 Setting up Customization Environment
Module 11 Setting up Customization Environment By Kitti Upariphutthiphong Technical Consultant, ecosoft [email protected] ADempiere ERP 1 2 Module Objectives Downloading ADempiere Source Code Setup Development
IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management
IKAN ALM Architecture Closing the Gap Enterprise-wide Application Lifecycle Management Table of contents IKAN ALM SERVER Architecture...4 IKAN ALM AGENT Architecture...6 Interaction between the IKAN ALM
Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More
Taking Subversion to a Higher Level Branching/Merging Support Component Management Support And More About Impact CM Impact CM is a Service AddOn that facilitates software configuration management (CM)
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
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
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
Configuration Management Plan
Project: Version: Prepared by: : Approvals: Submitted By: Project Team Member Review Approvals By: Document Change Log Version Author Description ii Table of Contents 1.0 Scope 1 2.0 Configuration Management
The Deployment Pipeline
The Deployment Pipeline (Extending the range of Continuous Integration) Dave Farley 2007 Continuous Build A core practice in Agile development projects is the use of Continuous Integration. CI is a process
Version Control with Subversion and Xcode
Version Control with Subversion and Xcode Author: Mark Szymczyk Last Update: June 21, 2006 This article shows you how to place your source code files under version control using Subversion and Xcode. By
Software Configuration Management
Reto Bonderer [email protected] University of Applied Sciences Chur V 1.01 2002, R. Bonderer 1 Learning Goals The participant knows why configuration management is important knows what version,
Exploratory Testing Dynamics
Exploratory Testing Dynamics Created by James and Jonathan Bach 1 v1.6 Copyright 2005-2006, Satisfice, Inc. Exploratory testing is the opposite of scripted testing. Both scripted and exploratory testing
DMSplus for Microsoft SharePoint 2010
DMSplus for Microsoft SharePoint 2010 A professional add-on for DMS (Document Management System) solutions based on Microsoft SharePoint 2010 DMSplus Product Information Version 1.0 DMSplus Overview DMSplus
How To Develop Software
Software Development Basics Dr. Axel Kohlmeyer Associate Dean for Scientific Computing College of Science and Technology Temple University, Philadelphia http://sites.google.com/site/akohlmey/ [email protected]
Maven or how to automate java builds, tests and version management with open source tools
Maven or how to automate java builds, tests and version management with open source tools Erik Putrycz Software Engineer, Apption Software [email protected] Outlook What is Maven Maven Concepts and
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
High-level Best Practices in Software Configuration Management
High-level Best Practices in Software Configuration Management Laura Wingerd Perforce Software Christopher Seiwald Perforce Software presented at the Eight International Workshop on Software Configuration
Advanced Computing Tools for Applied Research Chapter 4. Version control
Advanced Computing Tools for Applied Research Jaime Boal Martín-Larrauri Rafael Palacios Hielscher Academic year 2014/2015 1 Version control fundamentals 2 What you probably do now Manually save copies
High-Level Software Version Management Best Practices Abstract
High-Level Software Version Management Best Practices Abstract When deploying software version management and version control tools, implementers sometimes focus on perfecting fine-grained activities,
One solution for all your Source Configuration Management Needs
One solution for all your Source Configuration Management Needs SPECTRUM SOFTWARE, Inc. 11445 Johns Creek Parkway Suite 300 Duluth, GA 30097 Ph: 770-448-8662 Fax: 678-473-9294 www.spectrumscm.com www.spectrumsoftware.net
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
FSW QA Testing Levels Definitions
FSW QA Testing Levels Definitions 1. Overview This document is used to help determine the amount and quality of testing (or its scope) that is planned for or has been performed on a project. This analysis
Configuration Management - The Big Picture
Configuration Management - The Big Picture Consists of: 1. Product s aligned to system development life cycle comprised of hardware and software configuration items described by specifications, design
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
Developing Software in a Private workspace - 4.01 PM PMS
SBCH06.fm Page 67 Friday, October 4, 2002 4:01 PM 6 Private Workspace A government clerk s room, showing a desk with books, telephone and directory, and a desk lamp on it. Washington, D.C., 1939. Photo
19 Configuration Management
TIMe TIMe Electronic Textbook 19 Configuration Management Introduction.......................................................2 What...................................................................2 Why
A guide through the concepts of Serena Dimensions. René Steg Steg IT-Engineering, Zurich (Switzerland)
A guide through the concepts of Serena Dimensions René Steg Steg IT-Engineering, Zurich (Switzerland) Introduction About René Steg and Steg IT-Engineering Owner of Steg IT-Engineering since 2000 and contracted
Lab 0 (Setting up your Development Environment) Week 1
ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself
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
CHAPTER 7 Software Configuration Management
CHAPTER 7 Software Configuration Management ACRONYMS CCB CM FCA MTBF PCA SCCB SCI SCM SCMP SCR SCSA SEI/CMMI SQA SRS USNRC INTRODUCTION Configuration Control Board Configuration Management Functional Configuration
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
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
serena.com Best Practice for Parallel Development using Serena Dimensions
serena.com Best Practice for Parallel Development using Serena Dimensions Table of Contents O V E R VIE W 4 T Y P E S O F P A R AL LE L DEVELOP ME N T 4 P A R A LL E L DE VE LO P MENT U S I N G S T R E
White Paper. Software Development Best Practices: Enterprise Code Portal
White Paper Software Development Best Practices: Enterprise Code Portal An Enterprise Code Portal is an inside the firewall software solution that enables enterprise software development organizations
Integrity 10. Curriculum Guide
Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training
Integrated Open-Source Geophysical Processing and Visualization
Integrated Open-Source Geophysical Processing and Visualization Glenn Chubak* University of Saskatchewan, Saskatoon, Saskatchewan, Canada [email protected] and Igor Morozov University of Saskatchewan,
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.
Patch Management. Module 13. 2012 VMware Inc. All rights reserved
Patch Management Module 13 You Are Here Course Introduction Introduction to Virtualization Creating Virtual Machines VMware vcenter Server Configuring and Managing Virtual Networks Configuring and Managing
The Real Challenges of Configuration Management
The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development
Microsoft Dynamics CRM Campaign Integration - New features
Sitecore CMS Modules Microsoft Dynamics CRM Campaign Integration Rev: 2011-03-29 Sitecore CMS Modules Microsoft Dynamics CRM Campaign Integration - New features Table of Contents Chapter 1 Microsoft Dynamics
Solving the Software Quality Challenges of Agile Development
Solving the Software Quality Challenges of Agile Development 2 Solving the Software Quality Risks of Agile Development Agile software development is a series of iterative and incremental development methods
Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)
Open EMS Suite O&M Agent Functional Overview Version 1.2 Nokia Siemens Networks 1 (18) O&M Agent The information in this document is subject to change without notice and describes only the product defined
Detailed Design Report
Detailed Design Report Chapter 9 Control System MAX IV Facility CHAPTER 9.0. CONTROL SYSTEM 1(9) 9. Control System 9.1. Introduction...2 9.1.1. Requirements... 2 9.2. Design...3 9.2.1. Guidelines... 3
What Is Software Configuration Management?
C H A P T E R 1 What Is Software Configuration Management? The title of this chapter asks such a simple question, the answer to which, one would think, ought to be known by anyone with any kind of record
PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone
Standalone PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone Most developers are familiar with Visual SourceSafe. It's a popular version control
Two-Factor Authentication Basics for Linux. Pat Barron ([email protected]) Western PA Linux Users Group
Two-Factor Authentication Basics for Linux Pat Barron ([email protected]) Western PA Linux Users Group Some Basic Security Terminology Two of the most common things we discuss related to security are Authentication
Project Audit & Review Checklist. The following provides a detailed checklist to assist the PPO with reviewing the health of a project:
Project Audit & Review Checklist The following provides a detailed checklist to assist the PPO with reviewing the health of a project: Relevance (at this time) Theory & Practice (How relevant is this attribute
Best Practices for Deploying and Managing Linux with Red Hat Network
Best Practices for Deploying and Managing Linux with Red Hat Network Abstract This technical whitepaper provides a best practices overview for companies deploying and managing their open source environment
"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.
Exploratory Testing Dynamics
Exploratory Testing Dynamics Created by James Bach, Jonathan Bach, and Michael Bolton 1 v2.2 Copyright 2005-2009, Satisfice, Inc. Exploratory testing is the opposite of scripted testing. Both scripted
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
OCR LEVEL 2 CAMBRIDGE TECHNICAL
Cambridge TECHNICALS OCR LEVEL 2 CAMBRIDGE TECHNICAL CERTIFICATE/DIPLOMA IN IT SYSTEMS SOFTWARE AND HARDWARE FOR DEVELOPMENT D/505/4621 LEVEL 2 UNIT 25 GUIDED LEARNING HOURS: 60 UNIT CREDIT VALUE: 10 Systems
A WHITE PAPER BY ASTORIA SOFTWARE
A WHITE PAPER BY ASTORIA SOFTWARE Managing multiple releases when using DITA can be quite a challenge. The usual technique is to branch a document for a specific release and then merge the branch with
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
Towards Software Configuration Management for Test-Driven Development
Towards Software Configuration Management for Test-Driven Development Tammo Freese OFFIS, Escherweg 2, 26121 Oldenburg, Germany [email protected] Abstract. Test-Driven Development is a technique where
Continuous Integration Just another buzz word?
Continuous Integration Just another buzz word? Brad Appleton, Steve Konieczka, Steve Berczuk September 2003 Last month we wrote that we would be addressing some questions and concerns raised by readers
Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF
Serena Dimensions CM Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF Move Fast Without Breaking Things With Dimensions CM 14, I am able to integrate continuously
MontaVista Linux 6. Streamlining the Embedded Linux Development Process
MontaVista Linux 6 WHITE PAPER Streamlining the Embedded Linux Development Process Using MontaVista Linux 6 to get the most out of open source software and improve development efficiencies ABSTRACT: The
vs. Web Site: www.soebes.com Blog: blog.soebes.com Email: [email protected] Dipl.Ing.(FH) Karl Heinz Marbaise
Project Organization vs. Build- and Configuration Management Web Site: www.soebes.com Blog: blog.soebes.com Email: [email protected] Dipl.Ing.(FH) Karl Heinz Marbaise Agenda 1.Initialization 2.Specification
SSO Plugin. HP Service Request Catalog. J System Solutions. http://www.javasystemsolutions.com Version 3.6
SSO Plugin HP Service Request Catalog J System Solutions Version 3.6 Page 2 of 7 Introduction... 3 Adobe Flash and NTLM... 3 Enabling the identity federation service... 4 Federation key... 4 Token lifetime...
Problems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration
Configuration Management Patterns
Configuration Management Patterns Steve Berczuk Optimax Systems Corporation 201 Broadway Cambridge MA 02139 [email protected] Configuration management is an important aspect of an efficient development
NEESit Software Configuration Management Process
NEESit Software Configuration Management Process 1 1 NEES Cyberinfrastructure Center, SDSC Last Modified: 2005-02-09 Version: 1.1 Acknowledgment: This work was supported by the George E. Brown, Jr. Network
Spring Security SAML module
Spring Security SAML module Author: Vladimir Schäfer E-mail: [email protected] Copyright 2009 The package contains the implementation of SAML v2.0 support for Spring Security framework. Following
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
The Benefits of Utilizing a Repository Manager
Sonatype Nexus TM Professional Whitepaper The Benefits of Utilizing a Repository Manager An Introduction to Sonatype Nexus TM Professional SONATYPE www.sonatype.com [email protected] +1 301-684-8080 12501
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
Integrated version control with Fossil SCM
Integrated version control with Fossil SCM Tech Talk 2009-12-01 Arne Bachmann Folie 1 Overview Web address www.fossil-scm.org Author Dr. D.R. Hipp - Author of License GPL v2 Motto No information shall
The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.
Installing the SDK This page describes how to install the Android SDK and set up your development environment for the first time. If you encounter any problems during installation, see the Troubleshooting
