Software
Engineering
Lecture 2
Hira Ansari
Software Engineering in IEEE
• IEEE definition: “Application of a systematic,
disciplined, quantifiable approach to the
development, operation, and maintenance of
software.”
• Plain English: Using engineering principles to
build useful, reliable, maintainable software
under constraints (time, budget, quality).
(Pressman)
• Key takeaway: SE ≠ just programming; it’s
requirements, design, quality assurance,
Software
Engineer
ing
Layers
Software engineering layers
Quality Focus: The umbrella goal guiding every activity.
Process: Framework of activities (communication, planning,
modeling, construction, deployment).
Methods: Technical “how-to” — requirements analysis, design
techniques, testing, metrics.
Tools: CASE tools, IDEs, CI/CD, modeling tools — automate or
support methods. (Pressman model paraphrased)Why layers? To align
teams around quality through repeatable process, rigorous methods,
and supportive tools.
Software
Engineering
Layers
• Methods:
• Provides
technical how
to for building
the software
• Encompasses
broad array of
tasks such as
requirement
analysis,
designing,
coding, testing
etc.
Software
Engineering
Layers
• Software Process :
• It is a glue that
holds technology
together
• Enables rational
and timely software
end product
delivery
• It lays foundation
for the following
things:
• Project
Management
• Budget
• Schedule
Software Engineering
Layers
Software Process
Software
Engineering
Layers
• Software Tools :
• It provides semi automated or automated support for
methods and processes
• It provides support engineers or stakeholders to
perform their task in a systematic or automatic manner
Process
Framewor
k
Activiti
es
Communication:
Eliciting
requirements;
stakeholder
analysis.
Deployment:
Delivery,
feedback loops,
DevOps practices.
(Pressman
framework
paraphrased)
Construction:
Coding standards,
code reviews,
unit/integration
tests.
Planning: Scope,
estimates,
schedule, risk
identification.
Modeling:
Requirements
models (use
cases), design
models
(architectural,
component, data).
The Software Crisis and
SE’s Birth
Historical trigger:
Late 1960s awareness
of large projects
failing on cost,
schedule, and quality;
popularized after NATO
1968 Garmisch
conference.
Consequences:
Formalization of
processes, better
modeling,
configuration
management, testing,
project management
Overview
of
Process
Models
Plan-Driven: Waterfall
(sequential), V-model
(test-mapped).
Evolutionary: Incremental
(build in slices), Spiral
(risk-driven cycles).
Agile: Scrum, XP
(iterative, customer
collaboration, responding
to change)
Umbrella
Activities
• Software engineering process framework
activities are complemented by a number
of umbrella activities
• In simple terms these activities are
generic and applied throughout software
project
Umbrella
Activities
• Some of these activities are:
• Software project tracking and control
• Risk management
• Software quality assurance
• Technical reviews
• Measurement
• Software configuration management
• Reusability management
• Documentation and production