0% found this document useful (0 votes)
3 views23 pages

CSE320 - Unit1 - 1 Introduction

The document provides an overview of software engineering, including its necessity, evolution, and the software development life cycle (SDLC). It discusses the importance of software engineering in managing large projects, ensuring quality, and adapting to technological changes. Additionally, it highlights the impact of software engineering on technological advancements, communication, and automation.

Uploaded by

CLASH RON
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views23 pages

CSE320 - Unit1 - 1 Introduction

The document provides an overview of software engineering, including its necessity, evolution, and the software development life cycle (SDLC). It discusses the importance of software engineering in managing large projects, ensuring quality, and adapting to technological changes. Additionally, it highlights the impact of software engineering on technological advancements, communication, and automation.

Uploaded by

CLASH RON
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Unit-1

Introduction
to

Software
Engineering
Table of Content

• Why software Engineering Required

• Evolution of S/w Engineering

• Software

• Introduction to S/w Engineering

• Impact of S/w Engineering

• 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?

Software Engineering is required due to the


following reasons:

•To manage Large software


•For more Scalability
•Cost Management
•To manage the dynamic nature of software
•For better quality Management

6
What is software?
 Computer programs and associated documentation

 Software products may be developed for a particular customer or


may be developed for a general market.
 Software products may be
1. Generic - 2. Bespoke - developed
developed to be for a single customer
sold to a range of according to their
different specification
customers
7
Software Engineering

The software is a collection of


integrated programs.

Engineering is the application


of scientific and practical knowledge
to invent, design, build, maintain,
and improve frameworks, processes, etc.

8
Definition

• Software engineering is the branch of computer science that


deals with the design, development, testing, and maintenance of
software applications.

• Stephen Schach defined the same as “A discipline whose aim is the


production of quality software, software that is delivered on time, within budget,
and that satisfies its requirements”.

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.

 1990-2000: The time of Internet came.


• And during this time the most famous s/w is system software(Microsoft Windows)

 2000-2010: Light Weight platform


• Software can run properly on mobile

Earlier Proprietary S/w  Free S/w


 2010-Current Time: Time is of AI,ML,DL 11
Software Evolution
The continuous process by which software systems undergo changes
and adaptations over time.

To accommodate new requirements, fix defects, improve performance, and


Purpose: respond to technological shifts.

Ensures software longevity, relevance, and efficiency in a dynamic


Importance: environment.

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.

Step-by-Step Process of Software Evolution

• Software Engineering as an Art


Relied on individual creativity and intuition

• Software Engineering Transition from Art to Craft


Added repeatable processes and basic guidelines

• Software Engineering transition from craft to an Engineering Discipline


Adopted scientific principles and systematic methods

14
Evolution of Software Engineering

Step-by-Step Process of Software Evolution

15
Aspect Art Craft Engineering

Focus personal creativity Shared practices / Scientific rigor, safety,


teamwork metrics

Process Ad hoc, unstructured Documented, but Formal and data-driven


somewhat flexible

Strict compliance with


Quality Control Subjective, depends on Peer review, coding testing, performance
individual standards metrics

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

Key areas where software engineering has made a


significant impact:

• 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.

• Communication and Connectivity: Revolutionized global interactions and sharing.


(The development of the internet, email, social media, and various communication tools
has revolutionized the way people interact, collaborate, and share information across the
globe)

• Automation and Efficiency: Automation reduces manual errors, enhances


productivity, and allows organizations to operate more smoothly.

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

• Trace the Historical Evolution


• Explore Technological Advancements
• Evaluate User Experience Enhancements
• Examine Security and Privacy Considerations
• Discussing Standardization Efforts
• Predict Future Trends

21
22
S/w Engg.

• Bridging Ideas and Reality


Transforms abstract concepts into working software
solutions

23

You might also like