SlideShare a Scribd company logo
1 of 24
SOFTWARE ENGINEERING
UNIT-5
ABHIMANYU MISHRA
ASSISTANT PROF.(CSE)
JETGI
24/12/16 1Abhimanyu Mishra(CSE) JETGI
 Software Evolutionary.
 Need for maintenance.
 Categories of maintenance.
 Cost of maintenance.
 Software Re-engineering.
 Reverse engineering.
 Software configuration management activities.
 Change control process.
 Software version control.
 Overview of CASE Tools.
 COCOMO Model, RMA, Software Risk Analysis & Management.
CONTENTS
24/12/16 2Abhimanyu Mishra(CSE) JETGI
 The software development evolution processes vary considerably on the type of
software being maintained, development process used in the organization and the
people involved in the process.
 System change proposal are drivers for system evolution in the organization.
 These changes proposal may involve existing requirements that have not been
implemented in the released system, request for new requirements and the bugs
repair from stakeholders and new ideas and proposals for software improvement
from system development team.
 The evolution process includes fundamental activities of change analysis, release
planning, system implementation and release a system to customer. The cost and
impact of these changes are accessed to see how much system is affected by the
change and how much it might cost to implement the change.
SOFTWARE EVOLUTION :
24/12/16 3Abhimanyu Mishra(CSE) JETGI
24/12/16 4Abhimanyu Mishra(CSE) JETGI
Change Identification
process
New system
Change
Proposal
Software
Evolution Process
24/12/16 5Abhimanyu Mishra(CSE) JETGI
SOFTWARE MAINTENANCE:
Software maintenance is recognize as an important part of software life cycle.
It is the process of changing system after it has been delivered to the customer.
“According to the standard for software maintenance 1992, software
maintenance is modification of software product after delivery to correct
faults, to improve performance of other attributes or to adopt the product to a
modified environment”.
Need for software maintenance- All hardware system needs maintenance as
due to ageing the hardware wear out and need replacement, but software does
not age and don’t wear out then what is the need for maintenance. The
software needs maintenance due to:-
i. Over a period of time, software’s original requirement may change to
reflect the customer’s need.
ii. Errors undetected during software development may be found during the
use and require correction.
iii. With time new technologies are introduced such as new hardware, o.s , etc.
24/12/16 6Abhimanyu Mishra(CSE) JETGI
CATEGORIES OF MAINTENANCE:
I. Corrective maintenance- Corrective maintenance involves changing a
software application to remove errors and bugs. While in software
development attention is paid to remove all errors and bugs but even some
errors and bugs are left uncovered and they come in notice after a system
has been operation for a long time.
II. Adaptive maintenance- This type of maintenance is concerned with
external changes. Even if the software is error free, it is possible that the
environment in which the software works will often changes.
III. Perfective maintenance- Perfective maintenance is an activity that we
undertake to improve the maintainability, performance and other attributes
of our application. It include all change insertion , deletions, modification,
extension and enhancement made to the application to meet evolving user
need.
The cost of software maintenance is very high. More than 65% of software life
cycle cost is expended in the maintenance activities.
Cost of software maintenance can be control by postponing the development
opportunity of software maintenance but this will cause following intangible cost:-
 Customer dissatisfaction when request for repair cannot be addresses in a manner.
 Reduction in overall software quality as a result of changes that introduce hidden
errors in maintained software.
 M=P+K(C-D)
M= Total efforts expended on maintenance
P= Productive software
K= An empirical constant
C= Measure of complexity
D= Measure of degree of familiarity with the software.
COST OF SOFTWARE MAINTENANCE:
24/12/16 7Abhimanyu Mishra(CSE) JETGI
24/12/16 8Abhimanyu Mishra(CSE) JETGI
SOFTWARE RE-ENGINEERING:
Software re-engineering is concerned with taking existing legacy systems and
re- implementing them to make them more maintainable.
“The IBM user group guide define software engineering as:- The process of
modifying the internal mechanisms of a system or program or the data
structures of a system or program without changing its functionality”.
The following suggestions may be useful for the modification of the legacy
code:
 Study code well before attempting changes.
 Concentrate on overall control flow and not coding.
 Heavily comment internal code.
 Create cross reference.
 Build symbol tables.
 Keep detailed maintenance document
 Use modern design technique.
24/12/16 9Abhimanyu Mishra(CSE) JETGI
BENEFITS OF RE-ENGINEERING PHASE:
 Costs- Evidence from a number of US project suggest that re-
engineering of an existing software system cost significantly less than
new.
 Lower Risk- Software re- engineering is based on incremental
improvement of system, rather than radical system replacement.
 Better use of existing staff
 Incremental Development
REVERSE ENGINEERING
• Reverse engineering, in computer programming, is a technique used to
analyze software in order to identify and understand the parts it is
composed of. The usual reasons for reverse engineering a quantity of
software are to recreate the program, to build something similar to it, to
exploit its weaknesses or strengthen its defenses.
12/31/2016 Abhimanyu Mishra(CSE) JETGI 10
DIAGRAM:-
Reverse Engineering
12/31/2016 Abhimanyu Mishra(CSE) JETGI 11
Proposal
Description
Code
Performance
WHAT IS CAPABILITY MATURITY MODEL?
The Software Engineering Institute (SEI) Capability Maturity Model (CMM)
specifies an increasing series of levels of a software development group. The
higher level, better the software development process, hence getting each
level is an exclusive and inefficient process
12/31/2016 Abhimanyu Mishra(CSE) JETGI 12
There are five levels:
(i) Initial
(ii) Repeatable
(iii) Defined
(iv) Managed
(v) Optimizing
12/31/2016 Abhimanyu Mishra(CSE) JETGI 13
Diagram: CAPABILITY MATURITY MODEL
Optimizing
(Process)
Managed
(Process measure and controlled)
Defined
(Categories for the Organization )
Repeatable
(Its often reactive)
Initial
(Unpredictable and poorly controlled)
12/31/2016 Abhimanyu Mishra(CSE) JETGI 14
CHANGE CONTROL PROCESS
Change control is a methodical approach to handling all changes complete to
a product or system. The purpose are to ensure that no redundant changes
are made, that all changes are documented, that services are not without
need disrupted and that resources are used efficiently.
12/31/2016 Abhimanyu Mishra(CSE) JETGI 15
Diagram: (CCP)
12/31/2016 Abhimanyu Mishra(CSE) JETGI 16
Iden
tify.
Impl
eme
nt
Appr
ove.
Acce
ss.
Follo
w-
Up
SOFTWARE VERSION CONTROLS
Version control systems are a category of software tools that help a software
team manage changes to source code finished time. Version control software
keeps track of every adjustment to the code in a special kind of database. If a
error are made, developers could turn back the clock and compare earlier
versions of the code to help fix the error while minimizing interruption to all
team members.
12/31/2016 Abhimanyu Mishra(CSE) JETGI 17
TASK A
Branch Merge
Development
(Ver1.0) (Ver 1.1) Ver(1.2) Ver(1.3) Ver(1.4)
Branch Merge
TASK B
12/31/2016 Abhimanyu Mishra(CSE) JETGI 18
CASE (COMPUTER-AIDED SOFTWARE
ENGINEERING)
CASE (computer-aided software engineering) is the use of a computer-
assisted method to organize and control the development of software,
especially on large, complex projects involving many software components
and people. Using CASE allows designers, code writers, testers, planners, and
managers to share a common view of where a project stands at each stage of
development. CASE helps ensure a disciplined, check-pointed process. A CASE
tool may portray progress (or lack of it) graphically. It may also serve as a
repository for or be linked to document and program libraries containing the
project's business plans, design requirements, design specifications, detailed
code specifications, the code units, test cases and results, and marketing and
service plans.
12/31/2016 Abhimanyu Mishra(CSE) JETGI 19
Diagram: CASE
Upper Case
Integrated Case
Lower Case
12/31/2016 Abhimanyu Mishra(CSE) JETGI 20
Analysis
Planning
Design
Implementation
Testing
Maintenance
COCOMO MODEL
The Constructive Cost Model (COCOMO) is an algorithmic software cost
estimation model developed by Barry Boehm. The model are using a basic
deterioration formula, with parameters that is resulting from antique project
data and current project characteristics.
12/31/2016 Abhimanyu Mishra(CSE) JETGI 21
Diagram: COCOMO Model
12/31/2016 Abhimanyu Mishra(CSE) JETGI 22
COCOMO
Intermediate
COCOMO model
Complete COCOMO
model
Basic COCOMO
model
SOFTWARE RISK MANAGEMENT
Risk is an anticipation of loss, a potential problem that not occur in the future.
It is generally caused due to lack of information, control or time. A possibility
of grief from loss in software development process is called a software risk.
Loss can be anything, increase in production cost, development of poor quality
software, not being able to complete the project on time. Software risk exists
because the future is uncertain and there are many well-known and indefinite
things that cannot be incorporated in the project plan. A software risk can be of
two types (a) internal risks that are within the control of the project manager
(b) external risks that are beyond the control of project manager. Risk
management is carried out to:
(i) Identify the risk
(ii) Reduce the impact of risk
(iii) Reduce the probability or like of risk
(iv) Risk monitoring
12/31/2016 Abhimanyu Mishra(CSE) JETGI 23
Problem? Fill the box
12/31/2016 Abhimanyu Mishra(CSE) JETGI 24
Risk
Management
Process

More Related Content

What's hot

Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Water jug problem ai part 6
Water jug problem ai part 6Water jug problem ai part 6
Water jug problem ai part 6Kirti Verma
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
Chapter 8 software testing
Chapter 8 software testingChapter 8 software testing
Chapter 8 software testingdespicable me
 
Dbms 14: Relational Calculus
Dbms 14: Relational CalculusDbms 14: Relational Calculus
Dbms 14: Relational CalculusAmiya9439793168
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTKathirvel Ayyaswamy
 
Syntax directed translation
Syntax directed translationSyntax directed translation
Syntax directed translationAkshaya Arunan
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metricsIndu Sharma Bhardwaj
 
Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and AlgorithmDhaval Kaneria
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metricsdespicable me
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)IrtazaAfzal3
 

What's hot (20)

Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Water jug problem ai part 6
Water jug problem ai part 6Water jug problem ai part 6
Water jug problem ai part 6
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Chapter 8 software testing
Chapter 8 software testingChapter 8 software testing
Chapter 8 software testing
 
White box ppt
White box pptWhite box ppt
White box ppt
 
A* Search Algorithm
A* Search AlgorithmA* Search Algorithm
A* Search Algorithm
 
And or graph
And or graphAnd or graph
And or graph
 
Dbms 14: Relational Calculus
Dbms 14: Relational CalculusDbms 14: Relational Calculus
Dbms 14: Relational Calculus
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Spm unit 1
Spm unit 1Spm unit 1
Spm unit 1
 
Syntax directed translation
Syntax directed translationSyntax directed translation
Syntax directed translation
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and Algorithm
 
Deadlock
DeadlockDeadlock
Deadlock
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
 
Software design
Software designSoftware design
Software design
 

Viewers also liked

Ch11 input output systems
Ch11 input output systemsCh11 input output systems
Ch11 input output systemsissbp
 
Os5 2
Os5 2Os5 2
Os5 2issbp
 
Class5
 Class5 Class5
Class5issbp
 
Os2 2
Os2 2Os2 2
Os2 2issbp
 
Os6 2
Os6 2Os6 2
Os6 2issbp
 
Os4 2
Os4 2Os4 2
Os4 2issbp
 
Class9
 Class9 Class9
Class9issbp
 
Lecture 7: Definite Clause Grammars
Lecture 7: Definite Clause GrammarsLecture 7: Definite Clause Grammars
Lecture 7: Definite Clause GrammarsCS, NcState
 
Theory of Automata and formal languages Unit 5
Theory of Automata and formal languages Unit 5Theory of Automata and formal languages Unit 5
Theory of Automata and formal languages Unit 5Abhimanyu Mishra
 
Automated Web Service Change Management (AWSCM) A tool published at IEEE Clou...
Automated Web Service Change Management (AWSCM) A tool published at IEEE Clou...Automated Web Service Change Management (AWSCM) A tool published at IEEE Clou...
Automated Web Service Change Management (AWSCM) A tool published at IEEE Clou...Animesh Chaturvedi
 
Pattern detection in mealy machine
Pattern detection in mealy machinePattern detection in mealy machine
Pattern detection in mealy machineAnimesh Chaturvedi
 
Os10 2
Os10 2Os10 2
Os10 2issbp
 

Viewers also liked (20)

Compiler unit 4
Compiler unit 4Compiler unit 4
Compiler unit 4
 
5 chap - MAINTENANCE
5 chap - MAINTENANCE5 chap - MAINTENANCE
5 chap - MAINTENANCE
 
Os2
Os2Os2
Os2
 
Ch11 input output systems
Ch11 input output systemsCh11 input output systems
Ch11 input output systems
 
Os4
Os4Os4
Os4
 
Os6
Os6Os6
Os6
 
Os5 2
Os5 2Os5 2
Os5 2
 
Class5
 Class5 Class5
Class5
 
Os2 2
Os2 2Os2 2
Os2 2
 
Os6 2
Os6 2Os6 2
Os6 2
 
Os4 2
Os4 2Os4 2
Os4 2
 
Class9
 Class9 Class9
Class9
 
Lecture 7: Definite Clause Grammars
Lecture 7: Definite Clause GrammarsLecture 7: Definite Clause Grammars
Lecture 7: Definite Clause Grammars
 
Theory of Automata and formal languages Unit 5
Theory of Automata and formal languages Unit 5Theory of Automata and formal languages Unit 5
Theory of Automata and formal languages Unit 5
 
Design1
Design1Design1
Design1
 
Os5
Os5Os5
Os5
 
Automated Web Service Change Management (AWSCM) A tool published at IEEE Clou...
Automated Web Service Change Management (AWSCM) A tool published at IEEE Clou...Automated Web Service Change Management (AWSCM) A tool published at IEEE Clou...
Automated Web Service Change Management (AWSCM) A tool published at IEEE Clou...
 
Pattern detection in mealy machine
Pattern detection in mealy machinePattern detection in mealy machine
Pattern detection in mealy machine
 
Cspc final
Cspc finalCspc final
Cspc final
 
Os10 2
Os10 2Os10 2
Os10 2
 

Similar to Software Engineering unit 5

Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1Abhimanyu Mishra
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1Badar Waseer
 
SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...
SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...
SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...ijseajournal
 
Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)MuhammadTalha436
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...ijseajournal
 
Software Project Planning IV
Software Project Planning IVSoftware Project Planning IV
Software Project Planning IVGagan Deep
 
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...ijseajournal
 
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdfChapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdfVikasRai405977
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019MuhammadTalha436
 
The Software Engineering Profession SWE311The Software Enginee.docx
The Software Engineering Profession SWE311The Software Enginee.docxThe Software Engineering Profession SWE311The Software Enginee.docx
The Software Engineering Profession SWE311The Software Enginee.docxssusera34210
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 
How to Build Software from Scratch in 5 Simple Steps.pdf
How to Build Software from Scratch in 5 Simple Steps.pdfHow to Build Software from Scratch in 5 Simple Steps.pdf
How to Build Software from Scratch in 5 Simple Steps.pdfBaek Yongsun
 

Similar to Software Engineering unit 5 (20)

Software Engineering Unit 1
Software Engineering Unit 1Software Engineering Unit 1
Software Engineering Unit 1
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
Agile process
Agile processAgile process
Agile process
 
Agile process
Agile processAgile process
Agile process
 
SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...
SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...
SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...
 
Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)Software Engineering Past Papers (Short Questions)
Software Engineering Past Papers (Short Questions)
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
 
Software Project Planning IV
Software Project Planning IVSoftware Project Planning IV
Software Project Planning IV
 
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
APPLYING CONTINUOUS INTEGRATION FOR INCREASING THE MAINTENANCE QUALITY AND EF...
 
Spm unit1
Spm unit1Spm unit1
Spm unit1
 
Chapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdfChapter-2 ppt for the MBA 4rh seme6y.pdf
Chapter-2 ppt for the MBA 4rh seme6y.pdf
 
Agiel sw development
Agiel sw developmentAgiel sw development
Agiel sw development
 
Software models
Software modelsSoftware models
Software models
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
 
The Software Engineering Profession SWE311The Software Enginee.docx
The Software Engineering Profession SWE311The Software Enginee.docxThe Software Engineering Profession SWE311The Software Enginee.docx
The Software Engineering Profession SWE311The Software Enginee.docx
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
How to Build Software from Scratch in 5 Simple Steps.pdf
How to Build Software from Scratch in 5 Simple Steps.pdfHow to Build Software from Scratch in 5 Simple Steps.pdf
How to Build Software from Scratch in 5 Simple Steps.pdf
 

More from Abhimanyu Mishra

More from Abhimanyu Mishra (19)

Cd unit i
Cd unit iCd unit i
Cd unit i
 
Presentation1(JIT gnomio)
Presentation1(JIT gnomio)Presentation1(JIT gnomio)
Presentation1(JIT gnomio)
 
Sta unit 5(abimanyu)
Sta unit 5(abimanyu)Sta unit 5(abimanyu)
Sta unit 5(abimanyu)
 
Sta unit 3(abimanyu)
Sta unit 3(abimanyu)Sta unit 3(abimanyu)
Sta unit 3(abimanyu)
 
Sta unit 4(abimanyu)
Sta unit 4(abimanyu)Sta unit 4(abimanyu)
Sta unit 4(abimanyu)
 
Sta unit 3(abimanyu)
Sta unit 3(abimanyu)Sta unit 3(abimanyu)
Sta unit 3(abimanyu)
 
Sta unit 2(abimanyu)
Sta unit 2(abimanyu)Sta unit 2(abimanyu)
Sta unit 2(abimanyu)
 
Unit1
Unit1Unit1
Unit1
 
Daa unit 5
Daa unit 5Daa unit 5
Daa unit 5
 
Daa unit 4
Daa unit 4Daa unit 4
Daa unit 4
 
Daa unit 3
Daa unit 3Daa unit 3
Daa unit 3
 
Daa unit 2
Daa unit 2Daa unit 2
Daa unit 2
 
Daa unit 1
Daa unit 1Daa unit 1
Daa unit 1
 
Software Engineering unit 4
Software Engineering unit 4Software Engineering unit 4
Software Engineering unit 4
 
Software Engineering unit 2
Software Engineering unit 2Software Engineering unit 2
Software Engineering unit 2
 
Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4
 
Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3Theory of Automata and formal languages Unit 3
Theory of Automata and formal languages Unit 3
 
Theory of Automata and formal languages unit 2
Theory of Automata and formal languages unit 2Theory of Automata and formal languages unit 2
Theory of Automata and formal languages unit 2
 
Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1Theory of Automata and formal languages unit 1
Theory of Automata and formal languages unit 1
 

Recently uploaded

INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 

Recently uploaded (20)

★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 

Software Engineering unit 5

  • 1. SOFTWARE ENGINEERING UNIT-5 ABHIMANYU MISHRA ASSISTANT PROF.(CSE) JETGI 24/12/16 1Abhimanyu Mishra(CSE) JETGI
  • 2.  Software Evolutionary.  Need for maintenance.  Categories of maintenance.  Cost of maintenance.  Software Re-engineering.  Reverse engineering.  Software configuration management activities.  Change control process.  Software version control.  Overview of CASE Tools.  COCOMO Model, RMA, Software Risk Analysis & Management. CONTENTS 24/12/16 2Abhimanyu Mishra(CSE) JETGI
  • 3.  The software development evolution processes vary considerably on the type of software being maintained, development process used in the organization and the people involved in the process.  System change proposal are drivers for system evolution in the organization.  These changes proposal may involve existing requirements that have not been implemented in the released system, request for new requirements and the bugs repair from stakeholders and new ideas and proposals for software improvement from system development team.  The evolution process includes fundamental activities of change analysis, release planning, system implementation and release a system to customer. The cost and impact of these changes are accessed to see how much system is affected by the change and how much it might cost to implement the change. SOFTWARE EVOLUTION : 24/12/16 3Abhimanyu Mishra(CSE) JETGI
  • 4. 24/12/16 4Abhimanyu Mishra(CSE) JETGI Change Identification process New system Change Proposal Software Evolution Process
  • 5. 24/12/16 5Abhimanyu Mishra(CSE) JETGI SOFTWARE MAINTENANCE: Software maintenance is recognize as an important part of software life cycle. It is the process of changing system after it has been delivered to the customer. “According to the standard for software maintenance 1992, software maintenance is modification of software product after delivery to correct faults, to improve performance of other attributes or to adopt the product to a modified environment”. Need for software maintenance- All hardware system needs maintenance as due to ageing the hardware wear out and need replacement, but software does not age and don’t wear out then what is the need for maintenance. The software needs maintenance due to:- i. Over a period of time, software’s original requirement may change to reflect the customer’s need. ii. Errors undetected during software development may be found during the use and require correction. iii. With time new technologies are introduced such as new hardware, o.s , etc.
  • 6. 24/12/16 6Abhimanyu Mishra(CSE) JETGI CATEGORIES OF MAINTENANCE: I. Corrective maintenance- Corrective maintenance involves changing a software application to remove errors and bugs. While in software development attention is paid to remove all errors and bugs but even some errors and bugs are left uncovered and they come in notice after a system has been operation for a long time. II. Adaptive maintenance- This type of maintenance is concerned with external changes. Even if the software is error free, it is possible that the environment in which the software works will often changes. III. Perfective maintenance- Perfective maintenance is an activity that we undertake to improve the maintainability, performance and other attributes of our application. It include all change insertion , deletions, modification, extension and enhancement made to the application to meet evolving user need.
  • 7. The cost of software maintenance is very high. More than 65% of software life cycle cost is expended in the maintenance activities. Cost of software maintenance can be control by postponing the development opportunity of software maintenance but this will cause following intangible cost:-  Customer dissatisfaction when request for repair cannot be addresses in a manner.  Reduction in overall software quality as a result of changes that introduce hidden errors in maintained software.  M=P+K(C-D) M= Total efforts expended on maintenance P= Productive software K= An empirical constant C= Measure of complexity D= Measure of degree of familiarity with the software. COST OF SOFTWARE MAINTENANCE: 24/12/16 7Abhimanyu Mishra(CSE) JETGI
  • 8. 24/12/16 8Abhimanyu Mishra(CSE) JETGI SOFTWARE RE-ENGINEERING: Software re-engineering is concerned with taking existing legacy systems and re- implementing them to make them more maintainable. “The IBM user group guide define software engineering as:- The process of modifying the internal mechanisms of a system or program or the data structures of a system or program without changing its functionality”. The following suggestions may be useful for the modification of the legacy code:  Study code well before attempting changes.  Concentrate on overall control flow and not coding.  Heavily comment internal code.  Create cross reference.  Build symbol tables.  Keep detailed maintenance document  Use modern design technique.
  • 9. 24/12/16 9Abhimanyu Mishra(CSE) JETGI BENEFITS OF RE-ENGINEERING PHASE:  Costs- Evidence from a number of US project suggest that re- engineering of an existing software system cost significantly less than new.  Lower Risk- Software re- engineering is based on incremental improvement of system, rather than radical system replacement.  Better use of existing staff  Incremental Development
  • 10. REVERSE ENGINEERING • Reverse engineering, in computer programming, is a technique used to analyze software in order to identify and understand the parts it is composed of. The usual reasons for reverse engineering a quantity of software are to recreate the program, to build something similar to it, to exploit its weaknesses or strengthen its defenses. 12/31/2016 Abhimanyu Mishra(CSE) JETGI 10
  • 11. DIAGRAM:- Reverse Engineering 12/31/2016 Abhimanyu Mishra(CSE) JETGI 11 Proposal Description Code Performance
  • 12. WHAT IS CAPABILITY MATURITY MODEL? The Software Engineering Institute (SEI) Capability Maturity Model (CMM) specifies an increasing series of levels of a software development group. The higher level, better the software development process, hence getting each level is an exclusive and inefficient process 12/31/2016 Abhimanyu Mishra(CSE) JETGI 12
  • 13. There are five levels: (i) Initial (ii) Repeatable (iii) Defined (iv) Managed (v) Optimizing 12/31/2016 Abhimanyu Mishra(CSE) JETGI 13
  • 14. Diagram: CAPABILITY MATURITY MODEL Optimizing (Process) Managed (Process measure and controlled) Defined (Categories for the Organization ) Repeatable (Its often reactive) Initial (Unpredictable and poorly controlled) 12/31/2016 Abhimanyu Mishra(CSE) JETGI 14
  • 15. CHANGE CONTROL PROCESS Change control is a methodical approach to handling all changes complete to a product or system. The purpose are to ensure that no redundant changes are made, that all changes are documented, that services are not without need disrupted and that resources are used efficiently. 12/31/2016 Abhimanyu Mishra(CSE) JETGI 15
  • 16. Diagram: (CCP) 12/31/2016 Abhimanyu Mishra(CSE) JETGI 16 Iden tify. Impl eme nt Appr ove. Acce ss. Follo w- Up
  • 17. SOFTWARE VERSION CONTROLS Version control systems are a category of software tools that help a software team manage changes to source code finished time. Version control software keeps track of every adjustment to the code in a special kind of database. If a error are made, developers could turn back the clock and compare earlier versions of the code to help fix the error while minimizing interruption to all team members. 12/31/2016 Abhimanyu Mishra(CSE) JETGI 17
  • 18. TASK A Branch Merge Development (Ver1.0) (Ver 1.1) Ver(1.2) Ver(1.3) Ver(1.4) Branch Merge TASK B 12/31/2016 Abhimanyu Mishra(CSE) JETGI 18
  • 19. CASE (COMPUTER-AIDED SOFTWARE ENGINEERING) CASE (computer-aided software engineering) is the use of a computer- assisted method to organize and control the development of software, especially on large, complex projects involving many software components and people. Using CASE allows designers, code writers, testers, planners, and managers to share a common view of where a project stands at each stage of development. CASE helps ensure a disciplined, check-pointed process. A CASE tool may portray progress (or lack of it) graphically. It may also serve as a repository for or be linked to document and program libraries containing the project's business plans, design requirements, design specifications, detailed code specifications, the code units, test cases and results, and marketing and service plans. 12/31/2016 Abhimanyu Mishra(CSE) JETGI 19
  • 20. Diagram: CASE Upper Case Integrated Case Lower Case 12/31/2016 Abhimanyu Mishra(CSE) JETGI 20 Analysis Planning Design Implementation Testing Maintenance
  • 21. COCOMO MODEL The Constructive Cost Model (COCOMO) is an algorithmic software cost estimation model developed by Barry Boehm. The model are using a basic deterioration formula, with parameters that is resulting from antique project data and current project characteristics. 12/31/2016 Abhimanyu Mishra(CSE) JETGI 21
  • 22. Diagram: COCOMO Model 12/31/2016 Abhimanyu Mishra(CSE) JETGI 22 COCOMO Intermediate COCOMO model Complete COCOMO model Basic COCOMO model
  • 23. SOFTWARE RISK MANAGEMENT Risk is an anticipation of loss, a potential problem that not occur in the future. It is generally caused due to lack of information, control or time. A possibility of grief from loss in software development process is called a software risk. Loss can be anything, increase in production cost, development of poor quality software, not being able to complete the project on time. Software risk exists because the future is uncertain and there are many well-known and indefinite things that cannot be incorporated in the project plan. A software risk can be of two types (a) internal risks that are within the control of the project manager (b) external risks that are beyond the control of project manager. Risk management is carried out to: (i) Identify the risk (ii) Reduce the impact of risk (iii) Reduce the probability or like of risk (iv) Risk monitoring 12/31/2016 Abhimanyu Mishra(CSE) JETGI 23
  • 24. Problem? Fill the box 12/31/2016 Abhimanyu Mishra(CSE) JETGI 24 Risk Management Process