CSE320 - Unit1 - 1 Introduction
CSE320 - Unit1 - 1 Introduction
Introduction
to
Software
Engineering
Table of Content
• Software
• Activity
2
3
Software Development Life Cycle (SDLC)
1. Planning: Define the project scope, objectives, and feasibility. This stage involves requirements
gathering and high-level scheduling.
2. Analyzing: Break down requirements to understand user needs and system constraints. This
includes creating functional and non-functional requirements.
3. Design
4. Programming (Implementation
5. Validation and Verification:
1. Validation: Ensure the product meets user requirements (e.g., through user acceptance testing).
2. Verification: Confirm that the product is built correctly according to the design and requirements (e.g.,
through reviews and inspections).
6. High-Level Testing:
1. Includes system testing and integration testing to ensure all modules work together as expected.
7. Beta Testing: Release the software to a limited audience (real users) for feedback and
uncovering issues not detected during internal testing.
4
• Non-Branded:
Approach Build and Deliver
• Branded:
Follows the Engineering Approach(initial step to last step)
Idea Maintenance Regular Updation 5
Why is Software Engineering required?
6
What is software?
Computer programs and associated documentation
8
Definition
9
IEEE Definition of Software Engineering
The application of a systematic, disciplined, quantifiable approach to
software development, operation, and maintenance; that is, the
application of engineering to software.
10
Evolution and Impact of
software Engineering
The term software engineering originated between 1945-1965.
• Origin will only happen when software development will start.
• In the starting there were many famous NATO conferences where actually software engineering was named.
Crisis: 1965-1985 (e.g. OS/360 multi millionaire failure project, Torus Project)
• Why Failure? Because they had not prepared any design earlier.
• Budget over run.
12
What is Software Evolution?
Definition:
• Refers to software development process
• Includes timely software updates
Reasons for Updates:
• Adding new features
• Removing obsolete functionalities
Process:
• Uses software engineering principles
• Adheres to proven software methods
13
Contd.
14
Evolution of Software Engineering
15
Aspect Art Craft Engineering
Predictable, scalable,
Outcome Highly varied; More consistent; reliant adheres to strict
inconsistent on best practices requirements 16
Contd.
In today’s world
• Software engineering is an engineering discipline
• Everyone can learn software design skills
• Coding is accessible without formal degrees
17
Impact of Software Engineering
• Technological Advancements
• Communication and Connectivity
• Automation and Efficiency
18
Contd.
• Technological Advancements
It has led to the development of new technologies, platforms, and tools that continue to shape and transform
industries.
19
ACTIVITY?
A CASE STUDY ON “Evolution of Web Browsers”
• Goal:
Understand how software engineering drives technological advancements in the modern era.
• Background:
Explore the evolution of web browsers from early text-based interfaces to modern, AI-integrated,
feature-rich applications such as Chrome, Edge, Safari, and emerging browsers powered by cloud
computing and machine learning technologies.
20
Contd.
Objectives of the Case Study
21
22
S/w Engg.
23