Software Engineering - ESC501: - Prof. Poulami Dutta
Software Engineering - ESC501: - Prof. Poulami Dutta
Software Engineering - ESC501: - Prof. Poulami Dutta
ESC501
- Prof. Poulami Dutta
2 Course Outcomes
Identify suitable life cycle model that meets specification, performance, maintenance
and quality requirements for a given software development problem.
Construct a design model using appropriate software engineering methodologies from the
given specification.
Analyze software requirements through a productive working relationship with various
stakeholders of the project and come up with a viable project plan to deliver the product
with optimized effort, time and cost using suitable estimation methods.
Develop a working model for implementation which can provide quality assurance in short
and long run utilizing relevant standards and suitable testing practices.
Design software products related to various real life problems by relating the software
architectural styles.
08/23/2021
3 ILOs (Intended Learning Outcomes)
08/23/2021
4 What is software engineering?
08/23/2021
Click icon to add picture
Engineering
Technology
Esoteric Past
Craft Systematic Use of Past
Experience Experience and Scientific Basis
Unorganized Use of
Past Experience
Art
5 Time
08/23/2021
7 Software Quality
08/23/2021
8 Types of Software
System Software: It includes the operating system & all the utilities to enable the
computer to run. Ex-OS.
Application Software: It consists of programs to perform user oriented tasks. Ex-word
processor, database management.
08/23/2021
9 Software Crisis
Software products:
08/23/2021
10 Software Crisis (cont.)
H/w cost
S/w cost
Larger problems,
Lack of adequate training in software engineering,
Increasing skill shortage,
Low productivity improvements.
08/23/2021
12 Need for Software Engineering
08/23/2021
13
Programs versus Software Products
Set of instructions related to each other Collection of programs designed for specific task
Usually small in size Large in size
Author himself is sole user Large number of users
Single developer Team of developers
Programs are defined by individuals for A software product is usually developed by a group of
their personal use engineers working as a team
Lacks proper user interface Well-designed interface
Lacks proper documentation Well documented & user-manual prepared
Ad hoc development Systematic development using principles of SE
Limited functionality Exhibits more functionality
08/23/2021
14 Software Engineering Principles
Abstraction – Omit irrelevant details and consider aspects that are relevant.
08/23/2021
15 Software Engineering Principles (cont.)
Decomposition – A complex problem is divided into several smaller problems and then the
smaller problems are solved one by one.
Each component is solved independently.
08/23/2021
16 Emergence of Software Engineering
Assembly Language
High-Level Language
Control Flow-based Design
Data-Structure Oriented Design
Data-Flow Oriented Design
Object-Oriented-based Design
08/23/2021
17
08/23/2021