Software Process (2) - Rekayasa Perangkat Lunak - Teknik Informatika S1
Software Process (2) - Rekayasa Perangkat Lunak - Teknik Informatika S1
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
Roger S, Pressman
1
3/20/2019
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)
Sashimi
1. Ketidak fleksibelan antar tahapan
2
3/20/2019
team #3
business
Business Modelling
modeling
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
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.
3
3/20/2019
Prototyping Model
Type of Prototyping
1. Evolutionary prototyping
2. Throw-away prototyping
22
Prototype System
Programming Prototype Testing
Programming
Reviews
Validates?
Reviews
Reviews
Validates?
Validates?
Release
Release
23 24
4
3/20/2019
5
3/20/2019
prototipe tingkat
berikutnya
Project
Entry Point produk-jadi
Customer
Evaluation Construction
& Release
33
35
6
3/20/2019
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.
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).
Kelemahan Agile
Developer harus selalu siap dengan perubahan karena
perubahan akan selalu diterima.
7
3/20/2019
• 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