Anda di halaman 1dari 34

Software Process Model

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK


CSH2E4

Teknik Informatika – Telkom University

1 8/27/2018
Outline
Definition of Process Model
Generic Process Model
Process Flow
Process Model

2 8/27/2018
What SW Model Process?
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

3 8/27/2018
Generic Process Model
Consists of 5 general activities in software development :

 Communication

 Planning

 Modeling

 Construction

 Deployment.

4 8/27/2018
Process Flow
 Linear Process Model

 Iterative Process Model

 Evolutionary Process Model

5 8/27/2018
Linear Process Flow

System/Information
Engineering

Analysis Design Code Test

6 8/27/2018
Iterative Process Flow

Communication Planning Modelling Construction Deployment


Evolutionary Process Flow
Communication

Deployment Planning

Construction Modelling
Software Process Model
1. Waterfall Model
2. V Shapes Model
3. Incremental Model
4. Evolutionary Model
a. Prototyping Model
b. Spiral Model
5. Component Based Development
6. The Unified Process

9 8/27/2018
The Waterfall Model
The Oldest paradigm (process model), sometime
called the Classic life cycle
The Principle Stage are
– Requirement analysis and definition
– System and SW design
– Implementation and unit testing
– Integration and system testing
– Operation and maintenance

10 8/27/2018
The Waterfall Model (cont’)

11 8/27/2018
The Waterfall Model (cont’)
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

12 8/27/2018
The Waterfall Model (cont’)
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.

13 8/27/2018
The Waterfall Model (cont’)
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.

14 8/27/2018
V Shapes Model
The V-Shaped life cycle is a sequential path of
execution of processes
Testing is emphasized in this model in every
stages

15 8/27/2018
V Shapes Model (Cont’)

16 8/27/2018
V Shapes Model (Cont’)
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.

17 8/27/2018
The Incremental Model
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.

18 8/27/2018
The Incremental Model (Cont’)

19 8/27/2018
The Incremental Model (Cont’)
Advantages

More flexible – less costly to change scope and requirements.

Easier to test and debug during a smaller iteration.

It is easier to get customer feedback on the development work that has been done.

More rapid delivery and deployment of useful software to the customer is possible, even if all of the
functionality has not been included.

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

Each iteration is an easily managed milestone.

Disadvantages

The process is not visible. Managers need regular deliverables to measure progress. If systems are developed
quickly, it is not cost-effective to produce documents that reflect every version of the system.

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

20 8/27/2018
Evolutionary Model
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

21 8/27/2018
Evolutionary Model : Prototyping
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

22 8/27/2018
Evolutionary Model : Prototyping (Cont’)

Qu ick p lan

Com m unicat ion

Mo d e lin g
Qu ick d e sig n

Deployment
De live r y
& Fe e dback Const r uct ion
of
pr ot ot ype

23 8/27/2018
Evolutionary Models: The Spiral
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

24 8/27/2018
Evolutionary Models: The Spiral (Cont’)
planning
estimation
scheduling
risk analysis

communication

modeling
analysis
design
start

deployment
construction
delivery
code
feedback test

25 8/27/2018
Evolutionary Models: The Spiral(Cont’)
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.

26 8/27/2018
Component – based development
development—the process to apply when reuse is
a development objective
The model composes applications from
prepackage software components
Components can be designed as either
conventional software module or OO classes or
Package of classes.

27 8/27/2018
Component – based development

28 8/27/2018
Component – based development (Step)

29 8/27/2018
The Unified Process
a ―use-case driven, architecture-centric, iterative
and incremental‖ software process closely aligned
with the Unified Modeling Language (UML)
Detail Discussion in OOT

30 8/27/2018
The Unified Process (Cont’)

31 8/27/2018
The Unified Process (Cont’)

32 8/27/2018
References
Roger S. Pressman. Software Engineering, 8th
edition. 2014
Ian Sommerville. Software Engineering, 9th
edition. 2011.

33 8/27/2018
THANK YOU

Anda mungkin juga menyukai