Software Configuration Management. Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman



Similar documents
WHAT IS CHANGE MANAGEMENT

Computer programs (both source and executable) Documentation (both technical and user) Data (contained within the program or external to it)

Testing Web Applications. Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman

Software Change Management Chapter 27 Homework 10 Points

copyright 1996, 2001, 2005! R.S. Pressman & Associates, Inc.!

CHAPTER 20 TESING WEB APPLICATIONS. Overview

Software Engineering talk


ORACLE PROJECT MANAGEMENT

Chapter 5. Choose the answer that mostly suits each of the sentences given:

Software Quality Assurance. Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman

Developing Microsoft SharePoint Server 2013 Advanced Solutions

Developing Microsoft SharePoint Server 2013 Advanced Solutions

Appendix 2-A. Application and System Development Requirements

Time Monitoring Tool Software Development Plan. Version <1.1>

Course 20489B: Developing Microsoft SharePoint Server 2013 Advanced Solutions OVERVIEW

The Recipe for Sarbanes-Oxley Compliance using Microsoft s SharePoint 2010 platform

CHAPTER 7 Software Configuration Management

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Design Document Version 0.0

Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

Software Configuration Management Plan

Software Engineering Question Bank

Configuration Management Practices

Developing Microsoft SharePoint Server 2013 Advanced Solutions MOC 20489

Rotorcraft Health Management System (RHMS)

Software Design Document (SDD) Template

Configuration & Build Management

Increasing business values with efficient Software Configuration Management

Website Administration and Development (WSAD)

Claims Management for the London Market

A Guide To Evaluating a Bug Tracking System

Theme 1 Software Processes. Software Configuration Management

DE-20489B Developing Microsoft SharePoint Server 2013 Advanced Solutions

Project Management Planning

Describe how to utilize the Publishing API to access publishing settings and content.

IBM Rational DOORS Next Generation

Service Asset & Configuration Management PinkVERIFY

SOA REFERENCE ARCHITECTURE: WEB TIER

ORACLE HYPERION PUBLIC SECTOR PLANNING AND BUDGETING

Key Benefits of Microsoft Visual Studio Team System

Rapidly Defining a Lean CMMI Maturity Level 3 Process

<workers> Online Claims and Injury Management

International Journal of Advance Research in Computer Science and Management Studies

An introduction to the benefits of Application Lifecycle Management

PM Planning Configuration Management

Boundary Commission for England Website technical development - Statement of Work. Point of Contact for Questions. Project Director.

Repository-Centric Enterprise Architecture

Sparx Systems Enterprise Architect Cloud-based repository hosting

Software Configuration Management

Content Management Using the Rational Unified Process By: Michael McIntosh

Content Management Using Rational Unified Process Part 1: Content Management Defined

MNLARS Project Audit Checklist

Maintenance Performance Toolbox

The Project Management Plan will be used to guide, communicate and coordinate project efforts.

ANSYS EKM Overview. What is EKM?

Process Guide. Release Management. Service Improvement Program (SIP)

Software Test Plan (STP) Template

Authoring Within a Content Management System. The Content Management Story

Developing a Website. Chito N. Angeles Web Technologies: Training for Development and Teaching Resources

ORACLE PROJECT PLANNING AND CONTROL

Sistemi ICT per il Business Networking

Intland s Medical Template

TEMPLATE. U.S. Department of Energy. Project Name. Configuration Management Plan. September 2002 U. S. DEPARTMENT OF ENERGY

Rational Software White Paper

Library Requirements

QDA Q-Management A S I D A T A M Y T E S P E C S H E E T. From stand-alone applications to integrated solutions. Process optimization tool

Ellucian Implementation Methodology. Summary of Project Management and Solution Delivery Phases

Service Desk Edition

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

Chapter 6 Basics of Data Integration. Fundamentals of Business Analytics RN Prasad and Seema Acharya

How To Manage Web Content Management System (Wcm)

WEB PAGE, DIGITAL/MULTIMEDIA AND INFORMATION RESOURCES DESIGN

JOB DESCRIPTION APPLICATION LEAD

Cisco Application Networking for BEA WebLogic

A Platform Independent Testing Tool for Automated Testing of Web Applications

Cisco Application Networking for IBM WebSphere

Software Configuration Management

Corporate Bill Analyzer

Example Software Development Process.

Oracle Data Integrator 11g: Integration and Administration

DATA CENTER INFRASTRUCTURE MANAGEMENT

Topics. Software development invariants. Stakeholders. The accidents of software development. The essence of software development

Pro/INTRALINK 9.0/9.1 Curriculum Guide

SYSTEM DEVELOPMENT AND IMPLEMENTATION

CA Service Desk Manager

Online Transaction Processing in SQL Server 2008

Practitioner Certificate Software Asset Management Syllabus. Version 2.0

MKS Integrity & CMMI. July, 2007

zen Platform technical white paper

Quality Management. Lecture 12 Software quality management

Achieve Economic Synergies by Managing Your Human Capital In The Cloud

Auditing UML Models. This booklet explains the Auditing feature of Enterprise Architect. Copyright Sparx Systems Pty Ltd

Information Security for Modern Enterprises

Transcription:

Chapter 22 Software Configuration Management Slide Set to accompany Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use. 1

The First Law Bersoff, et al, 1980 2

What Are These Changes? business requirements technical requirements user requirements 3

The Software Configuration 4

Baselines The IEEE (IEEE Std. No. 610.12-1990) defines a baseline as: A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures. a baseline is a milestone in the development of software that is marked by the delivery of one or more software configuration items and the approval of these SCIs that is obtained through a formal technical review 5

Baselines modified SCIs Project database Software engineering tasks SCIs Formal technical reviews approved SCIs stored SCIs SCM controls extracted SCIs BASELINES: System Specification Software Requirements Design Specification Source Code Test Plans/Procedures/Data Operational System 6

Software Configuration Objects Data model Design specification data design architectural design module design interface design Component N Test specification interface description algorithm description PDL test plan test procedure test cases Source code 7

SCM Repository The SCM repository is the set of mechanisms and data structures that allow a software team to manage change in an effective manner The repository performs or precipitates the following functions [For89]: Data integrity Information sharing Tool integration Data integration Methodology enforcement Document standardization 8

Repository Content business rules business functions organization structure information architecture Business Content use-cases analysis model scenario-based diagrams flow-oriented diagrams class-based diagrams behavioral diagrams design model architectural diagrams interface diagrams component-level diagrams technical metrics Model Content Construction Content source code object code system build instructions V&V Content test cases test scripts test results quality metrics Project Management project estimates Content project schedule SCM requirements change requests change reports SQA requirements project reports/audit reports project metrics Documents Project Plan SCM/SQA Plan System Spec Requirements Spec Design Document Test Plan and Procedure Support documents User manual 9

Repository Features Versioning. saves all of these versions to enable effective management of product releases and to permit developers to go back to previous versions Dependency tracking and change management. The repository manages a wide variety of relationships among the data elements stored in it. Requirements tracing. Provides the ability to track all the design and construction components and deliverables that result from a specific requirement specification Configuration management. Keeps track of a series of configurations representing specific project milestones or production releases. Version management provides the needed versions, and link management keeps track of interdependencies. Audit trails. establishes additional information about when, why, and by whom changes are made. 10

SCM Elements Component elements a set of tools coupled within a file management system (e.g., a database) that enables access to and management of each software configuration item. Process elements a collection of procedures and tasks that define an effective approach to change management (and related activities) for all constituencies involved in the management, engineering and use of computer software. Construction elements a set of tools that automate the construction of software by ensuring that the proper set of validated components (i.e., the correct version) have been assembled. Human elements to implement effective SCM, the software team uses a set of tools and process features (encompassing other CM elements) 11

The SCM Process How does a software team identify the discrete elements of a software configuration? How does an organization manage the many existing versions of a program (and its documentation) in a manner that will enable change to be accommodated efficiently? How does an organization control changes before and after software is released to a customer? Who has responsibility for approving and ranking changes? How can we ensure that changes have been made properly? What mechanism is used to appraise others of changes that are made? 12

The SCM Process Software Vm.n reporting configuration auditing version control change control identification SCIs 13

Version Control Version control combines procedures and tools to manage different versions of configuration objects that are created during the software process A version control system implements or is directly integrated with four major capabilities: a project database (repository) that stores all relevant configuration objects a version management capability that stores all versions of a configuration object (or enables any version to be constructed using differences from past versions); a make facility that enables the software engineer to collect all relevant configuration objects and construct a specific version of the software. an issues tracking (also called bug tracking) capability that enables the team to record and track the status of all outstanding issues associated with each configuration object. 14

Change Control 15

Change Control Process I 16

Change Control Process-II 17

Change Control Process-III 18

Auditing 19

Status Accounting 20

SCM for Web Engineering-I Content. A typical WebApp contains a vast array of content text, graphics, applets, scripts, audio/video files, forms, active page elements, tables, streaming data, and many others. The challenge is to organize this sea of content into a rational set of configuration objects (Section 27.1.4) and then establish appropriate configuration control mechanisms for these objects. People. Because a significant percentage of WebApp development continues to be conducted in an ad hoc manner, any person involved in the WebApp can (and often does) create content. 21

SCM for Web Engineering-II Scalability. As size and complexity grow, small changes can have farreaching and unintended affects that can be problematic. Therefore, the rigor of configuration control mechanisms should be directly proportional to application scale. Politics. Who ʻownsʼ a WebApp? Who assumes responsibility for the accuracy of the information on the Web site? Who assures that quality control processes have been followed before information is published to the site? Who is responsible for making changes? Who assumes the cost of change? 22

Content Management-I The collection subsystem encompasses all actions required to create and/or acquire content, and the technical functions that are necessary to convert content into a form that can be represented by a mark-up language (e.g., HTML, XML organize content into packets that can be displayed effectively on the client-side. The management subsystem implements a repository that encompasses the following elements: Content database the information structure that has been established to store all content objects Database capabilities functions that enable the CMS to search for specific content objects (or categories of objects), store and retrieve objects, and manage the file structure that has been established for the content Configuration management functions the functional elements and associated workflow that support content object identification, version control, change management, change auditing, and reporting. 23

Content Management-II The publishing subsystem extracts from the repository, converts it to a form that is amenable to publication, and formats it so that it can be transmitted to client-side browsers. The publishing subsystem accomplishes these tasks using a series of templates. Each template is a function that builds a publication using one of three different components [BOI02]: Static elements text, graphics, media, and scripts that require no further processing are transmitted directly to the client-side Publication services function calls to specific retrieval and formatting services that personalize content (using predefined rules), perform data conversion, and build appropriate navigation links. External services provide access to external corporate information infrastructure such as enterprise data or backroom applications. 24

Content Management configuration objects database Content Management System templates HTML code + scripts client-side browser server-side 25

Change Management for WebApps-I classify the requested change class 1 change class 4 change class 2 change acquire related objects assess impact of change class 3 change develop brief written description of change develop brief written description of change changes required in related objects transmit to all team members for review transmit to all stakeholders for review further evaluation is required OK to make further evaluation is required OK to make 26

Change Management for WebApps-II check out object(s) to be changed make changes design, construct, test check in object(s) that were changed publish to WebApp 27