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)
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
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