What is Software?
A set of instructions, programs, and data that tell a computer or
other electronic device what to do and how to perform specific
tasks.
 It is the intangible counterpart to hardware, which includes
the physical components of a device.
 Software enables users to interact with a device, perform
functions like word processing or browsing the web, and
makes hardware useful.
What is Software
Engineering?
 A disciplined way of building software known as
SWE
 SWE processes Uses methods, tools, and
standards
 Goal: build reliable, efficient, and maintainable
software
History of Software & SE
The history of software began with the theoretical work of Ada Lovelace
and Alan Turing, with the first physical software written by Tom Kilburn
in 1948 for the Manchester Baby computer.
 1940s–60s: Simple programs, small teams
Languages like C, Pascal, and the object-oriented Simula (1965) and
Smalltalk (1980) emerged
 1968: Software crisis → formal methods needed
Object-oriented programming became a key concept with languages like
C++ and Java appearing in the 1980s and 1990s.
 1970s–90s: Models like Waterfall, Agile
Cloud computing and the integration of Artificial Intelligence (AI) and
Machine Learning (ML) into software became mainstream
 2000s–Now: Large-scale, cloud-based systems
The Software Crisis
 Many early projects failed or ran late
 Costs increased, systems unreliable
 Difficulty managing growing complexity
 Created demand for structured engineering
Why the Crisis Still Matters
 Systems today are even larger
 Higher user expectations
 Need better planning and teamwork
 Strong engineering practices required
What Software Engineers Do
 Understand user needs
 Plan and design systems
 Write code with standards
 Test thoroughly
 Deploy and maintain systems
Software Engineering vs
Programming
 Programming = writing code
 Software Engineering = full development process
 Covers planning, design, testing, maintenance
Part of SWE
Programming
(writing code)
Software Engineering
(planning, design, coding,
testing, maintenance)
Professional Software
Development
 Teamwork and communication
 Documentation at every step
 Coding standards and reviews
 Testing and debugging
 Version control (Git)
Why Teams Need Process
 Avoid confusion and rework
 Meet deadlines reliably
 Ensure quality and consistency
 Handle large and complex projects
SDLC Introduction
SDLC stands for “Software Development Life Cycle”,
is a systematic process for designing, developing,
and maintaining software to ensure high quality
and efficiency.
Why To follow SDLC:
 A structured process for building software
 Gives clear steps from start to finish
 Improves quality and reduces project risks
SDLC Phases
Requirement
Design
Code
Test
Deploy
Maintain
Modeling in Software
Engineering
 Helps visualize the system before building
 Improves communication
 Reduces design mistakes early
 Simple diagrams make ideas clear
Qualities of Good Software
 Performs correctly
 Reliable and secure
 Fast and efficient
 Easy to maintain
 Simple for users to understand
Software Engineering in Real
Life
 Teams follow SDLC steps
 Use tools like GitHub and Jira
 Continuous testing and updates
 Agile teamwork and planning
Course Overview
 How software is planned and built
 Ways teams develop software
 Writing clear requirements
 Drawing simple system diagrams
 Basics of design and testing
 Teamwork and tools like GitHub

First lecture introduction to Software_Engineering.pptx

  • 1.
    What is Software? Aset of instructions, programs, and data that tell a computer or other electronic device what to do and how to perform specific tasks.  It is the intangible counterpart to hardware, which includes the physical components of a device.  Software enables users to interact with a device, perform functions like word processing or browsing the web, and makes hardware useful.
  • 2.
    What is Software Engineering? A disciplined way of building software known as SWE  SWE processes Uses methods, tools, and standards  Goal: build reliable, efficient, and maintainable software
  • 3.
    History of Software& SE The history of software began with the theoretical work of Ada Lovelace and Alan Turing, with the first physical software written by Tom Kilburn in 1948 for the Manchester Baby computer.  1940s–60s: Simple programs, small teams Languages like C, Pascal, and the object-oriented Simula (1965) and Smalltalk (1980) emerged  1968: Software crisis → formal methods needed Object-oriented programming became a key concept with languages like C++ and Java appearing in the 1980s and 1990s.  1970s–90s: Models like Waterfall, Agile Cloud computing and the integration of Artificial Intelligence (AI) and Machine Learning (ML) into software became mainstream  2000s–Now: Large-scale, cloud-based systems
  • 4.
    The Software Crisis Many early projects failed or ran late  Costs increased, systems unreliable  Difficulty managing growing complexity  Created demand for structured engineering
  • 5.
    Why the CrisisStill Matters  Systems today are even larger  Higher user expectations  Need better planning and teamwork  Strong engineering practices required
  • 6.
    What Software EngineersDo  Understand user needs  Plan and design systems  Write code with standards  Test thoroughly  Deploy and maintain systems
  • 7.
    Software Engineering vs Programming Programming = writing code  Software Engineering = full development process  Covers planning, design, testing, maintenance Part of SWE Programming (writing code) Software Engineering (planning, design, coding, testing, maintenance)
  • 8.
    Professional Software Development  Teamworkand communication  Documentation at every step  Coding standards and reviews  Testing and debugging  Version control (Git)
  • 9.
    Why Teams NeedProcess  Avoid confusion and rework  Meet deadlines reliably  Ensure quality and consistency  Handle large and complex projects
  • 10.
    SDLC Introduction SDLC standsfor “Software Development Life Cycle”, is a systematic process for designing, developing, and maintaining software to ensure high quality and efficiency. Why To follow SDLC:  A structured process for building software  Gives clear steps from start to finish  Improves quality and reduces project risks
  • 11.
  • 12.
    Modeling in Software Engineering Helps visualize the system before building  Improves communication  Reduces design mistakes early  Simple diagrams make ideas clear
  • 13.
    Qualities of GoodSoftware  Performs correctly  Reliable and secure  Fast and efficient  Easy to maintain  Simple for users to understand
  • 14.
    Software Engineering inReal Life  Teams follow SDLC steps  Use tools like GitHub and Jira  Continuous testing and updates  Agile teamwork and planning
  • 15.
    Course Overview  Howsoftware is planned and built  Ways teams develop software  Writing clear requirements  Drawing simple system diagrams  Basics of design and testing  Teamwork and tools like GitHub