SOFTWARE
ENGINEERING
FUNDAMENTALS OF SOFTWARE ENGINEERING
INTRODUCTIONTO SOFTWARE
ENGINEERING
• What is software engineering?
Software engineering is the design, development and documentation of software by
applying technologies and practices from computer science, project management,
engineering, application domains, interface design and other fields. It is an engineering
discipline that is concerned with all aspects of software production.
“Software Engineering is a collection of theories, techniques and tools which enable
humans to design, construct and maintain large software products. It is the setting up and
application of sound engineering principles in order to obtain cost-effectively developed,
dependable and resourceful software”
What kind of activity is software engineering?
Every Problem in Software engineering is new one and
carries its own set of development constraints and resources. It may
have its similarities to earlier problems. Software engineers should
adopt a systematic and organized approach to their work and use
appropriate tools and techniques depending on the problem to be
solved. The software engineering can be the integration of following
activities.
I. Modeling Activity
II. Problem-solving activity
III. Knowledge acquisition activity
IV. Rationale-driven activity
History of Software Engineering
The most important development was the new chapters were
coming out almost every year or two, rendering existing ones obsolete. Software
people had to rewrite all their programs to run on these new machines.
Origin
The term software Engineering first appeared in the late 1950’s
and early 1960’s. Programmers have always known about civil, electrical and
computer engineering and debated what engineering might mean for software.
The NATO Science committee sponsored two conferences on
software engineering in 1960 (GERMANY) and 1969, which gave the field initial
boost.
SOFTWARE CRISIS
• Software engineering was spurred by the so-called software crisis of the
1960s,1970s and 1980s which identified many of the problems of
software development. Many software projects ran over budget and
schedule. Some caused property damage. A few projects caused loss of
life.The software crisis was originally defined in terms of productivity, but
evolved to emphasize quality.
SOFTWARE ENGINEERING MANTRA
• Developing a Program is simple
• Developing a good quality program is tough
• Developing a good program within a deadline is super
tough
SOFTWARE ENGINEERING WILL ENABLEYOUTO
DEVELOP A GOOD PROGRAMWITH DEADLINE
LAYERS OF SOFTWARE ENGINEERING
• A set of process layers require to develop quality
software.
QUALITY
PROCESS
METHODS
TOOLS
FEATURES OF SOFTWARE
ENGINEERING
Development of large software systems
Cooperation between people
Software system effectively supports
user
Efficiency of software
WHY SOFTWARE ENGINEERING
 To improve the accuracy of software
 To improve performance of the software
 To improve development process
 To provide scope for software change management
 To develop software that satisfies the requirements of the users.
 To develop software within the budget…
A well engineered software system is:
 Maintainable
Reliable
Efficient
Appropriate User Interface
ELEMENTS OF SOFTWARE
ENGINEERING
TOOLS
TECHNIQUES
PARADIGMS
PRINCIPLES OF SOFTWARE
ENGINEERING

introduction about software engineering for mca srudents

  • 1.
  • 2.
    INTRODUCTIONTO SOFTWARE ENGINEERING • Whatis software engineering? Software engineering is the design, development and documentation of software by applying technologies and practices from computer science, project management, engineering, application domains, interface design and other fields. It is an engineering discipline that is concerned with all aspects of software production. “Software Engineering is a collection of theories, techniques and tools which enable humans to design, construct and maintain large software products. It is the setting up and application of sound engineering principles in order to obtain cost-effectively developed, dependable and resourceful software”
  • 3.
    What kind ofactivity is software engineering? Every Problem in Software engineering is new one and carries its own set of development constraints and resources. It may have its similarities to earlier problems. Software engineers should adopt a systematic and organized approach to their work and use appropriate tools and techniques depending on the problem to be solved. The software engineering can be the integration of following activities. I. Modeling Activity II. Problem-solving activity III. Knowledge acquisition activity IV. Rationale-driven activity
  • 4.
    History of SoftwareEngineering The most important development was the new chapters were coming out almost every year or two, rendering existing ones obsolete. Software people had to rewrite all their programs to run on these new machines. Origin The term software Engineering first appeared in the late 1950’s and early 1960’s. Programmers have always known about civil, electrical and computer engineering and debated what engineering might mean for software. The NATO Science committee sponsored two conferences on software engineering in 1960 (GERMANY) and 1969, which gave the field initial boost.
  • 5.
    SOFTWARE CRISIS • Softwareengineering was spurred by the so-called software crisis of the 1960s,1970s and 1980s which identified many of the problems of software development. Many software projects ran over budget and schedule. Some caused property damage. A few projects caused loss of life.The software crisis was originally defined in terms of productivity, but evolved to emphasize quality.
  • 6.
    SOFTWARE ENGINEERING MANTRA •Developing a Program is simple • Developing a good quality program is tough • Developing a good program within a deadline is super tough SOFTWARE ENGINEERING WILL ENABLEYOUTO DEVELOP A GOOD PROGRAMWITH DEADLINE
  • 7.
    LAYERS OF SOFTWAREENGINEERING • A set of process layers require to develop quality software. QUALITY PROCESS METHODS TOOLS
  • 8.
    FEATURES OF SOFTWARE ENGINEERING Developmentof large software systems Cooperation between people Software system effectively supports user Efficiency of software
  • 9.
    WHY SOFTWARE ENGINEERING To improve the accuracy of software  To improve performance of the software  To improve development process  To provide scope for software change management  To develop software that satisfies the requirements of the users.  To develop software within the budget… A well engineered software system is:  Maintainable Reliable Efficient Appropriate User Interface
  • 10.
  • 11.