Scopeof Software Engineering
Scopeof Software Engineering
Agenda
What, Why and Aspects of Software Engineering ?
Engineering Approach
SDLC Models
Scrum Methodologies
What is software?
• Computer programs and associated documentation
– fault-free
– delivered on time
– easy to modify
Why the need for Software Engineering?
Successf
Canceled,
ul,
23%
28%
*Completed with
Faults, 49%
• Historical Aspects:
– , a NATO group coined the term “Software
Engineering”
that
– NATO Software EngineeringConference concurred
“Software production should be an engineering-like activity”
– Using philosophies and paradigms of established engineering
disciplines to solve Software Crisis that the quality of software was
generally unacceptably low and that deadlines and cost limits were
not being met”
Software Engineering Aspects…
• Economic Aspects
– Software Engineering v.s. Computer Science
• Requirements Phase
• Planning Phase
• Design Phase
• Implementation Phase
• Integration Phase
• Retirement
Maintenance Aspects
Maintenance is so important that a major aspect of software
engineering consists of techniques, tools, and practices that lead to a
reduction in maintenance cost
Requirement 2%
Specification 4%
Planning 1%
Design 6%
Module Coding 5%
Maintenance Module Testing 7%
Integration 8%
Maintenance
67%
Approximate relative costs
of the phases of the software
life cycle.
Horror Software Failure Stories
• Patients died as a consequenceof severeoverdoses
of radiation.
• User: the person or people who will actually use the system
Who Does Software Engineering? (continued)
Participants (stakeholders) in a software development project
Engineering Approach
Building a System
• System design
• Program design
• Unit testing
• Integration testing
• System testing
• System delivery
• Maintenance
Members of the Development Team
• Requirement Analysts: work with the customers to identify and document the
requirements
• Object-Oriented Paradigm
– Focus on objects
– Implementation details
are local to the object
– Design;
– Validation;
– Evolution.
A
n
a
l
y
s
i
s
Design
Code
Testing
Waterfall Model Characteristics
• The classic life cycle - oldest and most widely used paradigm
Generation
Testing &
Time period
Turnover
RAD Characteristics
• “High-speed” version of waterfall model
– personnel overturn
– incomplete implementation
– inaccurate testing
– impossible to maintain
Conclusion
• Tips to Solve a problem
– Analyse Problems
– Synthesize a solution