SlideShare a Scribd company logo
1 of 27
1
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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.
2
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
The “First Law”
No matter where you are in the system
life cycle, the system will change, and the
desire to change it will persist throughout
the life cycle.
Bersoff, et al, 1980
3
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
What Are These Changes?
data
other
documents
code
Test
Project
Plan
changes in
technical requirements
changes in
business requirements
changes in
user requirements
software models
4
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
The Software Configuration
programs documents
data
The pieces
5
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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
6
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Baselines
7
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Software Configuration Objects
8
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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
9
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Repository Content
10
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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.
11
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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)
12
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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?
Addresses the following questions …
13
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
The SCM Process
14
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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.
15
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Change Control
STOP
16
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Change Control Process—I
change request from user
developer evaluates
change report is generated
change control authority decides
request is queued for action
change request is denied
user is informed
need for change is recognized
change control process—II
17
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Change Control Process-II
assign people to SCIs
check-out SCIs
make the change
review/audit the change
establish a “baseline” for testing
change control process—III
18
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Change Control Process-III
perform SQA and testing activities
promote SCI for inclusion in next release
rebuild appropriate version
review/audit the change
include all changes in release
check-in the changed SCIs
19
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Auditing
SCIs
Change
Requests SQA
Plan
SCM Audit
20
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Status Accounting
SCIs
Change
Requests
Change
Reports ECOs
Status Accounting
Reporting
21
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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.
22
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
SCM for Web Engineering-II
 Scalability.
 As size and complexity grow, small changes can have far-
reaching 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?
23
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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.
24
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
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 “back-
room” applications.
25
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Content Management
26
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Change Management for WebApps-I
27
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Change Management for WebApps-II

More Related Content

What's hot

Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 
Unit iii(part c - user interface design)
Unit   iii(part c - user interface design)Unit   iii(part c - user interface design)
Unit iii(part c - user interface design)BALAJI A
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelssaurabhshertukde
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle ModelJ.T.A.JONES
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementPratik Tandel
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementfizamustanser
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project managementjhudyne
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9Ian Sommerville
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressmanRohitGoyal183
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
Software design patterns ppt
Software design patterns pptSoftware design patterns ppt
Software design patterns pptmkruthika
 
Introdução a Gerência de Configuração
Introdução a Gerência de ConfiguraçãoIntrodução a Gerência de Configuração
Introdução a Gerência de ConfiguraçãoIgor Takenami
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 

What's hot (20)

SDLC, Iterative Model
SDLC, Iterative ModelSDLC, Iterative Model
SDLC, Iterative Model
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Unit iii(part c - user interface design)
Unit   iii(part c - user interface design)Unit   iii(part c - user interface design)
Unit iii(part c - user interface design)
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Slides chapter 9
Slides chapter 9Slides chapter 9
Slides chapter 9
 
Unit 2
Unit 2Unit 2
Unit 2
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
 
Software quality
Software qualitySoftware quality
Software quality
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Software design patterns ppt
Software design patterns pptSoftware design patterns ppt
Software design patterns ppt
 
Introdução a Gerência de Configuração
Introdução a Gerência de ConfiguraçãoIntrodução a Gerência de Configuração
Introdução a Gerência de Configuração
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2
 
Chapter 13
Chapter 13Chapter 13
Chapter 13
 

Similar to SE Ch 22 Slides: Software Configuration Management

TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.pptFawazHussain4
 
SE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERINGSE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERINGAbrar ali
 
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.pptChapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.pptBule Hora University
 
Chapter_03.ppt
Chapter_03.pptChapter_03.ppt
Chapter_03.pptoluobes
 
estimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptxestimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptxubaidullah75790
 
005614116.pdf
005614116.pdf005614116.pdf
005614116.pdfEidTahir
 
Chapter 08
Chapter 08Chapter 08
Chapter 08guru3188
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Chapter_32.ppt
Chapter_32.pptChapter_32.ppt
Chapter_32.pptnathansel1
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management ConceptsSaqib Raza
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1Abhimanyu Mishra
 

Similar to SE Ch 22 Slides: Software Configuration Management (20)

TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.ppt
 
Chapter_25.ppt
Chapter_25.pptChapter_25.ppt
Chapter_25.ppt
 
ch3.pptx
ch3.pptxch3.pptx
ch3.pptx
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
SE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERINGSE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERING
 
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.pptChapter 2_Process Models sunorgamisedASE_finalised.ppt
Chapter 2_Process Models sunorgamisedASE_finalised.ppt
 
Chapter_07.pptx
Chapter_07.pptxChapter_07.pptx
Chapter_07.pptx
 
Chapter_03.ppt
Chapter_03.pptChapter_03.ppt
Chapter_03.ppt
 
estimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptxestimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptx
 
Ch01 SE
Ch01 SECh01 SE
Ch01 SE
 
005614116.pdf
005614116.pdf005614116.pdf
005614116.pdf
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Chapter_32.ppt
Chapter_32.pptChapter_32.ppt
Chapter_32.ppt
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
 
Software Design.pptx
Software Design.pptxSoftware Design.pptx
Software Design.pptx
 
Chapter_14 sp1718.ppt
Chapter_14 sp1718.pptChapter_14 sp1718.ppt
Chapter_14 sp1718.ppt
 
software
softwaresoftware
software
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

SE Ch 22 Slides: Software Configuration Management

  • 1. 1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 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.
  • 2. 2 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. The “First Law” No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle. Bersoff, et al, 1980
  • 3. 3 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. What Are These Changes? data other documents code Test Project Plan changes in technical requirements changes in business requirements changes in user requirements software models
  • 4. 4 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. The Software Configuration programs documents data The pieces
  • 5. 5 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 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
  • 6. 6 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Baselines
  • 7. 7 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Software Configuration Objects
  • 8. 8 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 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
  • 9. 9 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Repository Content
  • 10. 10 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 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.
  • 11. 11 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 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)
  • 12. 12 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 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? Addresses the following questions …
  • 13. 13 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. The SCM Process
  • 14. 14 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 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.
  • 15. 15 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Change Control STOP
  • 16. 16 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Change Control Process—I change request from user developer evaluates change report is generated change control authority decides request is queued for action change request is denied user is informed need for change is recognized change control process—II
  • 17. 17 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Change Control Process-II assign people to SCIs check-out SCIs make the change review/audit the change establish a “baseline” for testing change control process—III
  • 18. 18 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Change Control Process-III perform SQA and testing activities promote SCI for inclusion in next release rebuild appropriate version review/audit the change include all changes in release check-in the changed SCIs
  • 19. 19 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Auditing SCIs Change Requests SQA Plan SCM Audit
  • 20. 20 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Status Accounting SCIs Change Requests Change Reports ECOs Status Accounting Reporting
  • 21. 21 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 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.
  • 22. 22 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. SCM for Web Engineering-II  Scalability.  As size and complexity grow, small changes can have far- reaching 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?
  • 23. 23 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 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.
  • 24. 24 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 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 “back- room” applications.
  • 25. 25 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Content Management
  • 26. 26 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Change Management for WebApps-I
  • 27. 27 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. Change Management for WebApps-II