A presentation on software maintenanace

36
A PRESENTATION ON SOFTWARE MAINTENANCE 1

Transcript of A presentation on software maintenanace

Page 1: A presentation on software maintenanace

1

A PRESENTATION ON SOFTWARE MAINTENANCE

Page 2: A presentation on software maintenanace

2

PRESENTED BY Sanjana Urmy 13CSE30University Of Barisal

Page 3: A presentation on software maintenanace

3

SOFTWARE MAINTENANCE DEFINITION

The process of modifying a software system or component after delivery to correct faults, improve performance or other attributes, or adapt to a changed environment.

Page 4: A presentation on software maintenanace

4

THE SIX PURPOSE OF MAINTENANCE

Failure Avoidance

Risk Reduction

Maximum Production

Defect Elimination

Least Operating Costs

Equipment reliability

The job of maintenance is to provide reliable plan for least operating cost-we

don’t just fix equipment.

Page 5: A presentation on software maintenanace

5

TYPES OF SOFTWARE MAINTENANCE

1. Corrective maintenance

2. Adaptive maintenance

3. Perfective maintenance

4. Preventive maintenance

Bug Fixing

Porting & Migration

Enhancements & scalability

Documentation Enhancements

Page 6: A presentation on software maintenanace

6

Characteristics:- inefficient maintenance department- unpredictable equipment operation- all maintenance work unplanned

Results: steady degradation of equipment performance

Corrective maintenance:

Reactive modification of a software product performed after delivery to correct discovered problems.

Page 7: A presentation on software maintenanace

7

Adaptive maintenance: Modification of a software product performed after delivery to keep a software product usable in a changed or changing environment.

Characteristics- close relationship with equipment suppliers.Results: continually improving equipment

Page 8: A presentation on software maintenanace

8

Preventive maintenance: Modification of a software product after delivery to detect and correct latent faults in the software product before they become effective faults.

Characteristics:- more predictable- more efficient

Results: maintain level of equipment

Page 9: A presentation on software maintenanace

9

Perfective maintenance: Modification of a software product after delivery to improve performance or maintainability.

Characteristics:- predictable maintenance requirements

- planned & scheduled equipment repairs

Results: maintain equipment performance with minimal disruption to production

Page 10: A presentation on software maintenanace

10

DISTRIBUTION OF MAINTENANCE ACTIVITIES

corrective 21%

adaptive 25%

preventive 4%

perfective 50%

Page 11: A presentation on software maintenanace

11

Software Re-engineering or Upgrading

Page 12: A presentation on software maintenanace

12

Reverse Engineering

Page 13: A presentation on software maintenanace

13

Program RestructuringIt is a process to re-structure and re-construct the existing software.

Forward Engineering:It is the process of building from a high-level model or concept to build in complexities and lower-level details.

Page 14: A presentation on software maintenanace

14

MAINTENANCE COSTS

Maintenance costs are usually greater thandevelopment costs by a factor of 2 to 100. The costs arise from both technical and

nontechnicalfactors.

Reasons:Maintenance changes ,degrades the original systemstructure.Aging software results in high support costs.

Page 15: A presentation on software maintenanace

15

MAINTENANCE COST FACTORS

Staff skills

Program age and structure

Team stability

Contractual responsibility

Page 16: A presentation on software maintenanace

16

Cost of Maintenance

Page 17: A presentation on software maintenanace

17

MAINTENANCE PROBLEMS

Someone else's program. Developer not available. Proper documentation doesn't exist. Not designed for change. Maintenance activity not highly regarded.

Page 18: A presentation on software maintenanace

18

DISTRIBUTION OF MAINTENANCE EFFORT

Functionalityaddition or

modification(65%)

Fault repair(17%)

Softwareadaptation

(18%)

Page 19: A presentation on software maintenanace

19

WHAT IS ERROR?? Error : Refers to difference between Actual

Output and Expected output. The mistakes made by programmer is known

as an “Error”. Error is terminology of Developer.

Page 20: A presentation on software maintenanace

20

REASONS OF ERROR Error could happen because of the following reasons: Because of some confusion in understanding

the functionality of the software Because of some miscalculation of the values Because of misinterpretation of any value,

etc.

Page 21: A presentation on software maintenanace

21

CATEGORIES OF SOFTWARE ERRORS:  User interface errors such as output errors or

incorrect user messages. Function errors Hardware defects Incorrect program version Requirements errors Design errors Documentation errors Architecture errors Module interface errors Performance errors Boundary-related errors

Page 22: A presentation on software maintenanace

22

WHAT IS FAULT?? Fault : It is a condition that causes the

software to fail to perform its required function.

Fault is incorrect step, process or data definition in a computer program which causes the program to behave in an unintended or unanticipated manner. 

It is the result of the error.

Page 23: A presentation on software maintenanace

23

ORIGINS OF FAULTS*specification mistakes– incorrect algorithms, incorrectly specified requirements (timing, power, environmental)* implementation mistakes– poor design, software coding mistakes* component defects– manufacturing imperfections, random device defects, components wear-outs* external factors– radiation, lightning, operator mistakes

Page 24: A presentation on software maintenanace

24

STATISTIC ON FAULTS

**60-65% of software faults originate from– incomplete, missing, inadequate, inconsistent, unclear requirements **35-40% of software faults originate from– coding mistakes – proportional to • size of code • number of paths in

Page 25: A presentation on software maintenanace

25

AN EXAMPLE OF SOFTWARE FAULT: In 1991, a change f 3 lines of code in a

program containing millions lines of code caused a local telephone system in California to stop.

Failure: The inability of a system or component to perform its required functions within specified performance requirements

Page 26: A presentation on software maintenanace

26

Page 27: A presentation on software maintenanace

27

SOFTWARE DOWNTIME The term downtime is used to refer to periods when a system is unavailable. Downtime or outage duration refers to a period of time that a system fails to provide or perform its primary function

Page 28: A presentation on software maintenanace

28

Page 29: A presentation on software maintenanace

29

Page 30: A presentation on software maintenanace

30

DEFINITION : Software documentation is written text or

illustration that accompanies computer software. It either explains how it operates or how to use it, and may mean different things to people in different roles.

Page 31: A presentation on software maintenanace

31

SOFTWARE DOCUMENTATION EXPLAINS:

-How it operates-How to use it

Page 32: A presentation on software maintenanace

32

TYPES OF DOCUMENTATION Requirements Architecture/Design Technical End User Marketing

Page 33: A presentation on software maintenanace

33

SOFTWARE SPECIFICATION A software specification is a

description of a software system to be developed. It lays out functional and non- functional requirements, and may include a set of use case that describe user interactions that the software must provide.

Page 34: A presentation on software maintenanace

34

Page 35: A presentation on software maintenanace

35

Page 36: A presentation on software maintenanace

36

Thank you..