Software Engineering Modern Approaches

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Configuration and Change Management
Configuration Management
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Configuration Management
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Nov. 6, 2003CS WPI1 CS 509 Design of Software Systems Lecture #10 Thursday, Nov. 6, 2003.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Configuration Management
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Configuration Management
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Software Configuration Management CSC-532 Chandra Shekar Kandi Chandra Shekar Kandi.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 14, 2001 Software.
Software Configuration Management
Software Configuration Management (SCM)
CSSE 375 Software Construction and Evolution: Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
Software Project Configuration Management
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
Software Configuration Management (SCM)
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
Software Configuration Management
Software Configuration Management
Software Configuration Management (SCM)
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.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
SENG521 (Fall SENG 521 Software Reliability & Testing Software Product & process Improvement using ISO (Part 3d) Department.
Chapter 4: Software Configuration Management (SCM)
Software Configuration Management
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Software Quality Assurance
© Mahindra Satyam 2009 Configuration Management QMS Training.
Software Engineering 2003 Jyrki Nummenmaa 1 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): -
CEN 5011 Ninth Lecture (2 nd part) Nov. 24, 2004 Advance Software Engineering (CEN-5011) Fall 2004 Instructor: Masoud Sadjadi
CSSE 375 Software Construction and Evolution: More SCM, and a loop back to Feathers! Shawn and Steve Left – On big systems, SCM is a well-defined process.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Configuration management.
Software Project Management
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 29 Slide 1 Configuration management.
Configuration Management Main issues:  manage items during software life cycle  usually supported by powerful tools ©2008 John Wiley & Sons Ltd.
Management of Software Project CSM Software Configuration Management (SCM)
Purpose: The purpose of CMM Integration is to provide guidance for improving your organization’s processes and your ability to manage the development,
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Configuration Management- Basic Concepts. Agenda  Configuration Management process Overview  Process Stages  Planning & Setup  Control  Audit  Case.
Software Configuration Management n Art of coordinating SW development to minimize confusion n Software quality assurance (umbrella) activity n Set of.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Project management Topic 8 Configuration Management.
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
SG Software Configuration Management And CVS scmGalaxy Author: Rajesh Kumar
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
 Software Configuration Management is the process of controlling and monitoring change to work products.  Or  “It is the art of identifying, organizing.
Introduction for the Implementation of Software Configuration Management I thought I knew it all !
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management
Software Project Configuration Management
Chapter 10, Software Configuration Management
Chapter 11: Software Configuration Management
Configuration Management
Software Configuration Management
Chapter 11: Software Configuration Management
Chapter # 6 Software Configuration Management
Software Configuration Management
Presentation transcript:

Software Engineering Modern Approaches Eric Braude and Michael Bernstein

Chapter 6: Configuration Management

The Software Development Lifecycle Planning Maintenance Testing The Software Development Lifecycle Requirements analysis Implementation Learning goals of this chapter What is the purpose of software configuration management? What activities does it consist of? How do you plan for configuration management? What tools are available to support it? How is configuration management handled in large projects, in practice? Design Phase most relevant to this chapter is shown in bold

Software Configuration Management (SCM) Process of identifying, tracking and storing all the artifacts on a project Each artifact referred to a Configuration Item (CI)

SCM Goals

SCM Activities Configuration identification Baselines Change control Version control Configuration audits Configuration status reporting Release management and delivery

Configuration Identification First step in SCM Candidate CI’s include: source and object code project specifications user documentation test plans and data supporting software such as compilers, and editors any artifact that will undergo modification or need to be retrieved at some time after its creation

Baselines Baseline Uses 1. Reproducibility 2. Traceability 3. Reporting

Change Control Set of activities to request, evaluate, approve or disapprove, and implement changes to baselined CI’s Steps: identification and documentation analysis and evaluation approval or disapproval verification, implementation and release

Identification and Documentation Name of requester Description and extent of the change Reason for the change (e.g. defects fixed) Urgency Amount of time required to complete change Impact on other CI’s or impact on the system

Analysis and Evaluation Reason for the change (e.g. bug fix, performance improvement, cosmetic) Number of lines of code changed Complexity Other source files affected Amount of independent testing required to validate the change

Version Control Repository Checkin/Checkout Branching and merging Builds Version labeling

Branching and Merging

Configuration Audits Verify proper procedures are followed, such as formal technical reviews Verify SCM policies, such as those defined by change control, are followed Determine whether a software baseline is comprised of the correct configuration items for example, are there extra items included? Are there items missing? Are the versions of individual items correct? Typically conducted by quality assurance group

Configuration Status Reporting Extraction, arrangement and formation of configuration reports Name and version of CI’s Approval history of changed CI’s Software release contents and comparison between releases Number of changes per CI Average time taken to change a CI

Release Management and Delivery Policies to ensure that once software and documentation is released it is archived safely and reliably, and can always be retrieved for future use

File Status Possibilities in CVS Up-to-date identical with the latest revision in the repository. Locally Modified File has been edited but has not replaced latest revision Needing Patch Someone else has committed newer revision to the repository. Needs Merge You have modified the file but someone else has committed a newer revision to the repository, and. Unknown A temporary file or never added

SCM Systems Subversion CVS Rational Clearcase Microsoft’s SourceSafeTM Perforce www.cmtoday.com/yp/commercial.html

Configuration Management Schedule Month 1 Month 2 Month 3 Month 4 Month 5 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Stable CM Vendor backup plan due CM reviews CM process improvement session Random IV&V audits © 2010 John Wiley & Sons Ltd.

Eclipse Configuration Management Official Eclipse Code Base (CVS) read-only access write access with password SSH General User Commiter © 2010 John Wiley & Sons Ltd.

Eclipse Plug-in Version Numbering First development stream - 1.0.0 Second development stream - 1.0.100 (indicates a bug fix) - 1.1.0 (a new API has been introduced) The plug-in ships as 1.1.0 Third development stream - 1.1.100 (indicates a bug fix) - 2.0.0 (indicates a breaking change) The plug-in ships as 2.0.0 Maintenance stream after 1.1.0 - 1.1.1 The plug-in ships as 1.1.1 http://wiki.eclipse.org/Version_Numbering © 2010 John Wiley & Sons Ltd.

Eclipse Plug-in Version Numbering © 2010 John Wiley & Sons Ltd. http://wiki.eclipse.org/Version_Numbering

Planning Configuration Management 1. Roughly sketch out your SCMP Determine procedures for making changes Omit tool references unless already identified one See the case study for an example 2. Specify what you need from a CM tool For class use, maybe only locking and backup 3. Evaluate affordable tools against needs and budget Commercial tools are in wide use For class use, try free document storage web sites; simple method of checking out, e.g. renaming, can be too simple 5. Finalize your SCMP