Вы находитесь на странице: 1из 41

Software Model Process

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK


CSH2E3

by : Tim Pengajar APPL


Teknik Informatika Telkom University

2/1/17

Outline
Definition of Process Model
Generic Process Model
Process Flow
Process Model

2/1/17

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

2/1/17

Generic Process Model


Consists of 5 general activities in software development :
Communication
Planning
Modeling
Construction
Deployment.
4

2/1/17

Process Flow

Linear Process Model


Iterative Process Model
Evolutionary Process Model

2/1/17

Linear Process Flow


System/Informati
on Engineering

Analy
sis

2/1/17

Desig
n

Code

Test

Iterative Process Flow

Evolutionary Process Flow


Communicatio
n

Deployment

Construction

Planning

Modelling

Process Model
Waterfall Model
V Shapes Model
Incremental Model
Evolutionary Model
Prototyping Model
Spiral Model
Component Based Development
The Unified Process
Personal Software Process
Team Software Process
9

2/1/17

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

2/1/17

The Waterfall Model (cont)

11

2/1/17

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

2/1/17

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

2/1/17

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

2/1/17

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

2/1/17

V Shapes Model (Cont)

16

2/1/17

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 doesnt provide a clear path for problems found during testing phases.
17

2/1/17

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

2/1/17

The Incremental Model (Cont)

19

2/1/17

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

2/1/17

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

2/1/17

Evolutionary Model : Prototyping


Customer defines a set of general objectives for software but
doesnt identify the detail
Assist the software engineer and the customer to better understand
what is to be built when requirements are fuzzy

22

2/1/17

Evolutionary Model : Prototyping (Cont)


Quick plan

Communication

Modeling
Quick design

Deployment
Delivery
& Feedback

23

2/1/17

Construction
of
prototype

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

2/1/17

Evolutionary Models: The Spiral (Cont)


planning
estimation
scheduling
risk analysis

communication
modeling
analysis
design
start

deployment
delivery
feedback

25

2/1/17

construction
code
test

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.
Projects success is highly dependent on the risk analysis phase.
Doesnt work well for smaller projects.
26

2/1/17

Component based development


developmentthe 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

2/1/17

Component based development

28

2/1/17

Component based development (Step)

29

2/1/17

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 Object-Oriented Paradigm

30

2/1/17

The Unified Process (Cont)

31

2/1/17

The Unified Process (Cont)

32

2/1/17

Personal SW Process
Defines 5 activities :
Planning
High Level Design
High Level Design Review
Development
Postmorteem

33

2/1/17

Personal Software Process (Cont)


PSP stresses the need for you to identify errors early and
understand the type of errors that you are likely to make
PSP represents a disciplined and metric-based approach.

34

2/1/17

Team Software Process


Defines activities :
Project launch
High level design
Implementation
Integration and test
Postmorteem

35

2/1/17

Team Software Process (cont)


Objectives of TSP :
Build self-directed teams that plan and track their work,establish goals, and own
their processes and plans
Show managers how to coach and motivated their teams and how to help them
sustain peak performance
Accelerate sw process improvement
Provide improvement guidance to high maturity organizations
Facilitate university teaching of industrial-grade team skills

36

2/1/17

Team Software Process (cont)


TSP scripts define elements of the team process and activities that
occur within the process
Team members set project objectives, adapt the process to meet
their needs, control th project schedule, and through measurement
and analysis of the metric collected, work continually to improve the
teams approach to SE

37

2/1/17

Adapting a Process Model


the overall flow of activities, actions, and tasks and the interdependencies among them
the degree to which actions and tasks are defined within each framework activity
the degree to which work products are identified and required
the manner which quality assurance activities are applied
the manner in which project tracking and control activities are applied
the overall degree of detail and rigor with which the process is described
the degree to which the customer and other stakeholders are involved with the project
the level of autonomy given to the software team
the degree to which team organization and roles are prescribed

38

These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by
Roger Pressman.

Case Study
Sebuah divisi pergudangan pada sebuah perusahaan meminta departemen IT
untuk mengembangkan sebuah software untuk pengolahan data inventaris
barang yang mereka miliki. Pada fase awal departemen IT harus membuat core
product yang berisi fungsionalitas pencatatan barang. Fase pengembangan
berikutnya akan ditambah dengan fungsionalitas untuk pengaturan
pengelompokan barang inventaris. Selanjutnya perangkat lunak akan
dikembangkan terus hingga menghasilkan software jadi yang diinginkan divisi
pergudangan.
Sebutkan model proses yang paling sesuai dengan persoalan tersebut dan
jelaskan alasannya !

39

2/1/17

References
Roger S. Pressman. Software Engineering: A Practicioners
Approach, 7th edition. 2010
Ian Sommerville. Software Engineering, 9th edition. 2011.

40

2/1/17

THANK YOU