Prof. A. Acharya

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Prof. A.

Acharya
What is Software Engineering?

Why Study Software Engineering?


What is Software Engineering?

 What is Engineering?

 How Engineering is different from Science?


What is Software Engineering?
 Engineering approach to develop software.
 Building Construction Analogy.

Construct a wall

Construct a Building
How Software Engineering evolved?

Systematic collection of past experience:


 Techniques,
 Methodologies,
 Guidelines.
Software as a product
vs

Prepared by: Prof. Amitabha Acharya, CSE, HITK


1. Software is developed or engineered; it is not manufactured
in the classical sense.

2. Software doesn’t “wear out”.

3. Softwares are custom built. …


Programs versus Software Products

 Usually small in size  Large


 Author himself is sole  Large number of users
user
 Single developer  Team of developers
 Lacks proper user  Well-designed interface
interface
 Lacks proper  Well documented &
documentation user-manual prepared
 Ad hoc development.  Systematic development
Why Study Software Engineering? (1)

 To acquire skills to develop large programs.


 Exponential growth in complexity and
difficulty level with size.
 The ad hoc approach breaks down when size
of software increases.
Why Study Software Engineering? (2)
 Ability to solve complex programming problems:
 How to break large projects into smaller and
manageable parts?
 How to use abstraction?

 Also learn techniques of:


 Specification, design, user interface
development, testing, project management, etc.
Why Study Software Engineering? (3)

 To acquire skills to be a better programmer:


 Higher Productivity

 Better Quality Programs


Software Crisis
Software products

 Fail to meet user requirements.


 Frequently crash.
 Expensive.
 Difficult to alter, debug, and enhance.
 Often delivered late.
 Use resources non-optimally.
What you are going to learn from this subject?
 Prepare software requirement specifications as per IEEE
guidelines.

 Design software systems using industry standard


techniques

 Testing of a software in a methodical manner.

 Estimate software size using industry-standard methods

 Work out software project schedule and staffing plan.

 Identify software project risks and their mitigation


approach.
Thank You

You might also like