Chapter 25 – Configuration Management
Chapter 25 Configuration management
1
11/12/2014
Topics covered
Version management
System building
Change management
Release management
Chapter 25 Configuration management
2
11/12/2014
Configuration management
Software systems are constantly changing during development and use.
Configuration management (CM) is concerned with the policies, processes and tools for managing changing software systems.
You need CM because it is easy to lose track of what changes and component versions have been incorporated into each system version.
CM is essential for team projects to control changes made by different developers
Chapter 25 Configuration management
3
11/12/2014
CM activities
Version management
Keeping track of the multiple versions of system components and ensuring that changes made to components by different developers do not interfere with each other.
System building
The process of assembling program components, data and libraries, then compiling these to create an executable system.
Change management
Keeping track of requests for changes to the software from customers and developers, working out the costs and impact of changes, and deciding the changes should be implemented.
Release management
Preparing software for external release and keeping track of the system versions that have been released for customer use.
Chapter 25 Configuration management
4
11/12/2014
Configuration management activities
Chapter 25 Configuration management
5
11/12/2014
Agile development and CM
Agile development, where components and systems are changed several times per day, is impossible without using CM tools.
The definitive versions of components are held in a shared project repository and developers copy these into their own workspace.
They make changes to the code then use system building tools to create a new system on their own computer for testing. Once they are happy with the changes made, they return the modified components to the project repository.
11/12/2014
Chapter 25 Configuration management
6
Development phases
A development phase where the development team is responsible for managing the software configuration and new functionality is being added to the software.
A system testing phase where a version of the system is released internally for testing.
No new system functionality is added. Changes made are bug fixes, performance improvements and security vulnerability repairs.
A release phase where the software is released to customers for use.
New versions of the released system are developed to repair bugs and vulnerabilities and to include new features.
11/12/2014
Chapter 25 Configuration management
7
Multi-version systems
For large systems, there is never just one ‘working’ version of a system.
There are always several versions of the system at different stages of development.
There may be several teams involved in the development of different system versions.
11/12/2014
Chap ...
Chapter 25 – Configuration Management
Chapter 25 Configuration management
1
11/12/2014
Topics covered
Version management
System building
Change management
Release management
Chapter 25 Configuration management
2
11/12/2014
Configuration management
Software systems are constantly changing during development and use.
Configuration management (CM) is concerned with the policies, processes and tools for managing changing software systems.
You need CM because it is easy to lose track of what changes and component versions have been incorporated into each system version.
CM is essential for team projects to control changes made by different developers
Chapter 25 Configuration management
3
11/12/2014
CM activities
Version management
Keeping track of the multiple versions of system components and ensuring that changes made to components by different developers do not interfere with each other.
System building
The process of assembling program components, data and libraries, then compiling these to create an executable system.
Change management
Keeping track of requests for changes to the software from customers and developers, working out the costs and impact of changes, and deciding the changes should be implemented.
Release management
Preparing software for external release and keeping track of the system versions that have been released for customer use.
Chapter 25 Configuration management
4
11/12/2014
Configuration management activities
Chapter 25 Configuration management
5
11/12/2014
Agile development and CM
Agile development, where components and systems are changed several times per day, is impossible without using CM tools.
The definitive versions of components are held in a shared project repository and developers copy these into their own workspace.
They make changes to the code then use system building tools to create a new system on their own computer for testing. Once they are happy with the changes made, they return the modified components to the project repository.
11/12/2014
Chapter 25 Configuration management
6
Development phases
A development phase where the development team is responsible for managing the software configuration and new functionality is being added to the software.
A system testing phase where a version of the system is released internally for testing.
No new system functionality is added. Changes made are bug fixes, performance improvements and security vulnerability repairs.
A release phase where the software is released to customers for use.
New versions of the released system are developed to repair bugs and vulnerabilities and to include new features.
11/12/2014
Chapter 25 Configuration management
7
Multi-version systems
For large systems, there is never just one ‘working’ version of a system.
There are always several versions of the system at different stages of development.
There may be several teams involved in the development of different system versions.
11/12/2014
Chap ...
DevOps is a set of practices that aims to provide superior quality software quickly by integrating the processes between the development and the operation teams. DevOps is an agile relationship between development and IT operations. DevOps is the abbreviation for Development and Operations. The development includes Plan, Create, Verify and Package. Operations include Release, Configure, and Monitor.
DevOps is a set of practices that aims to provide superior quality software quickly by integrating the processes between the development and the operation teams. DevOps is an agile relationship between development and IT operations. DevOps is the abbreviation for Development and Operations. The development includes Plan, Create, Verify and Package. Operations include Release, Configure, and Monitor.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
Azure Interview Questions and Answers PDF By ScholarHat
BSG SE4201 Software Configuration Management and Maintenance Lesson 1 November 2021.pptx
1. Lesson 1
Bashir S. Galadanci
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 1
2. Introduction
Course Information
Why Configuration Management (CM)?
What is CM?
Who is CM For?
CM Activities
Tool Support
Multi-Version Systems
CM Terminology
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 2
3. Course Title: Software Configuration Management
and Maintenance
Course Lecturer: Bashir S. Galadanci
Course Delivery: Face-to-Face and Online
(Through Zoom)
Recommended Textbook: Sommerville 10th Edition
Presentations: Adapted from Sommerville Slides
(from the author’s website)
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 3
4. Software systems are constantly changing during
development and use for the following reasons:
Bugs are discovered and have to be fixed.
System requirements change, and you have to implement
these changes in a new version of the system.
New versions of hardware and system platforms are
released, and you have to adapt your systems to work with
them.
Competitors introduce new features in their system that
you have to match.
As changes are made to the software, a new version of a
system is created. Most systems, therefore, can be thought
of as a set of versions, each of which may have to be
maintained and managed.
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 4
5. Configuration management (CM) is concerned with
the policies, processes, and tools for managing
changing software systems (Aiello and Sachs 2011).
You need to manage evolving systems because it is
easy to lose track of what changes and component
versions have been incorporated into each system
version.
If you don’t have effective configuration management
procedures in place, you may waste effort modifying
the wrong version of a system, delivering the wrong
version of a system to customers, or forgetting where
the software source code for a particular version of
the system or component is stored.
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 5
6. Configuration management is useful for
individual projects as it is easy for one person
to forget what changes have been made.
It is essential for team projects where several
developers are working at the same time on a
software system.
Sometimes these developers are all working
in the same place, but, increasingly,
development teams are distributed with
members in different locations across the
world.
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 6
7. Version management
◦ Keeping track of the multiple versions of system components and
ensuring that changes made to components by different
developers do not interfere with each other.
System building
◦ The process of assembling program components, data and
libraries, then compiling these to create an executable system.
Change management
◦ Keeping track of requests for changes to the software from
customers and developers, working out the costs and impact of
changes, and deciding the changes should be implemented.
Release management
◦ Preparing software for external release and keeping track of the
system versions that have been released for customer use.
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 7
9. Because of the large volume of information to be
managed and the relationships between configuration
items, tool support is essential for configuration
management.
Configuration management tools are used to:
store versions of system components,
build systems from these components,
track the releases of system versions to customers,
and keep track of change proposals.
CM tools range from simple tools that support a single
configuration management task, such as bug tracking,
to integrated environments that support all
configuration management activities.
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 9
10. Agile development, where components and
systems are changed several times per day, is
impossible without using CM tools.
The definitive versions of components are held in
a shared project repository and developers copy
these into their own workspace.
They make changes to the code then use system
building tools to create a new system on their
own computer for testing. Once they are happy
with the changes made, they return the modified
components to the project repository.
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 10
11. A development phase where the development
team is responsible for managing the software
configuration and new functionality is being
added to the software.
A system testing phase where a version of the
system is released internally for testing.
◦ No new system functionality is added. Changes made are
bug fixes, performance improvements and security
vulnerability repairs.
A release phase where the software is released to
customers for use.
◦ New versions of the released system are developed to
repair bugs and vulnerabilities and to include new
features.
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 11
12. For large systems, there is never just one
‘working’ version of a system.
There are always several versions of the
system at different stages of development.
There may be several teams involved in the
development of different system versions.
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 12
14. Term Explanation
Baseline A baseline is a collection of component versions that make up a system.
Baselines are controlled, which means that the versions of the
components making up the system cannot be changed. This means that
it is always possible to recreate a baseline from its constituent
components.
Branching The creation of a new codeline from a version in an existing codeline.
The new codeline and the existing codeline may then develop
independently.
Codeline A codeline is a set of versions of a software component and other
configuration items on which that component depends.
Configuration
(version) control
The process of ensuring that versions of systems and components are
recorded and maintained so that changes are managed and all versions
of components are identified and stored for the lifetime of the system.
Configuration item or
software configuration
item (SCI)
Anything associated with a software project (design, code, test data,
document, etc.) that has been placed under configuration control. There
are often different versions of a configuration item. Configuration items
have a unique name.
Mainline A sequence of baselines representing different versions of a system.
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 14
15. Term Explanation
Merging The creation of a new version of a software component by merging
separate versions in different codelines. These codelines may have
been created by a previous branch of one of the codelines involved.
Release A version of a system that has been released to customers (or other
users in an organization) for use.
Repository A shared database of versions of software components and meta-
information about changes to these components.
System building The creation of an executable system version by compiling and linking
the appropriate versions of the components and libraries making up the
system.
Version An instance of a configuration item that differs, in some way, from other
instances of that item. Versions always have a unique identifier.
Workspace A private work area where software can be modified without affecting
other developers who may be using or modifying that software.
18/12/2021
Software Configuration
Management and Maintenance
Lesson 1 15
16. If there are any questions, please ask at the
beginning of the next lesson ??
Software Configuration Management
and Maintenance Lesson 1 16
18/12/2021