Anda di halaman 1dari 8

3/20/2019

Software Process Model


Teknik Informatika S1
1. Linear Sequential Model
• 1. Waterfall Model
• 2. V Model

Rekayasa Perangkat Lunak • 3. RAD Model

2. Prototyping Model
Software Process(2)
3. Evolutionary Model
• 1. Incremental Model
• 2. Spiral Model
• 3. Concurrent Development Model

4. Formal Method

5. Unified Process

6. 4GT Model

7. Agile Methods

1. Waterfall Model 1. Waterfall Model

 Sebuah pendekatan pengembangan perangkat lunak yang


sistematik dan sekuensial.

 Disebut juga ‘Classic Life Cycle’.


 Paradigma yang sudah lama sekali, tetapi masih banyak
yang memakai karena dianggap masih sesuai dengan
keadaan sekarang.

Roger S, Pressman

1. Waterfall Model 1. Waterfall Model

Ian Sommerville Alan Dennis

1
3/20/2019

Karakteristik Waterfall Model Kelebihan Waterfall Model

1. Setiap tahap menghasilkan dokumen di akhir tahapnya 1. Menghasilkan mature process pada setiap tahapnya

2. Tidak ada overlapping pada setiap tahapnya 2. Mudah untuk diaplikasikan pada sebuah proyek

3. Setiap tahapan akan punya pengaruh besar pada hasil 3. Menghasilkan sistem yang terstruktur dengan baik
di tahap berikutnya 4. Memiliki tingkat visibilitas yang tinggi (setiap tahap
4. Memerlukan biaya besar jika melakukan rework mempunyai dokumen yang jelas)

Kekurangan Waterfall Model Modified Waterfall Model


(M.Kochanski)

Sashimi
1. Ketidak fleksibelan antar tahapan

2. Sulit dalam merespon perubahan kebutuhan customer

3. Model ini hanya cocok jika:

a. Kebutuhan customer sudah sangat jelas

b. Perubahan kebutuhan dibatasi

Modified Waterfall Model Modified Waterfall Model


(M.Kochanski) (M.Kochanski)

Waterfall with Spiral Introduction Waterfall with Subprojects

2
3/20/2019

V model Rapid Application Development (RAD)

 RAD = Rapid Application Development


 Adaptasi dari waterfall model yang:
 menekankan siklus pengembangan perangkat lunak
yang sangat pendek;

 menggunakan pendekatan konstruksi berbasis


komponen.

 Menciptakan sistem fungsional yang utuh dalam waktu


60-90 hari.

Rapid Application Development (RAD) Rapid Application Development (RAD)

team #3

business
 Business Modelling
modeling

Memodelkan fungsi-fungsi bisnis untuk menjawab pertanyaan-


team #2
data
modeling
business

pertanyaan:
modeling
team #1 process
modeling
data
business
modeling
modeling
application
generation
 Informasi apa yang mengendalikan proses bisnis ? Informasi apa
data
process
modeling
testing
&
yang dimunculkan? Ke mana infomasi itu pergi? Siapa yang
modeling turnover

application memprosesnya?
generation
process

 Data Modelling
modeling
testing
&
turnover
application
generation
Aliran informasi yang didefinisikan pada fase business modelling
testing
&
turnover ditransformasikan ke dalam serangkaian obyek data.
60 - 90 hari

Rapid Application Development (RAD) Prototyping Model

 Process Modelling
Mentransformasikan obyek data pada suatu fungsi yang menghasilkan Membantu software engineer untuk mendapatkan kebutuhan
aliran informasi yang dibutuhkan. berupa feedback cepat dari customer

 Application Generation
Mengkonstruksi perangkat lunak dengan memakai komponen yang ada
(bila memungkinkan) atau menciptakan komponen yang dapat dipakai
lagi.

 Testing and Turnover


Menguji komponen baru.

3
3/20/2019

Prototyping Model Prototyping Model

4. User ingin cepat selesai


Dipakai jika:
 user tidak sabar menunggu
1. Sistem mempunyai resiko tinggi
 prototipe segera memperlihatkan bentuk kerja sistem
 tidak jelas permasalahannya
5. Masa pakai singkat
2. Lebih fokus pada perancangan dialog user komputer (Sistem
 sistem hanya dipakai beberapa kali saja
dengan User)
6. Ingin menunjukkan inovasi
 bagaimana membuat dialog yang baik, ramah, mudah ?
 pengembang dapat menunjukkan kecanggihan
3. Sistem diminati oleh banyak pemakai
7. Kebutuhan berubah-ubah
 mencari kesepakatan (dasar untuk menyamakan persepsi)  user sulit menjelaskan kebutuhan

Prototyping Model
Type of Prototyping

1. Evolutionary prototyping

2. Throw-away prototyping

22

Evolutionary Prototyping Throw-away Prototyping

Prototype Prototype System


Requirements Requirements Programming

Prototype System
Programming Prototype Testing
Programming

Reviews
Validates?
Reviews
Reviews
Validates?
Validates?

Release
Release
23 24

4
3/20/2019

Kelebihan Prototipe Kelebihan Prototipe

• Frekuensi komunikasi user – developer meningkat • Pengembangan lebih cepat


o pengembang akan selalu meminta pendapat user o program bisa langsung dibuat

o user melihat perkembangan tahap demi tahap


• Membantu analis
o menentukan kebutuhan user yang sebenarnya
• Implementasi mudah
o meminimalkan salah persepsi
o user sudah mengenal perangkat lunak yang dikembangkan

• Peran user meningkat o user tidak akan merasa asing


o evaluasi oleh user berkali-kali o sejak awal user sudah merasa memiliki
o user bisa memberikan masukan setiap saat
25 26

Kekurangan Prototipe Kekurangan Prototipe

• User sibuk • User berharap terlalu banyak


o user & pengembang harus sama-sama memiliki komitmen
menyediakan waktu untuk bertemu. o keseringan evaluasi & komunikasi membuat user
menjadi berubah keinginan dan tidak pasti dengan
• User sulit melakukan evaluasi kebutuhan.
o bentuk prototipe sering berubah, disesuaikan dengan kebutuhan
user.
• Prototipe bekerja tidak efisien
• User ingin cepat selesai
o lebih mementingkan keberhasilan.
o bentuk program sudah terlihat sejak awal.
o user merasa tidak akan lama lagi selesai.
o pengembang sering mengabaikan dokumentasi. 27 28

Evolutionary Model Evolutionary Model


Incremental Model Incremental Model
 Incremental Model merupakan gabungan antara model
linier sekuensial dan prototyping.

 Setiap linier sekuen menghasilkan produk yang


deliveriables.

 Increment pertama merupakan produk inti (core), yang


mengandung persyaratan/kebutuhan dasar.

 Penambahan dilakukan pada increment-increment


berikutnya.

5
3/20/2019

Evolutionary Process Model Evolutionary Process Model


2. Spiral Model 2. Spiral Model

 Evolutionary process (pengembangan bertingkat)


Digunakan software engineer skala besar. Growing of
software menjadi ide dari model proses ini
 Menggabungkan keunggulan prototyping dan waterfall
 Memungkinkan dikembangkannya perangkat lunak secara
bertahap (incremental) dan cepat.

 Terbagi atas 6 tahapan:


* customer communication
* planning
* risk analysis
* engineering
* construction & release
* customer evaluation

Evolutionary Process Model Evolutionary Process Model


2. Spiral Model 3. Conccurent Model
Planning analisa resiko
berdasarkan evaluasi
Model proses yang memungkinkan perubahan keadaan dari
Integration and test plan Risk Analysis
user
development plan
under development ke awaiting change (berhenti sementara)
analisa resiko
menentukan
berdasarkan
tujuan, alternatif, development plan
kebutuhan awal
batasan sistem
dan budget Requirements ketika terjadi perubahan kebutuhan
Customer prototipe awal
Communication
Engineering

prototipe tingkat
berikutnya
Project
Entry Point produk-jadi
Customer
Evaluation Construction
& Release
33

Evolutionary Process Model Evolutionary Process Model


3. Conccurent Model 3. Conccurent Model
none
Analysis activity  Aktivitas sistem dan komponen yang berlangsung secara
Under
development simultan dan dapat dimodelkan dengan menggunakan
A waiting Under pendekatan orientasi keadaan;
changes review

 Aplikasi klien/server khusus yang diimplementasikan


Under
revision
baselined
dengan banyak komponen yang masing-masing bisa
dirancang dan direalisasikan secara konkuren.
done

35

6
3/20/2019

Formal Method UNIFIED PROCESS

 Mencakup sekumpulan aktivitas yang membawa kepada  Model proses yang menggabungkan beberap konsep unggulan
spesifikasi matematis perangkat lunak komputer; dari model proses lainnya.

 Memungkinkan software engineer untuk mengkhususkan,  Penekanan pada model proses ini, yaitu:
mengembangkan, dan mem-verifikasi sistem berbasis 1. Komunikasi dengan customer secara intens (streamlined)
komputer dengan menggunakan notasi matematis yang tepat; 2. Arsitektur yang reusable dan terbuka pada perubahan kebutuhan

 Variasi dari pendekatan ini disebut clean-room software 3. Alur proses yang iterative atau incremental

engineering.

Fourth Generation Techniques (4GT) Fourth Generation Techniques (4GT)

 Terkait dengan penggunaan tools.  4GT mempercepat proses pengembangan perangkat

 Pengembang software mendefinisikan karakteristik lunak.

software secara 'high level'; tool secara otomatis akan  Proses perancangan dan dokumentasi baik.
membangkitkan kode.  Masih dipertanyakan beberapa pihak: efisiensi kode
yang dihasilkan, kemudahan (relatif).

AGILE METHOD Kelebihan Agile

- Meningkatkan kepuasan kepada klien


Model proses yang menekankan pada fast delivery dari
- Pembangunan system dibuat lebih cepat
setiap poin aktivitas dalam rangka memperpendek - Mengurangi resiko kegagalan implementasi
jangka waktu proyek pembangunan perangkat lunak. software dari segi non-teknis
- Jika pada saat pembangunan system terjadi
kegagalan,kerugian dar segi materi relative kecil.

Kelemahan Agile
Developer harus selalu siap dengan perubahan karena
perubahan akan selalu diterima.

7
3/20/2019

AGILE METHOD (Scrum) AGILE METHOD (Scrum)

• Ada 3 elemen organisasi utama pada scrum yaitu


product owner, Scrum Master, Scrum Team • Scrum tepat digunakan saat kondisi:
• Product Owner mewakili bisnis, pelanggan atau
pengguna dan memandu tim ke arah pegembangan o Keperluan berubah dengan cepat
produk yang tepat. o Tim programmer sedikit, yaitu 5-9 orang
• Scrum Master dapat dianggap sebagai pelatih bagi tim, o Pelanggan tidak terlalu paham dengan apa yang
membantu anggota tim menggunakan kerangka Scrum diinginkan
untuk tampil di tingkat tertinggi.
• The Scrum Team merupakan grup pengembang kecil
biasanya terdiri dari 5-9 orang.
• Untuk projek yang sangat besar, pekerjaan biasanya
dibagi dan didelegasikan ke grup-grup kecil.

Kelebihan Scrum Kelemahan Scrum

• Keperluan berubah dengan cepat • Developer harus selalu siap dengan perubahan
• Tim berukuran kecil sehingga melancarkan karena perubahan akan selalu diterima.
komunikasi, mengurangi biaya dan
memberdayakan satu sama lain
• Pekerjaan terbagi-bagi sehingga dapat
diselesaikan dengan cepat.
• Dokumentasi dan pengujian terus menerus
dilakukan setelah software dibangun.
• Proses Scrum mampu menyatakan bahwa produk
selesai kapanpun diperlukan

TERIMA KASIH

Anda mungkin juga menyukai