SlideShare a Scribd company logo
Software Configuration
Management
Matakuliah Rekayasa Perangkat Lunak (CS215) – Gasal 2015/2016
Magister Ilmu Komputer - Universitas Budi Luhur
Achmad Solichin, S.Kom, M.T.I (achmatim@gmail.com)
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Overview
• Software Configuration Items
• SCM International Standard
• Software Configuration identification
• Software Configuration version control
• Software Configuration change control
• Software Configuration auditing
• Software Configuration reporting
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
The “First Law” of System Engineering
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]
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Source of Change
• New business or market conditions
• New stakeholder needs demand modification
• Reorganization or business growth/downsizing
• Budgetary or scheduling
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Software Change Management
Software configuration management (SCM), also called change
management, is a set of activities designed to manage change by
identifying the work products that are likely to change, establishing
relationships among them, defining mechanisms for managing
different versions of these work products, controlling the changes
imposed, and auditing and reporting on the changes made.
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Purpose of SCM
• Identify change
• Control change
• Ensure that change is being properly implemented
• Report changes to others who may have an interest
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
7
The Software Configuration
programs documents
data
The pieces
Baseline
• 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
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Baseline
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Software Configuration Objects
• SCIs are organized to form configuration objects that may be cataloged in
the project database with a single name
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
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
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
SCM Repository
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
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.
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
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)
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
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 …
SCM Process
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Version Control
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• 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.
ConcurrentVersions System (CVS)
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• The CVS is a widely used tool for version control
• Originally designed for source code, but useful for any text-based
file, the CVS system:
• establishes a simple repository,
• maintains all versions of a file in a single named file by storing only the
differences between progressive versions of the original file, and
• protects against simultaneous changes to a file by establishing different
directories for each developer, thus insulating one from another.
• CVS is available at no cost forWindows, Mac OS, LINUX, and
UNIX environments http://savannah.nongnu.org/projects/cvs
Change Control
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• Change control is vital. But the forces that make it necessary also
make it annoying. We worry about change because a tiny
perturbation in the code can create a big failure in the product.
But it can also fix a big failure or enable wonderful new
capabilities. We worry about change because a single rogue
developer could sink the project; yet brilliant ideas originate in
the minds of those rogues, and a burdensome change control
process could effectively discourage them from doing creative
work [Bac98]
• Too much change control and we create problems.Too little, and
we create other problems
Lecture 06 Software Configuration Management
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
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
SCM forWeb Engineering
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• 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 and then establish appropriate configuration
control mechanisms for these objects.
• People.
• Because a significant percentage ofWebApp development continues to
be conducted in an ad hoc manner, any person involved in the WebApp
can (and often does) create content.
SCM forWeb Engineering
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• 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’ aWebApp?
• 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?
Content Management
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• 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.
Content Management
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
• 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.
Content Management System
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Change Management forWeb Apps
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
References
• Roger S. Pressman, 2010, Software Engineering: A Practitioner’s Approach
7th edition, McGraw-Hill.
• Ian Sommerville, 2011, Software Engineering 9th edition, Addison-Wesley.
• Other references
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
Thanks
• Achmad Solichin, S.Kom, M.T.I
• achmatim@gmail.com
• Twitter: @achmatim
• Facebook: facebook.com/achmatim
• Web: http://achmatim.net
CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur

More Related Content

PPT
Configuration Management
PPT
A Brief Introduction to Software Configuration Management
PPTX
Software Configuration Management
PPTX
Software Configuration Management (SCM)
PPT
Introduction To Software Configuration Management
PPTX
software configuration management ppt
PPT
Configuration Management
PPTX
Software Configuration Management (SCM)
Configuration Management
A Brief Introduction to Software Configuration Management
Software Configuration Management
Software Configuration Management (SCM)
Introduction To Software Configuration Management
software configuration management ppt
Configuration Management
Software Configuration Management (SCM)

What's hot (20)

PPTX
Software configuration items
PPT
PPTX
Software configuration management
PPT
Software Configuration Management
PPT
Software configuration management
PPT
software configuratiom management role n resposnbilities
PPTX
Configuration management
PDF
Software configuration management in deep
PPTX
Software Configuration Management
PDF
Configuration Management
PPTX
Software configuration management
PPT
Configuration Management
PDF
SE2_Lec 22_Software Configuration Management
PPTX
Software Configuration Management
PPT
Software Configuration Management
PPT
Software maintenance and configuration management, software engineering
PPTX
Software Configuration Management
PPTX
Software re engineering
PDF
Configuration Management Best Practices
PDF
Change And Configuration Management Market Volume Analysis, size, share and K...
Software configuration items
Software configuration management
Software Configuration Management
Software configuration management
software configuratiom management role n resposnbilities
Configuration management
Software configuration management in deep
Software Configuration Management
Configuration Management
Software configuration management
Configuration Management
SE2_Lec 22_Software Configuration Management
Software Configuration Management
Software Configuration Management
Software maintenance and configuration management, software engineering
Software Configuration Management
Software re engineering
Configuration Management Best Practices
Change And Configuration Management Market Volume Analysis, size, share and K...
Ad

Viewers also liked (20)

PDF
software configuration management
ZIP
Software Configuration Management
PDF
BW+KKS=BCO
KEY
Starting java fx
PPT
Data flow diagram for order system
PDF
Java fx tools
PPT
Improving Your Interview Skills for Residency 2007
PDF
Atomic CLI scan
PDF
Networking Overview for Docker Platform
PDF
Docker serverless v1.0
PDF
What's New in Docker 1.12?
PPTX
Data Flow Diagram (DFD)
PPTX
Docker Security Overview
PPTX
Interview Skills
PPTX
Logo design.ppt
PPT
Data Flow Diagram
PPT
Design concepts and principles
PPTX
Dfd examples
PPT
How to make effective presentation
software configuration management
Software Configuration Management
BW+KKS=BCO
Starting java fx
Data flow diagram for order system
Java fx tools
Improving Your Interview Skills for Residency 2007
Atomic CLI scan
Networking Overview for Docker Platform
Docker serverless v1.0
What's New in Docker 1.12?
Data Flow Diagram (DFD)
Docker Security Overview
Interview Skills
Logo design.ppt
Data Flow Diagram
Design concepts and principles
Dfd examples
How to make effective presentation
Ad

Similar to Lecture 06 Software Configuration Management (20)

PDF
Unit 6 Software Configuration Management
PPT
Software configuration management, Web engineering
PPT
Mod5-SCM.ppt
PPT
Mod5-SCM.ppt
PPT
Fa10 mcs-005
PPTX
Software Configuration Management PPT for Software Engg
PPT
lecture14.ppt
PPT
Software Configuration Management introduction
PPTX
Configuration Managment Powerpoint
PPT
PPT
PPTX
SE-Lecture-8.pptx
PPT
Software configuration management of students
PPT
Software Engineering (Software Configuration Management)
PDF
chapter no 2softwareprocess-160107000546.f
PDF
SE2018_Lec 21_ Software Configuration Management (SCM)
PPTX
Lecture 02 Software Process Model
PPTX
Software process
PPTX
Course Lecture Slide about object oriented programming
PPT
Bse 3105 lecture 6-configuration management
Unit 6 Software Configuration Management
Software configuration management, Web engineering
Mod5-SCM.ppt
Mod5-SCM.ppt
Fa10 mcs-005
Software Configuration Management PPT for Software Engg
lecture14.ppt
Software Configuration Management introduction
Configuration Managment Powerpoint
SE-Lecture-8.pptx
Software configuration management of students
Software Engineering (Software Configuration Management)
chapter no 2softwareprocess-160107000546.f
SE2018_Lec 21_ Software Configuration Management (SCM)
Lecture 02 Software Process Model
Software process
Course Lecture Slide about object oriented programming
Bse 3105 lecture 6-configuration management

More from Achmad Solichin (20)

PDF
Kuliah Umum - Tips Publikasi Jurnal SINTA untuk Mahasiswa Galau (6 Agustus 2022)
PDF
Materi Webinar Web 3.0 (16 Juli 2022)
PDF
Webinar: Kesadaran Keamanan Informasi (3 Desember 2021)
PPTX
Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)
PDF
Webinar PHP-ID: Machine Learning dengan PHP
PPTX
Webinar Data Mining dengan Rapidminer | Universitas Budi Luhur
PPTX
TREN DAN IDE RISET BIDANG DATA MINING TERBARU
PPTX
Metodologi Riset: Literature Review
PPTX
Materi Seminar: Artificial Intelligence dengan PHP
PPTX
Percobaan Perpindahan Kalor melalui Konduksi, Konveksi dan Radiasi
PDF
Metodologi Riset: Literature Review
PPTX
Depth First Search (DFS) pada Graph
PPTX
Breadth First Search (BFS) pada Graph
PPTX
Binary Search Tree (BST) - Algoritma dan Struktur Data
PPTX
Computer Vision di Era Industri 4.0
PDF
Seminar: Become a Reliable Web Programmer
PPTX
The Big 5: Future IT Trends
PDF
Modern PHP Developer
PPTX
Seminar: PHP Developer for Dummies
PPT
Pertemuan 1 - Algoritma dan Struktur Data 1
Kuliah Umum - Tips Publikasi Jurnal SINTA untuk Mahasiswa Galau (6 Agustus 2022)
Materi Webinar Web 3.0 (16 Juli 2022)
Webinar: Kesadaran Keamanan Informasi (3 Desember 2021)
Webinar PHP-ID: Mari Mengenal Logika Fuzzy (Fuzzy Logic)
Webinar PHP-ID: Machine Learning dengan PHP
Webinar Data Mining dengan Rapidminer | Universitas Budi Luhur
TREN DAN IDE RISET BIDANG DATA MINING TERBARU
Metodologi Riset: Literature Review
Materi Seminar: Artificial Intelligence dengan PHP
Percobaan Perpindahan Kalor melalui Konduksi, Konveksi dan Radiasi
Metodologi Riset: Literature Review
Depth First Search (DFS) pada Graph
Breadth First Search (BFS) pada Graph
Binary Search Tree (BST) - Algoritma dan Struktur Data
Computer Vision di Era Industri 4.0
Seminar: Become a Reliable Web Programmer
The Big 5: Future IT Trends
Modern PHP Developer
Seminar: PHP Developer for Dummies
Pertemuan 1 - Algoritma dan Struktur Data 1

Recently uploaded (20)

PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Institutional Correction lecture only . . .
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Insiders guide to clinical Medicine.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
RMMM.pdf make it easy to upload and study
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Cell Types and Its function , kingdom of life
PPTX
GDM (1) (1).pptx small presentation for students
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Classroom Observation Tools for Teachers
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Computing-Curriculum for Schools in Ghana
Institutional Correction lecture only . . .
VCE English Exam - Section C Student Revision Booklet
O5-L3 Freight Transport Ops (International) V1.pdf
Insiders guide to clinical Medicine.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Microbial diseases, their pathogenesis and prophylaxis
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Module 4: Burden of Disease Tutorial Slides S2 2025
Microbial disease of the cardiovascular and lymphatic systems
102 student loan defaulters named and shamed – Is someone you know on the list?
RMMM.pdf make it easy to upload and study
Complications of Minimal Access Surgery at WLH
Cell Types and Its function , kingdom of life
GDM (1) (1).pptx small presentation for students
Supply Chain Operations Speaking Notes -ICLT Program
Classroom Observation Tools for Teachers
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...

Lecture 06 Software Configuration Management

  • 1. Software Configuration Management Matakuliah Rekayasa Perangkat Lunak (CS215) – Gasal 2015/2016 Magister Ilmu Komputer - Universitas Budi Luhur Achmad Solichin, S.Kom, M.T.I (achmatim@gmail.com) CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 2. Overview • Software Configuration Items • SCM International Standard • Software Configuration identification • Software Configuration version control • Software Configuration change control • Software Configuration auditing • Software Configuration reporting CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 3. The “First Law” of System Engineering 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] CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 4. Source of Change • New business or market conditions • New stakeholder needs demand modification • Reorganization or business growth/downsizing • Budgetary or scheduling CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 5. Software Change Management Software configuration management (SCM), also called change management, is a set of activities designed to manage change by identifying the work products that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made. CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 6. Purpose of SCM • Identify change • Control change • Ensure that change is being properly implemented • Report changes to others who may have an interest CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 7. 7 The Software Configuration programs documents data The pieces
  • 8. Baseline • 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 CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 9. Baseline CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 10. Software Configuration Objects • SCIs are organized to form configuration objects that may be cataloged in the project database with a single name CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 11. 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 CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 12. SCM Repository CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 13. 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. CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 14. 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) CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 15. 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 …
  • 16. SCM Process CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 17. Version Control CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • 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.
  • 18. ConcurrentVersions System (CVS) CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • The CVS is a widely used tool for version control • Originally designed for source code, but useful for any text-based file, the CVS system: • establishes a simple repository, • maintains all versions of a file in a single named file by storing only the differences between progressive versions of the original file, and • protects against simultaneous changes to a file by establishing different directories for each developer, thus insulating one from another. • CVS is available at no cost forWindows, Mac OS, LINUX, and UNIX environments http://savannah.nongnu.org/projects/cvs
  • 19. Change Control CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • Change control is vital. But the forces that make it necessary also make it annoying. We worry about change because a tiny perturbation in the code can create a big failure in the product. But it can also fix a big failure or enable wonderful new capabilities. We worry about change because a single rogue developer could sink the project; yet brilliant ideas originate in the minds of those rogues, and a burdensome change control process could effectively discourage them from doing creative work [Bac98] • Too much change control and we create problems.Too little, and we create other problems
  • 21. 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
  • 22. 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
  • 23. SCM forWeb Engineering CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • 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 and then establish appropriate configuration control mechanisms for these objects. • People. • Because a significant percentage ofWebApp development continues to be conducted in an ad hoc manner, any person involved in the WebApp can (and often does) create content.
  • 24. SCM forWeb Engineering CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • 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’ aWebApp? • 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?
  • 25. Content Management CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • 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.
  • 26. Content Management CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur • 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.
  • 27. Content Management System CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 28. Change Management forWeb Apps CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 29. References • Roger S. Pressman, 2010, Software Engineering: A Practitioner’s Approach 7th edition, McGraw-Hill. • Ian Sommerville, 2011, Software Engineering 9th edition, Addison-Wesley. • Other references CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur
  • 30. Thanks • Achmad Solichin, S.Kom, M.T.I • achmatim@gmail.com • Twitter: @achmatim • Facebook: facebook.com/achmatim • Web: http://achmatim.net CS215 – Rekayasa Perangkat Lunak – Magister Ilmu Komputer Universitas Budi Luhur