UNIT1 SEMD
UNIT1 SEMD
Engineering
• Nature of Software, Software Engineering, The
Software Process, Software Myths, A Generic Process
Model Vs Prescriptive Process Models: The waterfall
Model, Incremental Process Models, Concurrent
Models, The Unified Process , Agility Principles,
Extreme Programming(XP), SCRUM.
UNIT II:Requirement
Engineering
• Requirement Engineering, Collaborative Requirements
Gathering, Quality Function Deployment, Elicitation
Work Product, Developing use cases, Building the
requirement model, Validating requirements,
Analysis: Scenario Based Modeling, UML Models,
Class-Based Modelling, Requirements Modeling
Strategies: Flow oriented modelling, SRS plan, Case
study
UNIT III:Project Planning and Management
• The Management Spectrum, Software Scope, Problem
Decomposition, Process Decomposition, Process and
project metrics, Size-Oriented Metrics, Function-
Oriented Metrics, Software Process Reconciling LOC
and FP metrics, Object- Oriented Metrics, Integrating
metrics within the software project Estimation,
Decomposition, Process based Estimation, Estimation
with use cases Empirical Estimation Models, The
Structure of Estimation Models, The COCOMO II Model,
Scheduling: Tracking the Scheduling, Project Plan,
Application
UNIT IV: Introduction to Software Design
PROF. N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
N. D. KAPALE
• We can study the
political map which
focuses on the different
provinces, capital,
major cities, railway
road connectivity etc.
• You will look into the
physical map and try to
find out the vegetation,
the elevation of the
different places, rivers,
sea shore and etc.
Why to study Software Engineering
• To acquire skills to develop large programs.
-Handling exponential growth in complexity with size.
-Systematic techniques based on abstraction(modelling)and
decomposition
• Learn systematic techniques of.
-specification,design,user interface development,testing,project
management,maintenance, etc
-appreciate issues that aries in the team development.
• To acquire skills to be better programmer
-Higher Productivity
-Better quality programs
What is Software?
1) Instructions (programs) that when executed
provide desired function and performance.
2) Data structures that enable the programs to
adequately manipulate information.
3) Documents that describe the operation and
use of the programs.
4)A logical rather than physical system element.
Characteristics of Software
• Software is engineered/developed
• Software doesn’t wear out
• Software is custom built
• Software is complex
Failure (“Bathtub”) Curve for
Hardware
Time
Wear vs. Deterioration
increased failure
rate due to side effects
Failure
rate
change
actual curve
idealized curve
Time
Software
• System software
Applications
• Real-time software
• Business software
• Engineering/scientific software
• Embedded software
• PC software
• WebApps (Web applications)
• AI software
The Cost of
Change 60-100x
1.5-6x
1x