© 2012 Václav Rajlich Software Engineering: The Current Practice Ch. 111 11 Conclusion of software change The last phase of software change The activities.

Slides:



Advertisements
Similar presentations
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.
Advertisements

Beta Testing: The Contractor’s Perspective Trns·port User Group Meeting October 2005.
2 Software life span models Stages through which software goes, from conception to death Stages may be very different Software = product –stages are similar.
© 2012 Václav Rajlich Software Engineering: The Current Practice Ch Initial development First stage in software lifespan Makes the fundamental.
Software Configuration Management Donna Albino LIS489, December 3, 2014.
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
10 Verification All changes in the code have to be verified –refactoring –actualization Essential difficulties –programmers very often produce imperfect.
Software Configuration Management
SE 555 Software Requirements & Specification Requirements Management.
Quality is about testing early and testing often Joe Apuzzo, Ngozi Nwana, Sweety Varghese Student/Faculty Research Day CSIS Pace University May 6th, 2005.
CS CS 5150 Software Engineering Lecture 21 Reliability 3.
When will our bugs be fixed? When will our new features be added? When will the next release come out? Is my server up-to-date? Users Committers Program.
7 Impact analysis (IA) Determines the strategy and impact of change Classes identified in concept location are the initial impact set Class dependencies.
5 Introduction to software change Software change (SC) is the process of adding new functionality to existing code Foundation of software evolution, servicing.
Configuration Management
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Chapter 16 Maintaining Information Systems
Michael Solomon Tugboat Software Managing the Software Development Process.
CS4723 Software Validation and Quality Assurance Lecture 9 Bug Report Management.
Release & Deployment ITIL Version 3
SE-02 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): - What? - Why? - How?
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite Release Process Maria Alandes Pradillo.
Using IBM Rational Unified Process for software maintenance
Software Engineering Modern Approaches
System Analysis and Design
Module CC3002 Post Implementation Issues Lecture for Week 6 AY 2013 Spring.
Software Configuration Management
Software Configuration Management
9 Refactoring Refactoring changes the software structure but does not change the functionality of the program –important activity during evolution Refactoring.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
© 2006 ITT Educational Services Inc. System Analysis for Software Engineers: Unit 3 Slide 1 Chapter 16 Maintaining Information Systems.
Software Quality Assurance
8 Actualization Programmers implement the new functionality –according to change request The process of actualization varies –depends on the size of the.
© 2012 Václav Rajlich Software Engineering: The Current Practice Ch Software technologies Dictionary –“techno-” art, skill, craft –“-logy” method,
Software Engineering 2003 Jyrki Nummenmaa 1 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): -
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
Page 1 TEST in the large RELEASE REWORK ASSESS packaged application documentation models and source code management documents requirement alloc. matrix.
11 Version Control Systems Mauro Jaskelioff (originally by Gail Hopkins)
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Configuration Management CSCI 5801: Software Engineering.
CSC 4700 Software Engineering
P51UST: Unix and SoftwareTools Unix and Software Tools (P51UST) Version Control Systems Ruibin Bai (Room AB326) Division of Computer Science The University.
JWST PRDS Project Mangement Case Study Jesse Doggett Project Engineer, ITEB/OED.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
BSBPMG501A Manage Project Integrative Processes Manage Project Integrative Processes Project Integration Processes – Part 2 Diploma of Project Management.
Chapter 16 Maintaining Information Systems. Objectives:  Explain and contrast four types of system maintenance.  Describe factors affecting maintenance.
USDA 2016 Financial Management Training Transforming Shared Services Change Management Presented by Ron Gros.
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
8 Actualization Programmers implement the new functionality –according to change request The process of actualization varies –depends on the size of the.
T Project Review X-tremeIT PP Iteration
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Developers Users Committers How do I configure this now? Just one more fix and I am done! CVS Download/Use Software Submit problems/ request features Store.
1603.
Introduction to CAST Technical Support
Software Configuration Management
Software Project Configuration Management
Managing the Project Lifecycle
Fix Error Code 43 in Windows 7 Call Number
Introduction to CAST Technical Support
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Chapter 25 – Configuration Management
KEY PROCESS AREAS (KPAs)
Baisc Of Software Testing
Continuous Integration
Software Engineering I Fall 2017
CS5123 Software Validation and Quality Assurance
Chapter 25 – Configuration Management
Branches And Releases Branch for Urgent Bug Branch for Feature A
Software Configuration Management
Presentation transcript:

© 2012 Václav Rajlich Software Engineering: The Current Practice Ch Conclusion of software change The last phase of software change The activities depend on the specific software process Initiation Concept Location Impact Analysis Prefactoring Actualization Postfactoring Conclusion VERIFICATIONVERIFICATION

Steps of conclusion Commit –programmers return their updated code to the configuration management repository –resolving conflicts New baseline New release © 2012 Václav Rajlich Software Engineering: The Current Practice Ch. 112

New baseline A thorough testing is required –this testing will guarantee that the new baseline is as bug free as possible –the new baseline represents a progress of the project, not a regression The baseline testing can take a significant time –often done overnight or over the weekend –a specialized testing team conducts testing © 2012 Václav Rajlich Software Engineering: The Current Practice Ch. 113

Baseline testing The frequency depends on the size of the program and required quality To postpone the baseline testing for too long means that there could be a large accumulation of the bugs –it will make the task of the testing difficult –too frequent baseline testing can represent an unnecessary overhead © 2012 Václav Rajlich Software Engineering: The Current Practice Ch. 114

Baseline as a deadline Deadline to commit –time when the testing of the baseline starts Miss the deadline –submit by the next deadline additional work needed for the new baseline can be a significant additional work –management knows how often a particular programmer missed the deadline may require an explanation © 2012 Václav Rajlich Software Engineering: The Current Practice Ch. 115

Bugs in baseline Programmers commit a faulty code –bugs are discovered during the baseline testing If the bugs are minor, the testing team can still certify the updated code as the new baseline –add correction of these bugs into the stack of the bug reports –they will be fixed as a part of the future changes. © 2012 Václav Rajlich Software Engineering: The Current Practice Ch. 116

Broken baseline More serious bugs –the testing team can reject the buggy commits Sometimes the whole work done on the new baseline has to be rejected –no new baseline is created all work that was done is invalidated or postponed a significant cost on large projects –testing team can identify the programmers who committed buggy files –reputation of these programmers suffers © 2012 Václav Rajlich Software Engineering: The Current Practice Ch. 117

Stakeholder’s role They conduct acceptance testing –a functional testing done by the stakeholders –thoroughly tests software functionalities It gives them information about progress of the project –stakeholders approve software for the release © 2012 Václav Rajlich Software Engineering: The Current Practice Ch. 118

New release From time to time, the programmers release the baseline code to the users. –a substantial extra work is required –the frequency of the releases is both a technical and a business decision. Less frequent large releases + more frequent small releases –application AwesomeApp 4.2 –“versioned model of software lifespan” © 2012 Václav Rajlich Software Engineering: The Current Practice Ch. 119

Large and small releases Download and install large releases Small releases are delivered as patches –incorporated into the users program by the tool “merge” © 2012 Václav Rajlich Software Engineering: The Current Practice Ch. 1110