Module-1.2 SE&PM
Module-1.2 SE&PM
2
Program: B.E. ISE
Course name: SOFTWARE ENGG.
and
PROJECT
MANAGEMENT
Course code: BCS501
VI semester, MODULE -1
Faculty: DR.ABHILASH C N
Professor, Dept.of ISE, SJBIT
Software Process Flow
Engineering
The
Software Process Flow – Relating the
Framework
A software team would need significantly
more information before it could
properly execute any one of these
activities as part of the software
process.
A variation in the
representation of
the waterfall
model is called the
V-model.
PRESCRIPTIVE PROCESS MODEL – V -MODEL
V-Model depicts the relationship of quality assurance
actions to the actions associated with
communication, modeling, and early construction
activities.
As a software team moves down the left side of the
V, the basic problem requirements are refined into
progressively more detailed and technical
representations of the problem and its solution.
Once code has been generated, the team moves up
the right side of the V, essentially performing a
series of tests (quality assurance actions) that
validate each of the models created as the team
moved down the left side.
Incremental Process Models
There are many situations in which initial software
requirements are reasonably well defined, but the
overall scope of the development effort precludes a
purely linear process.
Based on the functionality and set of features you
can choose a process model that is designed to
produce the software in increments, called as the
Incremental Model.
The incremental model combines elements of linear
and parallel process flows.
Incremental Model
Incremental Model - Example
For example, word-processing software
developed using the incremental paradigm
might deliver :
1. Basic file management, editing, and document
production functions in the first increment;
2. More sophisticated editing and document production
capabilities in the second increment;
3. Spelling and grammar checking in the third
increment; and
4. Advanced page layout capability in the fourth
increment.
Evolutionary Process Models
Software, like all complex systems, evolves over
a period of time. Business and product
requirements often change as development
proceeds:
making a straight line path to an end product
unrealistic.
tight market deadlines make completion of a
comprehensive software product impossible.
limited version must be introduced to meet
competitive or business pressure.
Evolutionary Process Models
Evolutionary models are iterative. They are
characterized in a manner that enables you to develop
increasingly more complete versions of the software.
PROTOTYPING Paradigm SPIRAL
Model
Evolutionary Process Models -
PROTOTYPING
The Software developer may be unsure of the
efficiency of an algorithm, the adaptability of an
operating system, or the form that human-
machine interaction should take.
Prototyping can be used as a stand-alone
process model, it is more commonly used as a
technique that can be implemented within the
context of any one of the process models.
It begins with communication. You meet with other
stakeholders to define the overall objectives for the
software, identify whatever requirements are known,
and outline areas where further definition is
Evolutionary Process Models -
PROTOTYPING
A prototyping iteration is planned quickly, and
modeling (in the form of a “quick design”) occurs.
A quick design focuses on a representation of those
aspects of the software that will be visible to end
users (e.g., human interface layout or output
display).
The quick design leads to the construction of a
prototype.
The prototype is deployed and evaluated by
stakeholders, who provide feedback that is used to
further refine requirements.
Barry Boehm
Concurrent Process Model
The concurrent
development
model, sometimes
called concurrent
engineering,
allows a software
team to represent
iterative and
concurrent
elements of any of
the process
Concurrent Process Model
The activity—modeling—may be in any one of the
states.
Other activities, actions, or tasks (e.g.,
communication or construction) can be represented
in an analogous manner.
Concurrent modeling defines a series of events that
will trigger transitions from state to state for each
of the software engineering activities, actions, or
tasks.
Concurrent modeling is applicable to all types of
software development and provides an accurate
picture of the current state of a project.
Specialized Process Models
Specialized process models take on many of the
characteristics and tend to be applied when a
specialized or narrowly defined software
engineering approach is chosen.
1. Component-Based Development
UML Diagram
THANK YOU
HAPPY LEARNING, WRITE AND
PRACTICE TO GET BETTER OUTCOME