CPSC 871 John D. McGregor Change management Module 2 Session 3.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software change management
Configuration management
Configuration Management
Software Configuration Management Donna Albino LIS489, December 3, 2014.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
Concepts of Version Control A Technology-Independent View.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Microsoft Visual Source Safe 6.01 Microsoft Visual Source Safe (MVSS) Presented By: Rachel Espinoza.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Software Configuration Management (SCM)
G51FSE Version Control Naisan Benatar. Lecture 5 - Version Control 2 On today’s menu... The problems with lots of code and lots of people Version control.
Working with SharePoint Document Libraries. What are document libraries? Document libraries are collections of files that you can share with team members.
By Steven Campbell and Erik Boone.  Sharing projects by putting them into a central repository.  Checking out copies of projects from the repository.
RMsis – v Simplify Requirement Management for JIRA
This chapter is extracted from Sommerville’s slides. Text book chapter
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Software Configuration Management (SCM)
Version control Using Git 1Version control, using Git.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
1 Topics for this Lecture Software maintenance in general Source control systems (intro to svn)
Software Engineering Modern Approaches
Introduction to Version Control
Software Configuration Management (SCM)
Subversion, an Open Source Version Control System An Introduction.
1 Lecture 19 Configuration Management Software Engineering.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (managing change). Starter Questions... Which is more important?  stability  progress Why is change potentially dangerous?
Subversion Code Deployment LifeCycle August 2011.
Start the slide show by clicking on the "Slide Show" option in the above menu and choose "View Show”. or – hit the F5 Key.
Configuration Management (CM)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 29 Slide 1 Configuration management.
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
RMsis – v Simplify Requirement Management for JIRA.
Version control Using Git Version control, using Git1.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
An Intro to Concurrent Versions System (CVS) ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
Computer Science and Engineering The Ohio State University  Widely used, especially in the opensource community, to track all changes to a project and.
Software Engineering 2003 Jyrki Nummenmaa 1 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): -
CPSC 871 John D. McGregor Module 2 Session 4 CMMI & assignment.
Code Reviews. Challenges of Large Code Base How to ensure… – Maintainable code? – DRY code? – Readable code? – Bug-free code? Average defect detection.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
2136 Gallows Road, Suite F, Dunn Loring, VA Phone: Fax: Business Analyst Training 1 Module 5.2 Rational ClearCase.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
CPSC 871 John D. McGregor Process – an introduction Module 0 Session 3.
RMsis – v now with JIRA 5.0 support Simplify Requirement Management for JIRA.
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
1 Ivan Marsic Rutgers University LECTURE 2: Software Configuration Management.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Software Configuration Management -Subversion- RTLAB YuJin Park.
Development Environment
Configuration Management
Software Project Configuration Management
LECTURE 2: Software Configuration Management
Version control, using Git
Configuration Management (managing change)
LECTURE 3: Software Configuration Management
X in [Integration, Delivery, Deployment]
Getting Started with Git and Bitbucket
Design and Programming
Compilers, Make and SubVersion
Configuration management
Software Configuration Management
Presentation transcript:

CPSC 871 John D. McGregor Change management Module 2 Session 3

Reference Please read k/html/contentsch7#ch7

Work Products Although many people focus on code, a software development organization generates a number of work products. Most of those work products are used by multiple people and many are created by a team. The team has to coordinate their work so that no work is duplicated or overwritten but all work gets done. Change management provides techniques for coordination.

Coordination If there were just a couple of people working together they might coordinate by ing a file back and forth. Most of the time this is just not sufficient. Version control software such as subversion allows a team to establish a commonly accessible location for artifacts. The software maintains access controls and history information beyond the simple read, write, execute of the OS.

Coordination - 2 The version control software has R/W and Read-only permissions. Except under certain circumstances there is only one person with R/W access at a time. This is accomplished by check-in and check-out operations for each unit. A worker checks out a file and is granted R/W access; she does her work; saves the file; and checks it in. While she has R/W access others who want the file will only be granted R access.

Coordination - 3 The same worker requests to check out a file but someone else already has R/W access. The version control system asks whether she would accept R-only access. Since she was only going to read the file to support a design activity she agrees. Eventually she checks the file back in. Version control also coordinates over time. Every time the file under control is saved, a copy of the old file is kept as well as the new. While the default for check-out is the latest saved version, the earlier versions can be accessed and can be made the latest to undo a different direction.

Branching Sometimes we decide to try a different organization of a document or a different algorithm for a program. There will be multiple versions of this trial and others will continue to develop the original artifact while you try this new direction. The version control allows a branch, a parallel version path, to be created and accessed. Below the main trunk is blue. B stands for branch. M is for merge where the branch is joined back into the trunk. R is for release, when the product is shipped to our customer. R R B M B M RR

Natural thing to do For a professional software engineer, use of the version control is a natural thing to do. Most integrated development environments (IDE) can be directly linked to version control systems. In Eclipse-based systems a menu to access the version control system appears in the IDE’s menu.

Subclipse menu

Adding a comment to a version

Committing

But tools aren’t enough Change management is also a process. It is one of the disciplines in RUP. Once a set of artifacts have reached a point of correctness/completeness/acceptance we declare a “baseline” After that point any changes to artifacts in the baseline must be approved by a committee referred to as a Change Control Board (CCB). The CCB meets periodically to approve Change Requests (CRs)

Change management The purpose of change management is to prevent chaos, or at least keep order. The CCB provides the opportunity for anyone with a concern about changes to raise objections. In particular part of making a change request is to conduct a change impact analysis.

Change impact analysis A change impact analysis starts at the point in a design or program at which a change is proposed. The flow of control and flow of design from that point are traced back earlier. The effects of the change can be seen in the parts of the program that are touched by the trace and by the effort it will take to make all the adjustments necessary to support that change.

Change management By conducting the impact analysis, the proposed changes are often modified significantly. The result is a better design/program.

Configuration management Version control and change management work closely together to manage the pieces that make up the product. When there is a strategic level of reuse a product is not just the set of files in the version tree of the product. Tools such as Ant, Make, and Buckminster provide a syntax for defining a program as the composition of a set of pieces.

CM - 2 This definition becomes a program artifact and it is versioned. These tools, termed product materialization tools, can be used top automate the assembly, compilation, testing, and deployment. On the next slide is a meta-model for the scheme that the materialization tools use.

Meta-model for CM Assembly request CI Spec Resource map

Using the meta-model A product configuration specifies the assets to be integrated to form the product. A request is generated for each asset. The separate locator defines where each asset can be found. The product is assembled.

Product configuration R R B M B M RR R R B M B M RR R R B M B M RR R R B M B M RR R R B M B M RR R R B M B M RR Product A Product B Assets

CM practice Version control mitigates the risk that work will be lost, destroyed, or intermixed. CM mitigates the risk that assets must be copied into another directory in order to build a product.

Here’s what you are going to do Add subclipse or Egit to your OSATE installation Here are a couple of aids: – – – – For the initial project containing the use cases add that project to the subversion repository. Submit a screen print of a page that shows the project navigator window with the added annotations from subversion (it will add those automatically when it is committed to the repository.)