Software Model Process - IT Telkom

offbeatnothingSoftware and s/w Development

Dec 2, 2013 (3 years and 11 months ago)

85 views

CSG2J3

IT Telkom


Definition


Model Process


Waterfall Model


Incremental Model


Incremental Model


RAD Model


Evolutionary Model


Prototyping Model


Spiral Model


V
Shapes Model





Software Model Process is an
abstract
representation

of a software process.


Software Model Process provide a
useful
roadmap

for software engineering work


All software models can accommodate the
generic framework activity (fundamental
activity) in SE, but each applies different
emphasis to these activities and defines
workflow that invokes each framework
activity in different manner







The Oldest paradigm (process model),
sometime called
the
Classic life cy
cle


The Principle Stage are


Requirement analysis and definition


System and SW design


Implementation and unit testing


Integration and system testing


Operation and maintenance







The following phase should not start until the
previous phase has finished


In practice, the stage could overlap


The problem with waterfall model is its
inflexible partitioning

of the project into
these distinct stages


Advantages



Simple
and easy to use.


Easy
to manage due to the rigidity of the
model


each phase has specific deliverables
and a review process.


Phases
are processed and completed one at a
time.


Works
well for smaller projects where
requirements are very well understood.


Disadvantages


Adjusting
scope during the life cycle can kill a
project


No
working software is produced until late
during the life cycle.


High
amounts of risk and uncertainty.


Poor
model for complex and object
-
oriented
projects.


Poor
model for long and ongoing projects.


Poor
model where requirements are at a
moderate to high risk of changing.



Combines elements of the
waterfall

model
applied in an
iterative

fashion


Applies
linear sequences
in a staggered
fashion as calendar
time progresses


Each linear sequence produces deliverables
‘increments’ of the software.


When an incremental model is used, the first
increment is often a core product.


C
o
m
m
u
n
i
c
a
t
i
o
n
P
l
a
n
n
i
n
g
M
o
d
e
l
i
n
g
C
o
n
s
t
r
u
c
t
i
o
n
D
e
p
l
o
y
m
e
n
t



d
e
l
i
v
e
r
y



f
e
e
d
b
a
c
k
a
n
a
l
y
s
i
s

d
e
s
i
g
n
c
o
d
e

t
e
s
t
i
n
c
r
e
m
e
n
t

#

1
i
n
c
r
e
m
e
n
t

#

2
d
e
l
i
v
e
r
y

o
f

1
s
t

i
n
c
r
e
m
e
n
t
d
e
l
i
v
e
r
y

o
f

2
n
d

i
n
c
r
e
m
e
n
t
d
e
l
i
v
e
r
y

o
f

n
t
h

i
n
c
r
e
m
e
n
t
i
n
c
r
e
m
e
n
t

#

n
p
r
o
j
e
c
t

c
a
l
e
n
d
a
r

t
i
m
e
C
o
m
m
u
n
i
c
a
t
i
o
n
P
l
a
n
n
i
n
g
M
o
d
e
l
i
n
g
C
o
n
s
t
r
u
c
t
i
o
n
D
e
p
l
o
y
m
e
n
t



d
e
l
i
v
e
r
y



f
e
e
d
b
a
c
k
a
n
a
l
y
s
i
s

d
e
s
i
g
n
c
o
d
e

t
e
s
t
C
o
m
m
u
n
i
c
a
t
i
o
n
P
l
a
n
n
i
n
g
M
o
d
e
l
i
n
g
C
o
n
s
t
r
u
c
t
i
o
n
D
e
p
l
o
y
m
e
n
t



d
e
l
i
v
e
r
y



f
e
e
d
b
a
c
k
a
n
a
l
y
s
i
s

d
e
s
i
g
n
c
o
d
e

t
e
s
t
Advantages



Generates working software quickly and early during the
software life cycle.


More
flexible


less costly to change scope and requirements.


Easier
to test and debug during a smaller iteration.


Easier
to manage risk because risky pieces are identified and
handled during its iteration.


Each
iteration is an easily managed milestone.




Disadvantages



Each
phase of an iteration is rigid and do not overlap each other.


Problems
may arise pertaining to system architecture because
not all requirements are gathered up front for the entire software
life cycle.



RAD is an
incremental
software process
model that emphasizes a
short development
cycle


Using
Component based construction
approach


C
o
m
m
u
n
i
c
a
t
i
o
n
P
l
a
n
n
i
n
g
M
o
d
e
l
i
n
g
b
u
s
i
n
e
s
s

m
o
d
e
l
i
n
g

d
a
t
a

m
o
d
e
l
i
n
g

p
r
o
c
e
s
s

m
o
d
e
l
i
n
g
C
o
n
s
t
r
u
c
t
i
o
n
c
o
m
p
o
n
e
n
t

r
e
u
s
e

a
u
t
o
m
a
t
i
c

c
o
d
e




g
e
n
e
r
a
t
i
o
n

t
e
s
t
i
n
g
D
e
p
l
o
y
m
e
n
t
6
0

-

9
0

d
a
y
s
T
e
a
m

#

1
M
o
d
e
l
i
n
g
b
u
s
i
n
e
s
s

m
o
d
e
l
i
n
g

d
a
t
a

m
o
d
e
l
i
n
g

p
r
o
c
e
s
s

m
o
d
e
l
i
n
g
C
o
n
s
t
r
u
c
t
i
o
n
c
o
m
p
o
n
e
n
t

r
e
u
s
e

a
u
t
o
m
a
t
i
c

c
o
d
e




g
e
n
e
r
a
t
i
o
n

t
e
s
t
i
n
g
M
o
d
e
l
i
n
g
b
u
s
i
n
e
s
s

m
o
d
e
l
i
n
g

d
a
t
a

m
o
d
e
l
i
n
g

p
r
o
c
e
s
s

m
o
d
e
l
i
n
g
C
o
n
s
t
r
u
c
t
i
o
n
c
o
m
p
o
n
e
n
t

r
e
u
s
e

a
u
t
o
m
a
t
i
c

c
o
d
e




g
e
n
e
r
a
t
i
o
n

t
e
s
t
i
n
g
T
e
a
m

#

2
T
e
a
m

#

n
i
n
t
e
g
r
a
t
i
o
n

d
e
l
i
v
e
r
y

f
e
e
d
b
a
c
k
The
advantages

and
disadvantages

of RAD



RAD reduces the development time


Reusability of components help to speed up development.


All functions are modularized so it is easy to work with.


For large projects RAD require highly skilled engineers in
the team.


Both end customer and developer should be committed to
complete the system in a much abbreviated time frame


If commitment is lacking RAD will fail.


RAD is based on Object Oriented approach and if it is
difficult to modularize the project the RAD may not work
well.



Business and product requirement
often
change
as development proceed



Software engineer need a process model that
has been
explicitly designed
to accommodate
a product that evolves over time



Evolutionary models are
iterative
. Enables
software engineers to develop increasingly
more complete version of the software



Customer defines a set of
general objectives
for software but doesn’t identify the detail


Assist the software engineer and the
customer to better understand what is to be
built when
requirement are fuzzy





C
o
m
m
u
n
i
c
a
t
i
o
n
Q
u
i
c
k

p
l
a
n
C
o
n
s
t
r
u
c
t
i
o
n

o
f

p
r
o
t
o
t
y
p
e
M
o
d
e
l
i
n
g




Q
u
i
c
k

d
e
s
i
g
n
D
e
l
i
v
e
r
y

&

F
e
e
d
b
a
c
k
D
e
p
l
o
y
m
e
n
t

Proposed by Boehm


Evolutionary software process model that
couples the
iterative

nature of prototyping
with the controlled and
systematic aspect
of
the waterfall model


Each loop
in the spiral
represents a phase
of
the software process.


The important distinction between spiral
model and other software models is the
explicit consideration of risk




communication
planning
modeling
construction
deployment

delivery
feedback
start
analysis
design
code
test
estimation
scheduling
risk analysis
Advantages






High amount of risk analysis


Good for large and mission
-
critical projects.


Software is produced early in the software life cycle.




Disadvantages






Can be a costly model to use.


Risk analysis requires highly specific expertise.


Project’s success is highly dependent on the risk
analysis phase.


Doesn’t work well for smaller projects.



The
V
-
Shaped life cycle is a sequential path
of execution of
processes


Testing
is emphasized in this
model
in every
stages


Advantages


Simple
and easy to use.


Each
phase has specific deliverables.


Higher
chance of success over the waterfall model due to the
development of test plans early on during the life cycle.


Works
well for small projects where requirements are easily
understood.




Disadvantages


Very
rigid, like the waterfall model.


Little
flexibility and adjusting scope is difficult and
expensive.


Software
is developed during the implementation phase, so
no early prototypes of the software are produced.


Model
doesn’t provide a clear path for problems found
during testing phases.



Model Process


Waterfall Model


Incremental Model


Incremental Model


RAD Model


Evolutionary Model


Prototyping Model


Spiral Model


V Shapes Model