You are on page 1of 13

Software Engineering

SWE1002

Module 1

An Overview of Software Engineering

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 1
What is software
▪ Software is a collection of programs to acquire inputs and
generates desired output after execution in terms of functions
and performance as determined by users.

▪ It also includes set of documents, user manual in order to


enable users to understand its functionality and usage.
Data

Rules Software Procedure

Documentation Programs

Software is a logical rather than a physical system element


03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 2
Characteristics of Software

• Intangible
• Software is developed using engineering approach
• Reliability
• Portability (easy to alter/modify)
• Non-perishable (may obsolete, but doesn’t wear out)
• Operational in specific environment, end user, etc.
• Maintainability
• Reusability

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 3
Types of software

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 4
Causes of software crisis
▪ Increasing user requirements
▪ Expensive (cost overrun)
▪ Difficult to alter, debug or enhancement
▪ Delayed delivery
▪ Non-optimal resource utilization

Sales

28

49

23

succesful project completion cancelled project challenged project

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 5
What is Software Engineering?
• The term software engineering is the product of two words,
software, and engineering.

• Software, when made for a specific requirement is called a


software product.

• Engineering, on the other hand, is all about developing products,


using well-defined, scientific principles and methods.

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 6
Definition
• Software Engineering is an engineering, technological and managerial
discipline that provides systematic approach to the development,
operation, maintenance and retirement of software product. The result
of software engineering is an effective and reliable software product.
• IEEE(Institute of Electrical and Electronics Engineers) definition:

• Software Engineering: (1) The application of a systematic, disciplined,


quantifiable approach to the development, operation, and maintenance of
software; that is, the application of engineering to software.

• The study of approaches as in (1).

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 7
Software development phases

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 8
Importance of Software Engineering

To minimize Software
Effectiveness
Cost

Importance
Handling Large Projects
Reduce the time Effort of Software
Engineering

Reduces complexity
Reliable Software

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 9
Is software development an Art or systematic
engineering approach??

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 10
Layers of software engineering

Tools provides “self


operational system”

“how to execute” the phases

•Communication
•Planning
•Modeling or prototyping
•Development and testing
•Deployment

Ensure usage of product


by only authorized users

The foundation for software engineering is the process layer.

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 11
Challenges of SE
▪ Problem understanding
▪ Product quality and productivity (productivity measurement unit KLOC PPM)
▪ Cycle time and cost
▪ Reliability
▪ Maintainability
▪ Usability and reusability
▪ Estimation and planning

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 12
Evaluation of SE methodologies

03-09-2023 Dr. Tauseef Khan, Assistant Professor (Senior grade 1), SCOPE 13

You might also like