Unit-5 Sepm
Unit-5 Sepm
Dr. R. P. Mahapatra
Professor & HOD CSE
SRMIST,NCR Campus, Modinagar, Ghaziabad
UNIT-5
•A product release is the process of delivering a new
product experience to your customers.
5. Deploy Release: Here the product is now live! But the team’s
work isn’t over. Both the end-users and your home
organization need training and information on the product’s
functions and any future changes.
Objectives & Benefits of Release Management
Release management exists to meet specific and critical goals
in product development. The objectives are:
• Manage risks
• Coordinate all applicable IT resources
• Ensure compliance and auditing processes
• Oversee the live release of new versions
• Maintain alignment and harmony between software
development and the business
Benefits:
• Provides for an integrated view of both business and IT
plans.
-Open planning can provide a clear view of what is being
developed and when the key milestone will be achieved.
• Results in a more stable production system
-The result of integrated release in early development
cycle allows more careful analysis and testing of impact to
normal operations.
Package Evaluation
Project Planning
Going Live
Post Implementation
Phase
Elements of a successful software
implementation initiative
Why Maintenance??
Types of maintenance
• Corrective Maintenance - This includes modifications and
updation done in order to correct or fix problems, which are
either discovered by user or concluded by user error reports.
• Adaptive Maintenance - This includes modifications and
updations applied to keep the software product up-to date
and tuned to the ever changing world of technology and
business environment.
• Perfective Maintenance - This includes modifications and
updates done in order to keep the software usable over long
period of time. It includes new features, new user requirements
for refining the software and improve its reliability and
performance.
• Preventive Maintenance - This includes modifications and
updations to prevent future problems of the software. It aims
to attend problems, which are not significant at this moment
but may cause serious issues in future.
Cost of Maintenance
• Software maintenance
– Changes to the software are made in response to changed
requirements but the fundamental structure of the software
remains stable. This is most common approach used to
system change.
Software Evolution Approaches (cont’d)
• Architectural transformation
– This is a more radical approach to software change then
maintenance as it involves making significant change to
the architecture of the system.
• Software re-engineering
– This is different from other strategies in that no new
functionality is added to the system.
– System re-engineering may involve some structural
modifications but dose not usually involves major
architectural change.
Fault repair
(17%)
functionality
software
addition or
adaption
modification
(18%)
(65%)
System
Fault Flat form
enhanceme
repair adaptation
nt
• Application age
– (software rust?) older programs were probably
worse written and have probably been patched
more
• Size
– measured in KLOC, number of input/output files
• Programming language
– 4th generation are supposed to produce more
maintainable code than 3 rd generaytion
What Affects the Maintainability of an
Application? (cont’d)
• Processing environment
– files harder to maintain than databases, real-time harder
than batch
• Analysis and design methodologies
– well designed software is supposed to be much easier to
maintain
• Structured programming
– there is conflicting evidence whether this really helps
What Affects the Maintainability of an
Application? (cont’d)
• Modularization
– (central thesis of all the oo techniques) small reasonably
self contained pieces of code should be easier to maintain
• Documentation generation
– maintenance of documentation is as expensive as
maintenance of code
• End-user involvement
– some researchers believe when end users are more
involved maintenance decreases
• Maintenance management
– scheduling and the attitudes of management to affects
productivity
Problems in Managing Maintenance
• Changing priorities
– chaotic nature of maintenance requests, the length of
maintenance tasks causing new requests to come along
before an ongoing task is done.
System 1
System 2
Forward engineering
Software re-engineering
Re-Engineering Cost Factors
• The quality of the software to be re-engineered
• The tool support available for re-engineering
• The extent of the data conversion which is required
• The availability of expert staff for re-engineering
Module types
• Data abstractions
– Abstract data types where data structures and associated
operations are grouped
• Hardware modules
– All functions required to interface with a hardware unit
• Functional modules
– Modules containing functions that carry out closely
related tasks
• Process support modules
– Modules where the functions support a business process
or process fragment
Data Re-engineering
• Involves analysing and reorganising the data structures (and
sometimes the data values) in a program
• May be part of the process of migrating from a file-based
system to a DBMS-based system or changing from one
DBMS to another
• Objective is to create a managed data environment
Reverse Engineering
• Analysing software with a view to understanding its design
and specification
• May be part of a re-engineering process but may also be used
to re-specify a system for re-implementation
• Builds a program data base and generates information from
this
• Program understanding tools (browsers, cross-reference
generators, etc.) may be used in this process
THANKING YOU!