MODEL PERANGKAT LUNAK
Model Proses Perangkat Lunak
Merupakan deskripsi yang disederhanakan dari proses perangkat lunak di presentasikan dengan sudut pandang tertentu. Bisa mencakup kegiatan yangmerupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat pada rekayasa perangkat lunak (Perekayasa PL).
Model Proses Perangkat Lunak yang Generic :
• Model Air terjun (Water fall)
o Memisahkan dan membedakan antara spesifikasi dan pengembangan
• Pengembangan yang berevolusi
o Spesifikasi dan pengembangan saling bergantian
• Pengembangan sistem Formal
o Menggunakan suatu model sistem matematika yang ditransformasikan ke implementasi,
• Pengembangan berbasis Re-use (penggunaan ulang)
Sistem dibangun dari komponen yang sudah ada.
• Model Air terjun (Water fall)
o Memisahkan dan membedakan antara spesifikasi dan pengembangan
• Pengembangan yang berevolusi
o Spesifikasi dan pengembangan saling bergantian
• Pengembangan sistem Formal
o Menggunakan suatu model sistem matematika yang ditransformasikan ke implementasi,
• Pengembangan berbasis Re-use (penggunaan ulang)
Sistem dibangun dari komponen yang sudah ada.
PENJELASAN :
1. Model Air Terjun (Water Fall)
Fase Model Air Terjun
1. Analisis Kebutuhan dan pendefinisiannya
2. Perancangan sistem dan Perangkat Lunak
3. Implementasi dan unit testing
4. Integrasi dan pengujian sistem
5. Pengoperasian dan perawatan
Proses kembali ke state sebelumnya untuk mengantisipasi perubahan setelah proses menuju ke suatu state di bawahnya adalah sangat sulit.
Masalah pada Model Air Terjun:
• Partisi projek ke stages yang berbeda tidak fleksibel.
• Hali ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna
• Oleh sebab itu model ini hanya cocok digunakan apabila kebutuhan pengguna sudah dimengerti dengan baik,
Pengembangan yang berevolusi (Evolutionary Development)
Pengembangan yang berdasarkan penyidikan
Fase Model Air Terjun
1. Analisis Kebutuhan dan pendefinisiannya
2. Perancangan sistem dan Perangkat Lunak
3. Implementasi dan unit testing
4. Integrasi dan pengujian sistem
5. Pengoperasian dan perawatan
Proses kembali ke state sebelumnya untuk mengantisipasi perubahan setelah proses menuju ke suatu state di bawahnya adalah sangat sulit.
Masalah pada Model Air Terjun:
• Partisi projek ke stages yang berbeda tidak fleksibel.
• Hali ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna
• Oleh sebab itu model ini hanya cocok digunakan apabila kebutuhan pengguna sudah dimengerti dengan baik,
Pengembangan yang berevolusi (Evolutionary Development)
Pengembangan yang berdasarkan penyidikan
Tujuannya untuk mengaktifkan pengguna dan memperolah model final berasal dari initial spesifikasi awal. Seharusnya diawali dengan kebutuhan yang sudah dimengerti, Throw-away prototyping
Tujuannya adalah untuk memahami kebutuhan sistem. Biasanya diawali dengan pemahaman kebutuhan yang minim.
Tujuannya adalah untuk memahami kebutuhan sistem. Biasanya diawali dengan pemahaman kebutuhan yang minim.
Permasalahan dalam model pengembangan yang berevolusi:
• Kekurangan visibilitas proses
• Model sistem biasanya tidak terstruktur
• Membutuhkan kemampuan khusus (mis.: bahasa pemrograman untuk rapid prototyping).
Pemakaian model pengembangan yang berevolusi
• Untuk sistem interaktif yang kecil atau menengah
• Untuk salah satu bagian dari sistem yang besar (mis. User Interface)
• Untuk sistem yang digunakan tidak terlalu lama (short lifetime).
• Kekurangan visibilitas proses
• Model sistem biasanya tidak terstruktur
• Membutuhkan kemampuan khusus (mis.: bahasa pemrograman untuk rapid prototyping).
Pemakaian model pengembangan yang berevolusi
• Untuk sistem interaktif yang kecil atau menengah
• Untuk salah satu bagian dari sistem yang besar (mis. User Interface)
• Untuk sistem yang digunakan tidak terlalu lama (short lifetime).
2. Pendekatan pengembangan sistem Formal
Berbasiskan pada transformasi spesifikasi secara matematik melalui representasi yang berbeda untuk suatu program yang dapat dieksekusi,
Trasformasi menyatakan spesifikasi program
Menggunakan pendekatan ‘Cleanroom’ untuk pengembangan PL.
Berbasiskan pada transformasi spesifikasi secara matematik melalui representasi yang berbeda untuk suatu program yang dapat dieksekusi,
Trasformasi menyatakan spesifikasi program
Menggunakan pendekatan ‘Cleanroom’ untuk pengembangan PL.
Proses dengan metode Iterasi
Model Iterasi dapat digunakan pada setiap model proses generic
Terdapat dua pendekatan:
• Pengembangan Incremental
• Model Spiral
3. Model Pengembangan Incremental
Model Iterasi dapat digunakan pada setiap model proses generic
Terdapat dua pendekatan:
• Pengembangan Incremental
• Model Spiral
3. Model Pengembangan Incremental
Pengembangan sistem berdasarkan model sistem yang dipecah sehingga model pengembangannya secara increament/bertahap.
Kebutuhan pengguna diprioritaskan dan priritas tertinggi dimasukkan dalam awal increment
Setelah pengembangan suatu increment dimulai, kebutuhan dibekukan dulu hingga increment berikutnya dimulai
Setelah pengembangan suatu increment dimulai, kebutuhan dibekukan dulu hingga increment berikutnya dimulai
Keuntungan
Nilai penggunan dapat ditentukan pada setiap increament sehingga fungsionalitas sistem disediakan lebih awal,
Increment awal berupa prototype untuk membantu memahami kebutuhan pada increment berikutnya,
Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
Prioritas tertinggi pd pelayanan sistem adalah yang paling diuji.
Nilai penggunan dapat ditentukan pada setiap increament sehingga fungsionalitas sistem disediakan lebih awal,
Increment awal berupa prototype untuk membantu memahami kebutuhan pada increment berikutnya,
Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
Prioritas tertinggi pd pelayanan sistem adalah yang paling diuji.
4. MODEL PROTOTIPE
Model prototipe ini dimulai dengan pengumpulan kebutuhan. Pengembang dan
pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari perangkat lunak,
dan mengidentifikasi segala kebutuhan yang diketahui.Secara ideal prototipe berfungsi sebagai sebuah mekanisme untuk mengidentifikasi
kebutuhan perangkat lunak. Prototipe bisa menjadi paradigma yang efektif bagi
rekayasa perangkat lunak. Kuncinya adalah mendefinisikan aturan-aturan main pada
saat awal, yaitu pelanggan dan pengembang keduanya harus setuju bahwa prototype
dibangun untuk berfungsi sebagai mekanisme pendefinisian kebutuhan. Prototype
kemudian disingkirkan dan perangkat lunak actual direkayasa dengan tertuju kepada
kualitas dan kemampuan pemeliharaan.
Model prototipe ini dimulai dengan pengumpulan kebutuhan. Pengembang dan
pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari perangkat lunak,
dan mengidentifikasi segala kebutuhan yang diketahui.Secara ideal prototipe berfungsi sebagai sebuah mekanisme untuk mengidentifikasi
kebutuhan perangkat lunak. Prototipe bisa menjadi paradigma yang efektif bagi
rekayasa perangkat lunak. Kuncinya adalah mendefinisikan aturan-aturan main pada
saat awal, yaitu pelanggan dan pengembang keduanya harus setuju bahwa prototype
dibangun untuk berfungsi sebagai mekanisme pendefinisian kebutuhan. Prototype
kemudian disingkirkan dan perangkat lunak actual direkayasa dengan tertuju kepada
kualitas dan kemampuan pemeliharaan.
5. MODEL RAD
Rapid Application Development (RAD) adalah sebuah model proses perkembangan
perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat
pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model
sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan
pendekatan konstruksi berbasis komponen. Jika kebutuhan dipahami dengan baik,
proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional
yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-90 hari).
Pendekatan RAD melingkupi fase-fase sebagai berikut :
Pemodelan Bisnis. Aliran informasi diantara fungsi-fungsi bisnis dimodelkan dengan
suatu cara untuk menjawab pertanyaan-pertanyaan berikut : Informasi apa yang
mengendalikan proses bisnis? Informasi apa yang dimunculkan? Siapa yang
memunculkannya? Kemana informasi itu pergi? Siapa yang memprosesnya?
Pemodelan Data. Aliran informasi yang didefinisikan sebagai bagian dari fase
business modelling disaring kedalam serangkaian objek data yang dibutuhkan untuk
mendukung bisnis tersebut.
Pemodelan Proses. Aliran informasi yang didefinisikan di dalam fase data modelling
ditransfirmasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis.
Rapid Application Development (RAD) adalah sebuah model proses perkembangan
perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat
pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model
sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan
pendekatan konstruksi berbasis komponen. Jika kebutuhan dipahami dengan baik,
proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional
yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-90 hari).
Pendekatan RAD melingkupi fase-fase sebagai berikut :
Pemodelan Bisnis. Aliran informasi diantara fungsi-fungsi bisnis dimodelkan dengan
suatu cara untuk menjawab pertanyaan-pertanyaan berikut : Informasi apa yang
mengendalikan proses bisnis? Informasi apa yang dimunculkan? Siapa yang
memunculkannya? Kemana informasi itu pergi? Siapa yang memprosesnya?
Pemodelan Data. Aliran informasi yang didefinisikan sebagai bagian dari fase
business modelling disaring kedalam serangkaian objek data yang dibutuhkan untuk
mendukung bisnis tersebut.
Pemodelan Proses. Aliran informasi yang didefinisikan di dalam fase data modelling
ditransfirmasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis.
Gambaran pemrosesan diciptakan untuk menambah,
memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.
Pembentukan Aplikasi. RAD mengasumsikan pemakaian teknik generasi keempat.
Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman
generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk
memakai lagi komponen program yang ada atau menciptakan komponen yang bisa
dipakai lagi.
Pengujian dan Turnover. Karena proses RAD menekankan pada pemakaian
kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan
waktu pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih
secara penuh.
memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.
Pembentukan Aplikasi. RAD mengasumsikan pemakaian teknik generasi keempat.
Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman
generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk
memakai lagi komponen program yang ada atau menciptakan komponen yang bisa
dipakai lagi.
Pengujian dan Turnover. Karena proses RAD menekankan pada pemakaian
kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan
waktu pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih
secara penuh.
6. Model Pengembangan Spiral
Proses direpresentasikan sebagai model spiral (bukan berupa barisan aktfitas yang dapat ditrack mundur)
Setiap loop dalam model spiral menyatakan fase proses,
Tidak terdapat fase tertentu seperti spesifikasi atau perancangan, tetapi loop dalam spiral ditentukan pada apa yang dibutuhkan,
Proses direpresentasikan sebagai model spiral (bukan berupa barisan aktfitas yang dapat ditrack mundur)
Setiap loop dalam model spiral menyatakan fase proses,
Tidak terdapat fase tertentu seperti spesifikasi atau perancangan, tetapi loop dalam spiral ditentukan pada apa yang dibutuhkan,
Sektor pada model Spiral
- Menentukan Tujuan
Mengidentifikasikan spesifikasi tujuan setiap fase
- Menilai Resiko dan Pengurangannya
Resiko dinial dan aktifitas ditempatkan untuk mengurangi resiko kunci
- Pengembangan dan validasi
Suatu model pengembangan sistem dipilih dari model generic
- Perencanaan
Project di review dan fase spiral berikutnya direncanakan
- Menentukan Tujuan
Mengidentifikasikan spesifikasi tujuan setiap fase
- Menilai Resiko dan Pengurangannya
Resiko dinial dan aktifitas ditempatkan untuk mengurangi resiko kunci
- Pengembangan dan validasi
Suatu model pengembangan sistem dipilih dari model generic
- Perencanaan
Project di review dan fase spiral berikutnya direncanakan